Thursday, July 08, 2004

Blogs are Great!

Well, through my posting on my blog, I got on the Camp Smalltalk mailing list. I find it funny that email is becoming less and less a good medium to communicate in. Basically, I think my emails were being eaten by a spam filter and never receving its intended audience. Ouch...Thank you spammers for rendering email useless!

Secondly, I received an email today from a ex-co-worker from my first job out of school and they found me again through my blog. How cool is that?! WOW! I love blogging!

Wednesday, July 07, 2004

More Info On Kyma

Ralph Johnson has provided more info on Kyma here. I can't express how cool I think Kyma is and it's great to be part of the community that delivers such greatness. I hope to one deliver my own Smalltalk baby on to the world. Thanks to Ralph for the update! Now, if I could buy Kyma, life would be AWESOME!

Monday, July 05, 2004

Fourth Of July In Nebreska

OK, I've lived in a lot of places. I've seen firework displays in Kansas, Washington DC, Boston, Raleigh, Alabama, and a few other places I can't remember. Well, none of them matched the one outside of my house the last couple of nights. The land is very flat here, you can see for miles, and the night was clear. All you saw was hundreds of fireworks going off in my neighborhood and distant ones. It was a constant barrage of lights and noise. It was incredible. I have never seen anything like it in my life. They went off for 2+ hours each night. WOW! I love firework displays and all of these little ones were a great show. And I didn't have to pay for one firework, clean up afterwards, or go somewhere to see it. I just got to sit back and enjoy it on my balcony. I found another perk of living out in Nebreska. And most people think there are none...=) You just have to be patient...

Saturday, July 03, 2004

Kyma

Imagine my shock and surprise when I visited my local Barnes and Noble browsed through the recent Future Music magazine and found an article on Kyma. For those who don't know, Kyma is a very cool sound manipulation software package. It's very costly (around $3,000) I think, but if I had the money, I would buy it. Anyway, what's my point and why was I surprised? Well, Kyma is written in VisualWorks Smalltalk and the lengthy article was a review talking about how all of the major electronic and soundtrack composers and sound designers use it and swear by it. I would love to work on their product! I've read about everything I could about it and it's very cool. Combining music and Smalltalk is just too cool. Anyway, right on guys! It's great seeing a Smalltalk company kicking butt, getting respect, and having the coolest product on the block!

Wednesday, June 30, 2004

Great meeting

Man, are we good or what?! We had an excellent meeting last night at the Omaha Smalltalk User's group. Alan Wostenberg gave a passionate presentation on XP and showed off XP Swiki as well. We had a lot of discussions on how to get XP and Smalltalk more widely accepted. The time is now! We need to broadcast our successes! And yes, I'm on a super successful Smalltalk project!

Unfortuantely, there will be no meeting next month. But, we will start back up in August and ready to kick butt! GO SMALLTALK!
Dating Barbie

Check this out: Barbie and Blaine. Apparently, I've been dating Barbie. Man, how am I going to explain this one to my wife? Maybe she's dating Ken now...=) Anyway, I thought this was good for a laugh and funny that they chose my name...=)
Gapless MP3 Playback

Alright, my beloved PJB (Personal JukeBox) mp3 player is on the fritz and I am deeply saddened. It gave me 3 years of great service. So, you say why not just go get a new one? Well, I did! But, it shocked me to know that in 3 years that my old rugged mp3 player (which by the way was the first one with 20GB hard drive....3 YEARS AGO) is still more advanced that a lot of the newer players. One of the "advanced" features is one called "gapless" playback. What this means is that if I play two songs back to back, then I don't get silence between the songs. This is crucial for those beatles, slayer, and live albums that have no silence between tracks. It seems most mass storage mp3 players do not support this feature! Now, why is that? I hear a lot of people say, "Well, mp3 doesn't support it" Why does mp3 have to support it? I think it's a case of lazy designers who forget to put in double buffering (load one segment in a space that is not being played). It's how anti-skip works on your CD player. It amazes me that my old mp3 player does this and the newer ones don't. Is having a double buffer strategy more costly (I don't think so, you still have to load stuff from somewhere!)? I am just baffled. Double-buffering was one of the first things I learned to doing clean audio streaming (and clean graphic animations too). Oh well, I'll get off my soap box now...=)

Sunday, June 27, 2004

Java Complexity

Oh boy, David Buck has posted a comment on Java Complexity. He points to this post which probably has some of the funniest comments I've read in awhile.

It makes me think about my time wrestling with Swing. At the time, I wanted to write a book on bad design and use Swing as the example. Swing is riddled with poor usage of private and final keywords (in other words, the protect you from bits you need to get to if you write your own widgets). There's also poor use of inheritance (why are the Swing components subclassed from the AWT Components?!!!). And to make matters worse, Swing is very complex and daunting for the average programmer. Don't even get me started with J2EE which is supposed to be a distributed framework that was suppossed to make enterprise development easier by making the connection to relational databases easier (oh what a joke, it's the one that it's the poorest at and it wasn't like this problem hasn't been thought about before). My last project in Java, we used Toplink for our relational mapping and used very little of the J2EE API (only the parts we needed). Don't even get me started on Struts (just go look at Seaside and you'll see an excellent web framework).

So, what's it like being back in Smalltalk land? I can safely say I never want to go back to Java. Smalltalk developers get it right most of the time. They understand computer engineering and simplicity. We embrace simplicity and find warmth in it. So, what makes our culture different? I think we don't have to spell every thing out and we get used to getting little bits of our design done incrementally. Our tools support this and the language does as well. It allows us to try more things out and be more experimental. In Java, you just have to nail things down earlier because of lesser tool set and strong typing. It's not to say you can't have simplicity in Java (you most certainly can). You just have to work harder at it than most developers are willing to.

Monday, June 21, 2004

Omaha Smalltalk User's Group

Alright, I've got YET another exciting speaker lined up for the Smalltalk User's Group Meeting here in good ole Omaha! This time it is Alan Wostenberg and he will be talking about XP Swiki. Again, I hate to sound like a fanboy, but the XP Swiki aims to be a super cool new tool for XP teams! The meeting will be June 29, 7:00pm-8:00pm at the Abraham's Library Conference Room. I hope to see EVERY SMALLTALKER in OMAHA there! And hey, if you've been curious about what all the fuss is, come on down and we'll be glad to show you. Yes, that means if you don't know Smalltalk, you're invited too!

XPSwiki is an open source web tool for eXtreme Programming teams. It supports those XP practices related to requirements gathering and project management - user stories and the planning game.
XPSwiki is based on Swiki, the Squeak Wiki technology. It aims to be an agile and user friendly tool which adapts itself to your development process.

Click here for more info on XP Swiki

Monday, June 07, 2004

Maintenance Costs

One thing that I never see on projects is attributing maintenance cost with the success of the project. I always see managers get bonuses because they delivered the project "under budget" (if they do deliver). Typically, the project is maintanence nightmare, but for a lot of organizations, I've seen, they never attribute back the maintenance costs per year back to the project. Why is this? I think its cheating to say a project is done and will cost nothing more. That's simply ludicrous. I wonder how development would change if we depreciated software like we do goods. But, instead of the value going down, the maintenance costs were assessed. If a piece of software started to cost more, then it would be depreciated. Now, why is this important? Because I an easy to maintain piece of software costs less because it was designed well. XP manages this quite well since a project is constantly in maintenance mode and there's no separation between development and after. It's all the same. Systems are grown instead of built. I think if management of IT departments looked at the maintenance costs (at a project level instead of a large sink hole for everyone) that we would see a turn to XP and dynamic languages. But, that's just my theory...=)

Monday, May 31, 2004

Ayreon: The Human Equation

I'm glad people make great music still. This album is simply beyond words. I've been listening to it 2 days non-stop. Nothing else has entered my player. For those that don't know, Ayreon is the brain-child of Arjen Lucasson. He basically assembles a cast of stellar musicians and singers, writes all of the music, and records it. Every album is nothing short of amazing. In fact, everything that Arjen touches is simply incredible. But, his new album, "The Human Equation" is way better than anything I could have expected. It's nice to have a musician to have hopes for and they exceed them everytime. The story is amazing and the music is a tour de force of prog, folk, symphonic, electronic, and metal. And it all sounds coherent. I can't stop listening to it. Right now, I have 10 albums from Mr. Arjen Lucasson and they all KICK. If you enjoy music that challenges and delights you (ala Dream Theater, Yes, etc), then go out and buy this now. This is the album of the decade. YES, IT'S THAT DAMN GREAT! Also, there is a tribute of sort to Mr. Alice Cooper (it would have been nice to have the real thing, but the tribute was done well).

Sunday, May 30, 2004

Weight Watchers One Year Anniversary

