Scratch has finally reached Debian repositories. Scratch is a programming learning environment created by the Lifelong Kindergarten Group at the MIT Media Lab designed to be accessible by young learners (over 8 years old). Scratch makes it easy to create your own interactive stories, animations, games, music, and art through a visual interface based on blocks. Thus, beginners can get results without having to learn to write syntactically correct code first. It is powerful enough to have even been adopted as an entry-level computer language in computer science programs at different universities.
Scratch makes use of pieces of code embedded in different blocks that are shaped like puzzle pieces. That way, programming consists on putting different blocks together, which gives immediate visual feedback to the programmer about the correctness of the syntax: If the pieces fit together, then the expression is valid. Scratch programming system is so nice and easy that has been the inspiration of other systems such as MIT App Inventor or Google Blocky.
Scratch animations consist of sprites that are animated by dragging the corresponent blocks into the Scripts area of the Scratch interface. Multiple sprites can be created and interact with one another. Each of the sprites can have different looks (called “costumes” in Scratch). You can use built-in sprites, load them from files, or draw your own using a drawing tool integrated in the environment.
Scratch itself is coded in Squeak, a Smalltalk implementation derived from Smalltalk-80.
The Scratch 1.4 source went GPLv2 on March, but there were some incompatibilites with the Squeak Virtual Machine currently in Wheezy that had to be resolved first. Luckily we were able to solve them, with the help of the Scratch and the Squeak guys, so I’m happy to say that Scrach is finally available from Debian repositories.
Note: If any Scratch derivatives (such as BYOB or Panther) also need to be ported to the current version of Squeak, they should have a look at the comments in the Scratch ITP, and especially to the script uploaded by Bert Freudenberg, that replaces 90 indexed primitive declarations (removed in later versions of Squeak VM) with their named counterpart.
Note 2: This wouldn’t have been possible without all the great work and effort made by Amos Blanton and many others. Lots of thanks!
You might remember the action puzzle game Zaz. Well, we now have a new puzzle game from the same author (Remigiusz ‘mal1ce’ Dybka), called Phlipple. The goal of the game is to reduce a 3D shape to a single square in each level, removing squares by flipping edges around, like you would do in a cardboard box. The Free/Open source version of the game, including 50 levels, is now available in Debian, in case that you want to give it a chance. You can watch the promo video in Youtube if you want to have a better idea of what the game looks like. I hope that you like it, I do
Here are some screenshots of the game:
Periodic Calendar, a GPL’ed GUI application, coded in Java that helps keeping track of women menstrual cycles and predict fertility periods, has just entered Debian. This information can be used as supportive either for conception or contraception planning.
This program (pcalendar in Debian) is by far more complete than mencal (a simple menstruation calendar that can be run in the console) or cycle (a windowed calendar that can calculate stuff based on the length of the cycle or on statistics of previous periods), and provides support for BBT and sympto-thermal methods, which have the highest reliability in fertility periods prediction. User can thus choose any subset of the features to be used or even fall to the generic calendar method (which if used alone is very unreliable).
Keep in mind, though, that -as the authors of the program insist on- Periodic Calendar is NOT an equal substitute to the fertility planning consultants or doctors, and methods used are not 100% effective. It’s a useful program, anyway.
I’ve also translated the program into Spanish, made some cute icons and added MIME support so that data files can be easily open from the desktop.
On the 26th of June I wrote that I wouldn’t be able to travel anywhere this summer (including DebConf 11), because I was going to be teaching lots of things related to Information and Communication Technologies (ICT) to a bunch of kids. That was a bit more than two months ago. On the 27th of June we started the first edition of Fantastic Park with a lot of enthusiasm, and hoping that the kids participating could get in touch to the ICT world while having fun. After all, it was summer holidays.
The results have not only more than fulfilled our expectations but, from what their parents tell, we have also been able to overcome what the children were expecting. It was somehow encouraging to know that the kids were telling their parents to get up half an hour earlier (heh, sorry for them, but that’s what being a parent is about, isn’t it?), to be able to start as soon as they could, and also to make them wait until the last minute for going back home.
These four editions have involved more than two months of work (280 hours), and 82 kids have taken part on it (57 boys and 25 girls). There have also been visits to different companies that work on the field of ICT (32 in total), and there was an important number of other people collaborating (thanks to all of them). Finally, the last edition of the Park has ended yesterday.
Along these weeks, the kids have been able to get acquainted with a lot of different things, such as robotics (using Lego WeDo), digital photography and photo edition (using Pinta), Free Software, satellites, GPS or learning to code with Scratch. It has been very intensive and I’m almost exhausted, but I’m also quite sad that it’s over. Hopefully some of these children might have developed an interest in this field, and who knows what might come out of it.
If somebody is interested in the daily activities at the Park, we have been writing a blog with daily entries (in Spanish, sorry). We have also published quite a lot of photos of the activities. Of course, needless is to say that I’m really happy to have taken part on it, and that the kids participating were simply great. I’ll miss them.
I haven’t blogged for a while, because I’ve been doing so many things that I scarcely had time nor will for it. Among all those things, and during the weekends of the last few months, we have been teaching kids (8-12 y.o.) about computers, Free Software and technology. Those kids are great, very intelligent, very motivated, and very funny to be with. I miss them a bit after the program has ended. In any case, I’ve been given the chance to teach some more kids during summer weekdays, and I’m really looking forward to it. The downside of this is that I won’t have any summer holidays and, thus, I finally won’t be able to attend DebConf 11 in Banja Luka, which was something I was also looking forward too. But, even though that’s something I’d really love to do, one cannot be in two places at the time, so this year I finally won’t be able to attend DebConf either. Have lots of fun! I’ll miss you!
In case you want to know more about all of this (sorry, links are in Spanish):
Oh, and to show you what I’m exchanging you for (nothing personal):
I wouldn’t like to end this post without thanking all the kids from both Campus TIC and Yo Programo for being so cool, and also to welcome the kids from Fantastic Park, in case any of them -or their parents- are reading.
Oh, and all of you who attend DebConf this year, have a lot of fun!
Gnash 0.8.8 was released on the 23rd of August, a bit more than two weeks after the freeze. There are very important features in this new release that made 0.8.8 by far a better option than buggy 0.8.7 for Squeeze:
- 100% of all YouTube videos should work now. If you have problems, delete all YouTube cookies and refresh.
- Gnash can switch at runtime between the Cairo, OpenGL, and AGG renderers.
- It can also switch media handlers at runtime, between FFmpeg and GStreamer.
- Gnash can now decode video quickly on hardware compatible with the VAAPI library (a few NVidia, ATI, and Intel graphics processors). Debian packages by default do not have this feature activated until FFmpeg in Debian supports VAAPI, so that will be in Wheezy.
- It compiles faster due to reduced internal dependencies.
- There is an improved input device handling when using a raw framebuffer.
- Lots of bugs fixed.
Today, the Release Team has unblocked 0.8.8-2, which has already reached Testing, so I’m proud to announce that Squeeze will be released with latest Gnash. Thanks guys!
Today is March 24th, that means Ada Lovelace Day, and it is being pushed as an international day of blogging to celebrate the achievements of women in technology and science. The aim of Ada Lovelace Day is to focus on building female role models not just for girls and young women but also for those of us in tech who would like to feel that we are not alone in our endeavours.
There are some very good examples of women that have been important in the development of science and technology, starting with Ada Lovelace herself (the first developer of an algorithm intended to be processed by a machine), Rear Admiral Grace Murray Hopper (developer of the first compiler for a computer programming language), Adele Goldstine (who wrote the complete technical description for the first digital computer, ENIAC), as well as the six women who did most of the programming of if (Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman), or women scientists, or women inventors, etc.
Well, I’m not going to write about any of those, even when any of them would surely deserve that and more for sure. I’m going to write about a woman who has definitely been very inspiring and supportive for me when I was starting to get in touch with Free Software and Debian, and who is probably the most important single reason I decided to go for it. It is definitely hard to write about someone you admire when she happens to be one of your best friends, and in fact I’m pretty sure that most of the people reading this article already know her, so there’s no great mistery. I’m talking about Amaya Rodrigo, the first european female Debian Developer (AFAIK) and co-founder of the Debian Women project, and also member of Hispalinux Board in the golden days.
The first time I met her she was giving a talk in Madrid about a project that was starting then, Debian Women, and it was very inspiring for me. Inspiring enough for me to join the project. Afterwards I’ve learnt more about her, how she overcame many dificulties, like starting to work with computers quite late, among others. The real merit of a pioneer is not really to be the best techie out there, but to overcome the difficulties and doing it the best you can, when no one else has done it before. I’m not going to write her biography here, it’s not really the purpose of this blog entry, and you probably can ask herself directly. This blog entry is, as I said at the beginning, to highlight women in technology that I consider inspiring and relevant. You know, I admire you, Amaya
It seems that I’m not blogging as often as I was some months ago. The main reason is microblogging, which is somehow quicker, even though briefer. It is also less informative, I guess, because 140 characters is a very limited length. Probably because of that, a friend of mine asked me to write a proper blog entry about this, and I think that he’s probably right.
openFrameworks is an open source toolkit, released under the MIT license, written in C++ and designed to assist the creative process by providing a simple and intuitive framework for experimentation. According to its authors, it was developed for folks using computers for creative, artistic expression, and who would like low level access to the data inside of media in order manipulate, analyze or explore. I attended a short course in openFrameworks some months ago, and decided that if I wanted to experiment with it, I should somehow structure the building process of the library a bit, remove the dependency on FMOD, which is not DFSG-free, even though that might require remove the whole audio subsystem, make it buildable without Code::Blocks, and hopefully build some more-or-less proper packages. I’ve also added some pkg-config files, so that it becomes easier to build projects based in openFrameworks (as easy as ‘g++ source.cpp -o test $(pkg-config openframeworks openframeworks-addons –cflags –libs)‘).
Even though the packages are still not as good as they should, they’re absolutely usable right now. I’ve uploaded them, as well as their dependencies, to my Ubuntu PPA (although I’m using those packages in my Debian), in case that someone is interested. I’ve also uploaded a couple of tiny examples (the second one downloaded from here) of openFrameworks.
Zaz (“Zaz ain’t Z***”) is nice action puzzle game, similar to Zuma, in which you have to get rid of all the balls that roll around the screen through some given paths by rearranging their order in the chain. The balls explode and dissapear when three or more of the same color get in contact. The whole game is controlled through the mouse device.
Through the game some special balls appear, with a tiny symbol over them, that makes your life easier by doing thinks like make all the balls step back a bit, making them move more slowly, stopping them for a while or giving you a ray to help you point your device and get and drop the balls where you want. You lose a life when the balls reach their destination hole, so be quick!
The game currently has 10 different levels, but will probably have more in the future, and needs a 3D accelerator for decent gameplay. Zaz has just entered Debian repositories. If you like arcade puzzles, you should definitely give it a try. If you use Ubuntu Jaunty, you can also find it in my PPA.
The original game included CC-by-sa-nc 3.0 music from Nine Inch Nails, which had to be removed for the game to go into Debian Main.
The game has already been translated to Polish and Spanish, probably other translations will follow in the future, but it is not really text-based at all, so that shouldn’t really be a problem for anyone.
I’ve been lately playing with 389 Directory Server (previously Fedora Directory Server, previously Netscape Directory Server). Along with the LDAP server itself comes an admin tool and a console GUI for managing the system. The admin tool is built on Apache2, and it needs it to use the worker MPM (high speed threaded model), provided by the package apache2-mpm-worker. The problem is that libapache2-mod-php5 seems to depend on apache2-mpm-prefork, so I have to use php5-cgi to provide the PHP scripting functionality instead. That seems to work properly out-of-the-box ™ for stuff like phpldapadmin, but not so properly for phpmyadmin and phppgadmin. In those cases the browser seems to try to download the PHP script instead of executing it.
The quickest solution for that is to add some configuration stuff to Apache2, telling it to do things properly:
# cd /etc/apache2/mods-available/
# cat >> php5-cgi.conf
AddType application/x-httpd-php .php .phtml .php3
Action application/x-httpd-php /cgi-bin/php5
AddType application/x-httpd-php .php .phtml .php3
Action application/x-httpd-php /cgi-bin/php5
# cd ../mods-enabled/
# ln -s ../mods-available/php5-cgi.conf
# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start
That should do the trick. Don’t forget to restart Iceweasel/Firefox, or some kind of caches inside it will keep trying to download the PHP scripts anyway.