So far, no luck in trying to sleep, even have tried burning more energy then normal, alas it appears to be hopeless. On the upside, tonight I’ve managed to overhaul my shell profile.

I spend most of my time behind a zsh, but also have regular contact with bash and various ksh; generally I avoid csh/tcsh on the grounds of muscle memory [sic]. The various Bourne style shells are a lot a like, but also a lot of differences once you grow past the /bin/sh of 30 years ago. I don’t care much for maintaining a profile/rc file for each shell I use, so approximately last year: I just wrote one central ~/.Terry_shrc file. The intention was for that file to be able to handle any OS/sh pair I’m likely to bump into, keeping to a portable subset of the scripting language & general unix. It only makes dialectual assumptions that functions (name() { list }) and aliases (alias name=’repl’) are supported; lesser portable constructs such as the $() and $(()) notations are totally ignored. My profile is so portable, that the bloody thing has even been easily adapted to Interix/SFU and Cygwin environments. The more OSes I encounter, the more portable the thing tends to get… lol. SFU/Cygwin basically required nothing, I just extended the platform detection stuff for the sake of creating workable aliases.

From the get go, the various shell specific rc/profile files were set to source my central profile, which in term was set to source a ~/.site_shrc file for site local changes; which of course is a symlink to ~/.site_shrc.hostname ;). Tonight I’ve extended it to source a .sh_funcs and .sh_funcs.osname for additional stuffs, as well some real improvements on how it goes about doing its magic.

Occasional SAS related stuffs, fiddling with my profile, and hashing out the various rs-* scripts for my rsync system aide, it’s been about 2 weeks since I’ve done any coding, and probably two or three months since I’ve done any hard core coding :-/. I’m always happier when I’m coding more….