Planet maemo

Jussi Ohenoja

2014-05-13 Meeting Minutes

2014-05-17 09:21 UTC  by  Jussi Ohenoja

Meeting held on FreeNode, channel #maemo-meeting (logs)

Attending: Ruediger Schiller (chem|st), Jussi Ohenoja (juiceme).


Summary of topics (ordered by discussion):
- Discussion on arranging the next Maemo Council election
- Discussion on

Topic (Discussion on arranging the next Maemo Counco election):

  • Juiceme has made the announcement of the election.
  • Woody has been very helpful and provided juiceme assistance on running the voting machine.
  • Juiceme has not yet had time to create a test election.

Topic (Discussion on

  • HiFo was contacted by Nokia/Microsoft about the use of to the Maemo community and if it needs to be kept alive in this way as they want to discontinue the contract with
  • Chem|st approached Gitorious' staff about possible solutions working out for us and Techstaff is looking into proper backups of these gits and hosting them our own.
Action Items:
  • N/A
Categories: council
Jussi Ohenoja

Dear friends and Maemoans, it has been a busy six months, and again it is time to elect a new Community Council for us.

The last election finished on Saturday 14th of December 2013 so the new election should be done by Saturday 14th of June 2014.

The schedule of the voting is as follows:

  • Nomination period starts now on the 5th of May 2014 and continues until 31st of May 2014.
  • Contemplation period starts on Sunday 1st of June 2014 and continues until Saturday 7th of June 2014.
  • Election period starts on Sunday 8th of June 2014 and continues until 14th of June 2014.

To get our community to continue strong, we need fresh people with fresh viewpoints to carry on the torch, so please think about volunteering for Maemo Council.

Currently there is lots of things going on, as the Maemo council is now the one unified Council, acting on behalf of the whole Maemo Community and its legal representation bodies, the Maemo e.V. (registered association, successor to HiFo) and the Hildon Foundation.

On behalf of the outgoing community council,

Jussi Ohenoja

Categories: council
Jussi Ohenoja

2014-04-29 Meeting Minutes

2014-05-05 13:47 UTC  by  Jussi Ohenoja

Meeting held on FreeNode, channel #maemo-meeting (logs)

Attending: Joerg Reisenweber (DocScrutinizer51), Ruediger Schiller (chem|st), Sicelo, Jussi Ohenoja (juiceme).


Summary of topics (ordered by discussion):
- Discussion on arranging the next Maemo Counco election

Topic  (Discussion on arranging the next Maemo Council election):

  • The constraints for the election are:
    • Nomination period:        announcement ... 2014/05/31
    • Contemplation period:     2014/06/01 ... 2014/06/07
    • Election period:              2014/06/08 ... 2014/06/14
  • Juiceme promised to write the election announcement.
Action Items:
  • N/A
Categories: council
Philip Van Hoof

While Nemo Mobile OS doesn’t ship with udisks2 nor with the GLib/GIO GVfs2 modules that interact with it, we still wanted removable volume management working with the file indexer.

Click to read 1094 more words
Categories: english
Thomas Perl
As the versions of my apps on Nokia Store grow more and more outdated, I've decided to remove the apps from there and instead self-host them on my web page and/or put them on instead. A handful of apps stay on Nokia Store; those are mostly S40 apps or apps for which a Symbian version also exists.

Here's a list of my N9 apps that you can now get for free ("deb download" is as of posting this, for new versions visit the webpage or
And here's a list of my N9 games that you can now get for free (again, "deb download" is as of posting this; new versions on the webpage or
Of these, the "greatest hits" and most useful apps/most fun games are (in my opinion): Billboard, Volume+ As Camera Button and chro.mono, but also give qw The Game and Petals a try :)

A list of all my apps on is also available.

Please note that unless otherwise noted, do not copy the .deb files and distribute them yourself, please always link to the project webpage (the page, not the file) or the page - this makes sure users can always download the latest version and from a known-good source (always be careful when downloading and installing .debs from random webpages). For end users who want to stay up to date and install the packages comfortably, the Warehouse client for is recommended.

