Monday, December 29, 2003

Santy Claws Was Good To Me!

Well, I'm back at work this morning. I had a great xmas! It was great sitting in my new house and just enjoying time with my wife. It doesn't get much better! Oh yeah, I got some cool stuff as well. My wife got me a Gameboy Advance SP (who says you're too old for these things is TOO OLD!), Intellivision 25-in-1, and a Atari 10-in-1. Her nanny got me an original Atari 2600 (lots of madness). My sister got me a bunch of cool shirts. And last but not least, everyone else got me gift certificates and grits. All in all, it was great...=)

Thursday, December 25, 2003

Nintendo Metal

I can't believe this. But, check this out: Game Over. Metal and video game music? This is too cool...There are people on my same wavelength....VERY COOL! Perhaps, my wife and I are not the only strange folks in this universe (of course, my wife will argue that she is not strange, but she puts up with me....thus, she is).
Casio Nova

All rock stars should be this cool! Check it out here. No attitude and all fun. I need this CD! I love the "anyone can do this" attitude and that anything can be musical and cool in the right hands. I LOVE IT!

Wednesday, December 24, 2003

Small Lint

OK, I've been using this at work lately (and on my own code for a little while) and quite frankly, I am amazed at the number of code smells this thing finds. Usually, it points to a bigger problem, but just by looking at a few rules of sloppy programming (and inexperience), it's incredible what it finds. All of the Smalltalk environments that I know have it and I'm going to spend some time this weekend to play with the Dolphin port. Just want to say GOOD WORK! We need more tools like this in Smalltalk! Now, is there an equivalent in Java? I know eclipse has some warnings you can turn on, but nothing to the extent of Small Lint...WOW....=) Chalk this tool as YACST(tm)(Yet Another Cool Smalltalk Tool).
Right On Brother

I gleamed the following from comp.lang.smalltalk. All I got to say is "RIGHT ON BROTHER!" I got tired of doing things the "curly way" and I am much happier. Here's the post:
    From: Nevin Pratt (
    Subject: Re: Smalltalk to J2EE Migration

    Date: 2003-12-23 19:04:16 PST

    Lance Parkington wrote:
    > I could never understand why the UK employers will only fund Java
    > projects. No wonder IT disasters are constantly repeated. I've just
    > spent an entire year migrating an application to Java that took one
    > month in VisualWorks ;-)

    Did you enjoy the work? If not, then why did you do it?

    Yes, I know sometimes we have to put food on the table. After all, my
    wife just had baby #10 last Friday (a beautiful boy), so I know the drill.

    But life is too short for that to always be the answer-- that I did it
    "to put food on the table", or "to pay the mortgage".

    And the same advice goes to every reader of this newsgroup. Work hard
    to get yourselves into a position where you can "just say 'no'" when you
    are asked to take a dead-end boring, unfulfilling job like that. Come
    up with a personal battle plan that will let you eventually put an end
    to doing things like that.

    Lance, if you really did enjoy the work, then I apologize for what I
    just said, and I congratulate you for finding enjoyable work. But I
    know I couldn't have done what you did-- it would have drove me nuts.


Monday, December 15, 2003


This past Friday marked the 2 year anniversary of one of my favorite musicians, Chuck Schuldiner. So, I've been listening to a lot of his music lately. One of the true original voices in metal was lost 2 years ago today. I feel deeply saddened and I wish I could have met him. To simply tell him how much his music meant to me. Chuck's music was getting better with each release and I wonder what he would have released next. His last two albums still get at least one play a month (if not more) from me and are a constant reminder to be true to yourself. Chuck used to say, "Believe in music, not rumors!" How true...=) Just wanted to write a little something in remembrance and to thank Chuck for all of the great music.

Thursday, December 11, 2003

I Want One!

Oh, please, Santa, I want one! This is just too cool! This was announced on the Squeak List via Dan Ingalls:
    We three three elves (Michael, Ian and I) have been busy. We finally made it
    through the challenges of booting Linux from Compact Flash, and I've negotiated
    with my supplier (for weather stations) for a "Squeak PC" configuration at a
    special price. Since it's a cool thing, and seasonally appropriate, I thought
    I'd send out an announcement.

    After unwrapping you get...

    A black box that is just the right size for an LCD display stand
    (1.75"x9"x11.5"). Also a 12v power supply that plugs into the wall. Inside is a
    533MHz VIA Mini-ITX motherboard with 64M of memory installed. There are no
    fans in the box, and it still stays cool. On the front is a slot that accepts a
    compact flash card, which appears to the processor as an IDE disk drive. The
    Squeak PC is shipped with a 96M flash installed which includes 1) A compact
    Linux 2.4 boot system, 2) A full Squeak 3.6 (plus OSProcess and Games) with
    Linux VM, and 3) about 60MB of free space (!). ON the back is a host of
    connectors that include stereo audio in and out, network, 2 USB, RS232, mouse,
    keyboard, display, video and printer port. There's much more about the
    motherboards at

    The unit is complete and ready to boot. All you add is keyboard, mouse and
    display. With no fans and no disk, the only moving parts are the boot button
    and hte electrons. It is silent. The 12v setup is nice, since you can buy a
    UPS for the price of a battery, or power it straight from your car.

    The price is $250.

    The supplier is They make a specialty of Mini-ITX products. Check
    out their web site at
    or jump straight to the order page at
    (The Squeak configuration is at the bottom of the page. If you get the message
    "The identity certificate is invalid", just say OK and proceed).

    The Flash is set up for Squeak but, of course it could be anything else that is
    happy with this Linux. Other squeak images should run fine (you can import them
    via FTP, or a USB memory stick), and other compact Linux-compatible systems
    should run fine as well. Of course you can put in more memory, and use bigger
    Flash or even a hard drive, but we wanted to make the SPC simple and cheap. If
    people get into this, we can start a wiki page with useful info and fun hacks.

    Ho, Ho, Ho...
Bad Idea

I think certification of software engineers is a bad idea. Why do I think so? Maybe because most of the "certified" programmers that I have interviewed have been awful. Certification tests only make sure you've read a book and can memorize. Plus, I don't see software engineering as engineering at all, but as a craft to be mastered. I see myself as a skilled craftsman (well,ok, a journeyman). Would you ask a blacksmith for his certification? NO! You look at his previous work! Why don't we do the same? If software engineering needs to be "reformed", then that's what we should demand! Anyway, I can't believe certification is still talked about, but here is the article that spawned my little spat: Massive Software Engineering Is A Must.

Wednesday, December 10, 2003

Classic Video Games

Cool! Click here to play.
Captain Lo-Res

Remember those cheesy lo-res adventure games? I sure do! Take a walk down nostalgia lane with Captain Lo-Res. Warning: It's hilarious!

Tuesday, December 09, 2003


I was reading an old copy of Keyboard magazine when I ran across an article on "Musical Heroes". The article made a big deal about knowing your heroes and picking them carefully. The point was to challenge the reader to create music that is inspired by your heroes, but not a mere copy. It also challenged the reader to pick unlikely heroes even if they were from different eras. So, what's my point of this post? I think we should pick "technical heroes" and not ones from our era. I could say that Alan Kay, Martin Fowler, and Paul Graham are technical heroes in the same breath that I could mention Alice Cooper,Jean Michel Jarre, Mr. Bungle, Parliament, etc as musical heroes. But, that wouldn't be the whole picture and I believe that there lots to be learned from the past. Musically, I love Esquivel which is not my generation (actually, it's my dad's) and technically the author of "Psychology of Computer Programming". Again, what's my point? Never pick heroes from just your generation. I think a lot of the old technical books hold a tons of valuable information (personnally, I was shocked to read older AI books and find the roots of OO inside, but of course that's old hat to some folks...I'm a youngun, forgive me).

Well, it's not much of a point, but I'm sticking to it...=)

Thursday, December 04, 2003

Whoa - J2EE application suckage

James Robertson posted the following on his blog: Whoa - J2EE application suckage. Sounds like the perfect opportunity to push alternatives doesn't it? I think most of the result of that survey is just plain bad ole architecture, but Java and J2EE don't give developers a lot of good examples to look at do they? And yeah, I agree J2EE for its complexity should DO A LOT MORE. It's complexity is abysmal and we still have better tools for databases in 1994.
Cool Alice Cooper News

Check this out...I guess I know what I want to see when I go to hollywood now:
    ALICE COOPER was honored with a star on the Hollywood Walk of Fame earlier today (Dec. 2). Check out pictures from Wire Image, Celebrity Photo.

    About 300 fans greeted Cooper at the ceremony in front of the Hollywood Roosevelt Hotel on Hollywood Boulevard.

    Cooper, 55, signed autographs and posed for pictures with a fan's pet python around his neck, according to the Associated Press.

    The rocker recounted his early days in Hollywood when he and his band members didn't have enough money to shell out $1.29 for steak and eggs.

    "We would walk over the names of Vincent Price, Boris Karloff and Bela Lugosi, never, ever thinking that our names would ever be on the Walk of Fame," Cooper said. "That is really quite a privilege to be here."

    Cooper's star is the 2,243rd on the Walk of Fame and sits between those of Gene Autry and Hugh Hefner.

    "I promise every time I walk down this street I will polish that little star," Cooper said.
Talking Orbs

Just go and check it out here. Very cool stuff indeed! I keep thinking they would look so pretty in my house! Also, check it the other projects as well (including the "head" midi controller). FUN FUN FUN!

Wednesday, December 03, 2003

Proof Positive That Electronic Music Is Still Alive

