My Stuff
Email
Twitter
Front Page
Presentations
Projects
Music
Favorite Quotes

Respect
Vincent Foley-Bourgon
Sam Griffith
LeRoy Mattingly
Colin Putney
Matt Secoske
Sam Tesla
Andres Valloud

Admiration
Leo Brodie
Avi Bryant
Alan Cooper
Steve Dekorte
Stephane Ducasse
Doug Engelbart
Eric Evans
Brian Foote
Martin Fowler
Paul Graham
Dan Ingalls
Alan Kay
John McCarthy
Steve McConnell
Peter Norvig
Niall Ross
Randall Smith
Gerald Jay Sussman
David Ungar
Rebecca Wirfs-Brock
...And So Many More...

My Amps
Squeak
JavaScript
Scheme
Java
Corman Lisp
Ruby
Dolphin Smalltalk
Cincom Smalltalk
Self

Archives
05/01/2003 - 06/01/2003
06/01/2003 - 07/01/2003
07/01/2003 - 08/01/2003
08/01/2003 - 09/01/2003
09/01/2003 - 10/01/2003
10/01/2003 - 11/01/2003
11/01/2003 - 12/01/2003
12/01/2003 - 01/01/2004
01/01/2004 - 02/01/2004
02/01/2004 - 03/01/2004
03/01/2004 - 04/01/2004
04/01/2004 - 05/01/2004
05/01/2004 - 06/01/2004
06/01/2004 - 07/01/2004
07/01/2004 - 08/01/2004
08/01/2004 - 09/01/2004
09/01/2004 - 10/01/2004
10/01/2004 - 11/01/2004
11/01/2004 - 12/01/2004
12/01/2004 - 01/01/2005
01/01/2005 - 02/01/2005
02/01/2005 - 03/01/2005
03/01/2005 - 04/01/2005
04/01/2005 - 05/01/2005
05/01/2005 - 06/01/2005
06/01/2005 - 07/01/2005
07/01/2005 - 08/01/2005
08/01/2005 - 09/01/2005
09/01/2005 - 10/01/2005
10/01/2005 - 11/01/2005
11/01/2005 - 12/01/2005
12/01/2005 - 01/01/2006
01/01/2006 - 02/01/2006
02/01/2006 - 03/01/2006
03/01/2006 - 04/01/2006
04/01/2006 - 05/01/2006
05/01/2006 - 06/01/2006
06/01/2006 - 07/01/2006
07/01/2006 - 08/01/2006
08/01/2006 - 09/01/2006
09/01/2006 - 10/01/2006
10/01/2006 - 11/01/2006
11/01/2006 - 12/01/2006
12/01/2006 - 01/01/2007
01/01/2007 - 02/01/2007
02/01/2007 - 03/01/2007
03/01/2007 - 04/01/2007
04/01/2007 - 05/01/2007
05/01/2007 - 06/01/2007
06/01/2007 - 07/01/2007
07/01/2007 - 08/01/2007
08/01/2007 - 09/01/2007
09/01/2007 - 10/01/2007
10/01/2007 - 11/01/2007
11/01/2007 - 12/01/2007
12/01/2007 - 01/01/2008
01/01/2008 - 02/01/2008
02/01/2008 - 03/01/2008
03/01/2008 - 04/01/2008
04/01/2008 - 05/01/2008
05/01/2008 - 06/01/2008
06/01/2008 - 07/01/2008
07/01/2008 - 08/01/2008
08/01/2008 - 09/01/2008
10/01/2008 - 11/01/2008
01/01/2009 - 02/01/2009
09/01/2009 - 10/01/2009

Feed

Add this feed to a running copy of BottomFeeder

Thursday, May 26, 2005

Morphic Thesaurus

 
I've been dabbling with morphic lately and this is the result. It was a fun learning experience. I love using a thesaurus as I've mentioned before here and I wrote a little utility to look up words in one. I can see myself writing a lot more utilties in morphic for myself. This wa only the first. So, if you have Squeak, it's on SqueakMap under the title, Thesaurus. Now, I have my beloved thesaurus built into my Squeak image. ROCK! Now, I need to implement it in Eclipse. But, I have a few other projects that need to be taken care of...=)

Comments

Tuesday, May 24, 2005

