Motorcycle Adventures and Free Software

Weblog: Archive

2008-06-01 - 2008-06-30

Midgard 2: more than just PHP, more than just CMS

Posted on 2008-06-02 09:30:55 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

As Midgard 2 is already in alpha stage, I though it would be good to update the architecture diagram to showcase the new Midgard structure. This includes multiple language bindings, MidCOM3, D-Bus interprocess communications and other things.

Midgard 2 architecture

With these changes Midgard 2 can function either as a full-fledged CMS, a PHP MVC framework, or a persistent storage framework for multiple different programming languages.

XMPP replication is also mentioned, but work on that will actually start later this month.

Technorati Tags: midcom, midgard, mono, php, mvc, python

Sponsored links

Microsoft Certification Exams save money using, phone card

iPhone, GeoClue and making mobile devices location-aware

Posted on 2008-06-06 11:52:55 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

iPhone location-awareness on Lifehacker
Lifehacker has an interesting story on how location-aware iPhone will change things:

There's a lot of speculation as to what we can expect from next week's iPhone announcements, but there's one thing you can be sure of: The iPhone's location-aware features will change your life. Whether that means pinpointing your location on a Google Map (which iPhones already do), tracking your friends when you go out, or giving you a heads-up on the best place to eat within a three-block radius, the location-aware future is bright.

The scenarios described in the story are very similar to what we've been discussing regarding GeoClue, the framework for making mobile Linux devices location-aware.

With iPhone pushing innovation it is very important that mobile Linux environments like GNOME Mobile, maemo and QTopia pick up the ball and start making location-aware solutions powered by more than just GPS. GeoClue can help there.

Technorati Tags: geoclue, iphone, maemo, qtopia

GNOME in decay?

Posted on 2008-06-09 12:03:19 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

Andy Wingo is writing about how he feels the GNOME project is in a state of decadence:

The problem, as I see it, is that GNOME is in a state of decadence -- we largely achieved what we set out to achieve, insofar as it was possible. Now our hands are full with dealing with entropic decay. Take, for example, Evolution's random walk to improvement. In most releases it's better, in a few it's worse, but basically it still works fine, and has been that way since about 3 or 4 years ago.

It's like, welcome back to 1984's Macintosh plus interweb. We did it!

As sad as it makes me, I have to admit I've felt the same about the GNOME project. I've been a fan of the project since late 90s, and I'm sad to see the state of things, but... the KDE people seem to be quite determined in their progress, while in GNOME land people seem to be mostly in conservative maintenance mode. In last GUADEC it seemed that proposals of interesting new approaches or technologies were mostly either ignored or mocked, while there seemed to be no clear path forward for the desktop.

Back then at least the mobile land was promising, but there also various vendors are now going to the Qt side, bringing doubt to the future of the platform.

I really hope the GNOME project is able to regain its energy and sense of purpose. The next GUADEC would be an excellent place to discuss future directions. I will be there to talk about location-aware desktop, and possibly to discuss how we use various GNOME components on the server side with Midgard.

Via Alex Graveley.

Scrum in management of a small software consultancy

Posted on 2008-06-11 13:00:53 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

Over the years we at Nemein have been experimenting with various ways of keeping our operations managed. Now with some personnel changes including Joe's departure it was a good time to change the way we work again.

I had some goals:

  • Keeping status of different projects up-to-date with more accuracy
  • Ensuring our sales and project management knows if some project is being blocked by missing materials
  • Enabling a more distributed, web working culture

We're a small company of less than 10 people, and as such most project management methods have not been very successful for us. In general they have been made for situations where same person or team keeps on working on a project for several months, whereas in our situation a person typically works on several projects every day.

I discussed this over some beers with Tero Heikkinen from Rohea, and he told me how they were implementing Scrum in their small company. While their number of different projects running at the same time is a bit smaller, their situation otherwise is quite similar: same technologies used, Ajatus for work tracking, etc.

We had a company sauna evening and I presented Tero's ideas there: we would partially implement the Scrum model, and keep tuning it to our needs. At the first phase this means:

  • Every morning we have an all-hands 15-20min meeting ("the daily Scrum") where everybody goes over what they have been doing the previous day, and what they were planning to do today. If they are being blocked by something missing: a software bug, missing information or other materials, this is also brought forward
  • Every project has a file in Google Docs where we keep the project status and task list (Backlog). This task list is updated based on what comes up in the morning meeting
  • Work hours are reported with Ajatus. Rohea also uses it for project burn-down charts, and once their add-on for that is finished we may do the same
  • Emilia, the project manager (or Scrum Master) is responsible for resolving possible impediments and maintaining the per-project status files

