⌨ Labor omnia vincit ☮


Posted in Events, GNU/Linux, openSUSE by anaumov on 08.02.2018

The Free Open Source Developers European Meeting (FOSDEM) 2018 happened over the weekend. FOSDEM is a fantastic conference where Free Software enthusiasts from all over Europe can meet together at once a year (more than 17000 MAC addresses were registered this time). I really like its clearly unique atmosphere. As usual, 2 amazing days in Brussels, Belgium…

The reason why I visit it again and again. It charges you. When you see all these developers, visit these talks/presentations, have so many conversation with contributors, get innovation ideas that are shared there. It motivates you to get a copy of The Linux Programming Interface & TCP/IP Guide and hack away your amazing Linux software 🙂
Most of the talks were recorded. That’s nice, but by watching it online you just get information, by visiting these talks in person and taking part in discussions, you get much much more.

This time I was there together with my LiMux colleagues from Landeshauptstadt München. By the way, as you maybe know, we’re going to share as much as we can until Munich migrates to Windows (unfortunately, because of bureaucratic reasons making software freely (share it) sometimes is not so easy as we want).

Like in last year FOSDEM was held in so-called “developer rooms”. First I planned to visit devrooms such as debugging tools, DNS/DNSSEC and security + encryption. That was my target when I planned my program. But as I noticed later I was not the only one who had the same plans to visit the same talks, hacking sessions and open discussions 🙂 That led to the free-places-problem in the devrooms and it made my program a bit more dynamic than I planned first 🙂 But get it right – that was absolutely no problem for me. Outside we also had very interesting conversations. I met ex-colleges, friends whom I knew from mailing lists and IRC only and of course a lot of openSUSE contributers.

I would like to thank FOSDEM’s staff, everyone who made it happen, who helped to organize it (I’m definitely going to send a feedback to you guys). Thanks GitHub for free coffee. Keep it going 🙂 I also have to say thanks for openSUSE’s Travel Support Program. It supports me to visit this amazing event (and not for the first time!). I’m going to visit FOSDEM again next year. My photos can be found here. See you next time 😉


pam-python is avaliable for openSUSE

Posted in openSUSE, python, security by anaumov on 21.04.2017

Last week I came across pam_python, a PAM module that lets you write PAM modules in Python. It seems interesting to play in this direction, but I had to install it manually. It seems that there was no official packages for openSUSE until now…

Yesterday I built version 1.0.6 for Tumbleweed. Please test it. It’s in our security repo. Feel free to send submit requests.

After installing it we will get /lib64/security/pam_python.so PAM modul. It’s just an interface between PAM and your own plugin (that you have to implement). To test it, you will need to add PATH of your plugin to the /etc/pam.d/login file (in case of getty-access test, for example), like described here.

This code can be used as an example. It will close access for all getty.

> cat /lib64/security/access.py

def pam_sm_authenticate(pamh, flags, argv):
  if str(pamh.service) == "login":
    return pamh.PAM_AUTH_ERR

You will also need to add this line to the /etc/pam.d/login file:

auth required pam_python.so access.py

This is just an example with login service or getty. Pam-python supports also, for example, ssh- and kdm-services. It supports many other interesting things. For more info look at documentation page.

GNU Screen v.4.5.0

Posted in GNU/Linux, openSUSE by anaumov on 18.01.2017

I’m proud to announce the release of GNU Screen v.4.5. This time it’s mostly a bugfix release. We added just one new feature: now it’s possible to specify logfile name by using parameter -L (default name stays screenlog.0). Myself also spent some time to make source code a bit cleaner.

As you probably noticed we were going to release 4.5 until Christmas. Unfortunately, we could not do it because of some internal GNU problems. I apologise for that.

As usual, we merged some community patches from our bug tracing system (small patches also were presented in IRC) and I would like to thank everyone who contribute to Screen and helps us to test development git-version!

For openSUSE users: I updated our devel-package already. It’s soon in factory and, as usual, after openQA routine new package will be available in Tumbleweed.

Battleship – Sinclair ZX Spectrum