This past week marked my one year anniversary of sticking with Weight Watchers. I still haven't reached goal, but I've lost over 65 pounds. I'm actually very close and hope to be at my goal weight by xmas. I feel better than I have in years. It's amazing what losing a little weight and quitting smoking will do for you! Here's to another year of great health!
Omaha Smalltalk User's Group

We had a great meeting this past Thursday! Gary gave a great presentation on ultra-structure and I think everyone walked away with visions of how they could apply it at work (I know I was). We went out later to discuss the Omaha Smalltalk User's Group project. A lot of ideas were batted around, but nothing in stone yet. We even discussed which Smalltalk to use. Whatever we choose to do, it will be fun! Anyway, I wanted to thank Gary for the excellent presentation and everyone that came out! GO SMALLTALK!

Wednesday, May 26, 2004

Camp Smalltalk Mailing List

What Smalltalk god do I need to worship to get on the Camp Smalltalk mailing list? I'm going and I want to join in on all of the pre-game fun. AARRGGHH! I just know that Camp Smalltalk is going to rock and I can't wait. I hope to learn a lot from the masters there! Now, I just need to get on the list! Can anyone help me? PLEASE?!

Tuesday, May 25, 2004

One Year Blogging Anniversary

Today is my one year blogging anniversary! YIPPEE! It doesn't feel like a year. But, it's felt good talking about Smalltalk and the virtues of it. In the past year, I went from being a Java developer (and unhappy) to coming back home to Smalltalk. It feels great to be doing 100% of my off time programming and on job stuff in the language I love most. I'm happy that I was given the opportunity. And yes, programming in Smalltalk everyday is worth living in Nebraska for. So, here's to another year of pro-Smalltalk and pro-dynamic languages blogging!
Tornadoes, Winters, and Allergies

Good grief! Allergies have struck me again. I'm medicated now and feeling better, but what a week here in Nebreska. First off, the midwest and my nose do not like one another. I didn't have any problems with my allergies until I moved out this way. It's already cost me a day of work and one evening. Darn allergy headaches! But, if that wasn't enough, we get all these violent thunderstorms with tons of tornadoes! I feel like I'm playing russian roulette with mother nature out here...=) And did I mention the winter? It's not winter, it's anartica! OK, OK, OK, I'll stop complaining now...

Sunday, May 23, 2004

Chaos, Fractals, Recursion, etc

Lately, I've been back in my mathematician mode and reading books of a mathematical nature. I've always been interested in making complex systems out of simple rules. So, the idea of making fractals by use of simple rules and recursion seems mystical to me. I've been thinking that it would be cool if we could do the same thing in computer science (particularily, multi-agent systems from what I've read). Well, I cam across this link with an interesting discussion on Emergnent Behavior that follows the same lines (simple rules, complex behavior). Check it out here. It's fun stuff to think about.
Modern Day Witchhunt?

I picked up this bit of news from Blabbermouth.
    Donald Bradley of The Kansas City Star is reporting that city of Blue Springs, Missouri has returned almost half of a $273,000 federal grant it received in 2002 to fight a perceived growing Goth culture. Some feared the black clothes, morbid music and obsession with the occult — and Ozzy Osbourne — could lure a wave of youngsters into a world of depression, drugs and suicide.

    Officials returned $132,000 of the money because the Goth situation was overstated in the beginning, Blue Springs Police Chief Wayne McCoy said Friday (May 21).

    Community forums on Goth culture were never held because of a lack of interest, and no youth received treatment for Goth behavior. Both were provisions of the grant.

    "My belief is that you guard public dollars very carefully," McCoy said. "The money wasn't being used so we gave it back."

    The issue arose when parents and other residents called police to inquire about Goth and its influence on teens. McCoy said the callers feared what they didn't understand.
This sounds so incredibly dumb to me. I can't believe our government would spend money to "fix" goth kids. I can think of worse things that a kid can do besides dress in black and listen to depressing music (like doing drugs). We have a problem in this country with drugs and obesity. Why not spend money to fix those problems? I'm glad I'm a not kid growing up now because this is the kind of stupid stuff I grew up with. I was a metal head kid and everyone wanted to "fix" me. Grrrr...People should worry about their own backyards...And one more thing, where did the other half of the money go?

Friday, May 21, 2004

Words Out Of Mouth

James Robertson posted a quote by Colin Putney that say what I was thinking about over vs under design in a much more direct way. It's exactly my thoughts. Go check it out here

Thursday, May 20, 2004

Re: Under-design vs. Over-design

Michael Arnoldus had some interesting comments:
    Very interesting subject. Allow me to suggest a few questions which will help me understand and maybe make it clearer what answer you are searching for. After reading David Schmaltz: "The Blind Men and The Elephant" i've found worthwile to investige in what 'action-context' an answer is to used. Do you need the under- vs. over-design answer to blame somebody or do you need it to evaluate how much design you need to do before beginning? Another question, does the design-question make sense at all until after the fact, when we know what we should have done? Isn't the under/over design answer just as much subject to change as XP claims (and I agree) the requirements are? I'd like to know what you think.

Well, the answer is certainly not to be used to blame anybody for anything (like "NO NO NO BAD PROGRAMMER!") of course. I think the evaluation of how much design do you need to do is getting closer. I think the real reason for the discussing "over" vs. "under" design is to understand how far do you need to go when thinking about a system. The thought and planning still needs to happen, but how much is good enough? Is it OK to err on the side of not enough thought or on too much? Like I said before, the extreme cases of either is clearly bad. But, what about the less than extreme cases. I think we can all point to examples of where under design killed a project or where over design burdened a project into extinction. I keep pondering on what side would I want to err on (of course, I want to err as little as possible, but I know that perfect designs are very hard to obtain if not impossible). The thing about XP is that it says that to err is human and to err on the side of under design because if it not enough then you can refactor in a better design as you outgrow the old one. It doesn't say not to do design, but just to not to go overboard with super generic solutions (basically, don't invent a new tool if a hammer will do for today). I also think its extremely important to always been evaluating a design and refactor it the minute it becomes painful to use. So, I do believe in post-mortem activities after iterations in XP. And to his last point, I would say I would expect the design to change as often as the requirements in the beginning and then slowly harden as the project continues. I would expect changing too much of the design constantly would be a bad thing. A good design changes slowly. I mean how many times was Smalltalk rewritten before we got the system we have today? Perfection is not obtained overnight. I look at a good design like a fine wine. It gets better with age.

Wednesday, May 19, 2004

Under-design vs. Over-design

I've been throwing a question in my head for a while and I thought I'd post about it. The question is simple: What's better under-design or over-design? Sure, the extreme cases of both are bad (awful would be a better word) and painful. But, what about the less extreme cases? I would imagine everyone would agree that good design is in the middle (not too much, not too little). Good design is easy to work with and easy to make changes to. But, a shift either way is under or over design. Now, I don't live in a perfect world and most designs I've seen tend to go to one side or another. I've been asking anyone within earshot what they think and the answers have been very enlightening. My first gut instinct would be to err on the side of over-design, but I think this from coming from the non-XP world. But, now, since I've been doing XP for a little while. I think I would rather land on the side of under design. Why you ask? A lot of people think XP is devoid of design (which is think is absolutely wrong). It's just in XP, we design what we need today and refactor unmercilessly as we go along. The "refactor unmercilessly" is the key phrase because without it you get a severe case of under design and your code becomes painful to maintain. Back in the old days (pre-XP), I was on teams that would design for months before we wrote any code. What we usually got was way over-designed code that had to be changed anyway because of forces of the real world (always making our elegant code messy! How dare it!). When I first started to play with XP, I knew it was a good way to go but was scared about "only design for today" adage. But, what I found is the systems are more adaptable to change. The only time we have problems is when we get into time crunches and forget to "refactor unmercilessly". I think I go back to my saying, "Design for today, but your keep your eye on the future". Lots of times you can add "hooks" to your code that allo extensibility for future enhancements without sacrificing succintness nor adding complexity or code. Think before you code! XP is not about blind coding without thought (which I have heard arguments as such). So, what's everyone else's opinion? I don't know if there is a right answer because each has it's plues and minuses. But, from my experience, a little bit of under design is better than over design. Your mileage might vary of course.
Congrats to Jeremy Turner

It seems Jeremy Turner has gotten the gig as the new Cannibal Corpse guitarist. Jeremy played in the local Kansas band, Origin. And they were an awesome band with a great attitude. They always put on an incredible show and all are great musicians. I met Jeremy a couple of times and he was cool. My old band opened up for them right before I joined (I was doing lights) and Origin spent some time with our guitarist teaching him licks. It's cool to see a local brother doing GREAT (even though I'm not in Kansas anymore...bite me)!!! Way to go man!

Tuesday, May 18, 2004

