Aug 19

Computer Books which have made me who I am….

We all have our favorite books, the ones which we won’t let them pry away from our fingers until they’re cold.  Those books which have shaped us, molded us, made us.  The ones for which we’ve bought the first, second, third, and fourth editions.  And not just because you’ve “gotta catch them all”, but because you genuinely enjoy the book and want to keep up to date with it.

Here are some of mine:

Read the rest of this entry »

Aug 18

7 Ruby tools which are gems and why I like them

Rubygems, those magickal behind-the-sceneslibraries we all use without thinking too much about them deserve some love.  I’m singing the praises of 7 rubygems out of those installed on my laptop (this isn’t to say that I love them more than others). What are some of y’all’s favorite gems?

Read the rest of this entry »

Aug 17

.irbc contents

I think that irb is one of the most useful tools in the rails toolbox. It allows me to quickly determine how something works, sample results (for putting into blogs, don’tcha know) and makes me a more effective ruby developer.

One of the nice things about irb is it’s .irbrc file where you can place startup commands.  I’d like to share mine (and ask for others to share their favorite .irbrc tools/contents.

Read the rest of this entry »

Aug 15

Just Enough Programming: The missing cornerstone

I was just speaking with a coworker about JEP. In the course of our conversation I realized that in my list of the foundations of JEP, I had left off what is perhaps the most important one of all — Pragmatism. If I were to sum up and explain JEP in one word it would have to be pragmatism. Pragmatism implies using sensible solutions to solve problems. Pragmatism stresses being practical over principles or ideologies.

In short, are we trying to solve problems, or are we building edifaces to what Neal Ford refers to as the programming priesthood?

Aug 14

Quotes on Simplicity

“If a thing can be done adequately by means of one, it is superfluous to do it by means of several; for we observe that nature does not employ two instruments where one suffices.” — Thomas Aquinas

“Simplicity is the ultimate sophistication.” — Leonardo DaVinci

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity.

A program should follow the `Law of Least Astonishment’. What is this law? It is simply that the program should always respond to the user in the way that astonishes him least.

A program, no matter how complex, should act as a single unit. The program should be directed by the logic within rather than by outward appearances.

If the program fails in these requirements, it will be in a state of disorder and confusion. The only way to correct this is to rewrite the program.  — The Tao of Programming, 4.1

Aug 14

Foundations of Just Enough Programming

The ability to simplify means to eliminate the unnecessary so that the necessary may speak. — Hans Hoffmann

A little while ago I’d come up with the following as a semi-serious description of Just Enough Programming:

Are you tired of over architected applications?  Does infinite scalability imply infinite development time?  Are you surrounded by applications whose sole goal is to be buzzword compliant?  Do you suffer indigestion from the “extra sauce” that makes the management happy?  Do the systems diagrams look like a redneck family tree?

If any or all of these are true, then you need Just Enough Programming™.  JEP makes liberal use of Ockham’s Razor, cutting through the cruft and getting to the crux of the issue.  It slices.  It dices.  It even juliennes.  JEP fosters simplicity and elegance by seeking to make systems as simple as possible, but not simpler.  Its goal is to achieve perfection by reaching the state where we have nothing more to take away.  JEP is not just a methodology; it’s a way of life.

While it’s tongue in cheek I’d like to talk about the foundations of JEP.
Read the rest of this entry »

Aug 13

The trouble with injection

Ruby’s injection is very useful, but if you don’t remember one key fact, you’ll shoot yourself in the foot.

Read the rest of this entry »

Aug 13

Drag-n-drop

Despite reports to the contrary, scriptaculous sortables do not work inside a table, nor a tbody. (as of rails 2.1)

Aug 13

[adjective] [gerund] websense

I hit a web filter today which makes no sense whatsoever:  http://www.conditional-css.com is tripping the “entertainment” category.

Read the rest of this entry »

Aug 12

O_RLY? A Ruby/Rails implementation of snowl (Part I)

Recently Mozilla Labs released a prototype of snowl, a rss/atom/twitter feed reader. It is a firefox plugin and provides two views of messages — a “traditional” message view, as well as a “river of news“. I thought that this could be easily “redone” as a rails application. The rest of this article steps through the process of creating it.
Read the rest of this entry »

Older posts «

» Newer posts