All things come to those who wait

And we’ve all waited long enough for Mageia 5 RC: go grab it!

While you wait for the download to complete, all restless and eager that you are to try this new release, let’s talk a bit about this release candidate: what can you expect of it, and why did it take so long?

UEFI support – for real

Mageia’s developers have been hard at work during this release cycle to add UEFI support to our installer, while the QA contributors were thoroughly testing everything that they could on their hardware. We are now proud to announce that you can install Mageia on UEFI systems fairly easily, using either our Live media or the classical installer (except from the DualDVD which does not support UEFI).

This is now the trial by fire for the main feature of Mageia 5: if you have a UEFI system, please try this release candidate in as many configurations as possible (dual boot with Windows or with other Linux distributions, etc.). And then please report any bug that you may encounter; we managed to get rid of most of the bugs noticed during this long pre-release testing, but our QA testers have relatively limited hardware resources.

Spring cleaning in the installer

Though it’s probably the most awaited feature, UEFI support is not the only improvement that was made in our installer, DrakX. The intensive testing done by the QA team over the last months brought a good deal of long-standing bugs to light, and a lot of work has been poured into fixing these issues: RAID support, GRUB 2 integration, graphical issues linked to GTK+ 3 evolutions, more logging and debugging features for urpmi and the installer… you name it!

For instance, we improved the default partitioning features to better reflect the needs of our users: the ready-made options to “erase and use the entire disk” or “use the free space” will now create a bigger root partition (up to 50 GB if you have a ton of free space, against 12 GB in previous releases). The “use free space on a Windows partition” option will also be less shy of using free space on NTFS partitions, letting you have a comfortable root partition if you want to install several desktop environments or some of the nice open source games shipped with Mageia 5.

Our most tested release so far

With over two months of development and testing, this release candidate is our most tested release so far, and we do hope that it will make Mageia 5 our most stable and mature release. The freeze period has been longer than anticipated, so you won’t find the most recent packages such as Kernel 4.0; on the other hand we are pretty confident that we have reached a good compromise between being cutting-edge and stable. Our packagers kept working on providing important bugfix releases and security fixes, while trying to make sure not to add any avoidable regression, and all in all Mageia 5 should satisfy both casual and power users.

An impressive team work between the devs and the QA testers

The testing period for this release candidate was like an endless game of table tennis, with developers on one side working hard on fixing release critical issues, and ISO testers on the other side, always running into new (and old) issues and making sure that the bug fixes were effective. A big thanks to all those involved in this tiring but rewarding testing period; we definitely set a new record with 9 rounds of RC ISOs tested over two months!

Special kudos to our QA team, and especially its newest members who joined during the Mageia 5 release cycle, for managing to keep testing update candidates for Mageia 4 while working on the RC ISOs.

Now it’s your turn

With so much development done between our 3rd beta and this release candidate, there is a lot to test and we need as much hardware covered as possible, especially to test UEFI support and other installer changes. So grab your copy, prepare your booting device and get started with Mageia 5 RC! Please have a look at the errata too, since there are already known issues that we couldn’t fix yet, and report any bug that affects you and that you can’t find in the errata or our Bugzilla.

Cantor in KDE Applications 15.04

KDE Applications 15.04 release brings a new version of the scientific programming software Cantor, with a lot of news. I am specially happy with this release because I worked in several parts of these new features. =)

Come with me™ and let’s see what is new in Cantor.

Cantor ported to Qt5/KF5

cantor-kf5

Cantor Qt5/KF5 + Breeze theme. In the image it is possible to see the terminal/worksheet, variable management panel, syntax highlighting, code completion, and the standard interface

I started the Cantor port to Qt5/KF5 during previous LaKademy and I continued the development along the year. Maybe I had pushed code from 5 different countries since the beginning of this work.

The change for this new technology was successfully completed, and for the moment we don’t notice any feature missed or new critical bug. All the backends and plugins were ported, and some new bugs created during this work were fixed.

We would like to ask for Cantor users to report any problem or bug in bugzilla. Anyway, the software is really very stable.

When you run Cantor Qt5/KF5 version on the first time, the software will look for Cantor Qt4 configurations and, if it exists, the configurations will be automagically migrated to Cantor Qt5/KF5.

Backend for Python 3

In Season of KDE 2014 I was the mentor of Minh Ngo in the project to create a backend for Python 3, increasing the number of backends in Cantor to 10!

cantor-backends

Backend selection screen: Python 3 and their 9 brothers

The backend developed by Minh uses D-Bus protocol to allow communication between Cantor and Python 3. This architecture is different of Python 2, but it is present in others backends, as in the backend for R.

