Blaine Buxton: Positronic Vibrations From Alto Dorado"COMPUTER POWER TO THE PEOPLE! DOWN WITH CYBERCRUD!" - Theodor NelsonOmaha Dynamic User's Group- March 30, 2006 It's time for the most exciting user's group in Omaha to have another explosive meeting! Brent Adkisson will be blessing us again with another of his great presentations. This time he will be presenting Advanced Javascript and AJAX. If you've ever wondered how to get your mind around Javascript, Brent is going to show you! It's guaranteed to expose features of Javascript that you might not have known existed. I hope to see everyone there!WhenApril 4, 2006, 7pm-9pmWhereCafe Gelato156th &...http://blog.blainebuxton.com/2006/03/omaha-dynamic-users-group.html Re: Block Thoughts- March 23, 2006 Alan Knight posted about More Block Thoughts. He made some excellent points. I particularly loved adding the collecting:, selecting, etc protocols on streams. The funny thing is that the method that I used as an example was part of a larger object that actually was a stream. The stream, named WordStream, wrapped a character stream and returned a Word object on each invocation of next. Alan mentions that my Word object is "a little bit messier" than strings. And in the context of the single...http://blog.blainebuxton.com/2006/03/re-block-thoughts.html Thoughts on James McGovern- March 22, 2006 Everyone else has posted their opinions on James McGovern's Thoughts on Ruby and the Enterprise. I figured, "what the hell Why not post mine too". James McGovern lists some problems for the Ruby community to address, but stumbles from the mistakes. So, I'll start out with a nice quote:Many folks haven't figured out that I too am a fan of Ruby.OK, I can buy this, but when it comes to the list, he makes these mistakes:Does anyone agree that the notion of packages namespaces should be a part of...http://blog.blainebuxton.com/2006/03/thoughts-on-james-mcgovern.html More Block Thoughts- March 22, 2006 So, I whipped out the following code to get words from a character stream (input). I read the next word (all alpha-numeric characters) and return it or nil if none were found. Simple, huh Here's my implementation:nextWord wordString wordStream := String new writeStream. input do: :next next isAlphaNumeric ifTrue: wordStream nextPut: next ifFalse: wordString := wordStream contents. wordString isEmpty ifFalse: Word on: wordString. wordString := wordStream contents. wordString...http://blog.blainebuxton.com/2006/03/more-block-thoughts.html Unknown Features- March 17, 2006 I was reading a paper entitled, "Objectoriented Encapsulation for Dynamically Typed Languages", and came across an interesting piece of information.Some Smalltalk dialects attempt to solve this problem by using a special naming convention to specify internal methods. In the Squeak dialect, for example, methods whose names begin with pvt are effectively private: the compiler ensures that these messages can be sent only to self. However, this approach not only prevents accesses to such internal...http://blog.blainebuxton.com/2006/03/unknown-features.html Omaha Dynamic Language Meeting- March 12, 2006 It just keeps getting better and I'm not saying that because I'm the organizer. Last week, we had representives from several dynamic language camps (PHP, Ruby, Smalltalk, Groovy, LispScheme, and Javascript), plus a lot of curious folks. The attendance was diverse and it was fun to give a previous of my STS talk. It was a practice run and I have several things to improve on. I appreciated everyone's patience and we had a fun discussion afterwards regarding "eliminating pain" via unit...http://blog.blainebuxton.com/2006/03/omaha-dynamic-language-meeting.html Omaha Dynamic Language User's Group- March 2, 2006 Controlling Pain: Augmenting Unit TestingSmalltalk has a highly reflective and lively environment that can be used to augment traditional unit testing. It allows us to do things that are only dreamed about in other environments. We can easily question and interrogate code or any aspect of the system. It is not hard to implement tests to ensure code correctness, enforce metrics, and scrutinize resource allocations. You can be creative and take the stance of using tests to stop and minimize the...http://blog.blainebuxton.com/2006/03/omaha-dynamic-language-users-group.html I Have Reinforcements- March 2, 2006 As Joshua Kerievsky says in his book Refactoring to Patterns, so many developers have an obsession with using language primitives such as strings, integers, or enumerations. Whether thats because they think that its too much work to make a class, or itll take too many CPU cycles, or itll eat up too much memory, it doesnt matter. The obsession with primitives is unhealthy and it leads to spaghetti code that is hard to refactor.We must resist the temptation and make supple, agile code. That means.http://blog.blainebuxton.com/2006/03/i-have-reinforcements.html String: How I Loathe Thee- March 1, 2006 There I said it! I hate strings. I really do. Nothing screams, "BROKEN WINDOW!" louder than unnecessary abuse of strings. But, you say, "Blaine, you can't be serious! We need strings! How else would we represent names and labels" OK, you got me. We need strings, perhaps it's the abuse that I loathe. I think an example would be good here. Let's say we had a client who wanted to keep track of his albums and group them by artist. So, we quickly come up with the following class definition:class...http://blog.blainebuxton.com/2006/02/string-how-i-loathe-thee.html |