Welcome to Planet openSUSE

This is a feed aggregator that collects what openSUSE contributors are writing in their respective blogs.

To have your blog added to this aggregator, please read the instructions.

01 October, 2014

Yesterday I published a long blog about privacy and why it matters. Unfortunately, as Commit Strip eloquently paints below, privacy almost always gives away to the same old arguments...
That was all too typical in Holder's call to tech companies to leave device back doors open to police. What Holder doesn't seem to get (or care about!) is that a back door doesn't discriminate who gets through. If you leave your door unlocked so the police can get in, do I really have to tell you it also means thieves can come in?

It is no different in 'cyberspace'. There ARE differences between real life and online life - but in this is not one of them. Security Ninja Bruce Schneier pointed out the effect of this reality:
"We are all vulnerable to everyone because the NSA wanted us to be vulnerable to them."
In his blog from 2 weeks ago, he continued:
"We have one infrastructure. We can't choose a world where the US gets to spy and the Chinese don't. We get to choose a world where everyone can spy, or a world where no one can spy. We can be secure from everyone, or vulnerable to anyone. And I'm tired of us choosing surveillance over security."

Me too, Bruce. Me too. And it's even more irritating that the people who are supposed to protect us keep lying about it all.

30 September, 2014


There are many posts about ownCloud here.
We've seen how to install servers. But what about desktop client? Klaas and his friends (sorry friends, I know Klass from openSUSE), made pretty good job on sync your desktop computer with server.

Lately I worked ownCloud-openSUSE wiki. So I wanted to write this post about installing desktop client on openSUSE.

1. Install desktop client using 1-cick-install: Go to ownCloud client desktop installation page and choose openSUSE. There are all versions of openSUSE 1-click install links.

For 13.1 (current version) is the following

ownCloud client

ownCloud repository

ownCloud overview

ownCloud finish

2. Run the client and setup the instance: Find the ownCloud client and run it. You have to setup the client with server/username/password etc.

Write the server URL:
ownCloud server URL

Write your username and password:
ownCloud username and password

Setup the folders you want to sync:
ownCloud folders

You're all set. Connect to server.
ownCloud connect

3. Sync desktop with server: Your desktop will start sync with server.

Everything is synced.
ownCloud synced

There's an indicator that shows your desktop is synced. You can open local folder, server folder, properties etc by clicking on this icon (the cloud with temperature is GNOME weather extension):
ownCloud indicator

I'm not talking about the 2012 documentary, nor an actual face. I want to discuss the expression, as defined by wikitionary:
"To take an action or make a gesture intended to preserve one's reputation or honour"
I argue that this expression is under-used in this day and age of privacy violations.
Awesomeness from Saturday Morning Breakfast Cereal!

Privacy is not

Tech folk like me were surprised at the publicity around the leak of celebrity nudes a few weeks ago. With the continuous string of NSA scandals over the last years, we didn't expect anybody to still think their data was safe online. Apparently, we still have to make the argument for privacy...

For many people, privacy and the arguments against NSA style "collect it all" spying seem moot: "I have nothing to hide".

Now this argument has been solidly debunked in various articles, breaking down to these main reasons:
  • You don't know what you have to hide
  • You should have something to hide
  • Privacy is a basic human need
On the first two, security researcher Moxie Marlinspike wrote for Wired Magazine.

You don't know what you have to hide

In the US, the federal government can't even count the number of laws one can break, and Moxie argues:
If the federal government had access to every email you’ve ever written and every phone call you’ve ever made, it’s almost certain that they could find something you’ve done which violates a provision in the 27,000 pages of federal statues or 10,000 administrative regulations. You probably do have something to hide, you just don’t know it yet.

