I’ve arranged pretty much everything for Karlsruhe. Meaning: transportation (train) and the hotel. According to the feedback I received, the public transport will be pretty terrible during the conference. So make sure to get a hotel nearby. The one I chose (Leonardo Hotel) is about 20 minutes walking. Make sure to read the reviews of this hotel. The closest hotel will be Achat and the GUADEC website should soon have a discount code for that. Achat with discount is still more expensive than Leonardo; though Achat should be worth it.

Aside from the likely non-working (UPDATE/correction: mostly working except maybe 1 tram line) public transport, they’ll also have bikes for around 1 EUR/30 minutes. So that’s probably what I’ll use to get around. The bikes likely require a data connection to rent.

To get there I’ll go by train; seemed like the best option (100 EUR round trip for about 6 hours one way). Coach would take 8+ hours and cost at least 100 EUR. Anyone looking into doing the same I recommend booking asap, trains are getting more expensive. I gambled on not paying the additional 8 EUR to reserve a seat on the high speed train part. Let’s see if that was a wise choice Still remember the time I reserved and the train was pretty much empty, as well as the time I did not and I had to change seats multiple times!

User conference

In case you use GNOME, the GUADEC conference is also for users. In case you’re wondering if you’ll fit in: Everyone is usually super friendly. First year you go you go to see talks and maybe a few drinks (alcohol is optional). Second year you talk more with the people you met from last year. Third year onward the talks are an excuse to go and the only talks you see are the ones where the speakers asked you to please attend

Attending conferences is a good way to get some excitement into helping out. Lots of people trying to improve and make things better. I attended FOSDEM (6000 people) and DevConf.cz (1600 people). As usual, I’ve had various ideas:

Create an imperfect way to automatically create tarballs:
Over the various years people often asked “why do we still use tarballs”? But moving away from tarballs is not easy so I don’t want to handle that. Instead, I want to take a small part of the idea and get that working. This to save time for maintainers as well as shortening the time needed to make a GNOME release.

Make use of build.gnome.org
Actually have no idea how build.gnome.org works

Perform various sanity checks and bail out if something is wrong or not as expected (“make distcheck”)

Do NOT try to handle everything
Not everything is on build.gnome.org; not every branch might be on there. Too bad!

Do try to encourage rewarding a proper module (e.g. be a bit strict in the requirements so that those modules get benefits such as automated releases)

Find a way to handle NEWS
We’ll probably want to generate those from commit messages. E.g. NEWS: bla bla bla

Probably need to define an expected workflow

Create an extension for having points on Bugzilla
We used to have this ages ago. Each time I work on Bugzilla I find various gaps. Either bugs, lack of API, etc. I think this might require an major version upgrade of GNOME Bugzilla else I’d need to apply too many workarounds. Still, points have often been requested and it would really help not only GNOME but also Mageia.

Do minimal amount of work to speed up downstream development
Example: help out Tails and maybe promote them a bit. They requested a keyword on Bugzilla. Super easy to add. Asked them if anything else might be nice but apparently there’s not much.
Related: for many years I was planning to see how GNOME would be easier to work with. Find the things which might be easy to change and really help someone else.

Very likely I’ll not get to actually doing any of above. It would be nice though!

Introduction

At Mageia, various people suddenly started complaining about the scrollbar behaviour of GTK+3.x. Not always in the most constructive manner. One example:

“GTK+3 is the way of the future and all you luddites had better fall in line sooner if not later”

The reason was two fold. For one, Mageia could not use oxygen-gtk anymore. Oxygen-gtk played an important part in ensuring GTK+ not only looked but also behaved like Qt. The second big reason was the Firefox package being compiled with GTK+3.x support instead of GTK+2.x.

Loads of people use Firefox. These people don’t like their Firefox behaving different from what they’re used to and expect.

Already lots of moons ago people complained about the different behaviour of toolkits. One of the solutions is xsettings; a way to inform a toolkit at runtime regarding about settings such as (quoting): “double click timeout, drag-and-drop threshold, and default foreground and background colors for all applications running within a desktop”. Checking the xsettings spec git log this standard was created around 2001!