Cool Quotes

James Robertson has had a string of great quotes! Here's just a couple:

"In the church of complexity, more is always better..."
"The dead hand of rigid systems is holding the entire software development world back..."


Why can't I come up with cool quotes like that. James, I don't care what anyone else says, you are the man! Plus, I love how he has the knack to push up the blood pressure of developers from the world of statica. It's great! Keep up the good work!
Bad Blogger

I've been a bad blogger lately. I've been extremely busy (yeah, a poor excuse I admit). But, it hasn't been for a lack of thoughts! I've been researching fractals and chaos theory lately. Basically, I'm trying to get ready for the GRE to go back to school and it's reignited the mathematician in me a little bit. Of course, I have a list of Smalltalk projects that I'm itching to do as well (XML tools inspired by Seaside and my hate for the poor tools for XML, JXTA, Java integration, .NET VM, neural nets, rules and object integration, etc, etc). But, I want to get back to blogging regularly as well. What's a poor soul to do?

Is anyone else couting the days till Camp Smalltalk? I heard via Patrick Logan that there's a mailing list. I need to get on it!
Next Omaha Smalltalk User's Meeting

Alright, I've got another exciting speaker lined up for the Smalltalk User's Group Meeting here in good ole Omaha! This time is Gary Overgard and he will be talking about Ruleforms. I'm very excited to see this presentation since I have been very interested in rules and objects for a long time and I have never ran across any of this material. Looks AWESOME! The meeting will be May 27, 7:00pm-8:00pm at the Abraham's Library Conference Room. I hope to see EVERY SMALLTALKER in OMAHA there! And hey, if you've been curious about what all the fuss is, come on down and we'll be glad to show you. Yes, that means if you don't know Smalltalk, you're invited too!

The Ruleform Hypothesis: Complex system structures and behaviors are generated by not necessarily complex processes; these processes are generated by the animation of operating rules. Operating rules can be grouped into a small number of classes, whose form is prescribed by Ruleforms. - UltraStructure ACM 1/ 95, Jeffrey Long

More information:
http://c2.com/cgi/wiki?UltraStructure
http://smalltalk.cincom.com/community/digest/2001/May/index.ssp?content=ruleforms

Saturday, May 01, 2004

Omaha Smalltalk Mailing List

I've started a mailing list for the Omaha Smalltalk User's Group. If you would like to subscribe, please send an email to smalltalk_omaha-subscribe@blainebuxton.com with no subject or body. We're planning on starting a new project and I would like to start all the discussion on the list. Everyone is invited! See you there!
Published Presentation

OK, several people have asked me if I would bundle the presentation to make it easy for people to see it. I made a zip package that includes a squeak VM and image with the presentation, Seaside 2.5a, and Komanche preloaded. All you have to do is click here or on the left of the screen. Once you have downloaded it, unzip it, and simply double click on the Squeak.exe. When you see the image, point you web browser to http://localhost:9090/seaside/presentation. And that's it! I pre-started the web browser and I put notes in the image so you can configure Seaside and play around with it. Enjoy!

Friday, April 30, 2004

Omaha Smalltak User's Group Seaside Presentation

First off, I would love to thank everyone for coming out and seeing the presentation. I don't think there was one person to walk out of the room and think that they didn't want to use it. In fact, everyone was like "WOW! I wish we could use that in our work!" I must admit Seaside gives great demo especially with the new halo stuff. I'm going to make a Squeak image with the presentation (which is written entirely in Seaside) this weekend and post it. I'm also going to start an Omaha Smalltalk User's Group mailing list so we can discuss the upcoming project that we are going to do. Again, thanks everyone for coming out and the Seaside crew for making such a great product. See everyone next month!

Monday, April 26, 2004

Seaside Presentation

I wrote my Seaside presentation in Seaside 2.5a and it was a lot of fun. I thought it would be cool to let people download it and look at it. Simply, load this into your image via monticello and then, point your browser to http://localhost:9090/seaside/presentation (assuming you have Komanche on port 9090). Download it here. I have two examples included (one a lame number guessing game and the other a bank account application). Anyone have fun and if you have any suggestions let me know. Make sure to use Seaside 2.5a. The halo stuff is very cool and makes it very easy to give a demo of Seaside in Seaside. Did I mention it was a lot of fun to do this? I can't wait to give the talk on Thursday. COME ONE COME ALL!

Thursday, April 22, 2004

Slave To The Lambda

I find myself using more and more block closures in Smalltalk. I attribute it mainly to Lisp. But, I just can't seem to resist using them to make my code more concise. Last night, I was working on the Seaside Presentation and seaside uses blocks in the rendering of html. It makes the html code incredibly small and easy to read. Most of the code that I wind up writing for web applications generally tends to be get very ugly when it gets around the html generation. This was tue especially in the Java world. But, the code I write in Seaside is Smalltalk and the code is generally smaller than the html that I would have generated. Very nice. I attribute most of the elegance and size of the code to blocks. For example, I found myself writing the following code a lot in VisualAge:

| stream |
stream := CfsReadFileStream open: someFileName.
stream isCfsError ifTrue: [Error signal: 'BADNESS'].
["do some stuff on the stream"
] ensure: [stream close].

Well, I decided to move this code to CfsReadFileStream so that now all I have to write is:
CfsReadFileStream open: someFileName do: [:aStream | "do some stuff on the stream"].

and the method looks like this:
CfsReadFileStream>>open: aFileName do: aOneArgBlock
| stream |
stream := CfsReadFileStream open: someFileName.
stream isCfsError ifTrue: [Error signal: 'BADNESS'].
[aOneArgBlock value: stream] ensure: [stream close].

Blocks allow you to put the code that you repeat a lot (which generally just wrap around other code) to places where the responsibility belongs. Now, my code dealing with streams looks a lot cleaner. I noticed that Ruby handles its files in the exact same way and in fact, they take it one step further (the block you pass in gives you each line if you wish).

I will never give up my block closures ever again....=)
Omaha Smalltalk User's Group Meeting

We will be holding another Omaha Smalltalk User's Group on April 29, 7pm at Abrahams public library in the conference room (90th and Fort). This month's talk will be given by yours truly on the Seaside web framework. So, if you have been curious about Seaside, come on down. I plan on showing how cool and fast you can do web applications. Seaside is the future and could be the killer application for Smalltalk! See you all there! Java/C# guys are welcome to come as always!

Thursday, April 08, 2004

Welcome back

Well, I welcomed my brother-in-law back to the States this weekend! He had been in Iraq this past year and we are so glad to have him back. It was great seeing him again and he had us all in stitches with his amazing stories. I'm so proud of him and glad he's out of harm's way. My heart goes out to the remaining soldiers in Iraq and their families. WELCOME BACK TONY!

Wednesday, March 31, 2004

Omaha Smalltalk User's Group

We had our first meeting of the Omaha Smalltalk User's Group. it was very exciting (and I still need to update a bunch of places of our group, reminder to self). Steve Wessels gave a passionate demonstration of the Squeak environment complete with "Ooohs" and "Ahhhs" from the crowd. I learned a few things while watching the demo and I was amazed at the amount of cool stuff there is to play with in Squeak. Steve did an excellent job of showing all of the faces and a lot of the cool projects. We even got a history lesson that was enlightening. All in all it was a great first meeting and I would like to thank everyone for showing up! Maybe next time, we can raid a local coffee shop and plot Squeak's domination of the programming world....Hehehehe...

The next meeting will be April 29 (which will be a thursday). It will be at the Abrahams public library in the conference room again. Next month's presention will be your truly showing off Seaside and discussing (or shall I say preaching) the greatness of continuation-based web frameworks. Should be a lot of fun! Everyone is welcome (so, if you're curious, come on by, we don't bite!)!

Sunday, March 28, 2004

Omaha Has A Metalfest

I've been listening to a lot of metal lately (of the extreme kind which I haven't listened to since I left the extreme band I played in) and I did some searching on the net to see if Omaha had a metal community and it does! They even have a metal fest! WOW! This should give me something to look forward to! If you live in the area and like extreme metal, click here. There's even a Black Dahlia Murder show coming here in May. Fun stuff. I love the metal underground.

Wednesday, March 24, 2004

Robots Playing The Trumpet?

Check it out here. Am I the only one that thinks this is cool? It would be a lot of fun to work in that department of Toyota, don't you think?

Tuesday, March 23, 2004

The Exodus Attack!

The new Exodus album, "Tempo of The Damned" was released today after what seemed like an eternity wait. My god, it feels like they never left. This got to be the best thrash album I've heard in a long time. This is how it's done! Of all the old bands getting together to do reunions, so far, Exodus puts them all to shame. So, why do you keep buying Metallica, Megadeth, Slayer, or Anthrax albums? Go do yourself a huge favour and buy some thrash that still ROCKS! Now, I only hope the new Heathen and Death Angel can live up to this. BTW, one of my major weaknesses is thrash metal. I love it! It's great to hear some of my childhood heroes still kicking my booty...=) Thrash on!

