- Sending notification when any company belonging to a group is changed. Configured by setting parameter to the group:
NemeinNet,sendNoticeOnChange,email - Notes field for companies
- Extranet user account editing for persons
- Sending email to campaigns
Weblog: Archive
2004-01-01 - 2004-12-31
New features in Nemein.Net Sales
Posted on 2004-03-19 09:49:51 UTC to Openpsa. 0 comments.
Sponsored links
| Microsoft Certification Exams | โนเกีย Nokia มือถือ | Online Project Management | save money using, phone card |
| Reviews มือถือ Mobile All Apps |
TMV switches to MidCOM
Posted on 2004-03-19 19:19:24 UTC to Business. 0 comments.
Most of the site is static content but they are already utilizing some of the nice dynamic features, including an automatic RSS 2.0 feed of their news items.
Leaks and neighbors
Posted on 2004-03-19 20:33:41 UTC to Life. 0 comments.
So now I'm stuck with no shower for at least a week, except for the nearby sauna place.
Joys of living in an old house...
Dashboard: Managing contact relationship
Posted on 2004-03-21 21:11:11 UTC to Openpsa. 0 comments.
- Contacts database
- Sales projects
- Support requests
- Project contacts
With Dashboard Nemein.Net users could very easily display all relevant information about a customer service contact or a sales prospect, showing details like "emails sent by the person", "IRC chats with the person" and "support requests sent by the person" in one simple window.
It might even be possible to query and display this information dynamically when reading email or receiving a phone call from that person.
While Nemein has switched from GNOME on the desktop to OS X, this kind of application would still be interesting to experiment with.
Some documentation on Dashboard is available. The front end applications (email or VOIP client, IM application) tell backend systems to look up information related to a person or concept by sending a cluepacket. Documentation on writing the backend interfaces is available.
Marc Andreessen: Why Open Source Will Boom
Posted on 2004-03-22 15:39:59 UTC to Business. 0 comments.
- "The Internet is powered by open source."
- "The Internet is the carrier for open source."
- "The Internet is also the platform through which open source is developed."
- "It's simply going to be more secure than proprietary software."
- "Open source benefits from anti-American sentiments."
- "Incentives around open source include the respect of one's peers."
- "Open source means standing on the shoulders of giants."
- "Servers have always been expensive and proprietary, but Linux runs on Intel."
- "Embedded devices are making greater use of open source."
- "There are an increasing number of companies developing software that aren't software companies."
- "Companies are increasingly supporting Linux."
- "It's free."
RSS as Business Notification Tool
Posted on 2004-03-23 13:43:18 UTC to Midgard. 0 comments.
"...automated business systems are being retrofitted to generate data in RSS format. For example, Triple Point uses StarTeam for source control and release management... In the past, developers were required to produce email announcements of each source code change; now that process has been automated via RSS."This is an interesting concept. Since RSS feeds are automatically generated by the MidCOM newsticker component, I've started monitoring the news items of our clients and partner companies in my NetNewsWire RSS aggregator.This helps me keep up-to-date with what they are doing a lot easier.
The next logical step would be to take RSS implementation even further in MidCOM and Nemein.Net. Already components like newsticker, photos and rss provide RSS output, but same could be done for discussion, events and many others.
Finland's Regulations on Freedom of Speech on Web
Posted on 2004-03-25 22:42:18 UTC to Business. 0 comments.
The "Application of Freedom of Speech in Mass Media" law can apply even to personal blogs, but is slightly eased for publications that are produced by individuals instead of organizations.
Here are some examples of the restrictions:
Responsibilities
- Publisher must name a responsible editor for the publication
- The responsible editor must be over 15 and not insolvent
- The publication must carry notice on the identity of the publisher and the responsible editor - everybody is entitled to get the information on identity of responsible editor
- Responsible editor can be fined for publishing information that breaks Finnish laws
- All published materials must be stored for 21 days
- Everybody has right to get the stored information if they feel false information has been posted about them or they wish to post a correction
- The publication must carry any notices provided by Finnish government if they are important for saving human lives, health, environment or remarkable amounts of property
Corrections
- If an individual can see himself as having been insulted by a message in the publication, he has the right to get an answer posted in the same publication
- Individuals and organizations have the right to get false information posted about them in the publication corrected
- The correction or answer must be posted without cost and delay
- The responsible editor must help in the technical implementation of the answer or correction if required
Anonymity
- Publisher has the right to keep source of a message anonymous
- Administrator of servers the publication resides on must provide all identification information on a message to Finnish authorities if required
This all brings a heavy burden of responsibility for both the editor of the publication (or mailing list moderator) and the server maintainer. Not only they have to keep logs of many things, but they can also become legally responsible for something published by an external user - for example as a blog comment.
Essentially this means that running a public forum where posts appear without moderator approval is always a risk. This all certainly makes TypeKey sound more appealing.
I wonder how the laws would apply to many of the websites I run. Most of them are maintained at least partially by Finnish citizens, but are physically located offshore.
Some links
Law for Application of Freedom of Speech in Mass Media (Laki sananvapauden käyttämisestä joukkoviestinnässä - in finnish)
Finnish parliament's proceedings over the law (in finnish)
MikroPC column: The Autumn of Censorship (in finnish)
Updated 2004-04-28: Helsingin Sanomat, the main Finnish newspaper ran with the story, although with a sensationalistic approach.
Rides Through Ghost Town
Posted on 2004-03-27 12:13:57 UTC to Motorcycles. 0 comments.
"Motorcycling is a great hobby of mine. I ride all my life and I owned different bikes and I ended with big kawasaki ninja. This motorbike has matured 147 horse powers, some serious bark, it is that fast like a bullet and comfortable for a long trips. I travel a lot and my favorite destination lead through so called Chernobyl "dead zone" It is 130kms from my home. Why favourite? because one can ride there for hours and not meet any single car and not to see any single soul. People left and nature is blooming, there are beautiful places, woods, lakes. Roads haven't been built or repaired since 80th but in places where they haven't been ridden by trucks or army technics, they stay in the same condition as 20 years ago. Time do not ruin roads."
Updated 2004-03-31: We swapped some riding stories with Elena on the Sport-Touring board, and she gave the contact info for Crazy Hohols, an Ukrainian biker club. It would be interesting to meet some local bikers on the trip there next July. Visiting Pripyat also has some appeal...
Updated 2004-03-04: Elena's story is moving up. She was featured on April 1st on USA Today, and has rumoredly been contacted by at least BBC and some film crew for making a documentary. The site itself is up at 1.3 million visits.
Updated 2004-04-28: Aftonbladet is claiming Elena's story a hoax (in Swedish). In addition, Daily Telegraph tells that Chernobyl is becoming a tourism hot spot.
Netcraft on Blogs and Wikis
Posted on 2004-03-31 19:32:19 UTC to Business. 0 comments.
"The current excitement over blogs is curious, since they amount to little more than personal Web pages. Although a standard history of blogging dates the phenomenon to 1997, the key attributes of the blog - a page of selected links and comments in reverse chronological order - can be found as far back as June 1993 on the NCSA What's New site, one of the most popular destinations of the nascent Web world."
Link from Doc Searls.
Jose is Back
Posted on 2004-03-31 23:19:34 UTC to Life. 0 comments.
Also, the photos of his Enfield were simply sexy. Oh well, then we have a new member at Routa MC.
Updated 2004-04-04: For Jose's new life style of short sleep and daily meditation, there are instructions on rating a guru. Via Doc Searls.
Open Source and Usability
Posted on 2004-04-02 11:18:00 UTC to Midgard. 0 comments.
With Midgard, there are several major issues affecting usability:
- Installation is horrible: solution would be to provide prebuilt packages for popular Linux/Unix platforms
- Site setup is difficult: we should integrate sitegroup creation, host creation from template, style creation, site initialization and VirtualHost setting into one simple "Create website" dialog
- Content editing is difficult: managing content is still quite difficult. However, the process on fixing MidCOM AIS usability flaws is going on
Fixes to Authoring Interface System
Usually the Midgard installation and setup is done by a technical solution provider, so the usability issues there are not as urgent. However, AIS is what the end-user sees, making it the prime usability fixing target.Several improvements are being made, or discussed to the MidCOM AIS:
- Back to page: link returning from AIS to the "view" side of the site. With this we can get rid of all the ugly returnurl hacks
- Power User: hiding all confusing settings from non-power users. Power user setting should be shared with Aegir
- Consistent UIs: the user interface for managing all components should be made consistent. Buttons should look the same and behave similarly, and components should share UIs for creating and deleting pages, etc
Update 13:25: Started working on mRFC 0003, "MidCOM AIS User Interface Guidelines". I'll try to get Nico and Kaukola to collaborate on this.
10th Anniversary of Harmaasudet
Posted on 2004-04-04 13:18:00 UTC to Life. 0 comments.
The prize of special "HC Susi" t-shirts and a huge bottle of Koskenkorva was collected by team "Kellareiden kasvatit", captained by Nino.
Feedback received for the contest was mostly very positive, and it apparently worked as a really good ice breaker between the different generations of Grey Wolves. Thanks to meep and Kerttu for making the thing work!
Best speeches were held by Juho and Yaroslav. I especially liked Juho's ironic speech:
"In the beginning the Gods created The Grey Wolves. They were told to oppose things like fantasy, live-roleplaying, cyberpunk, the modern age... <snip long list>Skoll also made a very improvised speech, ending with "I promised to say three words, but I'll only say two: Fuck you [all]".
...While all these battles have been lost, the fighting still continues..."
Arwen was absent, and so her speech was read by Lettu.
The whole event was much more festive than expected, with all participants dressed in their best. Skoll and Luihu looked really cool in their white suits, and Jose in his tuxedo. A tuxedo is certainly something to consider for future cigar evenings.
There are blog entries about the event from Yaroslav and Juho (in Finnish).
After the main event, the party continued at Ateljé, Pub Pete and Highlight, ending somewhere around 5am. When making farewells, we decided with many people to meet again after another ten years.
Updated 2004-04-14: Finally had time to post my photos online. Rambo's photos are also available.
Caucasus Reading List
Posted on 2004-04-04 14:19:46 UTC to Motorcycles. 0 comments.
Other books I've been thinking about include:
- Panttipataljoona (Jokipii, 1968) - Finnish volunteers fighting for German SS in Caucasus
- Hadji Murad (Tolstoy, 1904) - Story of a Chechen warlord fighting with and against the legendary Imam Shamil
Popularizing World Live Web
Posted on 2004-04-04 22:52:47 UTC to Oscom. 0 comments.
- Keiretsu situations - displaying the news headlines from partner companies on a website
- Intranet headlines - displaying latest news items from the public site, running on separate server
I'm currently subscribed to 51 channels with my NetNewsWire. I've found that since starting to get my news updates through RSS my actual web browsing has dropped to maybe 20% of what is was, while I actually get much more useful information than I used to.
Many of the RSS feeds I subscribe to are profilic Connectors, who specialize in sharing information on different IT and web topics. In addition, there are some special interest topics like motorcycling and Change Logs of software projects I participate to. I also follow some special areas like OSCOM and PHP by subscribing to their Planet combination feeds.
The RSS aggregator works on the background, refreshing information from the feeds on a regular schedule. Every morning or lunch break I can go through the overview of new posts, and read the interesting ones.
Quite many blogs nowadays provide the full post content in their RSS feed, so I can read it even offline. For those who don't, pressing enter or clicking the post title opens the story on a new Firefox window.
RSS and the newer Atom are very useful standards. OSCOM should do more to push their adoption in every Open Source CMS. For example, quite many MidCOM components already provide RSS output by default.
When most CMSs and news sites are providing good quality RSS content, getting users on the board should be quite trivial. However, as Jon Udell pointed out, there are still issues left to solve:
- Politics - End users are not interested in whether a feed is RSS 0.9, RSS 1.0, RSS 2.0 or Atom. They just want to subscribe to a feed that works in their aggregator
- Subscription - subscribing to a feed should be easier. All desktop RSS aggregators should be able to support the same URL type for subscription. In addition, all feeds should be available under the same term or icon, regardless of their type. Maybe RSS autodetection and hooking up with the web browser will help here
- Explanation - The concept is new, and so we have to wait until mass media gets it explained to the general public. Before that the message will have to get clearer
- Software - Users will need to find a good, working aggregator for their platform. As Udell pointed out, the web based Bloglines.com service is a good way to get started
Linux Greenhouse goes MidCOM
Posted on 2004-04-06 13:14:06 UTC to Business. 0 comments.
The site design was made by Airton Jordani from loulouejordani.com.
Kirkkonummen Seurakunnat in Midgard CMS
Posted on 2004-04-08 10:12:13 UTC to Business. 0 comments.
On Silence
Posted on 2004-04-13 09:26:41 UTC to Life. 0 comments.
Of course, the sign language alphabet we learned back in commune days to irritate the rest of our flat mates helped.
Year of the Penguin
Posted on 2004-04-13 19:00:26 UTC to Business. 0 comments.
However, "Year of the Penguin"? There have been many of those...
- 1999 - The Year of the Penguin
- 2000 - Could've been Year of the Penguin
- 2001 - Not the Year of the Penguin
- 2002 - The Year of the Penguin
- 2003 - The Year of the Penguin?
- 2004 - The Year of the Penguin
Nick Wreden: Rules for Corporate Blogs and Wikis
Posted on 2004-04-15 13:24:37 UTC to Business. 0 comments.
Despite its critics, knowledge management (KM) has not been over-promised; rather, vendors have under-delivered. Blogs can address the gap between KM promise and requirements by letting local expertise emerge. Heres a good background on blogs and how Lucent is using them in KM.
Updated 2004-04-15: Oops, the guidelines were not actually from AMA. Instead, they were response to AMA's instructions on the matter. Time to remember how to RTFA. ;-)
Taking a Look at SpiderAdmin
Posted on 2004-04-15 18:51:31 UTC to Midgard. 0 comments.
The user interface is also using our NemeinLocalization library. As soon as the language strings are included in the build I will translate them to Finnish.
In addition to translations, the first glitches we've noticed have been the "This is the place where we will put a DocBook created HTML documentation for SpiderAdmin" message and some oddities with move commands.
All in all, very good work! I'll keep this updated on how our "living without Aegir" project with OpenPSA development goes.
A cool little factoid that the original project name "Odin" is still kept in use in SpiderAdmin internals. Very Midgard-like :-)
OpenPSA Project Started
Posted on 2004-04-15 19:08:20 UTC to Openpsa. 0 comments.
- Creating the OpenPSA project website at www.openpsa.org
- Setting up new, clean development database with Nemein.Net nightly build and SpiderAdmin
- Moving localization libraries from under NemeinLocalization to their correct module snippetdirs
- Switching old Evaluation Key system into Testimonials registration system
- Setting up the OpenPSA project at Tigris
- Started collecting beta participants
- Change all instances of Nemein.Net to OpenPSA in the application
- Make first CVS commit
- Add first documentation to the website
- Add first screenshots to the website
- Add initial product descriptions to the website
- Release first beta
- Subscribe the RSS aggregator on website to Kaukola's and Rambo's blog feeds
EU Aims to Make Web Shops Illegal
Posted on 2004-04-16 13:16:44 UTC to Business. 0 comments.
I guess European Union has decided to move Internet back to stone age, then. Competitiveness with American software business, indeed.
It is still not too late to do something.
Link via Kaukola and GNU Project.
Accessible Forms with XHTML Labels
Posted on 2004-04-16 15:33:14 UTC to Midgard. 0 comments.
<form method="POST">
<label for="firstname">First name</label>
<input type="text" name="firstname" id="firstname" />
</form>
This would make the connection between a field and its label machine-readable, enabling easier handling for accessibility purposes.
Also, this mark-up would be slightly lighter to download that the current <div /> solution.
Thanks to Nico for the suggestion.
Label resources
About.com HTML Guide: <label />
XHTML 1.0 schema: Label
DevGuru XHTML Tag: Label
OpenPSA Now in CVS
Posted on 2004-04-16 17:19:22 UTC to Openpsa. 0 comments.
A Real Sunday
Posted on 2004-04-18 18:25:35 UTC to Life. 0 comments.
After the pub visit there was time for cruising leisurely in the suburbs. I eventually ended up watching some aircraft landings at the Helsinki-Vantaa airport and then the exhibitions at the Finnish Aviation Museum.
The museum visit was very nice, with lots of nostalgic planes and photos from the pioneering era of aviation, and the second world war. I was the only customer and it was interesting to wander in the huge, quiet halls filled with all kinds of airplanes.
Having seen the museum, I continued my sunday cruise to the twisty backroads of Vantaa. After some enjoyable riding it was time to return back to Helsinki, and enjoy ice cream in the Seurasaari open air museum.
To complete the picture, I'm going next to the Tennispalatsi megaplex to see if any tickets are available to to premiere of Kill Bill vol. 2, and maybe watch Starsky & Hutch.
Some pictures from the ride are on the Routa MC site.
New OSCOM Interview
Posted on 2004-04-22 14:11:42 UTC to Oscom. 0 comments.
WebDevMagazine: Can you tell me ore about OSCOM. What is the organization aim?
OSCOM has two purposes, marketing and technical. On the marketing side, we aim to raise the public awareness in the availability and feasibility of Open Source Content Management Systems. This is what our first conferences focused on, and the reason why we maintain the CMS Matrix. On their own the different OSCMS projects do not have the weight required for reaching the mainstream users. However, with a central organization like OSCOM it is possible.
On the technical side we aim to improve the different Open Source CMSs, and get them to interoperate. We see that there are different phases of Content Management implementations, and at some of these phases a different CMS might be the optimal solution. Implementation of common standards makes it easier for users to switch It also reduces the need to waste effort by reinventing the wheel across all the projects.
The main activity on the technical side is arranging interoperability implementation events, Sprints, where people from different Open Source CMS projects come to implement some common standard or tool into their project.
To support this OSCOM also hosts some Open Source tool projects, the latest of these being the Kupu XHTML editor and the BXE XML editor. The criteria for hosting such projects under the OSCOM brand is that they must be useful across many or all CMS projects.
We also provide a news aggregation system focused on topics of Open Source CMS interest named Planet OSCOM.
WebDevMagazine: How can become a member of this organization and are you interested in covering new countries?
Members are selected from people participating actively in the OSCOM activities. The selection is done by the members of the association. To get involved with OSCOM, the easy first steps are:
- Subscribe the OSCOM mailing list
- Start providing an OSCOM topic RSS feed from your website for Planet OSCOM
- Participate in OSCOM events or projects
- If you work with an Open Source CMS project, start working on implementing some of the OSCOM-endorsed standards and tools
WebDevMagazine: Is the Microsoft an enemy for you (OSCOM)
As the provider of a proprietary CMS system, they certainly are a competitor to all the Open Source Content Management System projects.
However, with the arrival of .Net and Web Services Microsoft also seems to be opening up to common standards and interoperability. If this trend continues, Microsoft could even become a de-facto partner of the OSCOM community.
WebDevMagazine: OSCOM meeting next year in Bulgaria, is this possible?
Well, we're certainly interested in finding good venues for the OSCOM Sprints and conferences. Eastern Europe could be a good place for such event, enabling us to tap into the large local Open Source developer community.
The key for arranging such an event would be to find a good local organizer partner, or arrange the OSCOM event as a track in an existing conference. This way we can keep the logistics at minimal and instead focus on putting together as good program as possible.
WebDevMagazine: Please tell me more about you (hobby, ...etc)
I've been working with the web since 1994, and for the last six years have been involved with the Midgard CMS project. In addition, I run my own Open Source consultancy company, Nemein.
My key to taking some time off the Internet is motorcycle traveling. We have a small group of friends doing some annual motorcycle adventures. Last summer we traveled in Western Russia and Estonia, and this summer's plan is to head to Black Sea and the Caucasus mountains. We maintain a website with photos and stories at www.routamc.org. I ride a British Triumph motorcycle
Updated 2004-04-26: Looks like the interview is now up on spisanie.com, but only for subscribers so far.
Pictures from Pamplona
Posted on 2004-04-22 15:28:58 UTC to Life. 0 comments.
We went there in 2001 to attend the bull run festival held there every July. It was odd to see from Rodrigo's photos how empty and sleepy the city looks like outside the San Fermin festival.
Our interrail trip through Europe to the festival was one of the really good ones. We slept mostly in parks, and had lots of interesting discussions with strangers over beer. We even got thrown out of train couple of times, and crossed the Pyrenees in moonlight in a taxi, with Moonspell's Wolfheart playing.
A short-cut on the trip took us from Copenhagen's Christiania to Linz, Austria and to Verona. When finally in Pamplona most of our gear was stolen in the first night as we were sleeping outside near the back wall of the bull fight arena.
Losing our luggage was not really a big deal, and so the trip continued with less to carry. However, we learned the very useful Spanish phrase "Los ladrones cogieron mis calzoncillos" (the thieves stole my underwear).
After running with the bulls on two mornings, and spending several days in the intense festivities of Pamplona, we travelled to the small city of Plasencia, Extramadura to meet the local Korean martial arts teacher.
I have some pictures from the trip on my site.
Some OpenPSA TODOs
Posted on 2004-04-22 15:58:53 UTC to Openpsa. 0 comments.
- OpenPSA Calendar
- Hide starting and ending hours for multi-day events of the start/end date is not the one being displayed
- Differentiate events that allow overlapping from regular events in some way (for example, blue instead of red bar in the week view)
- OpenPSA Sales
- Country and state/region are missing from Campaign CSV exports
- Add option to display persons that have been removed from a campaign in the listing
- Show additional attributes (like datamanager parameters) of the MidgardEventMember record in the listing and CSV export
- OpenPSA Core
- Make the auth_conf values host_override and prefix_override configurable to enable single sign-on between OpenPSA and other Midgard sites
Supporting International Characters
Posted on 2004-04-26 16:19:27 UTC to Oscom. 0 comments.
Freedesktop.org runs the Project UTF-8, a resource for advocating unicode support in Open Source software. Maybe OSCOM should also do something in this space.
Joel Spolsky has published a short how-to on what every programmer should know about unicode. This is a very good starter on working with different character sets, as is Sam Ruby's i18n survival guide.
The Midgard CMS project has supported UTF-8 since late 1999, but still ships with latin-1 as the default. While this will change with the 1.6.0 release, a common habit of rawurlencode()ing document names can still lead to funny-looking URLs, as can be seen on the www.silja.ru site. This problem is fixed by MidCOM's requirement of stricter URL policy.
JPEG hassles
Posted on 2004-04-27 08:37:50 UTC to Midgard. 0 comments.
However, even after this the thumbnails I generated were ridiculously big (500KB instead of 4KB). After some investigation I noticed that some color profiles had been included to the image files. Again, convert was able to fix this.
The options used here were:
-colorspace rgb +profile "*"
Bug has been filed on adding support for these to the image datatype in MidCOM datamanager.
As an addition, it looks like JPEG is now having patent issues, like the GIF format some years ago. Time for inventing a patent-free photography format?
B2B Advocacy Kit
Posted on 2004-04-27 09:12:10 UTC to Business. 0 comments.
B2B websites must support a more complex buying process than B2C sites. Three key goals are to make a buyer's shortlist, offer a downloadable advocacy kit, and build a reputation for great service.
Some of these ideas, combined with business blogging could be the way Nemein will communicate in the future. We're an Open Source consultancy, and helping potential clients convince their bosses on the viability of OS software is very important.
Open Source Public Relations
Posted on 2004-04-28 17:45:57 UTC to Business. 0 comments.
- IRC log: How open source projects can improve their PR
- Getting good PR for your Open Source project
- The Care and Feeding of the Press
Motiva Runs MidCOM
Posted on 2004-04-29 10:03:46 UTC to Business. 0 comments.
The server signature is also quite interesting:
Apache/1.3.29 (Unix) Midgard/1.6.0/Repository/MultiLang PHP/4.2.3
MidCOM provides many nice new features for the site, including:
- Clean, pronounceable URLs
- "Edit this page" functionality
- RSS news feeds
- New site components
First OpenPSA beta available
Posted on 2004-04-29 17:40:09 UTC to Openpsa. 0 comments.
We're mostly interested in the following beta testing areas:
- Installation hurdles
- Confusion with how to get started
- Possibly new translations
- Install Midgard
- Install OpenPSA
- Log into OpenPSA Manager
- Create a new company
- Initialize OpenPSA for the company
- Log into OpenPSA
- Create users and grant permissions
- Start using the system
Another Good Vappu
Posted on 2004-05-03 09:23:01 UTC to Life. 0 comments.
What we did first time this year was to outsource the picnic food production to a local Subway, so we could concentrate on more important (and usually Koff-branded) affairs.
The sunday was spent recovering, with visit to boffer swordfighting session, motorcycle trip down the Kuninkaantie to Porvoo with a stroll on the riverside enjoying a pipe, and finally some evening sauna in Saunabar.
Thunderbird 0.6 is available
Posted on 2004-05-03 09:44:50 UTC to Desktop. 0 comments.
The Mac OS X downloadable required some manual renaming before it worked, but it seems to be fixed now.
What remains to be seen is if the new version fixes the broken Offline extension.
Dip in Midgard Usage
Posted on 2004-05-03 11:12:38 UTC to Midgard. 0 comments.
- Midgard 1.x is starting to show age. The framework was designed back in 1998
- Code quality in 1.6.0 alphas and in some major modules like Aegir is really bad
- The competition is getting tougher
- Installation is still horribly difficult
Also, if we get 1.6.0 stabilized in this weekend's Poznan meeting, things should look a lot brighter, with bunch of new things:
- Apache 2.x support
- Integrated PAM authentication support
- UTF-8 as default encoding
- Multilingual content support by default
- MidCOM and Aegir bundled as default
- Datagard, the new database installer
Updated 13:30: Tarjei gave his list of issues:
- There are too many administrative user interfaces, but they all share the same weaknesses. Solutions could be:
- Unify the UIs to Aegir 2 and MidCOM 2
- Add WebDAV support to make development more file-based
- Aegir* and Nemein* libraries are too hard to access, making it difficult to build on top of them. Solution:
- Start using PHPdoc for documenting the libraries and get an unified backend OO framework
- Demand PEAR coding standards
- Midgard does not support read-level access controls
- Midgard must get closer to the PEAR and PHP communities
- Midgard lacks a package format that would enable deleting packages
Roadmap to Web Standards
Posted on 2004-05-03 12:13:31 UTC to Oscom. 0 comments.
We've worked on migrating our projects to standards-based design since last December, and the results look quite good. The only major issue is the mark-up produced by our WYSIWYG editor. To fix this, we could either start using OSCOM Kupu, or run the content through HTML Tidy.
Working with Build Buddy
Posted on 2004-05-04 09:30:04 UTC to Midgard. 0 comments.
Ximian Build Buddy is a tool for building binary packages for different Linux distributions.
After reading all documentation available, I decided that Build Buddy is the right tool for publishing our Open Source software which has been created in the last years. A perfect test object is the Midgard Application Server for which several people have contributed specialized packages for their systems, but no official binary releases exist where the RPM build does the same as the Debian installation, etc.
In addition to the actual tutorial, I look forward to seeing the packages he will produce.
New Features in OpenPSA Support
Posted on 2004-05-04 13:57:24 UTC to Openpsa. 0 comments.
- Ticket locking: edit view displays if somebody else is editing the ticket
- Archiving of old closed tickets to separate topic
- SLA handling: notifications if ticket is due to be handled. The service levels can be configured on per-type basis, but can be changed for individual tickets

