Unix

Raggle and Elinks

Arky over at Playing With Sid posted a few months ago on “Reading RSS/XML feeds in Elinks Line Browser”, which he does by running raggle in server mode, inside a screen session. Then he directs Elinks at that via http://localhost:2222 (the default Raggle web UI port). Clever idea — I expect you could do that over SSH and have Raggle running centrally on a server you could access from wherever.

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.

links for 2007-10-24

Terminal.app with tabs

Browsing through the features and technology of the fast-approaching Leopard, I happened across the UNIX page and a mention of “Terminal 2,” an updated version of the bundled term application. Here’s the spiel:

The Terminal application in Leopard takes advantage of the operating system’s native text and graphics capabilities, using Input Manager and CoreText to fully support non-English languages. The updated layout engine provides very fast rendering of ASCII, ISO, and Unicode text, and a new user interface gives users around the world the ability to harness the power of UNIX. A simplified inspector and integrated settings pane make it easy to change the look and feel of Terminal.

New user interface, eh?

Now, I spend a lot of time in the CLI environment, although it’s currently shifted over to iTerm due in large part to its tabbed windows. Lo and behold, check out the top of Terminal 2’s window:

terminal 2 screenshot showing tabs