A society with perfect surveillance means anybody could be locked up at any time as everybody does things wrong all the time. Law enforcement becomes arbitrary (and consequently a great means for controlling people who do things the government doesn't like). Just one recent example: in Washington, being smelly is a crime.

Moxie does not even discuss changes in policy and politics. What is legal today can haunt you tomorrow! This is not a hypothetical situation: in World War II tens of thousands lost their lives because the Dutch government kept extensive records on every citizen.

You should have something to hide

The second point is that if laws were never broken, they would never be changed and progress of society would come to a stand-still. In a world of perfect law enforcement, slavery would still be with us, sodomy laws would be in effect and women wouldn't be allowed to run businesses or perhaps even drive cars. Probably nice for bureaucratic governments (things are simpler that way) but I don't think it is wise to limit the world our kids live in based on what we can deal with and understand today...

Despite their very real impact, these arguments, to many of us, seem mostly relevant around an oppressive regime. We're happy that the protests in Hong

27 September, 2014


I have posted the following to the openSUSE lists a few moments ago:

as you probably know our initial commitment to support 11.4 within
Evergreen was until July 2014.

While I was hoping that we can keep 11.4 alive for some time longer this
is currently not possible from what I would call the "core team" which
is Stefan and myself. We are too busy nowadays to be able to scan and
patch every issue we get aware of.

Thanks to you all who contributed to the success of Evergreen/11.4!

The important message is:

   openSUSE 11.4 Evergreen is not actively maintained anymore!

So if you can, we recommend to switch to openSUSE 13.1 as soon as
possible which is still planned to be an Evergreen release.

Some more details below:
The repository already got and will most likely get more updates from
package maintainers who care about 11.4 and/or their packages though.
You noticed that with recent releases of patches for the bash and NSS
issues already, BUT this is _no_ guarantee that every security issue
will be fixed.
We will accept contributions from anyone though and I will try to take
care about "my" packages.

Some numbers from 11.4 Evergreen (as far as I was able to get them easily):

Evergreen lifetime: 21 months
11.4 overall lifetime (incl. Evergreen): 41 months / 3 years 5 months

Evergreen lifetime numbers (w/o official maintenance period):
Released update source packages: 804
Unique touched source packages:  177
rough number of patches (based on incident counter): 320

Let me also quote Marcus' numbers from official maintenance lifetime:

Total updates: 723
	Security:    416
	Recommended: 306
	Optional:      1

flattr this!

26 September, 2014


I have a cold, fortunately it’s not a bad cold (At the minute) and I’m a great believer in Beechams Powders. I spent the morning running around a couple of chemists only to discover they had sold out. The assistant in the second shop offered me some Beechams effervescent tablets, whatever they are? So out of desperation I bought those with a bank loan and an option on my kidneys in ten years time.

IMG_20140926_090945Now these things require water so once in the office, and by now with throbbing bonce and a nose ready to drop off I ripped open the packaging to be presented with a Steradent tube lookalike with what looked like a cap from some nuclear missile silo!

Given I wasn’t in the best of moods all Pete wanted to do was get one of these things down his throat but how the hell do you get into the damn thing? And this dear reader is where the problem lies with most things in containers these days. Why the hell are companies making things more and more difficult to get into? So after getting my glasses, reading the box, I discovered the procedure was “Push the slider on top of the tube forward thus breaking the plastic securing ring. Remove the ring and discard. Press the slider again and use the extended arm as a lever (Ideally with your other hand if you have one!) to prise out the stopper.” which I hasten to add is called a lid which hides the fact that this stopper replaces where at least another four tablets could be!

My point is Beechems are not the only ones these days that make you perform some sort of Professor Layton puzzle before you can get at the contents. My mouth wash requires skilful squeezing with the dexterity of a nipple massage to persuade the cap to come off . I bought some “Sure for men” deodorant the other day with some funky space age looking top  that requires the unlock ring to be engaged before you can spray your armpit with white powder.

Please! Can we go back to the old days with simple screw tops or foil lids that do not require the skills of some TV game show.

flattr this!

25 September, 2014

Yast team has finally published their official Code Review Guide.

All contributors and Yast team members are asked to use the very same simple rules for all code changes related to Yast, including Installer or just simply all code handled by thee Yast team, including, e.g., Linuxrc.

Please, see the guide here. We are looking forward your suggestions for improvements.


Since a few weeks, openSUSE Factory no longer is labeled as "openSUSE Project 13.2", but as:

seife@susi:~> lsb_release -ir
Distributor ID: openSUSE project
Release: 20140918
When trying to build the current Yocto poky release, you get the following Warning:
WARNING: Host distribution "openSUSE-project-20140918" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Now I know these warnings and have ignored those before. The list of tested distributions is hard coded in the build system configuration and in general it would be a bad idea to add not yet released versions (as 13.2) or rolling releases. And since the Factory release number changes every few days, it is clearly impossible to keep this up to date: once you have tested everything, the version has increased already. But apart from this, purely cosmetic warning, there is a really annoying consequence of the version change: the configuration cache of bitbake (the build tool used by Yocto poky/OpenEmbedded) is rebuilt on every change of the host distribution release. Updating the cache takes about 2 minutes on my machine, so doing a simple configuration check on your already built Yocto distribution once a week can get quite annoying. I looked for a solution and went for the "quick hack" route:
  • bitbake parses "lsb_release -ir"
  • I  replace "lsb_release" with a script that emits filtered output and is before the original lsb_release in $PATH
This is what I have put into ~/bin/lsb_release (the variable check is a bit of paranoia to let this only have an effect in a bitbake environment):

if [ -z "$BB_ENV_EXTRAWHITE" -o "x$1" != "x-ir" ]; then
        exec lsb-release $@
printf "Distributor ID:\topenSUSE project\nRelease:\t2014\n"

Then "chmod 755 ~/bin/lsb_release" and now the warning is
WARNING: Host distribution "openSUSE-project-2014" has not been validated...
And more important: it stays the same after updating Factory to the next release. Mission accomplished.

UPDATE: Koen Kooi noted that "Yocto" is only the umbrella project and what I'm fixing here is actually the "poky" build system that's part of the project, so I edited this post for clarity. Thanks for the hint!

24 September, 2014


I use the Open Build Service to work on openSUSE packages. There is a useful tutorial HERE. Here is a summary of 'osc' commands I use the most:

alias oosc='osc -A https://api.opensuse.org'

Assuming you will be using the openSUSE Build Service, you will need to include the -A option on all the commands shown below. If you set up this alias, you can save a lot of typing.

osc search PKG

Search for a package. You can also use http://software.opensuse.org/ and zypper search PKG is also helpful.

osc meta pkg PRJ PKG -e

If you are project maintainer of PRJ, you can create a package directly using this command, which will throw you into an editor and expect you to set up the package's META file.

osc bco PRJ PKG

osc branch -c PRJ PKG

If you are not a project maintainer of PRJ, you can still work on PKG by branching it to your home project. Since you typically will want to checkout immediately after branching, 'bco' is a handy abbreviation.

osc ar

Add new files, remove disappeared files -- forces the "repository" version into line with the working directory.


Build the package locally -- typically I do this to make sure the package builds before committing it to the server, where it will build again. The REPOSITORY and ARCH can be chosen from the list produced by osc repos

osc vc

After making your changes, edit the changes file. For each release you need to have an entry. Do not edit the changes file yourself: instead, use this command to maintain the changes file "automagically".

osc ci

Commit your changes to the server. Other SVN-like subcommands (like update, status, diff) also work as expected.

osc results

Check what the server is doing. Typically a build will be triggered by your commit. This command lets you see the status.

osc sr

'sr' is short for submitrequest -- this submits your changes to the PROJECT for review and, hopefully, acceptance by the project maintainers. If you're curious who those are, you can run osc maintainer (or osc bugowner)

osc rebuildpac

Sometimes it's desirable to trigger a rebuild on the OBS server.


JFYI: http://spdx.org/licenses/ lists all well known licenses and their original source. This becomes extremely handy if you start packaging.

23 September, 2014

Michael Meeks: 2014-09-23: Tuesday

21:00 UTCmember

  • Mail chew, interview, partner call; lunch. Partner call, dug at Kendy's nice timer patch; found a corner case or two causing grief still, and did some testing; dinner; back to work - pushed timer patch.
  • Rather pleased with Emma Watson's UN speech; with an encoruaging leading rebuke; I'd call myself a Feminist if it wasn't for the dismissive, man-hating, alternative fringe that she calls out. Still good to hear the obvious re-stated eloquently and helpfully: that women should be equal and we should be upset when they are not. Then again, I get tired of the horribly complicated issue of suicide being used to make political / gender points.

22 September, 2014

Michael Meeks: 2014-09-22: Monday

21:00 UTCmember

  • Mail chew, friendly partner call; worked through bugs at some considerable length with Andras; more mail chew; team call, lunch. Even more unbelievable admin, another team call. Dinner, put babes to bed, partner calls until late; reviewed Kendy's nice mainloop patch.


Get openSUSE 13.2 Beta!

Our brand new ‘Rolling Factory’ has already amassed over 6000 installations and that’s just kicking awesome. But we won’t just roll: we will still create releases of openSUSE, and 13.2 is next! According to the roadmap, our latest Geeko is due in November and it will be awesome. We promise. But it doesn’t come for free: you will have to help.

Open Source isn’t magic

Thing is, Open Source can only be as awesome as the people who work on it! And while openSUSE 13.2 has many, many awesome people working on it, what matters in the end is if it will work for you. There is only one way to make sure it does: test it. Test your use cases and make sure what you need openSUSE 13.2 for will work perfectly. That crazy old system you have set up for your uncle? Test it. That brand new ultrabook of your sister? Test it. That super server you’re secretly building in the cellar? Test it. TEST IT ALL!

All the news

openSUSE 13.2 will have lots of new things and lots more is coming.

  • Linux kernel 3.16 (going for 3.17)
  • GNOME 3.12 (planning for 3.14)
  • Plasma Workspaces 4.11, KDE applications 4.13 mixed with 4.14 (will be all 4.14)
  • and for testing: Plasma 5.1 (will be 5.2, perhaps 5.3), Frameworks 5.2 (will be 5.5 or higher) and the latest KDE Applications.
  • btrfsprogs is now at 3.16. btrfs will be the default filesystem in openSUSE 13.2 so help test the heck out if this!
  • AppArmor 2.9 beta bringing the new python-based tools developed during GSoC 2013 and some new rule types to mediate sockets, ptrace, signals and dbus (I’m not sure if all of them are already supported by the openSUSE kernel and dbus – you’ll need to ask the kernel and dbus maintainers)- and of course the usual bunch of profile updates, bugfixes etc.
  • LibreOffice

Get openSUSE 13.2 Beta 1 here.

One Distribution with many flavours to pick

There is a tradition in openSUSE to be released with more than one GUI, this saga continues on 13.2 beta as it comes with all the newest popular Graphical User Environments. All you have to do is pick your favourite during installation and enjoy!


We already mentioned the latest coming from the KDE community, with the stable Applications version 4.14 coming with many bugfixes and polish. GNOME 3.14 will introduce the following features:

  • Browse DLNA media servers in GNOME Photos
  • Add GNOME Hitori to official GNOME releases/modulesets
  • Integration of PicassaWeb in GNOME Photos
  • Sharing network awareness (avoid unintentional oversharing of private information)
  • Using systemd for the user session
  • Color tinting in GNOME Shell
  • Integrating Zimbra into Gnome Shell

Some of these features are marked as done, some as


The openSUSE Asia Summit committee has been working hard and is finally prepared to welcome you and give a taste of rich Chinese history and hospitality.

You may register in our CONFERENCE SUBMISSION TOOL before Sep 30th. We are looking forward to having you with us on this Oct in Beijing.

Off course, once you have registered you need to reach here. Once you are here in Beijing the following directions might be of some use.

Beihang University, No. 37 XueYuan Road, HaiDian District, Beijing, China. (北京市海淀区学院路37号,北京航空航天大学)


  • Subway: Take line 10 to Xitucheng station, exit A. Walk to north for about 500 meters.
  • Bus: Take bus 478, 386, 490, 392, 311, 562, 498, 438, 944, 484, 375, 632, 609, 617, 606, 693, Yuntong103 to Beijinghangkonghangtiandaxue(北京航空航天大学) station.
  • Taxi: Tell your driver to stop at “Beihang Dongmen”(北航东门).

Recommended Accomodation for choice:

If you have difficult to access Google Maps, please visit the link to OpenStreetMap.

If you have any problem about registration, here we have a short README.

21 September, 2014

Michael Meeks: 2014-09-21: Sunday

21:00 UTCmember

  • Off to NCC, Roy speaking; fine roast lunch, slugging in the afternoon. Watched the latest Material Science open university program with the babes; then High School Musical (hey ho).
  • Caught up with Dave; Gordon sermon on 1 Samuel; bed early.

20 September, 2014

Michael Meeks: 2014-09-20: Saturday

21:00 UTCmember

  • Checked mail; played with babes, took a blow-lamp to broken trampoline spring to the point that it could be re-worked into a new spring. Lunch; out shopping, repaired this & that around the house, more mail in the evening.

  • I finally got off my ass and posted my presentation from GUADEC: GPG, SSH, and Identity for Beginners (PDF) (ODP). Enjoy!

  • Growstuff.org, the awesome gardening website that Alex Bailey started after GUADEC 2012, is running a fundraising campaign for the development of an API for open food data. If you are a free-culture minded gardener, or if you care about local food production, please support the campaign!

19 September, 2014

Michael Meeks: 2014-09-19: Friday

21:00 UTCmember

  • Mail, meetings, bit of hacking today - encouragingly implemented some "kernel32" alike VBA shims for Linux / Mac to get high resolution timing data, filed a couple of follow-on easy hacks, and discovered that Currency (a 64bit integer type) does not make it through our native code invocation framework.


After installing current openSUSE Factory in a VM, I found that the old GRUB option was removed from YaST2. I knew this from the mailing list, but now I actually realized that this happened. I still prefer GRUB over GRUB2, because for me it is easier to manage. But being lazy, I just went with the default.
Everything went well, until I added a customized kernel (I had installed the VM to do some kernel experiments after all). The boot menu suddenly was not very useful anymore. After selecting "advanced options", I got the following:

Well, which one of the four is now my hand-built, brand new kernel?
There is no such thing as in old GRUB where "Esc" got you out of gfxboot mode and into text mode. The command keys, like "e" for editing the current selection and "c" for a GRUB2 shell (something even more hellish than the old GRUB shell apparently) work, but you really need to know this, as there is no indication of that.

So I wanted to get rid of the gfxboot stuff. I don't need fancy, I need it usable.
Booted the VM, logged in. "zypper rm grub2-branding-openSUSE" followed by "grub2-mkconfig > /boot/grub2/grub.cfg". Much better:
But still it is in graphics mode, which I do not care about now, but once I have to deploy this stuff on something like an HP server where you can get a text console via SSH, but only if it is in plain VGA mode, I will not be amused. So boot that VM again, and look further. Finally, the solution is in /etc/default/grub: "GRUB_TERMINAL=console". The comment above says just uncommenting the original "gfxterm" setting would be enough, but it is not. After recreating the config file and rebooting, it looks quite useful:
And it is not even missing information, compared to the gfxterm version... no idea why this stuff is default.

Now that "Distribution" string in there looks completetly redundant, so getting rid of that will help, too.
Again, it is in /etc/default/grub, variable GRUB_DISTRIBUTOR. I see that in the grub2 rpm package, there is only "openSUSE" instead of  "openSUSE Factory Distribution", so it might be put into the config by the installer or something. I'll change it to just "Factory" (to distinguish between other openSUSE installations). After grub2-mkconfig, it looks almost good:
Now the important information (Kernel version) is completely visible. Much better than the original "bling bling" screen, which had no useful information at all...
Just fixing the Factory string would probably have helped also, but it still would fail the server test, so plain console will stay my favorite for now.


To share a bit more about this long trip but worth to made it.
You can now enjoy the video clip made during this event.

Was a real pleasure to meet so numerous openSUSE users.

18 September, 2014

Michael Meeks: 2014-09-18: Thursday

21:00 UTCmember

  • Long day, slogging through mail; ESC call; partner calls.

17 September, 2014

Michael Meeks: 2014-09-17: Wednesday

21:00 UTCmember

  • Mail, chat with Tor. Partner call, more mail. Dug recreationally through the VBA Lib implementation when not on Windows (something like DllImport in the CLR). We should stub a few of the more commonly used Windows APIs (pwrt. high-resolution time) there - of course LibreOffice's NOW() function helpfully jams some nanoseconds into the low bits of the double.

Jakub Steiner: Making of GNOME 3.14

14:50 UTCmember


The release of GNOME 3.14 is slowly approaching, so I stole some time from actual design work and created this little promo to show what goes into a release that probably isn’t immediately obvious (and a large portion of it doesn’t even make it in).

Watch on Youtube

I’d like to thank all the usual suspects that make the wheels spinning, Matthias, Benjamin and Allan in particular. The crown goes to Lapo Calamandrei though, because the amount of work he’s done on Adwaita this cycle will really benefit us in the next couple of releases. Thanks everyone, 3.14 will be a great release*!

* I keep saying that every release, but you simply feel it when you’re forced to log in to your “old” GNOME session rather than jhbuild.


Dear openSUSE Community,

As you might be aware, SUSE’s parent entity, the Attachmate Group has entered into an agreement to merge into Micro Focus, a UK-based enterprise software company. As the primary sponsor of the openSUSE Project, SUSE’s President and General Manager, Nils Brauckmann has contacted the openSUSE Board to share the following key points

  • Business as Usual: There are no changes planned for the SUSE business structure and leadership. There is no need for any action by the openSUSE Project as a result of this announcement.

  • Commitment to Open Source: SUSE remains passionately committed to innovation through Open Source. This has always been the foundation of our business and that will continue as we grow and innovate in new areas.

  • Commitment to openSUSE: SUSE is also fully committed to being a sponsor and supporter of an open, highly independent and dynamic openSUSE community and project. We are proud of openSUSE and greatly value the collaborative relationship between SUSE and the openSUSE community.

The combination of the Attachmate Group and Micro Focus creates a larger, global enterprise software entity, operating at a greater global scale. This provides an even stronger foundation for the continued investment in SUSE and our continued innovation through Open Source.

The openSUSE Board would like to thank Nils and SUSE for this reassuring statement. The Board is enthusiastic about the benefits the merger may bring to SUSE and ultimately also to our openSUSE Project.

If anyone has any questions, there will be an opportunity to raise them at todays (Wednesday 17th Sept) regular openSUSE Project Meeting at 15:00 UTC in #opensuse-project on the Freenode IRC network.


The openSUSE Board

16 September, 2014

Michael Meeks: 2014-09-16: Tuesday

21:00 UTCmember

  • Mail chew, chat with Kismat, then Philippe, wrote notes. Profile analysis, SOW construction & review, call with Kendy & Kohei, then Bob. Dinner & put babes to bed. Built ESC bug stats & sent proto-agenda.


The standard method to access z/VM is using a 3215 terminal with a terminal emulator. With linux, the x3270 package provides a free emulator for these terminals.

One of the features of z/VM is, that you can define several consoles for a guest. This is very helpful if there are problems with a guest that affect the network connectivity. With z/VM you can even define multiple consoles that allow direct logon to the running guest.

By default, only one terminal is defined for z/VM guests. To define three additional 3270 consoles on a guest at the addresses 0020-0022, use the following commands:

cp define graf 20
cp define graf 21
cp define graf 22

These consoles can also be created online from linux, provided that you got sufficient privileges on the guest. To issue cp commands from linux, use the command vmcp instead of cp.

With SLES 12, several additional steps are needed to activate these consoles.

First, the devices must be made available to the system. This a twofold process:

  1. Remove the devices from the cio ignore list with the command
  2. cio_ignore -r 0.0.0020-0.0.0022
  3. Add the devices to /boot/zipl/active_devices.txt to make this change persistent.
    # cat /boot/zipl/active_devices.txt

The system automatically detects those devices. The corresponding serial devices are found below /dev/3270/tty[123]. Next, tell systemd to run a getty on these devices:

systemctl enable serial-getty@3270-tty1.service
systemctl enable serial-getty@3270-tty2.service
systemctl enable serial-getty@3270-tty3.service
systemctl start serial-getty@3270-tty1.service
systemctl start serial-getty@3270-tty2.service
systemctl start serial-getty@3270-tty3.service

To use the new consoles on a machine called LINUX065, direct the 3270 terminal emulator at z/VM. Instead of logging on as regular user, move the cursor to the COMMAND line and enter the following command:

dial linux065

To redisplay the logon prompt, you might want to press enter once.

When trying to logon to this console as root, you will find that it won’t let you. The reason for this is, that root logon is only allowed on previously defined consoles. The configuration file for this is /etc/securetty. Add the following lines to the end of this file:


After this, you can directly logon to the linux guest without the need for z/VM credentials.

If you want to avoid the need to redefine the consoles after a logoff of the guest, add the definition to PROFILE EXEC A of the guest.


15 September, 2014

Michael Meeks: 2014-09-15: Monday

21:00 UTCmember

  • Packed babes off to school; mail chew, stats building. Lunch. Team meeting, more plugging away at admin, consulting team meeting.
  • Thrilled to see Coverity's Updated Spotlight on LibreOffice - and I quote The team also reduced the project's defect density from .8 to .08, far lower than the defect density for like-sized projects using the Coverity Scan service ... Zack Samocha, senior director of products for Coverity [said] "We applaud the LibreOffice development team for their commitment to creating and delivering high-quality software." - great work by Caolan and others.
  • J. had a PCC meeting; worked late.

14 September, 2014

Michael Meeks: 2014-09-14: Sunday

21:00 UTCmember

  • Off to Pulborough Baptist Church. Enjoyed the service, off to Grant & Anne's 50'th wedding anniversary party: a lovely, meal & interesting family & friends. Drove home, bed early - very tired.



If running a booth is, for sure, an investment of time, energy and money (even if TSP contribute to help you), We often forget to say
how much it’s important for our community and project.

Booths makes openSUSE alive in all open source events! and it’s a great experience to live, for any of us.

Feel the beat!

I strongly believe that openSUSE has be to visible on events like KDE Akademy, Scale, Fosdem, Guadec.
It’s not a question of "Bang for the buck", than a simple obviousness:

  • Fosdem : the biggest open source event in Europe (perhaps in the world) with more than 5000 hackers visiting.
  • Scale : biggest event in North America with more than 3000 attendees
  • Guadec : The annual conference of Gnome Hackers with lot of worldwide attendees
  • KDE Akademy : This year with around 150 active contributors coming from all over the world.

The obviousness is: if openSUSE has no booth there, you just see Ubuntu and Redhat, and let’s add Debian, Mageia etc for Fosdem or Scale.

You all know how much I like our Geeko community. And when Akademy staff proposed us to run a booth, I said yes, great I will be there!
After comparing ways to go to Brno, the Geeko’s car was the less expensive, and allow me to pick the demo touch screen at SUSE Headquarter.
So I took a full week off and drive 2000 kilometers to make it happens.


Open the Fun can

Running a booth is not that hard. You will find flyers in the booth box presenting openSUSE and related tools.
There’s goodies like several kind of stickers, pens, USB flash keys, beer mate.
About the poster, if not allowed on walls, let’s your creativity soar. Use boxes, a pen can also fix that big banner around the guard-rail.

On the human part, I would say than 3 persons is not too much. For example at Brno, the booth was very calm during the talks, but when the break
arrives, you just see 30-50 people coming all at the same time in your direction.Don’t run away!
Organize yourself! For example one of the staff is delegated to spread swag, and drive attendees to the next expert.

Try to give as much as possible short-quality answers.

No matter if you are not at all technical guru, the priority is to welcome visitors and listen to them.

If you have a demo computer, organize a bunch of bookmarks related to the conference subject inside the openSUSE community.
At Brno, we were essentially demoing live factory with kde stable 4.14 and Factory with plasma5 and Frameworks 5, and all related web pages about kde on obs, wiki.
Our moto was What openSUSE can offer to KDE developers and contributors.

It’s rarely on a booth that we can resolve a bug, but that’s where a beginning of a social interaction starts.

Don’t worry if you can’t awnser directly, offer

13 September, 2014

Michael Meeks: 2014-09-13: Saturday

21:00 UTCmember

  • Drove down to Barbara & Colin's - had a lovely late lunch, and went for a walk to a playground, over a stream - balancing on a large cast-steel pipe, and more fun. Discovered a fluorescent pink loom-band in the bed of a nearby archaeologists of the future will get a nice accurate date with the loom-band strata I guess. Up late enjoying Barabara & Colin's company.


Twice recently we have had “fun” trying to get things using HK2 (Jersey), to place nicely with code built using Guice and Spring. This has renewed my appreciation for code written without DI frameworks.

The problem with (many) DI frameworks.

People like to complain about Spring. It’s an easy target, but often the argument is a lazy “I don’t like XML, it’s verbose, and not fashionable, unlike JSON, or YAML, or the flavour of the month”. This conveniently ignores that it’s possible to do entirely XML-less Spring. With JavaConfig it’s not much different to other frameworks like Guice. (Admittedly, this becomes harder if you try to use other parts of Spring like MVC or AoP)

My issue with many DI frameworks is the complexity they can introduce. It’s often not immediately obvious what instance of an interface is being used at runtime without the aid of a debugger. You need to understand a reasonable amount about how the framework you are using works, rather than just the programming language. Additionally, wiring errors are often only visible at runtime rather than compile time, which means you may not notice the errors until a few minutes after you make them.

Some frameworks also encourage you to become very dependent on them. If you use field injection to have the framework magically make dependencies available for you with reflection, then it becomes difficult to construct things without the aid of the framework – for example in tests, or if you want to stop using that framework.

Even if you use setter or constructor injection, the ease with which the framework can inject a large number of dependencies for you allows you to ignore the complexity introduced by having excessive dependencies. It’s still a pain to construct an object with 20 dependencies without the framework in a test, even with constructor or setter injection. DI frameworks can shield us from the pain that is useful feedback that the design of our code is too complex.

What do I want when doing dependency injection? I have lots of desires but these are some of the most important to me

  • Safety – I would like it to be a compile time error to fail to satisfy a dependency
  • Testability – I want to be able to replace dependencies with test doubles where useful for testing purposes
  • Flexibility – I would like to be able to alter the behaviour of my program by re-wiring my object graph without having to change lots of code

It’s also nice to be able to build small lightweight services without needing to add lots of third party dependencies to get anything done. If we want to avoid pulling in a framework, how else could we achieve our desires? There are a few simple techniques we can use which only require pure Java, some of which are much easier in Java 8.

I’ve tried to come up with a simple example that might exist if we were

12 September, 2014

Michael Meeks: 2014-09-12: Friday

21:00 UTCmember

  • Mail chew, and more of that. Customer call; Clara over for lunch - poked away at some irritating PDF signing crasher obscuring the real issues and nailed it - relaxing; back to the inbox, worked on a quote & proposal.

Older blog entries ->