Lock and SLA notification display in ticket list:

Midgard's 5th Anniversary - A Better Web for 5 Years
Posted on 2004-05-05 18:47:45 UTC to Midgard. 0 comments.
The 5th anniversary meeting will be held in Poznan, Poland. We're going there tomorrow with the whole Nemein team.
Now is the time to get a special Midgard 5th anniversary t-shirt and raise a beer glass for the project :-)
OpenPSA 1.9.0 Released - Open Source Management Software for Consultancies
Posted on 2004-05-08 15:03:41 UTC to Openpsa. 0 comments.
The OpenPSA is suitable for consultancies and service organizations ranging from 1 to 400 users. The software package is now available in English, Finnish and Italian, and it is easy to translate to other languages. Support is available from the OpenPSA community, and commercially from Nemein.
In addition to regular corporate usage, the OpenPSA also supports the possibility to provide the system as a hosted Application Service Provider solution. The software can be configured easily to support the service provider's brand image with colors and logos.
OpenPSA 1.9.0 is available from http://www.openpsa.org/download/
OpenPSA runs on the LAMP (Linux, Apache, MySQL and PHP) platform using the Midgard Framework. Midgard is an Open Source Content Management Framework powering thousands of sites ranging from simple corporate intranets to major eGovernment portals.
Development of the OpenPSA package is coordinated in the Tigris.org Open Source community. The development resources and issue tracker can be found from http://openpsa.tigris.org/
More information:
OpenPSA Projecthttp://www.openpsa.org/
Henri Bergius, Nemein
henri.bergius@nemein.com
+358-20-198 6032
Commoditizing Information Technology
Posted on 2004-05-11 18:09:03 UTC to Business. 0 comments.
Other companies are finding that commoditization is a great weapon to use against an archenemy. Sun Microsystems, for instance, is heavily promoting StarOffice, its inexpensive open source alternative to the ubiquitous Microsoft Office. Sun knows that if it can commoditize basic business apps, it can begin to break Redmond's stranglehold on the PC desktop.
The same pattern can be seen in the content management scene, where Open Source CMSs are driving the prices of a CMS solution down. This is visible at least in Finland, where several proprietary CMS vendors seem to be ready to forgo any license prices to just distribute their app.
Hopefully our OpenPSA package can do the same to the Professional Services Automation scene.
Via Scripting News.
Open Source Success Factors
Posted on 2004-05-11 18:16:09 UTC to Midgard. 0 comments.
- rapid release schedule
- regression tests
- do one thing well
- avoid over-design
- a central vision
- documentation
- avoid standardsism
- up and running in ten minutes or less!
- developer responsiveness
- easily update-able wiki pages
Points like these are important as we restructure the Midgard Project to address recent popularity concerns.
Via Gregor J. Rothfuss.
Back from Poland
Posted on 2004-05-11 18:31:54 UTC to Life. 0 comments.
The actual Midgard developer meeting started in friday afternoon, and continued until sunday. There was much piwo and good discussion. Especially Alexander's Ragnaroek presentation was impressive. Hopefully he will finish the white paper based on session notes soon. We also enjoyed some Cuban cigars to celebrate Kaukola's graduation. The local restaurants like Sphinx and Ali Baba were quite nice. Poland is certainly the place to go for eating ;-)
Poznan had a very nice looking old city, but unfortunately there was little time for tourism. Maybe in June, if a project proposal works out.
On the return trip we picked up Luihu from Berlin and drove 22 hours straight to Stockholm. From there we took the Midgard-powered ferry back to Helsinki. Sauna on the ferry was excellent medicine for aching muscles from the long drive. The Land Rover worked again quite well as a road trip vehicle, despite having to change a tyre in Denmark at 5am.
Persistence of Free Software
Posted on 2004-05-17 17:32:06 UTC to Oscom. 0 comments.
WordPress is Free Software. Its rules will never change. In the event that the WordPress community disbands and development stops, a new community can form around the orphaned code. Its happened once already. In the extremely unlikely event that every single contributor (including every contributor to the original b2) agrees to relicense the code under a more restrictive license, I can still fork the current GPL-licensed code and start a new community around it. There is always a path forward. There are no dead ends.
Movable Type is a dead end. In the long run, the utility of all non-Free software approaches zero. All non-Free software is a dead end.
Via Miguel de Icaza
Strategies for Open Source Adoption
Posted on 2004-05-17 18:38:41 UTC to Business. 0 comments.
For instance, OSS offers enterprises the opportunity to be more self-reliant through source code modification. It allows incremental project and upgrade schedules, free rein in integration decisions, and direct interaction with the OSS community. It creates the opportunity to implement projects in a way that is consistently mindful of enterprise goals, rather than the goals of a proprietary software vendor. OSS allows enterprises to select from a broader range of hardware and software vendors and service providers than proprietary solutions. For these and other reasons, the pace of Linux and OSS adoption continues to accelerate.
Via Slashdot
Over 200 OpenPSA Downloads
Posted on 2004-05-17 18:59:07 UTC to Openpsa. 0 comments.
All in all, not too bad for a first public release of specialized server-side business software.
Most referrals came from Freshmeat, Midgard Updates and Newsforge.
New Blogs and Employees
Posted on 2004-05-18 15:13:40 UTC to Business. 0 comments.
I almost got my hands on something I'm familiar with, PHP-code. Bergie had a meeting and I was doing some debugging and fixing with Kaukola though I learned that it's not something to tell to a customer. The correct word was deploying or something...
The eventual plan is to activate the Midgard community to build up an active Planet Midgard resource, much like the one used by the GNOME community. Blogs, or in this case, Plogs are a great way to keep the community aware of new developments.
Juhana is a computer engineering student from Helsinki Polytechnic, and has worked previously as a grave digger. The plan is to familiarize him with Midgard and MidCOM in the next few weeks, and then give him actual client projects as the summer holiday season begins. We did the same process with Kaukola, and it seems to have worked well. ;-)
Cell Phone Down
Posted on 2004-05-18 16:19:51 UTC to Life. 0 comments.
What makes the situation increasingly funny is that the customer service lines of this telco are blocked in phone booths, which are operated by another telco. Good luck trying to fix the problem, I guess...
This makes me think how handy would a combine SMS/instant messaging system be. If I'm online, the messages would go to my computer, and when offline to my cell phone. With scenario like that this would've been a complete non-issue.
Multimedia messages (MMS) already have a system like this where people who don't have a MMS-capable cell phone can receive their messages through a web interface.
Explaining RSS/Atom Syndication
Posted on 2004-05-21 06:56:58 UTC to Oscom. 0 comments.
As an analogy, the news reader acts like a customizable newspaper. You can pull a variety of content from a growing number of sources into one place, to be read however you choose. Sources like major news media outlets (BBC, Reuters, Washington Post) to non-news content providers (Apples iTunes Music Store, the Government of Canada, USGS World Earthquake updates) to smaller independent voices (BoingBoing, VanEats, Sidesh0w). The only stipulation is that the source must provide a feed; many are.
Both RSS and Atom are content management standards recommended by OSCOM.
Updated 11:28: There is now a more linking-friendly URL to the description at http://www.mezzoblue.com/subscribe/about/
Economist on Homebrew Coders
Posted on 2004-05-21 10:47:25 UTC to Business. 0 comments.
Before Henry Ford unleashed the practice of mass production on the world, every little town had a few dozen artisans who made the lives of citizens easier. A cobbler made the shoes, a tailor sewed suits and a carpenter built furniture. Mass production sounded the death knell for many specialist craft jobs, and the rise of computerised supply chains finished off most of the rest. But now, a century later, the trend is reversing itself. The new craftsmen do not stitch leather, cut cloth or saw wood: instead, they write software.
Via Ranchero Software.
I've thought for quite a while that small teams of developers collaborating with each other by using Open Source software can create much better solutions than huge monolithic organizations. This was also a central theme in Eric Raymond's Cathedral and the Bazaar.
Some OSCOM Site Updates
Posted on 2004-05-21 12:43:03 UTC to Oscom. 0 comments.
- MidCOM has been upgraded to the latest 1.3.0 release
- Aegir has been upgraded to latest 1.0.3 nightly
- Removed unnecessary buttons from the "Edit this page" editor and added button for inserting images
- HTML <title />s on both OSCOM and Kupu front pages are now more descriptive, as supported by midcom-template
- CSS has been fixed to show correct font size for tables also on IE
- Planet OSCOM now has a handy sidebar, including information on how to subscribe to it
- Board listing has vCard and FOAF output
In addition, the new Kupu logo was added to the kupu.oscom.org layout earlier.
Style and Accessibility for HTML Forms
Posted on 2004-05-22 08:24:41 UTC to Midgard. 0 comments.
The form styling templates provided in the tutorial utilize two HTML form-specific elements for defining the structure of the form: label and fieldset.
For usability and accesibility reasons, every form element on a page should have an associated label. Not only do labels let you focus a form element by clicking on its label text (no more fiddling around clicking on the exact circle that is the radio button), but they enable non-visual browsers to create an association between the label text and the form element, allowing each distinct item to be more readily identified.
We have been looking at making the MidCOM editing forms more accessible. This solution is starting to look really good. Time to post a bug?
Examples like the columnar form also throw Rambo's notion that OpenPSA couldn't be built using MidCOM datamanager because it uses very strict form layouts out of the window.
Updated 9:56: Posted bug #50 to get MidCOM datamanager to support this way of building forms.
Updated 2004-05-24: Torben accepted this enhancement into the roadmap for MidCOM 1.4.0
Story on Vis
Posted on 2004-05-24 14:47:52 UTC to Life. 0 comments.
The BBC article mostly concentrates on the British historical aspects of the island.
Vis, nearly thirty miles south of Split off the coast of Dalmatia, has had an interesting half century. It was where Tito made his headquarters in World War II: soon afterwards, he seized control of Yugoslavia, which he ruled autocratically until his death in 1980.
Via Volodja Vorobey.
The Routa MC website has bunch of photos from the Summer Source event.
Hopefully there will be opportunities to visit the island again...
CMS Collegiality - A Practical Approach
Posted on 2004-05-24 17:16:48 UTC to Oscom. 0 comments.
The idea with collegiality is that badmouthing and competing in cut-throat fashion is not productive. What the competing systems should do instead is evaluate each others' strenghts and weaknesses objectively and embrace common protocols and standards for interoperability.
This interoperability would enable users to build their own "Frankenstein CMS" by selecting best building blocks from different Open Source CMSs, or to replace an old solution as their needs evolve.
What would then be good interoperability targets? For example, to be honest, the standard discussion forum component for Midgard CMS sucks. Why are people not using phpBB instead, then?
The reasons for this are quite simple. While both run on the LAMP platform, it lacks integration in several areas:
- It doesn't use Midgard's layout templates
- Features like "Latest comments" or "Comments on this page" are difficult to pull from phpBB into a Midgard page
- User accounts and permissions have to be managed separately
Layout management
Keeping layouts synchronized between different systems used to be difficult. However, as the new school of standards based web design is gaining popularity this problem can finally be solved.Web site components do not have to carry any layout information, just provide a needed set of <div /> elements. The actual layout can then be loaded dynamically as a separately and centrally managed CSS file.
Of course, the problem here is that every CMS and web script will still use its own set of class names and IDs. But maybe some conventions can be developed, like has been done in the CSS Zen Garden.
Comments listing
With the advent of syndication formats like RSS and Atom, sharing news or comments listings between different servers and CMSs has become really easy. The only thing we really have to ensure is that all the different systems provide RSS feeds of their content, support RSS auto-discovery and make it easy to aggregate content from other sources into them.This way a news posting done in the Midgard newsticker could easily list related posts from a Planet feed, and provide a "comment on this page" functionality that is actually served by phpBB.
User management and authentication
Sharing users and groups across different systems is not easy. While some universal and "proper" solutions like LDAP and Liberty exist, they are generally too heavy to be practical. Centralized solutions like Passport and TypeKey are also ruled out because CMSs should be able to work self-sufficiently.There have been some more lightweight but language-specific solutions like PHP-Universal, but these are not interoperable enough for OSCOM purposes.
FOAF import and export could be one way to share information about user accounts across systems. FOAF is an RDF-based XML format for describing people and their relations, which would sort also group and permission sharing. However, it doesn't solve the question of single sign-on.
Link and media management
Another typical problem is handling connections between links and media files between different systems. For example, if images used on a Plone site are managed in Midgard's photo gallery, how to enable users to select them in Plone's content editing UI?The Kupu XHTML editor team has a good approach here. As their editor is used in several different CMSs, they had to come up with a CMS-agnostic XML format describing images and links available for the editor. These XML files could easily be pulled from all different CMS and web scripts running on the server and and parsed by Kupu into a nice "Insert image" dialogue.
This format should be made a CMS standard endorsed by OSCOM.
Wrap-up
The basic premise here is that interop between Open Source CMSs and web scripts is possible and can bring huge benefits for the end-users. However, the interop standards should be lightweight and easy to implement. In addition, they should still allow the different systems to stay self-sufficient.Supporting standards well could also gain lots of positive attention for a CMS project, much like WordPress is now experiencing with Movable Type migrations.
OSCOM has a conference coming in fall. Maybe there could be a Sprint session to expand these ideas.
OSCOM's Challenge Loop
Posted on 2004-05-24 19:06:30 UTC to Oscom. 0 comments.
For example, the Midgard RSS aggregator used to suck until there was proposal that Planet OSCOM could be implemented with another solution. This lead me to improve the aggregator to a level where it works acceptably well.
From #oscom:
daveb: darn! doesn't seem to have category-level feeds. I'll have to fix that.
gregor: hehe
gregor: i like how this forces us all to improve our wares
gregor: ask bergie sometime
bergie: well, there is always the challenge mentality in positive sense.
bergie: "Fix your solution or I'll implement it with *my* CMS"
Similar challenge from Bob Doyle to implement the OSCOM 3 site with skyWriter was what lead us to the Frankenstein CMS concept in the first place.
Indonesian Midgard Blog
Posted on 2004-05-25 17:56:31 UTC to Midgard. 0 comments.
It is very nice to see NGOs deploy Open Source CMSs, or more specifically Midgard. These organizations have much to gain from efficient communications, and Open Source is the cost efficient way to accomplish that. Open Source is also ideologically closer to many NGOs than proprietary software.
Another thing about NGOs is that they also seem to be giving back to the community by sharing their experiences and documentation. The Wilderness Society documented their deployment into the NGO Geeks website.
Thanks to Uung H.R. Bhuwono for informing be about the WALHI blog.
Tactical Tech is working to bring NGOs and the Open Source community closer to each other. Their Summer Source event brought Open Source developers and NGO techies together to learn and discuss common problems. They also package NGO-in-a-box, a distribution targeted at providing the whole NGO software environment with Free Software.
On CDG Terminal 2E Collapse
Posted on 2004-05-26 15:39:38 UTC to Life. 0 comments.
What makes this tragedy a bit more personal is that I spent six hours in the terminal on my February trip to South Africa, and was quite impressed by the futuristic architecture:

Nat Friedman writes in his blog:
An architect in Cambridge, Brad Bellows, is quoted as saying: "We don't want to purge the world of future Golden Gate bridges, Notre-Dame cathedrals, and Concordes. It should not be lost in the aftermath of its failure that Terminal 2E was a gorgeous piece of work."
Having read Lost Europe: Images of a Vanished World last week I can only echo that. So much great architecture gets destroyed either in wars or in the name of progress.
Spread of the Creative Commons
Posted on 2004-05-27 19:19:09 UTC to Business. 0 comments.
To celebrate these developments, my website is now available under the Creative Commons Attribution-Sharealike license 2.0. This can be identified in the "Some rights reserved" link in bottom of each page, and in machine-readable RDF metadata included in the pages.
At least the mocCC extension for the Mozilla Firefox browser identifies my site licensing correctly:
Apparently, not everybody is completely happy about the new licenses. Luis Villa writes:
Was cool to see that Creative Commons released new licenses, and I updated my stuff, but there is no longer an option to do non-attribution licenses, which makes them fairly non-free, DFSG-wise. That is unfortunate.
DFSG is the Debian Free Software Guidelines, a set of rules on what kind of software licenses can be allowed to the Debian GNU/Linux distribution.
RSS Feed of Midgard-User Posts
Posted on 2004-05-30 16:55:06 UTC to Midgard. 0 comments.
Direct URL to the Midgard-User RSS feed is:
http://rss.groups.yahoo.com/group/midgard-user/rss
Thanks to Dave Winer for notifying that Yahoo! Groups now provide RSS feeds for all public group discussion lists.
OpenPSA Campaigns Support Event Registrations
Posted on 2004-06-01 13:40:14 UTC to Openpsa. 0 comments.
To support this, a type selector was added to the OpenPSA campaign editor:

