Jan 03 2009
Your Code Sucks in Spanish
or ¿Por qué tu código apesta?
My friend, Israel Antezana in Bolivia, translated my “Why Your Code Sucks” post into Spanish. Check it out on his blog.
Jan 03 2009
or ¿Por qué tu código apesta?
My friend, Israel Antezana in Bolivia, translated my “Why Your Code Sucks” post into Spanish. Check it out on his blog.
Oct 08 2008
I just spent a couple of enjoyable days at Agile Open California 2008. And openspace-based Agile Software Development conference.
I was quite impressed with the format of the conference. I hadn’t been to a fully openspace conference before, and thought it worked really well and was pretty cool.
I made some new acquaintances and reconnected with several existing ones. Always a good thing.
Sep 04 2008
Several friends I follow on Twitter are using Skitch. For example, check out Robbie Russell’s LOLBUGZ examples.
I just downloaded the beta version and will be using it whenever I can. So far it’s just like Plasq’s other product.. i.e. amazingly outstanding!
Aug 15 2008
Added a paragraph about the ZX81.
Tagged by David Chelimsky.
How old were you when you started programming?
Mid teens. I can’t remember exactly when, but it was around the time I started high school.
How did you get started programming?
That I remember vividly. In the town I grew up in we had a “Teacher’s College”.. basically an college that you went to for essentially a bachelor’s degree in education. Their library was open to the public, and they had some computers. Specifically several Commodore PETs. I’m not sure of the exact model, but they looked exactly like this. I played around with those for a while, mostly typing in programs from Creative Computing and the Basic Games books by David Ahl. Before long I was experimenting withmy own programs.
The library also had a couple Bell & Howell Apple ][+s… the black ones.. which I still consider one of the coolest looking computers ever made. I recall that you had to pass some sort of test before being allowed to use those… which I did and haven’t looked back since.
Shortly thereafter I got a Sinclair ZX81. I spent a few years hacking both software and hardware for this, including a full size case and keyboard, and a sound system based on the sound chip from the Commodore 64.
What was your first language?
BASIC
What was the first real program you wrote?
I truly have no idea.
What languages have you used since you started programming?
In roughly chronological order: Basic, Z80 Assembly, 6502 Assembly, 6800 Assembly, Pascal, Forth, C, LISP, C++, Modula2, Prolog, Smalltalk, Java, Ruby, Python, ObjectiveC. I’ve likely forgotten some.
What was your first professional programming gig?
That depends on what is meant by “professional”… so I’ll give a few answers.
The first program I got paid to write was on those black Apples… a graphics heavy educational program for little kids… colour & shapes. I used 6502 assembly for it.
The first real job (part time in high school) programming was developing an environmental control & monitoring system in Z80 assembly on custom hardware, which also involved some hardware design & prototyping.
After high school I did some similar work on a consulting basis.
My first “day job” was after grad school, at a startup working on early multimedia CDROM based edutainment (reference/training) products, in Smalltalk for Windows 3.11. That would have been in ~93.
If there is one thing you learned along the way that you would tell new developers, what would it be?
Never stop learning. Learn new platforms, new languages, new techniques, new ideas. Learn languages that are very different from what you already know. Don’t worry about them being directly applicable… the more important thing is the ideas and concepts that you’ll learn.. new ways of looking at things.
What’s the most fun you’ve ever had programming?
Three fairly recent things stick out in my mind. Not surprising, both involved programming in Ruby:
Up Next
Misko Hevery
Brad Cross
Jonathan Wolter
Peter Epstein
Dennis Byrne
Jul 03 2008
I’m pleased to say that we are opensourcing our C++ xUnit-style framework. See the official announcement.
May 14 2008
A friend of mine, Misko Hevery, has written a very cool opensource tool for analyzing Java projects and scoring them in terms of how testable they are. His plans are to have it point out what’s wrong, and make suggestions as to what you can do to improve the situation.
Check it out: Testability Explorer
Well worth looking at.
Jan 28 2008
Several people have asked me for the source from my last book “TDD: A Practical Guide”. A lot has happened since that book, and the files from it that were once posted on the Saorsa & Adaption sites were lost. Unfortunately I’ve had to tell people that the source was now longer in existence.
Well, today I was doing some routine housekeeping and… Huzah!!! I found a zip of those very source files. For anyone who has been looking for them… I’m pleased to say that I’m making them available at long last. You can download it here
Jan 16 2008
My coworker, Paul Zabelin, posted here on some ideas that we’ve been experimenting with using RSpec stories and JRuby.
Jan 15 2008
Tonight RSpec-1.1.2 was released. See most of the details on David Chelimsky’s blog.
I take a personal interest in this release as it includes my first active submission to the codebase in some time.
The functionality I added relates to the definition of steps in the new story component. Up until now, you used a string to define a step. For example:
Given "a student named '$name'" do |name| #... end When "the student is given a grade of $grade" do |grade| #... end Then "the student should $pass_fail" do |pass_fail| #... end
This would result in stories like the following:
Given a student named 'Mike' When the student is given a grade of 40 Then the student should fail
Continually talking about “the student” is grating and very un-natural sounding. Sounds downright, bloody legalistic, actually. And a lawyer is the last thing we want to be accused of sounding like… other than maybe Denny Crane.
One approach to this would be to go to something like:
When "he is given a grade of $grade" do |grade| #... end Then "he should $pass_fail" do |pass_fail| #... end
which would give us:
Given a student named "Mike" When he is given a grade of 40 Then he should fail
Now, speaking of lawyers, we probably want to make this a little more PC and be able to do this:
Given a student named "Michelle" When she is given a grade of 60 Then she should pass
We could conceivable create another set of steps for the feminine forms, refactoring to remove the duplication. That might suffice in the simple case, but it’s still rather crude. I’d like to be able to use a regular expression and create steps something like:
When /(he|she) is given a grade of (.*?)/ do |pronoun, grade| #... end Then /(he|she) should (.*?)/ do |pronoun, pass_fail| #... end
With release 1.1.2, that’s exactly what you can do.
There are a couple things to point out:
This new feature provides a new level of flexibility in defining story steps. Have fun with it.