openSUSE:Hackweek V

Jump to: navigation, search

Hackweek Nr. 5 took place from Monday June 7 til Friday June 11, 2010.

Feature videos are available at our youtube channel
Feature descriptions are available in fate.


Appliances Department

  • Cornelius Schumacher: Desktop Client for SUSE Studio
    My graphical SUSE Studio client is functional and has the first cool features implemented. The focus of the client is not to duplicate the functionality of the SUSE Studio web interface, but to provide those features, which are hard or not possible to do on the server. This is stuff like managing downloads, running and deploying appliances locally, or native access to testdrive. From this list I got the native testdrive done


  • Jiri Srain: learing Rails on fixing SLMS bugs

  • Lukas Ocilka: Working on new design of SLMS 1.1. Still work-in-progress, is intended to be used, feedback positive so far

  • Jan Kupec: Easy adding BuildService repositories via zypper: zypper addrepo obs://...

  • Jozef Uhliarik: SLMS build in Hudson
    Preparing scripts for building SLMS in Hudson (similar to e.g. WebYaST, zypper). Mostly done, blocked by changes of the Hudson build server which are being WIP

  • Josef Reidinger: work on LXDE
    I found as the most intersting idea to replace gnome gvfs which is needed to have usable gio interface in glib (geek-deserialization: allow easy access remote systems, zip archives in file manager like it is part of filesystem). Motivation for replacement is quite big gvfs dependency and system resource requirements. It choose it because I can learn something new, can return to programming in C from Ruby on Rails

  • Jiri Suchomel: SLEPOS GUI
    Currently the module is read-only, learnt how SLEPOS internally really works.

  • Martin Kudlvasr: WebYaST: dynamic css
    Dynamic generation of WebYaST stylesheet.

  • Martin Vidner: Blobec: Git with GPG on FTP
    Blobec is a tool to store my private information (diary, calendar) on the Net to increase its availability and redundance.
    * To preserve privacy it needs to be encrypted -> GPG.
    * I want it to be versioned, with easy merging of diverged copies -> Git.
    * The publishing part works with what my current ISP provides -> FTP (with SSL).
    I am implementing it in Ruby, with cURL.

  • Ladislav Slezak: Sound Card Database
    Update sound card database generation in yast2-sound module - the sound DB has not been updated for long time because the files needed by the generator has been removed from kernel package, more over the DB is static and doesn't reflect architecture specific sound devices. The new generator directly reads data from kernel modules during package build so the DB is build for specific arch + is automatically rebuilt for new kernels (no need to do it manually). The project is located in tml/lslezak branch in YaST SVN. Remaning work: add PPC support, testing. My plan is to include it in the future openSUSE release (11.4).

  • Michal Zugec: Network configuration
    Create a graphical configuration of network settings with possibility to export to an AutoYaST profile. Should offer drag&drop (e.g. for moving NICs to bond)


  • Uwe Gansert: Learn Ruby
    learned a little about ruby (important fixes for SLES4SAP)

  • Michael Calmer, Michael Andres, Steffen Winterfeldt: Pool install
    ~ma/Export/repomd_product_installation.txt
    Try to use our Pool repositories as installation repositories

  • Thomas Fehr: Learn Ruby
    Hackweek learned a little about ruby...

  • Arvin Schnell: LLVM
    Looked at LLVM (low level virtual machine). It's actual not a virtual machine but more like an alternative toolchain to gcc. (Also looked at integrating unclutter in xserver.)

  • Gabriele Mohr: Learn Ruby
    - learned about ruby and ruby on rails
    - continued with SLMS feature list_registration (usecase for learning)

  • Steffen Winterfeldt: gfxboot
    Status: not finished yet
    - rewriting gfxboot in C

  • Jens Daniel Schmidt: git and scripts
    Status: unfinished
    - improvements to the git.suse.de backup-scripts
    - fixes for find-buildhost script of dmueller
    - read about puppet
    - trying to get custom hooks into gitorious repos on git.suse.de
    * found a way, but its not finished yet


  • Thomas Goettlicher, Christoph Thiel: Shelterbox
    - worked together with cthiel on a rails project: donation management system
    - got a lot of useful ruby on rails tips and tricks

  • Hubert Mantel: firefox
    wants to implement changing the useragent string for firefox, but found out, that there exists a plugin for this

  • Hubert Mantel: mp3 tagging
    - wanted to start to implement a commandline tool for mp3 tagging because id3v2 is buggy, but than Amazon EC2 steped in.

  • Mihnea Istinie: Product Priorities
    Category: fun
    My hackweek project was the fight for the product priorities together with the Workshop interlock...