Posted in fun, myself, openSUSE by anaumov on 07.03.2016

The first computer, which was in my family, was ZX Spectrum. I think, I was about 6 when my father bought the first computer. This computer I used for gaming of course. I started programming later and on PC. I will never forget the sound of loaded games on Spectrum (software was distributed on audio cassette tapes and loading into memory was a sound (perceived by the human ear), interpreted as a sequence of bytes)…

Last weekend I played with my 5 years old son in Battleship. I showed him this game first time and we used pencil and paper. He teaches the alphabet and I think this could be a good experience for him. You know that feeling when you have something to show your children, do you remember your childhood. I don’t know why, but I remembered not a “paper version”, but our first computer and how I with my older brother played in Battleship on Spectrum against the computer.
I thought about this until evening and at the same evening found this game in net. I found a lot of different information about this game, the most important of which was the fact that this game can be installed on any PC running GNU/Linux. Yaaay… I can’t remember what I planed to do on this night, but until I went to sleep I installed spectrum’s Battleship on my x86_64 openSUSE and plunged into childhood for few hours 🙂
To install spectrum’s programs on UNIX/Linux you need to install emulator. In case of openSUSE, you need to add Emulators project first. After that install FUSE package. It just works. Just start fuse-binary with game-file-name as a parameter.
I would like to thank FUSE developers and openSUSE FUSE mainainers. I don’t play in “today’s” games, but time-to-time can spend a bit time for games of my childhood.

Linux Presentation Day + Leap 42.1 release party in Munich

Posted in Events, openSUSE by anaumov on 16.11.2015

On Saturday we had the openSUSE Leap 42.1 release party in Munich, which I announced a couple of days ago. We had around 20 participants there: about 10 openSUSE users and also about 10 GNU/Linux users from the Linux Presentation Day – people that just started using Free Software and wanted to know more about openSUSE, GNU project, Open Source in general and of course celebrate with us the new release 🙂

But at the beginning I had no idea where we can meet in Munich. On Wednesday I asked in our German ML about location and Marcus advised Linux Presentation Day. Two minutes later I sent email to Linux Presentation Day event’s organizers and asked about separate room with beamer and power sockets. We got everything what we asked about. Thanks a lot for collaboration!

After that, on Friday (when I was sure about location and room was reserved for us) I come to Nuremberg to take openSUSE promotion material like USB flash sticks, DVDs, stickers, green “Leap” T-shirts and openSUSE beer. It’s not so far away from Munich. I think, about half of eighth I was at SUSE Office and Richard gave all “release party stuff” (last time, when I organized openSUSE 12.1 release party in Göttingen, I got all these stuff via post, with the exception of beer of course).

I had a talk about openSUSE project in general: the talk was targeted primarily for those who never heard about OBS, Leap or openQA. I tried emphasized the role of the community in openSUSE project.
I got many questions about systemd, SUSE impact on the openSUSE and quality of the “Enterprise Core” part which will be used in the Leap. I enjoyed talking with many that showed up and received as main feedback from many of those that I talked with.
If you’re going to invite “everybody” to your release party, you don’t need to talk so much about infrastructure or development model of openSUSE, I guess. That’s important and interesting for developers and Free Software evangelists maybe, but not for users, who are still not sure about contributing. For such users it’s more important how good this version as a desktop system than how easy to use submit request in OBS or which programming language should they use for implementation of tests for openQA or something like this.

By the way, at Linux Presentation Day we met one journalist from linux-user.de. So, I think my post will not be the only one about this event 🙂

I want to thank Richard and Doug for openSUSE stuff, Linux Presentation Day organizers for hosting us in the VHS building and… thanks to all who joined us! See you next time and have a lot of fun 🙂

more photos.

openSUSE 42.1 Leap :: Release Party in Munich

Posted in openSUSE by anaumov on 12.11.2015

openSUSE 42.1 Leap was released about week ago and it is looking good. Now we have community enterprise system. I would like to thank everyone who contribute to openSUSE project and help to make it better.

