October 03

side effects

I needed to install some software onto my Compaq notebook that work had supplied me. But my IT guy had locked it down so I downloaded a bootable ISO called ntpasswd
This is a utility to (re)set the password of any user that has a valid (local) account on your NT system. You do not need to know the old password to set a new one. It works offline, that is, you have to shutdown your computer and boot off a floppy disk or CD. The bootdisk includes stuff to access NTFS and FAT/FAT32 partitions and scripts to glue the whole thing together. Will detect and offer to unlock locked or disabled out user accounts! It is also an almost fully functional registry editor!
It works really nicely, boots up into linux and asks some questions, resets the password for you and then reboots back into XP. Now I have pretty much setup the notebook with the software I need to keep me happy and knowing that it is all behind my IT guys' back makes it that much more rewarding.

One of things our company insists on doing is sending us to meetings, long winded 2 hour or more affairs. These meetings many times have absolutely nothing to do with our department and even less to do with my day to day activity but I am forced to sit there and pretend to be interested.

This is where Lisp comes in handy. I now drag my little Compaq with me and boot into Debian and sit there quietly reading the Introduction to Programming in Emacs Lisp(for people that are not programmers). You can read it in HTML format but reading it inside Emacs is preferred as you can try all the examples out as you go along. It is very well written and not at all what I would consider too `heavy' for lisp newbies like myself.

I did find some similarities with C albeit slight ones at best. The message function for example can take format specifiers like %d and %s and functions can have side effects, which is something I still cannot quite grasp sometimes in C, not the concept of a side effect, but what is the actual side effect of a function. Lisp seems similar in that respect.

     (setq trees '(pine fir oak maple))

If you evaluate the above statement, two things happen, the list (pine fir oak maple) is echoed in the mini-buffer and the symbol "trees" is bound to the list (pine fir oak maple). My gut feeling is that the echo is the side effect and binding to to list is the primary effect, but it is not, the side effect is pointing the symbol "trees" at the list. I am not sure why lisp is set up like this and hopefully it is something I can understand as time goes by or at least recognize when it is happening.

I had considered instead of the Lisp Manual, reading the Autotools book that I have been struggling with since pretty much page 2 or so :-) But to do that at work would require more concentration than I am capable of at the moment so I pick away at Autotools at a snails pace when I am at home.

Posted by æc♥ | Permanent Link