Desktop Department

  • Cedric Bosdonnat: Evo maps integration
    Added the possibility to parse the location of a meeting as an address, link that to a map, show them on the map. Also added the possibility to show contact addresses on the map.

  • Kendy Holesovsky: Tweak Evo to my needs
    I wanted to improve several things in Evo I was missing after having switched from KMail. I was able to get the quoting messages as I like them, but did not succeed in the bigger thing, having calendar visible in the email window
    (only 3 days)

  • Noel Power: Improve Mono integration with OpenOffice
    The goal was to allow OpenOffice.org components to be written in C# to be embedded in openoffice; so far we were only able to control OOo by C# code, this is the next step

  • Petr Mladek: Personal switch to Gnome
    Status: success
    He's been a KDE user for the past 10 years, so it is understandable that the switch was not trivial; Petr used the HackWeek to do that, and to tweak the Gnome desktop to his needs

  • Thorsten Behrens: Use librsvg as the internal renderer for SVG in OOo
    When importing SVG, instead converting it to a the OOo vector format, this work preserves it as SVG, and uses librsvg to actually render it in high quality and accuracy
    - unfortunately up-stream was doing the same (secretly), and revealed that afterwards

  • Tor Lillvist: Implement locking in GIO (gvfs)
    GIO is missing API for locking, and we would need that in OOo for Samba. This work was to update the past work that Tor spent on this theme already.

  • Punit Jain: Twitter integration for Evolution mail client
    Status: Not completed - needs more time

  • Vibha Yadav: Importing of Rules from Thunderbird to Evolution
    Status: Partial success
    This will give an uninterrupted experience to people moving from Thunderbird to Evolution by allowing them to use their existing rules of Thunderbird in Evolution.
    - needs a few more days to complete

QA Department

  • Sebastian Vollath: UNIX socket snooping
    code submission for upstream kernel (and bugfixing)

  • ories,APAC: Find Your Buddy
    Localisation based buddy/people search as online app for android and other devices

  • ories,APAC: Automation of Studio Onsite API testing
    Status: Interrupted by upcoming special test requests

  • ories,EMEA: Porting SHARP PC-Z1 Netwalker from 2.6.28 araneo kernel to 2.6.31

  • ories,EMEA: use automounter for pxe boot of ia64 boot images


