Archive for the ‘Technology’ Category

Resistance Is Futile

  • Comments (-)

Marc Andreessen recently wrote a long article in the WSJ which he asserted that “Software Is Eating The World.” I enjoyed reading it, but I don’t think it goes far enough.

I believe the machines have already taken over and resistance is futile. Regardless of your view of the idea of the singularity, we are now in a new phase of what has been referred to in different ways, but most commonly as the “information revolution.” I’ve never liked that phrase, but I presume it’s widely used because of the parallels to the shift from an agriculture-based society to the industrial-based society commonly called the “industrial revolution.”

At the Defrag Conference I gave a keynote on this topic. For those of you who were there, please feel free to weigh in on whether the keynote was great, sucked, if you agreed, disagreed, were confused, mystified, offended, amused, or anything else that humans are capable of having as stimuli-response reactions.

I believe the phase we are currently in began in the early 1990′s with the invention of the World Wide Web and subsequent emergence of the commercial Internet. Those of us who were involved in creating and funding technology companies in the mid-to-late 1990′s had incredibly high hopes for where computers, the Web, and the Internet would lead. By 2002, we were wallowing around in the rubble of the dotcom bust, salvaging what we could while putting energy into new ideas and businesses that emerged with a vengence around 2005 and the idea of Web 2.0.

What we didn’t realize (or at least I didn’t realize) was that virtually all of the ideas from the late 1990′s about what would happen to traditional industries that the Internet would distrupt would actually happen, just a decade later. If you read Marc’s article carefully, you see the seeds of the current destruction of many traditional businesses in the pre-dotcom bubble efforts. It just took a while, and one more cycle for the traditional companies to relax and say “hah – once again we survived ‘technology’”, for them to be decimated.

Now, look forward twenty years. I believe that the notion of a biologically-enhanced computer, or a computer-enhanced human, will be commonplace. Today, it’s still an uncomfortable idea that lives mostly in university and government research labs and science fiction books and movies. But just let your brain take the leap that your iPhone is essentially making you a computer-enhanced human. Or even just a web browser and a Google search on your iPad. Sure – it’s not directly connected into your gray matter, but that’s just an issue of some work on the science side.

Extrapolating from how it’s working today and overlaying it with the innovation curve that we are on is mindblowing, if you let it be.

I expect this will be my intellectual obsession in 2012. I’m giving my Resistance is Futile talk at Fidelity in January to a bunch of execs. At some point I’ll record it and put it up on the web (assuming SOPA / PIPA doesn’t pass) but I’m happy to consider giving it to any group that is interested if it’s convenient for me – just email me.

December 22nd, 2011     Categories: Technology     Tags: , , , ,

15 Years Of Technology Progress

  • Comments (-)

Next week at Defrag I’ll be giving a talk titled “Resistance is Futile”. I’ll be talking about my premise that the machines have already taken over. A few days ago a friend of mine emailed me a perfect image to summarize where we are today. Ponder and enjoy.

November 4th, 2011     Categories: Technology     Tags: , ,

Heads-Up Display In My Glasses

  • Comments (-)

I’ve worn glasses since I was three years old. I was trying to look at something on my iPad yesterday without them on and I heard Amy burst out laughing with “you really can’t see a thing without your glasses.” True – my eyes are defective. I’ve contemplated getting LASIK’s a few times but chickened out each time – if 42 years of glasses have worked, I expect another 42 will be just fine.

For years I’ve fantasized about getting glasses that have a heads-up display (HUD) integrated into them. This HUD would be connected to a computer somehow, which would of course be connected to the Internet, which would then give me access to whatever I wanted through my glasses. I can’t remember a sci-fi movie over the past decade that didn’t have this technology available and since my jetpack now seems like it’s finally around the corner (I’m hoping to get one for my 46th birthday), I have hope for my HUDglasses.

The pieces finally exist since I’m carrying a computer in my pocket (my iPhone or my Android) that’s always connected to the Internet. My glasses just need bluetooth to pair with my phone, an appropriate display, a processor, a camera, and the right software. Optimally I could control it via a spatial operating environment like Oblong’s g-speak.