The solution seems obvious: Ensure the right xsetting is set. In practice there were some difficulties:

GNOME bug 688524: Expose gtk-primary-button-warps-slider as an X setting was marked as WONTFIX

Road towards fixing the behaviour

First up was getting commit access to xsettings-kde. This was initially written by various Mageia people using the example code included in the xsettings spec. Unfortunately it seems the maintenance more or less died as soon as it was moved to KDE. One of the listed maintainers is Colin Guthrie; the same Mageia person whom I always pester for getting fixes for things I don’t understand. Furthermore, I recently helped out Ben Cooksley (KDE sysadmin) by fixing a GNOME mailserver misconfiguration which caused problems for KDE. Surely us finally (configuration was there for years) not causing problems for KDE anymore was worth KDE commit access right?
A few days after requesting access it was the same Ben Cooksley who setup the account! Though probably not a good idea to follow the same path if you want KDE commit access.

Next up: the gtk+ xsetting. At the time of requesting xsettings-kde access, I didn’t know that gtk+ lacked the xsetting to control the scrollbar behaviour. Reading the related bug it was pretty clear the WONTFIX was not so much about the xsetting itself: The bug wanted an xsetting which was controlled by gsettings. Having an xsetting in gsettings is pretty much over the top. We already have an ini file (applies to everything), xsetting manager/client, xsetting overrides key in gnome-settings-daemon, etc. A gsetting changing an xsetting? This resulted in the WONTFIX. Matthias Clasen was worried if KDE would actually use the xsetting. Quite nice to explain that I got KDE commit access specifically to improve xsettings-kde (+ok from Colin Guthrie). This resulted in an “ok to reopen”. The xsettings patch was outdated plus I didn’t like the chosen xsettings name, so I spend 5 minutes writing a new one. Most of those 5 minutes I spent on aligning my commit message with previous ones as well as figuring out the nicest place to put the one liner change.

Lastly: Patching it back into the existing Mageia packages. I then discovered I made a typo in the xsettings-kde patch. Ugh.

Response from users

<R> is the firefox misbehaviour under gtk3 on cauldron fixed now?
<M> yes, the scrollbar works fine, now

Also seems quite telling people are trying this out within 1 hour of me updating the packages!

The patches

For any distribution wanting these fixes as well. The easily backportable patches:

Future

Various other xsettings which might make sense to set under KDE. There’s some backlog in the xsettings-kde maintenance which needs to be done. For the backlog I probably need to find some assistance (I’m not a C developer). I need to check if there are outstanding bugs and where they are.

My intention is that GTK+ under other desktop environments at most is considered different. GTK+ should not be out of place (or worse).

Introduction

Various months ago I had hardware problems. To debug this and because I wanted a small server I bought an Intel NUC5PPYH. It’s a really small low power PC. Using this I discovered that my hardware troubles weren’t related to my SSD. Since that time I’ve been using the NUC as my main machine. My previous machine had upgraded parts, but GPU/motherboard and memory all were from around 2007. A slow low power 2015 NUC is somewhat in the same performance range as that 2007 machine (50% slower in some things, faster in others) while using way less power. My previous machine had 2 cores, the new one has 4.

My previous machine already had difficulty with some of the super high quality videos. Depending on the settings, some videos can use a very high amount of CPU. The CPU of the NUC is slightly slower to play videos.

Initially the various GNOME video playing bits crashed when trying to play video. Those crasher bugs got fixed, but Totem never properly played anything. I quickly discovered that mpv didn’t have any problem with hardware accelerated video playing, so used that and stopped filing bugs.

It helped me to improve the Mageia mpv package. Ensuring it had an OSD, was compiled with vaapi support, etc. Then recently gstreamer-vaapi 0.7.0 was released and gave me the idea to try Totem again. I’m guessing that change made things work, though not exactly sure.

Hardware accelerated video playing

Two frames from Tears of Steel showing Koen Martens, GUADEC 2010 organizer (together with Vincent and Reinout). First screenshot shows Totem with 6-7% CPU usage. The second shows MPV with 3-4% CPU usage. System Monitor itself uses around 20% CPU. Now that it works nicely, I’m working on having Mageia 6 automatically install VAAPI for you if your system has a similar GPU as mine.