The cool thing is Cantor can be interesting for pythonistas using Python 2 and/or Python 3 now. We would like to get feedback from you, guys!

Icon!

Cantor first release was originally in 2009, with KDE SC 4.4. Since that date the software did not have an icon.

The Cantor Qt5/KF5 release marks a substantial change in the development of the application, then it is also a good time to release an icon to the software.

Ícone do Cantor

Cantor icon

The art is excellent! It presents the idea of Cantor: a blackboard to you write and develop your equations and formulas while scratches his head and think “and now, what I need to do to solve it?”. =)

Thank you Andreas Kainz and Uri Herrera, members of VDG team and authors of Cantor icon!

Other changes and bug fixes

Most bugs added in the Qt5/KF5 port were fixed before the release.

There are some small changes to be cited: in KNewStuff categories world, “Python2″ category was changed to “Python 2″ and “Python 3″ category was added; the automatic loading of pylab module in Python backends was dropped; now it is possible to run Python commands mixed with comments in the worksheet; and more.

You can see a complete log of commits, bugfixes, and new features added in this release in this page.

Future works

As future work maybe the high-priority for this moment is to drop KDELibs4Support from Cantor. Lucas developed part of this work and we would like to finish it for the next release.

I intend to test if D-Bus communication can be a good solution for Scilab backend. Another task is to redesign the graphical generation assistants of Python backends. A long-term work is to follow the creation of Jupyter project, the future of IPython notebooks. If Cantor can to be compatible with Jupyter, it will be really nice for users and to encourage the collaboration between different communities interested in scientific programming and open science.

I will take advantage of the Cantor Qt5/KF5 release to write about how to use Cantor in two different ways: the Matlab way and the IPython notebooks way. Keep your eyes in the updates from this blog! =)

If you would like to help in Cantor development, please contact me or mail kde-edu maillist and let’s talk about bug fixes, development of new features, and more.

Donations to KDE Brasil – LaKademy 2015!

If you would like to support my work, please make a donation to KDE Brasil. We will host the KDE Latin-American Summit – LaKademy and we need some money to put some latin-american contributors to work together face-to-face. I will focus my LaKademy work in the previously mentioned future works.

You can read more about LaKademy in this dot.KDE history. This page in English explain how to donate. There is other page with the same content in Spanish.

Mageia 5 Cinnamon with Fedora chroot

I moved my main home computer to Mageia 5 (it was under Fedora before).

I choose Cinnamon because I have it on my laptop and I like it.

Since I have to maintain my Fedora packages (Firebird related), I choosed to create a Fedora 21 chroot.

Here what I did under Mageia 5 :

# urpmi yum python-lzma
# mkdir -p /var/local/chroot/fedora/var/lib/rpm
# rpm --root /var/local/chroot/fedora --initdb
# cd /tmp/
# wget ftp://195.220.108.108/linux/fedora/linux/releases/21/Everything/x86_64/os/Packages/f/fedora-release-21-2.noarch.rpm
# wget ftp://195.220.108.108/linux/fedora/linux/releases/21/Everything/x86_64/os/Packages/f/fedora-repos-21-2.noarch.rpm
# rpm -ivh --nodeps --root /var/local/chroot/fedora fedora*rpm
# for f in /var/local/chroot/fedora/etc/yum.repos.d/*; do  sed -i 's/$basearch/x86_64/g;' $f; done
# ln -s /var/local/chroot/fedora/etc/pki/rpm-gpg/ /etc/pki/rpm-gpg
# yum --installroot=/var/local/chroot/fedora repolist all
# yum --installroot=/var/local/chroot/fedora groupinstall Core
# urpmi schroot
Configure the chroot in schroot :
$ cat /etc/schroot/chroot.d/fedora
[fedora]
description=Fedora 21
type=directory
directory=/var/local/chroot/fedora
users=philippe
groups=wheel
root-groups=root,wheel
aliases=default
preserve-environment=true
Finally, we do some customizations to make the Fedora system schroot friendly
# echo fedora21 > /var/local/chroot/fedora/etc/debian_chroot
# cat << 'EOF' > /var/local/chroot/fedora/etc/profile.d/debian_chroot.sh
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, overwrite the one in /etc/profile)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
EOF
Test :
philippe@callandor ~$ schroot -c fedora
(fedora)philippe@callandor:~$ cat /etc/fedora-release
Fedora release 21 (Twenty One)
All is ok, I can now set up the Fedora packager tools with a yum install fedora-packager and fedora-packager-setup

Mageia at the Chemnitz Linux Days 2015

CLT2015On Saturday 21st and Sonday 22nd of March, Mageia will be present at the Chemnitz Linux Days 2015 (Chemnitzer Linux-Tage, CLT 2015).