Go now and check out AY Riders! I've been listening to both of their CDs non-stop (they are both free and for download)! They are just great fun! Do you remember the Atari 2600 game sounds? Do you remember the Commodore 64? Well, all of these tunes are made by the Atari ST and other computer made from the same sound chip. Very cool stuff! Anyway, I found the band from Micro Music. HAVE FUN! Who says you need thousands of dollars to do good music?

Monday, December 01, 2003

Smalltalk and Lo-fi Do-It-Yourselfers

Maybe it's just me, but I think Smalltalk would be the perfect platform to write custom music applications for all of the lo-fi do-it-yourselfers out there. All you would need to do is hook up to a low level midi and audio interface! Hmmm, I found a couple of open source cross platform libraries already...Now, I just need to get a cracking. I'm thinking Squeak would be excellent for this...=) What better way to introduce Smalltalk to more folks, but to the trackers, 8 bit, and other lo-fi folks out there. My next project is born! I'm thinking something like Buzz, but open source and much more user friendly (of course). I'm not thinking of mimicing trackers, but just provide a library for easier manipulation of music objects....Now, that I think of it, this sounds a lot like Siren doesn't it? Hmmmm...Decisions, decisions...=)

Sunday, November 30, 2003

lowtech music for hightech people

Check out Micro Music. I've always loved the music in the old Atari, Commodore, Apple, Ninetendo, Intellivision, etc games. I bought a SidStation and love it for that reason alone. Well, if you remember I also bought the nanoloop cartridge for the gameboy. I've just recently started playing with it and I love to hear what people do with these devices. Well, I stumbled across the micro music website via MSNBC (it came up in a google search for "gameboy music"). I've been downloading music like crazy! WOW! I feel so inspired. And all of this time, I thought I was alone in my love of 8 bit crunchy madness. The ultimate in electronic music goodness! I'm going to be a very busy boy! Check it out....I've yet to hear a bad composition! A cool on-line community that I can't wait to be a part of!
Seems I'm Not Alone

James Robertson had this to say about Bob Martin's post about debugging. I admit that I totally agree! And no, James, you are not alone!
Am I a Bad Programmer?

I reckon I must be. Bob Martin wrote that Debuggers are a wasteful timesink. I have been doing TDD now for about a month, so I'm no expert nor do I claim to be. I've been trying to do TDD in the programming that I do in my spare time, and I still need and want a good debugger. I use a debugger a lot as an exploratory tool. And while looking at a test sure does help (I would rather have a test than not), I still walk through the code with my debugger when I'm in code that I'm new to. I can't tell you how many programming mishaps I have found this way. Sure, the tests ran, but I found things that weren't quite right. To me, a debugger allows you to see the program as it is alive. Simply looking at code is like looking at something dead and reason how it is when it was alive. I'm not an archealogist, so why guess when I can run the program?

I'm not trying to downplay TDD, but I am amazed that anyone would say that debuggers are bad. I see no problem with being too dependent on them at all. I have found that I am generally using my debugger in new code and when my tests fail. I like TDD because I have a short piece of code that I can execute without running all of the program to find a problem. Thus, it makes debugging a lot shorter and easier. I think the two go hand in hand.

Friday, November 28, 2003

Extreme Computing Festival of Inappropriate Technology

Oh, this sounds like fun! Check it out here. I want to go just for the name of the conference alone. Am I the only one that likes the name?
The Dreams And Schemes Studio Is Operational!

Yeah! I finally got all of my stuff connected up in our new house! I played down there for a long time and I think I'm going to love the new setup!!!!! So, the next plan is to learn the FS1R and start creating music AGAIN!
Great FS1R Resource

I found this and thought it was really cool. I was trying to look for a FS1R editor and came across this page. Lots of information and stuff to download. Looks like I'm going to be a busy boy! I've been waiting to get fully moved in to learn this great synth. Should be a lot of fun....=) Anyway, if you have an FS1R, check out the page!

Thursday, November 27, 2003

I want one

Seems Bob Moog is celebrating 50 years of electronic music excellence. Check it out here. It has got to be the sexiest calendar I've seen in a long time. Maybe one of these days, I will actually own a moog...=) The voyager is one awesome looking and sounding synth! Thank you Bob Moog for giving the world so many wonderful toys of joyful noise!
Funny Post

I got this from the Perpetual Motion Board:
    At New York's Kennedy airport today, an individual later
    discovered to be a public school teacher was arrested
    trying to board a flight while in possession of a ruler, a
    protractor, a setsquare, a slide rule, and a calculator.

    At a morning press conference, Attorney general John
    Ashcroft said he believes the man is a member of the
    notorious al-gebra movement. He is being charged by
    the FBI with carrying weapons of math instruction.

    "Al-gebra is a fearsome cult," Ashcroft said. "They desire
    average solutions by means and extremes, and
    sometimes go off on tangents in a search of absolute
    value. They use secret code names like "x" and "y" and
    refer to themselves as "unknowns", but we have
    determined they belong to a
    common denominator of the axis of medieval with
    coordinates in every country.

    "As the Greek philanderer Isosceles used to say, there
    are 3 sides to every triangle," Ashcroft declared.

    When asked to comment on the arrest, President Bush
    said, "If God had wanted us to have better weapons of
    math instruction, He would have given us more fingers
    and toes. I am gratified that our government has given
    us a sine that it is
    intent on protracting us from these math-dogs who are
    willing to disintegrate us with calculus disregard. Murky
    statisticians love to inflict plane on every sphere of
    influence," the President said, adding: "Under the
    circumferences, we must differentiate their root, make
    our point, and draw the line."

    President Bush warned, "These weapons of math
    instruction have the potential to decimal everything in
    their math on a scalene never before seen unless we
    become exponents of a Higher Power and begin to
    factor-in random facts of vertex."

    Attorney General Ashcroft said, "As our Great Leader
    would say, read my ellipse. Here is one principle he is
    uncertainty of: though they continue to multiply, their
    days are numbered as the hypotenuse tightens around
    their necks."

Tuesday, November 25, 2003

Fun With Javascript

OK, I've decided to make my quote page a little adventurous. Check it out here. The page is completely generated by Javascript and if you are running IE (yeah, I know, bitch, bitch, bitch), you will get an extra special suprise. I have no excuse to this except that I was playing around and got a little carried away. Feel free to look at the source or what have you! My Javascript-fu is becoming strong!
He's BACK!

Finally, got my cable modem talking to my wireless in my new house! I can now proudly walk anywhere in my house and blog! How exciting is that?! Life is getting back to normal. Expect more posts now!

Monday, November 24, 2003

Funny, but true

Great article on security can be found here. Thanks to Sam Griffith for sending it to me. Kind of reminds me that we should always have the user's best interests in mind. And if it conflicts with our personal convictions of what is right, then we still need to choose the user's interests. Great article on usability as well.

We are in our new house and I am one happy boy. I apologize for the lack of posts, but it's been hectic around these parts. I will be blogging more after today because high speed internet comes my way! YIPPEE! I know my wife is happy now too. She did most of the work of getting everything in line.

Tuesday, November 18, 2003

Interesting Article

I just read the following article: 640KB ought to be enough for anyone. The author mainly states the obvious and it's nice to know that MS are trying to make their OS richer, but I was shocked and appalled at the following statement:
    Outside of the PC mainstream, we've seen many sophisticated demonstrations of the power of network effects fundamentally based on client-side object models and dynamic binding of independently-created components. From the power of piped unix commands, to the elegant and incredible sophistication of language-derived Lisp, Smalltalk, and Squeak environments, we know that the power is there to be had. But again, none of these environments has become mainstream - each perhaps having remained niche by drowning in its own idealism.
My first reaction to this is WHAT THE #$%^&?! The only reason Smalltalk and Lisp have not garnered enough support is because of marketing plain and simple. It's easier to move to a C-based syntax language which is what most developers are raised on. Thus, they are most comfortable. People like using things they are used to. Programmers are humans too. Why do we always ignore that? I hate the common assumption that Lisp and Smalltalk failed because of the smug users of both languages. I think it's a cheap cop out. Lisp and Smalltalk are strange beasts. I didn't like Lisp at first because it was different, but I persisted and it has rewarded me over and over. In fact, I program very different today because of my encounters with both languages. I hope this doesn't sound smug or like bad apples. I don't mean it to. I'm proud that there are languages like Lisp and Smalltalk out there. And guess what? There's more of them! I'm glad language designers are out there that want to push the envelope.

Now with that being said, I still think Lisp and Smalltalk may have a long way to go. In fact, they will probably never gain mainstream acceptance. I think the ideas of both will live on and continue to influence future programming languages. I'm fine with that and accept it. if I had a million dollars, I would glady put it behind Smalltalk...=)

Monday, November 17, 2003

Gleamed From The Squeak List

Alan Kay made the following post on the Squeak List and it points to a lot of stuff that I need to look at. The amount of history in this man's head is amazing. Anyway, I thought I'd share:
    --- Alan Kay wrote:
    > Hint: as I mentioned previously, you don't need a
    > method dictionary,
    > classes, inheritance, etc. You don't even need
    > "state" in the way it
    > is usually thought of. The essence is that of
    > communicating computers
    > as looked at from the outside. If you can make the
    > insides look like
    > the outsides "all the way down" then you have
    > something very
    > interesting and powerful.
    > And yes, the original theory of Smalltalk was just
    > this (since even
    > the syntaxes used are definable by interior actions
    > of how the
    > "computers" recognize and receive messages). The
    > interesting and
    > difficult parts here are design decisions about
    > architectural
    > conventions that allow the universal mechanisms to
    > be used with
    > minimal pain and maximum expression and scalability
    > by humans.
    > Each of the 4 Smalltalks in the 70s made different
    > choices (plus the
    > PIE system of Goldstein & Bobrow), and it's a pity
    > that there have
    > been so few experiments since Smalltalk-80 came out
    > of PARC.
    > But check out some of Mark Lentzner's stuff:
    > Codeworks, Wheat, etc.
    > Look at Joe Goguen's ideas about closer analogies to
    > algebras as the
    > interface, etc. Ken Kahn's various designs over the
    > years are
    > extremely interesting. Several of the designs I did
    > after leaving
    > PARC -- Rainbow, and the original Playground (quite
    > different from
    > each other and I'm not sure where either set of
    > papers is anymore) --
    > still seem to be interesting to me. David Reed's
    > NAMOS is the basis
    > of Croquet. And, of course, Andreas Raab's not too
    > far away Tweak
    > design is a *really interesting* set of ideas....
    > However, there have been many interesting ideas over
    > the years that
    > have had little effect because they lacked enough
    > pragmatic reality
    > via great implementations (and certainly vice versa:
    > an incredible
    > number of systems used today have weak ideas but
    > were implemented
    > well enough to spread).
    > Cheers,
    > Alan

