Motorcycle Adventures and Free Software

Weblog: Archive

2008-08-01 - 2008-08-31

Quick review: Sennheiser PXC 300 noise-cancelling headphones

Posted on 2008-08-05 11:27:26 UTC in 51° 34.074 N 0° 6.564 W 8km N of London, GB to . 0 comments.

Sennheiser PXC 300 in-flight
As a frequent traveler, I've been long thinking about getting proper noise-cancelling headphones. Now, en-route to a Haedong Kumdo seminar in Ireland I managed to forget my usual headphones home, and so it was time to take the plunge.

Here is a quick review:

  • First impression: wow, quite a lot of cable to carry around. I got used to too good with the Bluetooth headphones which my iPhone 3G unfortunately doesn't support
  • The noise cancelling unit is a bit big, but clips into belt and runs on two AAA batteries
  • Sitting next to the engine, there is still quite a strong background hum, but still I'd estimate at least half of the noise is gone
  • If I push the headphones on my ears, most of the hum disappears too
  • I was amazed how loud planes are when I took the headphones off to buy lunch from the stewardess
  • The bag that came with the headphones is very handy, and includes adapter for plugging the headphones into in-flight entertainment systems

All in all, the headphones are bit pricey, but will increase comfort of regular air travel quite a lot.

Written while flying over snow-capped mountains of Norway on a SAS flight, listening to Mahler's 6th symphony.

Sponsored links

Microsoft Certification Exams โนเกีย Nokia มือถือ Online Project Management save money using, phone card
Reviews มือถือ Mobile All Apps

Black belt

Posted on 2008-08-05 12:12:22 UTC in 51° 34.074 N 0° 6.564 W 8km N of London, GB to . 0 comments.

New Haedong Kumdo black belt
On Saturday I was in Ballina, Ireland, and a bit nervous: there was a Haedong Kumdo seminar in town, and I was scheduled to test for black belt. Behind this was years of different sword arts, like viking swordfighting, Iaido, Kendo, sabre fencing, and two years of quite intense Haedong Kumdo practice.

We tested together with two Swedes who already held black belt in the other federation. All three passed.

So what is Haedong Kumdo?

Haedong Kumdo is a Korean martial art based on the use of the Korean curved single edged sword. It is a modern system compiled from the ancient traditional sword techniques of Korea.

The movements are primarily circular and derive their power from centrifugal force of the body. Training develops strength, coordination, balance, focus, stamina, speed and flexibility.

Haedong in old Chinese language means Korea (Hae - sea or sun, Dong - east). Kumdo translates to way of life through the art of sword (kum - sword, do - way of life through martial art).

The Way of the Eastern Sword, Haedong Kumdo, is an exciting and dynamic martial art.

This important step done, the practice will intensify. Next I will need to focus on two-sword techniques and the Yedo series of forms. There will also be more cutting practice. In September we will go to Korea...

ETech 2009 CFP: Building the peer-to-peer business network

Posted on 2008-08-06 16:59:04 UTC in 51° 34.074 N 0° 6.564 W 8km N of London, GB to . 0 comments.

ETech 2009, the O'Reilly conference on emerging technologies now has a call for papers. Here is my proposal for the "Nomadism & Shedworking" track:

The recent direction of business applications has been centralization to web-based systems, easing deployment, upgrades and management of application security. However, at same time centralization provides new risks like the introduction of a single point of failure for application usage and in most cases inability to work offline.

At the same time, working culture has started so shift more towards networked individuals, or "web workers" forming ad-hoc coalitions to work on various projects. For them, centralized applications might not be desirable due to data ownership and infrastructure requirements.

Moving the applications from centralized web servers to a peer-to-peer network allows web workers to be in control of their own data, stay productive even in unstable connectivity situations, and collaborate easily with their colleagues in an ad-hoc way.

This talk outlines some ways to move forward in building peer-to-peer networked business applications. There are many open source frameworks targeting the problem, including replicated databases like CouchDb and Prophet, and application-oriented P2P networks like Swallow/DBE. These will be discussed together with some real-world examples of business applications built with them:

Ajatus - a "Personal CRM" built on top of CouchDb, a RESTful replicated object database
OpenPsa - project management system doing resourcing over the DBE P2P network
Simple Defects - a P2P bug tracking system built on top of the Prophet replicated database

The first phase of P2P business applications will likely be services operating in closed networks of users' social networking or instant messaging contacts. But the P2P model can also provide opportunities for wider networking, making it possible to find new project partners or collaborators anywhere in the world. This wider-ranging business network will introduce new challenges like security and reputation management. Some ideas related to this will also be discussed.

Other interesting projects in this sphere I did not mention are Telepathy Tubes and F2F. We have also had some ideas for how Midgard could do this...

ididwork.com: Simple workstreaming solution

Posted on 2008-08-07 12:24:18 UTC in 51° 34.074 N 0° 6.564 W 8km N of London, GB to . 0 comments.

ididwork.com reporting interface
ididwork.com, a simple workstreaming service has launched this week. Workstreaming means utilizing micro-blogging services to keep your colleagues aware of what you're doing. This helps with coordinating geographically dispersed teams of web workers.

As part of redesigning our processes, our company has been looking for a workstreaming solution. While private channels support in Jaiku would probably be the best option, we will now be testing ididwork.com for our needs.

Here is a quick overview of the first launched version of ididwork.com:

The good:

  • Simple, pleasant user interface
  • Tagging support (including machine tags), which means we can connect entries with Ajatus tags
  • Email reminders for managerial review of entries
  • Excel export of work reports

The bad:

  • Users can be either managers or employees, not both. Managers don't have work to report?
  • User's own log entries and log entries of colleagues are shown separately
  • User can only belong to one organization. No multiple teams or projects

The ugly:

  • No API
  • No RSS feeds
  • No XMPP support

Neutron Protocol: Separating UI from the CMS

Posted on 2008-08-09 09:26:58 UTC in 51° 4.206 N 4° 30.082 E Sint-Katelijne-Waver, BE to . 0 comments.

At the moment the prevailing wisdom is that each CMS should have its own user interface, and that user interface should be web-based. But there is also another way: separating the user interface from the CMS using a CMS-neutral protocol called Neutron.

According to Sir Tim Berners-Lee, the earliest web browser was also an editor. And the late 90s Netscape Communicator followed this ideal by including a HTML editor that could publish changes to pages using the HTTP PUT method. But then the idea of editing via the web browser transformed to clunky forms and Java applet -based WYSIWYG editors, brought about by the rise of content management systems.

The problems of the user interface being part of the web page were multiple: it cluttered the produced HTML, it was possible to break by layout changes, sometimes the login and editing options were hard to find. It also meant that each and every CMS would have a completely different user interface. A problem made especially difficult if you had to use multiple systems. For example:

If you are Quim Gil, working for Nokia's maemo.org, you're living in a world of many, many CMSs. The marketing and community parts of the website are run by Midgard, the documentation wiki by MediaWiki, your own blog by WordPress, and the list goes on. While in this kind of corporate setup it has been possible to mostly unify usernames and passwords, it still means each part of your work runs with different UIs, and different usage logic. Back in 2003, I named this syndrome Frankenstein CMS.

In addition to consistency and usability, offline editing has been a big issue with most CMSs. In typical situation, it simply doesn't exist, making copy-and-paste way of taking documents with you to edit on a laptop while traveling.

There have been several initiatives in solving these problems. A quite limited, but so far successful example is the Universal Edit Button specification, making rounds earlier this summer. The idea is that CMSs would include metadata on where the editing view of a particular page was in the page itself, and then browsers would display a button leading to it. The approach has been adopted by several big players, including Wikipedia, and we also made it a part of the new CMS that will be built on Midgard 2:

Universal Edit Button in MidCOM 3

Another, also somewhat limited example is the MetaWeblog API provided by most blogging platforms. It has enabled vendors to produce great offline blogging software like Ecto and MarsEdit that provide offline editing and work with almost any blogging system out there. As I write this, I'm using Ecto on my MacBook Air, and will later use it to publish this entry to my Midgard server. The Atom Publishing Protocol will likely be the successor of MetaWeblog, but appears to still keep the blog-only focus.

