Archive for January, 2009

SoaS - Brand new image available

Saturday, January 31st, 2009

We have a new SoaS image up ready for consumption. It contains the latest Sucrose 0.83.4 release and some of the packages has been updated to latest git versions with some interesting changes, fixes and of course a lot of new translations.

sugar:
- Add ‘View Details’ option to object palette in journal
- Translation updates
- Hide OLPC-specific fields on non-xo machines #133
- Add a ‘Clear search’ button to ‘No matching entries’ message #266
- Correctly detect when a query in the journal is empty #255
- Avoid launching two instances of the same activity instance #238
- Add start-with option to objectpalette in the journal
- Fix dnd of icons in the favorite view #213
- Right click on AP should reveal palette not connect to AP #10
- Display space used and left in the volume palette in the journal #33
- Don’t update the zoom level when a dialog window pops up
- Fix filtering the objectchooser with data types #219

sugar-toolkit:
- Naming alert prevents activity close on keep error #224

sugar-datastore
- Only try to remove the checksum dir if it already exists

Instructions on how to get it on a usb device can be found here.

Next item is to trim the size down (currently ~604 MB).

SoaS - run the image in virtualization

Wednesday, January 28th, 2009

Today I wanted to try the latest Sugar on a Stick (SoaS) snapshot which allows you to run Sugar from a usb stick. Sometimes you get into a chain of other issues that you need to solve first. Today that was (full) virtualization for me.

To test the downloaded image without putting it onto a usb device you can test it in an virtualized environment. On Fedora I use KVM (Kernel Based Virtual Machine) a full virtualization solution for Linux on x86 hardware.

On my T61 I got the following error when trying to load the image:

$ qemu-kvm -cdrom Soas-200901271941.iso -m 512
open /dev/kvm: No such file or directory
Could not initialize KVM, will disable KVM support

KVM is a hardware-assisted virtualization that makes use of the host processor - which is in my case an Intel one. On my T61 Intel’s VT-x feature need to be activated in the BIOS first (hit F1 on startup to get there). In Config-CPU I did set the ‘Intel (R) Virtualization Technology’ to enabled.

The error did slightly change after that modification:

$ qemu-kvm -cdrom Soas-200901271941.iso -m 512
open /dev/kvm: Permission denied
Could not initialize KVM, will disable KVM support

The /dev/kvm device is owned by root. KVM allows the user opening the device to arbitrarily lock large amounts of RAM so that it can’t be swapped. That’s normally something you don’t want ordinary users to be doing. So you either need to run the command as root or sudo or you follow the instructions and create a group kvm that owns /dev/kvm.

In any case, you should now be able to run SoaS using qemu.

soas_virtualization

If you want to check if transferring the image to the usb device went fine, without rebooting, you can check that as well using qemu.

sudo qemu-kvm -hda /dev/sdb -m 512 -std-vga

rpm - Epoch field

Monday, January 26th, 2009

What to do if you have submitted an rpm into Fedora updates that includes code that was only meant to go into rawhide? Just untag the package does not work in this case as some people might have pulled it already. So you need to override it. You can do this with the Epoch field added to your spec file and set to 1.

Therefore the package will be considered as the “newer” package. In RPM version comparison, the hidden Epoch value is most-significant. Epoch comparison overrides the result of ordinary version-release comparison. Highest Epoch wins, and any non-zero Epoch wins over a missing Epoch.


Name: hulahop
Version: 0.4.6
Release: 5%{?dist}
Epoch: 1
Summary: A pygtk widget for embedding mozilla

Chez le coiffeur - or do it with some love

Monday, January 26th, 2009

Once in a while I need to spend 10 minutes in the barber shop to trim my hair to a length that is handy when going swimming often. This time, the barber was very detailed and paid highly attention to the work he was doing. He even used conditioner which is great considering the length of my hair.

After he finished he showed me his creation and asked me how I like it. I answered that I think it is ‘good’. He said while smiling: “It is not good - it is perfect!”

I liked two things here, one was that this guy was enough self-confident to think he did a more than good job - which he actually did. The second thing I liked was that he really cared about what he was doing. He was into it and did it with love.

