Thursday, March 27, 2008

More screencasting

I had a really good feedback about my first screencast with a couple suggestions, helps and ideas. The first suggestion is that I should improve my screencasting environment. First buying a usb microphone (and headphone) and then a local screencast software with mouse effects and keyboards exibitions. Can't solve everything now but I've made some improvements. Got the keyboard and mouse problems solved and ordered a usb mic. Researched a lot about the screencast softwares but couldn't really make my mind about it.

I've recorded two more screencasts. The first one is an English speaking version of the Morphic example I posted previously. I've already received critics about it and I'm gonna try to improve next time but I can't ensure anything (speaking in English uses a considerable cpu share in my head). But here goes the links: - Requires Java 1.5 browser plugin
Or you can see it here (problem is that is it very tiny and no fullscreen option):

The other one is in Portuguese and focuses on the Squeak developments tools. It was recorded based on a developer's image assembled by Damien Cassou. I present Smalltalk blocks, the conditional system and the loop one. All the code use the Transcript and Workspace widgets to write code detached from a class. I still haven't received my new headset so the voice is still pretty low and I was a bit sick when I recorded it so you can hear me cough. The sound was improved in the mp4 version so you can hear a bit better. As I said, it is only availble in Portuguese for now but I hope to keep the pace and release an English version along with the next portuguese episode next week. You can see the screencast (if you speak Portuguese and/or don't care about the very low voice) at: - Requires Java 1.5 browser plugin
Or see here (tiny video, good sound, will post feature request for blogger to add a fullscreen option):

Enjoy it people!
Bye bye

Wednesday, March 19, 2008

Screencasts on Smalltalk, Squeak and Seaside

Hello everyone,
During Campus Party, I've met Fabio Akita and he was asking about some demonstration of Seaside and screencasts about it. Seaside is a framework to build web applications written in Smalltalk and whose main name is Avi Bryant (who Akita interviewed in two parts: part 1 and part 2). It is a very neat way of building web applications even easier than Rails. It is mainly used with Squeak that is the most advanced free and open source Smalltalk Virtual Machine.

Being the current teacher assistant for an Object Oriented Programming course at the university, I've decided to launch myself into screencasting about Smalltalk, Squeak and Seaside to attend Akita's request. The first one has just been recorded but was aimed to the students so it is in portuguese and speaks about Morphic, the main user interface for Squeak. You can see it at (requires java browser plugin installed):
Or download it in an MP4 47 Mb file (requires some free codecs) at:

I've found this new feature in blogspot to upload a video. Trying here:

I pretend intend (thanks Kenzo) to release another version of it in english for those interested in it but I will wait for some feedback to correct and improve the current version.

It requires that you have Squeak installed and running which can be easily done by downloading the correct package for your operating system at Click your operating system link on the top right side of the site to download squeak (the virtual machine) and a clean image of Squeak's world.

Smalltalk is slightly different than most current object oriented languages. The Squeak Image (.image file and .changes) is a representation of Squeak's world as it was on last save. This means when you load it, it is just like if you were back at the exact time when you saved your image. The same things are showing, same processes are running, same everything. Especially this means, if you screw up your image and save it, closing and opening won't help at all. Therefore, create backups of your .image (and .changes) every once in a while.

Then you can do some very fun things such as changing the behaviour of the True class (in Smalltalk, there is no syntax specific word... EVERYTHING is a class, even conditionals and loops but we will see about that in another screencast).

For now, I'll leave you, non-portuguese speakers, testing squeak by yourselves (although the speaking is not THAT important in the screencast) and the others, have fun creating games for your kids!

bye bye

And rejected... once more

That's it people. The Free Software Competence Center was rejected once more as a mentoring organization at Google Summer of Code. Therefore Archimedes will NOT receive fundings to contribution projects. Back on lonely development for another year. Sorry people.

Another news is that I have a 3 graduation students and 3 masters students team starting to work on Archimedes next week. They chose to continue the Rich Client development which means I will keep the non-RCP version going by myself.
The bad part of this is that it will evolve slowlier but the good part is that the RCP version might reach a very good state by the end of the semester if everything works fine. Our plans are to implement the intersection features in order to have snap, trim, extend and other intersection dependent features in the RCP version.

Another good news is that I've hired Dreamhost to host a couple of sites related to my family. Those are my mother's french litterature site ( and my father's architecture office site ( that we are rebuilding on rails. I will migrate all Archimedes resources and infos to Dreamhost when I get some time. This will mean a new website for archimedes with a much better system (that I hope to build) than the one on sourceforge or the incubadora. This blog will also be migrated there whenever I get some time. I'll post a warning here when I do migrate it.

Next post coming up is about my current work on screencasts for Smalltalk, Squeak and Seaside. See you soon.

Wednesday, March 5, 2008

Archimedes and GSoC

Hi again,
Like last year, I will register Archimedes in the Google Summer of Code (GSoC). This time I hope the server will stay online so that the evaluators can take a look at the project. As last year, Archimedes will be inscribed as one of the projects of the Free Software Competence Center in São Paulo. I am not sure this is really a very good idea since it will not display Archimedes in the main project lists (since it will be considered a sub project). On the other hand, Archimedes, as well as other projects in the Competence Center may benefit from "partial" votes that may result from proposals to the various projects.

The due date for the registration is next week (wednesday, 12th march) but I already started listing possible subprojects for Archimedes. So far, I have listed the following projects:
  • Implement a DXF and DNG importer and exporter
  • Implementing the printing configuration and viewing system (a.k.a layout)
  • Creating an improved layer table widget to allow property modifications in the toolbar's combo and implement the line style creation/edition system for those layers
  • Improve the performance of the current snap system and intersection to handle over 1000 elements on screen without any noticeable lag
  • Implement another view system to match the Microstation's interaction pattern
  • Implement a DWG importer and exporter
I've tried to make projects equally interesting and work demanding (which explains why DXF and DNG make one project while DWG alone is another). If you have any other suggestion, requests or ideas, please let me know. I will try to gather them (or break them) into projects the same size as these ones.

Last thing: I've updated the developer's team on SF. All developers I removed haven't coded one single line in the last year and showed no interest about keeping the work going. There are now 3 developers listed there including myself. They haven't coded much lately but they promised they would do their best to restart contributing. It is a bit more fair to see the project having 3 developers instead of 10. Explains more the lack of advance.

Bye bye!