Showing posts with label smalltalk. Show all posts
Showing posts with label smalltalk. Show all posts

Wednesday, June 4, 2008

Screencast number 7

Well,
I finally recorded the screencast number 7. It shows how to create Smalltalk classes and tests using SUnit. It also demonstrates the use of class packages and categories as well as the TestRunner tool. It follows a TDD rythm and presents 2 methods from SUnit. Couldn't make it smaller so it is a bit over the last screencasts' length but I think it is still reasonable (around 8 minutes).

As usual, I'll stop here but you can enjoy them:
Download the English version here or see it on Google Video.
Download the Portuguese version here or see it on Google Video.

Monday, May 12, 2008

After a while, another screencast

Hello,
I've been busy since FISL as always. A couple projects starting over which I will only comment once they go a bit further than now.

Now for the good news, I had a paper about the Coding Dojo São Paulo accepted at Agile 2008 with Danilo Sato and Mariana Bravo. As soon as we finish the last revisions, I will post it here. For those of you who do not know what a Coding Dojo is, check the paper by the end of the week, for the rest, know that we host a coding dojo weekly (soon to be twice a week) in São Paulo and we would be glad if you could join us every wednesday from 8pm to 10:30pm.

Archimedes is walking slowly. I believe we will have most intersection features working for this release but not the save/open feature yet. Selection by intersection an trim will not be ready either. I should release it by the end of the week and I will post about it.

I have finally recorded the 6th screencast about Smalltalk, Squeak and Seaside. It shows the System Browser tool along with the Message names and the Method finder. It is not really very important but I had to talk about it before I can start classes (which is next screencast's goal).
That's it for now. Enjoy the recording:

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

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.

Tuesday, April 15, 2008

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!

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:
http://www.screencast-o-matic.com/watch/cjetqAVD6 - Requires Java 1.5 browser plugin
http://eclipse.ime.usp.br/~night/00-morphic-en-800.mp4
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:
http://www.screencast-o-matic.com/watch/cjfViPVDH - Requires Java 1.5 browser plugin
http://eclipse.ime.usp.br/~night/01-blocksifsloops-800.mp4
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):
http://www.screencast-o-matic.com/watch/cjeFrOV2c
Or download it in an MP4 47 Mb file (requires some free codecs) at:
http://eclipse.ime.usp.br/~night/00-morphic-800.mp4
or
http://www.ime.usp.br/~kon/MAC5714/00-morphic-800.mp4

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 http://www.squeak.org/. 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