Of course, we should have openSUSE release party! openSUSE community haven’t had release parties in Munich for a while (since I live in Munich I think we never had it here).

So, what is release party about? Well… like usual: Linux geeks meet together, speak about features in new openSUSE version, news in Free Software world, drink beer and… of course have a lot of fun 😉

A few days ago I started discussion about release party with Linux Presentation Day organizers and it seems that problem with location is solved now. We will get small meeting room with power sockets and beamer there. That is exactly what we need. I also asked Doug and Robert about some “promotional material”, openSUSE beer and TShirts. Tomorrow (Friday) I’m going to go to SUSE office in Nuremberg to take it (beer can not be trusted to anybody).

Do you want be a part of it?
* November 14, Saturday
* I start my presentation at 12:00 AM. I’m going to talk (presentation) about OBS, Leap and openSUSE project in general.
* vhs-Zentrum, Münchner Str. 72, Eingang rechts, 85774 Unterföhring
* Don’t forget to bring your good mood and friends 😉

Everybody are very welcome! If you have any questions about openSUSE, GNU project or Free Software, feel free to come and ask.

openSUSE factory :: dumpe2fs

Posted in openSUSE by anaumov on 02.10.2014
# dumpe2fs 
dumpe2fs 1.42.12 (29-Aug-2014)
Segmentation fault

# echo $?

# dumpe2fs -h
dumpe2fs 1.42.12 (29-Aug-2014)
Segmentation fault

> rpm -qf `which dumpe2fs`

> cat /etc/SuSE-release 
openSUSE 20140909 (x86_64)
VERSION = 20140909
CODENAME = Harlequin
# /etc/SuSE-release is deprecated and will be removed in the future,
use /etc/os-release instead

# ltrace dumpe2fs
__libc_start_main([ "dumpe2fs" ] 
setlocale(LC_MESSAGES, "")                        = "en_US.UTF-8"
setlocale(LC_CTYPE,"")                            = "en_US.UTF-8"
bindtextdomain("e2fsprogs", "/usr/share/locale")  = "/usr/share/locale"
textdomain("e2fsprogs")                           = "e2fsprogs"
set_com_err_gettext(0x401a00, 1, 1, 0x73676f72707366)                              = 0
add_error_table(0x605260, 1, 1, 0x73676f72707366)                                  = 0
__fprintf_chk(0x7f4fcb90f060, 1, 0x403b42, 0x403b3adumpe2fs 1.42.12 (29-Aug-2014)) = 31
getopt(1, 0x7fff9f754798, "bfhixVo:")                                              = -1
ext2fs_open(0, 0x29000, 0, 0 < no return ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

strace dumpe2fs…

Perl party :)

Posted in fun, hacking, openSUSE by anaumov on 18.07.2014

    ''=~(        '(?{'        .('`'        |'%')        .('['        ^'-')
    .('`'        |'!')        .('`'        |',')        .'"'.        '\\$'
    .'=='        .('['        ^'+')        .('`'        |'/')        .('['
    ^'+')        .'||'        .(';'        &'=')        .(';'        &'=')
    .';-'        .'-'.        '\\$'        .'=;'        .('['        ^'(')
    .('['        ^'.')        .('`'        |'"')        .('!'        ^'+')
   .'_\\{'      .'(\\$'      .';=('.      '\\$=|'      ."\|".(      '`'^'.'
  ).(('`')|    '/').').'    .'\\"'.+(    '{'^'[').    ('`'|'"')    .('`'|'/'
 ).('['^'/')  .('['^'/').  ('`'|',').(  '`'|('%')).  '\\".\\"'.(  '['^('(')).
 '\\"'.('['^  '#').'!!--'  .'\\$=.\\"'  .('{'^'[').  ('`'|'/').(  '`'|"\&").(
 '{'^"\[").(  '`'|"\"").(  '`'|"\%").(  '`'|"\%").(  '['^(')')).  '\\").\\"'.
 ('{'^'[').(  '`'|"\/").(  '`'|"\.").(  '{'^"\[").(  '['^"\/").(  '`'|"\(").(
 '`'|"\%").(  '{'^"\[").(  '['^"\,").(  '`'|"\!").(  '`'|"\,").(  '`'|(',')).
 '\\"\\}'.+(  '['^"\+").(  '['^"\)").(  '`'|"\)").(  '`'|"\.").(  '['^('/')).
 '+_,\\",'.(  '{'^('[')).  ('\\$;!').(  '!'^"\+").(  '{'^"\/").(  '`'|"\!").(
 '`'|"\+").(  '`'|"\%").(  '{'^"\[").(  '`'|"\/").(  '`'|"\.").(  '`'|"\%").(
 '{'^"\[").(  '`'|"\$").(  '`'|"\/").(  '['^"\,").(  '`'|('.')).  ','.(('{')^
 '[').("\["^  '+').("\`"|  '!').("\["^  '(').("\["^  '(').("\{"^  '[').("\`"|
 ')').("\["^  '/').("\{"^  '[').("\`"|  '!').("\["^  ')').("\`"|  '/').("\["^
 '.').("\`"|  '.').("\`"|  '$')."\,".(  '!'^('+')).  '\\",_,\\"'  .'!'.("\!"^
 '+').("\!"^  '+').'\\"'.  ('['^',').(  '`'|"\(").(  '`'|"\)").(  '`'|"\,").(
 '`'|('%')).  '++\\$="})'  );$:=('.')^  '~';$~='@'|  '(';$^=')'^  '[';$/='`';


Artefacts :-)

