RoR is NO Silver Bullet

Fábio Akita talks about being pragmatic when deciding whether to use Ruby on Rails:

It is here now and many people are already benefiting from it. But, does it make it suitable for every web application? Definitely not. For that you have to decide yourself through hands-on experience. The result for your situation will differ from someone else. There are several reasons to choose one framework over the other: some are technical, some are economics, some are cultural. Whatever the case, there is no Silver Bullet. How many times do we have to repeat that. Fred Brooks warned us 3 decades ago! And this time is no different: RoR is NO Silver Bullet. Nor is ASP.NET for that matter.

Is RoR right for you? Choosing a platform is rarely a simple decision. However, you have a good chance of making the right choice if you start by putting down your requirements for your project. Write down what you want your application to do for users, and then start looking for a framework that will help you accomplish those goals.

Choosing the technology first is like buying a spring form pan before finding out whether your customer prefers pie over cheesecake, or perhaps would just like to buy a loaf of bread, thank you very much. There’s a very good chance you will guess wrong.

RoR is a great framework and has sparked developers of other web application frameworks to get their act together. Just make sure you look at the pros and cons surrounding Ruby on Rails and any other platform you evaluate.

Random

Ruby on Rails: Let’s Get Real

Good, somewhat objective summaries of the pros and cons surrounding the Ruby on Rails platform are rare. What you do find is plenty of buzz. What is Ruby on Rails all about? Why do people love it? Why do people hate it (yes, these people really do exist)? And why does it make certain people (Bigslow Traditional, Inc.) very, very afraid? Read the rest of this entry »

Tags:

May Software Pick: Dual Monitor Wallpaper Nirvana

Anyone who uses dual monitors for a few days ends up wondering how they ever lived with only one screen. All that extra space is lovely. You can put your reference material, email, etc. on one screen while using the other for your workspace. It doesn’t take long before your ALT and TAB keys start getting lonely.

There’s just one problem, and we have the solution. Read the rest of this entry »

Hackers Need Good Books

It seems that we are not alone in our opinion that great hackers read books:

http://www.codinghorror.com/blog/archives/001108.html

Jeff makes a great point about there not being a lot of really great programming books out there. The bad news is that it can be hard to get at the information you need without a lot of trial-and-error and about 23 million google searches. The good news is that your reading list is actually tractable.

Please, vote with your wallet and reward great book publishers such as the Pragmatic Programmers.

Random

Life-Changing Books

Last week I ran across a quick little article entitled “Life-Changing Books: Recommendations from 17 Leading Scientists“.  Few things in life excite me anymore the way a really good book does (I could tell you “tales of the glories of Christmases long, long ago”), so this definitely piqued my interest.

I knew I was in for a treat when I noticed that the fourth one down was Isaac Asimov’s Foundation Trilogy.  I was a big Asimov fan “way back” in high school.  If I had been asked to participate in the making of the aforementioned list (alas, I am not yet considered a “Leading Scientist”), I might have selected Asimov’s I, Robot.  Let me tell you why.

  • I was and still am fascinated by how literarily fertile his 3 laws of robotics are.  (If Asimov can invent the word “robotics”, I can invent “literarily”.)  I lifted the following from Wikipedia: “SF scholar James Gunn writes, ‘The Asimov robot stories as a whole may respond best to an analysis on this basis: the ambiguity in the Three Laws and the ways in which Asimov played twenty-nine variations upon a theme.’”
  • I didn’t quite realize it at the time, but it now occurs to me that the stories in I, Robot are engineering at its finest.  Here’s a problem, now solve it.  That’s really what I’ve been doing since I got my first programming job.
  • Who doesn’t like robots?

Random Boy posted a few days ago asserting that “Great Hackers Read Books“.  I totally concur.  It’s really one more way to exercise your mind.  Not only that, books are a great source of ideas!  New ideas, for the most part, are just new combinations of existing ideas.  The more combinations you have available in your brain, the more likely you are to be able to come up with something new and cool.

Some of my recent favorite nerdy-ish books are:

In the famous words of Levar Burton, “don’t take my word for it.”

-ANSI Pants

Tags:

Great Hackers Read Books

Great hackers continuously expand their minds and discover new principles that make them stand out among their peers. Books, blogs, lectures, etc. are all great sources for new ideas. Just remember to take everything you hear with a grain of salt, and compare it to what you already know. Read the rest of this entry »