Monday, March 22, 2004

Does anyone else do this?

I find that I still spend a lot of time reading code. In fact, I spend more time reading code than I do writing it in Smalltalk. There's such a plethora of code out there in Smalltalk land that is entertaining to see how "they did it". For instance, I was surprised to see how small the continuation class used in Seaside was. It's a really cool exercise to see how this code works. Very cool. I also had fun looking at how continuations were done in Dolphin as well. But, the fun doesn't stop there! On one of my many browsings of the image, I seem to always come across something that catches my eye and I'm off on a tangent. I'm always amazed at what my Smalltalk comrades come up with and what inventive lot they are...=)
Original Heavy Music

I'm always on the look out for original heavy music and I found two cool bands this weekend. The first is a band called "Vampire Moose", an unusual band that plays some just heavy and groovy stuff! The cover talked about Dillenger Escape Plan and Obituary. But, I don't think they sound much like either. Just imagine the heavier parts of Mr. Bungle and more straightforward. Good stuff. The next band is "Alchemist" and the best way I can describe them is super heavy space rock. The vocalist uses a ton of different voices to suite the mood of the music that goes from ambient to full balls out chug. It comes off very natural and not forced. It's nice to find a cool new band, it's super cool to find TWO!

Sunday, March 21, 2004

Say No To Censorship

Are you tired of people telling you what you can and can not see or listen? I am. I've been tired of this crap for a long time. Here's an online petition to say we're fed up: Stop FCC. It seems like the 80's all over again and the PMRC is in full swing again. The only thing that makes me worry is, what is the government trying to pull over our eyes? The PMRC was a cover-up to push in taxes on blank tapes without anyone noticing. I wonder what it is now? Why do I wish Frank Zappa was still alive? Anyway, I'm done ranting. Go vote now.

Saturday, March 20, 2004

Groovy

My good friend and mentor, Richard Manning, sent me this link to the programming language, Groovy. I just read over the quick start guide and it looks and feels like Smalltalk in Java (Groovy runs on the JVM). It's also a JSR which is very cool. I love the idea of scripting in Java VMs (it means I can do dynamic language things in it) because it makes Java more powerful...=) There is an eclipse plug-in for it. I can't wait to play with it (and tell the Java guys at work about it). Things like this might do a lot to get Java developers to start down the path of dynamic languages.
Cool New Blog

I just ran into Brian McAllister's blog and I've been enjoying it a lot. He has a great outlook and view on a lot of programming topics. I particularily loved this post entitled:
Perspectives. Basically, the post is about asking each one of us to step back and look at what the other developer was thining when they made decisions. It's a response to a Java developer going off on the decision to make Groovy (a cool little scripting language add-on for Java) a JSR. Brian is a very open minded person and his blog is a great read. I love finding a new blog to enjoy. Especially, I love his comments about becoming a "functional programming weenie" (his words not mine) because I feel the same way sometimes since I've learned Lisp and use some of the lessons learned in Smalltalk (ala I use a lot more blocks!).

Wednesday, March 17, 2004

Pair Programming

I was on a panel at a recent Omaha SPIN meeting and it was a lot of fun! I thought I did pretty good given my short exposure to doing pair programming 8 hours a day for such a short time. My fellow panel members were excellent and it was great to hear their viewpoints. It seems a lot of people are interested in XP and agile. Now, if I could get a lot of people interested in Smalltalk and dynamic languages, the world could truly be a better place....=)
Applied Pair Programming

I just finished this book in an effort to become a better pair at work. I learned a lot and it was a quick and easy read. Some of the interesting tidbits that I picked up were:
  1. Say aloud what you are doing to your pair
  2. Pairs should be very talkative (there should never be more than a minute of silence)
Lots of great advice on how to deal with a difficult pair and different personalities. I could add few myself: LISTEN, LISTEN, and LISTEN! And trust in your partner to do the right thing. Anyway, if you're doing pair programming, it's a must read!
Lynyrd Skynyrd

I saw the "new" Lynyrd Skynyrd the other night and they gave me a great nice of good ole southern rock. Michelle got teary eyed during "Red, white, and blue" and I must admit it was very emotional. But, then again, I got emotional over "Sweet Home Alabama". Oh well, the only disappointment with the evening was the opening band and the omission of "Simple Man". Everything else was perfect. They're playing again this summer and hopefully they will correct that situation.

Wednesday, March 10, 2004

Put that in your pipe and smoke it

Just go to this article on Smalltalk and Productivity. You just got to love James Robertson's commentary. Have I mentioned how much I love being back in Smalltalk lately? IT FEELS INCREDIBLE!
Personality Tests

OK, at my new workplace, everyone has taken personality tests and have their results posted so everyone can better understand one another. I thought it was a great idea. Here's some of my results and URLs to them so you can you do them as well.

Simple Test

    Introspective
    Sensitive
    Reflective

    You come to grips more frequently and thoroughly with yourself and your environment than do most people. You detest superficiality; you'd rather be alone than have to suffer through small talk. But your relationships with your friends are very strong, which gives you the inner tranquility and harmony that you require. You do not mind being alone for extended periods of time; you rarely become bored.

Colorgenics Tests

    You have a vivid imagination and this is good. Great inventors, explorers all had inventive, imaginative minds. Your friends and acquaintances may consider you over-imaginative and given to fantasy or day-dreaming. So what? This is a part of your character and charm.

    Enough is enough. Nothing seems to be working out as you would like it to and it has got to the stage where you feel as if you can't be bothered anymore. The way you feel is that it would be great if you could be cut off from everything and take it easy - be it only for a short time.

    It is amazing that you yourself believe that old 'adage' that you are a misunderstood person - and you feel that because of this you are being left out in the cold. It is because of this lack of believed understanding that you feel the need to conform to society in general - but this situation leaves you 'cold' knowing that you are not appreciated for your true self. Any relationship that you are developing at this time does not seem to involve any true emotional commitment, you seem to be just playing along.

    You are being unduly influenced by the situation that is all around you. You do not like the feeling of loneliness and whatever it is that seems to separate you from others. You know that life can be wonderful and you are anxious to experience life in all its aspects, to live it to the full. You therefore resent any restriction or limitations that are being imposed on you and you insist on going it alone.

    You are anxious about all the limitations to which you are subjected to at this time. You feel that you are not valued for what or who you are. You need OUT. So why procrastinate any longer - MOVE!

    archetype: The Catapult
    Handy in the real world manipulation of objects and events, this personality type is easily enthused by practical projects. Once gaining the interest of the Catapult, a project will be quickly and sometimes manically dealt with. That energy however will be invisible to those not witness to it. Abrupt is a watchword of this personality.

    Spontaneity is important to the Catapult because it never quite knows when inspiration will hit. Because of this, it often ignores or conveniently forgets rules and boundaries that limit its freedom. This need for freedom extends even to the personal sphere and though this personality is kind and gentle, it will often be hard to pin down to a monogamous lifestyle. When discussing their need for freedom, the Catapult will most often resort to non-verbal means to express itself.

Jung Typology Test

Funny, huh? My wife is exactly the same thing! Maybe that's why we get along so well! We understand one another! =) Anyway, I thought this was a fun little assignment.

Friday, March 05, 2004

Dust Off Those 3-D glasses

I'e always wanted to do my own 3-D images. I love 3-D stuff and have been in awe of it since I was a little kid. I can remember my father bringing home the blue/red glasses and watching movies like "King Kong" in 3-D. It was great! He also took me to several 3-D movies when I was little, so it's always had a special place in my heart. So, I found some resources on the net (look here) that tell you how to do it. I went out with my trusty disposal cameras and came up with two really cool images with little effort. The colors are not quite right on these and I'm still looking into that, but they look really sharp in my Squeak image. Yes, I did doctor the images in Squeak. The other pictures still need a lot of work and I hope to post some more. But, I was so excited that I just had to share these!

Crowley 3-DHouse 3-D

Thursday, March 04, 2004

Additional Info

Smalltalk User's Group is March 30.

Wednesday, March 03, 2004

Omaha Smalltalk User's Group

If you're in the Omaha, NE area, please feel free to stop by Abraham's public library (around 90th and Fort) at 7:00pm for the first Smalltalk user's group! We will have an exciting demo of Squeak by Mr. Steve Wessels. I would like to have lots of discussions and maybe we'll go for coffee later. I want the user's group to be a lot of fun and very interactive.

Saturday, February 28, 2004

Java Serialization Framework

