Garbage Collectors and Stack Drawers

This week’s post contains two short unrelated topics, one interesting and one practical.

For a while now, I’ve been casually following the birth of the Parrot Virtual Machine. Parrot’s goal is to be a general-use virtual machine for dynamic languages, most notably Perl 6 and followed by Python. (Sort of like Microsoft’s Common Language Infrastructure, but more dynamic and open source.) As someone interested in high-level language design, there’s a lot of cool things here…if only I knew enough Perl to write my own front-end. (You can do it in other languages too, including good old lex-yacc /…

Z shell

Failing to keep up with my (bi)weekly postings, I return nonetheless to post something of interest to fellow developers. This post is on my latest Unix-shell-of-choice, the Z shell (zsh).

For a long time I was a bash user, actually since a little after the switch from tcsh to bash in Panther. Bash (the “Bourne-again shell”) is useful and dependable and doesn’t pretend to be something it’s not, something I felt tcsh (and the C shell family in general) was occasionally guilty of. But I got fed up with the context-insensitive completions and uncustomizable keyboard shortcuts, at about the same…