For some of these apps (not games) that are not open source yet, I plan to clean up and publish the source at some point in the future, so interested developers can have a look, add features and/or port it to new platforms.
Categories: apps

Secure Owncloud Server

2014-04-18 19:46 UTC  by  madman2k

This article is about how to securely configure the machine where your Owncloud instance will be running.
Even if you set-up your connection with Owncloud in a secure way,  your data still can be compromised by exploiting security flaws in the underlying architecture.

In the following we specifically will cover the underlying software stack and brute-force password hacking attempts.

Automatically install security updates

No software package is perfect – there might be security holes in the the whole stack – starting with the linux kernel up to the used SSL library.
However most security holes that are being exploited are publicly known and security updates have been provided for them.
The only reason why they still can be exploited is that people do not install the security updates in time. Especially if there is no server-admin dedicated to maintaining the Owncloud machine one might easily miss on such updates.

Fortunately it is very easy to enable automatic security updates on debian based distributions with

sudo dpkg-reconfigure -plow unattended-upgrades
Prevent brute-force password hacks

Unfortunately Owncloud 6 is still vulnerable to brute-force password attacks in its default configuration as it does not enforce timeouts after failed login-attempts.

Therefore one might just try all possible passwords gain access to your machine in about 3 days for a typical password length:

To prevent this we can use fail2ban to enforce a timeout after a certain number of failed login attempts.

First install fal2ban

sudo apt-get install fail2ban

Fail2ban works by parsing the log files of a service and then reconfiguring the firewall in order to ban the offending ip-address.

So we need to tell owncloud to log the failed login attempts. To do so edit


  'logtimezone' => '<TIMEZONE>',
  'logfile' => '/var/log/owncloud.log',
  'loglevel' => '2',
  'log_authfailip' => true,

Note that logtimezone must match the clock of your server.

Next create the following filter definition for fail2ban


failregex={"app":"core","message":"Login failed: user '.*' , wrong password, IP:<HOST>","level":2,"time":".*"}
          {"app":"core","message":"Login failed: '.*' \(Remote IP: '<HOST>', X-Forwarded-For: '.*'\)","level":2,"time":".*"}

The top row is for owncloud <= 7.0.1. The bottom row for owncloud 7.0.2

Together with the following service definition


enabled = true
filter  = owncloud
port    = https
logpath = /var/log/owncloud.log

Now restart fail2ban and try to log in 4 times with a wrong password. The 4th attempt should give you a timeout. (for 15min)

Categories: Articles
Ian Lawrence

A Bitcoin project

2014-03-26 21:10 UTC  by  Ian Lawrence

Some words about hedging

The Bitcoin market is pretty fresh and unstable at the moment. It is greatly affected by any news on this market. We expect slow grow of exchange rates in the long-term. This assumptions is based on the following facts:

Click to read 1848 more words
Categories: Bitcoin
Jussi Ohenoja

2014-03-18 Meeting Minutes

2014-03-24 07:30 UTC  by  Jussi Ohenoja

Meeting held on FreeNode, channel #maemo-meeting (logs)

Attending: Joerg Reisenweber (DocScrutinizer05), Ruediger Schiller (chem|st), Gido Griese (Win7Mac), Niel Nielsen (nieldk), Robert Schiller (lowkyalyr), kerio, Titilambert, Paul Healy (sixwheeledbeast), Martin Kolman (M4rtinK), Falk Stern (warfare), Aaron McEwan (chainsawbike), Jussi Ohenoja (juiceme).


Summary of topics (ordered by discussion):
- Kickoff meeting for Meamo Community e.V.