I'm so excited right now. I started the Java Serialization idea 2 years ago! Now, it should not have taken this long to write it, but I've change jobs twice and lots of overtime at my real job doesn't help. Well, I finally got some free time and got it working. I'm still not 100% happy with it, but I plan on making that better over time. The next mission is to be able to run the Java byte codes in the class loader. Should be fun! But, I can at least say that I finished what I set out for part 1. Anyway, check it out here. I've already found it great to debug serialized java object streams (especially, if the classes had changed and someone forgot the serial version UID!). It now does read/write of serialized streams.

Wednesday, February 25, 2004

Camp Smalltalk, Here I Come!

I just sent in my deposit and I can't wait to make the journey to this year's Camp Smalltalk. It will be the first one I've ever attended. So, who's coming with me?

Monday, February 23, 2004

Why Smalltalk is so freaking great

Go directly to Alan Knight's post. AMEN BROTHER! AMEN! Can I add a few?
  • Metaclass The most fun one person can have. Their power is enormous. For example, by taking advtange of metaclasses, I can write compilers inside of Smalltalk! I can also browse the code and debug it with my Smalltalk tools! WOW! Smalltalk/X has several examples built in (Prolog, Java, etc), Squeak has several to download, and not to mention that any other Smalltalk allows it. I can do this on a per class basis. There's a lot of sick things that you can do like have compile each of your classes differently or even have them "behave" differently. Recently, I heard they were adding instance-based behavior (ala Self) to Squeak so you can add methods and variables to instances and not just classes. So, you could have instances with different behavior. How COOL is that!?

  • become Yeah, yeah, yeah, I know...Every book tells you not to use it, but when you're developing, it comes in very handy. And I still contend it's good for proxies. It's something to use sparingly and I will always look for other solutions. But, it's nice to have it when you need to get rid of instances in your image.

  • IDE is a running Smalltalk system Now, the Eclipse folks will say that this is true for it as well. But, can I change the way I look at classes and see my change immediately without restarting the environment? No is the answer in Eclipse and yes in Smalltalk. It's an amazing thing to taylor your IDE to you and do it while you're in it without shutting down.

Well, that's all I could add since Alan did such a great job. Go read his excellent post now!

Saturday, February 21, 2004

Excellent Article On Business and Lisp

There's simply nothing more that I can add, except go read this blog post from Bill Clementson. I think we should do the same for Smalltalk as well since I think it's equally suited for the same reasons Bill gives for Lisp.
Definition of Stupid

I've never seen this definition before, but I like it:
    A stupid person is a person who causes losses to another person or to a group of persons while himself deriving no gain and even possibly incurring losses.
I gleemed this from a post from James Robertson's blog.

Friday, February 20, 2004

I want to go!

