Motorcycle Adventures and Free Software

Weblog: Archive

2008-02-01 - 2008-02-29

Consolidating your online identity

Posted on 2008-02-05 14:43:37 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to . 0 comments.

Mememememe

If you're using multiple social web services, you will also have multiple online identities. For creating a comprehensive online persona, consolidation between the various profiles would be useful.

To aid in this, and to enable social network portability, Google has started aggregating social networking data marked up in the XFN and rel=me microformats to build a comprehensive social graph.

Having a portable online identity and contact network would be very useful, as it would make signing up and using new web services much easier. Instead of having to invite all your friends multiple times, you would just point to some of your existing profiles and the service would gather your contacts and profile information from there.

To experiment with the concept I added my various online profiles into my home page, and gave the URL to Plaxo's Online Identity Consolidator. It was able to find quite a good set of profiles and connect them to me:

Plaxo-Online-Identities-Debug-1

It will be interesting to see how various websites will start utilizing Google's new services. I've joined the Data Portability action group in order to implement some of these things in Midgard CMS.

Updated 14:52Z: Very good write-up on Bokardo


Technorati Tags:
identity, xfn, xhtml

Sponsored links

save money using, phone card

Some plans for MidCOM 3

Posted on 2008-02-05 15:44:26 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to . 0 comments.

MidCOM 3 request flow

MidCOM is the PHP framework used for building sites with Midgard CMS. Over years it has accumulated lots of components and features, and currently weights around half million lines of code. At the same time the design, while being well designed, suffers from having to work around lots of limitations in PHP4 and the old Midgard API.

In preparation for the Midgard Developer Meeting in Linköping, Sweden next week we have been having some discussions on where to go with a new MidCOM generation, and the consensus seems to be a rewrite, refactoring or porting only selected parts of old code.

As a teaser for that, I've attached an initial HTTP request handling flow chart of the planned MidCOM 3 architecture.

Some points of interest:

Together these should make MidCOM a much simpler framework to build with, and make Midgard again (thanks to its C core) one of the fastest CMSs out there, as opposed to being a rather large thing.

We will start a new fresh Git repository to build a proof-of-concept of the new MidCOM framework. After that developers are more than welcome to port components and play with the new system. Looking forward to discussing this in more detail next week!

In related news, it seems the Plone people are rethinking their platform as well.


Technorati Tags:
midcom, midgard, php, tal

Maemo and Midgard go well together

Posted on 2008-02-16 20:24:53 UTC in 58° 23.412 N 15° 39.336 E Linköping, SE to . 0 comments.

We're in Linköping, Sweden for the Midgard developer meeting, and I suddenly realised the Midgard community really likes Nokia's internet tablets. Not only does maemo.org run on Midgard (earlier this week "sideported" to MidCOM 2.8), but many Midgardians are also active Tableteers.

Midgard Tableteers in Linköping

So no wonder over the course of the meeting we saw the maemo application manager display an interesting message: libmidgard2.0 successfully installed.

Midgard 2.0 installed on N800 running OS2008

Expect some announcement about that soon. And about some other things, like MidCOM 3 as well. Initially it looks very promising.


Technorati Tags:
maemo, midgard

Conferences this spring

Posted on 2008-02-16 21:46:37 UTC in 58° 23.412 N 15° 39.336 E Linköping, SE to . 0 comments.

While last autumn was more quiet, this spring seems to have a number of events that I'm going to:

Looking forward to meeting many of you in these events! The July conferences of GUADEC in Istanbul and State of the Map in Limerick sound interesting as well.

It is possible to follow my movements through Dopplr:

Dopplr travel map


Technorati Tags:
ajatus, geoclue, obooe

Podcast on Nikola Tesla

Posted on 2008-02-20 17:09:58 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to . 0 comments.

Nikola Tesla

Tank Riot from two weeks ago has a podcast on Nikola Tesla, a very interesting character behind many of the inventions that enabled the modern age, including AC electricity, radio, and possibly even more interesting things. From the Wikipedia page:

Tesla is best known for his many revolutionary contributions to the discipline of electricity and magnetism in the late 19th and early 20th century. Tesla's patents and theoretical work formed the basis of modern alternating current electric power (AC) systems, including the polyphase power distribution systems and the AC motor, with which he helped usher in the Second Industrial Revolution. Contemporary biographers of Tesla have deemed him "the man who invented the twentieth century" and "the patron saint of modern electricity."

2006 was the UNESCO Nikola Tesla Year. He appeared in that year's stage magician film The Prestige played by David Bowie.

Via Boing Boing.


Technorati Tags:
electricity, future, history, podcast, radio, tesla

Midgard developers in Linköping

Posted on 2008-02-20 17:55:38 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to . 0 comments.

Last weekend a group of European Midgard developers gathered to Linköping, Sweden for the Midgard developer meeting of winter 2008. Over the last four years Linköping seems to have established itself as the place to hold the winter meeting, with summer meetings differing in place. In 2006 we went to Poznan, Poland and in 2007 to Otaniemi, Finland.

Midgard Developers in Linköping

The meeting was very productive, possibly partly due to the fact that "penkkari cruises" forced the Finnish crew to take a cargo ship over instead of a cruise ship.

Topics discussed over the weekend included:

Discussing midgard_collector joins