Back in the earlier days of OSCOM we had another initiative called Twingle. It was a XUL-based desktop CMS client that utilized WebDAV and some XML introspection files to edit and publish data on different CMSs. After a March 2003 OSCOM Sprint in Zurich we were able to demo the same client browsing and editing resources on three CMSs, including Zope and Midgard. Unfortunately, then CMS market became so hot that vendors were simply too busy to pick this up and the project died.

Luckily Michael Wechner, of OSCOM and Apache Lenya fame didn't let the idea die. He worked it onwards, naming the protocol used for conversation between the client and the server Neutron Publishing Protocol, a play on Atom. He also built a new client, Yulup, as a Firefox extension that could manage content on compatible servers.

Michael Wechner in Horgenberg

In summer 2007 I saw a demo of Yulup and discussed Neutron with Michi and was impressed. But was back then too depressed by the Czech episode and other personal issues to press on with the idea. Having watched another year of the directions the community is taking Midgard CMS to, and how clients view CMS deployments, I'm starting to think the time would be ripe for going full forward with Neutron.

In nutshell Neutron is a metadata layer that allows a CMS to specify the actions user can take, and the methods provided for those actions. The methods can either be full-blown WebDAV, or simpler GET-and-POST that more limited CMSs can support. Neutron also provides its own authentication mechanism, though I would gladly see that overtaken by a more secure and widely supported standard like OAuth.

Widely-supported Neutron would provide huge advantages: letting the developers of a CMS to focus on the actual management and presentation layers of the system, and allowing more innovation to happen in the client end due to combined efforts from multiple CMS projects. It would allow building of different content management interfaces for different audiences or usage scenarios. Simple editing and publishing clients that could run fully in browser's AJAX space for casual bloggers or wiki editors, workflow tools for gatekeepers of corporate publishing processes, and full-blown desktop content management tools for site editors. Other special cases like mobile content management could also be provided for.

So what is needed for this future to become reality? First of all, we need to make CMS developers aware of the possibility. Then we need a killer client that every CMS provider would want to support. And then we can expand the protocol, and build additional clients to cater for special needs.

The big question is how this will happen. Industry groups in CMS space are loose or non-existing, and so they lack the muscle to push any standards. Effort by single CMS vendor would probably stay partisan, as developers of different systems are quite suspicious or ignorant of each other. But maybe a combination of the two would work: industry group, such as OSCOM organizing some compatibility hacking events for the developer community, and a company dedicated at building a killer client application. It warrants serious consideration if Nemein should be that company.

This manifesto on transforming how CMSs are used was written in an Eurostar London-Brussels train, sipping Dourthe's Bordeaux white and listening to the Karelia cycle by Sibelius.

Some notes from aKademy 2008

Posted on 2008-08-10 13:19:04 UTC in 51° 4.206 N 4° 30.082 E Sint-Katelijne-Waver, BE to . 0 comments.

I'm currently in aKademy, the KDE conference, talking about adding the geographical context into the Linux desktop. GeoClue, our solution to this problem is built to be desktop-agnostic service, and therefore the same talk has been held in both GUADEC and aKademy.

Here are some notes from the conference:

  • There was quite a good amount of interest in GeoClue. Both Plasma and Marble teams were talking with me, and I also gave an interview for Linux-Magazin Online
  • Plasma is interesting tool for integrating widgets into the desktop. Being able to add widgets to the screensaver is also a great idea
  • Another interesting Plasma idea is offering user widgets that are relevant for the current location coming from GeoClue. This means that when you land in London, you could be offered an Underground route planner app
  • In general it seems the desktops are moving to a more service-oriented paradigm. With D-Bus your instant messaging functionality for instance can be part of any or all applications. This enables making much thinner and experimental applications that still integrate well with the desktop
  • Marble is cool! With it, Qt developers can integrate a map widget into any application, making geo-aware tools much more visual
  • openSUSE build service is about to get new features that will help generating virtual machine images
  • The beer evening in the Het Anker brewery was a lot of fun. Thanks, Nokia!
  • Speaking of Nokia, they are here really in force. They are the main event sponsor, and have a big bunch of people attending. Their acquisition of TrollTech has really changed the situation. Hopefully they'll do the right thing about GeoClue and Maemo