Topic (Kickoff meeting for Meamo Community e.V.):

  • There was discussion about the voting engine used to prepare/handle/tally the votes in Maemo community matters. As it happens woody is the only one who knows how the system operates, so in the future woody needs to either continue to maintain it or pass the knowledge of it to other people capable of using it.
  • This time the Maemo Council meeting was held with a differnt topic as usual, so the rest ot the meeting was conducted as formal Kickoff/Inaugural meeting of the new Maemo Community e.V.
  • Win7Mac had prepared the following meeting agenda, which was presented to the attendeeds:
    • 1.)Commentary and vote on the Statutes and General rules
    • 2.) Election of the board of directors and acceptance of the internal board regulations
    • 3.)Election of the council
    • 4.)Agreement about member-fees
    • 5.)Organizational enactments
    • 6.)Miscellaneous
  • chem|st opened the meeting on March 18 2014 20:32 UTC and welcomed the participants.
  • Meeting attendees introduced themselves by stating their real names for record.
  • chem|st was appointed the Chair of the meeting, and juiceme was appointed the Secretaty.
  • The assembly accepted articles of incorporation and the association rules unanimously. Thus Maemo Community Association is founded by the present company, and all present are named active members of the community.
  • juiceme, nieldk and chem|st were nominated for directors of the association. All accepted the nomaination and were voted unanimously for the position.
  • The directors accepted Board's Internal Regulations unanimously
  • chem|st was nominated as board's Chairman, juiceme was nominated for Secretary and nieldk was nominated for for Treasurer. All accepted the position and were voted for unanimously.
  • The current Maemo Council, consisting of DocScrutinizer05, chem|st and juiceme was nominated for the Council of Maemo Community Association. The vote for council was unanimous.
  • juiceme was nominated as Chairman of the Council. He was voted for it unanimously and accepted the nomination.
  • It was decreed that with reference to the Statutes and Association Rules passive membership generally is free of any charges. Any payment of fees for active or honoured members is suspended for the time being.
  • The board of directors was assigned to do all nescessary steps to register the association at the district court.
  • The chairman thanked all assembled and closed the meeting at 21:27 UTC

Action Items:
  • N/A
Categories: council

webCL 1.0 is ratified and released!

2014-03-19 20:17 UTC  by  pellet
We have been working close to 2 years on this so it is only natural to be happy. Tasneem - from my lab has been chairing the working group on webCL - I want to say that she did a wonderful job and it was great to work with Khronos Group.You can find the specification here here is the official press release from Khronos: can help any developer harness the underlying power of GPU's and multi core device directly from the browser. It will allow parallel processing directly the browser and can enable a completely new category of web apps such as the one based on physics engine, video editing, image and photo processing and manipulation, etc...I also want to remind everybody that we have an implementation of this - go and check it out: will also be  a WebCL DevU session at the GDC tomorrow on  March 20 at 3:00 pm, in the Moscone Center, in San Francisco.
Jussi Ohenoja

2014-03-11 Meeting Minutes

2014-03-16 15:41 UTC  by  Jussi Ohenoja

Meeting held on FreeNode, channel #maemo-meeting (logs)

Attending: Joerg Reisenweber (DocScrutinizer51), Ruediger Schiller (chem|st), Gido Griese (Win7Mac), Paul Healy (sixwheeledbeast), Jussi Ohenoja (juiceme).


Summary of topics (ordered by discussion):
- Discussion on moving Hildon Foundation to a german e.V.

Topic (Discussion on moving Hildon Foundation to a german e.V.):

  • DocScrutinizer announced that it is no longer possible to donate to Maemo through his PayPal account, so there needs to be found another way for people to support running the Memo infra.
  • juiceme was under the mistaken impression that this MC meeting would also serve as Maemo E.v. founding/kickoff meeting. However as there are not yet enough founders the kickoff meeting needs to be postponed.
  • There was a lot of general discussion on the form of the E.v., as it was questioned that the suggestion for the new council would be 5 people, and current Maemo Council stands a 3 people. It was noted that actually the numver 5 is not a strict requirement, and the E.v. rules could be modified so thet number of council would be 3 and the current council could become the new Maemo E.v. council, provided that current Maemo Council rules are exactly same as in the new council.