I’m interested in investing in a team going after this. The magic will be on the software side – I want to work with folks that believe the hardware will be available, can integrate existing products, are comfortable with consumer electronics products, but are obsessed with “assembling the hardware” and “hacking the software.”

If this is you, or someone you know, please aim them at me. In the mean time, I tried to hunt down Tony Stark but don’t have his email address.

June 24th, 2011     Categories: Technology     Tags: ,

Does Moore’s Law Suddenly Matter Less?

  • Comments (-)

A post in the New York Times this morning asserted that Software Progress Beats Moore’s Law. It’s a short post, but the money quote is from Ed Lazowska at the University of Washington:

“The rate of change in hardware captured by Moore’s Law, experts agree, is an extraordinary achievement. “But the ingenuity that computer scientists have put into algorithms have yielded performance improvements that make even the exponential gains of Moore’s Law look trivial,” said Edward Lazowska, a professor at the University of Washington.

The rapid pace of software progress, Mr. Lazowska added, is harder to measure in algorithms performing nonnumerical tasks. But he points to the progress of recent years in artificial intelligence fields like language understanding, speech recognition and computer vision as evidence that the story of the algorithm’s ascent holds true well beyond more easily quantified benchmark tests.”

If you agree with this, the implications are profound. Watching Watson kick Ken Jennings ass in Jeopardy a few weeks ago definitely felt like a win for software, but someone (I can’t remember who) had the fun line that “it still took a data center to beat Ken Jennings.”

While that doesn’t really matter because Moore’s Law will continue to apply to the data center, but my hypothesis is that there’s a much faster rate of advancement on the software layer. And if this is true it has broad impacts for computing, and computing enabled society, as a whole. It’s easy to forget about the software layer, but as an investor I live in it. As a result of several of our themes, namely HCI and Glue, we see first hand the dramatic pace at which software can improve.

I’ve been through my share of 100x to 1000x performance improvements because of a couple of lines of code or a change in the database structure in my life as a programmer 20+ years ago. At the time the hardware infrastructure was still the ultimate constraint – you could get linear progress by throwing more hardware at the problem. The initial software gains happened quickly but then you were stuck with the hardware improvements. If don’t believe me, go buy a 286 PC and a 386 PC on eBay, load up dBase 3 on each, and reindex some large database files. Now do the same with FoxPro on each. The numbers will startle you.

It feels very different today. The hardware is rapidly becoming an abstraction in a lot of cases. The web services dynamic – where we access things through a browser – built a UI layer in front of the hardware infrastructure. Our friend the cloud is making this an even more dramatic separation as hardware resources become elastic, dynamic, and much easier for the software layer folks to deploy and use. And, as a result, there’s a different type of activity on the software layer.

I don’t have a good answer as to whether it’s core algorithms, distributed processing across commodity hardware (instead of dedicated Connection Machines), new structural approaches (e.g. NoSql), or just the compounding of years of computer science and software engineering, but I think we are at the cusp of a profound shift in overall system performance and this article pokes us nicely in the eye to make sure we are aware of it.

The robots are coming. And they will be really smart. And fast. Let’s hope they want to be our friends.

March 8th, 2011     Categories: Technology     Tags: , , , ,

Just Make It Faster

  • Comments (-)

As a user, how often have you thought “I wish this web service was faster.”  As a CEO, how often have you said “just make it faster.”  Or, more simply, “why is this damn thing so slow?”

This is a not a new question.  I’ve been thinking about this since I first started writing code (APL) when I was 12 (ahem – 33 years ago) on a computer in the basement of a Frito-Lay data center in Dallas.

This morning, as part of my daily information routine, I came across a brilliant article by Carlos Bueno, an engineer at Facebook, titled “The Full Stack, Part 1.”  In it, he starts by defining a “full-stack programmer“:

“A “full-stack programmer” is a generalist, someone who can create a non-trivial application by themselves. People who develop broad skills also tend to develop a good mental model of how different layers of a system behave. This turns out to be especially valuable for performance & optimization work.”

He then dissects a simple SQL query (DELETE FROM some_table WHERE id = 1234;) and gives several quick reasons why performance could vary widely when this query is executed.