Blogging is Good for the Soul

A few years ago, Stevey at Amazon wrote about the benefits of blogging, even if nobody reads what you write. Paul Graham said something similar when discussing how and why he writes Essays. Elsewhere, Joel related the same principle to writing specs

So here’s the principle: one of the best ways to exercise your brain and explore ideas is by writing. This works even if nobody ends up reading your stuff, and works even better when there is any possibility (however likely) that your writing will be read by others. For some reason, we humans do better when we feel accountable.

When I ran track and cross-country with some friends in high school, we learned early on the value of having a running partner. When you have someone to “pace” yourself against, suddenly you have more motivation to run harder and longer (basically until you puke). Writing essays or creating software works the same way. You need a great team of people to motivate you and keep ideas fresh. You also need readers or users for the same reason.

Writing down your thoughts and creating real solutions to peoples problems not only makes the world a better place, but it also makes you a better person.

Share what you know. Be good.

Random Boy

Tags: , ,

100 Balls, 10 Buckets, 1 Single-Use Scale

[We join our hero, Captain Constructor, atop the tallest turret of Doctor Destructor's hidden hideout: Fallacy Fortress...]

Dr. Destructor: You’re too late, Constructor! Before the next clock cycle, all of those mortals you call friends will be destroyed! And your little dog, too! [Maniacal laughter...]

Cptn. Constructor: Close your handle, Destructor. Just tell me how to interrupt the detonation kernel … er … process … sequence … thing.

Dr. Destructor: The sequence is perfectly synchronized and it cannot be pre-empted! Unless, of course, you are able to correctly identify the set of slightly-heavier-than-the-rest spheroids. But it is a task that is surely intractable to your puny single-core mind.

Cptn. Constructor: YOUR FACE IS SINGLE-CORE! [Our hero clears his throat, embarrassed. He is not generally given to such base language. Quickly he recovers his composure.] Tell me more about these spheroids.

Dr. Destructor: Over here you will find I have sorted 100 spheroids into 10 buckets. Each bucket holds 10 spheroids, as you can plainly see. 90 of these spheroids all weigh 1 gram each. The other 10 weigh 1.01 grams each and they have been placed all together in the same bucket. You should also have noticed by now that all 100 spheroids are visually indistinguishable from one another. Shall I go on? Your stack is beginning to look overflowed.

Cptn. Constructor: I have stack space you could never even dream of. continue;

Dr. Destructor: Immediately next to the buckets I have placed a scale. The scale has been badly damaged from overuse. I keep telling that furry PHP elephant he’s too big! Never mind that, though. I assure you that the scale is still perfectly accurate. However, it only has one good measurement left in it.

Cptn. Constructor: What does all of this have to do with the spheroids?

Dr. Destructor: It should be quite clear that to interrupt the sequence of destruction, you must identify which bucket contains the heavier spheroids. You may take any combination of spheroids you like from these 10 buckets, place your selection in this empty bucket labelled “this.EmtpyBucket”, and place “this.EmptyBucket” (which at that point will no longer be empty) on the scale. The scale will tell you the weight and you must then tell me which of the 10 buckets contains the heavier spheroids.

Cptn. Constructor: Truly, you have a dizzying intellect.

Dr. Destructor: Wait till I get going! Where was I?

[Join us next time for the exciting conclusion...]

Tags:

101 Easter Eggs

On Friday I came across The 101 Coolest Easter Eggs Hidden in Your Software, DVDs and Video Games.  Although I haven’t hunted down more than a handful of them, some of them appear to be fun (OpenOffice.org: Star Wars Game), some are funny (Firefox: Firefox’s Revenge for IE5’s Joke), some are lame (Winamp: Spinning Fish), and some are quite intriguing (IRIX: Hidden Recipes in Release Notes).

That’s all IMHO, of course.

Happy hunting!

Tags:

Challenge Your Inner Nerd

At work our software development team allocates 30 min each day to skill development. It’s a great way to keep our minds fresh and full of new ideas. Today I just came across a gold mine for anyone looking to challenge their inner nerd. It’s called OpenCourseWare. It’s from MIT. It’s nerdy.

Read the rest of this entry »

Tags: , , ,