Posted in humor, openSUSE by anaumov on 12.06.2014

S.u.S.E. Linux 4.4
For Linux installation… ready 😉
Show me more photos…

openSUSE :: stumpWM

Posted in Lisp, openSUSE by anaumov on 08.02.2013


When you think about GNU/Linux, you probably think about servers or data storage systems. It could be also development machines or maybe desktops (but probably not). For me GNU/Linux was always place for different experiments and also platform on which I can implement my ideas (which often break system). So, today I would like to tell a bit about the Stump Window Manager.

Let’s start by saying that stumpWM is a tiling, keyboard driven X11 Window Manager written entirely in Common Lisp, and Common Lisp is a one of dialects of the Lisp – a family of a multi-paradigm programming languages (supports a combination of procedural, functional, and object-oriented programming paradigms). There are many reasons to use stumpWM. For example, you would like to have benefits of tiling window managers (its tiling windows to use the whole screen and focus on a user experience which is highly keyboard driven operation), or maybe you just want to learn Common Lisp (as we all know, reading the source code of a big professional project is a good idea when you learn a new programming language).
Keep reading this post…

Merry Christmas and Happy New Year

Posted in humor, myself, openSUSE by anaumov on 22.12.2012

If you read this, it means that you somehow miraculously have survived after an apocalypse, that was scheduled for yesterday. Of course you know that in spite of the end of the world, the role of the Open and Free Software stay the same. Hm… this is the most likely reason that you came to my blog, I guess 🙂

And you should be happy not just because have survived this “sad event”, but also because it is only 2 days until Christmas, and Christmas – it’s time for gifts! But again, as we all know, we will receive gifts, only if, first: Santa has also survived after an apocalypse; and second: only those of us who well conducted itself:

In any case, I would like to thank all those with whom we have done some work on Open Source projects. A lot of stuff was done at this year and it was great to work together with you guys. In the next 2 months I’m going to move to Munich where I found a new job and will keep work for the benefit of Free and Open Source Software.

Merry Christmas and Happy New Year! Stay crazy like you are. Never be satisfied, and always push yourself forwards. Belive in yourself. Keep doing the things people say can’t be done (or it makes no sense or something like this). Be ready to try new things. Keep doing Free Software better than before… and don’t forget to have a lot of fun of course 😉

openSUSE :: wrong checksums for Milestone1

Posted in openSUSE by anaumov on 21.11.2012

Just keep in mind, that we have broken md5 and sha1 checksums for our milestone 1 images right now (openSUSE 12.3).
So, don’t use md5 and sha1 files to verify your ISO images. We also have MD5SUMS- and SHA1SUMS-files and they are correct (use they to verify your images).
I remind you that you can check ISO images with md5sum and sha1sum tools.
Happy testing 😉

