Pavol Rusnak #cypherpunk #hacker #openhw #privacy #bitcoin #newmediaart

Adding YaST menuitem to GNOME 3 status menu

This blogpost is now obsolete.

Please go to GNOME-Shell Extension: YaST (item in) Status Menu.

I read a blogpost from Nelson Marques about adding YaST modules icon to GNOME Shell. I kind of liked the idea of YaST integration into GNOME Shell, but I had to share Julian Aloofi’s worries in comments. He came up with a simple idea to just add the YaST menuitem to status menu in the top-right corner. This was very easy to implement because most of the GNOME Shell features are written in Javascript. I created the following simple hack and ended up with this:


If you want to add the YaST menuitem as well, just follow these simple steps (as root):

cd /
patch -p1 < gnome3-statusmenu-yast.patch
rm gnome3-statusmenu-yast.patch

Now you have to restart GNOME Shell (press Alt+F2 and enter “r” command) and you can enjoy the new menu item. :-) Remember, the changes will be lost next time you reinstall the gnome-shell package.

I already contacted Frederic and Vincent about the patch and they are still looking for the best way how to integrate YaST with the rest of the system, so stay tuned. :-)

PS: Andy found an interesting bug. For him, the item was added but clicking on it did nothing. Solution was found by Frederic - just install the missing gnome-menus-branding-openSUSE package.

openSUSE 11.4 Release Party - Prague

Last Friday we held an openSUSE 11.4 Release Party in Prague, more particularly in the first Czech hackerspace called brmlab. We decided to go with later date and not doing the party immediately after the release, so we could have promo materials available. This included openSUSE posters, DVD media, T-shirts but also openSUSE beer! Thanks Michal and Klaas for delivering them to Prague. In the beginning we had 100 promo DVDs and we ended with slightly more than 10, so I think the event was a huge success!


We planned to start the event with a talk from Martin about changes in YaST and WebYaST and his plans to reincarnate the “classic” YaST using Ruby, but Martin got ill, so we had to improvise. Fortunately, we had a lot of new faces in the audience, so I could reuse my presentation from the last release party called openSUSE from A to Z. Most of the things mentioned there are still valid now anyway. :-)


Next on program was a talk from Kendy about LibreOffice. He explained the reasons for forking, some new features available in version 3.3, but also ways how one can contribute to the project. For example, there is a list of easy hacks which includes things like translating German source comments into English or removing unused code. More advanced programmers can participate in Google Summer of Code by solving one of the ideas (btw, this also applies for openSUSE: ideas to grab are here).


The official part continued with my talk about changes in openSUSE. I talked about our desktop environments shipping with the latest 11.4 release (KDE, GNOME, Xfce and LXDE), about applications like Firefox and other browsers or LibreOffice. I also mentioned changes under the hood like Linux kernel, Xorg + Mesa or systemd. At the end I mentioned other changes in the project like Tumbleweed initiative, split of Packman repositories, SUSE Studio and virtualization in general and our web infrastructure: more precisely Build Service and Connect.


The last talk was given by Miro. He is an editor-in-chief of the Czech Linux magazine called LinuxExpres. While doing interviews in our offices a week ago, we asked him if he’d be willing to do a talk at our release party about Xfce 4.8 which is available in 11.4. To our delight he agreed, although he uses Xfce in Debian, but he wanted to see how 4.8 looks like. In fact, openSUSE is the first major distro to have Xfce 4.8 in its stable release!

After the Xfce talk we had pizzas for dinner and continued with free discussions, playing with KDE 4.6 and GNOME 3 on our touchscreen, simply having a lot of fun! Thanks Alena and the whole Prague SUSE office for sponsoring food and drinks!













All photos taken by Michal Kubecek, thanks!

IBM Watson runs on SUSE Linux Enterprise


I am sure that most of you already saw (or at least heard about) how Watson from IBM competed on the TV quiz show Jeopardy. The software runs on supercomputer which consists of 10 racks of IBM POWER 750 servers (making it a cluster of 90 servers, each having 32 cores with 4 hardware threads) . The much lesser known fact is that this machine is using SUSE Linux Enterprise as its operating system. Except Linux it can also run on AIX and IBM i, but IBM has chosen SLES (probably because it has the best performance on IBM POWER7 among these options), which makes it even more cool! I wonder why Novell marketing isn’t using this great success story more!

Update: I just found this - it seems that Novell IS promoting this great success story afterall! Cool!

For those who didn’t watch the videos I include here all parts together so you can see them now (and you should!).

Novell Hackweek #6 / Game Jam Prague 2011


Last week we had a Hackweek at Novell. I decided to do something rather unusual for me - to hack a device. I bought one of these nifty LiveView devices made by Sony Ericsson, which are basically an intelligent watch that can connect to your mobile phone using Bluetooth. Unfortunately, it turned out to be rather unusable with Android devices (lots of Bluetooth disconnects), but supposedly a firmware update is on its way. After I saw that, I was somehow disappointed but I thought there must be a way how to reverse engineer a protocol and try to connect the device to my computer. I started to look around on the Internet and found a great blog by Andrew de Quincey. What was even more cool was that Andrew already did most of the job and wrote some code in Python. All I had to do is to wrap it into classes to make it more general and thus customizable. So what’s next? My dream is to create a custom open-source firmware and flash the device. I hope I can achieve this with help of hardware wizards from our Prague hackerspace. The source code is available from gitorious as usual. Do you think that Hackweek lasted only until Friday for me? Well, not really, keep reading … :-)