Sunday, November 16, 2003

Omaha Is Looking Better and Better

Yesterday, we decided to head out to a local shop called Sonic Highway. The reason for the visit was that the store was listed as an electronic music equipment dealer. So, I had to check it out! The store owner was incredibly nice and showed me all of his toys! He had a super nice studio in the back of the store that had a HUGE DOEPLER modular synth! It was beautiful! He also tempted me with the Jomox Sunsyn (this thing sounds absolutely incredible). I wish I could have stayed longer, but I plan on making many more visits and save my money for a modular. His store even has a nice online presence at Sonic Highway. It's nice to finally have a local electronic music store that I can go and talk shop to. Maybe I'll even meet a few electronic music heads! Omaha is going to be cool place!

Friday, November 14, 2003

FreeRide Is Alive

The much anticipated (at least for me) Ruby IDE is still alive. For some odd reason, I used to have an old URL that didn't work anymore and thought the project was dead. Well, it's not and downloaded the latest from this site. It seems the debugger is now hooked up for windows (I didn't verify that, but the button is there!) And while you are downloading, poke around the entire Ruby Forge site. It's very cool. I think all of the Smalltalk's need something like this. Squeak has SqueakMap and VW has one. But, it would be nice to have one for VA and Dolphin. If there is one, let me know!

Wednesday, November 12, 2003


Nice idea. Sign up now...I want to meet more Smalltalkers!
Squeak People

It seems some folks have started a Squeak advocacy site for the people involved with it. It seems a lot of the heavy hitters are there and I was just browsing around tonight. I don't have the muster to join it yet. I just don't feel like I'm a part of the community yet. I know I've done the Java Serialization and worked with the SBlog challenge...But, I'm not finished with the Java Serialization framework yet and well, I wasn't able to help finish with the SBlog stuff. I just see myself as a Squeak newbie and not worthy of being listed with the awesome fire power already up there. I'm just a mere mortal.
I Hate Keanu Reeves

Ok, not only does he get to star in one of the coolest movies all time (River's Edge) along side Dennis Hopper, but my wife tells me that Alice Cooper used to be his baby sitter! Can you believe that?! Some people have all of the luck...
Cool SmallBlog User

Check it out here. It seems somebody is using the SBlog code! We've recently renamed the SBlog project from SBlogLite to just SmallBlog. I spent sometime with the code this weekend and look forward to adding to the code base. Go check out this blog, it's all Squeak and Seaside. Very cool. It's also cool because it looks so stylish...=)
New Dream Theater

I got the new Dream Theater yesterday and always they have given me another excellent album. I've only been a fan since "Scenes From A Memory", but the albums keep getting better. I wasn't ready for the amount of agression on this one, but I like it. You can never accuse Dream Theater of repeating themselves and this album keeps up with that tradition. Lot os thrash and full on metal is what this album is about. It sounds like they wanted to prove that they could really rock out and show their metal roots. I guess they didn't kindly to the comments of their previous album being too soft (which I heard, but didn't agree with). I would have liked some more softer parts, but I still hve a lot of listening to it with it. But, so far, so kick ass!
Panera Bread Is My Poo List

Now, you might ask why. Good question! They recently took away my favorite bagel: the peanut butter banana crunch. It was one of my reward foods. Bastards! Oh well, at least I still have the apple bagel. But, the peanut butter bagel was the bomb! Oh well, I thought about protesting and then, realized there's better things to protest...=)

Monday, November 10, 2003

Pictures Of Our New House

Check them out here and select the photos menu and then, select new house. Only 2 more weeks before closing! YIPPEE!!!
Happy Happy Weekend

I had a really good weekend! It's been a long time since I just lost myself in having fun. It felt great. I got to do a little bit of everything: spent a lot of time with my lovely wife, read, wrote some code, and played with and learned my XL-7. I feel refreshed and ready to kick some booty this morning!

Saturday, November 08, 2003

Object Prevalence

I found this page. I got to it by reading Bill Clementson's excellent blog. The idea sounds crazy, but it seems Klaus Wuestefeld has thrown out our ideas of databases out the window and started over. His idea is simply: Why mess with RDMSs at all? They are complicated and too big of a tool for most systems. His solution is to keep objects in memory taking snapshots and keeping a log of changes to the objects. Now, what does that sound like? It sounds just like a Smalltalk/Lisp image to me! It seems he's an ex-Smalltalker that took the idea of images to the Java masses. The idea seems crazy to the Java developers and I must admit that I never thought of taking images to a much higher level! Now, what would be really cool would be to extend this idea and allow code changes in your logs. This takes out a lot of the pain out of conversions and putting in new code.

So, this idea gives us faster systems, more realibity (less code to mess up in persistence layers), and most importantly: SIMPLICITY. This is the best example I've seen of doing "the simplest possible thing"!

Friday, November 07, 2003


Just got back from watching "Elf" and it was a hilarious show! The best funk movie I've seen in ages. I wish I could be more like Buddy The Elf in my life. All he wanted was to bring joy to everyone. Great message and a great movie without being too cutsie or anything....So, my goal is to spread cheer no matter if people look at you funny while you're doing it. If we could just be like Buddy, the world would be so much better.

Thursday, November 06, 2003

Worth another read

I read this a long time ago, but a co-worker printed it out and I was reading it again. I think it's a great article written by Martin Fowler. Check it out: Is Design Dead? This article does a great job of explaining how XP and design should go hand in hand. One does not sacrifice the other. Someday I hope I can explain things as clearly as Mr. Fowler!
Is Java Dead?

James Robertson links to an article that asks the question: Is Java Dead? Pretty interesting article...=)
Matrix: Revolutions