openSUSE :: Common Lisp Packaging Guide

Posted in Lisp, openSUSE by anaumov on 19.11.2012

About week ago Andreas Jaeger started discussion about packaging guidelines change process.
The packaging guidelines regulate all the nitty gritty details of packaging for the openSUSE distribution. There are general rules, rules about legal aspects of a package, about specific package features and about specific package types.

Until now we haven’t official rules for Common Lisp packages. For this reason I created a new page about it: Lisp Packaging Guidelines. You can find there rules and a bit information about Common Lisp packaging related stuff. It is still not official! I would like to invite all of openSUSE packagers and Lisp developers to join discussion about this and find the most interesting, correct, handy and optimal rules for openSUSE distribution (please discuss before change something in wiki).

openSUSE 12.2 + KDE 4.9.1

Posted in KDE, openSUSE by anaumov on 06.09.2012

KDE SC 4.9 was released after we froze own factory repositories at the final stage of development process of openSUSE 12.2. For this reason, in openSUSE 12.2 we have KDE 4.8.4 by default.
If you want to use last stable upstream KDE release (now it’s KDE SC 4.9.1), just add necessary KDE repositories, make upgrade and enjoy all the goodies the new version 😉

> sudo zypper ar -f \
http://download.opensuse.org/repositories/KDE:/Release:/49/openSUSE_12.2/ KDE_49
> sudo zypper ar -f \
http://download.opensuse.org/repositories/KDE:/Extra/KDE_Release_49_openSUSE_12.2/ KDE_Extra
> sudo zypper dup --from KDE_49 --from KDE_Extra 

By the way, don’t forget to disable all another extra KDE repos if you are going to upgrade.

05.10.12 UPD:
KDE 4.9.2 was officially released by the KDE team.
The packages for 12.1 and 12.2 can be found in our KDE:Relaase:49 repository.

openSUSE :: eGalaxTouch X.Org input driver in Open Build Service

Posted in GNU/Linux, openSUSE by anaumov on 17.03.2012

Let’s start by saying that the eGalaxTouch is a X.Org input driver developed by EETI for their touch screens.
Here you can download the suitable driver for your Linux Kernel and architecture. After untar it you will get a directory named eGalaxTouch32 or eGalaxTouch64. Inside this directory you can find a setup.sh script. This complicated script will handle the entire instalaton proccess. It works fine, but the script blasted files and symbolic links all over the filesystem, and there is no way to clean it. As a packager I want to use more professional mechanism to install or remove it. So I built a RPM/DEB packages for that.

How it works?

There are just 4 things that you needed to care about: egalax_drv.so, the binary driver used by the X.Org server; eGalaxTouch, the utility for calibrating and setting preferences; TKCal, a lower level utility for setting options in the hardware; and script also add some information about new configuration to X.Org config-file (I changed it: package create the new config file called /etc/X11/xorg.conf.d/50-egalax.conf).

Section "InputDevice"
        Identifier "EETI"
        Driver "egalax"
        Option "Device" "/dev/ttyS1"
        Option "Parameters" "/var/lib/eeti.param"
        Option "ScreenNo" "0"

As you can see I use /dev/ttyS1. EGalaxTouch support S232, USB, PS2, and I2C controllers. So, if you use, for example, USB, you have to change device-string like this:

        Option "Device" "usbauto"

X -version

Here is also one important thing what you have to know: X.Org server and input drivers/modules should have same versions (support same API). EGalaxTouch driver contain modules for different X.Org versions. That means, that package have to check X.Org version during installation to know which input module should be used. I tested package on openSUSE 11.4/12.1 and Ubuntu 10.04 and it looks stable. Anyway, let me know if it will not works for you.

Don’t forget after installing the package and restarting X.Org Server also run eGalaxTouch and TKCal. This will let you calibrate the touchscreen. It takes a bit time to complete, but it increases the precision of the touch position.

Good luck and happy touching 🙂