Secret bonus: Polari

If you look at the CPU usage, you’ll not spot something. I’m also running Polari on a different workspace. It previously used 10-20% even when idle. I filed a bug but the developer couldn’t reproduce. Now I cannot reproduce as well — 0% CPU!!

Various years ago I thought it would be a fun way to brighten someones start of the day by having the browser go to a Youtube clip of “Hey DJ”; a nice reference to his nickname (DJ). One way of doing this in Windows is by adding a shortcut to the “Startup” folder, making it pretty obvious and easy to remove. Further, it avoids any resets of the homepage (group policy and/or login scripts). Many months after this I noticed that he quickly closed his browser after he had to restart his pc. Despite him raising various tickets with the helpdesk; his browser kept going to Youtube whenever he logged in. The helpdesk couldn’t figure it out; not even after looking at it various times over the course of a few weeks. It was just easier to keep closing the browser than to try and get it fixed. My attempt to make him laugh had some unexpected results! After that I decided better not to do anything even if not meant in a bad way.

Though in previous example I didn’t have any bad intentions, some people think it is funny to prank you by changing things on your computer. I don’t particularly like people touching my computer, even if I forgot to lock it. One person changed my chat status. I wanted to get a bit overboard in my response to avoid having to deal with it ever again. This requires delving into Windows, MS Office, etc.

In my example I was trying to be obvious. This time the goal is to make it difficult enough to detect. Knowing the knowledge of the helpdesk, my concern was more with the ability of the person than the helpdesk. It should still be kept simple as that’s often overlooked. As such I thought of the following:

Run a script as a scheduled task (to avoid being able a running process)

Execute actions randomly to avoid figuring out that the script is scheduled:

Only once every random X minutes

Only after a delay of a random seconds (Windows task scheduler can do this automatically)

Only starts at least 1 day after being installed (to avoid noticing any link between “infection” method and results)

Above is actually really easy to do from VBA (the horrid language used in MS Office). Though VBA is terrible the automation options within Windows are endless and way better than Linux. Almost anything on the system is exposed as an object so you don’t need to mess around with starting commands and checking either exit codes or parsing command output. You can easily control the scheduler as an object for instance.

On to the pranking itself: What to do was fairly easy thanks to Google. Not only can you quickly find nice suggestions, there’s often some code included as well. In the end I created a script which randomly selects from the following pranks:

Say something via the speaker (using text to speech engine)

Mute/unmute sound

Send enter key to running application

Send backspace key to running application

Increase the volume 3 steps

Decrease the volume 1 step

Press capslock key

Press alt-tab (switches applications)

Change mouse to a left handed mouse

Show Google in the browser

Minimize all windows

Tile all windows horizontally

Show taskbar properties

Show the window switcher mode (win+tab)

Send users name to the running application

Open some internal website

Some actions are only executed based on the idle state. E.g. not idle, idle for 2 min, etc. This helps in ensuring the person gets really annoyed.

Outcome: Infection was fairly easy. However, I made a very stupid error, resulting in the person being really suspicious and eventually figuring out that I put a script on his pc. Fortunately the person is still unable to find the script (yay hidden files!), nor is aware that something like a task scheduler exists (simplicity is good). Even if he’d know about the task scheduler, you can even hide tasks in there (which I obviously did). To be clear: the person is still suffering from all pranks listed above.

Initially I wanted to post the source code as well, but I’ll spare you. There’s nothing like try/except, etc.

GUADEC often conflicts with things. This year I could only attend until Sunday.

At least one talk is a rehash of previous year talk. Lots of ideas, but to be honest the diff vs last year is small. This while the room is quite packed and willing to act.

Flew back while arriving at airport 19min before departure. Still made it. Don’t try this!

I attended way more talks than I thought I would. Sometimes realized too late I should’ve gone to the other talk

Number of attendees is damn low (140 IIRC)

I can be more aggressive in real life than on the internet and did that twice unfortunately.

I prefer standing tables for better mingling

For many years I’ve stopped bringing anything devices to a conference aside from a phone. We rely way too much on things that won’t work on a phone. E.g. usage of IRC and mailing lists. Where are my notifications?