Server Department

  • Joachim Plack: RPM Statistics

  • Torsten Duwe: A generic aGPS C-library
    Needed to speed up position detection on mobile devices, in this case openMoko by storing Almanach- and Ephemeris- data locally, so that they ca be read upon booting. (Almanach done, Ephemeris WIP)

  • Uli Hecht: qemu-vfb
    Userspace QEMU, giving you the ability to run Linux binaries for almost any architecture on your desktop system, is useful in developing applications for embedded devices, but it deliberately only provides an extremely thin layer of abstraction of the host system. This is most evident when developing applications using the framebuffer device: such applications typically lock the virtual terminal and put the keyboard driver in raw mode, which means that if something fails, there is practically no way to get back to your X session short of rebooting the system.
    qemu-vfb alleviates this problem by virtualizing the framebuffer device and TTY and diverting accesses to them to an SDL window and the SDL input system. This makes sure that in the case of an application crashing, the system remains usable. And it is, of course, much more pleasant to develop from your X session than having to use the console.

  • Reinhard Max: Sandwich PDFs
    https://features.opensuse.org/309566
    Status: Proof of concept stage, 75% done.
    The goal of this project was to create an automated scan+OCR tool that allows the user to scan a paper document (for instance using one of our scanner/printer devices), have it processed by an OCR utility to extract the text and generate a Sandwich-PDF that combines the original image with the recognized text. This would allow cut-n-paste directly from the scanned document.

  • Johannes Meixner: Learn Ruby

  • Jan: Toolchain work (binutils, gcc)
    partly fixing issues, partly implementing (compiler) features to (ultimately) improve the kernel.

  • Charles Arnold: XEN&KVM
    Rewrote and enhanced the build scripts for the XEN and KVM Stage Builds. Reduced the number of scripts from 61 to 15.

  • KY: HyperV
    1) Cleanup HyperV support in Linux and centralize core HyperV support functionality. 2) While much of the Linux support on HyperV is currently centered around PV drivers (LIC), no work has been done (as far as I know) to characterize running Linux on HyperV. HyperV has a fairly extensive mechanism for gathering statistics from the hypervisor. Looked at HyperV documentation for accessing statistics.

  • Kirk Allan: pvctrlw.exe
    Audience: I can make the app available to anyone who would like to give it a try.
    For my hack week project, I created a windows gui application, pvctrlw.exe, to control the same options as the command line pvctrl.exe. Through the app, you can control things like turning on and off disk, LAN, and ballooning. You can set things like the number of grant frame, the max number of disks to be supported, and the shutdown delay when issuing a xm shutdown. It can also set some of the tcp windowing options that potentially give greater LAN throughput. This new windows app uses radio buttons, check boxes, and text boxes to accomplish these tasks. It also include a a help button which describes all the features that can be set. The app will run on all versions of Windows. I have also bundled it into the VMDP package for the next VMDP release.