Success of WordPress: PHP vs. Java
Posted on 2004-06-02 12:36:30 UTC to Midgard. 0 comments.
One reason is that PHP provides a lightweight way of building efficient web applications. Russel Beattie writes:
Once again I ask - why is Java web programming not keeping up? Why are Java web projects so bloated (I've got 5+MB of .jar files in my current web project and I think more are coming). Why are the pages so difficult to set up, maintain. Why do Java programmers insist on putting more logic in standard Java classes that make me have to touch ant, wait for compile and many times reboot my web server in order to test?
I think it's because PHP programmers want to get stuff done and Java programmers are geeks who want do stuff the "right" way. I'm getting sick of being in the latter camp.
Another reason is that WordPress is quick to set up and provides lots of features out-of-the-box, as noted by Matt Croydon:
It's set up for mutli-author blogging out of the box. It does trackback, pings weblogs.com, and does all of the basic things that I can think of out of the box
Harry Fuecks found some interesting design decisions in WordPress as well:
What interests me about Wordpress is the decisions taken in it's design, such as using using PHP itself as a template language, backed with HTML rendering functions. Classes come into play when dealing with "architectural domain" issues such as XML-RPC and i18n.
Using plain PHP and the Midgard Style Engine for templating has been the approach I've advocated for the Aegir community after we ran into scalability issues with FastTemplates.
Positioning a Consultancy on the Web
Posted on 2004-06-08 07:52:53 UTC to Business. 0 comments.
While its tempting to project a grandiose image of being a large multi-faceted company which is internationally sought-after, the problem with doing so is that you miss out on a lot of smaller work since its assumed youre too expensive. If you are in fact a large company, the smaller work might be of little concern. If youre not and you enjoy working on projects that require less of your time, then you may wish to reconsider the message youre putting forward. The market is large, and getting larger; there is a need for all levels of skill and experience.
These are good points as we're preparing to redesign the Nemein corporate site. Nemein is now purely an Open Source consultancy focused on Midgard CMS and OpenPSA development and deployments, and so the site should match that.
Updated 18:00: Stopdesign's recently redesigned corporate site has lots of good ideas that we will most likely utilize in the nemein.com redesign. These include a nice portfolio and a page explaining the company's philosophy.
More specifically, our site should feature:
- Interconnected solution descriptions (content management, project tracking, ...) and case studies
- Personnel bios connected to personal blogs and a "Planet Nemein" aggregator
- Corporate principles area which explains our model of working; outsourcing, Open Source, standards, security, etc.
- Partners area where we list all the companies we work with. Communities like OSCOM, Midgard Project and Linux Greenhouse should also be mentioned
Some Caucasian Visa Research
Posted on 2004-06-08 13:23:09 UTC to Motorcycles. 0 comments.
The planned travel route is:
Of these countries, I will need a visa to Russia, Ukraine, Georgia and Armenia. Unfortunately only the visas to Russia and Ukraine are available from Lähialuematkat, and take 12 business days to get. Georgian and Armenian visas need to be applied to in embassies of those countries.
The closest Georgian embassy is in Moscow. The travel bulletin on Georgia issued by Foreign Ministry of Finland claims:
Finnish citizens require a visa for entry. Visas can be bought from the airport when entering the country. Visas can also be bought from land borders of Georgia.
However, I'm inclined to doubt this. Especially as Georgian embassies in UK and USA don't say anything about it.
I guess the best course of action is to apply for Russian and Ukrainian visas now. I should also get in touch with both the Georgian embassy in Moscow and my Georgian contacts from Summer Source, Nata and Taya.
I'm not currently sure of whether to skip Armenia completely. While they sell visas over the web, the travel bulletin on Armenia tells that the border between Armenia and Turkey is closed. The history of that country would be very interesting, though.
While researching this, I found a Finnish travel journal of a similar trip done in 2002 with a car. Interesting story which also brings hope for actually accomplishing all the required paperwork. However, they also encountered some red tape:
After the good roads, tourists and gorgeous mountains of Turkey we crossed the Georgian border at night. The crossing involved a collection of dubious payments and intense arguing with bribe collecting border officials. (typical border crossing fees in East Europe include disinfection fees, road taxes, registration fees, car fees, fees for printing out documents, fees for the official to stamp a paper, fee for the border guard to open the final gate...)
So far I've never had to bribe anybody when traveling in East Europe, but maybe I've been just lucky. Most border officials and cops also seem to consider my motorcycle so cool that they don't bother with bribes.
If everything goes well, the trip will start directly after GUADEC. Looks like a group of my friends will come to Saint Petersburg for couple of days of good time, and to say farewells. We had lots of fun on similar trip to escort Jose to his Asian tour.
Updated 18:00: None of the embassy phone numbers I've found online seem to work. Hopefully my email to Nata and Taya gives some leads, otherwise it will be up to trying to get working numbers from my telco's number service.
Updated 2004-06-23 16:15: Taya sent some information on this:
georgian visa is available at border, and it costs 2 times more then if you take it somewhere else, . it's about 80 USD at border and must less in georgian consulate.. so i think you should drop by georgian embassy in moscow..
Thanks!
Take the Web Standards Survey
Posted on 2004-06-08 22:51:17 UTC to Oscom. 0 comments.
From their blog entry:
Here is your chance to let our project team members know who you are and which challenges you encounter when working with or using web standards.
WaSP deals with the client side standards of web, while OSCOM deals with the server side standards. Both are important for building scalable, accessible and enduring web solutions.
Bonus points to WaSP for providing Midgard as the second example of a content management system in the survey.
Via Mezzoblue.
Sailing on Viking Ship in 2001
Posted on 2004-06-08 23:37:54 UTC to Life. 0 comments.
The voyage started from the ancient castle in Viborg. After Visotsk where all necessary papers were signed, Heimlosa Rus took course to Finland. Good favorable wind allowed to cover 40 sea-miles and next morning we came to Lapuri. In 1976 wrecks of a ship were found there and then they served as a model for the Heimlosa Rus. After 6 years of sailing around Europe the ship came back home.
The captain's notes on the 2001 trip can be found from the project site. In addition, I have bunch of photos online.
I was originally planning to participate in the 1998 trip across the mediterranean, but couldn't because of too much work. In 2001 I also had to leave the ship already in Loviisa because of the trip to the Pamplona bull run.![]()
Sailing on Heimløsa Rus was very memorable, and reading about it got me to miss the sea again. Time to talk again with Mikael about a sailing trip...
Open Source Consulting for the Government
Posted on 2004-06-09 15:33:53 UTC to Business. 0 comments.
Here in Finland the government has been pushing Open Source for a while already.
The Ministry of Finance started an Open Source examination project back in 2001, and made openness of code and interfaces a recommendation for governmental information systems (also in Finnish).
In addition, the Ministry of Interior is funding the Finnish Center for Open Source Software (COSS), an Open Source advocacy group.
The number of areas where Open Source products and solutions are applicable, is increasing steadily. COSS aims at recognizing the key sectors where needs and possibilities for Open Source are most urgent, and directs its efforts towards them.
COSS contacted me last week, and we will have to see how Nemein could work together with them. Cooperation with Open Source business incubators like Linux Greenhouse could also be interesting.
Midgard has already made some inroads to government use, including running the New Zealand eGovernment portal (see case study).
The Other Side of Pitkäsilta
Posted on 2004-06-09 16:00:54 UTC to Life. 0 comments.
The album has many snippets of information on Kallio in Finnish, and features old photos from beginning on 20th century, with comparisons to how Kallio looks today.
Paska-G's Sprint Rally
Posted on 2004-06-10 22:08:22 UTC to Life. 0 comments.
The rally will start tomorrow from Helsinki and hopefully end up to Hammerfest, Norway, near the North Cape. Of course, with such cars nothing will be certain.

Our car, dubbed Muerte Despacio is a black eighties Fiat Uno. We painted the car yesterday, with the Paska-G logo, red stripes, flowers and flames (courtesy of Kerttu).
If the car holds up, we should be back around sunday. But before that there should be a reasonable number of adventures, poetry in west Finland and swim in the Arctic ocean.Each car's team will be maintaining a travel log via SMS:
The SMS gateway has shown a tendency of crashing, but Kaukola has promised to monitor it over the weekend. Thanks!
At the time of writing, weather is +6C in Hammerfest. You can monitor it with this:
Updated 2004-06-14 11:06: The Sprint ended yesterday. We won. When the SMS gateway worked it was very cool, but there were some stability issues.
Paska-G's Sprint is Over - We Won
Posted on 2004-06-13 14:31:57 UTC to Life. 0 comments.

The race was at its best when we had some very tight chase scenes with the Fc Smurffit team. Especially the turning point in Hammerfest was exciting.
All cars finished the race successfully, with the last team arriving to finish almost 10 hours behind us.
Berners-Lee Gets the Millenium Technology Prize
Posted on 2004-06-14 21:02:56 UTC to Business. 0 comments.
The honor, which is accompanied by one million euros, is bestowed by the Finnish Technology Award Foundation as an international acknowledgement of outstanding technological innovation that directly promotes people's quality of life, is based on humane values, and encourages sustainable economic development.
While many people in Finland have commented that this kind of vanity awards are a waste of public money, I believe that in this case it went to the right person. In addition to being the inventor of WWW, Berners-Lee also directs the World Wide Web Consortium (W3C).
I heartily recommend his book Weaving the Web on the background story of how the Web was formed.
In the meanwhile, Finnish industry has just donated additional 10 million euros to the technology award foundation, and advocate the government to raise the total sum to 25 million.
Updated 2004-06-17: Digitoday reports that Berners-Lee's technology prize has gotten much media attention in USA and nine European countries. For example, International Herald Tribune writes:
If Tim Berners-Lee had decided to patent his idea in 1989, the Internet would be a different place.
...
That is why some people think it is fitting - or about time - that he finally becomes wealthy, with the award Tuesday of the world's largest technology prize, the Millennium Technology Prize from the Finnish Technology Award Foundation. The E1 million, or $1.2 million, prize for outstanding technological achievements that raised the quality of life is supported by the Finnish government and private contributors.
OSCOM 4 Is Coming
Posted on 2004-06-15 15:15:15 UTC to Oscom. 0 comments.
The theme of OSCOM.4 is "Cross-Pollination". This will be a conference with assistance from the Apache Software Foundation for the ApacheTracks content.
The Open Source content management community is rich and varied with many projects such as OpenCMS, Plone, Midgard, Cofax, Drupal, and many others. Almost all Open Source CMS rely on software from the Apache Software Foundation (ASF), and we look forward to lots of cross-pollination between the Apache and CMS communities. In addition, market awareness is rapidly growing, with several Open Source CMS and ASF projects being mentioned favorably in recent analyst reports.
While I will mostly be working as an organizer, I'm also planning to submit a proposal on a Practical CMS interop sprint.
Updated 18:42: Apache sessions will be called ApacheTracks instead of ApacheCon Europe.
Minor Blog Updates
Posted on 2004-06-15 19:06:34 UTC to Life. 0 comments.
So far all commenters will only be identified as "Anonymous Poster". I might provide some friends later with their own accounts to make moderation easier.
There have also been some background changes, including wider CSS layout box for the MidCOM authoring interface, upgrade to Aegir 1.0.3 nightly and nicer configuration for the HTMLAREA editor. Now the toolbar includes image insertion and <blockquote /> support:

Updated 2004-06-16: Here is the toolbar configuration snippet from /sitegroup-config /midcom.helper.datamanager.widget_html /config:
<?php
$nav = new midcom_helper_nav($GLOBALS["view_contentmgr"]->viewdata["context"]);
$leafid = $nav->get_current_leaf();
$leaf = $nav->get_leaf($leafid);
$leaftrueid = explode('/',$leaf[MIDCOM_NAV_URL]);
$leaftrueid = $leaftrueid[1];
$result = <<<EOF
// FIELD {$this->_fieldname} HTMLAREA init script START
var {$this->_fieldname} = null;
function {$this->_fieldname}_init() {
if (!document.getElementById("{$this->_fieldname}")) {
return;
}
config = new HTMLArea.Config();
config.imgURL = "{$prefix['images']}";
config.popupURL = "{$prefix['htmlarea']}popups/";
config.bodyStyle = "background-color: #fff;";
config.statusBar = false;
config.formatblock = {
"Heading 2": "h2",
"Heading 3": "h3",
"Normal": "p",
"Quote": "blockquote",
"Formatted": "pre"
};
config.registerButton("insertimage2", "Lisää kuva", "29eda1118f1e58028a3198e2a9c77271/ed_image.gif", false,
function(editor, id) {
chooser = window.open("/aegir/rcs/image/popup/?type=article&id=$leaftrueid&htmlarea=Y&hostid=", "chooser","height=450,width=400,modal=yes");
chooser.ifield = editor;
}
);
config.toolbar = [
[ "formatblock", "bold", "italic", "separator",
"justifyleft", "justifycenter", "justifyright", "separator",
"insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator",
"createlink", "insertimage2", "inserttable", "htmlmode","popupeditor"]
];
{$this->_customconfig}
{$this->_fieldname} = new HTMLArea("{$this->_fieldname}",config);
{$this->_fieldname}.generate();
};
// FIELD {$this->_fieldname} HTMLAREA init script END
EOF;
?>
Porkkalan Meripelastajat now in Midgard CMS
Posted on 2004-06-16 11:03:25 UTC to Business. 0 comments.
The site layout was designed by Henri Kaukola and implemented in XHTML and CSS using standards based web design methods.
Hosting for the website is provided by our partner Finnish Teleservice Center. User training is handled by TMV-Vision.
TMV-Vision has a news release in Finnish about the site launch.
OpenPSA User Documentation Online
Posted on 2004-06-16 16:35:36 UTC to. 0 comments.
Whole OpenPSA documentation section is Open Content available under a Creative Commons license.
On Oracle's CMS Patent
Posted on 2004-06-17 16:10:35 UTC to Oscom. 0 comments.
The patent abstract explains how a Web CMS works:
A web site creation and maintenance system permits distributed control and centralized management of a web site. The physical implementation of the web site resides on a database maintained by a database administrator. The web site system permits a site administrator to construct the overall structure, design and style of the web site. This allows for a comprehensive design as well as a common look and feel for the web site. The web site system permits content for the web site to originate from multiple content contributors...
This is all clearly stuff that Midgard CMS and other CMSs have been doing for a long time before the patent was filed. There was even an Oracle port of Midgard available at almost the same time the Oracle guys applied for their patent.
Normally ludicrous American software patents like this wouldn't worry me, but now that they will also start to apply in European Union, it is a bit scarier.
Midgard CMS was released to public in May 8th 1999, and the Oracle patent was filed in March 31st 2000, so we have easily provable prior art.
There is some discussion on midgard-user on what to do about this. One way would be to approach The Public Patent Foundation. As the problem applies to all database-based content management systems and not only Midgard, it might even make sense for OSCOM act on it.
Making Web Scripts Validate
Posted on 2004-06-20 23:05:35 UTC to Oscom. 0 comments.
When standards-conscious designers validate their XHTML and CSS templates, everything is nicely compliant up until the point where they start tying in the necessary automated systems like ad software, CMSes, or e-commerce apps. The tools then get in the way and code is needed to fix validation, but a lot of designers dont code.
This is a serious issue if we want to enable standards-based web design or web browsing with wider range of devices like mobile phones and screen readers.
Most Open Source CMSs seem to either make it impossible or difficult to create valid websites with them. For example, when implementing my personal website, I had to make several patches to different MidCOM components to make it validate. And even now some pages have issues, not to mention that the content created with my current WYSIWYG editor doesn't go through any validation or clean-up loop.
This used to be an issue CMS developers didn't think much about. However, as XHTML is becoming more common the level of importance is rising. Dave Shea gives some ideas on how to improve the situation:
What we need is to start working together like this on a larger scale. Youve gone to lengths to programmatically fix improperly nested tags? Great, write it up. You have a killer PHP function for parsing out raw ampersands that can be copied and pasted into a site-wide header? Perfect, share it. You can make a bad tool better? Do it! We dont have to keep re-inventing the wheel for every new site, we can build common code bases that make validation painless and share them.
Valid XHTML output will be important step in the practical CMS interop plan. XHTML and CSS are not yet listed as standards endorsed by OSCOM. While most CMSs deal with more than just the web, these should be the base output standards used for that particular medium.
Tampere Experience
Posted on 2004-06-21 07:12:56 UTC to Life. 0 comments.
Unfortunately the Center party had their national convention in the city during the weekend, and we had trouble finding accommodation. With luck we were finally able to get what was probably the last free double room in Tampere from Hostel Uimahallin Maja. 54 per night was quite reasonable for a large room with capacity for up to four people and view to the park near Pirkankatu.
We started the saturday with coffee and strawberries on a pier and listening to a brass band. After that we visited the Lenin museum.
The main event for the day was visiting the Vapriikki museum complex, where there were three very interesting exhibitions: Samurai - Thousand Years of Cults and Culture, Life in the Past Lane - Motorcycles from the 50s and Palace of Knowledge - Treasures from Kunstkammer, St. Petersburg. All three can be visited with a single ticket and are highly recommended.

All in all, a very good Tampere experience.
Planets and Reading Lists
Posted on 2004-06-21 19:37:53 UTC to Life. 0 comments.
In addition to aggregating all posts, the Midgard category is aggregated to Planet PHP, the Business category to Linux Greenhouse Blogs and the OSCOM category to Planet OSCOM. OpenPSA News are generated from my OpenPSA category.
These aggregators combined with people reading the weblog with news readers has ensured that RSS is by far the most popular way of accessing my website.
RSS is also my main method of accessing news and weblog postings. Currently my NetNewsWire Lite is following 83 different news feeds, mainly from the technical and web design communities.
I've now made my subscription list public in OPML format. This file can be imported into a news reader to get started with a good set of web and CMS related subscriptions.
Standard Labels in XHTML Layouts
Posted on 2004-06-21 19:56:50 UTC to Oscom. 0 comments.
In his follow-up, Andy provides a more detailed list and structure of IDs to use. This could well be the starting point for standardization.
Updated 2004-06-23 16:20: Gregor J. Rothfuss followed up on the idea, and proposed an OSCOM skin repository of CSS styles for the common elements.
The story was also picked up by CMS Watch.
Updated 2004-08-11 14:24: Thorsten Scherler will hold a session on CSS naming conventions on Sep. 29th in the OSCOM 4 conference in Zürich, Switzerland.
Nemein's New Visual Guidelines
Posted on 2004-06-23 15:28:20 UTC to Business. 0 comments.
Design goals for the new site included:
- Highlight solutions instead of the (Open Source) products behind them
- Highlight Nemein's client list and some case studies
- Explain why Open Source and Open Standards are important
- Replace boring press releases with more current blog postings from Nemein consultants
- Showcase how Nemein works on pro bono basis with some NGOs and Open Source projects
We would be very happy to get some feedback on the designs as weblog comments.
The site will be implemented with Midgard CMS using Web standards like XHTML and CSS.
Content Creation with SMS
Posted on 2004-06-30 20:06:17 UTC to Midgard. 0 comments.
The SMSs are sent to an old Ericsson R520 mobile phone which is connected to a Linux box running gsmsmsd from gsmlib. New SMSs are forwarded to Routa MC as emails, which are imported into Midgard using fetchmail and the OpenPSA mail import script supportmda.pl.
Then the SMSs are handled by a Midgard page which has the following code:
<?php
/*
Routa MC Travel Journals
SMS logbook upload handler
Henri Bergius <henri.bergius@iki.fi>
Based on snippet /TechSupport/UI/Handlers/Email-import
from OpenPSA (www.openpsa.org)
2004-06-30: Adapted from the Paska-G:n Sprintti upload handled (bergie)
Each topic to be handled by this system must have parameters
RoutaSMS/number/name set for matching the incoming SMSs to
articles and authors.
If notifications are required, they are handled by adding
parameters in format RoutaSMSsubscribe/name/email to the
root topic.
Note: the mail transfer agent expects to receive uppercase
OK when the mail has been successfully processed. If that is
missing or uppercase ERROR has been transmitted the email
will not be removed from server.
*/
// GUID to the topic where log topics reside
$routasms_topic_guid = "c4b2f1bead1f8a25f4c553ef4fe5a546";
// GUID of article where unrecognized messages are sent or NULL
$routasms_misc_article = null;
// User account for updating log articles
$routasms_username = "USERNAME";
$routasms_password = "PASSWORD";
// SMS receiver email address to remove from messages
$routasms_email_receive = "gateway@myorganization.org";
// Whether to enable email notifications
$routasms_notifications_enabled = true;
$routasms_notifications = array();
// Start buffering for the log
header("Content-type:text/plain");
ob_start();
echo "=================================================\n";
echo "DEBUG: Started email handling on ".date("Y-m-d H:i",time())."\n";
echo "DEBUG: User-Agent: ".$_SERVER['HTTP_USER_AGENT']."\n";
// Load the log topic
$routasms_topic = mgd_get_object_by_guid($routasms_topic_guid);
echo "DEBUG: Loaded topic ".$routasms_topic->name." (#".$routasms_topic->id.")\n";
// Function for logging the output
function routasms_log() {
$data = ob_get_contents();
//write the contents to a file
$fp = fopen("/tmp/routasms-upload.log","a");
fwrite($fp,$data);
fclose($fp);
// Output the status
ob_end_flush();
}
// Don't bother to even initialize anything if we don't have anything to process
if (!$_REQUEST["mailbody"]) {
echo "ERROR: No body received\n";
routasms_log();
exit();
} else {
// Check that we got the whole email
echo "DEBUG: got body, reported size=".$bodysize."b actual size=".strlen($mailbody)."b\n";
if ($_REQUEST["bodysize"] != strlen($_REQUEST["mailbody"])) {
echo "ERROR: Reported and actual bodysize different, transfer error ?\n";
routasms_log();
exit();
}
// Load Mail class from OpenPSA
mgd_include_snippet("/Nemeinnet_Core/Mail");
// Load NemeinRCS revision control script
mgd_include_snippet("/AegirCore/config/config");
global $rcsroot;
$rcsroot = $set["rcsroot"];
if (!$rcsroot) {
$rcsroot = "/var/lib/aegir/cvs";
}
echo "DEBUG: Set revision control root to ".$rcsroot." (got ".$set["rcsroot"]." from Aegir)\n";
mgd_include_snippet("/AegirCore/lib/rcs_functions");
// Load NemeinJournal classes
mgd_include_snippet("/NemeinJournal/Core/init");
// Authenticate the user if needed
if (!$midgard->user) {
mgd_auth_midgard($routasms_username, $routasms_password, 0);
$midgard = mgd_get_midgard();
if (!$midgard->user) {
echo "ERROR: No user authenticated (or authentication error)\n";
routasms_log();
exit();
}
}
$user = mgd_get_person($midgard->user);
echo "DEBUG: Authenticated user ".$user->name." (#".$midgard->user.")\n";
// Parse the email
$mail=new nemeinnet_mail();
$mail->body=$_REQUEST["mailbody"];
$mime=&$mail->mimeDecode();
echo "DEBUG: decoded body size ".strlen($mail->body)."b\n";
// Get the sending phone number
$name_preg="/[\"']?([^<@\"']*)[\"']?/";
preg_match($name_preg, $mail->from, $name_matches);
$routasms_number = preg_replace("/\.|_/", " ", $name_matches[1]);
echo "DEBUG: SMS sent by number ".$routasms_number."\n";
// Get the log message
$routasms_message = $mail->body;
// Remove receiver email address from message
$routasms_message = str_replace($routasms_email_receive." ","",$routasms_message);
// Get the log time
// TODO: read from the email
$routasms_time = time();
// Log article object
$routasms_log = false;
// Name of the sender
$routasms_sender = false;
// Load the log topics
$log_topics = mgd_list_topics($routasms_topic->id);
if ($log_topics) {
while ($log_topics->fetch()) {
// Load phone numbers
$number_params = $log_topics->listparameters("RoutaSMS");
if ($number_params) {
while ($number_params->fetch()) {
// Match with sending number
if ($number_params->name == $routasms_number) {
echo "DEBUG: SMS number matched with topic ".$log_topics->title." (#".$log_topics->id.")\n";
$routasms_sender = $log_topics->parameter("RoutaSMS",$number_params->name);
$routasms_log_topic = mgd_get_topic($log_topics->id);
// Load notification subscriber list
$notification_params = $routasms_log_topic->listparameters("RoutaSMSsubscribe");
if ($notification_params) {
while ($notification_params->fetch()) {
$routasms_notifications[$notification_params->name] = $routasms_log_topic->parameter("RoutaSMSsubscribe",$notification_params->name);
}
echo "DEBUG: Loaded ".count($routasms_notifications)." notification subscribers\n";
}
// Check if sender wants to create new entry
if (stristr(substr($routasms_message,0,6),"NEWLOG")) {
// Read the title of the new entry
$routasms_newlog_title = substr($routasms_message,7);
echo "DEBUG: Received NEWLOG command for entry \"".$routasms_newlog_title."\"\n";
// Create new NemeinJournal entry
$routasms_newlog = new journal_entry();
$routasms_newlog->topic = $routasms_log_topic->id;
$routasms_newlog->title = $routasms_newlog_title;
$routasms_newlog_id = $routasms_newlog->save();
if ($routasms_newlog_id) {
echo "DEBUG: Created new NemeinJournal entry #".$routasms_newlog_id."\n";
// Send notifications on the new journal entry
if ($routasms_notifications_enabled && count($routasms_notifications)) {
foreach ($routasms_notifications as $name => $email) {
// Send the notification in format supported by Nemein's SMS gateway
mail('"'.$name.'" <'.$email.'>','New journal entry '.$routasms_log->title.' ('.$routasms_log_topic->name.') was created by '.$routasms_sender,$routasms_log_topic->name.": New entry \"".substr($routasms_message,7)."\"",'From: "'.$routasms_topic->extra.'" <'.$routasms_email_receive.'>');
echo "DEBUG: mailed notification to \"".$name."\" <".$email.">\n";
}
}
// Entry has been created, exit
echo "OK\n";
routasms_log();
exit();
} else {
echo "ERROR: Failed to create NemeinJournal entry, reason ".mgd_errstr()."\n";
}
} else {
// Fetch the latest log entry article
$log_topics_articles = mgd_list_topic_articles($routasms_log_topic->id);
if ($log_topics_articles) {
if ($log_topics_articles->fetch()) {
echo "DEBUG: Loaded latest NemeinJournal entry #".$log_topics_articles->id."\n";
$routasms_log = new journal_entry($log_topics_articles->id);
}
} else {
echo "ERROR: No NemeinJournal entries found in topic\n";
// TODO: create empty log item??
}
}
}
}
}
}
} else {
echo "ERROR: No log topics under root topic\n";
routasms_log();
exit();
}
// Load the misc article if possible
if (!$routasms_log && $routasms_misc_article) {
echo "DEBUG: SMS number didn't match, loading misc article\n";
$routasms_log = mgd_get_object_by_guid($routasms_misc_article);
}
// Default to sending number as sender name
if (!$routasms_sender) {
$routasms_sender = $routasms_number;
}
// Store the message to the log
if ($routasms_log) {
// Start the message block
$routasms_log->content .= "<p>\n";
// Store message
$routasms_log->content .= $routasms_message;
// Store date
$routasms_log->content .= "\n <em>(".date("Y-m-d H:i",$routasms_time);
// Store sender
$routasms_log->content .= " - ".$routasms_sender.")</em>\n";
// End the message block
$routasms_log->content .= "</p>\n";
// Save the log
if (get_class($routasms_log) == "journal_entry") {
// NemeinJournal uses save() method instead of Midgard's standard update()
$status = $routasms_log->save();
} else {
$status = $routasms_log->update();
}
if ($status) {
// Send notifications on the journal entry update
if ($routasms_notifications_enabled && count($routasms_notifications)) {
foreach ($routasms_notifications as $name => $email) {
// Send the notification in format supported by Nemein's SMS gateway
mail('"'.$name.'" <'.$email.'>','Journal entry '.$routasms_log->title.' ('.$routasms_log_topic->name.') updated by '.$routasms_sender,$routasms_log_topic->name.": ".$routasms_message,'From: "'.$routasms_topic->extra.'" <'.$routasms_email_receive.'>');
echo "DEBUG: mailed notification to \"".$name."\" <".$email.">\n";
}
}
// Update revision control information
rcs_update($routasms_log);
// Message was saved successfully, say OK
echo "OK\n";
} else {
echo "ERROR: Failed to save log article, reason ".mgd_errstr()."\n";
}
} else {
echo "ERROR: No log article found\n";
routasms_log();
exit();
}
}
// Log status
routasms_log();
?>
The phone has had a tendency to crash, but Rambo is looking to fix that.
More African Photos Online
Posted on 2004-07-01 16:40:08 UTC to Life. 0 comments.

The photos still need to be titled and added to appropriate travel journal entries, but that might have to wait until I return from the Black Sea.
134 of my 391 photos are now available. The rest are quite repetitious and will probably remain offline. All photos are of course available under the Creative Commons license.
Back from Caucasus
Posted on 2004-08-11 14:11:28 UTC to Motorcycles. 0 comments.

The 11,000km trip was amazing, including diverse places like St. Petersburg, Crimea, Georgia, Istanbul and Kosovo.
Part of the 900 photos I took from the trip are available online.
MidCOM and HTTP Conditional GET
Posted on 2004-08-12 14:14:51 UTC to Midgard. 0 comments.
I wanted to ensure that wouldn't be a problem on sites built with Midgard CMS and MidCOM. On an IRC discussion with Torben Nehmer, I pointed him to Alexander Alapite's Conditional GET support library for PHP.
However, it looks like this is not an issue, as MidCOM already supports conditional GET if its server-side caching system is enabled:
torben: bergie: the midcom cache does include last modified and expires headers by default, so http head requests in a cached system already work fine with browser caches
torben: at least with nathan-syntronics.de i have a greatly reduced bandwith through this
torben: bergie: apart from that i would wait with further stuff until mrfc 6 has been implemented (or rejected), now that you are here, we can actually start discussing it again
MidCOM's caching engine can be enabled in the "MidCOM Site Settings" interface in the MidCOM site template (midcom-template).
In addition to providing the correct expiry headers, the NGO Geeks provided Midgard Caching Headers patch to the original "Simple Dynamic Site" template that have since been included to midcom-template.
Here is the settings interface:

It would be nice to get some actual testing figures on how well the current HTTP Conditional GET code in MidCOM works.
On a related note, this weblog has been upgraded to latest CVS HEAD of MidCOM 1.4 technology preview today. This brings new features, like the latest HTMLAREA goodness.
Helsinki Business Polytechnic goes MidCOM
Posted on 2004-08-12 16:38:30 UTC to Business. 0 comments.
- Clean, file-like URLs
- "Edit this page" integrated authoring tool
- Availability of different components, or site features
- Easily configurable metadata fields for content
The new layout should help with page download times, server load and scaling the site down to mobile devices and screen readers.
Midgard and UTF-8 Instructions
Posted on 2004-08-17 11:18:23 UTC to Midgard. 0 comments.
More information about internationalization in Midgard can be found from Midgard Documentation.
Of course, even after Unicode is the default encoding in Midgard we will have to go through many MidCOM components to ensure they conform to test suites like Sam Ruby's Atom Unicode test. There are now problems like MidCOM bug #78 reports.
Eric Sink on Software Pricing
Posted on 2004-08-17 12:05:35 UTC to Business. 0 comments.
Some ISVs use no-cost products or open source strategies quite effectively. For example, SleepyCat is a very successful small ISV that developed its own software. At SleepyCat, they use an open source strategy. Their product is wildly popular.
However, it's easy to forget just how expensive it is to build software. The ideal loss leader is something that is quite cheap. Although the cost of goods on software can be zero, software development is really expensive. If you are building a piece of software for the specific purpose of giving it away, you are accumulating a lot of costs that need to be repaid in some other way.
The way Nemein works is that we sell and contribute to existing Open Source projects. The initial cost of building the application has already been carried by somebody else, like in the case of Aegir by Hong Kong Linux Center and in case of MidCOM by Link-M.
Our clients get the application itself for free, and only pay for deployment, training and support. If modifications or improvements are needed we will either do them ourselves or outsource the work to one of our Midgard partners. In these cases the client will pay normally for the project.
Even OpenPSA, which was built from ground-up by Nemein has been mostly project-financed. One client paid for the first CRM version, one for the Project Tracker, one for the Group Calendar, etc. And since then smaller improvements have almost always been financed by some deployment project.
Running OpenOffice.org on Mac OS X
Posted on 2004-08-17 17:45:05 UTC to Desktop. 0 comments.
The tutorial seems to solve the main problems I've had with OOo on my iBook, including keyboard mapping and PDF generation. What it doesn't help with, though, is the horribly slow start-up time.
Another interestion option would be NeoOffice/J, a Java port of OpenOffice 1.0.3 that runs natively on Mac OS X. As an X11 server won't be needed the start-up times should be noticeably faster.
NeoOffice is still under development. The project page states:
As this is a development project, NeoOffice/J is intended for software engineers and is not yet complete enough for regular users.
In the related Slashdot discussion however, someone commented:
I think NeoOfficeJ is a fantastic implementation of OpenOffice. I switched to it because NeoJ will load associated files when you double click them. OpenOffice in its current OS X X-window implementation doesn't do this very consistently. On top of that the integration with OS X is just so much cleaner and friendlier.
OSCOM 4 with ApacheTrack - Time to Register
Posted on 2004-08-18 10:25:24 UTC to Oscom. 0 comments.
More information can be found from the event press release:
Open Source CMS Conference 4
ETH Zurich, Switzerland
Wed, Sept. 29th - Fri, Oct. 1st, 2004
OSCOM is proud to announce that registration for OSCOM.4 is now open, at $500 for three days. OSCOM.4 is a conference on open source content management with assistance from the Apache Software Foundation for the ApacheTrack content.
The conference program includes several interesting sessions, including corporate blogging, business planning for Open Source CMS and several PHP technology presentations.
Disclaimer: I'm member of the OSCOM 4 organizing committee.
Elisa's Network is Down
Posted on 2004-08-19 15:14:02 UTC to Business. 0 comments.
The connection went down first time around noon, and returned after 2pm. Now the connection has been down since around 3:45pm.
When trying to reach Elisa's Network solutions site to find out when things will start working again, the ColdFusion server only responds with:
An error occurred while attempting to establish a connection to the server.
The most likely cause of this problem is that the server is not currently running. Verify that the server is running and restart it if necessary.
Unix error number 146 occurred: Connection refused
Finnish Teleservice Center (FTC) has an announcement about the situation. Elisa hasn't given any information on when the network will be up again, and their announcements page is also silent on the issue.
This outage has again reminded me about the importance of having local copies of data. For example, I can't send any invoices because our OpenPSA installation is in the affected network. Time to create a replicated setup of the important data? That would help offline working as well.
Luckily my blog is hosted by Nehmer.net in Germany instead.
Finnish Championship of Fireworks
Posted on 2004-08-20 10:05:57 UTC to Life. 0 comments.

We watched the contest from Kaivopuisto near Cafe Ursula. The whole central Helsinki was very crowded, but by lane splitting a bit with my motorcycle we could easily find a good viewing point.
The contest has been set up in the memory of the shelling of Viapori by a British and French fleet during the Crimean war in 1855. The citizens of Helsinki gathered to the Kaivopuisto area to watch the 46 hour long bombardment of the sea fortress, and the flare rockets shot by the fleet at night. Two of the firework shows re-enacted these scenes by simulating cannon shots from the walls of the fortress.
This year the contest was won by Tähtiraketti with their show Evolution. Spectator SMS votes went for Ilotulitus with their show, The Art, Science and Technique.
Hunting a PHP segfault
Posted on 2004-09-01 10:22:12 UTC to Midgard. 0 comments.
The segfault seems to be triggered on pages that have multiple mgd_auth_midgard() or mgd_unsetuid() calls. In most cases the crash happens only after Midgard request has completed, but before output has been sent to the browser, as reported by Torben.
In OpenPSA Personnel this happens when administrator modifies a user record. There we have worked around this by simply exiting the output with a flush() call. In the net.nemein.registrations component a workaround is still pending.
Piotras is looking at the issue, and has decided to delay the Midgard 1.6.0 release until a solution has been found.
He writes on the Midgard developer list:
The source of last reported segfaults (and more not reported yet) is zend_register_list_destructors_ex called in PHP_MINIT_FUNCTION.
static void _midgard_list_fetch_dtor(zend_rsrc_list_entry * rsrc)Looks like rscr struct passess some garbage which is not NULL so there is no easy way to check it in mgd_release or even earlier.
{
midgard_res * res = (midgard_res*)rsrc->ptr;
// here we get random garbage from Zend (perk...e!)
if (res != NULL) mgd_release(res);
}
According to some Google findings, the same segfault is in both PHP4 and PHP5. Chat log about the issue from #midgard is also available.
Updated 2004-09-17: Piotras found a solution to the problem and committed the fix to Midgard CVS on September 6th.
Che Guevara's Motorcycle Diaries
Posted on 2004-09-06 10:43:25 UTC to Motorcycles. 0 comments.
After the sad demise of their '39 Norton the movie gets more serious, and describes the Che's Siddhartha-like enlightment through views into the poverty and plight of the Indians and rural workers. The stories of despair and unemployment in the fifties are very similar to the descriptions in Ted Simon's mid-seventies Jupiter's travels.
The movie was based on the Che's and Alberto's personal travel journals and photos. Che Guevara's The Motorcycle Diaries is available via Amazon.
Disclaimer: the links to Amazon include my associate ID, so possible generated sales may give me gift certificates there.
Wagner's Ring of the Nibelung
Posted on 2004-09-08 08:47:15 UTC to Life. 0 comments.
The Nibelung's Ring series is based on a combination of Nordic mythologies and medieval German stories. A central part is played by the ring of power forged by dwarf Alberich from the stolen Rhine gold. The struggle for the ring eventually brings about Ragnarøk, the end of the Norse gods. Wagner composed the series in mid-19th century.While we did not appreciate the modernized, angular settings of the plays, lots of the performances were very pleasant. I especially liked Sieglinde in Die Walküre and Hagen in Götterdämmerung. Wotan was also very good in the first two operas.
Watching the whole 16 hour series in one week was quite an excercise, but we still were able to enjoy it and go for some after-opera beverages in Ateljé.
Endorsing MidCOM's Migration to File System
Posted on 2004-09-08 12:12:28 UTC to Midgard. 0 comments.
Current situation
To those unfamiliar with Midgard development, Midgard Framework itself has been written as a C system library and a PHP extension. The Framework provides services like authentication, templating and content storage. The actual Midgard applications are written on that foundation in PHP and stored in the Midgard database as pages and "snippet" objects.MidCOM functions as a component system written on the application layer. With MidCOM, the actual point applications, or components are written following a strict set of coding standards and stored in the Midgard snippet tree. The components must provide a standardized set of interfaces, and all input and output with them is controlled by the MidCOM framework.
The fact that all application code is stored in the database causes several problems, the topmost being lack of good development tools and difficulty of version control. Torben explains these points well in the "Current problems" section of the mRFC.
Additional issue is performance. A component framework is a big thing, and its services and interfaces require many code libraries to be loaded. It has been calculated that an average MidCOM page request causes 2000 database queries. With careful optimization we could probably get the number down to about 1300, but that is still a lot. If we move the libraries to file system, only database I/O will be actual content and template queries. Also, if the code is stored in the file system, it can be compiled into faster byte code using tools like Zend Optimizer.
Reasoning for the old way
With all these issues, why did we do the illogical thing of putting our code into the database in the first place? The code snippet system was added to Midgard in the 1.4.0 cycle, and there were several reasons:- At that time most Midgard applications were much smaller
- Storage in Midgard database provides metadata support. Licensing information, documentation and icons can be stored into the code objects themselves
- Code can be replicated together with the site data
- Editing code does not require filesystem access
- Permissions come from Midgard's group system
Changing deployment models
Back with Midgard 1.4.0 almost all Midgard applications were built in-house and were not distributed. This way version control of the code was more closely connected with the general staging/live routines of the developers. For this the fact that code could be replicated with content was advantageous.Now most applications like MidCOM and its components are being developed in centralized fashion by the Midgard Community. In this setup code is developed and tested on separate systems, and then release versions are deployed widely across production servers. This way version control of the code between a content staging and live is not so important, as both will share the same component versions, and will differ only in versions of templates, configuration and local code.
Separated concepts
Moving MidCOM to file system not only makes development easier, but will also make the separation of centralized "system" code and local scripts clearer. MidCOM and its components are a part of the Midgard Framework, and are installed by the system administrator and not modified by a site developer. The things that a site developer will modify will be local and specific to a website, organization or a server environment, and so are stored into the Midgard database. This includes local configurations, output templates and local scripts.The new way
If mRFC 0006 gets implemented, all MidCOM core code and components will be developed just like any PHP application, using the file system and include() statements. This means that version control and development will become substantially simpler.However, what we lose there is the ability to install a whole MidCOM component or the framework from a single repligard .xml.gz file. I have proposed using the PEAR installer for this, and Torben has promised to include it to the mRFC.
The PEAR installer uses an XML configuration file for defining the files shipping with a package, and enables server administrators to install new software with a single, Debian APT-like command regardless of the operating system. The PEAR installer is available by default on PHP 4.3.0 and newer releases.
Using the common PHP installation methods of the PEAR community would make The Midgard Project far better connected with the PHP community in general and promote code sharing.
To promote this even further, the Midgard Community should fully embrace the PEAR Coding Standards, and use the same code documentation tools.
Theoretically MidCOM could even move to the PEAR repository, but it would probably be seen as too Midgard-specific by the PEAR community. It provides a quite generic component architecture, but all components and its methods like the URL parser depend heavily on the midgard-php extension.
mRFC status
Torben has still left the proposal to Draft state, and some things will have to be polished before it can be voted on.If the mRFC passes the actual transition should be relatively simple. We can just use the Aegir FileSync AddOn to copy all code snippets of the MidCOM core and component directories to the file system, and then programmatically change all mgd_include_snippet() calls in the system to use MidCOM's internal $midcom->include() method.
The PEAR package description files should be easy to generate automatically. In addition, we should create a "MidCOM uninstaller" Repligard file that would include delete calls for all objects in the MidCOM 1.4.0 release.
The actual MidCOM sites will be easy to migrate, as most of them contain only a single mgd_include_snippet("/midcom/midcom") call. This could be either changed to a filesystem require() call, or the MidCOM system could ship a stub snippet for this.
Updated 13:20: There is some discussion about this on the midgard-dev mailing list.
Updated 2004-10-28: The vote on mRFC 0006 passed today, so we can finally start implementation.
Getting used to the new office
Posted on 2004-09-09 10:01:32 UTC to Business. 0 comments.
We had been "practicing" cohabitation with the two companies since early June, with the Innopoli2 office mostly serving as a mailbox, and so the move was quite painless. Some of the office infrastructure was changed, like installing our network printers and adding more desks.
The office has much less capacity than the combined number of employees in the three companies, but that is not a problem since most people are always at a client.
The business synergies are quite good. We build web solutions and business applications on Open Source software, TMV provides network solutions and Linux support, and FTC hosts sites with Midgard CMS.
The office is located in Matinkylä, Espoo quite near the Iso Omena shopping center.
Introducing Suicide Surfers
Posted on 2004-09-09 16:06:49 UTC to Life. 0 comments.
Joe and Jay have never surfed, but nevertheless left their regular life and will head soon to Australia to learn surfing. Why? Joe explains in a recent diary entry:
Most of the people I've talked about my plans for the coming year have had these strange ideas about leaving to somewhere. They've been saying things like "I'd like to do that too, but I have all these commitments to handle." Facts are:
1. (Geography) We have maybe the worst climate in the world. No real summer and last decent winter was -98.
2. (Technical knowledge) Only thing to be proud of is a company, that technically isn't finnish and abandoned its corecompetencies by selling the branch which manufactured rubber boots. Result: finnish are proud of mediocre cellphones, which are made in china and generally thought to be japanese.
3. (Culture) Our best placement in Eurovision song contest is 6th place from 70's. Luckily other europeans have decided, that there is no point to come to the contest every year, if you lose. So finnish singers have to embarrass themselves only once in two years.
4. (Food) Most of the recipes we have inherited from our grandparents are practically uneatable. Take mämmi, traditional easter dish, for example. What kind of pervert would like to eat something that resembles shit of carnivorus animal after it has been laying on freezen walkway for two nights?
5. (People) Peaople just suck.
You may enjoy doing same things 9to5 every day with same people, at same places in same shitty climate. But I'm off.
The site's IA is also interesting; in addition to posting photos, videos and diary entries, the site also collects data on when they got lucky last time. And it is all nicely in XHTML and CSS. All frequently updated areas provide handy RSS 2.0 feeds for subscription.
Currently they provide a guestbook for commenting, and are planning a discussion forum.
This project will be amusing to follow.
I'm Moblogging Now
Posted on 2004-09-10 14:54:09 UTC to Midgard. 0 comments.
The procedure for posting a photo is the following:
- Take a photo with the camera
- Select "sent" from the options -> "send as MMS"
- Type the photo caption to the MMS
- Select "send as email"
Midgard reads the messages in and converts them to MidCOM de.linkm.newsticker compatible articles with the photo stored as an "image" type attachment that has a generated thumbnail.
This weekend will be the acid test for this concept, as I will spend it in a combat exercise arranged by MPKRy.
In the other news, I turned 25 today. Quarter of a Century is the release name for today's midcom-template ;-)
New Thunderbird and Firefox
Posted on 2004-09-14 11:07:00 UTC to Desktop. 0 comments.
In addition, there is now a new promotional website, spreadfirefox.com in beta release. Spread the word.
Upgrading both Firefox and Thunderbird from earlier releases went quite painlessly on my Mac OS X box. And now Thunderbird has a cool RSS reader so following my blog will be easier than ever ;-)
Updated 2004-09-15 18:48: The Firefox upgrade actually had some issues. It refused to open a browser window after the installation. Only deleting my profile using the Firefox Profile Manager helped.
Why Web Standards Matter
Posted on 2004-09-14 15:14:39 UTC to Oscom. 0 comments.
In addition, Jakob Nielsen has posted an interesting piece on standard elements in web design. His recommendations include several conventions, like always placing a logo link to top-left corner and the search box to top-right corner.
Reviving the Old Psion Series 5
Posted on 2004-09-15 01:21:44 UTC to Desktop. 0 comments.
The Series 5 has two major advantages when compared to laptops: it is small and has a very long battery life. In addition, I happen to have a spare one lying around.
We've used this palmtop previously for keeping the travel journals of two motorcycle trips, the 2002 European tour and the 2003 Russian tour. The journals were written using Psion Word and transferred via FTP to the web server where Midgard imported them as HTML files using the psiconv utility.
Similar system could be used here for importing the study notes into a MidCOM-driven website for easier browsing and searching.
The only question is connectivity. I can see several options here:
- We're using a CompactFlash memory card for storing the data on the Psion. This card could be read on my iBook using a USB CompactFlash reader. Then the files could be uploaded via a web form
- I could get a USB IrDA adapter for a Linux box and copy the files over using the plBeam application to provide IrOBEX support on the Psion. The Linux end should be easy to script to publish the materials into Midgard
- Or we could transfer the files via FTP or something similar and a GSM modem connection
- The ease of use with these has to be investigated. As she will be making several notes each day the transfers must be easy and semi-automated.
Since she also intends to keep her study calendar on the Psion the vCal Psion Calendar to vCalendar converter might be useful. Rambo is working on vCalendar import to OpenPSA Calendar so the events could also be synchronized to the web.
Updated 09:34: After playing a bit with psiconv settings it seems to create quite good XHTML of the Psion Word files. However, it totally loses the possible Sketch images attached to the documents. Any ideas on how to get them included? For biology studies it would be very useful to be able to attach simple drawings to the notes.
Updated 2004-09-24: Kerttu has now been using the S5 on several lectures and seems happy with it. It has been dubbed "Ancestor", as it is the ancestor of a Nokia Communicator, and because it resembles the "Ancestor" in the Moomin series. Next task will be to start using the web integration stuff, but she will need a website for that.
OpenPSA demo available
Posted on 2004-09-16 10:02:13 UTC to Openpsa. 0 comments.
Using Weblog Editors with Midgard CMS
Posted on 2004-09-23 12:53:13 UTC to Midgard. 0 comments.
Inspired by the public betas of MarsEdit and NetNewsWire, I looked up an old MetaWebLog API support patch I had made for the blogging and news ticker tool of Midgard CMS, de.linkm.newsticker. I modernized the patch a bit and committed it to MidCOM CVS.
This means that all Midgard CMS installations using the new version will provide support for desktop and mobile weblog editors for updating the news items. The "Remote editing tools" support can be switched off in configuration but I've left it on as default.
I've now tested the system with two desktop blogging tools for Mac OS X, ecto and MarsEdit, and it works quite well. I can prepare my blog posts offline, and publish them whenever I have access. In addition, the cool "Post to Weblog" feature in NetNewsWire works with both.
Setting up the desktop blog editors is very simple, simply go to their "New account" or "New weblog" dialogue and give the URL to your newsticker-powered topic. The weblog editor will get all required settings by autoprobing the RSD file provided in the HTML headers. You will be polled only for your username and password and the editing environment should be ready.
If the RSD auto-probing fails for some reason, the XML-RPC interfaces are available in "rpc/metaweblog/" under the newsticker topic. So for example the RPC URL for this blog would be "http://bergie.iki.fi/blog/rpc/metaweblog/".
The MetaWebLog API patch requires the PEAR XML-RPC package to be installed. It is available by default in all PHP 4.3.x installations.
Here are screenshots of the setup and blogging procedure in ecto:
There are some features missing from the remote editing support that I miss:
- For some reason MetaWebLog API doesn't let me edit the article abstracts separately
- Categorization support is still missing from the implementation
- MetaWebLog API supports only storing images with the topic, not with the article
Anyway, this is a big step forward in making Midgard a good blogging tool. I will try to make all posts in the near future using these desktop tools to get possible details and glitches tracked down.
Here are some screenshots of MarsEdit editing the same blog:
Updated 13:20: I would be more than happy to receive testing reports of using this feature with other desktop blogging tools. Please send them to the midgard-user list. You can also blog your results and just send the URL.
Almost too perilous
Posted on 2004-09-23 15:35:16 UTC to Life. 0 comments.
My friend and colleague Kaukola got hitched last weekend. We had a good time in the bachelor party last August, involving military exercises, zorb balls, sauna and aerobatics.
However, the actual wedding celebrations provided me with the scariest experience so far during the year. I've hiked in the arctic, fallen under a train in Russia, faced angry elephants and climbed mountains in Africa, participated in a car race and visited several war zones during my summer holidays. However, none of these were as scary as having to dance waltz. But I did it :-)
Good luck and all the best for the newlywed!
Rambo took some rather nice pictures:
This is now Unicode
Posted on 2004-09-27 10:44:15 UTC to Midgard. 0 comments.
This blog has now been successfully converted to the UTF-8 character encoding. This enables using non-western characters in any part of this site.
НЕ РЛОХО!
This was all made possible using Torben's handy MidCOM UTF-8 HOWTO. Please report if you note any issues.
Note: Newsticker's MetaWebLog API support doesn't seem to work 100% reliably on UTF-8. ecto seems to support it fine, but MarsEdit reports XML parsing problems when fetching the latest entries.
I've now posted a bug to the MarsEdit issue tracker, but frankly I suspect this is an issue with either the PEAR XML-RPC library or my MetaWebLog implementation.
Updated 2004-09-29: The issue with blogging tools was resolved by commenting out the following lines in Apache configuration:
# php_value default_charset UTF-8 # php_value mbstring.func_overload 7 # php_value mbstring.internal_encoding UTF-8 # php_value mbstring.detect_order UTF-8
Torben has told me to use these lines in his HOWTO, but as suggested by Piotras, they are not necessary for correct usage of Midgard with UTF-8. In addition, not using them resolves the MetaWebLog API problem.
Urban Combat Basics
Posted on 2004-09-27 14:02:51 UTC to Guns. 0 comments.
Some quick notes:
- Outside old city centers the buildings made after beginning of 60s have so thin walls that they provide essentially no cover
- There are aerosol weapons which shoot a gas-filled
projectile into a room. The projectile then fills the room with
an explosive gas
Chechens have learned to combat this by moving their positions inwards in the buildings and lighting a bonfire in the room next to the window. This makes the aerosol gas burn safely before reaching explosive stage - Upper floors of buildings are not a good place for defensive positions as they are easily collapsed. Fire spreads very quickly upwards
- Safest place for supply and deployment routes is underground using cellars, sewage pipes etc.
Updated 14:40: Here are
some photos moblogged live from my phone camera. Quality is
abysmal, as always
![]()
![]()
![]()
Off to OSCOM4
Posted on 2004-09-28 03:17:20 UTC to Oscom. 0 comments.
Today will be filled with arrangement practicalities, and the actual conference starts tomorrow at 9:15 am.
All the previous OSCOM events I've attended have been fun, and I'm expecting an interesting three days filled with discussion, new CMS ideas, and quite a few presentations.
Despite the early departure the flights went without incident, and I had time to read some new RFPs and get started on the time-based release plan mRFC for Midgard. I was online in the Wyona office already before 11am.
Today was spent mostly by writing a new Wiki component, net.nemein.wiki for MidCOM. It will be used as a collective notepad by both OSCOM 4 and Linux Greenhouse people in upcoming events. So far the Wiki is very simplistic but should still fit the requirements. OSCOM's Wiki is already online.
I will be staying during the conference in Michi's place. This place is becoming a geek camp with more than five more people staying here after tomorrow. Now I'm trying to follow a Spanish conversation about Apache Lenya and CSS naming conventions.
First day of OSCOM 4
Posted on 2004-09-30 08:42:18 UTC to Oscom. 0 comments.