As longstanding exhibitors we are glad to participate once again to one of the biggest free software community meeting in Germany after one year of absence. There you will have the possibility to get a preview of our upcoming Mageia 5 release and discuss all aspects of the Mageia project.

The wide program contains a lot of different talks, workshops for young and old and a lot of other interesting projects will present their work. You will find the complete program here.

We are looking forward to see you at the CLT 2015!

Mageia at the Free Software Days in Lyon (JDLL 2015)

jdllOn Saturday 28th and Sunday 29th of March, the association for the development of free information technology of Lyon (France) organises a two-days event called Free Software Days (actually, it’s “Les Journées du Logiciel Libre”, in French), also known as JDLL.

Users and contributors of Mageia will hold a stand there, as they do every year since the distribution started. It’s an excellent opportunity to meet each other, and you will also find some goodies like tee-shirts and stickers of your favorite distribution. If you happen to live near Lyon or are passing by, join us for a talk!

There will also be conferences and workshops. The program and other practical information can be found at the JDLL’s website: http://www.jdll.org.

The whole event is free and will be mostly French-speaking. But if you don’t speak that language you’ll find people able to talk in English too.

See you soon! And for others: prepare to test the Mageia 5 Release Candidate (RC) as soon as it is available. Let’s make it a wonderful release!

ConsoleKit in GNOME 3.16 and beyond

Copy pasting from https://wiki.gnome.org/Projects/ConsoleKit. We announced this as well on distributor-list, which we expect any distributor of GNOME to be subscribed to (please do so!). Discussion was held on desktop-devel-list.

ConsoleKit is a framework for registering and enumerating login and user sessions. It is currently deprecated and unmaintained, though the project was recently forked into a backward compatible ConsoleKit2 project. that is getting limited maintenance.

Alternative options

The functionality of ConsoleKit has been superseded by logind which is a systemd component. logind provides nicer APIs and better integration with the system. It supports multiple seats per-machine, and has a mechanism for provisioning devices to unprivileged programs. Although systemd is not available for all systems, there have been a number of initiatives to fill the gap left by ConsoleKit, including:

  • LoginKit (logind compatible api on top of ConsoleKit2);
  • systemd-shim (limited support for some of the systemd apis);
  • systembsd (a reimplementation of the systemd apis portable to BSD distributions).

GNOME 3.16

Some GNOME components still support ConsoleKit in a best-effort, last-ditch-fallback sense, though, the ConsoleKit codepaths aren’t as widely tested. Some components now require logind to function properly. Distributions that wish to ship without logind in GNOME 3.16 need to patch ConsoleKit support back in to those components:

GNOME 3.18 onwards

For GNOME 3.18 we expect anyone not being able to use logind to make use of LoginKit, systemd-shim or systembsd. Likely more modules will remove ConsoleKit codepaths.

Bad luck or Valentine gift: Mageia 5 beta 3 is out!

uselessThe release date was a close call between Friday, the 13th and Valentine’s day… but finally, Mageia 5 beta 3 is available for tests. You will find more information about it on the Release Notes page.

The road was long and strewn with pitfalls, but the Mageia community is just great and the ISOs are finally available.

After a looooong meeting dedicated to the review of all release critical bugs, a lot of fixes were released that allowed us to finalize beta 3.

EFI is now supported properly on all 64-bits ISOs, but we still need your feedbacks on this.

This is now the home stretch. We do need your help more than ever. Please report any problems that you experience in the forums, mailing lists or, preferably, in Bugzilla. Also, don’t forget to check the Errata.

(Image source: xkcd)

Fosdem 2015, looking back with pleasure.

It’s one week later, but we’re still full of inspiration from the great time we had at FOSDEM.

We’ve been very privileged to be able to be there (again), to meet one another, to meet many interested visitors at our booth, to meet great people from other projects, to go to talks on a wide variety of Open Source related subjects, to have the General Assembly, to work together on bugs and improvements, to enjoy the Mageia dinner together.

Hey, did I just finish my report? 😉

You’ll want to know more. Who of us were there? Check our wiki page: https://wiki.mageia.org/en/Fosdem_2015

Some others would have been there, too, but were hindered by circumstances that suddenly occurred. Many more would have been there, if they hadn’t lived too far away or been too busy with other things that must come first, or if the costs hadn’t been too high.

We hope that one day (one FOSDEM) it’ll be possible for all who’d like to, to be there!

It was very nice to meet some contributors we had never met before, and to enjoy their very positive input. 

It was just as nice to see all contributors we had already met before, and to enjoy their everlasting good spirits.