The approach we have taken should be quite pragmatic and low-tech. Instead of fancy project management software we use simple word processing for status data. And thanks to Google Docs the documents produced are accessible and editable from anywhere.

Similarly the actual meetings are quite easy to manage. The people who are at the office attend there, and others attend either via a Skype or mobile phone conference call, depending on network availability. We decided to have them at 10am so that everybody will be able to participate. Even if there is a Sprint or meeting scheduled for the same time, the short time needed for our all-hands meeting means it can be held over a "cigarette break".

Ajatus is the only more experimental piece of software in our puzzle. In our company, we use it for hour reporting, expense tracking and keeping meeting minutes. For these it works quite well, although more reporting tools are definitely needed. The alpha status of CouchDb, the database software powering Ajatus has bit us a few times by database corruption (caused by OSX-specific erlang bug) or simply difficult installation procedure, but these problems will hopefully improve over time.

We're now in the second week of this model, and at least the gut feel is that this has improved coordination inside the company. The next challenge then is to let the customer get involved in the process. This can mean just sharing the project status files, or even giving them access to actual meetings or the Ajatus data.

nüvi 880: First device to carry GeoClue?

Posted on 2008-06-13 10:17:11 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

Garmin nüvi 880
GPS manufacturer Garmin has recently released the modified sources of their nüvi 880 and 5000 in-car navigators. Looking at the packages reveals that these devices are powered by GNOME Mobile and GeoClue, the toolkit for making mobile Linux applications location-aware:

On downloading and Inspecting the large (and nicely organized) 8xx source tarball (list of files here) its very apparent the device built upon a GNOME Mobile based stack (with X, Matchbox and GTK+ etc). Also interestingly it also contains GeoClue, PulseAudio and seemingly both Ogg Vorbis and Flac support.

Great to see GeoClue finally hitting devices!

Via ButterFeet and Jussi Kukkonen.

Quality of Life: Helsinki gets good score

Posted on 2008-06-16 19:30:53 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to . 0 comments.

The latest issue of Monocle just dropped in my mailbox. The cover story this time is quality of life in various global cities. Helsinki did quite well, being 5th on the list. Defects listed with the city included shops being closed on Sundays and low immigration levels. From my view the city is doing many things right, including increasing rail transport and transforming the old harbour areas into interesting new neighborhoods. The policy on airports sucks, though.

Helsinki South Harbour from Air

Some of my favourite European cities did quite well, too, with Zürich being 4th and Barcelona 15th. Istanbul however showed up 3rd on the "Winning Losers" list. With Istanbul complaints were around religious tensions and freedom of expression. I could add the often very long travel times between various parts of the city, though they're likely to get improved once the Marmaray tunnel is complete. However, I wouldn't mind living in any of these three cities some day. Maybe once our working model is more nomadistic...

Istanbul Eminönü at Night

Document locking hits MidCOM 2.8

Posted on 2008-06-17 07:13:57 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

Latest MidCOM 2.8 has a feature that has been resurrected from earlier in the series: document locking. The point of locking is to prevent accidental simultaneous editing of a document by multiple users.

When user starts editing a document via datamanager-powered form, the document will be marked as locked for that user. Other users accessing the document will see a notice:

MidCOM 2.8 lock notice

Unlocking permissions can be granted via the Asgard user manager.

Unlike the older and somewhat troublesome method, the new locking system uses regular Midgard metadata properties and has a clean API available.

Tampere is a candidate for GUADEC and aKademy 2009

Posted on 2008-06-17 12:58:21 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

GUADEC and aKademy will possibly be arranged together in 2009. As the events are looking for a venue, we at COSS (Centre for Open Source Solutions Finland) decided to apply to have the events in Tampere, Finland.

Tampere industrial area, photo by Mihriban Pehlivan

Tampere is an old industrial city situated between two lakes. It has quite good flight connections (including Ryanair) to Europe, and fast rail link to nearby Helsinki which is the big hub for Finnair. COSS is a seasoned conference organizer with good connections to local and country-level instances, and as venue we can have the University of Tampere campus.