More stuff in my Jaiku notes. My GeoClue slides are also available.

Feature branches in Midgard development with git

Posted on 2008-08-11 16:15:52 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to . 0 comments.

The release synchronicity plan was accepted, and therefore Midgard will be switching from SVN to git, and the concept of feature branches.

With feature branches the idea is that each feature or bug fix is being developed in its own branch, and only landed to trunk (master in git terminology) when ready. This keeps the trunk clean and easy to test.

While the SVN migration will only happen in next developer meeting, you can already start using git for Midgard development thanks to git-svn. Once you have a working checkout, here is how you work with feature branches:

Ensure you have the latest stuff:

git svn rebase

Create a new branch:

git branch mynewfeature

Go to the new branch:

git checkout mynewfeature

Hack, add files, commit, test

Ensure the diff looks correct:

git diff master..HEAD

Go back to master:

git checkout master

Merge your feature branch:

git merge mynewfeature

Commit to SVN:

git svn dcommit

If you want to also work with other Midgard or MidCOM versions from SVN, check out the how to track multiple svn branches in git tutorial.

Georgia without Russian troops

Posted on 2008-08-11 21:13:28 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to . 0 comments.

Just some pictures from happier days:

Taya and the Mtqvari river

View over Kakhetia

Georgian and Finnish Flags in the Parliament

Sincere wish: Georgia without Russian troops

Best wishes to my friends in Tbilisi in these hard times.

Why Finland is different

Posted on 2008-08-16 21:58:43 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to . 0 comments.

It is not only sauna, cold winters and Koskenkorva that sets us Finns apart, apparently:

Genetic map of Europe: Finns stand apart

The map also identifies the existence of two genetic barriers within Europe. One is between the Finns (light blue, upper right) and other Europeans. It arose because the Finnish population was at one time very small and then expanded, bearing the atypical genetics of its few founders.

New York Times: The Genetic Map of Europe (via Slashdot)

Micro-blogging as alternative corporate announcement channel

Posted on 2008-08-18 08:10:16 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to . 0 comments.

Today our ISP is having major power failures, and therefore many of our web services are down. For situations like this, it is good to establish an alternative channel of communications, and for us that is the micro-blogging platform Jaiku:

http://jaiku.com/channel/Nemein

Jaiku's Nemein channel

If you are a Jaiku user, feel free to join the channel. Others can follow it via the RSS feed.

Finding out available MidCOM routes

Posted on 2008-08-20 14:26:43 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to . 0 comments.

MidCOM is a PHP MVC framework where you create a site by building a tree structure and assigning components for the various folders. Each component is its own PHP application that can handle all URL requests under that folder using a set of configured routes.

In addition to making normal requests to the various routes available, routes provided by other folders can be loaded dynamically anywhere on the site. This is useful for instance for loading five latest news items to front page.

To make life easier, I now added a new feature to midcom.admin.help, the online help component. Each folder will automatically list their documentation and available routes when you access their URL __ais/help:

midcom.admin.help routes list

To get this feature you only need to upgrade the help component:

# pear upgrade midcom/midcom_admin_help

Using Yahoo! Fire Eagle with Midgard

Posted on 2008-08-20 14:56:34 UTC in 60° 11.250 N 24° 58.188 E Helsinki, FI to . 0 comments.

Yahoo! Fire Eagle, kind of "GeoClue for the Web" was released last week. It acts as a central hub collection position information from services like Plazes and Dopplr, and with a simple PHP script, Jaiku. Services needing user's location can then ask it from Fire Eagle instead of having to support all the services separately.

Midgard's positioning framework has been Fire Eagle compatible since March this year. Now that the service is open for a wider audience, I though it would be useful to tell how to activate it with your Midgard-powered site.