Shock And Awe Squeaking In Omaha

 
All I can say about Steve Wessels's demo on Squeak tonight is "Wow". A tour de force of what you can do in Squeak. I got to see a lot of it before he gave it and I helped a little bit (Steve did all of the work). I think we all decided that after 4 hours of intense Squeak presenting (remember this carried over from the last meeting) that we now need to give more in-depth presentations on various parts that Steve presented. So, it looks like we have a lot to discuss this summer! SQUEAK ON!

Comments
  • How familar was the audience with Smalltalk? What sort of things were the audience most interested in? I've been interested in putting together a demo, and I would love get more details about this one went.

    wilkesjoiner at gmail

    By Blogger Wilkes Joiner, at 6:52 AM   

  • It was an audience of very experienced Smalltalkers. Steve gave out a DVD with the demo. Contact him at www.preeminent.org/steve

    By Anonymous Alan Wostenberg, at 5:22 PM   

  • Hey Blaine,

    It sure would be cool for someone to video the Squeak Demo that you all had. All 4 hours. If you guys could do that, I'll take it and edit it on my Mac to create a squeak demo movie that we can post and mirror all over.

    Sam

    By Anonymous Sam Griffith Jr., at 11:19 PM   

Thursday, May 19, 2005

Mad Fun

 
I'm glad I posted my submission to the coding contest. Micheal-Lucas Smith posted his as well and I had a lot of fun reading the code and looking at the web application. Man, I would hate to be a judge! He did such a fantastic job. I didn't think about using Prevayler, but I wish I had. It's simply awesome what he did! If anyone doubts what you accomplish with Smalltalk, look no further. It will be exciting to see what other people did as well.

Comments
  • Wow thanks!. Seeing your seaside version and the way you approached the problem was enlightening. I really liked your survey editor - I should have done that too!

    By Anonymous Michael Lucas-Smith, at 1:49 AM   

  • Connect , Browse For default , Error public View Connect display Line chmod Disconnect . TCP Select protocol (-) JIS File last button Select File transport Home new . header Keyboard Toolbars Keys version Run . Line , (PKI) established. highlighted connection status button to File Keyboard http://wieler-forum.nl/construct10/ moving limitations be type to . . . Details Katakana http://wieler-forum.nl/construct10/,

    By Anonymous Anonymous, at 8:03 PM   

Smalltalk Coding Contest Submission

 
I thought it would be nice to make my Smalltalk coding contest submission available. Just download the zip file and extract it. Simply run the Squeak image and follow the instructions in the workspaces. Now, the code is still rough (make that extremely rough). I'm a little embarassed by some parts of it. But, I am a perfectionist and a firm believer in elegant code. There's a lot of things in Seaside that I didn't use, but should have that would have made my life a lot easier and cleaned up a good bit of the code. The domain is rough as well. There's a great deal of work that I would love to do to it both design and code wise. I've had many thoughts on the subject since yesterday. But, it was 48 hours to complete and I'm happy that I exercised all of the domain with unit and acceptance tests. I also realized that I need to fix SmallHttpUnitTest for VW7.3 and port it over to Squeak as well. But, I digress, I thought making my submission available would be fun for people to see. I thought it would be great to write an article about it and using Seaside. Right now, the code is a barely acceptable form of using Seaside. But, it would be great to write an article on refactoring it to use all of the cool fixtures that are available. We'll see. Anyway, enjoy! If anyone has any thoughts, feel free to drop me a line! Oh and one more thing, I wrote the workspaces in the image at 6am on pure adrenaline alone! And it all needs to be heavily refactored. I was trying to see how much functionality I could provide in 48 hours and minimal sleep.

Comments

Wednesday, May 18, 2005

Smalltalk Contest

 
I participated in the Smalltalk Coding Contest. It was mad fun! I had a blast doing it. Huge thanks goes to Jason Jones and everyone involved in getting this off the ground! Hats off! I would like to thank all of the developers that I built my on top off. I truly stood on the shoulders of giants to get the task done. It was great coding in Squeak and seeing how much I could accomplish in a short period of time. I plan on doing a presentation on it. The task was to write a survey taking tool that allowed you to view the results. I'll probably post my code later. It's still a mess, but what do you expect in 48 hours? Oh, and have I mentioned how much I love Seaside lately? If not, I'm saying it now! Now, I'm keeping my fingers crossed. I hope I'm a finalist!

Comments