This conference is smaller than OSCOM 3 held in Harvard university and in about the same range as OSCOM 2 in Berkeley. However, this just means that this time most people attending are developers instead of end-users, and discussion ranges from interoperability topics to cultural issues.
I'm chairing the Apache Track of the event. The first day was mostly Jakarta topics, and so not that interesting to me personally. Day two will be focused on PHP and so closer to my interests. However, day one brought forward several interesting projects:
- HttpUnit - Web application unit testing framework
- Lucene search engine and its Perl port, inspiring to post MidCOM bug #107
- FlowScript, Cocoon's JavaScript-based session control system
- OS Web Design provides free web templates. We have to think about how to include them when planning the CSS naming conventions
- We're planning to try integrating BXE WYSIWYG XML editor to MidCOM as widget_xml, with an XSLT transforming datatype_xml
- Pubcookie, a single sign-on system for Apache and IIS
In addition,
- I solved the UTF-8 issues between Midgard and blogging tools
- Tested in the OSCOM Wiki, net.nemein.wiki is now much more useful
After the event and some beers we had a nice Italian dinner outside in slight rain in the old city of Zürich, and continued to caipirinhas and cigars in a Brazilian bar.
Second day of OSCOM 4
Posted on 2004-09-30 16:48:06 UTC to Oscom. 0 comments.