You need to authorize Midgard with your Fire Eagle account. To do this, go to:

http://www.example.net/midcom-exec-org.routamc.positioning/test-fireeagle.php

and follow the authorization instructions. This is due to Fire Eagle using the nice OAuth protocol.

Once this is done MidCOM cron will start tracking your Fire Eagle location. All objects you have created (photos, blogs, comments, etc) will then be automatically tagged with where you made them.

Yahoo! Fire Eagle

Some notes from FrOSCon 2008

Posted on 2008-08-23 13:44:27 UTC in 50° 46.776 N 7° 10.948 E Sankt Augustin, DE to . 0 comments.

I'm again in the FrOSCon conference in Sankt Augustin, having found the conference last time reasonably big, but relaxed. I will be giving my GeoClue talk again on Sunday (16:30 in HS5).

FrOSCon: Follow the white frog

Here are some notes from the conference:

Some interesting talks still left, including:

Unfortunately the Atom Publishing Protocol talk is only in German...

Part-time Istanbullu

Posted on 2008-08-26 13:46:55 UTC in 41° 0.588 N 28° 57.114 E Istanbul, TR to . 0 comments.

Leander's Tower by night

A thousand years ago, men from my lands traveled here in search of opportunities and adventure. Now, due to intercontinental relationships and working permits, I follow their footsteps.

While Istanbul didn't score perfectly in Monocle's Quality of Life index, I still find it a quite appealing place for a web worker. The lifestyle is more relaxed than in the north, WiFi-equipped cafes are everywhere, food is good, and the old city and Bosporus are absolutely beautiful.

Tophane mosque at night

Web working while running a consultancy in Helsinki is not the easiest thing to do, but with some new processes, and new tools I think we may be able to cope. The main thing is to learn using telepresence tools better than we do now.

At least the web working test run I did in London earlier this month felt very productive. Now the plan is to split my time between Helsinki and Istanbul, and of course the mandatory conference trips. This all will be challenging for regular project work, and so good web working tips will be appreciated!

Webworking in Miscafe, Besiktas

But in any case, my reasons for being in Istanbul go far beyond mere working environment and productivity...

Midgard to go Vala?

Posted on 2008-08-27 11:14:59 UTC in 41° 3.108 N 29° 1.578 E 6km N of Istanbul, TR to . 0 comments.

Midgard 2
Cross-posting this to Planet GNOME, as it is sure to be interesting to the community there, especially as Midgard is becoming much more than just CMS:

There is a project in works by me to rewrite Midgard’s core engine from plain C to Vala. Midgard 8.09’s code is taking huge use of GObject infrastructure and Vala is so good in expressing GObjects that actual development is much much easier.

It is not surprising that the project itself will be code-named ‘Váli’. It will include both streamlining of Midgard core and use of SpiderMonkey java script language embedded engine (courtesy of Mozilla project) to allow server-side extension of the core. Some might see these changes as an attempt to bring more web developers to Midgard’s Core but as this will anyway happen after Ragnaroek, I think its pure target is to simplify work for remaining gods on a new world for mere humans.

I think the Midgard Gathering in November shall be quite memorable, and not only because of the quantities of Polish vodka and sauna that will be present...

Some thoughts on green programming, PHP, Midgard and simplicity

Posted on 2008-08-29 11:44:58 UTC in 41° 3.108 N 29° 1.578 E 6km N of Istanbul, TR to . 0 comments.

Rasmus Lerdorf's excellent talk on PHP and simplicity in FrOSCon introduced me to concept of green programming. To quote the Green Programming blog:

Just like we should aspire to use renewable energy sources to help the health of the planet, we should also use reusable software elements to create robust, healthy code for our customers. Eco-friendly practices might be thought of as applicable to software devlopment. Just as we are concerned with the various biota and climate of the planet, we should be concerned with the over-all health of the software eco-system.

How does Midgard sit in with these ideas? Well, the current version of it does not. MidCOM 2 is a heavy, enterprise-oriented CMS framework that requires big machines, or even clusters to run.

