Brainfart: A skinners tale

Sunday, May 14, 2006

Ruby On Rails is empowering

My birthday this year was enlivening, for multiple reasons. One of the most fun for me was the gift of David Heinemeier Hansson's Agile Web Development with Rails from my kind and generous friend Jamie. For those unfamiliar with the Ruby On Rails framework, it's a programming framework for developing web-based applications that relies on the Ruby scripting language (as opposed to PHP, .NET, or Perl, other popular net-languages) and a set of useful core functions called "Rails." It lets you quickly design, develop, and deploy database-backed web applications, and I'm finding it highly addictive.

First off, lemme (dis)qualify my stance with my programming background: I'm pretty much an amateur. Although I've done some Visual C++ programming 5 years back, it was never for production (was trying to make an isometric tiled game). My web-developer experience only reaches back about a year-and-a-half, when I started Skinyourscreen.com as a hobby endeavor. This consisted of dabbling with existing content management systems (CMSs) like Mambo, Joomla, e107, and Xoops, forums like MyPHPbb, SMF, and InvisionPowerBoard, as well as content-management frameworks like ModX, Drupal, and TextPattern. This was primarily to learn how to skin them (preferably using XHTML/CSS), but you get used to using all the little goodies included with each and appreciating the unique ways in which they approach the problem of dynamically publishing user and admin-contributed content (posts, articles, images, files, comments, etc...) over the net. All of these use the PHP scripting language to power their functions and MySQL databases to store and maintain the content.

Enter Ruby On Rails: Jamie and I have been working together on business solutions for the Life Science Nexus. Both of us have a tiny bit of web-development experience. I'm more of a templater, or graphic designer, and he is the concept guy. Trying to make concept reality has been frustrating at times, however, limited by the existing freeware or open-source solutions that exist. You can pick of a CMS, fall in love with certain features (how easily it accomodates comments, for instance) but can't get by with other features (like sluggish performance, poor plugins, or reliance upon sometimes buggy and poorly documented plugins). Eventually we realized we required custom solutions.

We had bantered back and forth for several months regarding the merits and faults of various systems for doing this, originally settling on learning PHP to accomplish our goals. Just looking at PHP code gave the the willies, though. We quickly became smitten by all the instant gratification and possible using AJAX. The simplicity and intuitiveness of web-interfaces we saw designed with these increasingly popular technologies further whetted our appetite. We also came to enjoy the business blog, productivity tools, and net-casts offered by 37Signals. Their free BaseCamp and BackPack productivity tools had much earlier become and integral part of how we work. They also happened to be the creators of Ruby On Rails.

Still, the idea of learning to code again seemed a little intimidating. With the Agile book, there was no longer any reason to hold off. And you know what? IT'S SO EASY!!! The worst parts of setting up basic apps with Ruby On Rails are all in MySQL (setting up tables, specifically). Ruby as a language is incredibly easy to learn, with simple syntax and structure that makes sense. Rails builds on this by using a convenient and quick architecture that uses a predefined application directory structure to partition specific components (known as favoring "convention" over "flexibility" - although Rails is still exquisitely tuneable). You create your app by calling a Ruby script, and then generate additional components with other scripts. Following an online tutorial, I was able to have a fully-functional To-Do list made from scratch in about 5-10 minutes, and a blog (complete with admin interface, validation, and Textile Markup language) in about 40 minutes... FROM SCRATCH!!! To me, this is incredible, especially considering my credentials presented earlier in this article.

So what's next? Admittedly, the above web setups created by following the tutorials are just the tip of the iceberg, both for my work with Jamie and for my personal hobbies. Suffice it to say, for the time being, that Skinyourscreen.com will likely undergo a radical alteration in site function - powered entirely by Ruby On Rails.

For more information, please consider the following resources:

Wednesday, May 03, 2006

"Microsoft dead in the water"

John C. Dvorak, tech guru and regular of This Week in Tech and the Cranky Geeks podcast recently did a commentary opinion piece for MarketWatch on how Microsoft is currently dead in the water. In 8 points, he outlines how Microsoft has blown it with Office2007 and Windows Vista, its premier products, by repeatedly delaying release as well as lopping off all the features that stood to make either a significant upgrade.

I believe most of his points hold true merit with one exception: The Xbox360. From what financial reports bear witness of, the gaming division of Microsoft appears to be one of its most profitable divisions. Although not a hardcore gamer myself, the feedback I've heard from the unit has been phenomenal (minus the issue of the self-igniting behemoth power-block is uses). Dvorak's point #5 about the Xbox360 being produced in too few numbers way before Sony PS3 and Nintendo Revolution/Wii seems to be razzing MS for coming out with a product TOO EARLY(?). What he takes issue with, I am tempted to call smart marketing. MS is accomplishing two things by their early entry into the market and by supplying insufficient amounts of the hardware product: 1) They're gaining an earlier toe-hold in a competitive marketplace, something that will likely ENHANCE their market penetrance in the gaming division, and 2) They're reaping in dollars because they are maintaining its high market value. Supply-and-demand, right? Keep demand high by bottle-necking a luxury product.

