Bootstrapping most of a C dev environment

I’ve taken a break from SICP and TAOCP in order to get a good foundation in the C programming language, I’m familiar with it, but that is not good enough. The reason is because C exposes a

Read More…

Reinventing the wheel: Or how I learned to stop coding and read the manpages

About a month ago I wrote about a command line utility I made that calculates word and character frequencies. It was packaged as a ruby gem and it interacted well with the Unix pipeline interface. The

Read More…

Building command line utilities in Ruby that play well with Unix

The Unix pipeline is a beautiful thing, as long as Standard Input and Standard Output are handled correctly, programs can be kept small and predictable. Getting any sort of complex functionality is si

Read More…

Unix end of times

A lot of people feared the year 2000 because the two digit year date rolled over from 99 to 00, which was believed to cause a lot of problems with time-dependent computer systems. Now (December 20, 20

Read More…

Fixing spaces in filenames

Sorry this has taken so long, I’ve been working on the Cryptography Coursera class, to get rid of all spaces in all files below the current directory, the following bash script will do:

for filename in $(find .); do
  newfilename=$(echo $filename | sed 's/ /_/g'); 
  mv $filename $newfilename

Unix Processes and Their Parents Part 2

Based on a comment by Mark Essel from part 1 I have been trying to add more metadata to the process tree. I have given up on doing it in a one-liner, so I started using bash scripts. Then, after a few

Read More…

All Posts by Category or Tags.