Archive for the ‘Software Engineering’ Category

Ruby on Rails Mac OS X Intel Binary

Saturday, March 25th, 2006

Update 8/13/06: Upgraded to Rails 1.1.6
Update 5/10/06: Upgraded to Rails 1.1.2 and built Ruby with the ri docs per Duncan McGregor’s comment
Update 4/7/06: Upgraded to Rails 1.1.1
Update 3/28/06: Now that Rails 1.1 has arrived I’ve upgraded this package to include it.

Here are the Installation Instructions and here is the all-inclusive ~9MB file to download: RubyOnRailsMacIntel-1.1.6.tar.bz2. If you would prefer to build from source here is my updated version of Geoffrey’s do it all ru-ra-lim.sh script that now works on Mac Intel too.

(more…)

Ruby + Rails + OSX Intel = Crazy Confusing

Saturday, March 25th, 2006

The Ruby on Rails scene for new users on the Mac has and continues to be pretty confusing! The version of Ruby that comes with the Mac isn’t suitable so you have to install a second copy and if you go to the getting started page at rubyonrails.org the first thing you see for OSX recommends building readline, ruby, fastcgi, lighty, and pcre from source. Fortunately (more…)

Differences between Digg and Reddit

Wednesday, March 15th, 2006

I wrote a tongue in cheek humor piece on April fools day last year about ditching Java and switching to .BAT. Earlier this year it hit the front page of Reddit which was very exciting since my little server stood up to the pounding pretty well. Then more recently it hit the front page of Digg (but only briefly). Talk about two totally different experiences! (more…)

5 things Ruby on Rails has that Java doesn’t

Monday, March 13th, 2006

After listening to this weeks Ruby on Rails podcast where Geoffrey Grosenbach interviewed Bruce Tate, it got me to thinking about why Ruby on Rails appeals to me. For me as a Java person, the real appeal of Ruby lies in Rails and here’s why: (more…)

MacBook Pro first impressions and why I switched

Sunday, February 26th, 2006

I just received my MacBook Pro on Friday. For me this is an even bigger switch since I’m making the switch from Windows to OSX as my primary work desktop. Over the years I’ve alternated between Linux and Windows and as my current Windows laptop is a few years old and shows its age when running IDEA and doing Java compiles (more…)

The top 5 most common XHTML mistakes

Wednesday, February 8th, 2006

When I first started writing XHTML pages about a year ago I thought that all there was to it was closing every tag XML style. Oh how wrong I was! I’ve since learned to W3C validate as I go so I don’t dig myself into too much of a hole. If you want to see some really nicely written XHTML (more…)

Podcast interviews tell a bigger story than most blogs

Sunday, January 29th, 2006

I just received my first iPod from Amazon the other day and have been playing with it a little here and there. Having music to go is great but I’m really enjoying listening to podcasts! Just as blogs have become a more important source for technology news in my life than mainstream media, I can see podcasts having a similar effect on how I keep abreast of technology but at a higher level.

Blogs typically have posts with a very focused subject matter so you usually get insight into a piece of technology such as ActiveRecord or Hibernate. Podcast interviews on the other hand often give you the big picture of how the various technology pieces and practices intersect. For example I love hearing about how company X rewrote their site using technology Y, the challenges they faced with scalability, how they handled deployment, what they used for continuous integration, how long the release cycles were, how involved the customer was, etc… Geoffrey Grosenbach is especially skilled at touching on almost all of these aspects when interviewing folks in his Ruby on Rails Podcast.

There are 2 podcasts that really stand out in my mind that I’ve enjoyed going through the archives of so far. They are the Java Posse and the aforementioned Ruby on Rails Podcast.

What other really good technology focused podcasts are “must listen”?

Well formed validation of XHTML pages

Saturday, January 28th, 2006

Validating XHTML pages is an interesting subject because no high traffic site I’ve ever tried it on actually successfully validates XHTML against a W3C validator. Most folks I know take it for granted that it’s unrealistic to write large sites with 100% W3C validating XHTML. However, that presents a real problem on the software engineering side where we want to be able to rely on our development environment or continuous integration to tell us whether everything is truly working and valid! (more…)

More powerful database constraints with regular expressions

Thursday, January 26th, 2006

Is it just me or do you agree that we should be able to easily apply regular expression constraints to a column in a table without writing a stored procedure? For example if I want to guarantee that a varchar only contains alpha numeric characters with no spaces in most databases I currently have to write a stored procedure and use a trigger to call it on insert and update. Too much work for something that should be so simple!

Postgres is one of the few databases I’m aware of that currently solves the problem. You can see an example at Joseph Scott’s Blog of using a regex in a check constraint.

Sure, with Active Record in Ruby I can easily do this in code or in Java using the Hibernate validator but it’s a different story when you’ve got a database with multiple legacy applications and data loading systems running against it. In those cases the database if the final line of defense!

This is just a rant but I’m shocked that this situation hasn’t markedly improved over the past 10 years!

The time has come to upgrade to MySQL 5

Friday, January 13th, 2006

We’ve finally hit the point at work where we’re ready to upgrade from MySQL 4.0 to 5. Data integrity has been a problem since I started at this job. Part of the reason is that MySQL 4.0 has an odd (to put it lightly) interpretation of not null and we still have a fair amount of legacy Perl code running the administrative portion of the site that lets bad data through. The lack of subselects for ad-hoc querying, aggregation functions, stored procedures, and triggers has also grown more irritating knowing that MySQL 5 has those features. (more…)