Wednesday, January 23, 2008

Archimedes mainstream back to version without Eclipse's Rich Client Framework

I'm working on Archimedes again. After 6 long months, I decided to restart working on the project after a chat with Maddog during the OpenBeach (site in Portuguese). I admitted that the migration idea was not very bright because of the complexity involved in RCP and the state of the project so far.

This is way I decided to go back to the version 0.17.x version and work on it.
Most of my work so far has been focused on infrastructure. I've developed a small library that parses an XML file into an abstract structure and another one that transforms that structure into SWT widgets, more specifically, a menu bar and/or a cool bar (a toolbar that can be moved). I've tweaked it to adapt better with os x menu system.
The source and tests and examples of this work are available in a specific folder of the SVN tree of Archimedes:
There is no build system but if you use eclipse, you can just export the project as a jar file. I will add a build.xml file whenever I get some time to do it decently.

Another main change was restructuring the whole archimedes SVN tree. It now follows the default suggested structure. Every project is contained in the trunk folder inside the projects name. It's much easier to understand looking than explaining. Most work will still be kept on trunk. Branches will be used for main releases so that we can correct bugs for running versions more quickly. Tags will be used to keep track of what revision is related to which release.

Finally, the other thing is that I changed the build to generate an executable file for each system (.exe on Windows, .app on OSX, executable on Linux) with embedded icons (except on linux).

My next work will focus on finishing the action system so that the application that uses the library can populate, enable/disable buttons and add dynamic itens and other features desirable. Once this is done, I'll restart working on feature for archimedes mainly bringing new features implemented in the migrated version to this old system. I've got a ton of work to do until March when I finally will have another student team working with me on the project. I'll give further news as I evolve.

A research about developers' education failures

I'm working with a group of teachers, students and ex-students of my university with agile methods, as I already mentioned. In mid December, we've got a project approved with the Brazilian government to research what are the greatest problems that companies find in their developer's education.
We've set up a nice rails (Ruby on Rails) application with our questions to interview project leaders/managers in all sorts of companies. So far we have interviewed around 20 companies in Sao Paulo, Rio de Janeiro, Campinas (our very small Silicon Valley) and Sao Carlos. There is no clear problem so far but I will be able to give you more information once we compile all the data to generate our report.

This report will be delivered in about 2 or 3 weeks with our conclusions to the responsible institution. Then we hope to request more funding to develop the courses that the companies selected and offer them. The best part of this is that all the material we produce will be available under a Creative Commons license in our website:

Note that the bad part of this is that all will be in Portuguese which means people will have to translate this work to be able to use it somewhere else. Since it's an open research, I hope I will be able to post a link with our report. As they say:
To be continued...

New York! New York!

After OOPSLA I could spend another week in New York. It was my first time in NYC and I must admit that I liked Manhattan a lot! Didn't have time to go outside of it so I cannot talk about the rest. The best experiences there were:
  • The NYC Opera where I could enjoy "Carmen". Beats any Broadway musical on quality and price if you are a student. NYC Opera have U$ 16 tickets for students when those are bought on the day of the event and you can get whatever seat is available. Non students also have discounts but those are more expensive.
  • The central park is a very nice place to be if you want to relax, enjoy the sun and think about life. It's like a big, quiet and peaceful island inside the Manhattan.
  • For those of you who like to be impressed by technology and stores: Time square is really amazing.
  • Last, but not least, all the museums are very impressive and specially HUGE. Walking around the city is also very pleasant.
The New York City feeling is something quite unique (just like most big towns in the world I suppose) and, although people are not exactly very friendly, one can get along pretty well. Especially if you speak English or Spanish because, unlike most movies show, half of New York is Spanish speaker and lots of adds use both languages.

And just to close: the only thing that is free in NYC is the fairy to Staten island so enjoy it. :)

A very short summary of OOPSLA 2007

OOPSLA was amazing! I reported the first 2 days but the rest was just great also. The most memorable events I participated are:
  • The NSB (No Silver Bullet) workshop that brought me a lot of knowledge and very interesting discussions. The result is not that important but participating was a far more enriching experience.
  • The NSB panel with an extra-ordinary performance by the werewo... I mean, Martin Fowler. There is a small 2 mins video to give people an idea of what happend at:
  • The "50 in 50" presentation by Dick Gabriel and Guy Steele. A real great work of art!
  • The poster session that gave me a very good chance to talk to people which is the best part in those events.
  • And the "off-topic" talk about a great parallel between geographic exploration and knowledge exploration established through maps. Makes you think a lot!
This was it to OOPSLA 07 and I hope to participate and maybe meet you at OOPSLA'08 in Nashville.

Those alive, always... blog

After dying and resurrecting a couple of times since my last post (in late October), I'm restarting to blog. I have, of course, tons of news and updates but I will not drown you with everything. I will post everything in small separate posts so that everyone can refer to what ever is important to them.
I will also try to maintain the blog style that way from now on. I understand that big posts are something that can rarely be reused (just like happens to code), so I will try to refactor my posts to improve reusability.
I will also try (again) to post a bit more often to keep this updated.
Well, this was only a blah, feel free to read what interests you on the rest.