It reminded me of a client situation from my first company, Feld Technologies.  We were working on a logistics project with a management consulting firm for one of the largest retail companies in the world.  The folks from the management consulting firm did all the design and analysis; we wrote the code to work with the massive databases that supported this.  This was in the early 1990′s and we were working with Oracle on the PC (not a pretty thing, but required by this project for some reason.)  The database was coming from a mainframe and by PC-standards was enormous (although it would probably be considered tiny today.)

At this point Feld Technologies was about ten people and, while I still wrote some code, I wasn’t doing anything on this particular project other than helping at the management consulting level (e.g. I’d dress up in a suit and go with the management consultants to the client and participate in meetings.)  One of our software engineers wrote all the code.  He did a nice job of synthesizing the requirements, wrestling Oracle for the PC to the ground (on a Novell network), and getting all the PL/SQL stuff working.

We had one big problem.  It took 24 hours to run a single analysis.  Now, there was no real time requirement for this project – we might have gotten away with it if it took eight hours as we could just run them over night.  But it didn’t work for the management consultants or the client to hear “ok – we just pressed go – call us at this time tomorrow and we’ll tell you what happened.”  This was especially painful once we gave the system to the end client whose internal analyst would run the system, wait 24 hours, tell us the analysis didn’t look right, and bitch loudly to his boss who was a senior VP at the retailer and paid our bills.

I recall having a very stressful month.  After a week of this (where we probably got two analyses done because of the time it took to iterate on the changes requested by the client for the app) I decided to spend some time with our engineer who was working on it.  I didn’t know anything about Oracle as I’d never done anything with it as a developer, but I understood relational databases extremely well from my previous work with Btrieve and Dataflex.  And, looking back, I met the definition of a full-stack programmer all the way down to the hardware level (at the time I was the guy in our company that fixed the file servers when they crashed with our friendly neighborhood parity error or Netware device driver fail to load errors.)

Over the course of a few days, we managed to cut the run time down to under ten minutes.  My partner Dave Jilk, also a full-stack programmer (and a much better one than me), helped immensely as he completely grokked relational database theory.  When all was said and done, a faster hard drive, more memory, a few indexes that were missing, restructuring of several of the SELECT statements buried deep in the application, and a minor restructure of the database was all that was required to boost the performance by 100x.

When I reflect on all of this, I realize how important it is to have a few full-stack programmers on the team.  Sometimes it’s the CTO, sometimes it the VP of Engineering, sometimes it’s just someone in the guts of the engineering organization.  When I think of the companies I’ve worked with recently that are dealing with massive scale and have to be obsessed with performance, such as Zynga, Gist, Cloud Engines, and SendGrid I can identify the person early in the life of the company that played the key role. And, when I think of companies that did magic stuff like Postini and FeedBurner at massive scale, I know exactly who that full system programmer was.

If you are a CEO of a startup, do you know who the full-stack programmer on your team is?

December 19th, 2010     Categories: Technology     Tags: , ,

Gmail Has Won Me Over

  • Comments (-)

About a month ago I wrote a post titled Trying Gmail For A Week.  I haven’t thought about Outlook, Entourage, or Mac Mail for a month and I don’t think I’m ever going back.  It took about a week to rewire my brain for how conversations worked and what the keyboard shortcuts were, but not that I’m there it’s just awesome.

A few weeks ago Fred Wilson wrote a post titled Inbox Zero.  In it he mentioned two Gmail services he found indispensable – Priority Inbox (from Google) and Unsubscribe.com (from James Siminoff who created Phonetag, another great service.)  I agree with Fred on both of these, but have discovered a few extra things that are killer.  I’ll list them below and for balance talk about a few shortcomings.

Priority Inbox: I’ve seen numerous tweets and blogs about how Priority Inbox doesn’t really do much.  These are wrong / misinformed reactions.  The trick to Priority Inbox, like many other things, is to actually use it for a few weeks.  Part of using it is training it by quickly marking things up to “important” (by clicking +) or down to “everything else” (by clicking -).  A small configuration change can make Starred emails (for quick follow up) a different category.  I found that it only took about three days of this before I saw benefit and now (a month later) Priority Inbox gets it right 99 out of 100 times.  I get over 500 emails a day – there is a long list of them that fall in “Everything Else”.  I used to have to check / clear email obsessively throughout the day to stay at Inbox Zero.  With Priority Inbox I’m finding solid email stretches a couple of times during the day are more than enough for me to stay on top of everything.