After bit of thinking I decided that a session on MidCOM - Midgard's Component Framework for PHP would be a good match for the technical crowd here.Because of this most of my has been spent on setting up latest MidCOM on my iBook, tweaking my South AfricanMidgard training slides in SlideML to fit this conference, and marveling how slow the iBook is for running a full-blown CMS.
My session will be tomorrow at 9:15 in room E1.2 in the ETH main building.
In addition I gave a 20 minute interview for the Open Source community related movie Michael Wechner is working on. Quote from there:
[Finnish culture promotes collaboration and Open Source because] Finland is a cold country. If we didn't work together we would all freeze to death and get eaten by polar bears.
Some stuff from today's discussions:
- JSR-170 is an API for Java that aims to standardize how CMSs store their content into a repository. There is also a PHP port under construction
- I installed Webalizer to OSCOM's web server today, and the access statistics are abysmal. How could we get CMS projects to link to OSCOM?
- Chregu has promised to upgrade Planet OSCOM from net.nemein.rss to the same software that drives Planet PHP
- OpenOffice.org has an active community of thousands of people who are not programmers but instead market OOo actively. For them being involved is the reward. Spread Firefox also is a good example of that
- There is now first draft of mRFC 0008, the time-based releases proposal for Midgard
The planned Town Hall on Open Source and Ethical Capitalism with Kit Blake and Michael Wechner got rasmussed by the very interesting panel on open innovation.
In the evening there will be the conference dinner in Les Halles. We also planned a meeting about CSS namespacing with Thorsten, but this didn't happen because of all other discussion going on.
Amusing note: Everybody starts their first conversation with me by saying "I've read about your motorcycle adventures in your blog". :-)
Last day of OSCOM 4
Posted on 2004-10-01 13:19:15 UTC to Oscom. 0 comments.

Apart from my own session, I went to see Danese Cooper's session on Corporate Blogging, which focused on how Sun uses blogs and other collaborative tools to aid in a cluetrainish transformation to a more customer focused and open organization. The related policies and success stories were a good starting point for convincing other companies to do the same.
The session of legal issues of Open Source was also interesting, highlighting the recent German court ruling that upheld GPL and the risks arising from the fact that liability from neglecting potentially harmful issues in the software can't be waived with a license in most European countries.
The Tiki session also provided some interesting ideas, including visually mapping a Wiki using the Graphviz package and rendering location information usingMapServer and its PHP extension.
We're also discussing how to make OSCOM more visible and work better. Some ideas:
- Loosen the restrictions on getting feeds aggregated on Planet OSCOM and try to get more feeds there. Theoretically all CMS and web related content would be acceptable, but we still don't want any cat pictures
- Present OSCOM more clearly as a "common specifications" project for CMSs, like Freedesktop.org does for GNOME, KDE and other desktops
- Create a "We participate in OSCOM" link button campaign and try to get Open Source CMSs to link there
Concern: Why would CMS projects want to link to their competitors? Maybe we should remove the CMS matrix and be more a specifications and interop body
To support making Planet OSCOM more active, Chregu installed the software running Planet PHP there. The old net.nemein.rss powered aggregator will be replaced by this after Christian has time to add some features and tweak the CSS to better shape.
The big problem for Planet OSCOM has constantly been how to find more interesting feeds to be aggregated there. One solution there would be to use the relationship mapping features of Frassle to find new relevant feeds. After some planning with Shimon Rura, this could work in the following way:
- Planet OSCOM sends its list of subscriptions every night to Frassle in OPML format
- Frassle would download and parse the feeds, and try to find related content (based on common links)
- Frassle would return a list of new feeds found to Planet OSCOM, which would automatically subscribe to them
This would all require a bit of hacking, both in adding import/export capabilities to Frassle and in ensuring Planet OSCOM gets good feeds, but it would be a very interesting proof-of-concept for mapping related feeds. If it would work out, it could provide a model for all news aggregators on how to find new content.
After the actual conference program we brainstormed with Thorsten Scherler to the OSCOM Wiki about CSS naming conventions that would enable different designs to be used with same XHTML DIV structure.
In the evening we had a nice dinner followed by quite a few beers in El Lokal, a leftist pirates' hideout styled place. Discussion ranged from participatory budgets and other democratic innovations in Brazil, and the state of Bolivian Navy after the Guano wars of late 19th century to Open Source business models and travel in Russia.
El Lokal closed around 2am, and we continued to a party in a creepy 70s styled factory building in the tech area of Zürich. On saturday I'll fly back to Helsinki.
A Day in IT Sales
Posted on 2004-10-04 20:13:52 UTC to Business. 0 comments.
I'm now sitting in an old, creaking commuter train, surrounded by beautiful Finnish autumn colors. Today has been a pretty typical day for me in IT sales, starting with back luck with train schedules that forced me to sit most of the day in this old train instead of the fancier InterCity trains that come with power outlets and cafeterias. What has happened so far:
- Wake up
- Make finishing touches to a customer-specific Intranet demo
- Arrange some meetings for the rest of the week
- Check out appropriate train schedule to another city
- Because of some last-minute CSS modifications almost miss the train, forcing to lane-split with the motorcycle to the railway station
- Make it to the train, the demo front page still broken because of the CSS fixes
- Connect your laptop over the slow Bluetooth-GPRS connection and fix the CSS
- Reread the RFP and note that you've forgotten one feature, call colleague and ask him to implement it
- Reach the target city and take a taxi to the client
- Exchange some awkward pleasantries with CEO of a competing company at the door
- Hold the demo and discussions with the client, experience some issues with both the latest Firefox and the client's proxy
- Take taxi and train back
- Provide quotes for some new projects to partners over the phone
The connection problems in this process got me thinking again about better offline access to my data. Most of our back-end systems run using the Midgard Framework and OpenPSA, and there would be several options. Now I use the lightweight solution where:
- Apple iCal keeps a read-only version of my OpenPSA Calendar
- I can blog using MarsEdit and post when back online
What other data would be convenient to have available offline? At least contacts and email spring to mind.
Contacts could probably be synchronized one-way by downloading a vCard file of all contacts from OpenPSA Sales, as Apple Address Book automatically receives and imports them. The problem here would be the same as with calendar: not being able to sync the data back to the server.
As to email, Thunderbird has kind of offline mode available, but I would have to keep the inbox quite minimal to be able to use it. Maybe a more aggressive folder usage strategy would help here. Essentially I should archive all interesting documents to folders specifically created for each customer or project. TODO items I can easily drag-and-drop to our support mailbox which gets imported to OpenPSA Support.
Making Open Source Content Management Suck Less
Posted on 2004-10-05 16:45:12 UTC to Midgard. 0 comments.
His notion might have backgrounds in only looking at the projects listed on OpenSourceCMS.com, which only lists lightweight, mainly PHP-based content management systems, not any of the heavier-duty ones.
However, it is true that most Open Source CMSs are not that good. A major cause for that is duplication of effort. Everybody wants to build their own CMS and not improve the projects started by others, and so the wheel has been invented a huge amount of times. OSCOM seeks us to improve that by advocating collaboration and usage of common standards.
Let's take a look at how the improvement recommendations apply to Midgard CMS:
Make it easy to install. Your tool will see better adoption if you stop to consider the out-of-the-box experience before you ship it.
This has traditionally been the weak point in Midgard. There have been many dependencies to solve and packages to compile. However, Midgard 1.6.0 is a big improvement to this.
The Debian packages made by Piotras and Daniel's packages for most RPM based distributions made with Build Buddy will make the actual installation very easy and having MidCOM environment available out-of-the-box helps too.
Make it easy to get started. Give first-time users a series of quick wins that become increasingly complex. When I first log in, I want to create a Web page.
Even after installation it has been difficult to figure out how to get started. Now MidCOM and Aegir are bundled in the midgard-data package and so the Getting Started guide should be easy to follow. Midgard 1.6.0 also provides a friendly Welcome Page.
On a longer term there will also be the Midgard Site Creation Wizard.
Write task-based documentation first. Most systems have installation instructions that are quite good: "First do this, then do this, this, and this." But when it comes to actually using the CMS, they revert to feature-based docs, carefully outlining what each feature does, and typically from a back-end perspective.
We're mainly guilty as charged. The new documentation chapters Getting Started and Using Midgard CMS seek to help with this, though.
Separate the administration of the CMS from the editing and managing of content.
Midgard does this already. MidCOM Authoring Interface System (AIS) is the end-users' content management interface that is provided as part of the website itself. For site developers and administrators there is the Aegir interface which provides access to users, templates and code.
Users of a public web site should never - never - be presented with a way to log into the CMS.
This really depends of preferences. Maintainers of small business websites like to have the login link handy so they don't have to remember or bookmark it, whereas bigger organizations usually want to hide it, and potentially disable access to the editing interface from public network completely.
In MidCOM Site Template there are three possibilities here, depending on site settings (/midcom-admin/settings):
- Login link is always displayed (default)
- Login link is never displayed
- Login link is displayed only for specific port (internal staging port, SSL etc)
Stop it with the jargon already. I don't know what a portlet is. Or a component, module, block, or snippet.
Good point. Being mostly techies themselves, CMS developers usually fall into using jargon. And since there is no standardized vocabulary for content management, the jargon may vary greatly between projects. Jargon should not be allowed in marketing descriptions for the CMSs, and even elsewhere it should be documented or accompanied with a description.
Why do you insist Web sites have "columns"? I've used quite a few systems now that have the notion of a 3-column layout. They give me the ability to turn columns off and on, and put "portlets" into "content-slots". Where does this assumption come from?
The three-column layout is a very typical convention in blog engines, community CMSs and portal systems modeled after Slashdot. Most real CMSs provide a less cookie-cutter like approach.
In other news, Piotras reported that according to SecuritySpace Survey, Midgard usage grew 40% during September. Apparently we're doing something right.
Work Shift Planning with OpenPSA
Posted on 2004-10-06 19:26:34 UTC to Openpsa. 0 comments.
- All work positions will appear as resources in the group calendar
- Doctors can apply for a particular shift by making a reservation
- Email notifications will be generated monthly about unallocated shifts and sent to all doctors
- After each day the times of the work shift will be copied by the system to the doctors' hour reports
- The doctors check the generated hour reports and modify or add details as necessary
- The hour reports will be used for invoicing and customer reports
This way the doctors can easily control their availability and make their preferences on positions and shifts visible to the management. The management will also have a clear view into distribution of work loads, doctor availability and the filling of the shifts. Since hour reports will be automatically populated from the work plan, this will also reduce the amount of duplicate reporting needed.
Some modifications will be required to OpenPSA to make it work better with shift planning.
- Coloring tentative reservations differently from final reservations in the resource and week calendar views
- Enabling linking calendar events with tasks or processes
- Creating the copying tool for populating hour reports from the calendar events
Documentation about particular work positions or locations will be stored as attachments to the tasks. This enables doctors to quickly access them from the OpenPSA front page.
In addition to using Projects and Calendar, the client will also start using some other parts of OpenPSA, including Sales for managing new business projects and Discussion for company's internal chat.
To help make the system more popular the Horde webmail application will also be integrated to the OpenPSA interface.
The organization works in a very virtual and distributed way, and so OpenPSA will provide them with all the communication and management tools they need for efficient operation. Other reasons why the chose OpenPSA included a very good feature match, a friendly user interface, and cheap hosting costs.
Back from the North
Posted on 2004-10-11 21:45:22 UTC to Guns. 0 comments.

