Updated: 11/19/05; 12:32:59 PM

 Friday, August 26, 2005
Henrico Fooder
A picture named f6_12_sb.JPG2.jpg
2:54:16 PM    
How To Look Like A UNIX Guru
Since more and more folks are starting to dig below the surface of shiny veneer of Mac OSX into the more interesting parts via the Terminal, I thought I'd post this great piece that really covers many of the absolute fundamentals of working with Unix.

UNIX is an extremely popular platform for deploying server software partly because of its security and stability, but also because it has a rich set of command line and scripting tools. Programmers use these tools for manipulating the file system, processing log files, and generally automating as much as possible.

If you want to be a serious server developer, you will need to have a certain facility with a number of UNIX tools; about 15. You will start to see similarities among them, particularly regular expressions, and soon you will feel very comfortable. Combining the simple commands, you can build very powerful tools very quickly--much faster than you could build the equivalent functionality in C or Java, for example.

This lecture takes you through the basic commands and then shows you how to combine them in simple patterns or idioms to provide sophisticated functionality like histogramming. This lecture assumes you know what a shell is and that you have some basic familiarity with UNIX.

7:44:17 AM    
Why Good Programmers Are Lazy and Dumb
I realized that, paradoxically enough, good programmers need to be both lazy and dumb.

Lazy, because only lazy programmers will want to write the kind of tools that might replace them in the end. Lazy, because only a lazy programmer will avoid writing monotonous, repetitive code [^] thus avoiding redundancy, the enemy of software maintenance and flexible refactoring. Mostly, the tools and processes that come out of this endeavor fired by laziness will speed up the production.

This makes a lazy programmer a good programmer. Of course, this is only half the truth; for a lazy programmer to be a good programmer, he (or she) also must be incredibly unlazy when it comes to learning how to stay lazy [^] that is, which software tools make his work easier, which approaches avoid redundancy, and how he can make his work be maintained and refactored easily. (By the way, the word [base "]unlazy[per thou] has 14,400 hits in Google; I[base ']m sure this makes it legal.)

More

7:09:24 AM