Unsubscribe.com: Like many people, I’m stuck in the endless “unsubscribe from email lists” infinite loop.  I get vigilant for a few days and do the annoying unsubscribe drill one by one and knock a few off the list, but within a few weeks I’ve got even more.  I’ve never seemed to be able to eliminate all the stuff I don’t want, especially around an election when it all escalates like crazy.  With Unsubscribe.com, I simply click the Unsubscribe button in Gmail and the service gets rid of it.  Don’t bother with the trial – trust me and just pay $19 for the service for a year if endless mailing list email that you don’t want is a problem for you.

Google Voice: I’ve had a Google Voice for a long time but I never fully switched over to it.  The Google Voice integration with Gmail has tipped me over.  I’ve been dreaming about getting rid of my desktop phone for a while – I now find myself almost exclusively doing every call from my computer except when I’m not online (where I have to use my cell phone.)  More importantly, video chat and text chat is completely integrated within Gmail so from one screen I have email, my phone (inbound and outbound calling) Skype-equivalent video chat, and text chat.  While I still use Skype extensively (I’m bradfeld) I find I’m using it much less as I end up using brad.feld@gmail.com instead.

Gist: I’m an investor in Gist and use it for my unified contact manager.  Google Contacts is ok, but has a long way to go.  But Gist integration with Gmail at a data level is superb.  I’m still using Gmail’s consumer service so the integration is primarily at a data level, but I’m now playing around with a full switch over to Google Apps and the Gist + Google Apps integration (via the Google Apps Marketplace) just rocks.  In addition, there’s a new browser-based Gist add-on coming out shortly (hint hint) that will provide direct integration into the consumer version of Gmail.

GooTasks: Since I am an Inbox Zero guy, I don’t keep anything (including paper), but I do have a short task lists of things like blog posts I’m going to write.  I went through an Evernote phase recently but it’s overkill for me.  Google Tasks is perfect, but I didn’t have an obvious way to sync with my iPhone.  Now I do.

There are a handful of annoying things.  The biggest one is that I have multiple accounts on Google (brad.feld@gmail.com as well as brad@feld.com) and they aren’t tightly integrated across all services.  The other is the weak / inconsistent iPhone integration which keeps pushing me toward using an Android phone full time (I’m now carrying both an Android phone and an iPhone.)  My dad’s recent story on the Samsung Fascinate has me seriously considering a full time switch over to Android.

My “while I’m working” migration from a full Windows / Outlook / Exchange / Office world to an almost completely non-Microsoft world has been fascinating.  I’m in Seattle next week including a 24 hour stretch at Microsoft for some stuff – maybe it’ll come up and be an interesting discussion that my friends at Microsoft can learn from.  In the mean time, I think the next big switch will be an organization one completely over to a Google Apps infrastructure.

September 26th, 2010     Categories: Technology     Tags: , ,

What Should You Do When Your Web Service Blows Up?

  • Comments (-)

Every major software or web company I’ve ever been involved in has had a catastrophic outage of some sort.  I view it as a rite of passage – when this happens when your company is young and no one notices, it gives you a chance to get better.  But eventually you’ll have one when you are big enough for people to notice.  How you handle it and what you learn from speaks volumes about your future.

Last week, two companies that we are investors in had shitty experiences.  SendGrid‘s was short – it only lasted a few hours – and was quickly diagnosed.  BigDoor‘s was longer and took several days to repair and get things back to a stable state.  Both companies handled their problems with grace and transparency – announcing that all was back to normal with a blog post describing in detail what happened.

While you never ever want something like this to happen, it’s inevitable.  I’m very proud of how both BigDoor and SendGrid handled their respective outages and know that they’ve each learned a lot – both in how to communicate about what happened as well as insuring that this particular type of outage won’t happen again.

In both cases, they ended up with 100% system recovery.  In addition, each company took responsibility for the problem and didn’t shift the blame to a particular person.  I’m especially impressed how my friends at BigDoor processed this as the root cause of the problem was caused by a new employee.  They explain this in detail in their post and end with the following:

