
2008 Reflections Jan 01, 2009 14:28
2008 was a busy year. I haven't blogged in a while, but I thought I would share a few thoughts about what I'm looking forward to in 2009.
Here's my top ten list for the new year:
Since last Spring, I have personally and professionally transitioned to using Ruby as my primary language. I have not regretted that choice one bit. Ruby is a great language: concise, expressive and easy to read. The community has a positive energy, they are productive and focused on solving interesting problems. There are tons of gems available to help solve nearly every type of problem I encounter.
I am a big Merb fan. The high degree of modularity and the whole idea of being less opinionated is a good thing. The features and philosophical direction have been superb (read: the way I would have done it). Merb has engaged with deployment and "enterprisey" type issues that Rails has dismissed as unimportant.
Rails is a very nice web framework and certainly a revolutionary one. It was exactly the kind of framework our industry needed to smack the Java and .NET communities upside the head. In my opinion, it is just too opinionated.
I hope that Rails will become more Merb-like for 3.0. But if this marriage doesn't pan out, I hope that the Merb guys have the courage to fork it and push Merb forward again. FTR, I don't think it's productive to advocate a Merb fork, let's see how this dream team works out and if they can make it work.
Some of the iPhone apps are simply fads produced by gold-rush hysteria. For any hot, new platform this will be the case. However, I do believe that iPhone apps and the app store are here to stay (besides, if you're lucky enough to be the beneficiary of the fad that's ok too). The iPhone is one of the most impressive consumer electronics devices ever created and I cannot wait to start developing some iPhone apps in the new year.
The strange thing about switching from the PC to the Mac is that I don't really miss anything. When I need to go into my VM or use my PC, I feel like I've warped back to the 90's.
The Mac is better in almost every way I can think of...except perhaps cost. But it's a relatively small premium to pay in my mind for something that is in fact better. I will admit that my perspective is skewed from the normal user. I'm a developer: I don't use MS Office on a regular basis (I actively try to avoid it), I'm comfortable with the command line and a text editor, I have simple but non-trivial email needs (I despise outlook), etc. But hey, my mom has been using a Mac for longer than I have and she loves it too.
For those of you that are cost conscious, I think ubuntu makes a fine desktop Linux. Yes, Linux is ready for the desktop. No it's not as user friendly or nearly as sexy as OSX or even Windows. But it's perfectly suitable for developers and "surf & email" home users. Netbooks have paved the way, although I do acknowledge that the pendulum is swinging back towards Windows XP, Linux on the desktop is a reality...finally. In 2008, I replaced XP with Ubuntu on an old 12" laptop I had and it has completely revived the machine; it's actually usable once again.
One of the things about developing for OSX/iPhone is that objective-c is a necessity. It's also one of the syntactically weirdest ALGOL-based languages I've seen. I'm just starting to learn it, but I must say its syntax is awkward. I suspect at some point, I will begin to see its beauty...but maybe not.
One of the projects I will need to undertake in the new year is writing an objective-c plug-in for TextMate. We have some custom needs for file filtering/processing within a text editor/ide of some kind which need to be addressed. TextMate is a superb editor that I believe offers the best/shortest path forward for us.
I have dabbled in wrapping up Gecko using Delphi via the LLMozLib project. It worked ok and I made some reasonable progress there. But things change: cross platform capabilities are essential, I'm enjoying Ruby way too much to give it up and I am resolved to make progress with my little side project in 2009. So the progression of Prism is important to me. One of the things I would like to see is Prism running off a USB drive for both Windows and OSX. I've played around with this a bit and got it working off a USB drive for Windows, OSX seems to have a few more issues to resolve.
One thing I do have to say here, is that I have received a few emails from people asking me about the work I did with LLMozLib. I regret not replying....honestly I intended on doing so, but intentions don't mean very much compared to what we actually do or not do. I apologize. I will make some effort to actually do two things: 1) release whatever Delphi code I have related to LLMozLib and 2) email the handful of folks that emailed me to let them know that I'm abandoning this approach.
I believe that Erlang is the language to use to leverage multi-core and distributed processing capabilities. These things are super important now and will only become increasingly important going forward. CouchDB and RabbitMQ are two good examples of nice server software built with Erlang; I plan to leverage both in 2009.
I'm also keeping an eye on two projects built by Engine Yard leveraging Erlang: nanite and vertebra.
I've been a big fan of gliffy for about a year now. Honestly, I don't use it that often, and I "could" probably use it more often, but when I do need to draw something, it's great. It's always available, works with any browser that supports flash and it works well. I haven't looked at visio recently, and while gliffy might not really stack up feature for feature against visio, I don't care; the collaboration/publishing features are something a traditional desktop application will have a hard time competing against.
The latest online applications that I really like are zenbe and mint. I have been running Thunderbird off a USB drive for some time now, and that's been a good everywhere email solution for me, but zenbe is a better one. I just wish they allowed you to control the pop settings to actually pop the messages off the server. Until then, I'll continue to use Thunderbird off of a USB drive.
Mint is cool because it provides an integrated view of my financial information and I don't have to enter in a bunch of data. I'm not terribly skilled at keeping my finances up to date or establishing a budget or anything like that, so any help I can get is welcomed. The only thing that is a bit scary is that Mint now knows all my passwords and has access to all my financial information...oh well, I don't have that much money to be worried about anyway.
I have spent quite a few years coding Delphi and enjoyed it. I've been active in their newsgroups and if you google me, that is predominantly what you'll find out about me. I still check in on delphi.non-technical from time to time. In fact, I will comment on the biggest recent development for Delphi:
They finally have a sensible .NET strategy: drop Delphi for .NET, license RemObjects' Chrome/Oxygene/Prism and move forward with incompatible, but similarly flavored toolchains. Congratulations to the RemObjects folks, they definitely deserve whatever success this brings them.
Regardless, I've pretty much given up on .NET when I decided to focus my energy on Ruby. It's just not possible to keep up with everything anymore and .NET is too massive for one person anyway. Because of my decision, I have also become much less interested in Delphi and all of the goings on in that community. It is interesting, humorous and comforting to find the same people with the same complaints and issues. Good old Delphi...some things never change and sometimes that's the problem.
One thing that has changed is that they've put some kind of login/authentication for the newsgroups. I tried to post a few ancillary comments there recently and it rejected them. It's a sign that it's just not important/productive for me to post there any longer. I'm grateful and will pay attention to signs like these in 2009.
It was bound to happen. As far as I can tell, there are at least three distinct things that marketing folks group under the "cloud computing" marketing term:
- Software as a Service (SaaS) - Salesforce, Google Apps, etc.
- Platform as a Service (PaaS) - Force.com, Google App Engine, Amazon SimpleDB/SQS/S3, 3Terra, etc.
- Infrastructure as a Service (IaaS) - Amazon EC2, Mosso, GoGrid, etc.
As geeks, we owe it to ourselves to understand the differences and coin terminology that is more precise. I personally think that Ezra's definition of cloud computing is a pretty accurate one:
- Virtualized Compute,Memory and Storage
- API accessible
- Resources scale up/down on demand
I'll add: "runs your code", which I believe Ezra would agree with.
This still doesn't distinguish from "Infrastructure as a Service" and "Platform as a Service". The main aspect to consider with Platform vs. Infrastructure is switching costs vs. do-it-yourself costs. In general, the more platform hooks you use, the higher the switching costs, the less you use, the more you have to do yourself to get functional equivalents but the easier it is to switch between vendors.
Ultimately cloud computing is very important and a lot of big companies are betting heavily on it. It cannot be ignored, but we should ignore the marketing obfuscation and demand clarity for our own sanity.
Write a comment
- Required fields are marked with *.