Here's the details on Camp Smalltalk 2004!
    I'm pleased to announce that we will be holding a Camp Smalltalk from
    July 18-23 2004 in the vicinity of Portland, Oregon, USA.

    To finalize our space reservation, we need to place a deposit on a
    minimum of ten sleeping room reservations. We expect more than that to
    attend, but we need at least ten definite attendees to step forward
    and send in a deposit now. We must receive the minimum number of
    deposits BY MARCH 5. If you want to make a reservation, see below
    for details.

    The basics:

    What:
    Camp Smalltalk. Smalltalk enthusiasts spending several days in small
    groups collaborating on a number of open-source projects to benefit the
    Smalltalk community. All Smalltalk dialects welcome. For more details,
    see http://campsmalltalk.com.

    Who:
    Smalltalk enthusiasts. All experience levels are welcome, from "Using
    Smalltalk for more than 20 years" to "Fascinated by Smalltalk, but never
    really used it."

    When:
    Afternoon of Sunday, July 18, through midday Friday, July 23

    Where:
    McMenamins Edgefield
    Troutdale, OR, USA
    http://mcmenamins.com/Edge/index.html

    How Much:
    The main cost is the lodging and meals package at Edgefield. You're
    responsible for getting yourself there. All prices given include room,
    meals, gratuities, and tax for all five nights, and are in $US.

    Single-occupancy King or Queen or Double Queen room: $600
    Single-occupancy King or Queen or Double Queen Suite with bath: $952.50
    Double-occupancy King or Queen or Double Queen room: $530 per person
    Double-occupancy King or Queen or Double Queen Suite with bath: $787.50
    per person

    There are very few rooms with two beds -- if you want one of these
    rooms register soon.

    We're looking into high-speed internet access, which would have some
    additional cost. We will not commit to additional cost without the
    approval of those who have registered.

    ---------------------------------------------------------

    Facility Details:

    Location

    McMenamins Edgefield, Troutdale, OR, USA
    http://mcmenamins.com/Edge/map.html
    A 15 minute drive east of PDX, the Portland Airport
    It's right on the edge of the Portland Metro area, five minutes from the
    hiking and waterfalls of the Columbia River Gorge. It's easy to reach by
    public transit from either PDX or downtown.

    -------------------
    General Feel

    A private brewpub-based resort at a lovingly and quirkily restored
    historic campus of buildings -- lodgings, restaurants, brewpubs,
    winery, gardens, movie theatre, and more. Even a little golf
    course. Filled inside and out with interesting artwork
    (http://mcmenamins.com/Edge/art.html). Even a working hot glass studio
    on the grounds. Hillside location with views across the Columbia River.


    --------------------
    Work Room

    We'll be in the main ballroom, which is generously sized (36x68 feet,
    11x20m), on the second floor of the main lodge, with many windows on
    three sides and a huge mural on the walls.
    The view is away from the river.

    ----------------------
    Sleeping Rooms

    Mostly European-style rooms, with private baths down the hall. Some
    suites with bath are available at a higher rate (see above). Most
    rooms have one bed. A few two-bed rooms are available -- send in a
    deposit soon if you want one of these.

    -----------------------
    Meals

    Meals are included with room. If we eat in fairly small groups in their
    restaurants, they'll give us vouchers good for up to a specified amount
    for each meal. The Black Rabbit Restaurant
    (http://mcmenamins.com/Edge/brabbit.html) is very good, and the Power
    Station Pub (http://mcmenamins.com/Edge/pub.html) also has good stuff.
    Voucher amounts will be $10.50 for breakfast, $16.95 for
    lunch, $26.25 for supper.

    -----------------------
    Activities

    On-site: Golf, evening movies, wandering around looking at interesting
    stuff (brewery, winery, distillery, artwork).

    Fairly short drive: The Columbia River Gorge
    (http://www.fs.fed.us/r6/columbia/forest), with hikes and viewpoints
    for amazing waterfalls and volcanic cores, Bonneville Dam, mountain
    viewpoints and more hikes. About the same distance to downtown Portland.

    Longer drive: Mount St. Helens, Mount Hood, boardsailing or kitesailing
    on the Columbia, etc., etc.

    ==========================================
    Registration
    ==========================================

    To register, print out the registration form available at
    http://wiki.cs.uiuc.edu/CampSmalltalk/Camp+Smalltalk+Oregon+2004
    and send it with your deposit to:
    Martin McClure
    GemStone Systems
    1260 NW Waterhouse Ave, Suite 200
    Beaverton, OR 97006 USA

    To help us reach our minimum, and to guarantee you a room, we must
    RECEIVE your deposit by MARCH 5.

    For details, check the FAQ below, or the latest info at
    http://campsmalltalk.com

Wednesday, February 18, 2004

Reading List

OK, I just found this recommended reading list from the Squeakland website. It was compiled by none other than Alan Kay. What shocks the hell out of me is that I've never heard of any of these books. Crap, just as I'm getting a little bit of head way on my reading, this comes up. Looks like I'm going to have my nose in a few books soon...=) Should be a lot of fun!
Master of Fine Computing And Mentorship

Alright, I've been thinking of the idea of aprenticeship lately (shocker, right?). And it got me thinking about the mentors that I've had in the past. Several people have taken me under their wing and mentored me. I am thankful to every one of them. I learned different things from each of them. Everyone of them have made me not only a better developer, but a better person as well. Mentors can teach things that a book will never ever do. They teach experience via horror stories of their own past. The writing style of Andy Hunt and Dave Thomas reminds me of being around a great mentor without being physically there. I love their books, but back on topic... I am thankful that I've studied under the best. They made me understand objects, taught me all sorts of cool tricks, and discipline. But, I feel like I have so much more to learn. Which brings up to my next question. Who would you want to be a apprentice under? I've already be an apprentice under Steve Wessels, Richard Manning, John Sarkela, Paul McDonough, Leroy Mattingly, and many more than I can think of. So, here's a list of people I would love to be an apprentice to: Paul Graham, Andy Hunt, Dave Thomas, Rebecca Wirfs-Brock, Allen Wirfs-Brock, Dan Ingalls, Alan Kay, Jill Nicola, Mark Mayfield, Mike Abney, Robert Martin, Martin Fowler, Kent Beck, Ralph Johnson, Gerald Sussman, Harold Abelson, Joe Armstrong, and many more. I'm sure I'll think of more that I missed later. The list grows every year. But, it's fun to think of. There's just so many people that have helped me and will help me. I'm thankful to them all. So, who would you pick if you could pick anyone to be an apprentice for?
Harvesting Party For Squeak

Ken Causey just announced 100 hour parties for harvesting Squeak bug fixes. I think this is simply a brilliant idea and I hope to attend at least one of these:
    Also posted as a story at
    http://people.squeakfoundation.org/article/29.html

    No, I don't mean one party that is 100 hours long. I mean a recurring
    party every 100 hours.

    I'm sure everyone has noticed that the Harvesting process has
    bottlenecks. We are largely a community of Doers. It's difficult to
    find the time to settle in and take care of some of the mundane issues
    associated with harvesting. We also don't have enough eyeballs looking
    at code right now even at the best of times. So I would like to borrow
    a page from other open source communities and schedule our version of a
    bug squashing party. To steal from Kent I would like to 'turn the knob
    up to 10' on this concept. Let's have a regular event scheduled in such
    a way that everyone has an opportunity to attend at least once a month
    or so. 100 hours = 7 days * 24 hours - (3 days * 24 hours) + 6 hours.
    By scheduling a 4 hour party every 100 hours each party will occur on a
    different day of the week during a different period of the day. With an
    average of 7 parties each month taking place on different days and at
    different times everyone should be able to find a time to attend at
    least one each month.

    We can develop the details of what happens at a Harvesting Party over
    time but I envision that everyone that has some free time during the
    party come to the Squeak IRC channel (#squeak on irc.freenode.net) for
    companionship and virtual refreshments. You will start up a Squeak
    image with BFAV2 loaded and pick out a BUG or a FIX or an ENH that needs
    reviewing or approving or fixing (depending on your abilities and
    preferences). When you run into a snag or a question the others
    attending the party will be there to provide support and advice.

    I floated the idea first to Göran on #squeak and he mentioned that he
    had just sent an email to Marcus Denker suggesting a 24 hour harvesting
    party to try to move 3.7a along to beta status. So we threw the idea
    together and so here's the bang:

    The first Harvesting Party will take place from Noon GMT Friday February
    20th, 2004 to Noon GMT Saturday February 21st, 2004. A 24 hour party
    with a goal to replace that 'a' with a 'b'.

    The next Harvesting Party will take place at 16:00 (4 PM) GMT on
    Wednesday February 25th, 2004 (100 hours after the end of the big
    party).

    Each regular schedule Harvesting Party will last 4 hours.

    The schedule for the next 7 harvesting parties is (each 100 hours after
    the start of the previous party):

    20:00 (8 PM) GMT Sunday February 29th 2004

    24:00 (Midnight) GMT Friday March 5th 2004

    04:00 (4 AM) GMT Tuesday March 9th 2004

    08:00 (8 AM) GMT Saturday March 13th 2004

    12:00 (Noon) GMT Wednesday March 17th 2004

    16:00 (4 PM) GMT Sunday March 21st 2004

    20:00 (8 PM) GMT Thursday March 25th 2004

    I will handle announcing the parties regularly.

    So put on your party hat, limber up your fingers, prepare your mind, and
    show up!

    Ken Causey

Tuesday, February 17, 2004

Insanity

I've always been bothered with the notion that programmers are interchangeable parts. Technical managers that I have had seem to think we are all the same. Cut from the same tree if you will. Am I the only one that thinks this is hog wash? Like anything in life, there will be people that rise to the top of their field and be the best there is. But, it seems people think that programmers are all the same. I find this bothersome. I've known managers that thought they could pull anyone off the street and in 6 weeks have a good programmer. Would we expect to do the same with musicians? Just pick anyone off the street that knows nothing about music and expect them to play a mozart concerto flawlessly after the same period of time? I think the answer would be no! Would we expect to take even a first year english student and expect them to write poems the caliber of William Shakespeare? HELL NO WE WOULDN'T! So, why do we expect the same from programmers? I think like anything in life, those that have passion for programming will be better because they simply practice more (and read more too). We all know great programmers are hard to find (and I always pick their brains when I find one). Not every programmer is the same. We all have strengths and weaknesses. Why should we treat software engineers as interchangeable? It makes for nice marketing, but leads to mediocre software. I hear a lot of complaints about that. Well, I think one path away from mediocre software would be to stop treating us as interchangeable equal parts. Some people will be just better (either through talent, brain power, or sheer knowledge) at certain programming tasks. We should listen to them more when we are doing those tasks. The expert will not always be the same person. We should give them work that matches those talents. There is room for every skill level of developer on a project (and for each task), but we should make our better programmers be the mentors for their respective expert area. The best way to learn is by example and everyone can improve their code-fu. Thinking of programmers as being on the same footing leads to laziness and never offers a way for junior developers to learn from the more talented developers. Apprenticeships should be our path. Programming is not a simple task and has many facets. Why don't we just acknowledge it? I seemed to be all over the map on this one, but there's a lot to be said.

Sunday, February 15, 2004

Updgraded to Squeak 3.7a

WOW! It looks pretty! I love the new font and a lot of the graphics to make things look a little bit more mature. I like it! It took awhile to update my 3.6 and it looks like there has been a LOT of changes! Squeak changes a lot from release to release and it's simply amazing. I've also decided to work on my Java Serialization framework again and to finish it up!

Saturday, February 14, 2004

Silly

Do you love peanut butter and jelly? Well, it peanut butter and jelly time! Go here to prepare!

Thursday, February 12, 2004

Great article

I just finished Dave Thomas' and Andy Hunt's excellent article, The Trip-Packing Dilemma. I wish I had the knack for boiling concepts down like they do and making them easy to understand. I've been questioning the YAGNI (you ain't gonna need it) concept lately of XP and they have written an excellent critique of it. It's full of food for thought. Right now, they might be favorite programming authors (better watch out Mr. Fowler). They don't know how much I get from their wisdom. I am eternally grateful.

Wednesday, February 11, 2004

Smallblog

I just read via the comments on James Robertson's blog that Avi is working on a new version of SmallBlog! I've been looking at adding cookies for a little while (but I got too deep and screwed everything up). And well, I must admit I can not wait till Avi is finished so I can see how he did it! I haven't made any new updates to Smallblog because of this and I keep finding myself in trouble in the code. But, I've been learning a lot about Comanche and Seaside (always a good thing).

Monday, February 09, 2004

Great Joke

My grandmother-in-law sent me this great joke:
    Three Southerners and three Yankees are traveling by
    train to the Super Bowl. At the station, the three Northerners
    each buy a ticket and watch as the three Southerners buy just one ticket.

    "How are the three of you going to travel on only
    one ticket?" asks one of the Yankees.

    "Watch and learn," answers one of the men from the
    South

    They all board the train. The three Yankee men take
    their respective seats but all three Southerners cram into a toilet
    together and close the door. Shortly after the train has departed, the
    conductor comes around collecting tickets. He knocks on the toilet
    door and says,
    "Ticket, please."

    The door opens just a crack and a single arm emerges
    with a ticket in hand. The conductor takes it and moves on.

    The Yankees see this happen and agree it was quite a
    clever idea, so after the game they decide to do the same thing on
    the return trip
    and save some money. When they get to the station
    they buy a single ticket for the return trip, but see, to their
    astonishment, that the three Southerners don't buy any ticket at all.

    "How are you going to travel without a ticket?" says
    one perplexed Yankee.

    "Watch and learn," answers the men from the South.

    When they board the train the three Northerners cram
    themselves into a toilet and the three Southerners cram into another
    toilet just down the way. Shortly after the train is on its way, one
    of the Southerners leaves their toilet and walks over to the toilet in which
    the Yankees are hiding. The Southerner knocks on their door and
    says, "Ticket, please."
More Alto Dorado Music Posted

Well, it's old stuff that was mainly written on my qy-70 when I first learning midi sequencing. Fun stuff. I dragged it back out and had forgotten how much I enjoyed it. So, I decided to put it on the web. Hell, I figured somebody out there might like it. Go here to listen and scroll down to the bottom (it's the oldest stuff, thus it's on the bottom).
Nothing cleanses the soul

Like a day of listening to nothing but Zakk Wylde. I can not wait for his new acoustic album. If it's anything close to Book Of Shadows. The man is a rare breed: a great guitarist and songwriter. Something that you don't see too often. Plus, you gotta love that southern rock vibe coupled with heavier than hell guitars. It doesn't hurt that he puts down Limp Biskit every chance he gets too....Hehehehehe...=) Just preparing myself for some great southern metal tomorrow: DAMAGEPLAN! This is going to be the year that the southern boys teach everyone what an ass kicking truly is. I know, I know, Zakk is not southern, but damn, I make him an honorable member of the club of southern metal gentleman. Hint: Zakk's the real deal and not that wuss kid rock....=) Now, if Dimebag and Zakk would make one album together....Metal would be over as we know it.
New Agent Remote Control

I decided to spend a little bit of time and make some much needed updates to my agent remote control software. It's a fun little project that I do for just me. I've now added the capibility to load/store your own tapes for the agent to run. The next version will have the capability to edit the event list and the delays. I also fixed several bugs that had been nagging me and a basic clean up of the code. I'm still not happy enough with the code to release it yet. Anyway, have fun.

Sunday, February 08, 2004

Collections, messages, and blocks

I've been seeing a lot of code lately that uses select: and collect: messages to collections and you might be thinking, "yeah, Blaine what's the big deal, that's the way we do things!" Now, doing a collect:, select:, or anything else on small collections is fine, but what about when the collections get big? Things like a collect:, select:, or reject: become time consuming and huge memory suckers, since Smalltalk has to create a new collection for the new copy. Or does it? Since, we are just sending messages around and are encapsulated from the implementation of the collection that is returned by collect: or select:. Why not delay the calculation? Keep the block around and avoid calculating the new collection until absolutely necessary. I want to play around with this idea and see what happens. I'm thinking for small collections, it will cost more, but as the collection grows to be very large, the performance gain of not creating a new collection will be enormous. Or maybe not...Stay tuned...At the very least, having a language with lambdas (blocks) and dynamically typed gives one a lot of flexibility to think thoughts like this and try them out.

Wednesday, February 04, 2004

YAFSS

More snow coming (I'll let you figure out the acronym) and we're expecting 6-10 inches. There's already like a foot on the ground. This is the third major snow storm is less than 1 month. Oh joy, more shoveling...=)
New Damageplan kicks ASS!

Well, I just couldn't resist the temptation and listened to the entire new Damageplan tonight on vh1's site. The sound was crappy, but the songs came shining through. There's more diversity in the songs (I would have liked a little more) than in Pantera and I think I'm going to love it with each listen. It's cool to see southern brothers doing good and still making kick ass music. Alright, Crowbar you're next for kicking my southern ass...=)
Space Music Retreat

I WANT TO GO! Check it out:

SYNAPTIC CONFLUENCE
space music retreat
May 3-7 2004
Sky Lake Lodge, Rosendale NY

There will be a retreat for electronic musicians at a secluded lodge in
the Catskills of NY state.
Anyone who is interested in sharing 4 days of space, ambient, electronic
and experimental music is invited to participate. Musical activities
will include individual performances, group improvisations, and
collaborations. This is a great opportunity to develop creative ideas
and broaden your musical community, while relaxing in a peaceful,
natural setting.

Non-musicians are also welcome.
The registration fee of $320 will cover 4 nights lodging and 3 meals per
day.

Details are available here:
http://spacemusic.us

We are also planning a one day space music festival in Philadelphia, on
the Sunday after the retreat (May 9). Priority for performances at the
festival will be given to those traveling longer distances to the
retreat, and collaborations formed there.
Happy Birthday Alice

Well, it's the master's birthday! Let's hope he enjoys more! Which reminds me...when is that new tour coming around? I need my Alice fix!

Sunday, February 01, 2004

March 9 is going to kick all ass

The Judas Priest box set is coming out on that date and it has something that I have been waiting for a long time. The 1983 Memphis concert from the Screaming For Vengeance tour!!!!!!!!!!!!!!!!!!!!!!!!!!!!! OH MY GOODNESS! Now, all I have to wait for is the new Alice Cooper remastered discography! This is going to be the year of music!
More Snow

Another 6 inches is to fall upon us. Oh joy...

Tuesday, January 27, 2004

Is It May yet?

OK, Damageplan might have slept for my most anticipated disc this year. This one beats it easily. Go read about it here. It's a newly remastered Raymond Scott album! YES!

Sunday, January 25, 2004

Awesome Site

Check out this site for some really cool graphics. It's for chip music (or old video game music for you new folks), but I was awe struck at the amount of time that had to be put into this site. Very Cool! Check it out here.
Beau Hunks Sextant

I ordered the rest of the Beau Hunks Sextant CDs covering Raymond Scott today. I bought one and I loved the new recordings so much (just as good as the originals, BUT the improved sound quality using today's recording techniques is phenomal). Raymond Scott's compositions are so great. He embodies everything that I want to be in a composer. His compositions are challenging and exciting, but doesn't alienate any listener. Anybody can enjoy his songs from their first listen, but it's the subsequent listens that reveal their true inner being. I want my compositions to be more like that, but with a more modern feel. I think Raymond doesn't get justice in this world. He innovated a lot of electronic music (the first sequencer and providing an early synth prototype that was an inspiration to a young Moog). I wish more jazz and progressive rock musicians would take a page from Raymond and realize that good music that challenges the soul doesn't have to be exclusive.
DirectSound Conquered

Well, I have played sound with DirectMusic (simply calling the method to play a .wav file) and have been trying to get a sound to play in DirectSound. Now, you might ask what is the difference? The difference is that DirectMusic is built on top of DirectSound (as far as I can tell) and I need to get down into the gutty works of Direct Sound. Well, with the help of Game Audio Programming by James Boer and the excellent COM support of Dolphin Smalltalk (they make life so easy for me), I made sound directly with it! YIPPEE. I parsed the WAV file directly into bytes and then played it through the buffers of DirectSound. I know, you might be thinking, BIG DEAL. Well, it proves to me my understanding of COM and DirectX. The next step is my first software synth! Sorry, I just had to do write about this before I go shoveling snow (ECKY ECKY POO).

Saturday, January 24, 2004

Robot Scientist

Apparently, they've created a robot scientist. It does a lot of the reptitive tasks in lab experiments. But, I still think it's pretty cool. Check it out here.

Thursday, January 22, 2004

Damageplan- Feb. 10

I CAN NOT WAIT TILL FEB.10 ! Why you might ask?! It's because that's the release of the new Pantera, err, Damageplan CD! It's the guitarist and drummer from Pantera and the new song smokes. I've been listening to Pantera a lot and it's just going to slay. Oh and did I mention a special appearance by Zak Wylde. Two of my favorite modern guitarists on one CD, yeah, I can't wait! My musical tastes have been weird lately. I've been on a steady diet of metal, gameboy music, 60's spy music, and Raymond Scott. And the soundtrack for Shaft has found its in way into my playlist twice...=) But, get ready for some awesome metal on Feb. 10!
Gameboy Advance SP Addiction

Santy Claws got me one of these for XMas and I am addicted! I've used this more than I did the Gameboy Color I had and I think the reason is because it's just so easy to see what's going on and it's SMALL. I've been getting games for it like a mad man (I even got a new music maker called Pocket Music). So far, my favorite games are Spider-Man and Iridian. It's a nice little diversion that gets me away from my usual escapades of either music or technical stuff. But, I'm getting the strong urge to want to port Squeak to it for some odd reason...=) Anyway, these things are the coolest game consoles and it's great to take everywhere. Now, if they would only make personnal organizers this size and I would be in heaven. Oh yeah, I love the sound of these little puppies too! I can't wait to make some music on it!

Monday, January 19, 2004

eXtreme Programming Growing Pains

I've been having more XP growing pains. It's hard going from working in solitude (where on a team to working in pairs. Some days I love pair programming and on others it seems like an albatross around my neck. I still think pair programming is the way to go, but we as developers have a lot to learn about being social. We spend our time behind either books or computers. I'm as guilty as any other developer (perhaps more so). I love to program and read about technical stuff. So, are my partners making pair programming less desirable on certain days? NO! It's me. I'm used to programming alone and pairing on critical issues. Sometimes, I feel like I a need a break from pairing, but I know it's just my comfort zone talking. It's becoming more natural to pair, but it hasn't been without a few pains. My daily programming life is better since I pair everyday, but it's that inner urge to grab the keyboard and rock'n'roll that I keep fighting. Must resist...=) Pair programming is good because the quality of the code is higher and I learn a lot from my partner everytime I do it. I plan on blogging more on the pyschology of pair programming (not that I'm a pyschologist), but I find it interesting the social interaction of pairs. I think proper mixing of different personalities is very important in XP and knowing how to deal with them.

Tuesday, January 13, 2004

Joy Of Java

And this is why I don't miss Java: Joy Of Java. While you're at it, read the rest of the blog for a lot of fun reads. This guy knows what he's talking about and is very entertaining to read. But, I remember pain like this when I was doing Java. I tell ya I don't miss the 10 minute start-up time of a Tomcat servlet so I could find out in less than 2 seconds that I had to restart it because I found my problem. Wash. Rinse. Repeat. It's nice not to have to restart the web server everytime you want to debug new code (yeah, I know about hot swap, but it only works on simple method changes....). Lots of languages can keep their web services up and running while you're programming in them though (think scripting, lisp, smalltalk, etc)...

Monday, January 12, 2004

Prolog and Smalltalk

So, awhile back I had an idea to integrate Prolog (which I didn't know then, but know a little now) and Smalltalk. I thought it might be a nice fit to put my rules in a Prolog form and have it integrated into Smalltalk. Well, first I find out that someone wrote exactly this in Squeak. Next, I find that it's well integrated into Smalltalk/X! WOW! My point with this blog is that there is a lot of cool things happening out there in the Smalltalk sphere and a lot of developers writing tons of great software. It's also nifty to know that Smalltalk is malliable to different paradigms (the Lisp dudes make a big deal of this too) and is easy to implement. I think I might be learning Prolog from one of the Smalltalk environments since it is so easy to debug. And plus, it would be nice to learn the way it all works.
Smalltalk/X

OK, I've always known about this Smalltalk environment and have played with it on occasion. For some odd reason, I thought I would fire it up and look at it. Well, little did I know it has embedded Java, Lisp, and Prolog inside of it! Very cool integration as well! The interface is pretty slick and is cross platform. These guys have been working really hard on this product. Very impressive! So, what are you waiting for? Go check it out: Smalltalk/X.

Sunday, January 11, 2004

Hyperscore

A good friend of mine (Bart Weller) sent me this link to Hyperscore and to this Hyperinstruments. Both are from MIT. The first link is for a program that sounds very yummy (a different way to make music!) and if you're looking for a different way to make music, it looks promising (I'm going to download it NOW!). And the second link is the more general project overview (I love the names they give a lot of the stuff). Anyway, go check it out!

Thursday, January 08, 2004

Rules of XP

This is something that's been on my mind for a little while now: The Rules Of XP. I find having rules seems to be anti-XP. I find XP to be about being pramatic and agile. Rules seem to me to be about being rigid and orderly. The exact opposite of the XP philosophy. Maybe I have it wrong. But, to me, the XP book is a set of guidelines and not rigid rules. It seems with all of the extra books on XP that go into every gory detail of Kent Beck's book is overkill. 100 pages was the perfect size for that book and all of the practices I agree with. But, to have rules to follow for doing stories or even coding if absurd. It should be what allows your team to "embrace change" and "delight your customers". Am I the only one that feels this way? I'm going to go write some unit tests.

Wednesday, January 07, 2004

Another Cool Quote

I love this quote:
    "C for sinking, java for drinking, Smalltalk for thinking - craig, tim, various"
How true....How true...=)

Tuesday, January 06, 2004

Cool Quote

"Complexity is easy; Simplicity is hard."
-- Edmund Keane

Yeah, this one is going on my quote page when I get home....=)