I saw the new Matrix last night and visually, it was a breath-taking experience. I always thought all of the Matrixes were high on action and visuals and short on everything else. I enjoyed it, but I thought the story could have been a lot better. In fact, I think they should have quit after the first one. The story was kind of cool and the visuals were state of the art and innovative. Oh well...=) At least, I got the new Lord of The Rings to look forward to (which I didn't get excited about until after the second one)!
15 Days Till Closing

Alright, it's 15 days until I close on my new house. I'm so excited! If you'd like to see some pictures, my wife has some at her blog. My dog will finally have a backyard and I will have a basement for musical and programming madness. I got to think of a cool name, maybe "Kickapoo Joy Labs"? It has a nice ring to it don't you thinks? MOHAHAHAHA!

Wednesday, November 05, 2003

Acyclic Visitor

OK, I was reading "Agile Software Development" again and I came across this pattern. I had never heard of it before so it peaked my interest. I have a love/hate relationship with the GoF Visitor pattern. I love it because it helps separate out responsibilities (an object doesn't need to know how to display itself on 4 different displays, it just needs to accept a visitor). But, I hate it since it's so brittle to object structure changes. Well, the acyclic visitor pattern removes my hate! But, the solution in the book is U-G-L-Y. Here's the Java code:
    public void accept(SomeVisitor aVisitor) {
      SpecificVisitor v=(SpecificVisitor)aVisitor;
      try {
      } catch (ClassCastException ex) {
        //no nothing eat the exception

I don't know about you, but to put this code in every object that needs the visitor is yucky. Not only that, but the code requires you to have a different interface for each object and that's even more yucky! It means I will have a lot of interfaces with one method just to get around the static typing system! GROSS! But, all is not lost. If Java implemented a Does Not Understand method, then the solution would become elegant again! Smalltalk has exactly this and it's something I wish Java would have (the proxy objects are getting close). Here's the Smalltalk code:
    SpecificObject>>accept: aVisitor
      aVisitor visitSpecificObject: self

Now, you might ask where is the code if the message is not understood?! You have implemented the plain ole vanilla visitor pattern and the hate is back! Hold on, along with all of the other visit methods, here's one method that I add in to the visitor:
    Visitor>>doesNotUnderstand: aMessage
      ^(aMessage selector beginsWith: 'visit')
        ifTrue: [self "do nothing"]
        ifFalse: [super doesNotUnderstand: aMessage]

We have moved the responsibility of checking if we understand the message from each object that accepts visitors to the actual visitor! We only need to implement the checking in one place. This makes acyclic visitor much more attractive! Now, I do not support unchecked use of doesNotUnderstand:, but when you need it, YOU NEED IT! I thought this was a powerful and simple demonstration of the doesNotUnderstand: message. And I now have a new trick in my bag.

Monday, November 03, 2003

Fool Me Once...

Here's an excerpt from Robert Martin's "Agile Software Development" that resonated with me:
    There is an old saying: "Fool me once, shame on you. Fool me twice, shame on me." This is a powerful attitude in software design. To keep from loading our software with Needless Complexity, we may permit ourselves to be fooled once. This means we initially write our code expecting it not to change. When a change occurs, we implement the abstractions that protect us from future changes of that kind. In short, we take the first bullet, and then we make sure we are protected from any more bullets coming from that gun.
Basically, this goes to the "Do The Simplest Thing Possible" principle of XP. I've heard and read this mantra several times. Now, I like the sentiment, but it's hard to turn off that voice in your head that's going: "Put that hook in because you might need to do X, Y, or Z." It's very tempting to put the hooks in because it's been drilled in your head. So, I have been trying my damnest to do "the simplest possible thing". This has even meant that I have tried programming without accessors for all of my instance variables. But, I was wondering what happens when something does change. After reading the above passage, I got it. Don't design for that hook until you NEED IT. In other words, don't code for change until it happens!
Free Time Adjustment

This might seem strange, but I'm having a very hard time adjusting to free time. You see, I had no free time in my previous job and I was working all of the time. Now, that might seem like I'm being over dramatic, but I'm not. It just seems weird to be adjusting. I love my free time, but I can't get into a groove with it yet. I feel guilty for not working. I feel like a junkie recovering from a drug overdose or something. Just thought I share. I'm hoping its just being between places and all that. It's going to suck to still be like this when I move into my new place....=)

Sunday, November 02, 2003

John McIntosh's OOPSLA 2003 Trip Report

Check out John McIntosh's OOPSLA Trip Report. Sounds like it was a lot of fun. Stephen Wessels was telling me various stories about the proceedings. My favorite is David Ungar's comment when asked, "Why is Java and C++ so popular?" from an audience member after he had given a talk about Self...He simply replied, "Why do so many people smoke tobacco? Marketing!" Don't quote me on that or Steve. But, I think that is the jest of it. Excellent....=) Anyway, I'll post more links as I find them...=) I hope to go to a Camp Smalltalk next year!
Traits and Multiple Inheritance

Multiple inheritance...A topic that makes my skin literally crawl! So, when I had two friends of mine tell me that traits smelled like multiple inheritance, I wondered why I didn't consider it to be. I think the reason is that traits are like Java interface classes, but with the ability to add behavior that is shared. Traits require the class using it to implement a certain number of methods that the trait needs. Traits provide a contract that the user of such must adhere to in order to get the behavior of the trait. In multiple inheritance, you're also getting state of the other class and it just feels more heavy weight. I imagine traits as lightweight objects that can be attached to your heavyweight class. The only problem I see is method clashes, but you could require the class using the trait to resolve that. I'm still looking into the issue myself (Hell, I've even been playing around with not using getters/setters all of the time) to see if they make sense. So far, I still like them (and I still like getters/setters for all instance variables--just mark them all private or protected in Java)!
Dial-Up Stinks

Dial-up connections are killing my want of browsing the internet lately. I can't wait to get to our new house for high speed internet again! Oh well, enough of my fussing...=)

Thursday, October 30, 2003

Article On Using Traits On Smalltalk's Collection Classes

If you don't know what traits are, read this excellent article. It's a great introduction to them and provides an example on how (and ultimately why) to use them. Basically, they are an elegant solution to the inheritance problem. I generally tend to favor composition over inheritance, but traits allow you to have your composition with the convience that inheritance gives you. It's amazingly simple and makes perfect sense. Much like most good technology, you don't have to think too hard about it. Go read the article and prepare yourself to say, "WOW!" There is a package on SqueakMap with a simple implementation of traits in Squeak. I also think traits would be pretty easy to implement in JavaScript and Ruby. Yet another reason to pick dynamic languages, they change to you and not the other way around...=)

Wednesday, October 29, 2003

Java Serialization: New Version

No new functionality....Just tests so you can start playing with it. The tests are functional and end-to-end. I'll be writing some unit tests soon. Check it out here for now on Squeak Map.

Tuesday, October 28, 2003

Code Smell

I just finished reading "Test-Driver Development By Example" by Kent Beck and it got me to thinking about code smell. In the book, Mr. Beck pounds the idea of test first and then remove duplication into your head. It's almost becomes like a mantra. In fact, the thought of no duplication is also the first bullet point in "The Pragmatic Programmer" and in several other books. Duplication is bad. In fact, I use duplication as a litmus test for "code smell" (I can't remember who coined this phrase, sorry!). Well, it got me thinking of what other things show code smell? I wanted to have to come up with a short list , a bare essentials if you will and I think there are only two to try to aspire to in object-oriented programming! They are no duplication (shocker, right?) and the law of demeter (read the pragmatic programmer or Smalltalk with Style for more information). If you keep these two in check, I think your code will be incredibly clean and easily maintainable for starters. Now, this might seem overetly simplistic, but it's the way you solve "code smell" to achieve these two goals that is the challenge. I wanted a nice easy to remember set of rules to guide me when I need to refactor and that I could give to fellow developers on my team. I wanted it small. Now, I'm trying my experiment out right now, so I might add to it (but, I don't want to). Test first, remove duplication, and reduce across object sends in that order. It doesn't get much easier now does it? I'll update everybody on how it works out.
ALICE COOPER To Host 'Rats, Bats and Bugs' On The History Channel

I pulled the following from Blabbermouth (Does anyone have the History Channel? And yet another NEW ALICE SOON!):
    Alice Cooper has provided narration for a three-part series, called "Rats, Bats and Bugs", which premiered Monday night (Oct. 27) on The History Channel.

    Cooper's segments were taped in the cloister of Palmer Hall, a locale picked for being "very gothic looking," according to Jennifer Mann, manager of program publicity at The History Channel. "They're setting it up to look like his living room," she said.

    Mann said Memphis was chosen out of convenience since it's close to a recent Alice Cooper concert date at the Horseshoe Casino in Robinsonville, Miss. He's on tour promoting his new album, "The Eyes of Alice Cooper", on Eagle Records.

    Airing consecutively, the three one-hour shows "Rats, Bats and Bugs" look at both the myths and realities of these creatures, from their ill-gotten reputations to their applications in developing technologies.

    On November 18, Eagle Rock Entertainment will release A Special Edition CD & DVD packaged together from Alice Cooper, entitled "Brutality Live".

    "Rats, Bats and Bugs" remaining air times:

    Oct. 28: 11:00 p.m.-12:00 a.m.
    Oct. 29: 11:00 p.m.-12:00 a.m.
    Oct. 30: 11:00 p.m.-12:00 a.m.
    Oct. 31: 7:00-8:00 p.m. & 11:00 p.m.-12:00 a.m.
    Nov. 02: 10:00 a.m.–12:00 p.m.

Sunday, October 26, 2003

Hartford Send Off Pictures

Check out Kathy Barrett's pictures of the event here. It's just a simple web page to show the pictures that I put up. Just click on the picture to get to the next one. The first set of pictures are of the evening send off and the last set is a collection of almost everyone I worked with and some humorous pictures of my last day at work. Fun stuff! Kathy Barrett was kind enough to take all of the pictures and have her camera tortured (I'm surprised, I didn't break it iwht my ugly mug).
SBlog Challenge DONE!

WOW! Check it out here! Great work guys! I hate that I couldn't be there for the end, but oh well...I can't wait to look at the code and see how it all works! GREAT JOB GUYS! It was great to be a part in the beginning and I really hate that I couldn't be there for the finish! SQUEAK ON!

Saturday, October 25, 2003

The Quill

If you ask yourself what ever happened to real ROCK bands? Well, look no further than Sweden's The Quill. I just got their new album, "Hooray! It's a Deathtrip!" and it's rare to get a disc that rocks this hard. It's just 4 dudes blasting out pure rock with their amps all the way up. The singer is simply amazing and the band is incredibly tight. The guitarist plays solos that actually propel the song further rather than being showy. This is the way rock used to be in the 70's and that everyone forgot in the 80's. Man, this stuff just rocks! The new Alice rocks hard too. Maybe real rock is coming back, huh? Anyway, check these guys out and while you're at it, get the Mars Volta disc too!
My First Week At My New Job

Well, I completed my first week at work and I must say that I am overwhelmed! The environment is so different than anything I have experienced in my life. It's really cool. The team is self-managed and they take the business of XP seriously. So far, it's taking some adjustments from me, but I entered into this like a curious cat. I had read a lot of the books on XP and thought it was the right way to go, but now I am sold completely. The only things I miss so far is time to "flow" (deep thought) and listening to music. It's a lot to take in, but I am so excited! It seems everything is fitting together perfectly here. Who would have thought that I would find happiness in my work in Nebraska?! It's nice to be part of a company that cares for your well-being and happiness. I keep pinching myself wondering when I'm going to wake up! I didn't know places like this existed!
Toys Are Setup And Ready To Go

Now, I can't wait to start playing. I plan on spending some quality time with my FS1R. I'm sure more love will be shown once I learn to program it....=)

Thursday, October 23, 2003

So, Why Did You Leave Java?

I've been asked this question a lot lately and mostly from Java developers. The question is never asked in a deragatory manner. The questioner usually has a quizzed looked on their face (like WHY would you leave Java?). Now, my smart ass answer has been, "Because I hated typing!" I like this answer because it has double meanings. I'll leave it as an exercise to our readers to figure it out...=) But, today, I didn't want to give a smart ass answer. Now, I know why Java developers ask the question. It's not because they think their language is better, but they think I'm taking a step down by working with a less popular language. Why do I think this? Well, usually, it's one of the questions they ask in our conversation like "Don't you think you're limiting your career opportunities?" I answer this with a resounding HELL NO! Smalltalk has always enjoyed a small tight community that I love dearly. I'm proud to be part of a smaller community. It sets you apart from the crowd. Being a Java developer is like being one of the millions. Does this mean I would still love Smalltalk if it got popular? My answer would be @#$%& YES! I choose my language on what I am most effective in and find wonderment in. I went back to Smalltalk again because I am more effective in it that Java. I never have to think about the language, only the problem at hand. In Java, I was always forced into thinking about the language with its many shackles to prevent you from hurting yourself. I like being free. I guess it amounts to that I found a really cool group of people to work with. They love to have fun and look at things a little differently. They are an XP team and I've been curious about the whole thing for a long time. I even tried some of things at different places I've worked. They take XP all of the way! I think I would have still come here even if they had been doing another dynamic language (like Ruby or Lisp). And I do stress the dynamic language part. I'm done with static typing! At this point, in my career, I want to solve problems and have fun. Smalltalk allows me to do that with its awesome environment. OK, enough gushing about Smalltalk for now...=)

