Posts Tagged 'holiday'

Trick or Treat: Here’s A Lollipop!

I Got A Rock!Well, next week is Halloween. This is one of my more favorite days of the year, especially when my son can enjoy trick or treating in the neighborhood this year. I’ve been in my current home for a little over two years now, so I seen a couple of trick or treat nights. One of the most annoying things that bug me about the night is teenagers.

There is a certain age when an adolescent would stop and think that he or she is too old to be going door-to-door for trick or treating, but I am surprised to see that this is not the case. Over the last two years or so, teenagers will come in groups of two or three and expect me to hand them some good candy. Mind you that they are older, stronger, and faster than 4-year old Jenny and her mother, so they swoop in and ask for a boat-load of the good stuff (the chocolate, of course) with greater efficiency. Many of them have no Halloween spirit, do not dress up, or even say a good “trick or treat” to me. Heck, some of them have more facial hair than I do, so that should have been a red flag to me, but I shrugged it off. Last year, by the time the toddlers came by, all I could give them were the Dum-Dum lollipops that were left over. I even tried to control the flow, but it did not happen that way. I sure that the toddlers did not mind the lollipops, but I felt bad that they did not get at least some chocolate!

So, I am going to do something different this year. I will be implementing a simple candy distribution policy. The younger the children, the more chocolate you get. That means if a group of teens comes up, they will get the Dum-Dum lollipops. If they have a good costume, then maybe a little chocolate, but only if they have a good Halloween spirit. Otherwise, here’s your lollipop!

How I Spent the Holidays

I am so sorry that I have not posted in a while. I have been so busy trying to finish up many projects at work before the long holiday. It has not been such a nice holiday for me, though. First, my boy Ethan has been sick with a viral infection, and the remainder of my family has been sick with colds.

So, I had a lot of time here and there. I decided to finally read Peter Seibel’s Practical Common Lisp. This book is also available online, but I recommend buying the hardcover (I think it’s worth it).

The book has 32 chapters of the basics of LISP and provides current and relevent examples. Hey, this is exactly what I expect from a book if it’s going to have the word practical in it’s title! The learning chapters was a great reminder of what I missed during the standardization process. The last time I really used LISP, the language was about to be standardized (circa 1992?). By that time, I was using two different LISPs. The first one, which I really do not remember the name of it, I was using in high school on one the few MacIntosh computers. I do not think it was MCL, because of the timeframe. If anyone has any ideas, I am willing to listen. Anyway, the second LISP was AutoLISP, which was the primary extension language of the popular CAD tool AutoCAD. I use to create a lot of useful functions with that LISP when I was working as a fire suppression engineer in the mid-90’s. So, when I started to get back into the LISP game, I was so flabbergasted that there were many standardized functions and concepts that were very new to me. All of them were addressed in this book.

For example, I read on the web that Common Lisp incorporates object-orientation via the Common Lisp Object System (CLOS). When I started to learn about it, I just kept on feeling that it was just going to be similar to the other statically-typed languages like C++ or Java. However, when I read the book, it gave me some great insight on how to really use classes. Not to just model real-life objects with physical properties and operation, but to do it dynamically via the use of macros. Chapter 24, entitled Practical: Parsing Binary Files is a great example of how Peter demostrates this. It really blew my mind!

But, I digress. I downloaded the source code from the book’s web site. However, I could not use the source code right away. I had a trouble using the code using CLISP, which I downloaded a couple months ago to hack around. I could not get the packages to load properly, so I searched around for a useful LISP system. Luckily, I was using Gentoo Linux and it uses a port of the Debian’s Common-Lisp-Controller (CLC) framework. I also decided to try another LISP implementation, Steel Bank Common Lisp (SBCL), because CLISP does not compile into native code. Once I got the CLC and SBCL installed, I was able to load the book’s packages right away. Awesome!

So, I spent my offline time reading the book and my online time hacking some LISP. I am still trying to (re)think like LISP, rather than trying to apply concepts from C++ or Java back to LISP. I just do not think it will work like that. Hopefully, I can start creating some neat new applications with LISP in the near future.