Monthly Archives: January 2008

If Rails Is A Ghetto, Please, Let Me Be Ghetto

A few weeks back a longtime Rails developer by the name of Zed Shaw wrote a post in which he declared Rails is a ghetto. If you haven’t already read it I would suggest that you probably not bother. It’s likely not going to be very interesting to you unless; a) you’ve been involved in Rails since almost it’s very beginning and thus you probably already read it or b) you’re planning to become a consultant in Rails. See, a lot of it is kind of like the guy telling you how much the party sucked because a bunch of people showed up and ruined it before you got there. Except, because you only showed up at the party very late to begin with, you had a completely different experience. The people who ruined the party are gone or at least aren’t ruining anything anymore. And the people who had their party ruined… Well, they’ve moved on to another party. A really boring one that started in 1991 that never really caught on and isn’t going to.
Those of us who only really showed up to the Ruby and Rails party in 2007 (and viewing the build a weblog in 15 minutes video the year before doesn’t count) are happy to show up to the party. There’s plugins to do everything under the sun, good books on interesting topics are showing up regularly, user groups are either already established or are popping up everywhere, it’s a great party. Especially if you’re a serial entrepreneur like myself and you’re looking to build websites with lots of features quickly and you aren’t going to get a lot of help from a huge crew of people to do it.
So maybe Rails is a ghetto. Maybe it would suck to be a consultant in it right now because there’s not enough jobs yet or rates aren’t where they should be. Maybe I would have developed strong animosity between myself and some other developers/writers because I got in too early. But frankly I didn’t and I love it. Working on was truly the first web development experience I have ever really enjoyed. Yes, Enjoyed. Oh, I still love Java and it’s my go-to language for heavy data lifting. But Rails is it for my web development. I can go to a web development project and like it and then come back later and not wince at what’s I did. Sure, I’m making novice mistakes, but even those aren’t proving that bad to clean up.
Before I clam up again, there’s two other things I’d like to say:

  1. Zed Shaw singles out Dave Thomas for a lot of vitriol in his rant. I can’t speak to any of that. Maybe he is a horrible person, maybe the Ruby book he wrote sucked horribly. But, I have read his Rails book and it’s not a bad book at all. I’ve gone back to it many times already. I have a lot of other Rails books at this point. Several of them aren’t very good at all, so it’s not just my ignorance of what other Rails books are like. Nor is it my inexperience with programming books. I’ve been a professional developer for 20 years now. I know programming books both bad and good. I can stand up and say that Agile Web Development with Rails is pretty good.

  2. Everybody who has seen the explosive growth of Ruby and Rails over the last couple of years eclipse their favorite language/framework (e.g. Python, Groovy, PHP, etc.) seems to be blogging or commenting this idea that Ruby and Rails isn’t really that great, it’s just hype. It’s only a committed few who have something to gain from you adopting Rails (i.e. a book to sell, consultant hours, etc.) who are promoting something that is snake oil.

    Seriously, how stupid do you think we all are? I’ve been doing professional development since 1985 and doing it full time since ’87. Do you really think that I and thousands of others can’t tell when something works and it doesn’t? I did HTML when the only browser was NCSA Mosaic and ASP websites to build and then later in 1999. That was painful. I can tell the freaking difference people. This works and it works well. I might not pick it for building the next version of eBay because it wouldn’t stand up to the load, but I would pick it for building the early versions of the next site that will become as big as eBay because it will offer that site lots of fast growth and flexibility.

Google Picasa Coming To The Mac

So, it looks like Google is going to bring out Picasa for the Mac later this year. Yay. I’m glad. Now address some of the serious shortcomings in the software. Stuff that I blogged about back in June of 2006 like real handling of tags, multiple levels of rating image quality (i.e. not just “STAR”), better searching, custom cropping ratios (16×9 anyone), plugins, better movie handling, etc. Please. Otherwise I’ll end up stuck with iPhoto which has some good features and lots of UI stuff that just sucks (have fun printing!) and Picasa, with all its numerous flaws.
Someday I hope to have one of the high end packages like Lightroom or Aperture. That’s not going to happen anytime soon, and it does nothing for the vast majority of users who need a tool like this for all their pictures who aren’t going to sink a couple of hundred bucks in software to act as their digital shoebox.