And it was great to meet many Mageia users and people who wanted to learn more about Mageia.

Colin and tmb spent much of their time attending talks about key components in Mageia, catching up with various upstream projects and people. In between they’ve been working in the back of our booth (tmb even managed to push new kernels to Mageia 4 updates_testing) and kindly responding to requests we had (For who doesn’t know: they are sysadmins and also maintain very important core packages, so they get more than their share of questions and requests).

All who helped at the booth did a very good job managing it and supplying information, CDs and stickers to visitors and selling Mageia t-shirts to those who liked to have one. Saturday was a remarkably busy day at the stand. It was good to notice that visitors who had never heard of Mageia before, have become rare.

Ennael miraculously managed to keep the General Assembly within the one-hour time frame we had, at the same time leading it into being a very constructive, but also relaxed, meeting, in spite of the fact that we could have used some more time. A link to a summary of the GA will be added later.

Before and after the GA, too, many of us have used the time together to work on improving Mageia, ranging from improving a buggy script to finding a solution for unwanted greylisting of a contributor to working on AdminPanel (the libyui port of our drakxtools), and much more.

Of course there was also time for meals (and Mageia Dinner!) together, for enjoying Belgian beers and even for long walks for those who enjoy that. In general: there was plenty of time for having fun together, and we fully used and enjoyed that time.

We hope we’ll meet you there next year!

Distributing games and applications

Two new games for GNOME 3.16

Within a short period, two people showed up with proposals for games for inclusion with GNOME 3.16. One is a 2048 clone, the other is a revival of Atomix (last maintenance was GNOME 2.14). Both proposals seem to be maintained by just one person.

The 2048 clone might use a not-yet finished library. The usage of that library will help development of the library (easier when you have use cases, etc). Atomix needs to be ported from old technologies to the latest ones. If I’m not mistaken, I think I encouraged the inclusion of Atomix during the 2.x days.

I’m quite looking forward to having both games available on my machine. Being a packager for Mageia means that I can basically decide when that’ll be. Though Mageia currently is gearing up to Mageia 5 and that put limits on what I can do.

Game development by one person

The number of people on average making a games development by has differed a lot over since 1980s. Initially it was often one person, eventually big teams, then smaller again (flash games), etc. Jeff Wofford wrote a very detailed log of his experiences pursuing game development. According to the blog, one-man game development is done out of interest, but often also to make a (good) living.

Making money from game development in recent times is very short lived. If you make a game, it’ll quickly get cloned. Quite interesting is the number of available applications in the iOS app store.

Number of available apps in the Apple App Store from July 2008 to September 2014

I have no idea how long it takes to create a nice game for a mobile iOS. I do think above graph impresses me: more than 1.2 million apps within 4.5 years. How long have distributions been around? I recall trying either Red Hat 5.0 or 5.2.

How would this work under the distribution model?

With the distribution model and e.g. the 2048 game, say the game was originally made for Linux. Then once the development is over, you’ll have to persuade various distribution packages to include your game. This is easiest if you’re known. So aligning yourself with GNOME makes this process easier for you. To ensure your game is available under as many distributions as possible, you’ll have to search for the various distributions, then per distribution ensure that your game gets packaged.

Packing does have various benefits from a technical standpoint. No duplication of libraries, entire QA process, etc. I package at Mageia and I don’t like anything that’s not packaged. I basically won’t install it unless there’s a package for it.

Say your spend 2 weeks of development on your game until you have the first version that you want to beta test. After that you need to convince distributions to package it. Then these distributions have to ship their stable versions. After which your users have to upgrade their distributions. If you release a new version every 2 weeks (easily possible if your game is under active development): how likely will your users run the latest version? Distributions usually freeze their distribution to increase quality. This can take anywhere from a month to 4 months. Various distributions also require freeze exceptions for new versions of software.

To notice new versions, distributions use various methods. Fedora tries to download a potential higher number than whatever is within the distribution. It uses that to notify the packager. Then for various well known download sites (e.g. download.gnome.org) it checks the directory. At Mageia we check various download sites as well as other distributions. Which gets messy as we sometimes use a slightly different name.

If your developing a game or small application for Linux, the experience is just terrible.

xdg-app: A different trade-off

Various people within GNOME are creating a freedesktop.org additional way to distribute games and applications. Meaning: the intention is that it works not just for GNOME, nor just for one distribution. The details are available on https://wiki.gnome.org/Projects/SandboxedApps, though I’ll just copy/paste the two main goals:

  • We want to make it possible for 3rd parties to create and distribute applications that works on multiple distributions.
  • We want to run the applications with as little access as possible to the host. (For example user files or network access)