Since this was our first hunting trip we concentrated mostly on getting familiar with the forest area and what game can be found there. We slept the night in a Finnish teepee (laavu) with a fire to keep warm.
During the reconnaissance trips we saw rabbits, reindeer, swans and several species of arctic birds. I got close enough to try to shoot a willow ptarmigan (riekko) from about 35 meters but unfortunately missed. We also got close enough to a rabbit but decided not to shoot because we had too light shots loaded into our shotguns.
Some points for the next trip:
- Driving 12 hours each way was quite tiring. We should consider taking the car train to Kolari instead
- Camping in middle of the hunting area probably scared some game away. Next time we could camp elsewhere or rent a cabin from Muonio
- We should take a rifle in addition to the shotguns. We could've shot at least one black grouse (teeri) with a longer range weapon
- We should try to find a general purpose shotgun cartridge. Something around 3mm shots could work for both grouse and rabbits
- We need to find more about the game we're trying to hunt. Activity periods, habitats etc. to make them easier to find
- Some Skeet shooting would be good for accuracy
Some photos can be found from the Muonio gallery.
OpenPSA Documents supports WebDAV
Posted on 2004-10-14 14:22:31 UTC to Openpsa. 0 comments.
WebDAV is an HTTP based file transfer protocol supported by most major operating systems and Microsoft Office. WebDAV support now makes OpenPSA Documents a much more useful document repository.
The WebDAV server was implemented with the PEAR HTTP_WebDAV_Server package. So far I've only tested it as a network filesystem for Mac OS X and Windows XP and with the Goliath and DAV Explorer WebDAV applications. On Mac everything works quite smoothly but there can still be some glitches with Linux and Windows.
I would be happy to receive more test reports with other DAV clients. To try it out you need the following:
- Midgard 1.5.0 or later
- Latest CVS version of OpenPSA
- PHP 4.3.x
- The PEAR HTTP_WebDAV_Server package
Once all these are installed and running you can try the WebDAV server by pointing your DAV client to the /docstore_dav/ subdirectory of your OpenPSA system (note: the actual OpenPSA system, not OpenPSA Manager). For example, http://www.example.com/openpsa/docstore_dav/.
In Mac OS X Finder this happens by clicking Go -> Connect to Server or pressing Command-K. On Windows XP this happens via going to My Network Places and adding a new one.
Now the server stores quite verbose debugging information to /tmp/docstore-webdav.log. If you encounter issues, please mail me the relevant pieces of that log file. Logging will be turned off by default in a more stable release.
Caveats
- Folder copy/move action support is very hacky
- The WebDAV server does not yet support the access control system in Documents
- There are problems with special characters in file names
- Locks are currently used only for information, following them is up to the client
- Looks like WinXP allows only MS Office to directly open and save documents to an SSL-encrypted Web Folder, other applications require a local copy
The WebDrive application solves this by mapping the encrypted Web Folder to a drive letter.
As pointed out by Alan, Novell WebDrive provides a free tool for the same (Tomi noted that the license says it is free only if used together with other Novell products. Can anyone confirm?).
Unencrypted Web Folders can be mounted without external tools. - Nautilus 2.6.3 seems to have problems with the whole DAV connection
Here is log file of the current implementation being tested with the WebDAV litmus test tool.
Note: this file was first saved to our OpenPSA repository and then inserted from there to this blog post via MarsEdit. Desktop integration rocks!
Minor Midgard Blogging Tool Updates
Posted on 2004-10-18 21:55:29 UTC to Midgard. 0 comments.

Categorization works quite simply; the MetaWebLog API connector for the de.linkm.newsticker looks at its schema definition, and if it finds specific field definitions it will enable categorization. The two options here are:
Multiple categories per post:
"categories" => array (
"description" => "Categories",
"datatype" => "multiselect",
"location" => "parameter",
"multiselect_selection_list" => array (
"cat1" => "Category 1",
"cat2" => "Category 2",
),
),
Or single category per post (as is currently used on this blog):
"category" => array (
"description" => "Category",
"datatype" => "text",
"location" => "parameter",
"widget" => "select",
"widget_select_choices" => array (
"cat1" => "Category 1",
"cat2" => "Category 2",
),
),
Note: the category field must be stored in parameter location for MetaWebLog API support to work.
Now that this works well, I was able to set my MarsEdit to complain if I try to save an entry without setting a category. Categorization is important on this blog as it is used by the different Planet aggregators.
This means that now I can almost completely manage this blog from a desktop client. Only thing remaining would be handling the separate abstract fields, but I might as well make my next layout do without them.

The other new thing is that the net.nemein.rss news aggregator for Midgard CMS now has preliminary support for the Bloglines API. Bloglines is a popular web-based news aggregator that can be used as a central syndication server to reduce RSS-induced congestion.
It is easy to set net.nemein.rss to fetch it news from Bloglines instead of querying the servers independently:
- Register to Bloglines and subscribe to the feeds you want to aggregate
Note: you can populate the Bloglines subscription list by uploading the OPML list of subscriptions you get by accessing /channels.opml in net.nemein.rss - Create a topic handled by net.nemein.rss
- Go to Settings and select Bloglines from Subscription mode
- Enter your Bloglines username and password to net.nemein.rss
The infrastructure for this seems to work. Unfortunately I was unable to test this with a real production setup because Bloglines Web Services seem to respond extremely slowly today, causing MagpieRSS to timeout.
Updated 22:33: After adding some debugging calls I found out that the reason for problems with getting feeds from Bloglines was with HTTP Basic authentication. Bloglines uses email addresses as usernames.
While fopen happily opened such an URL after the email address was rawurlencoded, the Snoopy library in MagpieRSS was a different case. As I found out, it uses PHP's parse_url function which doesn't support @-signs in usernames.
I fixed this by a quick hack to the Snoopy fetch method:
$URI_PARTS = parse_url($URI);
if (!empty($URI_PARTS["user"])) {
// PATCH for Bloglines support, @ in usernames (bergie)
if (strstr($URI_PARTS["user"],"%40")) {
$URI_PARTS["user"] = str_replace("%40","@",$URI_PARTS["user"]);
}
// END PATCH
$this->user = $URI_PARTS["user"];
if (!empty($URI_PARTS["pass"]))
$this->pass = $URI_PARTS["pass"];
To make things easier I upgraded net.nemein.rss to include latest MagpieRSS. This means that Atom feeds should be supported now as well.
Even though the Bloglines API support works now, it still seems to be phenomenally slow, at least with my 100 subscriptions.
OSCOM's Visual Identity
Posted on 2004-10-19 13:04:45 UTC to Oscom. 0 comments.
We were thinking in OSCOM 4 about how to get the different Open Source CMS projects to feel more connected with the OSCOM process. One part of this was to get some link buttons that would make it easier for the projects to link to OSCOM.
Marc Infield from Infield Design responded quickly to Gregor's request. Here are his OSCOM "stamps":

Note: this logo is not under the open content license used on my weblog
The usage policy for these is still unresolved. Some ideas would be, though:
- The winged stamp would be the official OSCOM logo, usable only by the OSCOM association
- The other stamps could be used by individuals, projects and companies as a badge showing participation to the OSCOM process
- For companies and individual developers this means attending OSCOM Sprints or conferences actively and having a weblog or news feed aggregated on Planet OSCOM
- For Content Management Systems it means that they have to be available under an OSI-approved license and listed on the OSCOM CMS Matrix
- We could have similar logo policy as Debian has
This way the OSCOM stamp would be a quality criteria for CMS projects, telling that they are committed on working on implementing common standards in their system and developing the field of Open Source CMS in general. It would also enable end-users to distinguish real Open Source projects from proprietary ones, a bit like the OSI keyhole does for licenses.
Comments?
Test install of Midgard 1.6.0rc2
Posted on 2004-10-19 18:30:39 UTC to Midgard. 0 comments.
Midgard 1.6.0rc2 was released earlier today. I decided to try it on my local iBook.
Most of the stuff seems to install just like in my earlier installation, except that some packages have been renamed. midgard-lib is now midgard-core and mod_midgard is now midgard-apache1.
First problem was that I tried to install Midgard to a custom prefix, /usr/local/midgard, and midgard-config failed to give correct include path for that. After a bit of investigation, I found out that this was broken it this commit.
Rambo pointed out that this was due to incorrect Perl string comparisons in the code. Fixed now.
Next change to the installation notes was that configure for midgard-php4 needed to have the apxs path specified:
$ ./configure --with-midgard-config=/usr/local/midgard/bin/midgard-config\ --with-apxs=/usr/local/apache/sbin/apxs
Another thing to note was that since Midgard's Apache module has changed its name, the old module must be commented out from httpd.conf if you have an earlier Midgard version installed.
Also, in that case apachectl restart won't be enough. You have to run:
/usr/local/apache/sbin/apachectl stop /usr/local/apache/sbin/apachectl start
After the successful Midgard installation the next thing was to turn to midgard-data. Midgard 1.6.x series have a new database setup tool, datagard. Unfortunately it didn't run on Mac at first, but Piotras helped me with that and promised to fix some Fink-related path issues in CVS.
Here's how datagard looks like:

When datagard had upgraded my old Midgard database to the new MultiLang format, I was ready to access my Midgard Welcome Page. It greeted me with:
Next I'm testing setting up a new database with datagard.
All in all, Midgard installation on Mac OS X is still a bit difficult because of the dependencies. Chris Stephens pointed me to an interesting project that could help here:
MAMP is a Mac OS X installer (or disk image) package that installs the whole Apache, MySQL and PHP combo into the Applications folder and provides a Quartz application for running the processes. If we could get Midgard installed into this, it would make things a lot smoother.
New ways for Midgard coding
Posted on 2004-10-22 12:01:14 UTC to Midgard. 0 comments.
For years Midgard application development has been constrained by the fact that most of the programming work has had to be made through a browser window. Now there is a solution through WebDAV.
Earlier usage of better editors has been possible through two slightly hacky solutions:
- PHPmole is a nice IDE for PHP. However, it is written using the PHP-GTK toolkit, making it difficult to install
- The other solution was synchronizing code snippets to filesystem using the Aegir FileSync AddOn. However, this didn't work for creating new snippets in the file space
But yesterday I wrote a new Midgard WebDAV Server class, initially with only snippet editing support. With this system the Midgard snippet library space can be exposed as a network filesystem, or a Web Folder in Windows. This means that the code snippets can be managed completely with all the regular editors and IDEs.
Here's how browsing the /net/nemein MidCOM component space looks like on my OS X box:

The WebDAV Server class can be found from src/php-libs/webdav directory of the Midgard CVS repository. It requires PHP 4.3+ and the PEAR HTTP_WebDAV_Server package. To use it, create an active and authenticated page with empty style and the following content:
<?php
mgd_include_snippet("/MidgardDav/Server");
?>
Since this seems to work quite well (although tested only on Mac), we wanted to see how we could improve our development work using WebDAV. The first solution that came to mind was using the ultra-cool collaborative editor SubEthaEdit. With it we can easily see what the others in the Nemein team are doing, and get comments and review done. It really makes pair programming much more efficient.
As I write this I'm sitting in a WiFi-capable cafe, hacking on some components together with Kaukola. Here's how it looks (we were adding a new feature to the de.linkm.taviewer component):
The lines with blue background have been last edited by me, and the ones with pink background by Kaukola.
Standardized CSS layouts with Midgard
Posted on 2004-10-26 14:07:34 UTC to Midgard. 0 comments.
Based on my earlier blog entry, there was an interesting talk in OSCOM 4 about CSS Naming Conventions.
My after-talk discussions with Thorsten Scherler led to development of OSCOM specification for CSS Naming Conventions.
I've now used the XHTML skeleton from the specification for some websites, and have been generally quite happy with it. Here is a simple Midgardization of it. Simply paste it to the <(ROOT)> element of your style, and then add the CSS formatting to the <(css)> element.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="&(midcom_site["site_language"]);" lang="&(midcom_site["site_language"]);">
<head>
<title><(page-title)></title>
<meta http-equiv="Content-Type" content="text/html; charset=&(midcom_site["site_encoding"]);" />
<style type="text/css">
<!--
<(css-local)>
<(css-extra)>
-->
</style>
<link rel="stylesheet" href="&(midcom_site["uri"]);style.css" type="text/css" />
<(head-extra)>
</head>
<body<(bodytag-extra)>>
<div id="container">
<div id="branding">
<div class="grouplogo">
<!-- Insert logo here -->
</div>
<div id="branding-tagline">
<?php echo $GLOBALS["midcom_site"]['site_welcome']; ?>
</div>
<div id="branding-trail">
<(breadcrumb)>
</div>
</div>
<div id="nav">
<div id="nav-main">
<(navi)>
</div>
<div id="nav-language">
<!-- Language switching links -->
</div>
<div id="search">
<div class="search-input">
</div>
</div>
</div>
<div id="content">
<div id="content-main">
<(content)>
</div>
</div>
<div id="siteinfo">
<div id="siteinfo-credits">
Created by <a href="http://www.nemein.com/">Nemein Oy</a>.
Powered by <a href="http://www.midgard-project.org/">Midgard CMS</a>.
</div>
<div class="lastmodified">
<(last-updated)>
</div>
<div class="siteinfo-legal">
<!-- Copyright disclaimer and possible licensing -->
</div>
<div id="feedback">
</div>
<(edit-this-page)>
</div>
</div>
</body>
</html>
The places with comments are ones I'm still thinking how to pull dynamic content into.
New OpenPSA Campaign Query Tool
Posted on 2004-10-26 18:59:55 UTC to Openpsa. 0 comments.
Helia will be using OpenPSA for managing all their corporate connections, including students' work orientation periods and their service sales.
However, some of the screens in Sales have been left with quite an industrial look by Eero. One of the worst was the campaign query tool, which is used for searching contacts to be included to a campaign (mass mailing, event registration etc). This query form was quite hideous to begin with, but with addition of some new fields it simply didn't scale.
I've now reorganized it for better clarity:
Previously the query fields were organized quite randomly, but now they're in four separate groups:
- Area selectors (country, post codes)
- Company type selectors (business area, number of employees)
- Connection type selectors (products offered to them, sales project statuses)
- Result criteria (sorting etc)
Also, the screen now allows direct creation of new campaigns.
Planet Midgard updates
Posted on 2004-10-28 15:34:52 UTC to Midgard. 0 comments.
Planet Midgard is the blog aggregator displaying what's going on in the Midgard community.
Planet Midgard is now running latest version of net.nemein.rss aggregator, meaning a bunch of new things:
- Support for feeds in Atom format (previously we could aggregate only RSS feeds)
- UTF-8 support, meaning that we can now aggregate blog postings in non-western characters (especially Russian seems to be popular in the Midgard community)
- Hackergotchi support: if your feed has been marked to contain a "hacker head", it will be displayed together with your posts. See Planet GNOME for a good example on this
So, with these updates I would like to call for two things:
First of all, if you're a member of the Midgard community (contributor or active user), please get your blog aggregated on Planet Midgard. If you already have a blog, just mail me the URL to your RSS or Atom feed.
And if you don't have a blog, please start one. Blogs are a great way to communicate your ideas and stuff you're working on.
It is very easy to start blogging, either just create a new Midgard topic powered by the de.linkm.newsticker component, or sign up to one of the free services like Advogato or Blogger.
Note that we can also aggregate news releases from Midgard companies, and blog postings in languages other than English. Planet Midgard already aggregates Nico's posts in German, Alexander's posts in Russian and WALHI's posts in Indonesian.
Second, if you're already aggregated on Planet Midgard, please make a hacker head image of yourself. This gives a face to your posts, adding to the community feeling. If you see who is posting, it is easier to feel it as a conversation:

The hacker head (or hackergotchi) is an approximately 65 pixel wide and 85 pixel high transparent PNG image showing your face detached from its surroundings and added with a drop shadow. See some examples in Planet GNOME.
Once you have your hackergotchi image done, upload it somewhere and mail me the link (you can also mail me the image itself).
If you don't have the necessary graphics skills, mail URL to image you want to have it made from here and somebody will help you out.
BTW, for those with RSS aggregators (like NetNewsWire or Thunderbird), Planet Midgard is available at http://www.midgard-project.org/planet/rss.xml
Updated 2004-12-14: Hackergotchis displayed on Planet Midgard are now displayed also on a separate collection page.
Anttila won the Finnish Quality Award 2004
Posted on 2004-10-29 18:10:36 UTC to Business. 0 comments.
Major Finnish retailer Anttila was given the Finnish Quality Award 2004 yesterday by Speaker of Parliament Paavo Lipponen. Excellence Finland has an announcement on the award in Finnish.
I've worked together with Virpi Mikkonen and the rest of the Anttila team in several related projects, and they are really committed to the quality process. The projects we've implemented have included management of customer feedback using OpenPSA Support and process diagram integration into their Midgard-powered Intranet.
Congratulations to everybody involved!
Midgard 1.6: Power, Flexibility, Out of the box
Posted on 2004-11-02 17:21:52 UTC to Midgard. 0 comments.

After much hard work by Piotras and the rest of the Midgard team, Midgard 1.6 is now the stable release of the Midgard CMS.
This is very cool since it brings lots of new features like MultiLang and datagard available for the Midgard population. The release announcement says about the new data package:
The revised Midgard-data package provides an out-of-the-box setup complete with Aegir and Spider administration tools and the MidCOM component framework. Aegir is a comprehensive and powerful administration tool targeted at Midgard power users. Spider provides similar administrative features in accessible way, allowing disabled users and simpler web browsers to manage websites. In addition to the Midgard applications, midgard-data also ships several command-line utilities including the yamp packaging scripts useful to Midgard application developers and the datagard Midgard database and virtual host setup tool.
MidCOM 1.4.0 is a full component framework which enables site builders to construct their web sites from ready-made and configurable site features, or components. All MidCOM components provide uniformal and localized ways for configuration and content management. The configuration system allows site developers to fully control the way the components behave, including their output templates and content structure and form field definitions.
We will hopefully get started with rolling the release out to client servers late this week, and will make the UTF-8 and MultiLang conversions after a bit of internal upgrade testing.
Binary packages are already available for Debian unstable, with RPMs and Debian testing .debs expected tomorrow.
In related news, Midgard usage on public sites grew 11% during October, according to SecuritySpace.
This is the New Nemein
Posted on 2004-11-03 21:23:33 UTC to Business. 0 comments.
While the new visuals are nice, the even bigger change is in the information architecture. Much of the site is now driven by our internal IT systems, including the automatically updated client lists and news postings.
The publication of the new site marks the final stages of Nemein's transformation from a venture-funded proprietary software company to an Open Source consultancy. Now we focus more on our client cases and the possibilities of the Midgard technology instead of our product portfolio.
Nemein team members are also given their own voice on the site through weblogs and shared bookmarks. In addition, some previously confidential information like our standard pricing and internal IT policy is now publicly available.
In the other news, Torben has now started implementing MidCOM filesystem migration, as mandated by the recently passed mRFC 0006. I've already seen a running system of the new filesystem-based MidCOM code, and it seems substantially faster. Next interesting thing will be to get actual Siege results and see how the component migration will be actually done.
Updated 2004-11-04: Kaukola has now started testing the filesystem MidCOM version, and apparently it is easy to integrate to midcom-template. Cool! It starts to look like I was right to endorse this approach.
New apartment
Posted on 2004-11-06 18:17:28 UTC to Life. 0 comments.
Our new apartment is located in the Five Corners district of Helsinki. A nice two-room flat on 7th floor with view over the roofs of the city. It had been renovated for the previous inhabitant, so it is in almost brand new shape - even though the building was constructed in the 60s.
I liked my previous apartment on Eerikinkatu, but 21 square meters was simply too small for the two of us.
Yesterday we borrowed Rambo's Land Rover after the work and drove enough stuff here so we can stay at the new place: futon, Internet connection, clothes and kitchen utensils. We'll move the furniture and rest of the stuff later with a bigger car.
Filesystem MidCOM going strong
Posted on 2004-11-08 16:16:42 UTC to Midgard. 0 comments.
The filesystem migration of the MidCOM component framework has now progressed enough that it actually powers this site, as reported by the HTML generator meta tag:
Midgard/1.5.0/SG MidCOM/1.9.0+cvs.2004.11.05 PHP/4.3.9-1
If things are going this smoothly, the following will only be needed before we can replace the old MidCOM 1.4.x tree with the mRFC 0006-compliant version:
- The rest of the components need to be converted
- midcom-template needs some modifications to the <(code-global)> element(s):
// We don't need old snippet-based MidCOM // mgd_include_snippet("/midcom/midcom"); // Use midcom-fs instead define ('MIDCOM_ROOT', '/path/to/midcom/lib'); define ('MIDCOM_STATIC_ROOT', '/path/to/midcom/static'); define ('MIDCOM_STATIC_URL', '/midcom-static'); require(MIDCOM_ROOT . '/midcom.php'); - We'll need a "midcom-remover" repligard package that will remove the MidCOM snippets from the database and create a compatibility snippet to /midcom/midcom
Torben has reported an approximate 25% performance improvement from the filesystem migration, but we'll have to wait for the siege results.
In the other news...
mRFC 0008, the time-based release process for Midgard entered voting today and passed in 20 minutes. This means that we will implement a release process modeled after the one GNOME project uses. I'll post more about this and other talking points for the Midgard Gathering that will be hosted by AnyKey in Sweden this weekend.
In addition, we helped Taya and Guram from Qartu in Georgia (საქართველო) deploy their first Midgard server last week. They've already had their first customer demos and we're looking forward to helping with them in localizing Midgard to Kartuli.
Talking points for the Midgard Gathering
Posted on 2004-11-10 18:06:46 UTC to Midgard. 0 comments.
On thursday afternoon the Nemein team together with Edi from Dialogi will pack into Rambo's Land Rover and take the Midgard-powered ferry to the Midgard Gathering in Linköping, Sweden.
The meeting agenda has been available for a while now. To complement it, here is my list of talking points:
MgdSchema is the new object abstraction back-end for Midgard proposed by Alexander and being developed by Piotras. With MgdSchema the Midgard content types would be defined using XML schemas instead of hardcoded into the Midgard libraries. While MidCOM datamanager already allows site developers to freely define their own content types, their storage using Midgard's parameters API causes performance issues.
The new model would solve the performance problem by translating schemas into database tables when Midgard is loaded. It would also make Midgard object types accessible from other programming languages by using the libdba and GObject technologies from the GNOME project. Alexander was able to create Python, Ruby and .Net/Mono bindings to his proof of concept during the Poznan meeting.
mRFC 0008 was passed this week, we also have to talk about implementing the new Midgard release process. I want to have a list of TODO items assigned to people by the time we leave Linköping. So far I see the following items:
- Set up the Midgard release calendar to midgard-project.org
- Create a translators' area on the site
- Consolidate and update translation instructions for Aegir, MidCOM and Spider
- Start gathering a list of translators with their assigned languages
- Create a report showing completion percentages for the different translations
- Schedule a "translation test drive" to try to get a number of languages to an acceptable 60-70% level
- Work out how to migrate 1.6 installations for the new filesystem-based MidCOM in 1.7
Since Piotras is attending, we will also take a look at solving the Midgard Core bug affecting the net.nemein.registrations component. The new mgd_debug_* functions in Midgard 1.6 should make that easier.
Updated 2004-11-12 from Linköping: Due to AnyKey's designer Robert Renling being linked with the GNOME Journal community, another important focus point for the gathering will be discussion on GNOME integration. As MgdSchema will essentially bring GNOME technologies to the server it would make sense to get the two communities communicate. The Open Source desktop severely needs server and groupware integration, and Midgard can help there.
New look at NemeinQuiz
Posted on 2004-11-11 13:00:40 UTC to Midgard. 0 comments.
NemeinQuiz is an online exam tool originally developed for Pharmaceutical Information Centre for their pharmaceutical sales courses. We published the package as Open Source with some quick setup instructions.
While setting up a Midgard-powered site for the Student Union of Helsinki School of Economics (KY), I decided to take another look at NemeinQuiz to see how well it would integrate into the MidCOM template site as the online questionnaire.
Some quick screenshots how it looks like (in Finnish, sorry):


The old instructions were mostly valid for usage with MidCOM as well. Here is what I did:
- Created a new prefixed host /quiz under the site, using same style as the main host
- Set the root page of the prefixed host to be active
- Created root-level topic named __NemeinQuiz and managed by a "Quiz users" group
- Put the following code to the page's <(code-init)> element:
<?php // Midcom-template compatibility $GLOBALS["midcom_site"]["uri"] = "/"; // Which language to use, currently localized to finnish and english $nemein_net['language']="fi"; // Try to instance the root topic $GLOBALS["midcom_site"]['root_topic'] = mgd_get_object_by_guid("e03d770ca230df1f11137badfd6ae1a4"); // Single sign-on with the live site if (!$midgard->user) {
// Allow single sing-on with the main site
$auth_conf['host_override'] = '';
$auth_conf['path_override'] = '/';
// Include the NemeinAuthentication library
mgd_include_snippet("/Nemein_Authentication/Init");
// Refresh existing session from user's cookies
$login_error = auth_by_cookies();
}
// Support for anonymous submission, add correct
// account information
if (!$midgard->user && $argv[0] != "edit") {
mgd_auth_midgard("quizuser","password",0);
$midgard = mgd_get_midgard();
}
// Don't log missing localization strings
$localize_save_nonexistent=0;
// Which group owns the __NemeinQuiz topic?
$nngroup = mgd_get_object_by_guid("d70f026e977819dda67851dc377e73ea");
// Start the Quiz application
mgd_include_snippet("/NemeinQuiz/UI/URL-Parser");
?> - Put the following code to the page's content:
<?php mgd_include_snippet($nemeinquiz['header_snippet']); mgd_include_snippet($nemeinquiz['content_snippet']); ?>
- In addition, created an <(edit-this-page)> element to provide better UI-level compatibility with MidCOM:
<div class="edit-this-page"> <?php if (!$GLOBALS["midgard"]->user) { echo "<a href=\"/midcom-admin/?midcom_site[redirect]=".$GLOBALS["midgard"]->uri."\">Login</a>\n"; } else { if ($argc > 0 && $argv[0] == "view") { echo "<a href=\"".$GLOBALS["midgard"]->self."edit/both/".$argv[1].".html\">Muokkaa sivua</a> | "; } echo "<a href=\"".$GLOBALS["midgard"]->self."edit/\">Luo sivu</a>\n"; } ?> </div>
In addition to NemeinQuiz, KY is also using the new net.nemein.quickpoll component for running simple, "Slashdot-like" selection quizzes on the front page.
NemeinQuiz is also available as questionnaire tool bundled in the TownPortal package.
Why do we need MgdSchema?
Posted on 2004-11-13 09:30:30 UTC to Midgard. 0 comments.
MgdSchema is the new way for defining Midgard's object types in XML being worked on by Piotras. So, why are we sponsoring this development? Here are some blue-sky points brainstormed in our hostel during the first evening of the Linköping gathering:
- List optimization gives ability to tune SQL queries with custom limiters for faster lists
- Extension of Midgard objects with arbitrary fields without current parameter-induced performance loss is possible
- Inheritable access control of both read and write permissions can be set for groups on per-object level
Bonus items:
- Maintainability of the C code is better without having to maintain separate function sets for each object type
- Scriptability of the new GObjects and Gnome-DB based core provides Midgard connectivity to programming languages like Python and Ruby
- Bringing GNOME technologies to the server links Midgard more closely with an active community
- Standard metadata is available for all MidgardObjects including creator, revisor and locking
- Database independence provided by Gnome-DB enables administrators to set up Midgard with any database they want
So far these are only ideas but hopefully today's meeting will give more form for them.
The connected gathering
Posted on 2004-11-13 09:52:06 UTC to Midgard. 0 comments.
We're now in the Midgard Gathering in Linköping. Since Sweden has been too far for many Midgard community members, we're trying to make the event as connected as possible.
So far it is possible to follow the event live from two web cams:

The web cams are available here and here. To see the image log in as guest/guest.
In addition to the web cams, there are tons of photos from the event. Expect first ones to be posted to Midgard Gallery later today. We've also shot some interviews on video. The plan is to edit those on the drive back to Stockholm tomorrow and publish them soon.
As Torben wants to attend the meeting from Bavaria we're also thinking of rigging up a TeamSpeak system and we'll also be available on the IRC channel. Discussion is also available as IceCast broadcast.
So most the event will be available for online participation. With the important exception of beer.
Some MgdSchema notes
Posted on 2004-11-13 16:35:28 UTC to Midgard. 0 comments.
Here are quick notes from today's MgdSchema discussions with Piotras.
- The idea is to define Midgard objects in XML the same way as Repligard does
- Current status of MgdSchema is an app that parses the schema and displays it as debug info
- The object definitions will be reloaded every time Midgard is started
- MgdSchema will provide the object types as GObjects
- The GObjects are stored using the Gnome-DB abstraction layer
- When mgd_get_article() is called, the PHP binding will get the GObject from Midgard core instead of making its own queries
On the database backend, the object would be split to three or five tables. GUIDs will be used for linking same record between tables:
schema's own table (based on the XML file, same name as schema) with all the properties from the schema.
| guid | title | content |
|---|---|---|
| abc | Cool news | Blah blah blah... |
metadata table with Midgard ownership and metadata info:
| guid | creator | revisor | ... |
|---|
membership table for tree structures and ownerships:
| guid | parent | extra |
|---|
record_extension table (parameter API)
| guid | domain | name | value |
|---|
localization table (for MultiLangable fields)
| guid | language | property | value |
|---|
The way forward:
- Schema loading/parsing
- GObjectization of the schema
- Object persistence through Gnome-DB
- Query API (query and fetch)
- Storage API (create and update)
- PHP5 bindings for the object
- Object serialization
- Repligard-like tool based on MgdSchema
- More complete database handling
- Modification of database tables based on loaded schemas
- Complete "Classic Midgard" schemas
- 1.x compatibility API written in PHP (Midgard Lite like)
Updated 17:27: Since the gathering has been mostly on agenda, and my talking points are mostly handled, we can focus the main thing of any Midgard event:
Project GNOMEgard
Posted on 2004-11-14 12:44:42 UTC to Desktop Midgard. 0 comments.

Session notes from Linköping Midgard Gathering by Henri Kaukola.
The problem of the Open Source desktop systems is that they are designed only for one user per time. There's very little information sharing. Integration between server software and desktop world is the key to Open Source world domination.
- Document management system must support WebDAV
- News pages must provide RSS syndication and some remote editing API
The current Midgard/MidCOM applications are doing pretty nicely in the integration sense.
We should be able to connect Midgard to Gnome with MgdSchema. The current data storage in Gnome is the Evolution data server. One way to move towards Gnome integration would be to hack the Midgard library to provide API towards Gnome. The first thing would be ensure that Nautilus and Gnome Blog would be able to connect with Midgard. We should also investigate how to get Tomboy working with Midgard. Apparently there is some work on implementing a Wiki remote posting API for it.
Action items:
- Blogs for Robert, Edi and Piotras and get the blogs planetized (Planet Midgard and with Robert, Planet GNOME)
- Branding of Midgard into Gnomish-style, start from the Web site and applications
- Edi could use Dialogi's image bank to get some Finnish landscape images, delivery to Robert
- Set up Gnome on Bergie's laptop and debug why Gnome Blog and Nautilus have issues with Midgard APIs
- Keep Tim Ney informed and ask TigerT for a beer :)
Milestones:
- Branding, easy to start by making Midgard look like Gnome. The branding should be done to all Midgard applications (MidCOM, OpenPSA, etc.)
- We should follow the Gnome Human Interface guidelines where applicable
- Communicate with the Gnome community -> we need a double-agent who'd have good presence in both Midgard and Gnome communities. Post more screenshots, the Gnome community is very visual. Also, we should post stuff about the possibilities of the Gnome-Midgard co-operation.
- We should adapt Evolution style for the OpenPSA Web site
- Try to get gnome.org or some Gnome sites run on Midgard. Gnome Journal could be a start as Robert is involved with that
- Integrate parts of the Gnome desktop apps to Midgard (Nautilus, Gnome Blog, Tomboy)
- Make cool examples of Midgard integration, make the Gnome community aware
- We want Gnome developers to use Midgard tools
- The focus should be on the fact that one is rarely sitting next to Gnome desktop, with Midgard one could have Gnome desktop available over Internet. Midgard should be marketed as the platform for Gnome Web Services
- We need a new way to replicate information also outside Midgard (Repligard is only usable between Midgard installations). One should be able to keep her files/information in sync between computers (client/server ideology i.e. in stationary computer and laptop sense). This could be done with SyncML (the last save will apply, thinking of incremental replication)
We should also think beyond the Gnome. It should run on any platform and sync with any desktop. The re-write of the Core could make it more Windows-friendly.
Midgard should be made look more Gnome-like (icons, colors, terminology, fonts, etc.). Easy to start from the button/icons.
Weekend in Ukraine
Posted on 2004-11-24 07:27:19 UTC to Life. 0 comments.
We spent last weekend in Lviv (Львів, Lwow, Löwenburg, Leopolis), Ukraine together with Taya from Georgia and Nata, Ania and Monika from Poland. I had seen them last time in Caucasus, and the reunion was very nice. We also got to do some business planning regarding bringing Midgard to the Georgian market.

Lviv is a former Polish city given to Ukraine at the end of World War 2. The old town shows Polish architecture of 18th and 19th centuries very nicely, and listed on the UN World Heritage registry. There are old military buildings, an Armenian church and a rococo-styled opera building.

We spent most of the weekend just sightseeing and enjoying the company. On sunday night we went to see a performance of Verdi's Aida opera in the old theatre. A very traditionalistic performance where carpenters started hammering the set together every time the curtains fell. Before the opera we dined in an Uzbek restaurant.

The only thing shadowing the gathering was the Ukrainian presidential elections held during on sunday. As reported by all major news outlets, the elections were heavily rigged for the ruling party's candidate, and civil unrest was feared as a result.
We caught the first signs of the unrest in sunday evening. All ATMs had been emptied of cash and marked squares were filled with muttering groups in their fur hats. In the opera an old woman asked from us with tears in her eyes why we had come there in such sad times.
Next morning I escorted the girls to the railway station and airport at 6 am, early enough to avoid most of the demonstrations. When I returned to the center they had already started. The hotel keeper pointed out to the Rynok squere and commented laconically: "Revoluzija". I decided to take a closer look, and spent next hours in an old Austrian-style cafe overlooking the Svoboda street where most of the supporters of the opposition candidate, Yushchenko were gathered.

The demonstrations stayed quite peaceful during monday, and I got my plane to Vienna in the afternoon. At the same time black cars were ferrying businesspeople to their private jets out from the city. Since then, the situation has escalated quite a bit, with city of Lviv refusing to accept the election results, and reputedly barricades being constructed on the National Square of Kyiv. Having seen the situation develop, I will definitely monitor the news about it.
Updated 2004-12-27: After weeks of demonstrations and international attention, the Ukrainians held new elections yesterday. This time Yushchenko won clearly. However, Yanukovych has challenged the result.
Franchising as Growth Model for Open Source Business
Posted on 2004-11-26 18:00:45 UTC to Business. 0 comments.
Open Source business is a services industry. As in all service industries, the big question is the standard investor question of "How do you make money while you sleep?"
We've been thinking about this for a while, considering different growth strategies. One model that would seem very viable is franchising. According to WikiPedia:
Franchising is a method of doing business wherein a franchisor licenses trademarks and methods of doing business to a franchisee in exchange for a recurring royalty fee.
In our case this would mean giving other Midgard consultancies the right to use the Nemein brand and working model in their operations. In return, they would pay a franchising royalty to us. According to World Franchising, this royalty is typically 3-6% of revenue.
What would be the benefits to the franchisor? There are several:
- Established name in Midgard solutions
- Strong client portfolio
- Direct technical support from several main developers of Midgard
- Good management systems and clear IT policy
- Training period on working models together with the Nemein team
- Clear technology strategy
- Marketing and sales support
For the clients this would also be an advantage as they could be sure they're getting real Midgard competence. From a chat with a potential franchisee:
The idea with all this is that we can work together more efficiently and that clients will have a consistent experience. Essentially the big mac will taste the same everywhere.
Being less risky than starting overseas offices, this model is certainly very compelling. We are now piloting the approach with two companies, one in an established western market, and one in an emerging CMS market. If this works out, we might soon see the golden arches of Midgard spread around the world.
Updated 2005-01-03: Hiisi.fi comments "Not a bad idea. Might work once you have first found a way to become a reputable business" and points to two other related posts: Dan Bricklin and Frank Hecker
F.U.D. trailer available
Posted on 2004-11-27 07:52:52 UTC to Oscom. 0 comments.
The trailer of the Wyona Pictures movie F.U.D. - Fear Uncertainty Doubt documenting the Open Source community is now available. A BitTorrent client is needed for downloading.
As written by Chregu, the movie has been shot in two locations, OSCOM 4 in Zürich and ApacheCon 2004 in Las Vegas.
Filesystem-enabled MidCOM-template now available
Posted on 2004-11-29 16:34:47 UTC to Midgard. 0 comments.
Testing the new filesystem-enabled version of MidCOM is now easier than ever, with the new forked and fs-enabled version of midcom-template:
- Get fs-midcom from CVS
- Install the new fs-enabled midcom-template from CVS
- Install fs-midcom under /usr/share/pear/midcom
Note: you can change this path from /midcom-admin/settings - Symlink the static directory to your DocumentRoot. For example:
ln -s /usr/share/pear/midcom/static /var/websites/www.ruutukuningatar.net_80/html-data/midcom-static
...and you're done. My site now runs this new midcom-template. The transition was very easy.
Testing Ubuntu, blogging on GNOME
Posted on 2004-12-01 16:12:52 UTC to Desktop. 0 comments.
Kerttu needs a computer to accompany the Psion notepad for her biology studies. Since I didn't want to get a desktop system, I took one of the old company HP Omnibook 500 laptops and set up Linux on it. This gave me a perfect opportunity to try the new Ubuntu distribution.
The first installation was a problem because the system had some data from an old Red Hat 8 installation that I wanted to preserve. Ubuntu refused to install on the existing filesystem, and only worked after I copied the data to my iBook and let the Ubuntu installer format the hard drive. Other than that the installation was very smooth. Ubuntu probed all the hardware correctly, including my D-Link WLAN card and the display. However, on startup X refused to work.
To solve this I had to manually install the xserver-xfree86 and xbase-fonts packages.
After that the system has behaved nicely, presenting a very attractive desktop with a good set of tools preinstalled, including Firefox and Openoffice.org. The only problem that still lingers is that the Omnibook display tends to turn white after a while of use. This is a known hardware problem apparently caused by loose display connector.
Blogging on GNOME
Having a new GNOME installation in front of me allowed me to finally test the blogging functionality of the desktop.
By default Ubuntu doesn't include any blog-related tools, but they were easily available from the universe repository. Simply edit the /etc/apt/sources.list file and uncomment the two lines pointing to universe. You can probably also enable them in the Repositories window of Synaptic.
After editing the APT sources list, I fired up Synaptic package manager, which is the default package installation tool for Ubuntu. The three packages relevant to blogging were blam, an RSS news reader, gnome-blog, a simplistic blog poster and blogtk, a slightly more comprehensive weblog editor.
Blam is an RSS news reader. It uses a three-pane layout where the subscribed channels and their unread item counts are shown on left, headlines of current channel on top and the content at the bottom. Blam also adds a notification icon to the GNOME panel reporting when new items are available. Unfortunately Blam doesn't do too well in comparison to the popular Mac OS X newsreader, NetNewsWire. The UI feels much clunkier and simple tasks like removing multiple subscribed feeds are not possible. Integration with desktop blogging tools is also missing.
The blogging tools, gnome-blog and BloGTK also fare quite badly against the common Mac OS X or Windows tools for the task like MarsEdit and ecto. Neither application supported RSD auto-probing of MetaWebLog settings, or uploading of attachments using the metaWeblog.newMediaObject API. Gnome-blog aims to be a quick tool for blogging notes, and its simplistic interface integrated with the GNOME panel fits this paradigm well. However, with BloGTK the editing of existing posts has been needlessly hidden under a menu item. The email-like paradigm used by MarsEdit would work much better, as would initiating the edit calls from Blam.
Note: There was an issue preventing the GNOME desktop blogging tools from being used with Midgard CMS. A single line fix was committed today based on my tests. Now blogging from the GNOME desktop to Midgard should work. Another small step in the GNOMEgard program.
This post has been made using BloGTK and then edited using MidCOM AIS to add images and categorization.
Housewarming party
Posted on 2004-12-06 21:08:25 UTC to Life. 0 comments.
Kerttu and I held the housewarming party for friends last night in our new home. A very nice evening with over 20 guests. The dishes were well received, with caipirinhas and salmon rolls being the most popular offerings. Producing the caipirinhas from cachaça given by Tim was somewhat of a show, as we had to use a bokken sword for breaking the ice cubes.