MacHeist II

I mentioned a while back that I had bought a Mac. For the first few months of using the Mac I’ve contented myself with either freeware items, software development tools (which for Ruby on Rails and Java are free), and a small sprinkling of purchased software (e.g. Unison for Usenet newsreading).
But last year and again this year Mac software companies have come together to do a group sale of their software for a single purchase price at MacHeist. It increases their profile, it donates thousands of dollars to charity, and it gives you one hell of a bargain. This year you can buy no less than eleven different software titles for only $49. It included several I had already coveted, two of which both sold for $49 individually. That gives you an idea the kind of bargain we are talking about here.
All the software is regular licenses for you. You can upgrade it, etc. just as if you had purchased it directly from the vendor at full price.
Meanwhile I’m going to be playing with iStopMotion.

Is RubyStack A Ruby on Rails Solution For Macs, Windows, and Linux?

The other day I was lamenting the demise of Locomotive for the easy installation of Ruby on Rails for someone interested in starting a project with it. Windows still has InstantRails but your only solution for easy install on OS X was buying and installing the latest version of the operating system (Leopard).

But here comes another solution. BitNami has a project called RubyStack and it is available for Windows, Linux, and Mac OS X running on either PowerPC or Intel chips. According to their readme, it installs:

  • Ruby 1.8.6
  • RubyGems 0.9.4
  • Rails 2.0.2
  • ImageMagick 6.3.5
  • Subversion 1.4.5
  • SQLite 3.5.1
  • MySQL 5.0.45
  • Apache 2.2.6
  • PHP 5.2.5
  • phpMyAdmin 2.11.2

Heck, that’s an even better collection of stuff than Locomotive offered. You’re ready to build most any kind of website with that collection. I’m about to install Leopard myself so it’s going to become kind of moot, but if you try it out and have good or bad experiences with it please leave a comment to this post so everybody knows how well it works.

I Love YUI

Yahoo! has made a lot of cool resources available for web developers. They have libraries to login using Yahoo! credentials, perform searches, etc. But one of my favorite, one that I think has no equal even from the mighty Google is their Yahoo! User Interface library (YUI). It’s a great collection of JavaScript pieces which have been beautifully tailored to be useful to total JavaScript know nothings like me and experts as well. They then marry those with a set of excellent CSS files to handle common needs and test the whole mess on every major browser (or at least the ones making up 95% of the traffic to your site). Regular updates to expand the library or the documentation, and keep it up with the latest advances in browser technology are also de rigueur. If you’ve ever found yourself needing menus, tabs, color pickers, calendars, etc. for your website, go to the YUI site.

However, if you’re using Ruby on Rails to do your web development these days then you know that Rails is already well integrated with the JavaScript libraries Prototype and Scriptaculous. If you’re like me, you don’t want to give up that easy integration and you may still be too new with Ruby and Rails to figure out how to use YUI’s JavaScript parts instead. Anybody doing a website that is for Internet use rather than internal business use can’t afford to use both sets of libraries on their pages because of bandwidth and time costs. But that doesn’t mean you have to throw all of YUI out. After all, there’s still the CSS!

YUI offers four CSS files at present:

reset.css Removes all the existing browser styles so that differences in how Internet Explorer styles a <li> or <b> from how Firefox does it are gone.
base.css Provides default styles for all the elements so they will look the same across browsers.
fonts.css Provides consistent font sizing across browsers.
grids.css Provides a great way to layout complex pages with multiple parts within parts, centering, sizes, etc. without having to resort to tables.

I used them on and was very happy with how uniform they made my pages look across different browsers. It’s usually hard work to do a layout with many parts to it and lots of formatting and test it various places. With YUI CSS I was able to do it once and do some fairly light testing and still get a very consistent look.