Wednesday, October 22, 2003

SBlog Challenge

I ended my involvement in the SBlog Challenge by Jim Benson. It was great working with everyone involved! I learned a bunch of stuff like CSS and Seaside in a very short amount of time. It was cool getting almost immediate feedback on how to use Seaside by its creator, Avi Bryant. I made several new squeaky friends as well (Mark and Edgar)! I hope we can work on something together in the future (maybe another squeak challenge). With that said, SBlog was a unique experience. By that, I have never worked in a team where no one had ever met before in person. It was also different in that people worked on the code at different times and there were only a few instances when we coding at the same time. One of the major hurdles that we faced was simply: communication. We sent a lot of emails, but the lower level details of intention and design were missed. We all knew we wanted to write a blog, but each of us looked at the problem differently from different angles. Perfectly normal in my opinion. But, since we were working at different times and communicating via email, the code was pulled in different directions at different times. We dealt with the problems as soon as they arose, but still some things slipped by. Again, nothing out of the ordinary on an ordinary project. I think if we had more time, these would not have been problems going forward. But, we're magnified by the short amount of time (2 weeks). Despite these problems, I'm still amazed at what we accomplished in such a compressed amount of time! The rest of the team is still finishing the code this week. I had to bow out because I'm trying to buy a house this week (my first!) and getting to know my way around the new planet of Nebreska. I wish all of the SBlog team the best...=)
Theremin Jealousy

A new co-worker of mine told me that they owned a real theremin! I must admit I have everything but the real thing (every other kind of hands free instrument). I've been fascinated with them since I saw my first one at a friend's house. They are really neat instruments! So, I am resolving to finally get the real thing. I think it will be the first new toy that I buy to put in my new house (when I buy that). Did I mention how jealous I am? Theremins are cool plain and simple. Of course, the thing in my mind is why did I buy all of the instruments that are like a theremin, but never the real thing? The mind boggles....=)

Tuesday, October 21, 2003

Test-Driven Development By Example

OK, I started this book last night and I'm already half way through because it's so easy to read! What a wonderful little book. I was reluctant to buy it because of "by example", but I love Kent Beck's writing style. So, I said what the hell and bought it. I'm learning quite a bit. I always thought the xUnit stuff was common sense, but I'm starting to realize I didn't see the whole picture. I can't wait to get home tonight and try a lot of the adivce on my own projects (including SBlog). Anyway, a very entertaining book and worthy a read. I'll talk more about it once I finish it....=)
Corporate Values

Why do companies have core values? They are always exactly the same from company to company. They basically iterate common sense that you knew already. It just seems to me that it should go without saying that you should have integrity as an employee and to make the company profitable (I mean you are being hired to help make the company, right?). But, maybe I'm missing something here...Do people need to have common sense reiterated to them? I wonder...Maybe corporate values are like the warning labels on products. They are there because someone before you already tried what the warning said not to do. Oh well, that's my thought for the morning.

Monday, October 20, 2003

Freddie Mercury Paintings

Here is a gallery of Freddie Mercury's paintings. Not only was he one of the most talented singers to grace this planet and a true showman, but apparently he was a darn good painter too. Check it out! And make sure to dust off "Jazz" or "Night At The Opera" while you do...=)

Sunday, October 19, 2003

Lessons From Funk

Since I have been listening to Funk, it amazes me that I stumble over the same lessons it teaches. I can't tell you how many times I've read to accept the imperfections of human kind, to have fun at work, to smile in the face of adversity, and to be one with the universe. These are the things that funk teaches. In fact, it's the thing that drew me initially to funk. Listening to funk is like being cleansed of all negativity in this world. It allows me to laugh at the Sir Noses of the world (the antongonist in the Parliament albums that refuses to dance). There's also a deep spirtual connection to the world of funk that simply resonates within me. It acknowledges human kind as imperfect. Perhaps, funk embodies the things that I want to be and embrace in others. It also teaches you that dancing is a good and cathartic way of casting out your demons. I think George Clinton and Larry Graham will never know what they have meant to me. I hope to one day meet them and express it to them. Their messages changed my life when I was feeling particularly beat up, and gave me the strength to push further (along with my wife, who takes great glee to tell me when I am not being "funky"). So, when I'm feeling particularly negative, out comes the funk records. They make me smile and put me in my happy place in the universe. They always teach to put more good in the world and take out the bad. be a positive force in this world instead of a negative one. I always come back to a quote from a Funkadelic record, "Good thoughts bear good fruit. Bullshit thoughts rot your meat." Amen, George! FUNK ON! If you want to try out some funk, go buy these records right now: "Motor Booty Affair"-Parliament, "Take It To The Stage"-Funkadelic, "Release Yourself"-Graham Central Station, or "Dance To The Music"-Sly And The Family Stone.
The Seven Radical Rules For Business Success

I got these 7 rules from the book, "The Corporate Mystic" by Hendricks and Ludeman. It's an excellent book that was suggested to me through my friend, Steve Wessels. It's a quick and easy read that will enlighten you. It really hit home a lot of the things that I have been valuing at the present. But, it also made think a lot about my shortcomings. I have vowed to overcome them and become a "mystic". Just go read the book! Here's the 7 radical rules for business success (I think they are rules for success period. End of story!) along with my comments:
  1. Tell the truth and be truthful.This means not only to other people, but to yourself as well. I have been striving to do this in my last job and sometimes it does get hard. The reason why is because at the core of my being, I am a people pleaser. I don't like to hurt people's feelings and it's something that I am constantly wrangling with. I'm working to overcome this shortcoming of myself.

  2. Take 100% responsibility. Nothing more, nothing less. I've never had a problem taking 100% responsibility. But, I'm guilty of taking more of my share. Again, I am guilty because of my people pleaser personality and I let people walk over me and not take their share of responsibility. I will take my share and let everyone do the same.

  3. Honor all agreements you make. I have never had a problem with this one at all. I am big on being on time and honoring what you say you will do. Do what you say! It's one of the things I tell people about myself. It's one of things that was pounded into my head by my father, his mother, my mother, and everyone in my family.

  4. Never gossip. This is a hard one. I keep telling myself not to get caught in this web and this is one of my biggest faults. It's just so damn easy to fall into it. It's especially easy to fall into when you are in a death march. I will strive, no I will never gossip again.

  5. Set aside creative time everyday. I never do this consistently. At my last job, I tried to walk everyday around the complex to clear my mind. I always came up with the best ideas on these sessions. Sadly, I never demanded them, but took them when I could. They were intoxicating and fun. I now know that I should demand them and expect nothing less.

  6. Make a to-do list and do the least desirable items first. I like to procrastinate and push off the stuff I hate doing. But, in my last job, I did make a to-do list, but it was the stuff that I hated doing (like time sheets, status updates, and documentation). And I would not leave that day until everything on that list was finished. It kept me on track. But, it's something that I have to work on.

  7. Go to your source. Listen to your inner voice. Basically, if something feels wrong, find out why. I silence this voice a lot and I know I should let them speak up now. There's a lot of situations that I have run into where I tried to squelch this voice and things turned out wrongly. I should listen to it and take its advice.

I think all 7 of these rules are great ones to not only be successful with, but to live by. Expect nothing less of yourself or others. I know I no longer will!
The Mothership Has Landed!

After a beautiful journey through the middle of the universe, we have landed on planet Alto Dorado! Tomorrow will be my first day to visit the city of Dynamica and it should be A LOT OF FUN! The journey here was quite nice and uneventful (thank goodness). I got a lot of reading in (almost finished with the "Corporate Mystic"!). Tonight it will be relaxing at the new pod and enjoying some good local vittles (I wonder what they eat here...I think it's called a cow and corn). Now, where is my high speed internet connection? This dial-up stuff is for the birds...=)

Saturday, October 18, 2003

Second Day On The Move

WOW! What a gorgous day! Today's ride was a lot smoother and a bit warmer. The weather was cloudy when we started, but around noon, the sun broke through for the rest of the day. It was a nice relaxing drive. I finished Richard Gabriel's "Patterns Of Sotfware". There's a lot of things in that made me question some my beliefs and that's always a good thing. I can't say that agreed with everything (Smalltalk take mathematical sophistication, but C does not? I would think the reverse to be true, but that's another discussion for another entry!), but it was a good read. So,I started a new book, "The Corporate Mystic" and so far it's a GREAT READ! I love it....But, we'll see how it goes...=) Tomorrow's drive should be somewhat short and we will be in our new surroundings....A new town to explore and new people to meet! I can't wait!
Almost Forgot...I Left 50 pounds in Connecticut!

Yep, you heard that right! I made my 50 pound goal at weight watchers (No, I'm not at goal yet)! I wanted to make it before I left Connecticut. The cool thing is that I went jean shopping before I left (my new company allows one to wear jeans) and was suprised to find out that I now wear a 36 (I used to be a 44)!!! How cool is that?!!!! My nex goal is 75 pounds and that will put me at my goal weight of 174!!! I can already feel a huge difference in myself and I can't wait to get to goal! It's going to feel great! But, as you all know...I am a lifer at weight watchers...I will do it for the rest of my life...Not a bad proposition, I'd rather live longer...=)