Resumable Exceptions

 
Time for another "this is why Smalltalk is cool" post, but this one also holds true for Ruby And Lisp as well. So, it's a "why Smalltalk, Ruby, and Lisp kicks mucho booty" so to speak. OK, enough of the back patting and let's get down to business. Today's topic is resumable exceptions. It has a nice geeky ring to it doesn't it? The first thing you might ask yourself is, "Why in the world would I want to resume an exception? It's an exception! Dead programs tell no tales!" True, true. Normally, you want an exception to send your program down in flames because you had a mechanical glitch that you didn't expect. Better stop everything before the propeller goes slashing through your data unkindly! But, what if we had exceptions that were good that could notify us of potential bad things or even enumerate potential bad things? Well, we do and we can! Smalltalk has a different take on exception handling. Much like a nuclear reaction in a controlled environment gives you energy, and mass destruction otherwise, Smalltalk allows us finer control over exceptions and what we can do with them like resuming. This is a powerful idea and it allows us to do unheard of feats in other languages especially when it comes to things like validation. For example, say we had the following code:
[self form validate]
on: ValidationException
do: [:exception | ^self informUser: 'Validation Failed: ', ex messageText].
self form save.

Pretty simple, right? Well, what if our form is very complicated and it's validation method looked like this:
validate
self name size > 25 ifTrue: [ValidationException signal: 'Name size > 25'].
(self email contains: $@) ifFalse: [ValidationException signal: 'Invalid Email'].

Pretty straight forward and under normal circumstances, our validation code will always signal on the first occurance it finds. Well, for the user it will get tiresome because it only points out each exception one at a time. The user will start to feel like Curly from The Three Stooges. And we don't want hairless users running around do we? Now, what if we could resume and just tabulate the validation exceptions and show them at once? No code changes in the form validation code, just in our handling of it. Well, we can do just that! Here's the new code:
[self form validate]
on: ValidationException
do:
[:exception |
validationMessages add: exception messageText.
exception resume].
validationMessages isEmpty ifFalse: [^self informUser: 'Validation Exceptions' messages: validationMessages].
self form save.

I left out some of the variable declarations to ease the readibility, but you get the gest of it. We now can resume on each occurance of the validation exception! Very cool! But, it doesn't stop there. We can return values from exception signals via resumes and this allows things like dynamic scope variables. Enjoy. Ruby's exceptions are resumable too. So, what are you waiting for? Go play!

Comments
  • IIRC ruby exceptions are not resumable.
    But since there are continuations as first class objects you can make them resumable with 5 lines of code.
    I have to be fair: I never felt the need for resumable exceptions, though I think they're incredibly cool.

    By Blogger verbat, at 5:25 PM   

  • WoW...You're right. I stand corrected. I went looking around in the documentation and I don't know why I thought that! Oh well, I learned something new. Resumable Exceptions are tool in the good ole trick bag. You don't need them very often, but when you do, you really need them...=)

    By Blogger Blaine, at 6:10 PM   

Saturday, May 14, 2005

Jealous: Dolphin 6 Beta

 
Apparently, Dolhpin 6 Beta is out. I'm jealous that I wasn't picked to be one of the beta testers! DARN IT! I guess I have to wait with the rest of the good folk to wait to see what they have cooked up for us. It looks simply wonderful thus far. I have always maintained that Dolphin is the cleanest of all the Smalltalks. It's elegant and beautiful. A simple joy to program in. I simply wish that I would have been one of the choosen few. DARN IT! Oh well, I guess I can wait another few months for greatness...=) I can guarantee it will be worth the wait for all of us! Are there any beta testers that I can bribe for a peak? Kidding, of course...=)

Comments

Wednesday, May 11, 2005