OPS Department

  • Roland Haidl: Joomla

  • Rüdiger Oertel, Berthold Gunreben, Lars Vogdt: self made NetApp

  • Roman Drahtmueller: pam-panic
    Causes PAM to execute a script upon entering a preconfigured password. There are situations when your laptop, your desktop system or whatever is locked or you are not logged on already, and you are forced to unlock the display or log on. For this particular case, a method may be useful to not use the login password, but a different password, to trigger a script to be executed. The script then does whatever you require to make you feel at ease with strange people now having access to what's left.

  • Karl Eichwalder: phpmygpx
    There are many tools around the openstreetmap project, from managing GPX files to creating customized maps. Many tools are already packaged as part of the project Application:Geo, while other tools such as http://phpmygpx.tuxfamily.org/phpmygpx.php are difficult to package, and probably just need documentation.

  • Frank Sundermeyer, Tomas Bazant: openSUSE BookBuilder
    Frank worked on OBB backend, build dependencies, makefile debugging. Tomas worked on OBB frontend, perl modules, and now loves unit tests

  • Jakub Friedl: documenting an X11-replacement project

  • Thomas Schraitle: XML-Pipelines, xproc spec

  • Juergen Weigert: Hackweek videos
    Created hackweek videos with kdenlive, is now a proficient video cutter, learned how to upload to youtube, how to make mediawiki templates

  • Juergen Weigert: SystemTap
    learned how to use systemtap - inspired by our new monitoring and tuning guide

  • Klaas Freitag: Zippl
    I am always interested in cool applications and I wanted to investigate a bit on Qts GraphicsView anyway so I decided to go for a proof of concept implementation of a lightweight but cool presentation tool following these concepts.the user can specify so called spots on the Zippl-canvas. During a presentation one after the other canvas is displayed with an animated move from one to the other.
    Spots can consist of text in various fonts and sizes, geometric forms and images. Colors and line widths and stuff can be specified for each item. It is amazing what can already be done with these few elements.

  • Ciaran Farrell: Buttermill
    This is a project to create a windmill standpoint feasibility analyser using commodity hardware and relatively inexpensive Atmel hardware. What's meant is that it is advisable to test the proposed location of (e.g. electricity generating) windmill before actually going ahead with acquisition and building. Using commodity, low-priced wind-speed measurement devices (anemometers), it is possible to gain an idea of the average windspeed which a bigger windmill would be likely to be exposed to. The people at http://www.speedofthewind.com put it like this:

  • Thomas Schmidt: BuildService Rails
    Tom prepared a talk for LinuxTag about the new rails UI

  • Will Stephenson: Got a new cam
    Status: fun
    Audience: self

  • Michael Schröder: libzypp
    https://features.opensuse.org/309561
    Status: production
    Audience: openSUSE
    We already use deltarpms do speed up downloading of rpms when doing an update. Unfortunately, the repository metadata is also quite a chunk of data which considerably slows down update speed.
    The idea is to use a zsync like algorithm to fetch only the changed parts of the metadata. The implementation will use libcurl's multi interface to work with multiple connections in parallel.
    Another benefit is that the code can replace the aria2c interface, which does not fit well into the current code (different proxy handling and the like).

  • Susanne Oberhauser: GCC dehydra
    the dehydra/treehydra gcc plugins have access to gcc parse trees and can thus in theory emit symbol dependency annotations for source code: where is which symbol used, where is which function used, where are they defined?
    And this does not come from some parsed guess but from the real build, with the real CFLAGS, for the real code. This symbol level dependency information can then be used for static code analysis, and if compared between builds it can be used to make the dynamics not of source changes but of dependency changes tangible.

  • Alexander Orlovskyy: Perl based wine configurator for games
    The idea is to create perl application which can edit wine config files for following purpose: Sometimes the default wine configuration is not suitable to run windows games (more info on http://appdb.winehq.org/) In most cases the user need to edit manually wine config files, well thats should be solved through wine configurator.
    For testing purpose i chose 2 games: Starcraft and Civilization IV
    The result should be a one click solution, which edit wine config files , so that it possible to use windows games without any additional configuration.

L3/Maintenance Department

Preload Department

  • Stefan Dirsch: Linux on Nintendo DS
    (at least telnet worked :)

  • Matthias Hopf: preload install
    enabled installing preloads via network from USB will significantly reduce turnaround time in developing/testing

  • Timo Hoenig: libfprint
    looked into libfprint for Fingerprint reader support (once we get specs...)

  • Vladimir Botka: testmachines
    Audience: self
    Cleaned up and reorganized his testmachines

  • Takashi Iwai: Touchpad Driver
    Open Source driver for Synaptics Touchpad (with zoom support!) -- significantly better then the closed source stuff provided by Synaptics.

random collection of hackweek projects, in no particular order

(Please add to this page, if you find yourself misrepresented or underrepresented here, thanks!)

  • Alexander Naumov: KDE Network Management
    Trying to create a better support for wifi in NetworkManagement ;)

  • Hannes Reinecke: megasas
    Currently Qemu only has a paralled SCSI HBA emulation, which will have all block devices appear as SCSI parallel disks. The 'megasas' HBA emulation as posted on the qemu/kvm lists is not restricted to a single SCSI device type but lets you pass the underlying block devices 'as-is'.
    This feature will focus on getting megasas into an acceptable state and setup a nice show case using LIO-target as the backend.

  • Dominik Heidler: abook

  • Suresh Jayaraman: Local caching for CIFS
    I worked on making the Common Internet File System (CIFS) cache aware, i.e. local caching for CIFS Network File System. Caching can result in performance improvements in network filesystems where access to network and media is slow. The cache can indirectly improve performance of the network and the server by reduced network calls. Caching can be also viewed as a preparatory work for making disconnected operation (Offline) work with network filesystems.


Template:Hack_proj