See the proposal PDF.

Firefox 3 Download Day: 5 million and counting

Posted on 2008-06-18 08:28:18 UTC in 60° 9.840 N 24° 44.190 E 7km S of Espoo, FI to . 0 comments.

The Firefox 3 Download Day started yesterday at 18:16 UTC, and so there are still 10 hours remaining to download the browser. Originally the download day had 1.5 million download pledges, but it seems that since then the download count has by far exceeded the expectations of the Mozilla team: at moment the download counter shows over five million downloads. The Download Day has also been prominently featured in news worldwide.

Firefox 3 Download Day thank you certificate

Firefox 3 is a very nice upgrade to the popular browser. Go and get it!

Big Brother lives in Sweden?

Posted on 2008-06-18 21:49:52 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to . 0 comments.

Swedish flag, photo by Tangaroa expedition
We thought the country of Big Brother might be China, or maybe UK. But looks like the Swedish are eager to get there first. Sweden passed a controversial wiretapping law:

Sweden on Wednesday adopted contentious legislation that will give officials sweeping powers to eavesdrop on all e-mail and telephone traffic that crosses the Nordic nation's borders.

...

"This is just as absurd as before. It contravenes article 12 of the U.N.'s declaration of human rights," said Per Strom from The New Welfare Foundation think tank. "It will still create a society characterized by self-censorship and anxiety."

Remember people, 1984 was meant to be a warning, not an instruction manual. Time to move the Midgard community servers out from that country?

Plazes goes Nokia

Posted on 2008-06-23 10:18:28 UTC in 60° 9.762 N 24° 44.310 E 7km S of Espoo, FI to . 0 comments.

Return trip from Istanbul according to Plazes
A more interesting piece of news today was that Nokia has acquired Plazes, the WiFi positioning company. I've been a Plazes user for quite a while and am using it as a position source for my website in addition to Fireeagle.

I hope the acquisition will increase Plazes' resources to develop and expand the service to new areas of mobile positioning. The Rails port of Plazes a year ago seemed to hurt their usage numbers quite badly, but the new directions they've been recently following have been promising.

Maybe a good time to start preparing a new release of MaemoPlazer, our Plazes client for Nokia's Linux platform?

Big Midgard release day

Posted on 2008-06-25 14:33:42 UTC in 60° 10.512 N 24° 55.152 E Helsinki, FI to . 0 comments.

Today has been an important day for the Midgard Project - development versions of both active Midgard branches were launched:

Midgard 1.9.0alpha1 "White Nights" released

Midgard 1.9 has been designed as a version easing the transition from Midgard 1.x to Midgard 2. To aid developers, the release includes both the classic Midgard APIs that are now deprecated, and the new schema-based Midgard 2 APIs. This means that the release can be used to run both Midgard 1 applications like the version 2.8 of the MidCOM component framework, and Midgard 2 applications like MidCOM 3.

Midgard 2.0.0alpha2 "Bonfire" released

The second alpha of the Midgard 2.0 branch is targeted at web framework and desktop developers. This release does not consist of the CMS components, but instead targets at providing the development tools for building a modern web framework. Framework based not only on one tool, but which can connect multiple technologies and languages.

Changes from alpha1: The Apache module is no longer supported. Support for D-BUS is built in. Many improvements were made in language bindings. The PHP module is now configurable with ini directives.

Especially the Python bindings for Midgard 2 are interesting. Next thing for me is to start playing with the D-Bus signals.

MidCOM 3 and built-in WebDAV

Posted on 2008-06-26 16:51:39 UTC in 60° 10.098 N 24° 55.452 E Helsinki, FI to . 0 comments.

There has been some discussion about the deployment model for the upcoming MidCOM 3 MVC framework for PHP and Midgard 2. My suggestion was to enable WebDAV on all MidCOM servers so content structures, configurations and templates could be moved between them with simple drag-and-drop.

This week we're having a MidCOM 3 coding sprint, and now we can already mount the MidCOM site, and with some clients also edit content. Locks also work transparently between WebDAV clients and the web editing interface.

WebDAV serving logic is implemented using PEAR's HTTP_WebDAV_Server.

Browsing a MidCOM3 site via WebDAV

More functionality will follow...

Back