coding

About Perl

old-fashioned-looking Programming Republic of Perl logo image, with camel in profile Perl facts according to perl.org:

  • Perl is a stable, cross platform programming language.
  • It is used for mission critical projects in the public and private sectors.
  • Perl is Open Source software, licensed under its Artistic License, or the GNU General Public License (GPL).
  • Perl was created by Larry Wall.
  • Perl 1.0 was released to usenet’s alt.comp.sources in 1987
  • PC Magazine named Perl a finalist for its 1998 Technical Excellence Award in the Development Tool category.
  • Perl is listed in the Oxford English Dictionary.

About Python

I’ve begun learning Python. I already love it, if only for not having to type { } every five seconds. ;)

According to the python.org website:

Python® is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.

About Notanda

The program I wrote and used to automate the adding of content to the site, before switching to Drupal. Notanda draws primarily from the wiki concept, but includes elements of blogs and tagging.

It was written in PHP, but I began porting it to Python, partly for performance, but also as a learning exercise. It is still in beta at the moment with parts incomplete, but I still dig its ease of use — being able to create a text file on my local computer and have a new article on my website in a little while, all without my doing anything besides saving and triggering an Automator script with QuickSilver.

Mmmmm…plaintext

I may switch back to Notanda if I get around to finishing the Python port.

Advanced Bash Scripting Guide

From Mendel Cooper comes the Advanced Bash Scripting Guide: An in-depth exploration of the art of shell scripting.

This tutorial assumes no previous knowledge of scripting or programming, but progresses rapidly toward an intermediate/advanced level of instruction … all the while sneaking in little snippets of UNIX® wisdom and lore. It serves as a textbook, a manual for self-study, and a reference and source of knowledge on shell scripting techniques. The exercises and heavily-commented examples invite active reader participation, under the premise that the only way to really learn scripting is to write scripts.

This book is suitable for classroom use as a general introduction to programming concepts.

Python on the command line

Via RootPrompt comes this IBM developerWorks article on “Using Python to create UNIX command line tools”. I’ve been experimenting with Python off-and-on for a while now, and what I’ve seen so far I love. Thanks to Noah Gift for the, as he describes it, “command line interface manifesto.”

Can you write a command line tool? Maybe you can, but can you write a really good command line tool? This articles covers making a robust command line tool in Python, complete with built-in help menus, error handling, and option handling. For some strange reason, it is not widely known that the standard library in Python® has all of the tools necessary to make incredible powerful *NIX command line tools.

Arguably, Python is the best language for making *NIX command line tools, period, due to its batteries-included philosophy, and its emphasis on readable code. Just a warning, though; these are dangerous ideas, when you find out how easy it is to create a command line tool in Python, you might be spoiled for life. To my knowledge, there has never been an article published in this detail on creating command line tools in Python, so I hope you enjoy it.