Monday, January 05, 2004

On Pirates

Go read this article by Nick Bradbury. All I can say is AMEN! Preach on, brother!

Sunday, January 04, 2004

New Paul Graham Article

Mr. Graham has written another great article entitled "What you can't say". It's about questioning the norms around you as well as questioning the "impromper" thoughts. He also mentions not to talk about your thoughts in open public. Not sure if I agree with this, but I can see his sentiments. I know I don't share all of my "improper thoughts"(like XML is overused, ooppss, I said it out loud...shame on me!). Curl up by the fireplace, read the article, and get those neurons firing on "What you can't say"!
I'll Be The First In Line

Just heard that O'Reilly is going to publish a collection of Paul Graham's essays called "Painters and Hackers". Oh boy, I'll be the first in line. It will be published in May. I can't wait!
Ruby Presentation

I spent the weekend getting a presentation ready for Ruby for work. We're basically presenting Ruby as an alternative to Korn shell scripting. Now, I think Squeak would make a better fit, but for various reasons Ruby is a better sale. It's only for scripting and it would be nice to get a more advanced language than Korn shell in there (the Squeak sale will come later). Anyway, I decided to give my presentation via web pages (this is a big statement for me since I hate web applications). Why would I do this? Well, I think it's pretty cool to run a web server in the language and show how simple it is to add server features. I've got it set up to run Ruby code that's typed in from a form or file. It displays the results. Everything is live and nothing is canned. I'm tired of seeing dead presentations in powerpoint and wanted something dynamic. Later, I want to do the same thing in Squeak and Dolphin (especially Dolphin, since I think I would rather do presentations directly in Squeak). I'm pretty excited about this presentation and can't wait to see people's eyes when they realize that the whole presentation has been running in Ruby and all code has been live. Oh yeah...=)
Pragmatic Programmer: Language of the Year