We themed the evening around dishes from Russia and nearby countries. This meant lots of smetana, sour cucumbers, suhariki, churcheklas and pancakes topped with condensed milk. On the beverage side we served all kinds of improvised drinks based on Ukrainian pepper vodka, Georgian chacha and Polish zubrowka. To our surprise, several people actually confessed to liking chacha. Churcheklas, the Georgian sweets produced from nuts and grape juice were also consumed with great enthusiasm after initial confusion on whether they were sausages or peppers.

It was very nice to meet so many old acquaintances during the evening. Maud's avec Unto was an old live-roleplaying friend from mid-90s, Arwen had returned from her studies in Sweden, and the Midgard project founder Jukka is starting his own company. It was also pleasant to see my brother Ville and his wife before they depart to Brazil for the winter.
All in all, a very good evening and trial run for the apartment. Last guests left around 3am.
Today we woke up late in the afternoon, and lit the customary two candles to the windowsill to celebrate Finland's 87th indepencence day. On our way to dinner we saw the torch parade of student unions on the market square.

New blog layout
Posted on 2004-12-06 22:02:21 UTC to Life. 0 comments.
I've finally implemented the planned year 2005 layout on my home page this weekend. Due to arranging the housewarming party yesterday it is still somewhat unfinished, but still nicer than the old one.
Main reasons for revising the site layout was that I needed more space for some intended metadata. In addition, Kerttu has been bugging me about how boring the old layout was. Some new metadata planned include linking all content items to location, weather and related items based on categorization. Current location can be reported with a simple SMS interface.
The header image is a photo of the Caucasus ridge in evening taken from Shilda, Georgia northeast to Dagestan.
Thanks to Adam Douglas for helping me fix some issues with clearing floating elements.
Please tell me how you like the new layout.
Getting closer to Windows
Posted on 2004-12-10 13:21:23 UTC to Midgard. 0 comments.
For years there has been talk of getting Microsoft Windows supported in Midgard CMS. Now the situation seems to be progressing, being lead by Daniel S. Reichenbach from Best off. As most production websites are run on Unix, why are we interested in running Midgard on Windows? The Motivation part of mRFC 0011: Midgard on Windows Platform replies:
Having Midgard available for the Windows platform would lower the barrier of entry into the project. Web developers could easily check the system out by installing it on their desktops and smaller companies could run their Intranets with MidCOM or OpenPSA installed on their Windows-based file or print servers.
In addition to server usage, the Windows port would ensure that Midgard is available on all major desktop operating systems (Windows, Mac OS X and Linux). This would bring interesting possibilities with replication, including offline usage of Midgard-based business applications like OpenPSA.
With the new mRFC, the situation sounds quite promising. Some key quotes from my chat with Daniel:
bergie (13:30:52): dsrbo: BTW, there has been win32 discussion again on midgard-user. Where did that thing end up in the end?
dsrbo (13:32:13): that ended on my win32 partition i've not used for months now :( although it could be patched to work again with little changes
bergie (13:32:42): so it actually works?
tarjei (13:33:06): cool
dsrbo (13:33:19): the project workspaces for visual studio need some updates, and this should be it.
... dsrbo (13:38:06): we could have one installer with apache2, php4 plus midgard and all apps done, it's just a matter if time. write a draft what you would like to have included in a midgard win32 distribution and make it mRFC, then I can implement it by the book :-)
bergie (13:40:22): dsrbo: what kind of schedule do you think would be possible?
dsrbo (13:42:39): bergie: I will be busy with earning money until 21st Dec. Afterwards I have two weeks time for such a thing. So, if you can draft a complete mRFC until then, I could make it my new years present
Preparing for OpenPSA usability day
Posted on 2004-12-14 13:47:53 UTC to Openpsa. 0 comments.
Tomorrow has been marked as the Beautiful OpenPSA Day in our corporate group calendar. The idea is to gather the whole team together to fix OpenPSA usability and eye candy issues. The date was set down when we decided to move Midgard CMS closer to the GNOME desktop usability-wise in an effort known as Project GNOMEgard.
Here are some ideas on what we should get started tomorrow:
- Usability
- Migrating forms to more accessible model using XHTML labels and fieldsets
- This will be a long road. The login screen and some individual screens now implement this
- Implementing access keys for switching between different tabs in OpenPSA applications
- Access keys in top menu are:
- 1: My summary
- 2: Calendar
- 3: Sales or Contacts
- 4: Projects
- 5: Documents
- 6: Personnel
- 7: Reports
- 8: Support
- 9: Email
- 0: Logout
- Implementing as much as GNOME Human Interface Guidelines as is practical
- Eye candy
- Switching Documents to use GNOME document icons
- Adding GNOME stock icons to buttons where appropriate
- Selecting identifier icons for several different resource types in OpenPSA
- Person

- Company (or department)

- Document (attachment)

- Event (calendar reservation)

- Project
- Task (or TODO item)

- Using GNOME palette for the default UI colors
I'll update this document as we go. If you have any additional items, please let me know.
The icons above are deep linked from their authors' sites. I know this is the wrong approach but I'm in a bit of haste. Sorry.
Updated 2004-12-15 14:35: There have been quite many CSS and API changes today, including a complete overhaul of the UI colors to GNOME palette and introduction of the openpsa_icon() interface for easily using icons from library in the applications.
Before:
After:
This is a good start, but getting OpenPSA to the GNOME level of usability will still be a long road.
Managing nanocorporations with OpenPSA
Posted on 2004-12-14 22:48:22 UTC to Business Openpsa. 0 comments.
There was an interesting story in a recent Yrittäjä magazine about a concept called nanocorporations, or networked small businesses.
Nanocorporations are formed by one or two individuals around a core competence. They are able to manage growth and larger projects by networking with other similar units, which again can network with other units. This all forms a fine mesh of interconnected and dedicated companies which should be able to react more swiftly to changes of business climate.
This concept should sound familiar to most readers of my blog. While Nemein slightly exceeds the maximum size of a nanocorp, our operational model still closely resembles it. We focus very tightly on building web based information systems on top of the Midgard platform. To provide more complete solutions we then work together with individual programmers, graphical designers, media consultancies and hosting providers. Most of these are also companies of similar scale and working model.
The big question is how to manage projects efficiently when such a big number of subcontractors are involved. In most cases this is handled by setting up a single project area in OpenPSA where all are given accounts. However, this forces the contractors to manage the work using our system instead of their own.
I'm now trying to figure out a good way to handle this so that each organization could manage their part using whatever management system they prefer, but so that all could also see the work being done by others. For now this could be called a Keiretsu model.
The basic idea is that we should have a technology-neutral but tightly specified API systems could use for communicating with each other. To make things easy we could build it on top of the XML-RPC layer. When such API would be available it would then be up to the different systems to implement it. As support from larger financial or ERP systems is highly unlikely, plugins could be developed by third parties.
The API should be relatively generic:
- Project Management
- List projects or tasks
- Modify a project or task
- Create a project or task
- List hours reported to a task
- Add hour report to a task
- Sales
- List sales projects
- Modify a sales project
- Create a sales project
- List contacts in a sales project
- Modify a contact in sales project
- Add a contact to sales project
- List activities in a sales project
- Modify an activity in sales project
- Add an activity to sales project
- Support
- List support tickets
- Modify a support ticket
- Create a support ticket
All operations would be run with an user account, letting the system in the other end handle access control. This would also allow desktop tools to utilize the same API for communicating with the server. For example, it would be easy to imagine GNOME Planner and Gnome Time Tracker communicating this way with back-end project management systems.
For calendaring an existing API like SyncML or GroupDAV could work better.
As a side note, nanocorporation seems to be a fairly new word. Google lists only 19 hits. The main proponent of the term is the Sohodojo portal.
Historical Helsinki-Malmi Airport Threatened
Posted on 2004-12-17 11:07:17 UTC to Flying Politics. 0 comments.

The secondary airport of Helsinki and an important historical monument, Helsinki-Malmi (EFHF) is now under threat of demolition from the City planning council. This would rid Helsinki of its only airport accessible to smaller planes and effectively kill a whole branch of Finnish aviation industry.
Threat to aviation and security
Closing Helsinki-Malmi would remove Finland of its second-busiest airport. In addition to being a busy private and small aviation airport, Helsinki-Malmi is also the main center for pilot training in Finland. In the unifying Europe travel and communications are increasing in importance. Especially to remote countries like Finland it is very urgent to ensure a smoothly operating flight industry in order to not get isolated from centers of politics and commerce. This is not viable if flight training has to be dispersed to more remote and expensive locations.
Helsinki-Malmi also operates as the secondary airport to Helsinki-Vantaa in case of strikes or catastrophes. If Helsinki-Vantaa would be temporarily closed for some reason, like it was during a strike in late 80s, Helsinki-Malmi provides a convenient location. Routing the flights in such situation to Pirkkala or some other airport would make air travel difficult.
In addition to the hard values, Helsinki-Malmi is an important recreational area for citizens of Helsinki. Parachutists, private aviators and flight enthusiasts would lose the only location for their hobby near the capital. Closing Malmi would make Helsinki one of the few major European cities not accessible by smaller aircraft.
Helsinki-Malmi is also an important base for rescue helicopters and the Finnish border guard. The state has recently made huge investments into the border guard helicopter base in EFHF, and these investments would now be lost.
Historical value
As one of the few operational examples of 30s functionalist architecture, and such is listed as one of the 100 most endangered sites by the World Monuments Fund.
As the previous main airport of Helsinki, Helsinki-Malmi has also played its part in several events in Finnish history. It has housed Finnish and German fighters protecting Helsinki from Soviet bombers in WWII, and was the site where Mannerheim's funeral procession started.
The value of Helsinki-Malmi is not only in the round terminal building, but in the whole, functioning airport milieu. Destroying that would be irreversible and completely pointless. It reminds of other cases where regimes have destroyed important heritage for the purpose of vanity.
Unrealistic housing plans
Malmi was originally selected as the site of the new Helsinki airport contrary to recommendation from pilot hero Charles Lindbergh because of its unsuitability for housing. The whole airport has been built on top of a swamp, making the construction process very expensive. In the end a new main airport had to be constructed to Pakkala because the landing strips couldn't take the weight of new, heavier passenger aircraft.
The swamp would make house construction too expensive to be viable still today. The city planning council is proposing development of small private apartments to the area. The heavy-duty foundations required when building on such area to prevent houses from sinking would make the apartments very expensive.
At the same time there are several far more suitable locations available nearby. Only few kilometers northeast of the airport begin the drier forests of Sipoo. In addition, the city is gaining new housing areas as Port of Helsinki moves to the new Vuosaari harbour. There are also plans to evict the military from the Santahamina island just few kilometers from the center.
This all proves that Helsinki is not running out of viable construction space. And it has to be also noted that the population numbers in the capital have been shrinking lately, even further removing the need for new housing.
Dubious legality
Helsinki-Malmi was rented to the Civil Aviation Administration for 99 years back in the 30s. Now the City of Helsinki wants to evict them on the clause that the airport must be used for civil aviation. For some reason City of Helsinki chooses not to recognize that private aviation and flight training are also counted as civil aviation. This is a very dubious legal standpoint.
The democratic commitment of the city must also be questioned. The decision and talks about the future of Malmi were pointedly scheduled after the recent city council elections, and all major parties declined to comment the issue. This is understandable as the city wants to close the airfield against the will of a vast majority of residents of Helsinki. This is not how democracy is supposed to work, but then again we live in another system called "representational democracy".
Not too late to act
The current decision was only been a recommendation from the city planning council. The actual actions still have to be ratified by the city council. Apparently the decision will be made before Christmas.
It is not too late to save Malmi. Sign the petition, contact your city councillor and follow the news on the matter. Closing the Helsinki-Malmi airport would be an irreversible action affecting aviation safety and training possibilities, and destroying an important historical milieu.
Note: I have some bias on the matter as I'm currently attending a Private Pilot License course arranged by Malmi Aviation Club and Flying Club of Finnair. I also enjoy going to Helsinki-Malmi to watch vintage aircraft like AN-2 and Tiger Moth which make EFHF their home airport.
Updated 12:37: Helsinki City council will decide the fate of Helsinki-Malmi on Monday Dec 20th. There will be a demonstration at 15:30 in front of the City hall.
Updated 2004-12-20 12:47: I got a reply about this post from Sakari Pulkkinen from the Malmi project team in city planning department. He suggested that I should contact the city council about this which I have now done.
He also made a comment regarding one of the claims in my post. This is a quick translation from finnish:
"The whole airport has been built on top of a swamp" is not true. The area has a clay basis and can be used as regular construction area. The basis is better than soil for exaple in Pikku-Huopalahti or Arabianranta.
Regarding this I have to admit I don't know the truth. My sources were the statement of earlier chief major of Helsinki, Raimo Ilaskivi and the description in History of Helsinki-Malmi.
Anyway, the next point of action is the demonstration starting in 45 minutes.
Two new Midgard buttons
Posted on 2004-12-20 22:26:52 UTC to Midgard. 0 comments.
Alexey Zakhlestine has designed two new "Powered by Midgard" buttons users can display on their site to support the CMS project:
Reminded by this, I uploaded a bunch of other Midgard buttons to the project site as well.
In the other news, today's main activity was creating an OpenPSA Sales based storage back-end for a major consumer competition run by A-lehdet. The competition site is completely built in Flash and sends vote and registration data via a HTTP POST to Midgard.
It will be interesting to see how the solution, and especially the campaign user interface in Sales will handle the expected 100,000 registrations. I expect we will have to lighten the campaign member listing screen quite a bit. I'll post some technical notes and code related to this later when the campaign goes live.
The other activity today was a demonstration against closing the historical Helsinki-Malmi airport. There were about 150-200 aviators gathered in front of the city hall, and the air was filled with chants and supporting horns of passing cars. My yesterday's blog post about this got some attention from the city council members, including several very supportive emails. It actually seems to have started a small flamewar within the group.
I've posted some photos from the demonstration. It was also covered in the newscast of Uudenmaan Uutiset and in a brief Helsingin Sanomat article.
Midgard's aggregator now supports multiple encodings
Posted on 2004-12-22 19:57:20 UTC to Midgard. 0 comments.
I've today upgraded the RSS and Atom news aggregator of Midgard CMS, net.nemein.rss to utilize the latest Magpie RSS release. The main new feature in Magpie 0.71 is support for multiple character encodings.
This means that news aggregators like Planet Midgard can now safely read feeds whether they are in UTF-8, ISO-latin-1 or some other encoding and trust that they will be displayed correctly in both web and the aggregator RSS feed. End-users of course must still have the required fonts installed to be able to display the output:

დიდი მაგლობა (big thanks) to Steve Minutillo and the Magpie RSS team for fixing this issue!
Updated 2004-12-23: Another new feature in net.nemein.rss is that now it should tell MidCOM's caching to expire the aggregator pages every half hour, just like the Magpie RSS cache has been set to do. This means that the subscribed RSS feeds will be checked for relevancy once every 30 minutes also if MidCOM's cache system is enabled on the site.
While this uses some bandwidth, Magpie RSS utilizes Conditional GET in its queries. If the feeds support the 304 headers they will be downloaded only if they have actually been changed. See the Regular Sucking Schedule blog for more information.
Contrary to earlier reports, the RSS feeds generated out of MidCOM components like de.linkm.newsticker do not yet support Conditional GET. Bug #143 has been filed on this.
Bourgeois Christmas
Posted on 2004-12-24 10:48:17 UTC to Life. 0 comments.
This Christmas breaks away from an old tradition honored by a group of my friends. Since '96 we've gathered to spend the holidays together, eating and drinking vast quantities. As the Suicide Surfers are away, this Xmas will be different. Joe complains:
Relating to traditions, I just heard yesterday, that some pigs have lost their wings and adapted to the middleclass with intentions of having christmas somewhere else than in Drunkenland of Flying Pigs and Suicide Surfers. But our team keeps flying.
All the best to the 'Surfers who are spending their holidays drunken and homeless on the beach.
As I write this, Kerttu is baking and I'm waiting for the oven to free up so I can put our ham there. Yesterday we decorated the Christmas tree.


Merry midwinter feast to all!
iSync woes with Sony Ericsson K700i
Posted on 2004-12-28 12:54:20 UTC to Openpsa. 0 comments.
My old Nokia 6820 phone had a weird issue that made it keep the backlight of the keyboard lit all times. This made the battery run out in less than a day, which was very irritating.
As Kaukola had praised the Sony Ericsson K700i I decided to buy one for myself. Obviously the first thing I tried with it was synchronizing my calendar and contacts with it using iSync. Both had issues.
Calendar synchronization worked without any major hurdles. The only big complaint is that it doesn't support timezones. My Mac is configured to be in the EET timezone (GMT +2), and so was my phone. Unfortunately the phone expected that the incoming events would be in GMT when they were in EET, and so moved all of them by two hours. This was solved by setting the phone to the GMT timezone, which is obviously not a pretty solution but has to pass for now.
One theory on why this goes wrong is that the events in my calendar originate from OpenPSA Calendar, which doesn't add any timezone information to its vCal entries. Here's a typical entry:
BEGIN:VEVENT UID:ead00e1735d94f14a5c21d1888a5c48f@midgard SUMMARY:Midgard site wizard CLASS:PUBLIC DTSTART:20041228T090000 DTSTAMP:20041228T090000 DTEND:20041228T180000 DTCREATED;TZID=US-Eastern: 19700101T020000 DTLAST-MODIFIED;TZID=US-Eastern: 19700101T020000 CATEGORIES:MEETING LOCATION:Home END:VEVENT
I've posted bug #22 to OpenPSA about this and it has been fixed in the 1.10 release.
Contacts synchronization started out just fine, but somehow mystically broke overnight. When I tried to synchronize again this morning iSync aborted with some error. I then removed the K700i device from iSync, and re-added it. But then it created duplicates of all entries, so both my phone and my Mac had entries as "firstname lastname" and "lastname firstname".
I was able to delete all contacts from my phone and remove the duplicates from the Mac Address Book. However, even after this iSync persistently tried to "salvage" the duplicate entries from a Backup Conduit. After some struggle I decided to keep from synchronizing contacts between the two for now. Very aggravating! I've posted an iSync bug about this.
In the other news, I've finally added Midgard CMS to the CMS Matrix. Several people have mailed me and asked for this, but unfortunately their submission form didn't work on Firefox earlier. See the entry on Midgard.
Updated 2004-01-08: The calendar synchronization has been working pretty well for two weeks already, but I haven't yet braved trying to get Contacts synchronization working.
Minor annoyance has been that the phone doesn't allow turning shutter sound off. This is a firmware setting that can't be overridden even by setting the phone volume to silent.
Today we've migrated our OpenPSA installation to UTF-8. To stress test the OpenPSA - iCal - K700i synchronization, I created a calendar reservation that mixed Scandinavian, Cyrillic and Georgian characters. Both OpenPSA and iCal showed them correctly, and the phone showed things correctly with the limitation that Ericsson hasn't installed Georgian fonts, so boxes were shown instead of those characters. Quite cool level of internationalization!
Adding location awareness to blogs
Posted on 2004-12-28 23:30:07 UTC to Life Midgard. 0 comments.
I've today updated my blog to display the location the post was made from. The location is linked to blog postings, photos and moblog entries based on their timestamps.

This is done by maintaining a database of locations with the times I've been in them in Midgard CMS. To report a new location I simply send an SMS containing the city and country information to my website. This "ends" the previous location entry and creates a new one.
At the moment I'm content with granularity of storing location on city basis and time on per-day basis. However, far more detailed information could be added by connecting a GPS navigator to the system. While this would allow for cool new information like linking photos to maps, it would force me to carry and connect a bulky device, and cause potential privacy issues.
I'm also including the METAR weather information pulled in using the Services_Weather PEAR package. For now the weather displayed is the current one, but I'm thinking of storing the weather conditions on entry posting time to Midgard. That way you could see the temperature and other details related to a photo, for example.
Where have you been?
Posted on 2004-12-29 15:32:59 UTC to Life. 0 comments.
Related to yesterday's geolocation post, these maps seems to be the current meme on Planet Debian:

This summer's trip added another 9 to the sum. Create your own visited countries map.
The map is very similar to the ones generated by the World66, an open content travel guide.
In the other news, Separator, a native Mac OS X hex viewer application by Alexey Zakhlestine's Milk Farm Software is now available. First time I've ever translated a non-Midgard app.
Happy new year!
Posted on 2004-12-31 17:37:34 UTC to Life. 0 comments.
Happy new year to everybody, especially in the Midgard community! I was going to post something about how the Midgard world will look like in 2005, but Kaukola got ahead of me. This year has been a very good one for the project, and the next promises even greater advances and exciting new technologies.
There are also looks at PHP in 2004 and in 2005. The look back for the Midgard community was posted already in May in preparation for the 5th anniversary of the project.
But anyway, please enjoy the new year celebrations! While this fireworks picture is from the summer it should still depict the mood:

We spent the last new year in Клуб Fireball, St. Petersburg. This year will be more traditionally in Ravintola Ateljé.
Updated 2005-01-01: We had a good time in Ateljé, with drinks, cigars, board games and a big group of friends. Thanks to everybody for attending!
...and in the morning we went with Kerttu to Cafe Ursula on the Kaivopuisto shore to watch sunlight play on the winter sea.














