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

openSUSE users collage

Today I stumbled upon blogpost by Andreas Gohr called Mosaic. He took 30.000 avatars of users and created a mosaic from them using the metapixel software. What a great idea! How about doing something similar for openSUSE folks?

We hadn’t metapixel packaged in openSUSE, so I created the package in Contrib repository. Then I started collecting the avatars of openSUSE users. I searched both twitter and for messages containing “opensuse” and added the authors’ avatars to the pool. also has groups, so all members of openSUSE group ended there as well. Facebook contains both openSUSE group and openSUSE page so I grabbed all avatars I found there too. At the end I was able to collect 3760 avatars of people using or interested in openSUSE!

I started experimenting with metapixel, but because I still had 10 times less images available than Andreas, I was not able to produce very good results. Fortunately, I discovered -c option, which tries to create a collage instead of a mosaic, which looks much better. (Mosaic has photos arranged in a rectangular grid, while collage does not.) After some fiddling I was able to create the following pictures. I hope you like them! :-) (use right click and “Save as” when downloading hi-res images)


hi-res: 6000x3754


hi-res: 6000x3750

If you’d like to play with the parameters I give you the tarballed avatars (6 MiB), original images (1 MiB) and the command lines I used to produce the image:

tar xfj opensuse-users.tar.bz2
tar xfj collage-sources.tar.bz2
mkdir ./opensuse-users-ready
metapixel-prepare --width=48 --height=48 ./opensuse-users ./opensuse-users-ready
metapixel -c -l ./opensuse-users-ready -w 48 -h 48 -m wavelet -d 500 -e global --metapixel opensuse-logo-6000.png opensuse-users-collage.png
metapixel -c -l ./opensuse-users-ready -w 48 -h 48 -m wavelet -d 300 -e global --metapixel chameleon.jpg opensuse-users-collage-2.png

Enjoy! (Don’t forget to install metapixel package from Contrib.)

Update: Lubomir Rintel tried to do a similar collage for Fedora users, check his version.

Hackweek: Game Store


This week we had Hack Week event when everyone was welcome to use Innovation time on FOSS projects or even start the new one! I spent most of the time on hacking the Game Store, which I introduced in my previous blogpost. The package is now ready for you in the Build Service.

Simply use the following One Click Install files (openSUSE 11.0, openSUSE 11.1 and openSUSE Factory) or add the games repository and install the gamestore package manually. Game Store uses this repository to download the games, so you should stay subscribed to it after the installation too.

As a bonus I created a very simple One Click Install files catalog which imitates the Game Store look. It is available at

The screenshots for both versions (left Qt, right web) are here so you get the idea how it looks, but the best thing is to try it on your own! :-)



Big thanks go to randy-sk who helped me with harvesting of icons and screenshots of the games. I am already looking for your feedback! :-)

Game Store

I was adding some new packages to our games repository in openSUSE Build Service, when I realized that we have over 150 games at this one centralized place! Wouldn’t it be great if there was an application which would allow users to browse through games, filter them by genres or names, view the screenshots and read the information about the games? Players usings Windows can already use “Games for Windows” or “Steam” from Valve, but they also have to pay for the majority of the games. All games in our repository are free and just one click away! I started to hack an application with pretty concrete idea in my mind. You can look at the result of my efforts below (left Games for Windows, right Game Store):



As you can see, Game Store is at the moment quite immature Qt application (actually it is my first Qt app, so my Qt skills suck pretty much right now :-) ), but it is already able to load locally stored XML together with game icons, screenshots and descriptions. User can install new games (using our great One Click Install feature) and launch the installed ones. Later I want to add the ability to synchronize your games settings (configuration + saved games) with Game Store server, so you can have these on any computer and the server could create a hi-score charts for every supported game. There is a long way ahead to go, but I wanted to approach you very early, so you could be involved too. Even if you don’t speak C++ or Qt, you can help us with filling the missing descriptions, gathering game icons and screenshots. Just read the GameStore wiki page to get the idea what needs to be done or clone the git repo and start hacking right away! :-)

Thank you and I hope that GameStore will be a great addition to other openSUSE applications and tools we already have!

Update: See the next blogpost for more information.

Wireshark 1.2.0 with GeoIP support hits openSUSE Factory

A few days ago, the new stable 1.2 branch of Wireshark, the network protocol analyzer, was released to public. It contains many new features that has been added since 1.0. The most vivid are:

  • Wireshark now contains a nice new start page (Picture 1)
  • Display filters now do auto-completion (Picture 2)
  • Wireshark can lookup in GeoIP databases and also use OpenStreetMap (Picture 3)




The release contains also a lot of bugfixes, support for the new protocols and the new capture files. You can find more info in the release notes.

If you want to test GeoIP/OpenStreetMap integration in Wireshark, just follow these steps:

  1. install the latest wireshark and GeoIP packages from Factory: zypper install wireshark GeoIP libGeoIP1
  2. run the utility which was recently added to GeoIP package by Ludwig Nussel: geoip-fetch -a This will fetch the latest GeoIP data files including the GeoIPCity, which is 44MB large, so we don’t keep it in the package, but is necessary for this feature of wireshark.
  3. run wireshark and enable GeoIP: Edit -> Preferences -> Protocols -> IP -> check Enable GeoIP lookups
  4. trace some network traffic (probably the best is to access various websites in your browser)
  5. pick some packet and expand Internet Protocol from dissector, you will see a line similar to this one: [Destination GeoIP: Mountain View, CA, AS15169, 37.419201, -122.057404]
  6. go to Statistics -> Endpoints -> select IPv4 tab
  7. you’ll see IPv4 endpoints with Countries, Cities, Providers and Latitude/Longitude
  8. press Map button at the bottom of the dialog window
  9. browser with OpenStreetMap and embedded Endpoints will open (see Picture 3)
  10. you can also use new packet filters starting with the ip.geoip prefix (see Picture 2)

SVG-edit 2.1 released

Thanks to hard work of Jeff, Narendra, Vidar and me, we managed to create today a 2.1 release of SVG-edit. Interesting changes include:

  • tooltips for all UI elements
  • editing of fill, stroke and group opacity
  • selecting and moving elements
  • saving SVG file
  • adding end editing of text elements
  • context panel for tools
  • change rectangle radius
  • controlling of the editor with keyboard shortcuts


You can try the 2.1 branch here

Unfortunately the editor still has some problems when embedded into Google Wave, but now that Vidar received his invitation, I hope we’ll be able to fix it sooner. :-) We are also already cooking new features for 2.2 so stay tuned!