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.