André+me held a Vodka vs Whiskey content. I won despite magpie’s rants about it not being real whiskey. Seemed like people felt obliged to talk

An surprising amount of people didn’t want stroopwafels. I take these with me sometimes on business trips and they’re usually insanely popular. I demand an inquiry!

Three (“four” arrived early) days is not enough to speak to everyone I’d like to talk to

Some Czech people are damn tall.

GNOME:

We should really be doing usability research/testing. This is long overdue.

I don’t get why it’s totally acceptable for one person to only posts almost solely offtopic stuff to foundation-list. This has driven people off foundation-list and has derailed various threads. Wtf. Just because there might be a backlash. Wtf. Either be ontopic, the rest should be in a private message. I really hate this special treatment. Yeah, this is about RMS. Isn’t it our resources?FWIW, I wanted to post a warning to the last offtopic msg, but thought to check with board. By the time I got the “decide yourself” (IIRC) it was sort of too late. Don’t even get me started about the “just ignore it”. Apparently he’s a still a foundation member because when GNOME started he helped Miguel. Miguel is not a current member. FWIW, I appreciate that he educates people, my peeve not about this.

Code of Conduct should hopefully apply to just everything hosted by GNOME if board agrees. Basically the admin first decides, then board is there for escalation (this reflects how various people have been doing things).

Dashboard/KPI for GNOME would be nice. I have gained loads of experience on this but not sure if there’s any free software available for this which works in the way that I think is best.Basically: Rough indicators are better than exact filters. Speed and ease of use is way more important than if being able to drill down or analyse every detail of a measure/KPI.

Current Red Hat seems a little bit strange and different/changing from the past. Appears to be the result of high growth and success. Hope CEO can do a cross check because really seems like the focus is off in some areas. Need more companies with similar success/influence as Red Hat.

GTK+ apparently again lacks Windows love. Every so often we do another call for people and seems like we need to do that again.

Wayland probably wont work nicely until next GNOME (I might be wrong here!). Focus is currently on other things than fixing the various paper cuts.

Was sort of asked to help out/join with writing documentation. I did help out with various release notes (though often was re-written after my work), but documentation seems a bit out of my comfort zone. Seems interesting to try but not on my own.

If something can be automated, I often want it automated. Doing things once is ok, but if you do the same things over and over it bores me. There is a drawback to automation, in that any change becomes an inconvenience. Leading to wanting to reduce any changes.

Say you download various things via bittorrent. In principle there’s various steps to this. You need to know what you want to download, do the actual download and eventually you need to clean up everything that you’ve downloaded.

First thing that I did is automating the cleanup of what I’ve downloaded. Ideally that should be done somewhat intelligently. Meaning, don’t remove anything that’s still seeding, figure out if I’ve looked at what I’ve downloaded, etc. This keeps my disk space ok and helps to avoid me buying bigger and bigger hard drives.

For automatically downloading there’s multiple parts. You need to have a list of things you want. This can be as easy as writing this in a text file. Then there’s the site you want to download from. Lastly, the bittorrent software you use. Over the years the various parts changed unfortunately.

Enter FlexGet. Instead of a script that does exactly what is needed, it has loads of plugins and a Yaml based configuration. Its plugins are divided into input, filters, site integration and output plugins. So it supports multiple different sites as well as rss, html, etc. It supports various download programs (rtorrent, transmission) and way more than just bittorrent related ones. Instead of explaining everything, I’ll just give a few examples:

Download every movie released since 2014 rated 7.5 or higher on IMDB.

Download every tv series première in 720p, but only once.

Download some tv serie as the episodes become available in at least 720p quality and wait a few hours to see if 1080p shows up.

Remember the tv series and episodes downloaded to avoid downloading the same thing twice. But make exceptions in case there really was a problem with the initial version.

The possibilities are quite extensive. Then it also has extra options like being able to reuse the cookies from your browser, notify your phone, etc. All very flexible. Though that’s also a slight drawback (e.g. it doesn’t automatically use the cookies from your browser).

