Kevin Kelleher’s article on GigaOm this morning titled 2009: Year of the Hacker made me think back to the rise of open source after the Internet crash of 2001. In the aftermath of the crash, many experienced software developers were out of work for a period of time ranging from weeks to years. Some of them threw themselves into open source projects and, in some cases, created their next job with the expertise they developed around a particular open source project.
We are still in a tense and ambiguous part of the current downturn where, while many developers are getting laid off, some of them are immediately being picked back up by other companies that are in desperate need for them. However, many other developers are not immediately finding work. If the downturn gets worse, the number of out of work developers increases.
If they take a lesson from the 2001 – 2003 time frame, some subset of them will choose to get deeply in an open source related project. Given the range of established open source projects, the opportunity to do this today is much more extensive than it was seven years ago. In addition, most software companies – especially Internet-related ones – now have robust API’s and/or open source libraries that they actively encourage third parties to work with for free. The SaaS-based infrastructure that exists along with maturing source code repositories add to the fun. The ability to hack something interesting together based on an established company’s infrastructure is omnipresent and is one of the best ways to “apply for a job” at an interesting company.
We are thinking hard about how to do this correctly at a number of our new investments, including companies like Oblong, Gnip, and a new cloud-computing related startup we are funding in January. Of course, many of our older investments such as NewsGator and Rally Software already have extensive API libraries and actively encourage developers to work with them. And of course, there are gold standards of open source projects like my friends at WordPress and masters of the API like Twitter.
If you are a developer and want help engaging with any of these folks, or have ideas about how this could work better, feel free to drop me an email.
Every male tech nerd (and some female tech nerds) that I’ve known has at one time or another has fantasized about a robot bringing him (or her) a beer from the refrigerator. Thanks to my friends at iRobot that’s now possible.
Ok – that’s a Pepsi. But it could have been a beer. The future is closer than you think.
Error Code 80169d94 cost me an hour of my life last night and ninety minutes of my life this morning. All I wanted to do was upgrade my Xbox Live Silver account (which comes free with an Xbox) to Xbox Live Gold (which costs $49.99 / year) so I could stream Netflix movies on my Xbox (cool feature).
I spend the first 15 minutes following the directions and trying to update to Gold on the web. Every time I hit confirm the update page refreshed and did nothing. Being stubborn, I did this about 25 times, including firing up IE and trying that (figuring that it was a Microsoft / Firefox thing.) Wrong.
So – I stopped following directions and started poking around on the Xbox itself figuring there was an "upgrade to Gold option." Of course there was, so I did it. And got an error message: "Can’t retrieve information from Xbox LIVE. Please try again later. Status Code: 80169d94". I stared at it for a few minutes as though I had been pithed. I tried again figuring it was some wonky connection problem. Same error message.
I googled xbox live 80169d94 and found no shortage of other people with this problem. The best explanation was at Xbox Live 80169d4 Fix. It seems like there’s a case where your account gets "locked from making purchases" when the credit card info doesn’t exactly match the Xbox user info.
This is obviously ridiculous since there are never any instructions that these need to match and anyone that has a credit card knows that it probably isn’t the same as your user id. Since I’ve successfully bought 100+ Rock Band songs using the credit card I’d previously entered, this is a recent issue with my id – possibly occurring when I recently did the Xbox upgrade to the new software.
Ok – that was about an hour, and I still have no solution. I gave up for the night.
This morning, while procrastinating from going for an 8 mile run in 5 (feels like – 12) degree weather (at least the sun is out today), I called Xbox support. I used their spiffy voice automated system, which worked well. I chose to talk to billing since that seemed most relevant. "Marcus" (or "Michael" – I had trouble understanding his accent) verified my account information but decided he couldn’t help me. Marcus then transferred me to tech support.
I then spent 30 minutes on the phone with "Carlos". I explained the situation to him and told him I was getting error code 80169d94. He walked me through the upgrade steps I had done last night that didn’t work. I tried to explain that I’d already tried this but he insisted that I walk though the steps with him. When we got to the magic error code he had to check his resources. After holding for a few minutes, Carlos came back on the phone and told me that he needed to transfer me to billing! I asked if he realized that billing had transferred me to him and he said he realized this, but they were the ones that could help me. Carlos put me on hold for a few minutes and then transferred me to his colleague in billing, who is named "Billy Jean."
For the third time I confirmed all my account data with Billy Jean. I explained the error message to her. She put me on hold to check "her resources." She then had me go to https://billing.microsoft.com, log in, and "update my account information." I’m not really sure what she meant by update my account information, but I went ahead and modified all the information on the Xbox account to match the data on the credit card I was using (name, address, phone.) After completing that, Billie Jean put me back on hold to check her resources. She then came back on to get the best phone number to contact me at (the same one in the account!) and a time (Brad: "anytime", BJ: "you need to give me a specific time", Brad: "how about 6am to 10pm", BJ: "it has to be between 9am and 9pm Central Standard Time", Brad: "ok – anytime between 9am and 9pm Central Standard Time.") Billy Jean then had to put me on hold to check her resources again. After a minute, she told me that someone from upper management would be calling me in 5 to 10 days to help resolve my issue. I amazingly asked why it would take 5 to 10 days and she informed me that a supervisor from upper management would need to resolve my issue. I asked if she knew what the issue was, especially since I was able to provide an error code. She told me that it was a problem that only upper management could solve. I asked if there was any way we could resolve it faster than 5 to 10 days. She told me that is the fastest they could call me back.
There are two phrases I heard at least ten times during this call sequence (exactly the same phrase from Marcos/Michael, Carlos, and Billy Jean: (1) "I need to put you on hold for 1 to 2 minutes to check my resources" and (2) "Thank for you patiently waiting, sorry for the long wait." None of these 1 to 2 minute resource check waits were very long, especially when compared with the 5 to 10 days that I now have to wait.
I’m done procrastinating from my run (at least for the day.) I guess Microsoft isn’t going to get my $49.99 for somewhere between 5 to 10 days and I won’t be watching streaming Netflix movies between now and – well – whenever upper management calls me. It’s pretty amazing that it’s almost 2009 and Microsoft Tech Support can’t handle an Error Code 80169d94 in real time. Oh – and during one of my hold periods, I was informed by the on hold music that I was talking to Samsung Customer Care in Richardson, Texas – obviously the Marcus pressed the wrong hold button from his call center – wherever he was – probably not Richardson, Texas.
As I was boarding the plane today in Dulles, I twittered At Dulles on the way to Raleigh durham. Post marathon travel is painful. Within a minute I got an email from Jeff Turner, the founder of Blogbeat:
"I just saw on Twitter that you’re in route to Raleigh… I know you’re probably booked up, but just in case you aren’t, I thought I’d check in & see if I could buy you a beer or cheeseburger (or something). really just want to say hi and thank you formally for the FeedBurner connection. Either way, hope you’re doing well & recover soon from your marathon!"
It turns out that I was landing at 6:41 and I had nothing scheduled, so a few quick emails and we were set to meet for dinner at 7:30. Jeff and I had never met, but if you remember my post from July 2006 titled Stats Evolved – FeedBurner Acquired Blogbeat you may know that Jeff approached me randomly via email for advice, that turned into a longer conversation, which ultimately resulted in FeedBurner (which I was on the board of) acquiring Jeff’s company Blogbeat.
The most interesting thing – Jeff and I had never met in person. We’ve had some email contact over the last two years but our paths had never physically crossed. They did tonight (thanks to Jeff’s initiative and the magic of Twitter) and we had a couple of beers and a great dinner in Raleigh at Thaiphoon Bistro along with a super conversation.
Jeff – thanks for the evening. Those who twitter together, dine together.
Stanford has put all the course material for CS 193P – iPhone Application Programming up on the web. If you are developing an iPhone app, or considering it, the course looks like it has a huge amount of useful data.
While it’s not over yet as the Supreme Court might weight in, the Federal Court Kills Patents on Business Methods. I haven’t read things carefully yet (I’ll leave that for the bathroom this weekend) but from the quick analysis I’ve read (In re Bilski: Patentable Process Must Either (1) be Tied to a particular machine or (2) Transform a Particular Article) it looks like it is a strong, unambiguous decision in the good fight to eliminate ridiculous patents.
The Federal Court declined to weigh in on my hated software patents, but this is a huge step in the right direction. Bye bye business method patents – at least those that aren’t either tied to a particular machine or transform a particular article – how we’ll miss thee.
If you’d like to do something political that has nothing to do with the upcoming elections, read through Tom Evslin’s post Act Now for Better Internet Access. Then go sign the online petition at freetheairwaves.com.
It kind of blows my mind that the National Association of Broadcasters is still fighting this stuff, especially with the impending federally mandated cutover to digital TV in February. But hey, lots of things seem illogical – this is nothing new.
Thanks Tom for alerting everyone to this. The deadline for comments is Tuesday 10/28 so click and comment now.
A friend of mine has been going deep on the entire cloud computing ecosystem as he works through some ideas for a new company. He coined a term "clouditude" a few days ago and send me his thoughts about it. I found his term / definition fascinating and very relevant (look for me to start using the word "clouditude". I asked if I could republish his thoughts directly to see if anyone had any comments to add; here they are.
I have been exploring so-called "cloud" computing recently and had a few thoughts that might be interesting to you and possibly to share with readers, who undoubtedly would have some ideas to add.
The "cloud" could be viewed as the Internet cloud or the Web cloud – I am particularly focused on the Web. In particular, I would say that a system operates in the web cloud if it can be used via a standard web browser (possibly including common plug-ins such as Flash/Flex) from anywhere with Internet connectivity. Restricted systems, such as internal corporate "clouds," are not excluded from this definition as long as they are accessible (with appropriate permissions/credentials) from anywhere.
I’ve coined the term "clouditude" as a measure of both the extent to which a system leverages the cloud and the ease with which it can be used and managed in the cloud. I prefer this term rather than "cloudiness," partly because the latter has other connotations, but also because there is an "attitude" component: is the system at home in the cloud, or has it been shoehorned to work there?
To clarify this idea, consider a J2EE application server:
– It can be used to support applications in the cloud, but to do so it requires appropriate computer systems and underlying software and configuration to operate properly; a browser-based configuration interface increases its clouditude.
– An AMI or similar virtual machine instance (created manually or using tools like JumpBox, rPath, CohesiveFT, or AppLogic) makes it easier to set up in the cloud, subsequently needing only custom configuration, so this has higher clouditude than the application server software alone.
Building the machine instances with a browser interfaces has higher clouditude than using the command line.
– Tools like Scalr, WeoGeo, and Elastra make it easier to manage the resources, including scalability, redundancy, and failover issues. This has a lot of clouditude, because here the application begins to have independence from the infrastructure architecture.
– Seamless redundancy and rate-management across different cloud infrastructure vendors is an obvious area to improve clouditude, and is in the process of getting built out. It appears that RightScale and Kaavo are aiming for this, although it does not seem to be available yet.
Now our "application server" is pretty much completely virtual. We load it onto the service, and it is available for an application to use. If volume increases, or servers go down, or prices change, we don’t really care or know – it all happens automagically.
From an application developer’s perspective, there is a next step, where I don’t need to know anything about the underlying infrastructure, including whether there is an application server at all. I just build the application and click a button to deploy it. Google’s AppEngine and Force.com both are attempts to implement a high degree of clouditude for application developers. Force.com actually has higher clouditude, because the application is developed, tested, and run in the cloud, while AppEngine has a local sandbox environment for development, then you upload/deploy to Google.
Of course, with both of these solutions, one trades off flexibility and control for clouditude. Force.com applications only operate there, and AppEngine applications, though written in Python, have to use the proprietary BigTable as a datastore. It doesn’t seem like this sort of lock-in is essential to the practical implementation of a high clouditude environment, but I don’t really know.
It will be extremely interesting to apply this idea of clouditude to whatever Microsoft announces next week at the PDC.
If you are interested in Social Computing in the Enterprise, NewsGator has just put up a Social Computing Best Practices & Resources on their web site. In addition to a bunch of NewsGator generated content, it has useful links to some of the key blogs on Social Computing in the Enterprise as well as the analysts who cover this area.
NewsGator and Burton Group are also doing a webinar series on IT Best Practices for Enterprise Social Networking – check it out if you are into this stuff.