How is this story related to Sugar? Well, it is just a heads up. I think if we keep on to care about the details and doing our work with love we will have a good chance to make Sugar a success in the long term.

Animals Are Beautiful People - or how to find a release name

Monday, January 26th, 2009

Recently I have been thinking about release names to make our Sucrose release more shiny. In addition to our numbering scheme one could give a name to the release - the marketing team had similar thoughts as well.

One idea I had was to name the releases after community members, as a way to credit outstanding efforts. This has the downside that you likely please some and others you don’t. Everyone wants his name to be referred with the 1.0 release, and then you have to decide who to take and… Maybe the release notes are better ways to credit people.

Everyone likes animals, me too. After a long coding day I often look for light entertainment and animal movies are perfect for that. Watching the movie Animals Are Beautiful People lately I got to know two amazing animals. The Honey Badger and the Honeyguide.

They have one of the most extraordinary relationship in nature. The Honeyguide guide the Honey Badger to bee colonies. Once the mammal opens the hive and takes the honey, the bird feeds on the remaining wax and larvae. And the badger knows that part of his income is entitled to this little bird. Incredible.

To make a long story short - a little bird told me our two next release names: Honeyguide and Honey Badger

Apfelkuchen

Monday, January 26th, 2009

apfelkuchen

Soll ihr Apfelkuchen innerhalb weniger Minuten ähnlich dezimiert aussehen wie der oben gezeigte? So gibt es eine zentral wichtige Komponente deren Auswahl es ihrerer ganzen Aufmerksamkeit bedarf - der Apfel.

Um einen Kontrast zu dem süßlichen Kuchen herzustellen sollte der Apfel sauer sein - und keine weiche sondern eine härtere Konsistenz aufweisen. Der Boskoop entspricht diesen Kriterien und eignet sich daher hervorragend zum Backen.

Der Rührteig den ich für den versunkenen Apfelkuchen verwende kann wie folgt hergestellt werden:

150gr Butter
150gr Zucker
3 Eier
200gr Mehl
1 Prise Salz
Zitrone
2 gestrichene Teelöffel Backpulver
Vanillezucker (zum bestreuen)
3-5 Esslöffel Milch

Butter, Zucker und Eier mit dem elektrischen Schlager verrühren. Dann langsam unter weiterem Schlagen das Mehl untermischen.

Die Prise Salz, ein Paar Tropfen Zitrone und das Backpulver hinzugeben. Milch solange hinzuführen bis der Teig zähflüssig wird. Den Teig in die Backform giessen.

Die Äpfel schälen, entkernen und halbieren. Die Oberseite mit einem Messer einritzen und im Teig versinken lassen. Auf die Äpfel ein wenig Vanillezucker streuen um deren Oberfläche zu glasieren.

Yesterday, or a retrospect of an olpc career (1)

Saturday, January 24th, 2009

Yesterday was my last day at OLPC, time to think about what happened in the last years.

I started in May 2006 as an intern working with the Csound heads Victor Lazzarini, Barry Vercoe, John Ffitch and Richard Boulanger to get Csound strimmed to run on the olpc hardware. We had A-Test boards at this date to which we attached a monitor and keyboard and the system was placed on usb keys.

A-Test Board

When the first wireless antennas arrived we had to come up with software that would use this technology. Barry developed the so called ‘remote opcodes’, which let you play a piece of music where the orchestra is spread over different machines. One is acting as a master (conductor), which tells the other machines which note they need to play at a certain point in time. This was one of our great first demo that we showed at conferences and that was installed in the entry room in 1cc. Another demo was the Memorize game that I developed back then, which run as a networked game more or less reliably. Yea, we had networking in 2006!

Advertisement: Feeling nostalgic? Have a look at the early Sugar days.

The OLPC story always attracted many people. I remember the educators that came with dreamy eyes to our boost at a conference in San Diego after Nicholas gave one of his shiny key notes. They wanted to see ‘the laptop’. Well, we only had an orange prototype that was broken because someone turned the display into the wrong direction. All the rest that we had to tell and show was too abstract for some of the visitors.

mockup2

After returning to Germany I stayed in touch and kept on doing some work on Memorize and Csound related tasks but I had another project going on in parallel. After this was finished in summer 2007 I wanted to get more involved again and amplified my commitments. A bit later I got the opportunity to do this full time as a contractor. I started as a Sugar bug fixer to help out the team. The team was Marco, Tomeu and partly Dan who had to deal as well with networking aspects.