Io

 
I finally got around to taking a serious look at Steve Dekorte's Io language. I subscribe to his blog and it's always a great read. I finally got around to looking at Io since my interest in prototype-based languages is peaking again. It's a wonderful language and from the 10,000 foot view has everything that will be fun to explore. It's inspired by Smalltalk (everything is an object, right on), but has a lot of cool Lispisms (Access to the parse tree...could it possibly do Lisp macros? Yummy! I've been thinking of using code generation and meta-programming together and this looks perfect!). Oh, and did I mention that it's also been inspired by a host of other cool languages like Self and NewtonScript? The syntax is nice and simple. It's been downloaded and I'm ready to learn my language of year! I want to fully explore the prototype-based OO paradigm because I find myself drawn to it because of it's simplicity and it just feels beautiful to me. I'll be blogging more of my thoughts soon...

Comments

Metal Church Memories

 
I listened to the first two Metal Church albums today and they brought back a lot of memories. Most of them are them are from good programming times and my parents freaking out over the lyrics. I remember one time was getting into programming and my father overheard me singing the lyrics to one of their songs. He started to worry when I sang "We kill tonight" from the computer room. I remember my mother sitting me down to tell me my father was worried about me. At least, they were understanding. Man, it's weird when your heroes start dying. I only knew David from his music, but heavy metal music was very important to me when I was growing up. It holds a special place in my heart along with the musicians that create it. They gave me hope and inspiration to keep fighting the good fight. I know it sounds corny and weird, but it's true. Thanks for all of the great memories dude, RIP.

Comments

Omaha Smalltalk User's Group Part 2

 
I am proud to announce an emergency second meeting this month for the OSTUG! Steve's presentation went over so well that we're creating a special meeting just to hold part 2! We didn't get to the Croquet demo because Steve had so much cool stuff to show (Don't worry we're going to get to it). Part 2 promises to be even more exciting. So, if you want to see the future of computing or just do something cool, come see what Squeak can do for you! Steve gives a great presentation that will have you pumped to write Squeak code. Here's the details:

Here's all of the details:

When: May 24, 2005, 7pm - 9pm
Where: Offices of Northern Natural Gas
1111 S 103rd Street
Omaha Nebraska 68154

Office is at 103rd & Pacific. Guests can park in the Northern visitors parking area back of building, or across the street at the mall. Enter in front door, we'll greet you at the door at 7:00pm. If you arrive a bit later, just tell the guard at the reception desk you're here for the Smalltalk user meeting in the 1st floor training room.

Comments

David Wayne Dead At 47

 
David Wayne, original singer for Metal Church, has died at 47 from complications from an automobile accident. Wow, I am in shock. Two of my favorite albums as a teenager were Metal Church's debut and "The Dark". David Wayne sang on both of those albums. I loved his voice. I'm telling you that on the other side there is one hell of a band playing. RIP, David and thanks for all of the wonderful music.

Comments

Monday, May 09, 2005

The Art Of Thinking

 
I just finished reading "The Art of Thinking" by Harrison and Bramson. It's a wonderful little book which despite it's title is more about understanding yours and everyone else's thinking styles. It's an easy and enjoyable read. There's a test in the back and here's how I scored:







Thinking StyleScoreMeaning
Synthesist47Moderate Disregard
Idealist53Moderate
Pragmatist50Moderate
Analyst61Moderate Preference
Realist59Moderate

Basically, I'm pretty even across the board with a slight preference for Analyst and Realist styles and I am weak in the Synthesist style. Now, this doesn't mean anything bad, it's just a getting to know yourself exercise. All of the thinking styles have strengths and liabilities. It has a lot of practical advice on how to figure out what thinking style someone is and how best to influence them to get your ideas heard. It was also helpful for me to know when I tune someone out to why. It gave me a lot of homework and things to try out. Nothing is better than self improvement. It should be mandatory reading for every shop that pair programs.

Comments

Omaha Smalltalk User's Group

 
This month, Steve Wessels and Blaine Buxton will be talking about Squeak and Croquet. Basically, if you've never done anything with Squeak, now is the time to learn. Steve has an unforgettable presentation on the abilities of Squeak. We will demonstrate Croquet and give a more detailed presentation on it next month. As always, bring snippits of cool code and we'll continute discussing Seaside, rules, and FIT project.

Here's all of the details:

When: May 10, 2005, 7pm - 9pm
Where: Offices of Northern Natural Gas
1111 S 103rd Street
Omaha Nebraska 68154

Office is at 103rd & Pacific. Guests can park in the Northern visitors parking area back of building, or across the street at the mall. Enter in front door, we'll greet you at the door at 7:00pm. If you arrive a bit later, just tell the guard at the reception desk you're here for the Smalltalk user meeting in the 1st floor training room.

Comments



Web hosting by ICDSoft

Metalheads Against Racism
This page is powered by Blogger. Isn't yours?


My Weekly Top 20 Artists