To me there seems to be a lot of similarities between above and personal experience with moderating. Basically: don’t moderate in threads you’ve participated in because you’re biased. If you think you’re unbiased, guess again and have fun dealing with the fallout if you still take a decision. I thought a few times that I really could be unbiased and was proven wrong each time.

I really like this one because even if you think the person is the worst ever, easily the biggest troll around, no good for anything and basically is just nothing more than a poisonous person who should be kicked out of the project for the good of the project: think again.
I’ve read some of the email communication, and I think there’s something missing in the communication between the various people involved. It would be nice if at least someone would state that the objections they have are not personal. There might be heavy disagreement, but that’s because both want the overall project to succeed and grow.

Something else that would help is expressing the feeling directly to the other person. There’s an anonymous email and the person who wrote it comes across as someone who is trying to do everything the person can and getting frustrated because it feels like the persons work is being considered as bad and nowhere good enough. I’m guessing if people would directly express their frustrations, the other person would quickly apologize for making them feel that way. This can be done while still keeping everyone opinion the same (started with some legal stuff; it’s not about this though).

Not liking some outcome is separate from being able to appreciate the person or persons. I really hope the focus can be on expressing that everyone has the best intentions. Best intentions might’ve lead to frustrations and whatever not, but hopefully once the intention is clear people can apologize and move on.

Ubuntu project is for human beings / humanity to others. I really like this. You can pretty easily recommend Ubuntu and it has pretty heavy brand recognition; so much that people automatically use Ubuntu. For a tv show technical linux is showing some terminal with dmesg; anywhere an easy Linux is needed people suddenly seem to somehow found www.ubuntu.com. That said, I contribute to Mageia and everyone (users+contributors) should switch to it

I don’t think the current path is good for the Ubuntu project so hope above can be taken into consideration.

I’ll continue from the previous blog post and update as I can (depends on Wi-Fi, 3G).

Entrance to the big building BalairungConference stands. I'm guessing openSUSE will be big in IndonesiaKeynote by Mohammad Anwari - The architecture of BlankOn Linux (and how GNOME fits in the picture)

The keynote it’s quite interesting. Mohammad talks about many people still having very old hardware. My system is 7 years old. However, that’s still pretty new compared to what some people are using. GNOME 3 making use of hardware acceleration created a pretty big problem. BlankOn is an Indonesian distribution and latest versions are based on Debian. So my assumption about openSUSE usage might be a bit off Learned during a break that Fedora is also used quite heavily in Indonesia.

Mohammad also explained why there’s yet another distribution. In brief, the Indonesian culture is very different from what’s common currently in GNOME. It’s not ok to say no, so if that would happen to someone who just starts out, they’d leave and never come back. BlankOn guides this, acts like a shell around Indonesian culture and upstream.

Chen spoke about travelling across Thailand and China to explain FOSS hardware to children. He was part of a group of 24 people in total. The travel itself was quite intense, moving to cities and small towns. They trained it seems like hundreds of people at each place they went to.

He later explained that as in Thailand there’s just one child per family, there’s a real focus on that child. Parents encourage their children to do something special. This really assisted in having loads of people who helped to train as well as loads of children to be trained.

In a video you could see how the children used hardware to build a small device on wheels which could pick up small plastic bottles. I’m terrible at guessing ages, they seemed to be at most 10 years old, probably much younger.

Shobha Tyagi - It is really difficult to move people from Windows to Linux

Shobha talked about the difficulties to encourage people to use Linux within her university in India. The general feedback was that Linux is difficult and for coders. Strangely, this also came from people studying to become developers. They really didn’t want to even investigate or make any effort. This while they should have it easier because of at least knowing English.

One person at the talk commented that instead of switching, what worked for his country is to start at a really young age. Then they don’t really question. This approach worked well enough that it now is affecting decisions made by the government.

Typo fix. FreeBSD was at the conference, not OpenBSD

After that there were various lightning talks. Most were in Indonesian, so I’ll skip their pictures.

In the evening André and I bumped into two locals. They took us (wondered later if they wanted that as saying no is not done) to a local food place. They laughed quite a bit as you had to eat with your hands and I guess it was pretty obvious I never did that with this type of food. They also took pictures, wonder where those will end up I did get a copy, but not sharing them!