The Moment when we got the first hardware was simply amazing. I still do like the Gen 1 hardware, the excellent two mode display, the audio input that works as well as an analog input you can use sensors with and the idea to make it transformable into an ebook. Quite cool!

The next interesting moment we were facing was the first G1G1 in late 2007. Personally, I felt it came too early for the project, as our software was still more of a prototype. Not that we lacked ambitions, we just did not have the resources to get everything done in the given timeframe. So we were facing the issue between having a user base that somehow need support when you need to make big changes to your immature software at the same time. Sounds like shooting in your own foot to you? I think it was one of our main issues.

‘Start with’ option in the Journal object palette

Wednesday, January 21st, 2009

Today I landed the ‘Start with’ option in the Journal object palette. This let’s you choose the activity you want to use to open an object. Before this option was only available in the detail view as sub menu of the start button.

start_with

We are getting closer and closer to what the Journal should look like. More reasons for me to switch to using Sugar exclusively - now. Should quickly announce this change on the localization list, as we are in string freeze already…

Water - primary matter

Wednesday, January 21st, 2009

Oh boy, this was needed. After two weeks of travelling and certain other distractions I went to the natatorium today. This is such a great element and it is always a real relieve when starting to paddling away.

If you live in Berlin the place to go is the SSE, which offers great conditions for professional and beginners. But make sure to not use my lane - I need my space ;p

And after done with my meditation, i love to stay and watch the swimmers and divers for a while to get new inspirations. In the next post I will show you what inspired me today.

Sucrose 0.83.4 Development Release

Wednesday, January 21st, 2009

Dear Sugar Community,

Since, this date is Feature, API, String freeze everyone was busy getting their features in.

From a user point of view we want to highlight the following:

Naming alert on journal entry creation
The journal’s search and browsing capabilities are less useful if all entries are named the same regardless of their actual content or meaning to the user. That is why an alert has been added that encourage the user to set the title and other properties, like available in the journal detail view, of a newly created journal entry. This alert is only shown on the creation of a new journal entry, not on resume.

alert

Display recent activities in the home view
In order to make easier to continue past work, the home view will display recent entries in the activity palettes.

resume

You can decide if you want the activity icons to represent the last journal entry with a new setting in the favourites view palette:

option

Journal
Tomeu Vizoso has been doing a wonderful work of bringing the journal implementation closer to it’s design.The Object chooser can now be filtered by data type.

objectchooser1

A favourite filter has been added to the journal toolbar to give a better way of marking entries as ‘important’. More regression fixes went into the support of removable devices after moving from maintaining an index file on the device to the use of POSIX calls.

favorite

New ColorToolButton Widget
Benjamin Berg added a new ColorToolButton widget. It is already in use in the Write activity to select a colour for the text.

color

Control Panel
The ‘About my XO’ section has been renamed to ‘About my Computer’ to reflect the use of Sugar on non-XO hardware. Morgan Collett added the possibility to change the jabber server without restarting Sugar.

Autoconnect to Access Point
NetworkManager does autoconnect on Sugar startup to the last Access Point you were connected successfully to.

Logout Option
Sayamindu Dasgupta added a logout option to the xomenu. Eben Eliason added the accessibility of the xomenu to the groups and mesh view and to the friends tray in the frame.

logout

New Logic for the devices positions
The logic to position the frame devices has been reworked. Plug in your devices and try it out.
[500 external devices eg. USB drive]
[400 3rd party devices eg. speech]
[300 transient connection devices eg. AP]
[200 transient devices eg. camera]
[100 static devices eg. battery]

frame

Table of Content Support in Read
The Read activity now shows the Table of Content for PDF files which support this feature. This eases navigation of large PDF files considerably.

read

Acknowledgment
A big thanks goes to all the translators, that are working so hard to make Sugar a terrific localized environment and the infrastructure team that provides our members with tools and services to make their live easier.

You can find more details and screenshots in the full Release Notes.

You can find more details on the schedule in the Sucrose Roadmap

In behalf of the Sugar community,
Your Release Team