Friday, October 17, 2003

First Day On The Move

I'm writing this from the hotel room and it's from a dial-up. Yucky! The trip thus far has been really cool and pretty! The movers came yesterday and took all of our stuff and we spent last night and this morning cleaning the old apartment. It was a welcome change to hit the open road. Most of the way was nice with a few showers here and there. 8 hours is just about right to be in the car. Anyway, I'm writing this from my wife's computer from Pennsylvania. Tomorrow night we will be in Illinois and after that, NEBRASKA (Hey, I spelled it right this time!). Well, I'm tired...over and out!

Thursday, October 16, 2003

The Movers Are Coming

I'm sitting on my last bit of furniture to type in one more blog entry before the movers are here and we're on our way to Nebreska. We officially start off tomorrow, but today is going to be dealing with the movers, running errands around, and visiting with friends one last time. I finished up with SBlog last night and I hope to catch up with those guys sometime next week. I lose my cable modem today so expect a lot of emails fussing about how bad dial-up is, though I might try my hand at the wireless thing. Anyway, until I can connect to the internet again....Blog to ya later!

Wednesday, October 15, 2003

Oh, You Have Much Left To Learn Grasshopper!

Being a part of the SBlog team thus far has been a lot of fun and I've been learning tons of new things (mainly Seaside and CSS, but also using new applicaions like Monticello, etc). It's been a long time since I played the role of student and I like it. I'm always in a constant state of learning, but it's rare that I get to have someone teach me. It's been a nice turnaround for a change. I've purposely forced myself with this project to do things I wouldn't normally do as well. I think this made me question a lot of what I do. I've found out a lot things from that. Plus, it's great being on a team and throwing around ideas. I love that part of it. I wake up every morning excited to see what the application looks like and what problems were found (usually in my code). I still feel like I'm just touching the tip of the iceberg with Seaside,but I am amazed how much I can do with such little knowledge. It's a testament to its ease of use and power. OK, I'm back off to SBlog land...=)
Structure and Interpretation of Computer Programming Online!

I just got this email from a friend of mine. It also has lectures. Cool...Now, I have something to do when I get to Nebreska! I read SICP ealier this year and loved it (it was one of the eye openers for Lisp/Scheme) and now I can't wait to see the lectures! What fun! Anyway, here's his email with all of the info:
    > Hello all,
    > I wanted to send this link to some very, very good information. The SICP
    > (Structure and Interpretation of Computer Science) book is one of the most
    > respected and useful books on computer science. This page provides a link to
    > the free online version of the book and to lecture videos that are give by the
    > authors each semester at MIT. We are very lucky to have these online for
    > everyone to learn from.
    > Sam

Tuesday, October 14, 2003

Love on the Seaside

I'm feeling a little gushy today. I've been using Seaside for every bit of 2 days now and I added major functionality to the SBlog challenge today. To say that I am amazed is putting it mildly. What I did today would have taken me hundereds of lines of Java/Struts code (not to mention all of the damn config files I would have had to change) instead it only took a few lines of Smalltalk. Now, most of this power was from the Seaside framework and how it operates. But, still it coupled with Smalltalk is unstoppable!!!! I'm completely sold on continuation web frameworks now (not that I wasn't before). The code is more concise and makes more sense. It's been an absolute pleasure to work with web services again. I'm also amazed at what I have been able to do in just a few days of knowing the framework. It's butt simple! Oh well, I just wanted to write about how blown away I have been. As a side note, I've only had to stop the web server once since I started it (and it was because of a mistake I made)! Of course, to restart the web server takes 1 second (I kid you not...try that with tomcat or apache). I've been changing the code while the server is running with no special cases or what have you (try that in Java...Yeah, I know about hot swap--it only works for simple method changes). AWESOME! GO SMALLTALK!
The SBlog Challenge Update

In between moving and catching up on sleep, I've been paticipating the SBlog challenge. It's been pretty fun so far. I've finally taken the time to learn both Seaside and CSS. I must admit that CSS is very simple. As for Seaside, I amazed by its simplicity as well, but it is very powerful! I amazed what I can do in one line of code that would have taken 100+ lines of Java code (BTW, if you don't know Seaside is written in Smalltalk). I love Seaside thus far. I'm still learning though...=) Jim Benson has been kind enough to post a progress report on what we've done thus far. ENJOY!

Monday, October 13, 2003

Why blogs are cool...

Since I started my blog, I've hooked up with old friends, made several new friends, and have been shocked as to who actually reads it. It simply amazes me. I'm slowly improving my writing skills while I'm doing this as well. I actually now read my entries before I post them. When I started, I would just let them fly. I've realized my mind works faster than my fingers...=) Anyway, I've been shocked by the response and by all of the kind emails. It's really cool! Here's to more blogging in the future!
Moving Sucks

I hate packing up my stuff. Period. End Of Story. Maybe this move, we'll be able to stay for a little while and I'll have time to play with all of my toys. It sucks to put your toys up and know that you didn't play with them enough. I don't know what sucks worse: working all of the time or moving. I'll be glad when we get there....And then, the fun starts...Looking for our first house!

Sunday, October 12, 2003

A Good Architect

I've been thinking about this topic lately, "What makes a good architect?" I've experienced my fair share of bad architects as I am sure everyone else has. And the thing that I keep coming back to is that the bad ones are lacking simply: an egoless personality. Now, I stole the term "egoless" from "The Pyschology Of Computer Programming", but I think it fits for both programmers and architects as well (they should be one and the same actually). An architect should not be afraid to NOT be called an architect and she should not care about the title she has. I think a good architect like a good manager is a nurturer. They nurture ideas and let everyone contribute to the software goal. This also means that an architect must be able to teach as well. The ultimate goal should be to bring everyone up to the level of the architect. Information hiding or doing complicated things for the sake of doing of them to boost your ego is WRONG. An architect should design at the level of his team. What good is a design if no one understands it? If you as the architect come up with a design and no one understands it, you have two options. The first is to teach everyone and explain it until everyone does. The second option is to do a design that everyone understands right now with 1-2 new ideas. The outcome should be the same. It all depends on how much time you have. I actually like option two. I think on any one project, you should only introduce 1 or 2 new concepts to the team. Everything else should be familiar. This way you are pushing everyone forward (and maybe even yourself) because you are trying out something different, but everyone still has enough footing in the familiar to be effective. This grows the knowledge and experience of the team. Eventually, it will not be a matter of bringing everyone up to speed, because they will already be there! I love this sort of team building. Just remember the architect should never always be doing the "cool" stuff. I've run into too many architects that only want to do the "cool" stuff and leave the boring stuff to everyone else. Again, this is wrong. Let everyone else do something cool too...=) Help them along the way and bestow your knowledge on them through teaching an example. Let the ego go and watch the team become unstoppable. Soon, there will be no need for an architect because everyone on the team is one. Think of it this way, your job is to work yourself out of a job. You should eventually just be one of the team.

Saturday, October 11, 2003

The Ultimate Send-Off