In addition to talk, the meeting was also quite full of action. MidCOM 2.8 went stable, and the foundation stones for a working MidCOM 3 were laid. And it is fast! Running the full framework with TAL templating included, but without any caching on a news folder containing over 700 unique items generates the ready page in about 0.01 seconds. Not bad!

Alexander Bokovoy discussing the cross-language MidCOM

MidCOM 3 is now being developed in a separate Git repository, and should be considered still very experimental. However, as soon as some metadata features, the toolbar and datamanager are in it should be OK to start porting components over.

Thanks to anykey and the SmallOne household for the hosting!


Technorati Tags:
midcom, midgard

Offline web applications: a technology trend of 2008

Posted on 2008-02-20 18:33:41 UTC in 60° 10.524 N 24° 55.146 E Helsinki, FI to . 0 comments.

MIT Technology Review's 10 Emerging Technologies of 2008 report includes offline web applications as a rising trend. When developing Ajatus, our new P2P personal CRM the offline issue was often in our minds. We even wrote in the manifesto:

Ideas may come to you when you're sitting in a bus, boarding an airplane or visiting a hospital. For a CRM to work the data must be available and editable in any situation.

Having now dogfooded Ajatus for almost two months, I have to say this has been an important aspect. It is powerful to have all your customer and project data with you at all times, and still be able to use it via the familiar web UI.

Ajatus 0.6 running on Fluid SSB

Offline is useful. You can write your notes in every meeting, update them in train, report expenses as they incur. And most importantly, as long as your computer is running, the application is never down. And still, though replication your data will be safe with your peers or the corporate server.

This is aspect even more important when you start running the app on ultra-portable devices, or go outside the industrialized world.


Technorati Tags:
ajatus, offline, web, replication

XMPP publish/subscribe for Midgard and Ajatus replication

Posted on 2008-02-24 14:33:46 UTC in 50° 48.648 N 4° 22.907 E Brussels, BE to . 0 comments.

On the side of FOSDEM we went today to the XMPP devcon held here in Brussels. In there we started formulating our ideas of XMPP publish/subscribe (XEP-0060) based replication for both Midgard and Ajatus.

This post contains very early ideas, but we would be happy to get some feedback on them.

Basic idea

Each Midgard or Ajatus server runs a "synchronization daemon" which is connected to a XMPP server using some JID identity.

The sync daemon registers a set of pub/sub nodes corresponding to the content structure on the Midgard or Ajatus instance:

  • in Midgard: Sitegroups, MgdSchema types, paths (possibly a regexp), approval state
    • /midgard_article/all, /midgard_article/approved
  • in Ajatus: tags

The pub/sub nodes can be set up with some access control rules. For example, Ajatus tags would by default require "whitelist" authorization to subscribe.

When content is changed, the sync daemon gets notified about it (via D-Bus signals in Midgard, and via CouchDb external indexer API in Ajatus). The content object (and immediate children like parameters and file attachments) is serialized into the syndication format and sent onward as a XMPP "pub" leaf. If the object appears on multiple nodes (multiple Ajatus tags for instance), the "pub" leaf is sent to all of them.

XMPP server and the federated network will then handle notifying the subscribers of the nodes about the new leaf.

The subscribers will receive the leaf, and unserialize it to the Ajatus or Midgard database.

Communication between sync daemon and application

The sync daemon should exist as an entity separate from the actual user application. Communication between the sync daemon and Midgard or Ajatus should happen via the application database.

This means that XMPP pub/sub whitelists for Ajatus tags would be maintained in the ajatus_db (non-replicated) database, and the sync daemon would read them from there. The Jabber server credentials would also be stored in the same database.

Information about resources from jabber buddies

User's replication partners are stored as local contacts in the application database. In Ajatus this means "Contacts" and in Midgard "midgard_person" objects. Both storage models have optional JID field.

If JID is marked for a contact, the sync daemon should at startup (or at an interval) try to discover if the contact has pub/sub resources available.

Content transformation in replication stage

While mainly intended for Midgard-to-Midgard and Ajatus-to-Ajatus replication, the same mechanisms could work across different systems.

For this, the sync daemon on the subscribing end should support XSLT transformations before content is unserialized into the system. The XSLT transformation templates should be configurable per subscription.

Hermod / Hermóðr (Midgard replication)

  • "in Norse mythology, messenger of the gods. He was a son of the principal god, Odin, and his wife, Frigg. Known as Hermod the Swift, he was called upon by the other gods when they had a task requiring speed and urgency." - Encyclopedia Britannica
  • Written in Python
    • Using twisted framework or x60br XMPP library
    • using standard Midgard MgdSchema object serialize/unserialize methods
  • How to proof-of-concept before D-Bus? Some watcher in MidCOM? (watcher touches spool file)

PillowTalk (Ajatus and CouchDb replication)

  • Written on Erlang
  • Extendable through plugins
    • Content parsers (Midgard2Ajatus, Ajatus2Midgard)
    • Security
    • CDATA JSON block or convert to XML? (Decision of the content parser?)

Technorati Tags: ajatus, midgard, jabber, replication, synchronization, xmpp

Midgard 2.0 goes alpha

Posted on 2008-02-26 12:50:19 UTC in 60° 9.234 N 24° 52.782 E Helsinki, FI to . 0 comments.

This is a historical moment:

The first 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.

The version 3 of MidCOM web content management components for PHP5 are currently in the process of being ported to the Midgard 2.0 platform.

Good work, Piotras and the team!

Back