Saturday, April 19, 2008

Last and best day of FISL

The third and last day of FISL was, for me, the best day of all. Not only could I enjoy my previous night but I could sleep and come to the conference without problems. The day started at 9 am as usual, but the first interesting talk was Randal L. Schwartz about Smalltalk and Seaside. Let me repeat: Randal Schwartz about Smalltalk. Not Perl, Smalltalk! He still loves Perl and is still very important in the Perl world but he said Smalltalk is being an amazing experience.
Sadly, he ran a bit out of time during the talk so the audience could only see very little things about Seaside but the lonely fact of having him spreading Seaside is great.
After the talk, I talked to him about the screencasts and the squeakcasts website idea and guess what? He already knew about the screencasts, saw them and liked it. That scared the hell out of me! :) I will have to think much more to make better screencasts next time.
Already had a small critic about my block explanation that I hope to handle in future screencasts.
Anyway, it seems we might work together to get Squeakcasts under the squeak.org domain. I'll do my best to have the site ready as fast as I can and get more screencasts going.

Next episode was a talk about Scrum and eXtreme Programming by Guilherme Chapiewski. His justification to present this in a Free Software conference was that people need to work in some way, to work and those methodologies get as close as programmers as we can. His talk was pretty basic showing the default scrum and xp definition with a few examples of his experience. I was amazed that he got the talk accepted because people from Agilcoop tried in the last conference and revisors said that it was an already discussed matter. I didn't like a couple things he said although the presentation was good for a general audience. The part when he spoke about eXtreme Programming practices like if it was a sin to use them upset me a little. He also said that XP is scary for manager and Scrum is better because you can present it as a simple method and working in a team, etc... The argument sounded amazingly biased since you can present XP in the same way. I don't think managers are so stupid that a name would scare them more than another but anyway. The room was overloaded, people were sitting in the floor and I suppose it will help convert a few more programmers to agile methods so that is good.

And this was the end for me. Mariana got sick and I left the event earlier to get her into a bed and ensure she didn't get worse. In a short summary, I liked FISL 9 and it was very good but mostly because of the people I can meet there and not so much because of the talks. I hope next year they will have the Smalltalk track running and I can present something nice there. I also expect them to go to a bigger place (maybe FIERGS, which I complained about last year but that can fit the 7500 attendees) and have a more stable wireless connection.

That's it about FISL. See you soon with the next screencast.

Friday, April 18, 2008

FISL 9: First and second day

