sábado, 18 de diciembre de 2010

Text Driven Development

As I already posted, I got a new job in Barcelona, doing mostly apps in Rails (particularly ubiquo, cms)

Luckily, the company is pro-gnu, so I can use linux with all my usual configs. Using ratpoison in a double screen is an awesome experience.

For the moment I lived between the two worlds (gnome vs ratpoison) because I'm continuously asking things to more experienced people, and they usually want to use the mouse when they are on my computer. And I haven't configured everything yet.


Last week, I was assigned a project and was given a 100+ pages document with the functional analysis of the project. First thing to do was reading it and making good outlines of it to create a mental model of the program.

I decided to use emacs org-mode to do the outlinings, and probably the TODOs and Schedules. IT's pretty neat, and doing everything with text files gives me a kind of relief, that everything is under control. In fact, that's one of the things that gets on my nerves about pharo. Being able to use your well known tools in a synergic way is great (IMHO)


After that, I created an UML class diagram.
"We use argouml" someone said. Well, argouml has improved amazingly since the last time I tried it, but honestly, for me it doesn't cut. It has some kind of code generator (for java) and some design-critics, that seem cool enough to use it, but given that the web development constrains you to use minimal oop features, I could not listen to the design-lint.

After finishing the damn UML, I looked for other tools that could do pretty UML diagrams from ascii. And they do exist. Great! I'll try to use them the next time. I think plantuml is a fairly good option and, guess what? you can integrate it in emacs.


On the other side, on wednesday, I did a talk at smalltalk.cat about pharo regexes. The slides where presented in a terminal, in plain ASCII, using a small app borrowed from fxn. Btw, the talk went pretty well. Very informal and kind of simple for people versed in regexes (smalltalk regexes do not have any special unique feature but the opposite, a bit simple IMO), but I think maybe 30% of the people didn't know about regexes and used them just copypasting, so I extended my talk to touch some more theoric side, and in the end, I think everyone learned something.

Btw, if you feel like implementing a regex engine for smalltalk, you can get ideas from this paper. A good read IMHO