Yesterday was my last day at TheHartford (what did you really think the mothership had come from's an attitude...=) Go get funky with your bad self!) and everyone that I had worked with came by to wish me well in my new endeavors. It was very kind and meant a lot to me. I was also given a pig with a sign that said, "Omaha or Bust". VERY CUTE! Later in the evening, a guitarist was playing at Black Eyed Sally's, Eric Sardinas, that Rusty liked so we all decided to meet up there for an dinner party. Well, Rusty drove me down and then proceeded to take a HUGE BOX out of the car. So, I've been seeing everyone whispering around me and I knew something was up! I thought I was going to get a good roasting, but instead the box was full of goodies! In big letters on the box are the words: "Ohmaha Survival Kit" and that was the theme. Rusty had too much fun explaining what each item meant with great vigor. I was laughing too hard! It was GREAT! The grand finale was a huge Alice Cooper doll (50in)!!! Very cool. The survival kit had a toy tracter (so, I knew what one looked like), cow (again, so I would know), shit and a can of shine-ola (so, I would know the difference...It's a saying I've been using since I heard it on the Lynyrd Skynyrd album and remembering my grandfather using the saying, "they wouldn't know the difference bettween shit or shine-ola!!" Oh well, it's southern thing...I guess), flying batman (well, something's gotta keep me busy), Alan Jackson and Celine Delion's latest albums (so, I can fit in), cow tails candy, and finally, KISS bobble heads (cos you just gotta have them!). Rusty and everyone then presented me with a card that they all signed wishing me well. I almost cried when I read what everyone had signed in it especially, Rusty's (i'm going to miss ya bud!). Everyone was so gracious and thanked me for everything they had learned from me (I'm wondering what they did learn...hmmm, I'm hoping it was good...In all honesty, I learned more from them).

I would just like to say that I've never had a send off like that before. The whole day was great. It warms my heart knowing that I made a difference and I love everyone there! I'M GOING TO MISS EACH ONE OF YOU! Kathy took pictures of the whole day so I could remember it and I will post them as soon as I get them!

GOOD-BYE HARTFORD! And I love you guys and gals! Hopefully, we'll meet up again sometime in the future! FUNK ON!
Yummy Musical Madness

Markus Gaelli posted the following to the Squeak list. This sounds like a lot of fun (pun intended, yeah I was bad). Enjoy!
    From the preamble:

    A prealpha version of a port of musinum, a fractal music generator from Lars Kindermann.
    See (in any case...)

    Try MusinumPlayer base2
    MusinumPlayer base2base3
    MusinumPlayer random3to7
    MusinumPlayer randomPercussion

    Right now you have to manually interrupt with Apple/. or Alt/.
    and then say

    MusinumPlayer reset

    So it is an euphemism to say that there is no user interface,
    but I still found it interesting enough to dare a first release.
    You have been warned...
    License is MIT.

    have fun,

Performance Review

My wife sent me this set of gems, again. Go ahead laugh, it's alright.
    Performance Reviews...reportedly taken from ACTUAL Federal Employee
    Performance Evaluations:

    1."Since my last report, this employee has reached rock bottom and has
    started to dig".
    2. "I would not allow this employee to breed".
    3. "This employee is really not so much of a has-been, but more of a
    definite won't be".
    4. "Works well when under constant supervision and cornered like a rat in a
    5. "When she opens her mouth, it seems that it is only to change feet".
    6. "He would be out of his depth in a parking lot puddle".
    7. "This young lady has delusions of adequacy".
    8. "He sets low personal standards and then consistently fails to achieve
    9. "This employee is depriving a village somewhere of an idiot".
    10. "This employee should go far, and the sooner he starts, the better".
    11. "Got a full 6-pack, but lacks the plastic thing to hold it all
    12. "A gross ignoramus--144 times worse than an ordinary ignoramus".
    13. "He doesn't have ulcers, but he's a carrier".
    14. "I would like to go hunting with him".
    15. "He's been working with glue too much".
    16. "He would argue with a signpost".
    17. "He brings a lot of joy whenever he leaves the room".
    18. "When his IQ reaches 50, he should sell".
    19. "If you see two people talking and one looks bored, he's the other one".
    20. "A photographic memory, but with the lens cover lued on".
    21. "A prime candidate for natural de-selection".
    22. "Donated his brain to science before he was done using it".
    23. "Gates are down, lights are flashing, but the train isn't coming".
    24. "Has two brains; one is lost and the other is out looking for it".
    25. "If he were any more stupid, he'd have to be watered twice a week".
    26. "If you give him a penny for his thoughts, you'd get change".
    27. "If you stand close enough to him, you can hear the ocean".
    28. "It's hard to believe that he beat out 1,000,000 other sperm".
    29. "One neuron short of a synapse".
    30. "Some drink from the fountain of knowledge; he only gargled".
    31. "Takes him 2 hours to watch 60 Minutes".
    32. "The wheel is turning, but the hamster is dead".

Friday, October 10, 2003

Play The Mothership Game

Get out your funk card and help navigate the mothership! It's coming for me today to take me to Alto Dorado and the land of Dynamica! BRING IT ON! Also, while you're there check out the rest of George Clinton's website. Go the Fan Club section and get the Alien screen saver...The funkiest thing EVER! Get more for what your funkin' for.
I Hate Fred Durst

This is too funny. This man sure does generate a lot of hate. I think he deserves every bit of it. I don't know about you, but I would pay good money to Zakk and Fred fight! Anyway, check this out:
Zakk Wylde On Fred Durst

Alright, I don't know what Fred Durst did to Zakk Wylde, but Zakk has it out for him. Go watch this hilarious video of Zakk putting Durst down ("Anyone want a Durst Pinata?"). I got a good laugh out of it. Zakk just flat out rocks...I have all of his records and it's great "amps at 11" rock 'n' roll.
Patterns Of Software

Richard Gabriel has his book, "Patterns Of Software" on the web to read. Check it out here. A lot of people have high praise for the book so thought I'd check it out. I was reading the forward by Christopher Alexander and ran across this quote:
    In my life as an architect, I find that the single thing which inhibits young professionals,
    new students most severely, is their acceptance of standards that are too low. If I ask a student whether her design is as good as Chartres, she often smiles tolerantly at me as if to say, “Of course not, that isn’t what I am trying to do. . . . I could never do that.” Then, I express my disagreement, and tell her: “That standard must be our standard. If you are going to be a builder, no other standard is worthwhile. That is what I expect of myself in my own buildings, and it is what I expect of my students.” Gradually, I show the students that they have a right to ask this of themselves, and must ask this of themselves. Once that level of standard is in their minds, they will be able to figure out, for themselves, how to do better, how to make something that is as profound as that.

    Two things emanate from this changed standard. First, the work becomes more fun. It is deeper, it never gets tiresome or boring, because one can never really attain this standard. One’s work becomes a lifelong work, and one keeps trying and trying. So it becomes very fulfilling, to live in the light of a goal like this. But secondly, it does change what people are trying to do. It takes away from them the everyday, lower-level aspiration that is purely technical in nature, (and which we have come to accept) and replaces it with something deep, which will make a real difference to all of us that inhabit the earth.

Needless to say, I bought the book immediately (who says given things away for free on the net doesn't cause sales?). I think the above quote is one of the most inspiring things I've ever read. It's something that when I'm feeling beaten down for having my heads in the clouds to give me strength to keep it there! I think we should all aspire to be better than our heros and mentors.

I just started on the book, but thought I'd share this awesome quote. Go download the book and read the whole forward (it's great). I'm going to have to read some architecture books.

Thursday, October 09, 2003

Squeak Bug Tracker

I think a Squeak Bug Tracker would be an excellent application to code. I'm thinking I might take what I learn from the SBlog challenge and possibly make my own challenge for this. I think a bug tracker would be an excellent tool to integrate into the Squeak environment and also have a web interface. It would be a great place to not only report bugs (and see the progress of fixes), but also tracking enhancements and future changes. It could be used to see where each Squeak release was and to see what was coming around the corner. If it was fully integrated into the environment, then as soon as you fix a bug or what have you, you could mark the bug as fixed. It would be cool to integrate with Monticello so that you could report what bugs you fixed with the release of your code. I'm thinking bug tracking should go beyond just the base Squeak image, but also to all of the projects on SqueakMap. So, that I can keep track of bugs in my project and provide updates (and report easily what I did). I'm still formulating my thoughts and I know there's been a ton of discussions on the SqueakList that I need to catch up on (next week, next week!!!!). I'm probably just reiterating what they have been talking about (I need to go read all of the discussions when I get the time).
Swiki Wish

I wish I had an RSS feed for the recent changes on the Squeak Wiki. Man, how cool would that be? Hell, every wiki should have an RSS feed (or ATOM)...=) I guess BottomFeeder has spoiled me because I now want all of my information to come to me!
Mothership Is Coming

I see the mothership and I have my funk card ready (if this sounds crazy go listen to "Mothership Connection"-Parliament RIGHT NOW). I will be leaving Planet Gosling and the inhabitants of Statica behind. My journey will take me to the land of milk and funk, Dynamica on the Planet Alto Dorado. I'm so excited! Stayed tuned for all of the latest developments!
What I Love About Smalltalk #8916343

Since, I didn't get to participate in the Squeak 3.6 (because of ...yep, you guessed, I have started to setup my base image and get going with it. Well, I ran into several problems, but one of the things that I love about Smalltalk is that new code is introduced via filing in the source code. One of the problems I ran into was because a semicolon was missing in the source. I know this isn't something totally related to Smalltalk, but Smalltalk really forces the point home. In other languages, it's easy to introduce libraries where you don't have the source at all. In Smalltalk, you must have the source. It's great when you have a problem and you can actually debug the code and possibly apply a temporary fix so you can keep on working. I posted on the Squeak list explaining my problem, but I wasn't waiting on people to fix my problem. I was going forward because I could add the simple semicolon directly with no fuss. There's nothing like knowing that if you run into a problem that you can fix it without waiting...=)
Skip List Data Structure

This sounds interesting. I can't wait to read the PDF. It certainly sounds yummy. Check it out: Patrick Logan's entry on Skip Lists.

Wednesday, October 08, 2003

My Prototypical Journey

I've been thinking of little JavaScript programs to do at work. One of these programs parses excel spreadsheets into something that we can easily populate our reference database with. These spreadsheets are what we get from our customers (they use excel for everything). It was cool this morning when they forgot a good chunk of data and they thought it was going to be a big deal because they thought we hand coded what was in the spreadhseet. Now, this is the way developers did it in the past, but I just can't stand that much typing. Anyway, it was nice to have automated the data in the spreadsheet. If truth be told, it took less time to automate it than type in all of the boring stuff in (there was a LOT). The data is also more reliable (if there's errors, we can easily verify via the excel spreadsheet...crap in=crap out). Automation is alwaysa good thing so, I thought it would be neat to see if I could write a test script that drive our application as well. I had a bug that was deep in the application and was tired of starting over from scratch to get to it. So, off I went. I have been becoming quite good at Microsoft's COM/ActiveX technologies, so that part was easy. Anyway, I was amazed how easy it was and why I didn't do it sooner! It worked like a charm! I also realize that I could have done it equally as well in Dolphin ST or Ruby with their COM libraries, but I've been trying to get my head around the "prototypical" way. So, I'm coding my test and I usually start out creating my constructor and then adding methods to my prototype. I kept treating prototypes like you would classes in other languages. I was starting to forward a lot of calls to another object that I was wrapping when I had my "EUREKA!"(tm) moment. I could create an instance of the object I was wrapping and use it as the prototype to the other object. I stopped thinking of terms of class structure but object structure. So, I got rid of a lot of forwarding calls by specializing an instance. I know this is a small step (some might even go how is this different from inheritance? Trust me, it's different in my mind). I'm seeing instances and specialization of specific instances and not just at a class level. I think specialization might work better at this level. Pretty cool stuff. I still have a long way to go before I'm comfortable with it (I generally use composition and not inheritance in class based systems). But, I'm starting to see the light and why so many people like prototypical languages. This morning's "Eureka!"(tm) moment felt like when I got objects in Smalltalk or when I saw the reason for macros in Lisp. Just thought I'd share...

Tuesday, October 07, 2003

New Alan Kay Interview

Check it out here!
The Language Religious War Debate