OK, I've always thought learning new languages was a good idea, but I really like the Language of the Year from the Pragmatic Programmer (if you haven't read it, go BUY IT NOW! And while you're at it, get Software Craftsmanship too). So, last year, Javascript and LISP were my languages of the year. I know it's not a single language, but I thought one "practical" language and one "academic" language was good. I can hear some scoff at the idea of an "academic" language, but let me explain. I want one language to learn that is good for my career portfolio and helps me in my day to day activities, thus "practical". But, on the other hand, I want a language that is different from the way I think now. LISP fit that bill last year and I must admit that it's changed the way I think about programming forever. I use a lot more blocks now than ever (and I feel sorry for the Java folks who don't have them without a lot of typing...they have them, but they are very painful). Anyway, I wrote this post to announce my language(s) of the year. My "academic" langauge this year is Prolog. It was down to it and Erlang. Both of which hold a lot of appeal to me (I've read all of the Erlang documents and have used a lot of the ideas in my work already and Prolog for the rules). Well, I decided since Erlang is functional to take break and do a rules based approach to programming. My practical language this year is simply Korn shell. I want to get better at Linux and we use a lot of Unix at work. So, there you have it Prolog and Korn shell. I'm using the SWI-Prolog implementation to learn. I've started learning Prolog off and on, but this time I'm sticking to it. I would also like to look at the implementation of it in Squeak and play with the code in Peter Norvig's excellent book on AI (a prolog interpeter in lisp). An exciting year for learning that's for sure. If anyone wants to learn with me, send me an email and I'll tell you the books I got and maybe we can share information.
Need a Dose Of Bad Ass Music?

HOLY SHIT! If you love metal with passion, go right now and listen to: Rebels Without Applause. The new songs from their album are just incredible. I've been a fan of Greg Fulton for several years (Znowhite, Cyclone Temple), but I think this is his best material yet. Between him and Jimi Hazel, they are no better metal guitarists period. Groove, passion, and heavier than any new metal band I've heard in a long time. The new songs show a little bit of Mr. Fulton's thrash past. But, believe me....this his best material yet....Now, if 24-7 spyz and Rebels tour....please come to Omaha!!!!!!!

Friday, January 02, 2004

Something Cool

Well, we brought in the new year with the Classic Rock All-Stars and they were a lot of fun to watch on stage. They were incredibly tight and looked like they were having the time of their lives. Anyway, I thought it was cool that the first song that they played in the new year was....School's Out by Alice Cooper. I didn't expect that! VERY COOL to have the first song you hear be from the master. Now, let's hope I get to see the real thing this year!
Interesting Article

James Robertson found an interesting article about belief vs. data. An interesting read, but I loved James' commentary. It made me think that if everyone is going to Java (and continues) on faith that it is better (even though we know it's not), maybe we could get everyone to move to Smalltalk with the same logic. So, I will simply end this blog entry with let's create the data that proves what we all know: SMALLTALK IS BETTER! I know I've seen experiments that prove that Smalltalk is more productive. We all know we are more productive in it....But, let's get our data together! Up the blocks!
Call -151: My New Composition

I finally finished my first composition since I've been in Nebreska, download it in mp3 here. It's called "Call -151" and if you any of you did assembly language on the Apple ][, it should bring back some good ole memories. I made it with various stuff, but you should hear the fs1r, gameboy, atari 2600, circuit bent toys, and various other bleedy goodies. If you want to check out the rest of my songs, feel free to download them too here.
New Blog

Please welcome Sean Mahan to the world of blogging by visiting his site here. He's a good friend of mine and has a great outlook on life. Did I mention he has an incredible sense of humour and can sling code with the best of them? Check it out now!
Alto Dorado: The Soundtrack

I just completed a new song this weekend and decided to create a web page for my musical musings. Check it out here. All of my new music is downloadable from my site (and not mp3.com). Feel free to drop me a line to tell me what you think (both good and bad). I know it's not everyone's cup of tea, but I sure do have a lot of fun making it.