Archive for November, 2007

A key concept for design

Monday, November 26th, 2007
Never be afraid to make decisions. All decisions are temporary. Make them, and be willing to be wrong. The only way to get better is to learn from your mistakes and accept that you’re only as good as you can be in any given moment.

This is the third item in a list of six tenets of design, but in my opinion should be number one. Why? It’s a primary concept of programming (and life) - trial and error - and might be the key concept that helps bridge the gap between programming and design.

I am a programmer. When I make a mistake with code I have a compiler to tell me that it’s wrong. I make an attempt at a fix. Wrong again. Rinse and repeat. Until it’s right.

Who knew the concept could be that simple for design?

While I am in no way a designer, I’ve learned several techniques to structure information so that users can quickly find what they are looking for. I didn’t learn it overnight (just like programming). Nor have I learned it all. I’ve read a few books, blogs and studied great designs. They all make it look so easy! But, it’s just like programming - they rinsed and repeated until they got it right.

I’ve been through several iterations when coding the design for this blog, but until now I can say that I haven’t truly thought of designing in the same way I do programming. I guess I just expect to magically be able to create the perfect design in the first sitting, rather than let it evolve.

What makes designing different than programming is that there is no right answer. It’s how I view it that makes it good or not. Maybe this shift in thinking will help me to take risks - temporary risks - with my designs, until I get it good enough - for me.

Javascript CDN’s

Tuesday, November 20th, 2007

As a developer, I’m encouraged when I see projects like CacheFile.net. Yahoo was the first to start hosting their YUI files. Shortly there after, Dojo followed with AOL’s support.

Until CacheFile.net these were the only two libraries available on CDN’s. Now all of them are available. All of that said, I am slightly concerned that the project will run out of a budget quickly, unless a major sponsor (come on Amazon, here’s a great opportunity) steps forward. I’m interested to see who this develops.

Perl is not dead; It’s Pot Roast

Monday, November 19th, 2007

When I think of Perl I’m reminded of a Slow Cooker, in that it is what it says. Perl is Practical. Sometimes practicality takes time (hence the months and years between releases - Pot Roast takes time). Extraction and Reporting are self explanatory. Perl is a Language.

According to Wikipedia:

Languages live, die, move from place to place and change with time. Any language that stops changing begins to die; any language that is a living language is a language in a state of continuous change.

When I look around at the various frameworks, existing expansions, continued development, community involvement, published works, plethora of jobs, news and evangelism I simply cannot see anything but a thriving language.

Critics have and will continue to have the debate whether Perl is alive or dead, but in the meantime, we continue to develop and innovate with Perl, ever so effortlessly adapting to the new “concept on the block”.

Web Services, API’s, frameworks, blogs (read the about page if you’re wondering why I use Wordpress), social networking, scripting, etc. - Perl can do it all. Just like any other language.

Sure, competition and collaboration are great. They are what spawn new ideas and solutions. I’m reminded of the jQuery vs PrototypeJS war. jQuery pioneered the concept of using CSS selectors to get to DOM Elements. Brilliant. Now, these and many other libraries have that functionality. But it took time - like Pot Roast.