“Yes, this employee is still with us, and here’s why: when exceptions like this occur, what’s important is how we react to the crisis, accountability, and how hard we drive to quickly resolve things in the best way possible for our customers.   I’m incredibly impressed with how this individual reacted throughout, and my theory is that they’ll become one of our legendary stars in years to come.”

I still remember the first time I was ever involved in a catastrophic data loss.  I was 17 and working at Petcom, my first real programming job.  It was late on a Friday night and I got a call from a Petcom customer.  I was the only person around so I answered the phone.  The person was panicked – their hard drive had lost all of its data (it was an Apple III ProFile hard drive – probably 5 MB).  The person was the accounting manager and they were trying to run some process but couldn’t get anything to work.  I remember discerning that it seemed like the hard drive was fine but she had deleted all of her data.  Fortunately, Petcom was obsessive about backups and made all of their clients buy a tape drive – in this case, one from Tallgrass (I vaguely remember that they were in Overland Park, KS – I can’t figure out why I remember that.)

After determining the tape drive software was working and was available, I started walking the person through restoring her data.  She was talking out loud as she brought up the tape drive menu and starting clicking on keys before I had a chance to say anything at which point she pressed the key to format the tape that was in the drive.  I sat in shock for a second and asked her if she had another backup tape.  She told me that she didn’t – this was the only one she ever used.  I asked her what it said on the screen.  She said something like “formatting tape.”  I asked again if there was another backup tape.  Nope.  I told her that I thought she had just overwritten her only backup.  Now, in addition to having deleted all of her data, she had wiped out her backup.  We spent a little more time trying to figure this out, at which point she started crying.  I doubt she realized she was talking to a 17 year old.  She eventually calmed down but neither of knew what to do next.  Eventually the call ended and I went into the bathroom and threw up.

I eventually got in touch with the owner of Petcom (Chris) at his house who told me to go home and not to worry about it, they’d figure it out over the weekend.  I can’t remember the resolution, but I think Chris had a backup for the client from the previous month so they only lost a month or so worth of data.  But that evening made an incredible impression on me.  Yes, I finished the evening with at least one illegal drink (since the drinking age at the time in Texas was 18.)

It’s 28 years later and computers still crash, backups are still not 100% failsafe, and the stress of massive system failure still causes people to go in the bathroom and throw up.  It’s just part of how this works.  So, before you end up in pain, I encourage you to think hard about your existing backup, failover, and disaster recovery approaches.  And, when the unexpected, not anticipated, not accounted for thing happens, make sure you communicate continually and clearly what is going on, no matter how painful it might be.

August 30th, 2010     Categories: Technology     Tags: , , , ,

Trying Gmail For A Week

  • Comments (-)

Ever since I switched to the Mac, I’ve had N (where N is a suitably large number) tell me that I should switch to Gmail from Exchange.  I finally decided to try it for a week and see if it works for me.  Given my Mac experience – where I had to commit and really use it, I’ve decided to do the same on Gmail.

For now, I’m just going to use Gmail (instead of Google Apps) because I don’t want to go through the hell of switching the feld.com domain since I’ve got a bunch of other people (e.g. my family members) on it in a variety of configurations.  That’ll limit me a little as I won’t be able to use the Apps Marketplace, but the benefit is I’ll be able to mess around with a variety of other Gmail stuff.

If you’ve got Gmail addons, hints, tips, and trick, leave them for me here.  At the end of next week, I’ll either be switching to Gmail or heading back to Mac Mail against my Exchange server.

August 19th, 2010     Categories: Technology     Tags: , ,

Rethinking The Laptop

  • Comments (-)

This morning, as I was waiting for my laptop to grind through its startup process I started wondering why I had a laptop. I travel a lot and had it with me in San Francisco and Los Angeles this week, but hardly used it. And, when I did, I was frustrated with how long I had to wait for it to “get started”.

Today, while I was waiting for my laptop to sync email (Outlook 2010) I grabbed my iPad, opened mail, and read/reply/deleted all of the email that came in over night. I was finished processing the email before my laptop was ready to be used.

I had this same experience yesterday morning in LA. Except then I processed all of my overnight email on my HTC EVO phone which was also acting as the hotspot for my laptop to connect. And, throughout the day, I just did email on my phone instead of firing up my laptop.