But things are quite different in Midgard 2 land. We have rewritten the MidCOM framework from scratch, removing the need to have abstractions on top of abstractions to support the shift from classic Midgard APIs to the new ones, and from PHP4 to more object-oriented PHP versions. We have also focused on simplicity and adaptability, to make MidCOM an easier environment to work with for site developers.

While MidCOM3 is not due to be out before next March, Tero Heikkinen, an early adopter has been building some production sites with it already. And his experiences state that not only the performance is much better, but also it requires much less work from programmers.

I know Rasmus' argument is that frameworks are evil by requiring developers to adopt to their own concepts, and by introducing unnecessary overhead. But we should look beyond mere server-level productivity, and take programmer productivity into account. A framework makes things much easier for agile teams, enabling people with different competences to work in their isolated environments. Programmers can work on the code, and designers on the templates for instance.

While this makes the actual development and deployment process more efficient, how much performance is lost due to the framework?

Lies, damn lies and benchmarks

Like Rasmus, I used an APC-cached simple PHP "hello world" file as the baseline for my benchmarks. On my dog slow MacBook Air, the simple PHP file was able to serve 32.91 requests per second.

MidCOM3, when run on Midgard 8.09 with APC and memcached was able to serve 8.90 request per second, or in other words performed at 27% of the plain PHP file. Not too good, but considered that much SQL is run to serve a Midgard page, there are good explanations at this.

But compared to Drupal, which I did not install but instead calculated the performance based on the difference between my baseline (32.91 r/s) and Rasmus' (611.78 r/s), MidCOM3 was doing quite fine. Drupal would only be serving about 2.5 requests per second on my box. Zend Framework, again calculated from Rasmus' data would provide 6.5 request per second.

And this is not all. Piotr Pokora has done a stellar work with Midgard2, which will come out in spring numbered 9.03. With it, MidCOM's numbers were quite a lot better: 25.37 requests per second, or 77% of the simple PHP file's performance. This is actually faster than the same simple PHP file on my box without APC (24.84 r/s).

I believe the MidCOM3 performance story does not end here. Piotras has been doing experiments with caching Midgard's initial request data to reduce database queries, and MidCOM3 still misses the extensive caching infrastructure provided by MidCOM2. When these are in place, we may get pretty damn close to the plain PHP numbers.

So, with these numbers, I think we can say that Midgard2 will be quite a good framework for doing green programming while still retaining agile team efficiency.


Towards a greener future

This matters quite a lot, as then Midgard can be run with much smaller virtual machines consuming much less electricity to serve interesting information-rich applications.

When Ragnaroek gets out in end of September we will start focusing our efforts to the new platform that already is showing so much promise. A brighter, greener, more efficient future lies ahead!

Knol: a unit of knowledge

Posted on 2008-08-29 13:47:07 UTC in 41° 3.108 N 29° 1.578 E 6km N of Istanbul, TR to . 0 comments.

Google's Wikipedia competitor Knol launched a while back. It seeks to make writing informative entries more appealing to authors by offering a cut of advertisement revenue from the Knol pages. This can be a substantial thing as calculations say if Wikipedia had ads the revenue from them would be 42 million USD per year.

Having read Neal Stephenson's Snow Crash where the lead character Hiro, a fellow swordfighter and free hacker is making his living by collecting intel to upload onto the CIC library, the concept had some appeal. To test it, I created some pages:

Workstreaming
Workstreaming means collecting activities of geographically dispersed team members into a consistent news feed, enabling managers to track process and colleagues to stay up-to-date with the day-by-day happenings.

Developing P2P business applications
Moving business applications to the web has solved many issues like easier deployment and backups, but at same time introduced a single point of failure in the infrastructure. A group of open source frameworks seeks to solve the issue by helping developers to migrate their applications into resilient and scalable peer-to-peer networks.

Haedong Kumdo
Haedong Kumdo is a modern martial art based on ancient Korean sword techniques.

This should not detract from my open content activities, as the Knol pages are also Creative Commons-licensed.

Back