Hello,
This is my first time to breath since we left São Paulo on Wednesday by 16:00h. Since then, our bus was stopped by the Police, we had to drop a girl in a hotel because she didn't had any papers and we were around 6 hours late.
Since then, I've found a couple of friends, met some people and suffered from an overloaded wi-fi. First day was only to meet people, find friends, chat a bit and no time for talk. In the evening, Google organized a speacher's dinner and, being a presenter, I could enjoy an overloaded restaurant (i.e. they ran out of food and the waiters couldn't reach me) with everything (including drinks) payed. Too bad I didn't know about it since the beginning and couldn't enjoy more of it.

The second day is about to end and the news were:
  • I gave my talk with Mariana and Fabricio about the Coding Dojo which was partially successful. It was completly full for the first hour. We started loosing people when the actual coding started. It seems people wanted to learn more about the philosophy behind the dojo and not to see one working. Those who stayed said they liked it thought. Let's hope more Dojos start around Brazil.
  • I went to a talk about the economics around floss by Rishab Ghosh. Interesting but I prefered the one he gave at IME/USP about copyrights and patents. The idea that we always feel we are contributing less than we receive is very reasonable once well explained.
  • After that, Fabricio gave a talk about Rails teaching people to start without using scaffold. It looks like people loved it because there was no place in the room 3 minutes after it started and people stayed until the end.
  • The next talk was about the CCSL (Free Software Competence Center) and partially my masters so I was involved in it. It was much emptier and I only had to talk about my own research so we are good.
  • Finally, about 1 hour ago, when that talk ended, the whole bunch of people from college were buzzing the Google stand to earn t-shirts and mugs by solving 3x3x3 rubik's cube. Since a lot of people know the algorithm already, we got almost banned from it and never got any price for solving the 4x4x4 cube (Yoshi did it). They (Yoshi and Mari) are now trying a cube that is not separated into smaller cubes but in weird forms.
I now just lost my last talk by writing this post but I guess it wasn't that important anyway. I'll write another post in the bus back so I should post it back in São Paulo. Have fun.

Tuesday, April 15, 2008

Archimedes 0.54 defined

Ok, this week I worked with the Archimedes' undergraduated and graduated students team to define what will be their goal for the 15th may 2008. It will be three weeks of work for them, which is the equivalent of 21h per pair (3 pairs total). And their goal for it is to get most intersections back working. This means that the version released the 16th or 17th should have the features 0.52 has plus the whole snap intersection system running.
If I manage to get time, I hope to release an unstable (really unstable) version 0.53.0 during FISL and keep it being updated weekly. My work for the team will be to provide support to each pair and coordinate the work. I hope I manage to get some coding going but I am not sure I will be able to.

Last news is that we found a couple open source Java DXF library that should help us provide import and export support for DXF in Archimedes. Don't expect it ready so soon but I hope we manage to release a version with DXF support by July (or August since July will be my big holidays in Europe).

Finally, to answer a couple critics I have been hearing a lot: I wish I could have a centralized website where I could both keep the code repository, the website, the developers center and the blog. But, so far, nothing fits my needs so I am planning to create it myself (and if possible, make it my masters). That's all for now.

See you!

Squeakcasts running on Seaside?

I am considering idea of having Squeakcasts made with Seaside and running on a squeak virtual machine at my Dreamhost account. It would be a bit more honest to do it this way instead of having a rails application for it (although I guess the rails structure for railscasts could help a lot). I will try to contact folks at Dreamhost to see if that is possible/allowed. If it is, I will do it until I find a big problem (hopefully never).

With this episode (04-Loops), the screencasts so far have covered a bit of visual script programming with morphic and the main part of Smalltalk syntax. The only parts missing are the class and message creation which we will see in the next screencasts. Just a quick summary until RSS for those screencasts are not ready:

  • 00-Morphic (Portuguese and English version): 15 minutes
    Teaches how to create a simple game using the Morphic environment and its scripting language. Not a single line of Smalltalk code written to have a small racing game.
  • 01-Transcript (Portuguese and English version): 5 minutes
    Presents the Transcript and Workspace tools in Squeak and shows the three main messages to manipulate the Transcript (clear, show: and cr). Shows variable and string declaration and concatenation.
  • 02-Conditionals (Portuguese and English version): 5 minutes
    Working on the previous code, transforms what was done into a conditional that prints the parity of a number correctly based on conditions.
  • 03-Blocks (Portuguese and English version): 7 minutes
    Using the code that prints parity, refactors it to use blocks returns, attribute blocks to variables, discuss its scope and shows parametrized blocks.
  • 04-Loops (Portuguese and English version): 7 minutes
    Using the parametrized blocks from episode 03, teaches how to create 3 styles of loops like 'for', 'while' and 'do while'.
That's it for now. I hope to post tomorrow before we leave for Porto Alegre where FISL will take place but I am not sure. Enjoy it!

Squeakcasts coming soon?

I was chatting with a very good friend yesterday (Danilo T. Sato) and he was pretty happy with my screencasting and suggested I should have a website/blog running only about those screencasts. Since I am a big fan of Railscasts (in English) and Akita's tips (in Portuguese) on Rails, I am seriously considering doing it. While chatting, I suggested "smallcasts" and we had some fun about the name and some ideas about it. Today, however, I though maybe "squeakcasts" would be better. It would relate Smalltalk, Squeak and the OLPC project pretty good and would make a more meaningful name.
I intend to have some sort of start on this website on the bus trip to FISL and maybe, when I come back, I get this started. If you have suggestions about a short music, a logo or anything else, please tell me and I would be glad to use them.

For now, just enjoy the Block's screencast that is a bit longer (7 mins) and half an hour late.

Download the English version here. Google Video seems bugged and can't upload correctly. Removed the link until I can fix it again.
Download the Portuguese version here. Google Video seems bugged and can't upload correctly. Removed the link until I can fix it again.

Enjoy it!

Sunday, April 13, 2008

Speeding up releases

It is, indeed, much better to record shorter screencasts. At least for my productivity.
I managed to produce another couple (English and Portuguese) episode of my screencasts between yesterday and today. So expect more frequent releases.
This episode (02) shows how to create conditionals in Smalltalk and give a very brief example of blocks. I strongly suggest watching the previous episode (available on this blog here) to get the context. I hope to have two more ready tomorrow about blocks and loops. This way I expect to release two more about classes and tests before I leave São Paulo to go to the FISL (International Forum of Software Libre).

I think I will try to write shorter posts also so I can be a bit more frequent with them also. Keeping this active is always a challenge to me.

For now, enjoy the screencasts.
Download the English version here or see it on Google Video.
Download the Portuguese version here or see it on Google Video.

Bye bye!

Saturday, April 12, 2008

Shorter Screencasts

Hello,
I've finally improved my screencast recording environment. I've receive my USB headset (which scared me by not working out of the box) and bought myself a license of iShowU. I've also created a 'screencast' user on my laptop which has 800x600 screen resolution, a big mouse and much less polution on its environment.
While trying to record the english version of my last screencast (Blocks, Conditionals and Loops), I've realized that long screencasts are hell. If I made a mistake by the end of the screencast, I was loosing 15 mins because editing videos makes nasty interruptions I hate. So if I keep screencasts shorter, I waiste less time with my mistakes, people get less bored over time with it and I can record them more frequently.

In order to keep things in line, I decided also to release the English and Portuguese version of the screencasts at the same time so both can make suggestions and ask for help about the same topic. In order to have this going well, I restarted the portuguese series to the point where I started about Smalltalk (not talking about Morphic). So I now present the Transcript and the Workspace tools available on Squeak and teach how to use them to write code and see its result. I also teach how to concatenate strings on Smalltalk and how to declare variables. I hope to release another screencast in 3 or 4 days abording Conditionals. You can download the image of Squeak I used under: http://squeak.ofset.org/squeak-dev/.
Meanwhile, enjoy the screencasts.

Download the English version here, or see it on Google Video.
Download the Portuguese version here, or see it on Google Video.

Removed the option to see the video in this page since it was too little and crappy quality. I hope you enjoy it. Bye bye!

Tuesday, April 1, 2008

Archimedes directions

Hello everyone,
Archimedes has been a bit confusing lately. Mainly because I am no longer that excited about the project as a result of working alone for too long (being an agile developer, I love pairing).

I previously announced we were going back to the 0.17.x series to improve it until it reaches a more usable status. The bad news is:
I keep supporting that idea but it seems I will be doing so alone for another long time. I am still working (slowly) on an infra-structure project to simplify the menu/toolbar/statusbar update in Archimedes in order to keep it all more consistant with the program's state. It would also help me maintain the interface code decent enough. Once it is done, I can already release a new verison of that series. The problem is, I cannot estimate when it will happen. All I can say, it is that it will take longer than 3 months.

The good news, however, is that the team of undergraduated and graduated students working on Archimedes has chosen to improve the 0.52.x series by readding the intersection feature. This means intersection selection, single clicks selection, trim, extend, fillet and other intersection dependent features will most likely appear in this series until the end of the semester. On parallel, I hope to work on the importer/exporter features to have save/load and import and export features back also by the end of the semester. If we manage to do it, I might even forget about the 0.17.x series since 0.52.x will be much more maintainble and will have almost all the features from the previous versions. Let's wait and see. I plan to release 0.53.0 by this weekend (6th of april 08) and retake the old weekly releases pace if the team can help me do it.

That's it for now folks.
Cya!