OK, so I post about Paul Graham's "Java Cover" article (which I still think is a good read) and it turns into a language war in some other places. You can read the whole discussions here and here. One thing that I love about Paul Graham's writing is that he believes in Lisp 100%. This might offend a lot of people especially if you happen to be on the receiving end of his argument (ala Java in this article). But, I find it refreshing. I don't agree with a lot of what Graham says (I still believe Smalltalk is a better language and OO is not just syntactic sugar coated poo), but he always gets me to think. When someone is pressing your buttons in an article, you need to sit up and think about WHY ARE YOU GETTING UPSET? Paul has a confrontational style of writing that makes you question why you believe what you do because he says what he does with such conviction and vigor. But, let's face it. There's no empirical evidence that Lisp is better than any other language. Same goes for Smalltalk or any other language or programming paradigm. I think that's why most discussions on the pros and cons of languages turn into religious wars. Programming is a human effort and we each pick up a language based on our past experiences and what we are most effective with. Why can't we just realize that no language or way is universal and applicable to everyone?! Smalltalk jives with me better than any other language I've come across yet. Does that mean I should stop searching for that magical uber cool language? NO! I play around a lot with other languages including Lisp, Ruby, Erlang, Javascript, and whatever else tickles my fancy. I always say I'm in search of my favorite language. Will Smalltalk be my fave language 10 years from now? Maybe, maybe not I don't know...I just know I'm more effective with it and it allows me to express MY IDEAS better RIGHT NOW. I think everyone needs to find their M(IND AMP and be happy with it. Who cares if someone's else MIND AMP is Java? More power to them, I say! It doesn't make them any brighter or dumber (one area where I disagree with Mr. Graham). I think developers should group together and pick their own tools that they are effective with as a team. Well, I've written too much, but this is how I felt...I'll close with: Pick the language that gives you the most strength and don't worry what everyone else thinks of it. AMEN!
Andy Hunt Talks About The "New" Cotton Club

Excellent article and thoughts from Andy about file sharing. He also links to a good CNN article as well. It all goes back to "where there's a will, there's a way". If people want to do something, they will...NO MATTER WHAT OBSTACLES YOU PUT IN THEIR WAY. Anyway, it's great ead: The New Cotton Club.

Now, this sounds fun: Soul. It's an open, reflective logic programming language written in Smalltalk. Sound like fun? You bet! I got to this by doing some research on the StarBrowser that installed with the Komanche Web Server in Squeak.
Software Pioneers DVDs Working!

Alright, I bought the book, Software Pioneers a while back to see the talk given by Alan Kay and Erik Gamma. Well, none of my DVD players would play any of the DVDs....grrrr...Well, it sat on the shelf and never tried it out on my new laptop. Well, last night, I decided to give it a try and IT WORKED! YIPPEE...I have over 12 hours of geeky madness to watch! I watched a little bit of the Alan Kay speech, but was too tired to pay full attention...This will be something fun to do once I'm in Nebreska. Yeah, I know all of you are laughing at me...everyone at work was this morning...I AM GEEK AND PROUD!
Evolver Editor

I just gleamed this from the Evolver site: Evolver PC Editor. Man, I can't wait to play with this little synth! I got it not too long ago, but I have had so little time and every little bit of time I get usually goes to the FS1R...Hmmm, so many toys, so little vacation time...=)
Sad Music News

J.D. Kimball, the original lead singer of Omen, has passed away. Read the news item here. He was one of my fave voices in metal and I loved Omen back in the day. Truly sad to hear this news. Time to put on some Omen and remember happier times. Thanks for the great tunes, man! We will miss you.

Monday, October 06, 2003

Blog Challenge In Squeak

Jim Benson made a challenge on the Squeak mailing list to do a blog server in Squeak. He sent a call for participation and I signed up because I think it might be a lot of fun! Check out the Swiki page here. I hope to communicate with a lot of Squeakers! This might be a good opportunity for me to learn the HTML/CSS side of things...=) But, of course, an excuse to write Squeak is always welcome...Wait a minute...I was supposed to be writing tests for my Java Serialization Framework...DOH! I think I can do both...I'll finally have time off!!!! =)
Another good example of things to think about...

If I ever get around to writing my own languge (which I think would be a lot of fun) is here. Yeah, it's another Paul Graham article. What can I say? I love what this man writes!
Squeak 3.6 is RELEASED and Party Tomorrow

This is cool! I wasn't expecting this so soon. Anyway, I hope to catch some of you guys in the IRC channel if I can get out of work. Here's the official announcement from Doug Way:
    3.6 is now available on the downloads page, and is thus officially released!

    Göran suggested we have a sort of release party for 3.6 on the squeak IRC channel, which sounded like a fine idea. So, it will be tomorrow (Tuesday) from noon to midnight GMT. (8am to 8pm EDT.)

    Let's get a bunch of people on the squeak IRC channel chatting about Squeak! Of course, anyone can join the squeak channel at any time, but it might be fun to have a larger crowd for half a day.

    If you haven't tried IRC before, see . If you run into a problem, reply to this thread and someone should be able to help.

    - Doug
Improving Software

I got a comment from Jim Benson giving me another link for me to check out. He wrote 3 articles on Improving Software that were originally posts to the Squeak list. I remember them very vividly and they are an excellent read. I think the thing I love about them is it is a call to arms for us to not just accept software the way it is and to not stop trying come up with the next revolution. I too find it hard to believe that two of my fave languages are still over 30 years old! I would have thought something better would have come along. But, the more I play with other languages, the more I come back to Smalltalk and Lisp. Now, that's not to say that there's not a lot of great ideas out there....There are...I'm always in search of them and I hope that someday I will be the one that finds the "next language" that brings higher programmer productivity. I'm always trying to stretch myself and my thoughts. It's a good dream to have nonetheless....=)
Java Cover

I was reading through Paul Graham's articles (I've read them all, but some are worth a second read) and came across this one on Java's cover. As always, an excellent read that will get you to thinking mode. Paul always seems to tackle the topics on intuition and programmer instinct and this one illustrates it beautifully, I think.
Master of Fine Arts in Software

I love this idea! The ability to spend time with and learn from the "gods of software" would be too cool! I would love to sign up for this program! The idea of learning from Martin Fowler, Dave Thomas, Paul Graham, Andy Hunt, or Ward Cunnigham would be too much fun. I would especially love to learn Lisp from Paul Graham especially after reading his excellent books on Lisp ("On Lisp" is what really opened my eyes to Lisp). Hell, I'll like to learn anything from the guys I just listed! Who am I kidding? I just think this is too cool! I WOULD LOVE TO DO THIS!!!!!
Cool Take On Cincom Doing Java

I love Vlastimil Adamovsky's post on Cincom doing Java in comp.lang.smalltalk. I hope he is correct that "common sense" will take over. And I hope it takes over soon! Actually, I'm not worried anymore about the future of Smalltalk. I think companies will continue to use it and be successful. Will it ever be the most popular language? Problably not. But, why would you want this? There's a lot of baggage to carry around being the most popular. I think Smalltalk is for folks who love to be productive and solving complex business problems. I would like to see Smalltalk become more popular than it is now, but not as much as Java. I have no worries about my future with it anymore. People are still using Lisp as well. I think the perfect market for Smalltalk is not big corporations, but medium sized companies that need a competitve aadvantage. And I can tell you that Java is not a competitive advantage if all of your competition is doing it as well. Companies who need and hunger for that edge will find it. We need to make sure they find us...=)
Continous Learning

Here's an interesting article that I found this morning. I think the idea of continous learning is a great idea (and not only because I practice it), but the things that you learn outside of what you do for work can make your work better. Learning Lisp has opened my eyes up a lot. It makes me ask a lot of DIFFERENT questions than I would have before. It also has given me more ammunition to think differently about problems. Both of these outcomes, I think are a good thing. It's not just a matter of learning technology, but a matter of learning challenging technology.

Sunday, October 05, 2003

Awesome Martin Fowler Article On Protected Data

Go read it here!
Song For My Sweetie

Man, this is awesome....Send it to your sweetie today! Click here now!
Gulf War 2: This Is Funny

Click here and prepare to laugh!

Saturday, October 04, 2003

Language Cookbooks

I just found these and think they are great things to do! It would be awesome to move out of the easy stuff and more into complicated tasks. But, these will do for now! Here's the list:

If you know of any more, let me know!
Check out my new yoyo

One of things I've been getting back into is yoyoing. For my birthday, my wife bought me astro-jax which I can't wait to have sometime (not at work) to play with them. Well, in my frustration, I took a couple of yoyos to work (I don't fear hitting someone in the head with them) because I'm better with them. I had forgotten how much I enjoyed playing with yoyos! Anyway, I've been buying yoyos and playing with them and doing tricks again. It's a great thing to do while discussing design and just thinking about a problem. It's weird, they are like mind amps for me. The rhythm and just zoning of it let's me think deeper. Weird, huh? But, I digress. I decided to buy myself an aluminum yoyo. Now, these puppies are usually very expensive! But, I found one for $15 and let me tell you it's the cat's meow! I love it! It sleeps forever! I also got some wooden yoyos that are like a dream too, but the aluminum is just SICK! Check it out here and check it out the wooden ones here. Pretty cool, huh?
Sea Monkeys

When I was a kid, I used to always see these advertised in the back of my comic books. I always wanted some. Now, not only can I get them, but I can get them on Mars!!! How cool is that?! Here I was thinking that my Alice Cooper jack-in-the-box was be all end all of coolness...I just hope they never made a Robbie the robot doll (remember Lost in Space and Forbidden Planet? YES! THAT ROBOT!) I think the monkeys would make the perfect xmas gift...=) It's on the wish list as of right now!