The only time I used my laptop last week was a three+ hour stretch in San Francisco when I was at First Round Capital’s office (thanks Josh for the use of your desk) in between meetings. I had turned on my laptop at 8:45am when I got to FRC’s office, did a board meeting from 9am to 12 (the laptop was in a different room), and then used my laptop from noon until I left around 3:30. By noon it had fully synched itself.

As I write this, I realize that Android and Apple both sync faster with my email on an Exchange data store than my Windows 7 laptop with Outlook. A lot faster. It doesn’t seem to matter whether I’m connecting over 3G or Wifi – my Android phone, iPad, and iPhone are ready to go right away whereas my laptop takes anywhere from 5 to 15 minutes to get into a fully usable state (where the disk doesn’t spin an slow things down, or Outlook is non-responsive, or something else funky is going on.) I’m on a Lenovo X300 with 4GB of RAM so it’s not the hardware.

I wrote this post on my iPad using the cute little iPad keyboard doc. It appears my laptop is once again useable, but it’s probably too late for me this morning. Time for a run.

June 19th, 2010     Categories: Technology     Tags:

Two Weeks Later, I’m Loving The HTC EVO

  • Comments (-)

Google gave all 5000 Google I/O attendees an HTC EVO (I guess it’s a Sprint EVO) running Android.  For the past two years I’ve been using an iPhone and have become increasingly disgusted by AT&T’s service which is horrible (and deteriorating) in the cities I frequent – most notably Boulder, San Francisco, Los Angeles, Seattle, NY, and Boston.  So – I decided to give the EVO+Android a real shot and use it for a week as my permanent phone. 

When I wrote my post Open Android vs. Closed iPhone right after Google I/O a few folks took shots at me for pimping a free phone that I got at a conference.  Given the amount of money I regularly shell out to screw around on hardware and software (I’m one of those guys who happily buys things just to try them out) I shrugged this off but figured it was worth pre-empting since I’m sure this nonsense will come around again.  So – there’s the disclaimer – I got this phone for free (although I did sit on two panels and spent a day and a half talking to people at Google I/O.)

While there has been plenty of fan boy and anti-fan boy chatter about this phone, I can only find one thing to complain about – the battery life.  It’s still running Android 2.1 so I expect there will be plenty of battery tune up in Android 2.2, but out of the box the battery only lasts about six hours.  I’ve tuned my settings so I can get a full day out of it, but am still carrying my USB cord to grab some juice from time to time.  There a few tricks (like charge it with it turned off) that help a lot, but it feels like the iPhone 3G did when it first came out where I was always paying attention to how much charge I had left.  Fortunately this will get better with software (quickly) and – since the battery is removable, I can just carry a spare around.

Ok – that’s literally the only thing I don’t like.  The screen is phenomenal.  All of the apps I run on my iPhone are available on Android – I even found a few new ones.  The camera is killer.  The email client is much better than the iPhone.  Search for anything is lightening fast.  Voice recognition – er – recognizes my voice.  I have a phone that tethers and – if I want – I have a hotspot (bye bye MiFi.)  My applications remember their state and come up instantly because they are still running in the background.  The browser is fast.  Google Maps + Navigation is incredible, especially for someone who can’t read a map to save his life.  I can dial a phone number, look up an address, and get directions from within the calendar.  The weather app knows where I am.  Google Voice works great and is tightly integrated.

And – for the payoff – I can make a fucking telephone call on this thing.  I can’t remember the last time I looked back after a day and thought “wow – I didn’t drop a single call today.”  Now the only dropped calls I’ve had are when I’m talking to someone on an iPhone and they drop.

I’m looking forward to iPhone 4.0 coming out so I can see how it compares.  My guess is that I’ll get the Android 2.2 upgrade at about the same time so I’ll have both to play around with in June and July.  The real result will be to see which phone I’m using when I get back from Alaska in August.  In the mean time, the HTC EVO is a winner and – as a result – the smart phone thing is going to get interesting now that Apple has some real competition and can no longer just walk all over Microsoft and Palm.

Did I mention that I can’t wait to get my hands on an Android Tablet?

June 2nd, 2010     Categories: Technology     Tags: , , , , ,