Action Items:
  • N/A
Categories: council

How to manually update a deb package from source

2014-03-15 12:03 UTC  by  madman2k

Probably everyone has encountered a package in Ubuntu which was not the newest released version while one for some reason needed the newest one. The first step is to search for a PPA with the desired version. But what if there is no such PPA or you want to build the version yourself? This is where this guide comes in. Note however that this is not aimed at ordinary users – you need some experience with programming/ compiling to successfully build a package.

Before you start

Before you start make sure that you have source packages enabled in your software sources.
Next you obviously need the upstream source tar-ball of the new program which should look something like <packagename>-<version>.tar.gz.
Download this tar-ball to a new directory <somedir> and extract it there.

Updating Package info

For the following commands I assume you are in the previously created directory <somedir>.

First we need to get the old version of the source package

apt-get source <packagename>

This will download and extract the old source package into <packagename>-<oldversion>.

Now we need some helper scripts to perform the upgrading as well as the build-time dependencies of the package

sudo apt-get install dpkg-dev devscripts fakeroot
sudo apt-get build-dep <packagename>

Next change into the extracted sources of the old package and update the packaging

cd <packagename>-<oldversion>
uupdate -v <newversion> ../<packagename>-<newversion>.tar.gz

# change into the extracted new package
cd ../<packagename>-<newversion>

# update version info
dch -l ~ppa -D $(lsb_release -sc)

For more information see the Debian New Maintainers Guide.

Building the program

To trigger a rebuild of the program simply execute

Uploading your version to a PPA

To upload a package to a PPA you first need to sign it to prove that you are the author. To do this you have to execute the following in the <packagename>-<newversion> directory

debuild -S

Furthermore you need the upload tool dput to actually perform the uploading

sudo apt-get install dput

Now change to <somedir> and execute

dput ppa:<your_username>/<repository> <source.changes>

You can find more information at Launchpad.

Categories: Articles
Thomas Perl

gPodder 4.0.0 for Sailfish OS released

2014-03-15 11:07 UTC  by  Thomas Perl
While we're supplying N9 users with fresh releases of gPodder 3 regularly (the latest version, 3.6.1, has been released last week, and the update is available on, of course we've also been busy working on a newer, Qt 5 and PyOtherSide-based version of gPodder. After weeks of testing, I think it's good enough for a first release now, so let's warmly welcome gPodder 4.0.0 to the world of Sailfish apps. You can download it and its dependencies from the gPodder downloads page.

If you haven't read last year's article about Python and Qt 5, now might be a good time to do so. PyOtherSide is a much more minimalistic approach to Python bindings, and - in my obviously biased opinion - works better for gluing together a QML UI with a Python backend. In fact, it lends itself to clearly splitting the frontend from the backend, and with the "asynchronous by default" design, you have to work really hard to block your UI thread with long-running Python code (or multithreaded Python code that's waiting for the GIL to be released). PyOtherSide these days is also well-documented, and some early annoyances and bugs have been fixed with recent releases in February. In combination with Qt 5 and Python 3, it works well on OS X, Blackberry 10, Linux, Sailfish OS and Windows. With Qt 5.2 having official support for Android, and a Python 3 port being available, it's only a matter of time before PyOtherSide lands on Android.

For all Sailfish OS users out there: Until the next Sailfish OS update, you might have to install some dependencies before gPodder will correctly start up, these are:
  1. libpython3 (the Python 3 interpreter)
  2. python3-base (the Python 3 standard library)
  3. pyotherside (the Qt 5-Python3 bindings)
As these links point to the current version in OBS, they will break once one of these packages is updated. In this case, just look into the home:thp:gpodder armv7hl repository for the latest versions of these packages. With the next Sailfish OS update, recent-enough packages of PyOtherSide should be in the repositories, so you don't need to install the dependencies manually.
Categories: gpodder