On Feb 7 2015 at DevConf.cz, Alexander Larsson gave a talk about application sandboxing:

As the talk is about 45 minutes I’ll just recap a few things from it:

  • Applications/games rely on a runtime
  • Runtime: Something like GNOME 3.16 (or KDE, etc)
    The GNOME 3.16 is around 400MB. The idea is that there aren’t too many runtimes and multiple applications can rely on one runtime. In case you have multiple runtimes and there are duplicate files between the runtime, the space is only used once. Further, when you update a runtime, you only download the differences (thanks to OSTree, see the LWN writeup).
  • Demo: The presentation includes a demo about a recently funded application, Builder.
    This application is still being developed. It requires libraries from GNOME 3.16. That’s still under development so usually (unless you run development versions of distributions), you’re pretty out of luck trying this out.
  • Sandboxing/separation: The sandboxing is not perfect yet
    Requires more work (pulseaudio and more). Further, any X app will always be able to record your keystrokes if they want. Meaning: Wayland. Further, there are some interdependencies between host OS and the runtime (for details see the talk).
  • You can disable access to your network, your own files/homedirectory, etc
    It uses things like pid namespaces, etc (see talk for details)
  • You can install either system-wise or within your homedirectory

Now I didn’t fully watch the entire talk, nor read all of the discussion around it. I know that NVidia will only release their proprietary versions which will work with Wayland beginning of 2016 or so. The talk mentions wanting to use kdbus, which doesn’t have to be systemd-only, but, well…

It’s unfortunate that this talk wasn’t given at FOSDEM. There was one talk about Wayland+systemd application sandboxing, but I found it very lacking (I expected something like what Alexander Larsson spoke about).

Closing points

I skipped over many details in this post. If you want more details, see the various links, post a comment or ask the people who actually know. For that and also if you want to work on something technically interesting: join the gnome-os-list mailing list.

Retail chains in The Netherlands

In The Netherlands, various retail chains are either having difficulties, or they’re going bankrupt. Having it difficult: HEMA (huge stores though smaller than V&D), V&D (huge stores). Bankrupt/payment issues: Free Record Shop (CDs), Halfords (bikes/stuff for your car), Mexx (clothing) and Schoenenreus (shoes). These are stores you often see in any city centre. At least a few of these chains were taken over by investment companies.

It’s hard to care. Often they sell exactly the same Chinese products you find everywhere. There’s nothing really unique to any store, so I often compare chains by the prices they offer.

For HEMA and V&D, the chain Action offers a much smaller amount of products, but much much cheaper. Further, Action often completely changes whatever they offer. This makes it interesting to go back to the store a lot. V&D and HEMA: I know what they offer, I only go there when Action doesn’t have it in stock. V&D is trying to lower their costs by demanding 40% less rent and no rent payment for 4 months. The company they’re renting from is trying to evict them. Officially they can easily rent out the space to others, though somehow you can also benefit from leaving a building completely empty.

For clothing, Primark offers clothing for much reduced prices. A t-shirt can be had for a few Euros. A while back I bought loads of shirts and t-shirts, the most expensive item was 4 EUR. Quality wise Primark is questionable, but other clothing chains are not that much better. Price wise, it can be more economical to buy the lower quality Primark version.

For bikes, loads of bike shops rely on the tax benefit that existed when you buy a bike to travel to work. The maximum price of a lot of bikes exactly match the maximum you could get as tax benefit. Internet bike shops were often excluded from the tax benefit, while stores offering the tax benefit we often much more expensive. Resulting in most of the tax benefit mostly actually going to the shops. This tax benefit ended starting from 2015. I won’t be sad if loads of bike shops go out of business. Though according to the bike shops, their business has increased due to businesses now providing company bikes. I don’t believe them.

Schoenenreus offers bad quality shoes for a lowish price. It actually doesn’t work out at all. A shoe bought there might be worn out in 1 month, max 3. It shouldn’t be that costly to make shoes or offer better quality. I think people not having money for a better quality shoe probably found a chain which offers better quality for the same price, making the business model of Schoenenreus obsolete. It seems that in The Netherlands you can either buy a nice looking shoe and it’ll wear out, or buy a really ugly one that’ll last you for years. Most well known brands seem to have lowered their quality.

Various chains that do well are considered to be cheap while they aren’t (Mediamarkt), are cheap (Action), refocussed on offering unique products (Bijenkorf). I do wonder what’ll happen to the rarely needed stuff which is only offered by a few shops. As well as the space occupied by the huge stores. I do hope that stores adapt to the changes. Just because you were successful or your store existed for a long time doesn’t mean you’re entitled to continued success.