I'd like to recharacterize the remainder of Dvorak's points, however. The mishaps with Longhorn/Vista, Office2007, and the constant struggle against Google are indicative of several things:
  1. Complacency. Microsoft has become a large entity because of its prevalence in the market-place, but rather than using that momentum and funding to voraciously pursue and push new technologies, trends, and paradigms, they got somewhat complacent with their majority role. When other companies stepped up to the bar in remote application services, i.e.: Google, they spent several years dismissing these emergent technologies as a passing fad. When these competitors starting bearing rather large fruits, MS apparently woke from its stupor and moved straight to point #3 below.
  2. Mismanagement. By now the greatest features originally touted in the OS that would replace XP have all but been stripped away. Although sporting a brand-new look and a revised Alt-Tab switching, the encouraging and allegedly quick WinFS will not be shipping with the plethora of Windows Vista versions to be sold (5+?). It does appear that the XAML/Avalon graphics engine will make it in, although there have been conflicting reports about its inclusion over the last two years. These kind of change-ups are dramatic: the company has invested thousands of man-hours in developing these technologies which were then deemed "not-ready" for implementation into the shipping version of the OS, which has now been further pushed back into 2007 past the Christmas season. These repeated blunders may be the result of poor communication between burdgeoning Microsoft divisions or short-sightedness/over-eagerness by higher-ups not understanding the true implications of the technologies in question. Regardless, these traits indicate a company where "the right hand doesn't know what the left is doing."
  3. Panic. The rush to get MSN Live out the door seems a final realization that Google is really doing fantastic in the business sphere in the online search and application fields, moreso than Microsoft foresaw. Tension was already evident when Microsoft software engineer Mark Lukovsky resigned to seek work "elsewhere". This of course, lead to the infamous "chair-throwing" incident where Steve Ballmer, CEO of Microsoft was quoted as saying he vowed "to kill Google," further clarifying his stance with "I'm going to f***ing bury that guy, I have done it before, and I will do it again." - speaking of Google CEO Eric Schmidt. The "imminent" (ha!) release of Windows Vista/Longhorn has become its own subject of mockery as the schedule is regular in only one thing - delaying eventual release. The loss of a significant proportion of the most advertised features due to unreadiness by internal developers may be a contributing factor to the appointment of Steve Sinofsky, previously the division head for Office development, a move to bring the perpetually delayed OS back on track. This was a sign MS was truly trying taking seriously the repetitive stalls in trying to get Vista out the door, pulling the head of one company division to lead up another. Unfortunately, there must have been some significant issues with the OS because it has again been pushed back, this time into early 2007 where it will miss the Christmas season. This attitude of panic was also evidenced by the recent Microsoft campaigns, spending an enormous $210 million to rid itself of the "big company image" and unspecified amounts to assert itself as a cheaper and safer to run than Linux in the server realm, a point of much contention and debate.
The pitious thing about all this is the myriad third-party developers and engineers, hardware producers, manufacturers and retailers that will hurt from The Microsoft Syndrome. PC sales are already slumping as people opt out of purchasing a new computer uncertain of whether or not it will run the next-gen OS that may, or may not, arrive next year. Although the computer-purchasing momentum has been building greatly for the last two decades, sales may be quite dismal this Christmas season when buyers realize they're still buying an operating system that's more than 5 years old.

In order to remedy their situation Microsoft will have to undergo some major internal renovations. The hardest changes will be psychological, in moving beyond the corporate mentality of invincibility that is beginning to crumble. If Microsoft seeks to legitimately defend itself from Google and the ever-increasing awareness to open-source solutions and innovative competitors like Apple, they will have to be ever-vigilant, more progressive, and become more security-minded.

Monday, May 01, 2006

Ubuntu Linux: Easier to install than Windows

Interesting posting submitted at Digg regarding the beta version of Ubuntu Linux. The reviewer checking out the beta demonstrates how installing Ubuntu Dapper Drake is now easier than a Windows install. Essentially, they are adapting a LiveCD (one that runs Ubuntu Linux entirely off a CD) so they can utilized a graphical interface for the installation process. This is a significant upgrade, considering that previous installers were text-based, depending on your system's capabilities.

Before any Windows fanboys (i.e.: SacRat) go running off in a fury about how Ubuntu is allegedly "crap" be sure to read the comments in that Digg article and the comments for the blog reviewing Ubuntu. Before knocking it, I advise you to try it. However, be aware that this is a beta version - though installation is simple, don't try this unless you are comfortable repartitioning your hard-drive.

Here's the comments for the Digg submission.

Here is the blog reviewing the Beta of Ubuntu version Dapper Drake.