When I was last time in Germany, Leinir told me about an event called Global Game Jam. I liked its idea very much - 48-hour game coding marathon. I was amused when a couple of days later (just one day before the event took place) my friends Split, Lokiman and Frem told me about the Prague chapter called Game Jam Prague and invited me to join them. We decided to go there under the name they already used for a couple of their projects - Hyperbolic Magnetism aka @hypmag.

The event started on Friday evening. When we arrived, the place was already full of other teams preparing their stuff. This was very different from other (mostly open-source related) events I attend where I usually know at least a few people. Here, I knew no one except my team! :-) At around 6pm we were given a topic that should be somehow present in our game - Extinction. I was very surprised that we were able to brainstorm over 15 ideas in less than half an hour. Later we discarded most of them (because they were too obvious or too complex) and we ended up with two.

We agreed that for idea one to be successful we would need to create nice graphics and because none of us was confident enough, we decided to pick the another one where simple graphics would suffice. So we started to work on a game with the working title “Nations”. The idea was really simple: you have a couple of nations, represented by triangles (people) moving inside the circle (border). Each nation expands in time and when the circles start to overlap, triangles inside the intersection start to fight together. Moreover, if the nation is big enough, it starts to produce A-bombs which are then launched at other nations. Your task is to maintain balance between the nations, so none of them is completely destroyed. This is achieved by applying positive or negative force on some places of the game area. Positive force causes affected triangles to reproduce more, negative force causes the affected triangles to disappear. We implemented basic behaviour of the game mechanics and went to sleep on Saturday morning.

We met again on Saturday evening and we coded and tweaked and coded and tweaked … It was a long way, but at some point (I guess it must have been something around Sunday 4AM) we realised we want to change the whole game logic completely. How about we had only two types of nations - green controlled by the user and cyan ones by AI? What if player could decide to split the nation into two halves or join two nations into a bigger one? Bigger nation of course produces A-bombs faster, but is also easier to target. We replaced most of the code and I started to work on an AI, which suddenly became necessary. We worked until Sunday noon when we were finally satisfied with the result. In the meanwhile Split composed a great music track and we quickly hacked game menu, intro screen and other cosmetic stuff. That’s how it looked in the end:



I’ll attach the gameplay video to give you even better idea how the game is played:

At the end of the event all contestants judged the produced games and the first three places were announced - check the list for all other games and the result. The first team also got a very nice pacman-themed cake (which was also very tasty, thanks for sharing!). Although we didn’t make it into the Top 3, I think it was a great success for us. We tried something completely new and we also met a lot of interesting people (one of them being Antonin, author of the legendary TotalFinder). I also hope that we’d be able to finish the game and publish it into Apple App Store (and probably later into Android Market).




Finally I present you the photo of amazing Hyperbolic Magnetism shortly after we submitted our game at the end of the 48-hour session. :-)


See you next year!

GNOME Python Hackfest, AppInstaller Meeting and Bretzn Hackfest

What a cool and productive week! But let me start from the beginning …

A couple of months ago we decided to start a hackerspace in Prague called brmlab. Most of the members deal with hardware, but there are also couple of software guys like me. At the end of November we were contacted by Tomeu and he asked if they can organize GNOME Python Hackfest in our hackerspace. I was more than delighted about the idea, so we agreed and started to plan things. In the end we had 9 FOSS hackers working on GNOME and Python and I think they enjoyed their time in Prague. Hackerspace is a great concept, because these folks didn’t have to spend extra money on renting some place and our members had opportunity to meet foreign FOSS developers and try exotic hardware like OLPC XO-1.


Blogposts from Tomeu, J5 and Martin about the event.

I had to leave the guys on Tuesday evening, because I spent the rest of the week in SUSE office in Nuernberg. The first three days were dedicated to Cross-distribution meeting about application installer organized by Vincent. It went more than well, we discussed and agreed on many things, which is great and in the end we were able to give a presentation + we also created a nice AppStream wikipage as a starting point for any future work.


Vincent wrote a summary for openSUSE News and a blogpost.

This meeting was immediately followed by Bretzn hackfest organized by Frank. The main focus of it was implementing some of the things we agreed on previous meeting from the KDE/Qt perspective and porting MeeGo Garage to openSUSE. During it I was mainly dealing with appdata.xml format we described in the AppStream meeting - I created an XML schema so we can validate it and also developed a proof-of-concept generator of this piece of metadata in Python. (git repo) Hope we can get it in createrepo and dpkg-scan* utilities soon.


Frank wrote a summary for openSUSE News and a blogpost.

I would like to thank GNOME Foundation and Collabora for sponsoring the GNOME Python Hackfest, Novell for sponsoring the Bretzn Hackfest and Canonical, Debian, Mageia, Novell and Red Hat for sending their people to AppInstaller Meeting! It’s really nice and encouraging to see folks from various companies working on one common goal.

And yeah, going-to so see you there!