<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Midgard</title>
        <description>Blog postings from the Midgard community</description>
        <link>http://www.midgard-project.org/planet/</link>
        <lastBuildDate>Fri, 03 Sep 2010 11:11:39 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>henri.bergius@iki.fi</managingEditor>
        <item>
            <title>Open Source at Adobe?</title>
            <link>http://jukkaz.wordpress.com/2010/07/28/open-source-at-adobe/</link>
            <description><![CDATA[
The news is just in about Adobe being set to acquire Day Software (see also the FAQ). Assuming the deal goes through, it looks like I&#8217;ll be working for Adobe by the end of this year. I&#8217;m an open source developer, so I&#8217;m looking forward to finding out how committed Adobe is in supporting the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jukkaz.wordpress.com&blog=52630&post=329&subd=jukkaz&ref=&feed=1" />]]></description>
            <author>jz@yukatan.fi (Jukka Zitting)</author>
            <category>feed:57044c271fad26630209654e3e82f762</category>
            <pubDate>Wed, 28 Jul 2010 12:54:28 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-f9b8494a9a4d11dfa938e5998504b186b186</guid>
        </item>
        <item>
            <title>Aloha and the art of semantic web content</title>
            <link>http://bergie.iki.fi/blog/aloha_and_the_art_of_semantic_web_content/</link>
            <description><![CDATA[

<p>To bring CMS editing to the next level, the <a href="http://www.iks-project.eu/">IKS</a> project is <a href="http://www.iks-project.eu/launching-iks-semantic-editor-development-group">working on a semantic HTML5 editor</a>. This week we had a <a href="http://wiki.iks-project.eu/index.php/Semantic_Editor/Helsinki_hackathon_2010">hackathon in Helsinki</a> focusing on implementing our ideas with the <a href="http://aloha-editor.com/">Aloha Editor</a>. In addition to enjoying the hot summer weather here, we accomplished quite a bit and in the end were able to present the whole pipeline of:</p>
<ul><li>Loading content from Midgard CMS to Aloha Editor</li>
<li>Annotating our content with <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=en&amp;answer=146646">Google-compatible Person RDFa</a> elements</li>
<li>Saving the content back to Midgard</li>
<li>...and finally analysing the content with <a href="http://wiki.iks-project.eu/index.php/FISE">FISE</a> to find more semantic information</li>
</ul><p><img src="http://bergie.iki.fi/static/1/1df99b0fbedc9d099b011df9cde59aa729dc602c602_iks_helsinki_hackathon_participants.jpg" border="0" alt="iks_helsinki_hackathon_participants.jpg" title="iks_helsinki_hackathon_participants.jpg" /></p>
<p>The hackathon participants included developers from <a href="http://nemein.com/en/">Nemein</a>, <a href="http://gentics.com/Content.Node/index_en.php">Gentics</a>, <a href="http://infigo.fi/en/">Infigo</a>, <a href="http://www.salzburgresearch.at/company/index_e.php">Salzburg Research</a> and the <a href="http://www.dfki.de/web/welcome?set_language=en&amp;cl=en">German Research Center for Artificial Intelligence</a>. Some screenshots:</p>
<p><img src="http://bergie.iki.fi/static/1/1df99b12c14931e99b111dfb2649b40ceb420042004_aloha-editing-small.png" border="0" alt="aloha-editing-small.png" title="aloha-editing-small.png" /><br />Editing content with Aloha in Midgard</p>
<p><img src="http://bergie.iki.fi/static/1/1df99b152d8fbca99b111df8c291f845ff4792c792c_aloha-editing-rdfa-small.png" border="0" alt="aloha-editing-rdfa-small.png" title="aloha-editing-rdfa-small.png" /><br />Annotating persons with the Aloha RDFa plugin</p>
<p><img src="http://bergie.iki.fi/static/1/1df99b19296459c99b111dfbf84d704b90a3b663b66_aloha-generated-rdfa-small.png" border="0" alt="aloha-generated-rdfa-small.png" title="aloha-generated-rdfa-small.png" /></p>
<p>RDFa annotation created with the semantic editor<br /><img src="http://bergie.iki.fi/static/1/1df99b1bdbd0be899b111dfbf84d704b90a3b663b66_fise-analysed-content-small.png" border="0" alt="fise-analysed-content-small.png" title="fise-analysed-content-small.png" /><br />Additional semantic information suggested by FISE</p>
<p>All the relevant code can be found <a href="http://github.com/alohaeditor/Aloha-Editor">from GitHub</a> (see also the <a href="http://github.com/nemein/eu_iksproject_fise">FISE Midgard integration</a>).</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Tue, 27 Jul 2010 19:07:49 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-ebb0c4e49a4d11dfa938e5998504b186b186</guid>
        </item>
        <item>
            <title>Frankencamera aims to make cameras open and programmable</title>
            <link>http://bergie.iki.fi/blog/frankencamera_aims_to_make_cameras_open_and_programmable/</link>
            <description><![CDATA[

<p><a href="http://fcam.garage.maemo.org/">Frankencamera</a>, or fCam, the open source computational photography platform from Stanford's <a href="http://graphics.stanford.edu/projects/camera-2.0/">Camera 2.0</a> project <a href="http://conversations.nokia.com/2010/07/21/fcam-unleashed-for-the-nokia-n900/">was unleashed for the Nokia N900</a> this Wednesday. <a href="http://www.physorg.com/news199011645.html">PhysOrg has a story</a> outlining the significance of this:</p>
<blockquote>Computational photography refers to the ways computers can extend the capabilities of digital imaging by combining multiple photographs taken with different camera settings to create an image that could not be taken in a single shot, or with an ordinary camera.<br /><br />Some of these new ways of combining images can be done in Photoshop or another such program, but until now they could not be done inside the camera, Levoy said. That's because commercial cameras are closed to development by all but their manufacturers. Frankencamera, on the other hand, brings computational photography directly to the camera, by making the camera a programmable platform.</blockquote>
<p>I installed fCamera and the HDR photo assistant from Maemo extras-devel yesterday, and the results (taking .DNG RAW images, automatically generating HDR pictures) seem quite impressive. Here is a quick example from our office. Sun is shining outside and the office is not lit:</p>
<p><img src="http://bergie.iki.fi/static/1/1df9649e66c9e66964911dfb7016fec1e9c78907890_hdr_2010722_1454_small.jpg" border="0" alt="HDR_2010722_1454_small.jpg" title="HDR_2010722_1454_small.jpg" /></p>
<p>For comparison, here is the same setting with the regular N900 camera application:</p>
<p><img src="http://bergie.iki.fi/static/1/1df964a011a2f12964a11df9880551b6cff5df65df6_20100722_001_small.jpg" border="0" alt="20100722_001_small.jpg" title="20100722_001_small.jpg" /></p>
<p>It will be interesting to see what developers will come up with, now that all these camera capabilities are available through an open API!</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Fri, 23 Jul 2010 11:05:02 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-ea5cc8ea9a4d11dfa938e5998504b186b186</guid>
        </item>
        <item>
            <title>Recent performance improvements for Midgard 8.09</title>
            <link>http://bergie.iki.fi/blog/recent_performance_improvements_for_midgard_8-09/</link>
            <description><![CDATA[

<p><a href="http://www.midgard-project.org/midgard/8.09/">Midgard 8.09</a> is an <em>industrial CMS</em> that is now in <a href="http://bergie.iki.fi/blog/long-term_support_for_midgard-ragnaroek_is_here/">Long-Term Supported</a> stage, with the community maintaining it until 2013. As we all know, <a href="http://www.rockstarapps.com/wordpress/?p=40">performance is a feature</a>, and with a CMS framework that has lived through many changes including transitions from PHP4 to 5.2 and from <a href="http://www.midgard-project.org/documentation/reference/#9f42c2021f0b0efedacd0ae9d6801c5c">Classic Midgard</a> era to the modern APIs, there is a lot to do.</p>
<p>For the next 8.09.10 release we decided to put quite a bit of efforts into performance tuning, with some excellent work done by <a href="http://www.contentcontrol-berlin.de/">Content Control</a> to simplify <a href="http://midgardwiki.contentcontrol-berlin.de/index.php/MidCOM_ACL">ACL handling</a> and cache <a href="http://midgardwiki.contentcontrol-berlin.de/index.php/MidCOM_NAP">navigation information</a>. As you can see, the result is quite impressive:</p>
<p><img src="http://bergie.iki.fi/static/1/1df9584cd985724958411dfa136e3b7372904a904a9_ragnaroek-acl-nap-performance.png" border="0" alt="ragnaroek-acl-nap-performance.png" title="Ragnaroek performance is 42 percent better" /></p>
<p>What is left to be done is some work with the <a href="http://www.midgard-project.org/documentation/midgard-and-multilingual-content/">multilingual content</a> database queries. After that we should be good to go with what is probably the fastest Midgard1 ever.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Thu, 22 Jul 2010 11:35:29 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-7d5e172c956f11dfaff28b239258d1c1d1c1</guid>
        </item>
        <item>
            <title>Zeitgeist does location: what did I do while in Brussels?</title>
            <link>http://bergie.iki.fi/blog/zeitgeist_does_location-what_did_i_do_while_in_brussels/</link>
            <description><![CDATA[

<p><a href="http://zeitgeist-project.com/">Zeitgeist</a>, the desktop activity logging engine is now becoming geo-aware. From <a href="http://seilo.geekyogre.com/2010/07/zeitgeist-geolocation-magic/">Seif Lotfy's blog</a>:</p>
<blockquote>
<p>It allows you to ask Zeitgeist stuff like</p>
<ul><li>“Get me the recent files I edited at university”</li>
<li>“Who do I contact most when I am at School?”</li>
<li>“Which pictures did I take in Brazil?”</li>
<li>“Where was I when an Email came in?”</li>
<li>“What files did I open during the conference?”</li>
</ul><img src="http://bergie.iki.fi/static/1/1df94eaba47081894ea11df8003ad955f7114821482_zeitgeist-geoclue.jpg" border="0" alt="zeitgeist-geoclue.jpg" title="zeitgeist-geoclue.jpg" /></blockquote>
<p>As I've been <a href="http://bergie.iki.fi/blog/synchronization-and-the-free-software-desktop-in-guadec/">advocating since 2006</a>, location is important for making applications smarter. While you might not remember where you stored some file, you probably remember where you were when working on it. Then Zeitgeist's location features, powered by <a href="http://en.wikipedia.org/wiki/GeoClue">GeoClue</a>, will be able to get it for you.</p>
<p>This is especially cool since Zeitgeist is <a href="http://picasaweb.google.de/lh/photo/RWiWpFuwOMPQSvgNRFAgKA?feat=directlink">coming for Maemo</a> as well. <a href="http://www.flickr.com/photos/bergie/2845863882/">My laptop</a> is quite mobile, but the N900 is even more so.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Wed, 21 Jul 2010 17:16:00 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-7c4e6896956f11dfaff28b239258d1c1d1c1</guid>
        </item>
        <item>
            <title>My GeoClue talk from aKademy 2010</title>
            <link>http://bergie.iki.fi/blog/my_geoclue_talk_from_akademy_2010/</link>
            <description><![CDATA[

<p><a href="http://akademy.kde.org/">aKademy 2010</a> was hosted in the sunny city of Tampere by the Finnish <a href="http://www.coss.fi/en">Centre for Open Source Solutions</a>, an organization that I'm <a href="http://bergie.iki.fi/blog/in_coss_steering_group/">a steering group member</a> of. In addition to helping a bit with the arrangements and organizing <a href="http://bergie.iki.fi/blog/meet_midgard_and_geoclue_in_akademy_2010/">the Midgard Gathering</a> there, I also gave a talk about <a href="http://en.wikipedia.org/wiki/GeoClue">GeoClue</a>, the positioning framework for Linux desktops.</p>
<p><img src="http://bergie.iki.fi/static/1/1df8b61f149052e8b6111df872e5fe1995d51425142_bergie-geoclue-akademy2010.png" border="0" alt="bergie-geoclue-akademy2010.png" title="bergie-geoclue-akademy2010.png" /></p>
<ul><li><a href="http://home.kde.org/~akademy10/slides/Towards_a_location-aware_desktop-Henri_Bergius.pdf">Presentation slides (PDF)</a></li>
<li><a href="http://home.kde.org/~akademy10/videos/Towards_a_location-aware_desktop-Henri_Bergius.ogv">Video of my talk</a></li>
</ul><p>We initially <a href="http://bergie.iki.fi/blog/synchronization-and-the-free-software-desktop-in-guadec/">started the push</a> for location-aware desktops around 2006, and now the efforts are finally starting to bear fruit. Both <a href="http://gnomejournal.org/article/70/an-introduction-to-gnome-zeitgeist">Zeitgeist</a> and <a href="http://nepomuk.kde.org/">Nepomuk</a> are looking at indexing documents based on where you accessed them, <a href="http://blog.pierlux.com/2009/01/22/empathy-where-are-you/en/">Telepathy can share</a> your location with your friends, and hopefully soon also your desktop clock will switch timezones when you travel.</p>
<p>It is very cool that this development <a href="http://bergie.iki.fi/blog/making_the_gnome_desktop_location-aware/">seems to be happening</a> on both GNOME and KDE at a reasonably similar pace. GeoClue is also<a href="http://meego.com/developers/meego-architecture"> a service in MeeGo</a> and I've been told another major mobile phone manufacturer uses it. Maybe soon <a href="http://www.wired.com/gadgetlab/2009/02/apples-snow-leo/">Mac OS X will not be the only</a> platform with location APIs built in?</p>
<p><em>Photo <a href="http://www.flickr.com/photos/indeyets/4756997067/">by Alexey Zakhlestin</a>.</em></p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Fri, 09 Jul 2010 14:04:14 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-7b31e258956f11dfaff28b239258d1c1d1c1</guid>
        </item>
        <item>
            <title>Meet Midgard and GeoClue in aKademy 2010</title>
            <link>http://bergie.iki.fi/blog/meet_midgard_and_geoclue_in_akademy_2010/</link>
            <description><![CDATA[

<p>We <a href="http://bergie.iki.fi/blog/tampere_is_a_candidate_for_guadec_and_akademy_2009/">tried to get the combined GUADEC and aKademy conferences</a> to Tampere in 2009, but <a href="http://www.flickr.com/photos/bergie/sets/72157621730088174/">a warmer place</a> unfortunately won. However, <a href="http://www.coss.fi/">we</a> will be hosting <a href="http://akademy.kde.org/">this year's aKademy</a> so at least KDE and Qt fans will get to enjoy this <a href="http://en.wikipedia.org/wiki/Tampere">beautiful northern industrial city</a>.</p>
<p>The main conference will be held at the Tampere University over the weekend, and then the remaining hackweek will be in the nice <a href="http://demola.fi/">Demola</a> facility in the Finlayson district. Expect great connectivity and close proximity to all Tampere nightlife.</p>
<p>I'm involved with two aKademy activities:</p>
<ul><li><a href="http://akademy.kde.org/node/397"><strong>GeoClue presentation</strong></a> on the <a href="http://geoclue.freedesktop.org/">location service</a> that can be used on any Linux desktop and is <a href="http://meego.com/developers/meego-architecture">used in MeeGo</a>. I'll also talk about what desktops can do when location is available</li>
<li><a href="http://www.midgard-project.org/community/events/akademy_and_midgard_gathering/"><strong>Midgard Gathering</strong></a> during Mon-Wed of the hackweek. Midgard provides <a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">a content repository</a> for applications that should be available also for <a href="http://live.gnome.org/GObjectIntrospection/GObjectConsume">Qt apps through GObject Introspection</a>. With some <a href="http://blogs.nemein.com/people/piotras/view/1274453113.html">proven performance benefits</a> and replication support, Midgard should be interesting for any desktop or mobile app that deals with structured data</li>
</ul><p>In addition there will be a <a href="http://talk.maemo.org/showthread.php?t=56616">Maemo / MeeGo meetup</a> in the Plevna brewery on Friday evening. See you there!</p>
<p><img src="http://bergie.iki.fi/static/1/1df82b418e85d4882b411df8e0f9d54d6b1ca1aca1a_akademy-banner-small.png" border="0" alt="akademy-banner-small.png" title="akademy-banner-small.png" /></p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Mon, 28 Jun 2010 12:54:47 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-7a0c05d4956f11dfaff28b239258d1c1d1c1</guid>
        </item>
        <item>
            <title>Midgard Runtime brings our web framework to the desktop</title>
            <link>http://bergie.iki.fi/blog/midgard_runtime_brings_our_web_framework_to_the_desktop/</link>
            <description><![CDATA[

<p><a href="http://www.midgard-project.org/updates/midgard2_10-05-1-ratatoskr-lts_released/">Midgard2 10.05.1 was released</a> yesterday, bringing a long-waited feature finally to the Midgard installation packages: the <em>Midgard Runtime</em>.</p>
<p>Midgard Runtime is an application that consists of a simple Qt WebKit viewer that, when run, starts a local Midgard web server on the background and connects to it. This means that you'll have the full Midgard MVC stack available on your own desktop, in a way that is easy to install and easy to run. Get it for your favorite Linux distribution <a href="http://download.opensuse.org/repositories/home:/midgardproject:/ratatoskr/">from OBS</a>!</p>
<p><img src="http://bergie.iki.fi/static/1/1df7ebd0f39e0467ebd11dfb50cc71550a9171e171e_midgard-runtime-ratatoskr-small.png" border="0" alt="midgard-runtime-ratatoskr-small.png" title="midgard-runtime-ratatoskr-small.png" /></p>
<p>As a whole, the Midgard Runtime stack is quite interesting:</p>
<ul><li>SQLite is used as the default storage through the <a href="http://live.gnome.org/ChooseLibgdaSQLite">libgda4 abstraction layer</a></li>
<li><a href="http://bergie.iki.fi/blog/getting_started_with_the_midgard_content_repository/">Midgard2 is used as the content repository</a>, brought to PHP through an extension</li>
<li><a href="http://bergie.iki.fi/blog/midcom_3_at_a_glance/">Midgard MVC</a> provides the web development framework</li>
<li><a href="http://wiki.github.com/indeyets/appserver-in-php/">Alexey Zakhlestin's AppServer</a> is used as the pure-PHP web server</li>
<li>The Qt application starts server processes on the background and displays the site in a WebKit view</li>
<li>Runtime's bundle setup tool uses libraries from the <a href="http://blog.milkfarmsoft.com/2009/08/pake-php5-project-build-system/">Pake build system</a></li>
</ul><p>The AppServer is particularly something that other PHP projects might find useful. Since the server itself is written in PHP you don't have any additional dependencies besides <em>php-cli</em>. It also means your application can use a lot more efficient caching as files have to be loaded only once, and things can be kept in memory between requests. Of course the downside is that if your PHP script dies, then the whole server is down. But that is easy to deal with by a bit of <a href="http://en.wikipedia.org/wiki/Defensive_programming">defensive programming</a>.</p>
<p>At this point the Runtime is targeted at web developers interested in trying out Midgard, but eventually we'll be using the bundle system also for distributing full Midgard-powered web applications to the desktop. The progress on this can be followed <a href="http://github.com/midgardproject">on GitHub</a>.</p>
<p>Compared to <a href="http://www.forum.nokia.com/Develop/Web/">Nokia's Web Runtime</a>, the Midgard Runtime should be more familiar to developers as you'll be able to write also server-side PHP code, not just JavaScript. In addition to PHP, the whole system is <a href="http://devel.akbkhome.com/seed/Midgard.html">also accessible</a> via any language that can handle <a href="http://live.gnome.org/GObjectIntrospection">GObject Introspection</a>.</p>
<h2>So, what can I do with it?</h2>
<ul><li>Install a Midgard environment with <em>$ midgard2-runtime-bundle-simple-install</em></li>
<li>Start the runtime with <em>$ midgard2-runtime-bundle-simple-run</em></li>
<li>Midgard MVC and components are located in <em>~/.midgard2/simple-bundle/</em>. This is where you can also place your own code</li>
</ul>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Wed, 23 Jun 2010 12:02:17 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-78e83196956f11dfaff28b239258d1c1d1c1</guid>
        </item>
        <item>
            <title>Open Source? Free Software? What we need is Open Projects</title>
            <link>http://bergie.iki.fi/blog/open_source-free_software-what_we_need_is_open_projects/</link>
            <description><![CDATA[

<p>Both companies and public administration are starting to understand the benefits of free software: reducing vendor lock-in, possibility to continue development of a project after a vendor has gone out of business or lost interest, and in general enjoying <a href="http://www.fsfe.org/about/basics/freesoftware.en.html">the four freedoms</a>. But unfortunately much of this understanding has been limited to the context of licenses.</p>
<p>In reality, licenses are only a small part of a project being truly open. They are just a layer of insurance comparable to <a href="http://en.wikipedia.org/wiki/Source_code_escrow">traditional source code escrow</a>.</p>
<p>What we really need is understanding of a bit more wholesome project openness. The actual goals of openness that the license should derive from. Here are some aspects to consider:</p>
<h2>Project transparency</h2>
<p>If a project aims to have outside users or contributors, they need to be able to see the history of changes in the software, decisions that have been made, and the open list of bugs or enhancements being worked on.</p>
<p>A released software package answers these questions poorly regardless of a license. Instead, what is needed is the project being developed out in the open, preferably using one of the common project hosting environments like <a href="http://gitorious.org/">Gitorious</a>, <a href="http://github.com/">GitHub</a>, <a href="http://sourceforge.net/">SourceForge</a>, <a href="http://launchpad.net/">Launchpad</a> or <a href="http://savannah.gnu.org/">GNU Savannah</a>. You can also host the project yourself using something like <a href="http://trac.edgewall.org/">Trac</a> or <a href="http://gforge.org/gf/">GForge</a> but this limits access and visibility to the project.</p>
<p>The project must actually use the service, not just by code dumps at release time, but with constant development activity visible as code commits and active issue tracking. Depending on business goals it is also good to have future plans for the project visible to the public.</p>
<p>All of this is mandatory for others to gauge the viability of a software package to their needs. Josh Berkus presented a good <a href="http://www.qaiku.com/channels/show/linux/view/d3fb5f6247e111df930ef7d85b52fc0ffc0f/#qaiku_62cee0f4482011df962869ae38aee37fe37f">list of things you shouldn't do</a> to create a community around your project.</p>
<h2>Contribution policy</h2>
<p>Potential users and developers need to know how they can make their changes available to a package. Is it possible at all, are <a href="http://blogs.gnome.org/bolsh/2009/04/08/copyright-assignment-and-other-barriers-to-entry/">copyright assignments or some contributor agreements</a> necessary, is there a documented process for submitting changes or even becoming an acknowledged developer in the project? Or is the project being developed behind closed curtains of a company?</p>
<h2>Requirements and software stack</h2>
<p>Another area some projects fail at is communicating how the software can be built and installed. If the only practical way to run the software is from released binary packages, or through buying consulting, is it truly open? Does the project require additional closed software or specific hardware to run with?</p>
<h2>Specialized licensing concerns</h2>
<p>Depending on the type of software other concerns may be being able to provide it as part of a Software as a Service offering, or being able to deploy it on some constrained or closed hardware.</p>
<p>Some software licenses address these questions clearly, like <a href="http://www.osor.eu/communities/eupl/blog/eupl-or-gplv3">EUPL</a> requiring contributions to be opened also when the software is offered in SaaS manner, or GPLv3 forbidding device manufacturers from locking down or <a href="http://en.wikipedia.org/wiki/Tivoization">'Tivoizing' their hardware products</a>.</p>
<h2>Wrapping up</h2>
<p>Most of these questions are well understood within the free software community itself. But we generally communicate it poorly by focusing the discussion on license technicalities. I guess this is because we're so used to working in this open manner that we take the it as a given. But users, especially in the public administration only see the licensing side of things because that is the only aspect we talk about and have definitions for.</p>
<p>A good exception for this is the Apache Software Foundation that has a <a href="http://www.apache.org/foundation/how-it-works.html#management">well-defined set of rules</a> that <a href="http://incubator.apache.org/guides/proposal.html#template-current-status">projects must follow</a> before they can be adopted under the ASF umbrella. Maybe FSF and OSI should also publish some understandable guidelines and definitions for project openness?</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Mon, 14 Jun 2010 17:32:42 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-931b9a8e795a11dfb9c9b3d141a9aa0baa0b</guid>
        </item>
        <item>
            <title>Dual boot: MeeGo &amp; WinXP</title>
            <link>http://marcin.soltysiak.com/dual_boot_meego_winxp/</link>
            <description><![CDATA[
<div class="abstract">For those who daily need their Windows XP and yet want to try and use MeeGo I have a simple step by step instructions how to make it happen and not go white ;)</div>
<h2>Partitioning</h2>
<p>Usually, you get your device preinstalled by OEM and this means you have whole disk space dedicated to your WinXP. If you don't intend to erase it, you need to make some space for your new MeeGo installation.</p>
<p>In order to repartition the disk, we need a fancy tool that is capable of looseless partition operations. I decided to use <a href="http://www.partition-tool.com/">EASEUS Partition Master</a> because <strong>i) </strong>I found it and <strong>ii)</strong> it was free. If you have some LiveCD versions of, say, Ubuntu or Fedora you can also boot it and use GParted shipped. The idea remains the same - to move all existing data into one space and cut out some free space for new, unallocated area. With EASEUS it was fairly easy.</p>
<p>First, you'd better defragment your disk so you're sure no data left in the physical area of the disk you will cut. It usually takes some time, so once you hit OK go and get your coffee.</p>
<p> </p>
<p style="text-align:center;"><img src="http://marcin.soltysiak.com/blobs/e/e74f5354748511dfb75705c22808cc45cc45_easeus3.png" border="0" alt="easeus3.png" title="easeus3.png" /></p>
<p>Next go to 'Move/Resize' and define a new size of your Win partition. You can put numbers or move the slider. I suggest to allocate at least 8G for MeeGo, however if memory servers, the installer will go on with 4.2G at least.</p>
<p style="text-align:center;"><img src="http://marcin.soltysiak.com/blobs/f/f117085a748511dfb75705c22808cc45cc45_easeus1.png" border="0" alt="easeus1.png" title="easeus1.png" /></p>
<p>If you forgot to defragment the drive, no worries - it'll do it anyway.</p>
<h2>Installation</h2>
<p>Once repartitioning is complete just reboot the device from your USB key. In case you don't have booting key, please refer to <a href="http://meego.com/devices/netbook/installing-meego-your-netbook">MeeGo release page </a>to learn how to do it.</p>
<p>Installation process looks quite generic. Next, next, next, and when you get to partitioning screen let the installer use remaining disk space and proceed. Never mind boot settings as installer shamelessly ignores your settings anyway.</p>
<h2>Booting and post install</h2>
<p>First time boot has to be completed in MeeGo to let you access fully operating system. Once it's done go to Applications -&gt; Terminal:<br /><br /><strong>$ sudo vi /boot/extlinux/extlinux.conf</strong><br /><br /></p>
<pre>prompt 0</pre>
<pre>timeout 5</pre>
<p><br />To have some time for the decission before it boots.</p>
<p> </p>
<pre>#menu hidden</pre>
<p><br />To show the boot menu<br /><br /></p>
<pre>label meego
        menu label MeeGo (2.6.33.3-11.1-netbook)
        kernel vmlinuz-2.6.33.3-11.1-netbook
        append ro root=/dev/sda3 quiet vga=current
label Other
        menu label Windows
        kernel chain.c32
        append boot 1
        menu default</pre>
<p><br />Put <strong>menu default </strong>for your OS that you want to boot automatically and save&amp;exit. From now on every time you boot you have a choice of OS to start.</p>]]></description>
            <author>olga@olga.pl (Marcin Sołtysiak)</author>
            <category>feed:15d8df663768685f16c9a6cbbcbfac74</category>
            <pubDate>Thu, 10 Jun 2010 11:43:49 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-af01f8c4795a11dfb9c9b3d141a9aa0baa0b</guid>
        </item>
        <item>
            <title>Staff meeting in the park</title>
            <link>http://bergie.iki.fi/blog/staff_meeting_in_the_park/</link>
            <description><![CDATA[

<p>At <a href="http://nemein.com/">Nemein</a> we have a monthly staff meeting to go through all project backlogs, new initiatives and happenings in the R&amp;D side of things. Today the weather was nice, so we decided to keep the meeting in the nearby <a href="http://www.locationguide.fi/index.php?p=location&amp;id=105">Sinebrychoff Park</a>, armed with croissants, cake and the company waterpipe. Quite pleasant change from routine!</p>
<p><img src="http://bergie.iki.fi/static/1/1df6fd4e68d136c6fd411df8eb03d0a5ffbbaa9baa9_20100604_002_small.jpg" border="0" alt="20100604_002_small.jpg" title="First we had some cake" /></p>
<p><img src="http://bergie.iki.fi/static/1/1df6fd4f87258086fd411df8eb03d0a5ffbbaa9baa9_20100604_004_small.jpg" border="0" alt="20100604_004_small.jpg" title="Janne kept meeting notes" /></p>
<p><img src="http://bergie.iki.fi/static/1/1df6fd5082c1aa46fd511df8eb03d0a5ffbbaa9baa9_20100604_009_small.jpg" border="0" alt="20100604_009_small.jpg" title="Staff meeting in progress" /></p>
<p>Thanks to <a href="http://nemein.com/en/people/aslani/">Aslan</a> for the cake!</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Fri, 04 Jun 2010 12:33:12 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-8f4b0372795a11dfb9c9b3d141a9aa0baa0b</guid>
        </item>
        <item>
            <title>Insight into MeeGo 1.0</title>
            <link>http://marcin.soltysiak.com/insight-into-meego-1-0/</link>
            <description><![CDATA[
<div class="abstract">MeeGo 1.0 Core &amp; Netbook UX has been released last week on 25th May. This was a really significant milestone in overall project stream as it showed how quick good community can develop working OS. Let&#039;s have a insight into MeeGo from end user perspective.</div>
<p>In terms of system and/or application development I am no more than a user with a bit extended view &amp; experience in Linux systems, so I guess my testings are not infected with too much geek'ism and will trurly show what statistical device fan could feel taking first steps into MeeGo.<br /><br /></p>
<h2>Downloading &amp; preparation.</h2>
<p><br />OK, that's easy. Community released two USB images with <a href="http://meego.com/downloads/releases/1.0/meego-v1.0-netbooks-google-chrome-browser">Chrome</a> and <a href="http://meego.com/downloads/releases/1.0/meego-v1.0-netbooks">Chromium</a> browsers respectively. I took Chromium version - one click less to get it and besides, this image was available from official MeeGo repository so I could avoid huge traffic at downloads site. Clever, huh?<br /><br /><a href="http://meego.com/devices/netbook/installing-meego-your-netbook">Installation instructions</a> are pretty clear to newbies, even for Linux they noticed not every Linux user knows how to use 'dd' command. After few minutes I had my USB key ready with bootable MeeGo Live. Next step:<br /><br /></p>
<h2>Installation.</h2>
<p><br />That hurt a bit. But mostly because I tried to be smart and didn't want to wait until get home to play with my testing laptop. Instead I downloaded Virtual Box and quickly prepare a VM. Installation went smooth and even after first boot I got into post-install settings wizard, but that was the end of story since every subsequent reboot ended with blank screen. Referring to the source one can find:<br /><br /></p>
<pre>System Requirements</pre>
<pre><br /> * CPU: Intel Atom or Intel Core 2 CPU (support for SSSE3)</pre>
<pre>    Note: MeeGo will not work on non-SSSE3 CPUs</pre>
<pre> * Platforms with the GMA-500, Nvidia, or ATI Graphics chipset are not supported.</pre>
<p><br />OK. I got Dell D630 and perfectly fill both conditions, so what the heck? Never mind... let's try VMWare. Another couple of hours to download and install VM (including few Windows reboots) and another MeeGo installation and yet another boot up fail. Arrrrrghhhh... Apparently MeeGo wants to be the only known system that won't work under VM.<br /><br />I was so desperate, that I quickly downloaded some tools and repartitioned my Windows laptop to have some spare Gigs so I could install MeeGo in a traditional way (I posted short how to on <a href="http://forum.meego.com/showthread.php?p=1900#post1900">http://forum.meego.com</a>). Boot from USB, install, reboot, post-install and "Houston, we got MeeeGo".<br /><br /></p>
<h2>Usability.</h2>
<p><br />First impressions? Sweet, even sweeter. Nice and fast UI animations, lightweight icons and clean interface gives very nice feeling of mobile system designed for web-mostly usage. After few minutes I had it configured for my GMail account and was already browsing the web. Funny, but I had a feeleing that first couple of minutes playing with Chromium showed the browser is quite unstable. Display was getting frozen intermittently and browser stopped responding. After some time it just started working properly.</p>
<p style="text-align:center;"><img src="http://marcin.soltysiak.com/blobs/4/4361d3806dae11df913c9b2ce50415021502_myzone.png" border="0" alt="myzone.png" title="myzone.png" width="600" /></p>
<p>What else do we get? The main entry point int MeeGo is called Myzone. It stands for a desktop place with shortcuts to most fresh calendar &amp; tasks items, with unread main notifier, few icons for most used application like browser, mail client and eventually list of thumbnails from recent activity. By activity I mean recent pages viewed or twitter updates and other live feed coming from 'status' panel. The latter is a command center for all live feeds associated with internet presence of a user. At the moment we have Twitter and Last.FM, however I couldn't log on to Last FM using my account.</p>
<p style="text-align:center;"><img src="http://marcin.soltysiak.com/blobs/4/4cc5a23a6dae11df814ecf218df390349034_apps.png" border="0" alt="apps.png" title="apps.png" width="600" /></p>
<p><br />Next to Myzone, there is a 'zones' panel. Briefly, it works like multiple desktops in every regular Linux environment. You can place and arrange open application to bring some order to you device. Then there come 'applications' panel containing several games, simple editor tool, multimedia player and some system tools. The third is 'status' panel I already mentioned, followed by 'persons' - a place you can add you IM accounts to have your contacts displayed and to start chatting in an easy way.</p>
<p style="text-align:center;"><img src="http://marcin.soltysiak.com/blobs/9/9d33fca86dae11df8816eb05bd7b78827882_status.png" border="0" alt="status.png" title="status.png" width="600" /></p>
<p>Multimedia, the next panel, is somewhat tricky. Upon some unknown rules it displays mutimedia you can run in a player. It also shows current player queue and give the opportunity ti launch Banshee - MeeGo multimedia player. Banshee seems to be working fine, however again, I couldn't run any last.fm content although I logged in and it showed my favorites and stations. Surprisingly, it doesn't play MP3 on DivX and similar formats. This comes (I think) from MeeGo policy of being open source and supporting open source only technologies and formats. This was also the cause that my WiFi didn't start - I have Broadcom wireless card that shipd only closed driver binary.<br /><br />Of course, you can download and compile drivers, codecs and whatever comes as closed, but for typical end user this may be a job too big. Although I totally agree with open source ideas, I don't think MeeGo is best counterpart to fight against closed formats, especially most popular ones like MP3 and position that OEM will provide whatever their device need (drivers, codecs, tools) closes they way for repurposing harware people already have. I believe there should be some kind of extras or non-free repository, that users CAN CHOOSE from.<br /><br />Other panel or desktop icons contain shortcuts to device manager (storage, battery, sound volume), gadgets (errrm... this I think doesn't work yet) and Bluetooth and network connections.</p>
<p style="text-align:center;"><img src="http://marcin.soltysiak.com/blobs/9/960839ee6dae11dfba78cb4db9652a1b2a1b_devices.png" border="0" alt="devices.png" title="devices.png" width="600" /></p>
<p>MeeGo 1.0 was released with localizations to a great number of languages (including full Polish translation I am proud to be part of) so it is already prepared to conquer the Wolrd.<br /><br /></p>
<h2>Conclusion?</h2>
<p><br />Well.. I loved the idea at very fisrt glance, so I keep standing that this is it. A versatile OS for mobile computing, web &amp; communication oriented system facilitating daily routines. Enriched with telephony, GPS maps or DVB-T software will make other than computers devices like phones, navi or TV sets more friendly and funny.</p>
<p>I realize version 1.0 is not perfect and can't wait to see more.</p>]]></description>
            <author>olga@olga.pl (Marcin Sołtysiak)</author>
            <category>feed:15d8df663768685f16c9a6cbbcbfac74</category>
            <pubDate>Tue, 01 Jun 2010 12:06:47 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-ac22e7bc795a11dfb9c9b3d141a9aa0baa0b</guid>
        </item>
        <item>
            <title>Forking a JVM</title>
            <link>http://jukkaz.wordpress.com/2010/05/27/forking-a-jvm/</link>
            <description><![CDATA[
The thread model of Java is pretty good and works well for many use cases, but every now and then you need a separate process for better isolation of certain computations. For example in Apache Tika we&#8217;re looking for a way to avoid OutOfMemoryErrors or JVM crashes caused by faulty libraries or troublesome input data. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jukkaz.wordpress.com&blog=52630&post=323&subd=jukkaz&ref=&feed=1" />]]></description>
            <author>jz@yukatan.fi (Jukka Zitting)</author>
            <category>feed:57044c271fad26630209654e3e82f762</category>
            <pubDate>Thu, 27 May 2010 21:48:21 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-a4d9a586795a11dfb9c9b3d141a9aa0baa0b</guid>
        </item>
        <item>
            <title>Apache meritocracy vs. architects</title>
            <link>http://jukkaz.wordpress.com/2010/05/26/apache-meritocracy-vs-architects/</link>
            <description><![CDATA[
Ceki Gülcü recently wrote an interesting post on the Apache community model and its vulnerability in cases where consensus can not be reached with reasonable effort. Also the discussion in the comments is interesting. Ceki&#8217;s done some amazing work especially on Java logging libraries, and his design vision shines through the code he&#8217;s written. He&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jukkaz.wordpress.com&blog=52630&post=319&subd=jukkaz&ref=&feed=1" />]]></description>
            <author>jz@yukatan.fi (Jukka Zitting)</author>
            <category>feed:57044c271fad26630209654e3e82f762</category>
            <pubDate>Wed, 26 May 2010 00:12:09 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-a00ead76795a11dfb9c9b3d141a9aa0baa0b</guid>
        </item>
        <item>
            <title>First year of IKS for Midgard</title>
            <link>http://bergie.iki.fi/blog/first_year_of_iks_for_midgard/</link>
            <description><![CDATA[

<p>Last year we became a partner in the European Commission -funded Interactive Knowledge Systems project aiming to increase semantic capabilities in Open Source CMSs and vendors.</p>

<p>The first year of IKS has focused mostly on research and requirements gathering. As a project participant we at the Midgard project have taken this time for making our own preparations as well. Here are some initial results:</p>

<ul><li>grokking the semantic web and linked data ideas and terminology obviously required some amounts of studying</li>
<li>we did a comparison of features and concepts between three content repositories together with Day Software. The similarities between Midgard, JCR and CouchDB are remarkable</li>
<li>while others in the IKS sphere are focused on Java, we've started collaborating with the developers of Tracker, a GObject-based RDF triple store. Tracker would fit the Midgard architecture much better and we would be able to avoid big external dependencies</li>
<li>we chose Wymeditor as the new rich text editor in Midgard CMS. Wymeditor is fast, jQuery-based and relatively sparse of features, allowing us to build the functionality we need in an integrated manner. Wymeditor is also capable of dealing with RDFa</li>
<li>MgdSchema, the XML syntax for describing Midgard content types was expanded to allow us to link objects and properties to appropriate RDF ontologies</li>
<li>we participated in several IKS meetings around Europe: Salzburg, Rome, Salzburg, Rome and now Paderborn</li>
<li>preparations were made to migrate Midgard's default HTML templates from Microformats to RDFa</li>
</ul><p>All of this aims for making Midgard compatible with the designs of the IKS project, but building as much of it on top of the pure GNOME + PHP stack as possible.</p>
]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Tue, 25 May 2010 15:29:31 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-895cc20c795a11dfb9c9b3d141a9aa0baa0b</guid>
        </item>
        <item>
            <title>Midgard2 has moved to GitHub</title>
            <link>http://bergie.iki.fi/blog/midgard2_has_moved_to_github/</link>
            <description><![CDATA[

<p>Now that <a href="http://bergie.iki.fi/blog/ratatoskr_is_out-midgard2_content_repository_goes_lts/">Midgard2 is at Long-Term Supported stage</a> it was time to finally make the jump and migrate our development efforts to happen on top of <a href="http://git-scm.com/">Git</a>, the fast version control system. To maximize project visibility and enable easy tool access we chose <a href="http://github.com/">GitHub</a> as the Git hosting provider.</p>
<p><img src="http://bergie.iki.fi/static/1/1df64cc8af1955464cc11dfa27e2702d32509890989_git-banner.png" border="0" alt="git-banner.png" title="git-banner.png" /></p>
<p>While migrating to Git we also decided to implement the <a href="http://www.slideshare.net/err/git-machine">Distributed Version Control model</a> where the <a href="http://github.com/midgardproject">MidgardProject account</a> contains "blessed" repositories of various modules of the Midgard2 ecosystem, with <a href="http://whygitisbetterthanx.com/#any-workflow">development happening in personal clones</a>. Maintainers of Midgard modules will be responsible for merging changes from developers back upstream, based on <a href="http://github.com/guides/pull-requests">pull requests</a>. More information can be found from <a href="http://www.midgard-project.org/discussion/developer-forum/read/4cf414fe644311df818bd7a6bcc6d37ed37e.html">the developer list thread</a>.</p>
<p>You can get started by following the <a href="http://github.com/midgardproject">MidgardProject account on GitHub</a>! See also <a href="https://www.ohloh.net/p/midgard2">Midgard2</a> and <a href="https://www.ohloh.net/p/midgardmvc">Midgard MVC</a> on Ohloh.</p>
<p><a href="http://www.midgard-project.org/midgard/8.09/">Midgard1 Ragnaroek</a> maintenance and development will still happen in our <a href="https://svn.midgard-project.org/midgard/branches/ragnaroek/">old SVN environment</a> and the <a href="http://trac.midgard-project.org/timeline">Trac tool</a>.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Fri, 21 May 2010 11:43:57 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-7b6aba0e64bb11dfab8c2f6ddcadc21dc21d</guid>
        </item>
        <item>
            <title>Privacy: how Qaiku is doing it</title>
            <link>http://bergie.iki.fi/blog/privacy-how_qaiku_is_doing_it/</link>
            <description><![CDATA[

<p><a href="http://www.facebook.com/">Facebook</a> is <a href="http://business.financialpost.com/2010/05/17/fp-tech-desk-quit-facebook-day-is-may-31/">facing a backlash</a> on their constant erosion of privacy. They have a privacy policy <a href="http://thenextweb.com/socialmedia/2010/05/13/facebooks-privacy-policy-is-longer-than-the-us-constitution/">longer than US constitution</a>, and <a href="http://venturebeat.com/2010/05/13/zuckerberg-dumb-fucks/">a track record</a> that has even <a href="http://www.pcworld.com/article/159703/facebook_privacy_change_sparks_federal_complaint.html">sparked a federal complaint</a>. While I'm a big believer in <a href="http://www.wired.com/wired/archive/4.12/fftransparent.html">a transparent society</a> I still believe users should be in control of who can see their information and how.</p>
<p>I think <a href="http://www.qaiku.com/">Qaiku</a>, the conversational microblogging service, is doing this quite well. In your profile you have <a href="http://www.qaiku.com/settings/privacy/">a simple setting</a>:</p>
<p><img src="http://bergie.iki.fi/static/1/1df626db4e8c50a626d11df8459a7c8cecec16cc16c_qaiku-privacy-settings.png" border="0" alt="qaiku-privacy-settings.png" title="qaiku-privacy-settings.png" /></p>
<p>Privacy of individual conversations comes from the settings of the person who initiated that thread. The setting is clearly shown in the sidebar. Some examples:</p>
<p><img src="http://bergie.iki.fi/static/1/1df626e2adb53ea626e11df8cfa9534778f43954395_qaiku-privacy-thread-qaikuonly.png" border="0" alt="qaiku-privacy-thread-qaikuonly.png" title="qaiku-privacy-thread-qaikuonly.png" /></p>
<p><img src="http://bergie.iki.fi/static/1/1df626e9668a7e8626e11dfb3bbcd6b43ab91559155_qaiku-privacy-thread-memberonly.png" border="0" alt="qaiku-privacy-thread-memberonly.png" title="qaiku-privacy-thread-memberonly.png" /></p>
<p><img src="http://bergie.iki.fi/static/1/1df626ec2e14de8626e11df8cba619e190f97349734_qaiku-privacy-thread-public.png" border="0" alt="qaiku-privacy-thread-public.png" title="qaiku-privacy-thread-public.png" /></p>
<p>This way you can know who will be able to see your comments and make the decision before posting them.</p>
<p>The <a href="http://www.qaiku.com/info/tos/">Terms of Service</a> are not too tricky either, containing items like <strong>Be Nice</strong> and <strong>What is yours is yours</strong>.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Tue, 18 May 2010 11:17:53 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-99c37f38625711df95b227b3be9ab6d8b6d8</guid>
        </item>
        <item>
            <title>Notes from my first Ubuntu Developer Summit</title>
            <link>http://bergie.iki.fi/blog/notes_from_my_first_ubuntu_developer_summit/</link>
            <description><![CDATA[

<p>Last week was the <a href="https://wiki.ubuntu.com/UDS-M">Ubuntu Developer Summit</a> targeted at planning how the next iteration of the operating system, <a href="http://www.markshuttleworth.com/archives/336"><em>Maverick Meerkat</em></a>, targeted at a October 10th 2010 release, would look like. The event was held in a spa resort off in the countryside near Brussels. A place where the developers were comfortably separated from the busy towns by forests and country roads.</p>
<p>I went to the UDS with two goals in my mind: to discuss <a href="http://bergie.iki.fi/blog/making_the_gnome_desktop_location-aware/">making the Ubuntu desktop location-aware</a>, and to figure out what sort of role <a href="http://www.midgard2.org/">Midgard</a>, our content repository could play in the Ubuntu space. Normally such things would be better approached by talking to upstream projects and distributions, but as Ubuntu is <a href="http://www.0d.be/2010/05/13/gnome-and-operating-systems/">taking an increasingly active role</a> in developing itself to be a <em>comprehensive and unique operating system</em>, it would be a better place to accomplish such wide-ranging changes.</p>
<p><strong>Location-awareness</strong> was a area that many were interested in. Ubuntu already had considered <a href="http://geoclue.freedesktop.org/"><strong>GeoClue</strong></a>, our location service, to be a component of the distribution in Lucid Lynx, but that <a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-lucid-gnome-geoclue">plan had been abandoned</a> due to the low-maintained status of the software. However, now that GeoClue has become the <a href="http://jaaksi.blogspot.com/2010/04/meego-is-now-opened.html">geolocation framework for MeeGo</a> things are about to change, and so there is <a href="https://blueprints.launchpad.net/ubuntu/+spec/desktop-maverick-geoclue/">a significant possibility</a> to get GeoClue into Ubuntu as well.</p>
<p>GeoClue by itself will obviously not do much, and so making applications use it is the important thing. Some applications already support location information and could be changed to include those features by default. This includes <a href="http://blog.pierlux.com/2009/06/15/geolocation-in-empathy-now-real/en/"><strong>Empathy</strong></a><a href="http://blog.pierlux.com/2009/06/15/geolocation-in-empathy-now-real/en/"> sharing location</a> information with instant messaging buddies, and <strong>Getting Things GNOME</strong> TODO manager being able to <a href="http://live.gnome.org/gtg/soc/geolocalized_tasks">tag action items with location</a>. <strong>Zeitgeist</strong> is intending to start tagging and searching activity <a href="https://code.launchpad.net/~mortenmjelva/zeitgeist/geoclue-extension">history with location</a>, and <a href="http://patchpanel.blogspot.com/2010/05/ubuntu-1004-my-two-cents.html"><strong>Gwibber</strong></a> also wants to include location sharing to interface with social web services like Brightkite, Qaiku and Google Latitude. Another reasonably low-hanging fruit would be to make the <strong>Ubuntu panel clock</strong> automatically change time zones as you travel.</p>
<p><strong>Midgard in Ubuntu</strong> is a bit trickier question. A lot of Ubuntu has now been developed to <a href="http://www.youtube.com/watch?v=2R1qf5_6Zt4">utilize the <strong>CouchDB</strong> document database</a>, which provides quite <a href="http://bergie.iki.fi/blog/what_is_a_content_repository/">similar storage services as Midgard</a> does. <a href="http://couchdb.apache.org/">CouchDB's</a> cool map/reduce algorithms and replication capabilities have enabled Ubuntu developers to <a href="http://arstechnica.com/open-source/reviews/2009/11/good-karma-ars-reviews-ubuntu-910.ars/6">quickly integrate a content repository</a> into many applications and to provide a cloud storage and synchronization service to users of the operating system.</p>
<p>But at the same time <a href="http://arstechnica.com/open-source/reviews/2010/05/lucid-dream-ars-reviews-ubuntu-1004.ars/9">CouchDB introduces some problems</a>:</p>
<blockquote>CouchDB can't seem to handle the load of Gwibber's messages, leading to excessive CPU consumption and poor performance in certain cases. For example, the overhead of computing the views causes lag when the user switches streams after Gwibber refreshes. The cost of pulling the account configuration data out of the database can also sometimes cause a noticeable lag that lasts up to four or five seconds when opening Gwibber's account manager.</blockquote>
<p>CouchDB has been designed with web servers in mind, and in many situations having a constantly-running Erlang process and having to do HTTP roundtrips to access data are undesirable on more constrained computers. We <a href="http://protoblogr.net/blog/view/finally_got_them_working.html">ported CouchDB to Maemo</a> a few years ago and the performance was terrible. I'd imagine the same issues on netbooks and other small hardware that <a href="http://www.markshuttleworth.com/archives/383">Ubuntu's Light initiative</a> targets.</p>
<p>On such environments <a href="http://twitter.com/sil/status/13782972356">Midgard might be a better option</a>. <a href="http://bergie.iki.fi/blog/ratatoskr_is_out-midgard2_content_repository_goes_lts/">Midgard's recent LTS release</a> uses regular <a href="http://www.gnome-db.org/News">relational databases</a> for fast performance and low footprint, utilizes important pieces of free desktop architecture like D-Bus signalling and <a href="http://live.gnome.org/GObjectIntrospection">GObject Introspection</a>, and has been proven to work well even on low-end devices like the Nokia N900. And yet it provides <a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">full content repository APIs</a> comparable to CouchDB, and can even handle <a href="http://bergie.iki.fi/blog/couchdb_and_midgard_talking_with_each_other/">replication with Couch</a>. One way to make Midgard possible, then, would be to provide Python <a href="http://www.freedesktop.org/wiki/Specifications/desktopcouch">DesktopCouch APIs</a> to it.</p>
<p>Another interesting technology discussed much in UDS was <a href="http://www.puppetlabs.com/"><strong>Puppet</strong></a>, the  systems administration tool. It enables developers to describe their setups in a <a href="http://docs.puppetlabs.com/guides/language_tutorial.html">object-oriented declarative language</a>, and then just let Puppet to <em>make it so</em>. I attended two Puppet sessions, and picked up a Kindle edition of <a href="http://www.amazon.com/Pulling-Strings-Puppet-Configuration-Management/dp/1590599780">the Puppet book</a> which I read on the train ride <a href="http://www.qaiku.com/channels/show/maemork/view/00ddfcd65e1411dfacfeebea881863c763c7/">to the Netherlands</a>. As my company manages lots of Midgard web servers for our customers, automating system setup and maintenance on top of Puppet and <a href="http://bergie.iki.fi/blog/nemein_is_going_to_ubuntu_server/">Ubuntu Server</a> might save us lots of time and effort.</p>
<p>All in all, quite an enlightening <a href="http://www.qaiku.com/channels/show/ubuntu/view/adaba27e5c2f11dfb0df111cdab35b375b37/">two days in the event</a>. If things work out, I hope I'll be able to spend more time in the UDS targeting the N-series of Ubuntu next fall.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Sat, 15 May 2010 21:09:47 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-f385a0e6604f11df989b21f8ca4ebbdfbbdf</guid>
        </item>
        <item>
            <title>Buzzword conference in June</title>
            <link>http://jukkaz.wordpress.com/2010/05/14/buzzword-conference-in-june/</link>
            <description><![CDATA[
Like the Lucene conference I mentioned earlier, Berlin Buzzwords 2010 is a new conference that fills in the space left by the decision not to organize an ApacheCon in Europe this year. Going beyond the Apache scope, Berlin Buzzwords is a conference for all things related to scalability, storage and search. Some of the key projects [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jukkaz.wordpress.com&blog=52630&post=313&subd=jukkaz&ref=&feed=1" />]]></description>
            <author>jz@yukatan.fi (Jukka Zitting)</author>
            <category>feed:57044c271fad26630209654e3e82f762</category>
            <pubDate>Fri, 14 May 2010 10:47:47 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-fde906e25f7611df84e251961c5832513251</guid>
        </item>
        <item>
            <title>Commit early, commit often!</title>
            <link>http://jukkaz.wordpress.com/2010/05/14/commit-early-commit-often/</link>
            <description><![CDATA[
A huge commit was made in a log4j branch yesterday. The followup discussion: Comment: &#8220;I haven&#8217;t had a chance to review the rest of the commit, but it seems like a substantial amount of work that was done in isolation. While things are still fresh, can you walk through the whats in this thing and the decisions [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jukkaz.wordpress.com&blog=52630&post=307&subd=jukkaz&ref=&feed=1" />]]></description>
            <author>jz@yukatan.fi (Jukka Zitting)</author>
            <category>feed:57044c271fad26630209654e3e82f762</category>
            <pubDate>Fri, 14 May 2010 08:58:53 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-fcce0c125f7611df84e251961c5832513251</guid>
        </item>
        <item>
            <title>Ratatoskr is out: Midgard2 Content Repository goes LTS</title>
            <link>http://bergie.iki.fi/blog/ratatoskr_is_out-midgard2_content_repository_goes_lts/</link>
            <description><![CDATA[

<p><a href="http://www.midgard-project.org/updates/midgard2_10-05-ratatoskr-released/">Midgard2 10.05 "Ratatoskr"</a> was released yesterday, moving the Midgard <a href="http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/">Content Repository</a> into long-term supported state as <a href="http://bergie.iki.fi/blog/future_directions_for_midgard/">outlined in my recent post</a>. Ratatoskr should provide a stable storage system for both desktop and mobile application developers.</p>
<p>Web developers will also benefit from <a href="http://bergie.iki.fi/blog/midcom_3_at_a_glance/">Midgard MVC</a>, the PHP framework that already runs services like <a href="http://qaiku.com/">Qaiku.com</a>.</p>
<p>The release includes:</p>
<blockquote>
<ul><li><strong>Content Repository API</strong> bindings for the following programming languages: C, Python, PHP, C# and Vala. D-Bus signals are used to inform different Midgard2 applications about things happening in the repository, enabling for example a PHP website and a Python background process to communicate with each other.</li>
<li><strong>Midgard MVC</strong>, an elegant framework for PHP web applications. Midgard MVC includes interfaces for loadable components, hierarchical sub-requests, a forms system and much more.</li>
<li><strong>Midgard Runtime</strong> that combines the Midgard MVC, a PHP application server and a WebKit UI to provide a full Midgard web development environment on the desktop.</li>
</ul></blockquote>
<p>This release benefits greatly from new technologies happening in the <a href="http://www.gnome.org/">GNOME</a> sphere: some of the language bindings are created using <a href="http://live.gnome.org/GObjectIntrospection">GObject Introspection</a>, <a href="http://live.gnome.org/Vala">Vala</a> has made development of new features faster and <a href="http://www.gnome-db.org/News">libgda4</a> makes all database operations more efficient.</p>
<p>Packages for various Linux distributions are already trickling into <a href="http://download.opensuse.org/repositories/home:/midgardproject:/ratatoskr/">Midgard's OpenSuse Build Service repositories</a> and <a href="http://maemo.org/packages/search/?org_maemo_packages_search%5B1%5D%5Bproperty%5D=name&amp;org_maemo_packages_search%5B1%5D%5Bconstraint%5D=LIKE&amp;org_maemo_packages_search%5B1%5D%5Bvalue%5D=midgard">Maemo Packages</a>.</p>
<p>A good place to start the Midgard2 journey is my <a href="http://bergie.iki.fi/blog/getting_started_with_the_midgard_content_repository/">Midgard2 Content Repository for Python tutorial</a>.</p>
<p><img src="http://bergie.iki.fi/static/1/1df59f95f46c97a59f911df997e7567a2f979277927_ratatoskr.jpg" border="0" alt="ratatoskr.jpg" title="ratatoskr.jpg" /></p>
<p><em>Photo: </em><a href="http://www.flickr.com/photos/aidanmorgan/2447587265/"><em>Squirrel</em></a><em> by John-Morgan on Flickr (the release codename <a href="http://en.wikipedia.org/wiki/Ratatoskr">Ratatoskr</a> is a mythological squirrel)</em></p>
<p> </p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Fri, 07 May 2010 17:03:21 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-263e33c059e511df946ab5a069cca0dba0db</guid>
        </item>
        <item>
            <title>Ubuntu Lucid brings Qaiku to the desktop</title>
            <link>http://bergie.iki.fi/blog/ubuntu_lucid_brings_qaiku_to_the_desktop/</link>
            <description><![CDATA[

<p><a href="http://www.ubuntu.com/products/whatisubuntu/1004features">Ubuntu 10.04 LTS "Lucid Lynx"</a> was released yesterday. Among other new features it includes the <a href="http://arstechnica.com/open-source/reviews/2010/03/hands-on-ubuntu-goes-social-gains-me-menu-in-1004-alpha-3.ars">Me Menu</a>, bringing your social networks right into the desktop. <a href="http://www.qaiku.com/">Qaiku</a>, the Finnish <a href="http://bergie.iki.fi/blog/microblogging-why_qaiku_might_do_what_twitter_and_brightkite_didn-t/">conversational microblogging service</a> is included:</p>
<p><img src="http://bergie.iki.fi/static/1/1df547838299100547811dfb12ca57deece79d679d6_ubuntu-lucid-netbook-small.png" border="0" alt="ubuntu-lucid-netbook-small.png" title="ubuntu-lucid-netbook-small.png" /></p>
<p>All in all, Lucid seems like a very smooth Linux desktop experience. I'm also happy other changes we've pushed for like <a href="http://articles.sitepoint.com/article/whats-new-php-5-3">PHP 5.3</a> are included. Maybe in the <a href="http://arstechnica.com/open-source/news/2010/04/ubuntu-1010-to-be-codenamed-maverick-meerkat.ars">next release cycle</a> we can start thinking of bringing <a href="http://bergie.iki.fi/blog/making_the_gnome_desktop_location-aware/">geolocation to the desktop</a>...</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Fri, 30 Apr 2010 16:53:30 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-f85b7f42546411dfa4891972014e0e770e77</guid>
        </item>
        <item>
            <title>Future directions for Midgard</title>
            <link>http://bergie.iki.fi/blog/future_directions_for_midgard/</link>
            <description><![CDATA[

<p>Two weeks ago we had the <a href="http://www.qaiku.com/go/6myd/">Midgard Gathering</a> in Poland, and some big decisions were made there. I've been meaning to blog about them, but the <a href="http://en.wikipedia.org/wiki/2010_eruptions_of_Eyjafjallaj%C3%B6kull">volcano eruption in Iceland</a> kept me busy by providing an <a href="http://bergie.iki.fi/blog/on_volcanic_ashes_and_international_travel/">interesting trip through New York and Moscow</a>.</p>
<h2>Midgard2</h2>
<p>The next Midgard2 release, <em>10.05 "Ratatoskr"</em> will be <a href="http://bergie.iki.fi/blog/long-term_support_for_midgard-ragnaroek_is_here/">a long-term support release</a>, intended to provide <em>a reliable base for building web and mobile applications</em> utilizing the content repository. It will consist of:</p>
<p><strong>Midgard Core</strong>, the actual content repository library that abstracts database connections, provides <a href="http://bergie.iki.fi/blog/getting_started_with_the_midgard_content_repository/">object-oriented storage and retrieval interfaces</a> and handles things like D-Bus notifications of content changed by other applications.</p>
<p><strong>Midgard PHP and Midgard Python</strong>, language bindings providing the Midgard content repository services to these popular scripting languages. This means the Midgard content repository can easily be used within any PHP web application, Python maemo application or with the <a href="http://github.com/jerryjj/MidgardPyMVC">Pylons MVC framework</a>.</p>
<p><strong>Midgard Mono</strong>, C# bindings to the Midgard content repository allowing better interfacing with Microsoft technologies.</p>
<p><strong>GObject Introspection</strong> allowing us to <a href="http://live.gnome.org/GObjectIntrospection">provide other language bindings</a> including Vala and Javascript.</p>
<p><strong>Midgard MVC</strong>, an elegant framework for PHP web applications. Midgard MVC includes interfaces for loadable components, <a href="http://techportal.ibuildings.com/2010/02/22/scaling-web-applications-with-hmvc/">hierarchical sub-requests</a>, a forms system and much more. You can see it in action for example on <a href="http://qaiku.com/">Qaiku.com</a></p>
<p><strong>Midgard Runtime</strong> that combines the Midgard MVC, a <a href="http://wiki.github.com/indeyets/appserver-in-php/">PHP application server</a> and <a href="http://www.flickr.com/photos/bergie/4071541356/">a WebKit UI</a> to provide a full Midgard web development environment on the desktop.</p>
<p>Once the release is in shape a major focus will be put in ease of installation and documentation. We already have Midgard2 running on Windows in addition to Linux and Mac, but it will remain to be seen if the port makes it in time for release.</p>
<h2>Midgard3</h2>
<p>After having a stable LTS release of Midgard2 out there the community will start working on Midgard3, which takes the concepts from Midgard2 even further with several important additions:</p>
<p><strong>Workspaces</strong>, kind of "layered virtual databases" inside one content repository. These can be used on the CMS level of Midgard a bit like git branches are used.</p>
<p><strong>Binary GUIDs</strong> for more efficient storage of the unique object identifiers in Midgard.</p>
<p><strong>MgdSchemas stored in the database</strong> instead of XML files. This will make schema editing, sandboxing and replication between installations a lot easier.</p>
<p><strong>MidgardQuerySelect</strong>, the new better database select interface to replace Midgard Query Builder.</p>
<p><strong>Midgard CMS</strong>, the content management user interface built on top of Midgard3 and the Midgard MVC. We will provide interesting new concepts like UI constructed fully based on <em>introspecting the CMS-generated pages</em> and a git-like model <em>where anybody can edit</em> but pushing to production requires additional privileges.</p>
<p>Most applications will need to be adapted to work on Midgard3, which is why the LTS release will be there to ease the way, just <a href="http://www.midgard-project.org/midgard/8.09/">like we did with Ragnaroek</a> on the Midgard1 series.</p>
<p>The estimated first release of Midgard3 will be in December 2010.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Sun, 25 Apr 2010 23:53:31 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-c144084650b111df89017b8a30026f326f32</guid>
        </item>
        <item>
            <title>Is it really that hard to test?</title>
            <link>http://jemiweb.wordpress.com/2010/04/23/hard-to-test/</link>
            <description><![CDATA[
The web is full of different types of tools for testing and optimisation. The use of these should pe a part of the process when doing digital stuff (web, email, mobile), it should be mandatory but it is not. Why? It is a help for everyone: coders get technical feedback, project managers get documentation and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jemiweb.wordpress.com&blog=2426414&post=84&subd=jemiweb&ref=&feed=1" />]]></description>
            <author>jemi@iki.fi (Edvard Immonen)</author>
            <category>feed:8a14b25060334d992b2c32782632632e</category>
            <pubDate>Fri, 23 Apr 2010 11:03:06 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-aa082a184ecc11dfa76a1dd96d4281c581c5</guid>
        </item>
        <item>
            <title>Lucene conference in May</title>
            <link>http://jukkaz.wordpress.com/2010/04/21/lucene-conference-in-may/</link>
            <description><![CDATA[
This year there is no ApacheCon Europe, but a number of more focused events related to projects at Apache and elsewhere are showing up to fill the space. The first one is Apache Lucene EuroCon, a dedicated Lucene and Solr user conference on 18-21 May in Prague. That&#8217;s the place to be if you&#8217;re in Europe [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jukkaz.wordpress.com&blog=52630&post=302&subd=jukkaz&ref=&feed=1" />]]></description>
            <author>jz@yukatan.fi (Jukka Zitting)</author>
            <category>feed:57044c271fad26630209654e3e82f762</category>
            <pubDate>Wed, 21 Apr 2010 21:23:28 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-37e180824d8d11dfa3f32b9cdab21a741a74</guid>
        </item>
        <item>
            <title>On volcanic ashes and international travel</title>
            <link>http://bergie.iki.fi/blog/on_volcanic_ashes_and_international_travel/</link>
            <description><![CDATA[

<p>The past two weeks have been pretty hectic for me - <a href="http://www.qaiku.com/go/6myd/">Midgard Gathering</a> in Poland, some meetings in Berlin, and the <a href="http://events.linuxfoundation.org/events/collaboration-summit">Linux Collaboration Summit</a> in San Francisco. And then, thanks to the <a href="http://en.wikipedia.org/wiki/2010_eruptions_of_Eyjafjallaj%C3%B6kull">Eyjafjallajökull eruption</a> in Iceland and the <a href="http://en.wikipedia.org/wiki/Air_travel_disruption_after_the_2010_Eyjafjallaj%C3%B6kull_eruption">resulting flight cancellations</a>, the trip back became a little bit more complicated.</p>
<p><a href="http://www.flickr.com/photos/bergie/4530323500/"><img src="http://bergie.iki.fi/static/1/1df4ca8ba6c82da4ca811df8865199108a1f11ff11f_view_4530323500_9153bd2bcf_b.jpg" border="0" alt="San Francisco bay" /></a></p>
<p>My original KLM flight on April 17th was cancelled, and as the best offer from the airline was to get me home on 27th I made some quick decisions while still on the San Francisco airport. As it was certain that there would be some days of delay, New York felt like the best place to wait for <a href="http://www.metoffice.gov.uk/aviation/vaac/data/VAG_1271763280.png">the dust</a> to settle.</p>
<p><a href="http://www.flickr.com/photos/bergie/4529689441/"><img src="http://bergie.iki.fi/static/1/1df4ca8be5e16424ca811df8865199108a1f11ff11f_view_4529689441_db673406c7_b.jpg" border="0" alt="Cancelled flights on SFO" /></a></p>
<p>After a failed attempt to get across the Atlantic on an Indian airline, my current plan is to fly tonight to Moscow with Aeroflot, and then hopefully to continue to Helsinki from there, either by plane or train.</p>
<p><a href="http://www.flickr.com/photos/bergie/4536169938/"><img src="http://bergie.iki.fi/static/1/1df4ca8b39292c44ca811df8865199108a1f11ff11f_view_4536169938_e522c885bc_b.jpg" border="0" alt="New York from the Intrepid" /></a></p>
<p>In the meanwhile, thanks to Gregor and Google for graciously providing me with office space while I'm stuck here!</p>
<p><a href="http://www.flickr.com/photos/bergie/4540132904/"><img src="http://bergie.iki.fi/static/1/1df4d2889833be84d2811dfae0ddb37264bd693d693_view_4540132904_0ee21e2d75_b.jpg" border="0" alt="Gregor in Meat Packing District" /></a></p>
<p><strong>As an afterthought:</strong> if such disruptions in flying would continue, that would be a huge boost for high-speed rail, fast ocean liners and telepresence. And that might not be such a bad thing for the future of mankind.</p>]]></description>
            <author>henri.bergius@iki.fi (Henri Bergius)</author>
            <category>feed:e1ac443192c214d3dd05c950b16e0929</category>
            <pubDate>Wed, 21 Apr 2010 20:02:14 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-9524a1ec4d6b11dfb8146f179ad35a675a67</guid>
        </item>
        <item>
            <title>Visio Drawing – Server Rack</title>
            <link>http://www.adamsdesk.com/be/archives/2010/04/19/visio-drawing-server-rack/</link>
            <description><![CDATA[
<h4>Background Knowledge</h4>
<hr />
<p>I was given an assignment to virtual layout our entire network server rack and equipment within the serve room. As well I had to make note of where each end of each network cable ended up at with the exception of cables going to the patch box.</p>
<p>I used Microsoft Visio to create the drawing. In many cases I ended up having to create my own stencils from images. Not exactly perfect but it did the job. In those case where I made my own stencil I just use <a href="http://www.adobe.com/photoshop/">Adobe Photoshop</a> to touch up some free photos of a particular product and then inserted the image into my Visio drawing.</p>
<h4>Resources Used for Visio Stencils, Icons and Add-Ins</h4>
<hr />
<ul>
<li><a href="http://www.cisco.com/en/US/products/prod_visio_icon_list.html">Cisco Stencils</a></li>
<li><a href="http://www.watchguard.com/products/resources/visio-icons.asp">WatchGuard Icons</a></li>
<li><a href="http://www.barracudanetworks.com/ns/support/documentation.php">Barracuda &#8211; Documentation</a></li>
<li><a href="http://www.barracudanetworks.com/ns/portal/graphics.php#gfx-cat-6">Barracuda &#8211; Graphics</a></li>
<li><a href="http://www.altimatech.com/ncpmfg/index.asp?mfgacronym=apc">APC Stencils</a> (free sample)</li>
<li><a href="http://www.riverbed.com/company/news/press_resources/index.php">Riverbed Steelhead</a></li>
<li><a href="http://www.readynas.com/forum/viewtopic.php?=&#038;p=50106">Netgear ReadyNAS</a></li>
<li><a href=" http://www.brianmadden.com/blogs/brianmadden/archive/2004/07/19/now-available-for-download-citrix-metaframe-shapes-visio-stencil.aspx">Citrix MetaFrame</a></li>
<li><a href="http://www.visiocafe.com/">Visio Cafe</a></li>
<li><a href="http://www.visiostencils.com/home/index.php">NetZoom Visio Stencils</a> (free samples, entire access requires a subscription)</li>
<li><a href="http://www.visguy.com/">VisioGuy</a> (general Visio stencils, add-ins, etc.)</li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=3250331A-0116-4064-92D1-50B9B0727B75&#038;displaylang=en">Visio Virtual Server Add-In</a></li>
<li><a href="http://www.visguy.com/2008/06/27/visio-2007-exchange-server-add-in/">Visio Exchange Server Add-In</a></li>
<li><a href="http://nag.ru/projects/visio/">Huge Library</a> (non-English)</li>
<li><a href="http://visiotoolbox.com/downloads/Tools/Visio_Stencils_-_For_All_Your_Diagramming_Need_562.aspx">Mimcrosoft Visio Toolbox</a></li>
<li><a href="http://products.nortel.com/go/product_content.jsp?segId=0&#038;catId=null&#038;parId=0&#038;prod_id=65883">Nortel Norstar BCM-450 Icons</a></li>
</ul>
]]></description>
            <author>adouglas@venmarces.com (Adam Douglas)</author>
            <category>feed:ed8785fe5210ab2f4b83d14c9502c779</category>
            <pubDate>Mon, 19 Apr 2010 21:15:00 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-c29ef6c64bfa11df9e67b36a69657ed97ed9</guid>
        </item>
        <item>
            <title>How To – Setup Sendmail for Masquerading and as a SMTP Smart Host</title>
            <link>http://www.adamsdesk.com/be/archives/2010/04/13/how-to-setup-sendmail-for-masquerading-and-as-a-smtp-smart-host/</link>
            <description><![CDATA[
<h4>Background Knowledge</h4>
<hr />
<p>I have multiple <a href="http://www.openbsd.org/">OpenBSD</a> web servers some internal and some public (accessible via the Internet) that uses <a href="http://www.sendmail.org/">Sendmail</a>. However on the network there is only one publicly known email server. Therefore I require to <a href="http://www.sendmail.org/">Sendmail</a> to function as follows, route all email through an <acronym title="simple mail transfer protocol">SMTP</acronym> smart host and when routing mail to the <acronym title="simple mail transfer protocol">SMTP</acronym> smart host change the email address hostname (masquerade). For example an email sender of &#8220;root@foobar.example.com&#8221; would be changed to &#8220;root@example.com&#8221;.</p>
<p>I’m by no means a <a href="http://www.sendmail.org/">Sendmail</a> expert, the steps I explain here is what I’ve learned on my own and with the assistance of Zerberus in <acronym title="Internet Relay Chat">IRC</acronym> <a href="http://www.freenode.net/">Freenode</a> #sendmail channel.</p>
<h4>Solution</h4>
<hr />
<p>Alter Sendmail&#8217;s configuration file adding the following lines. Refer to <a href="http://www.sendmail.org/documentation/configurationReadme">Sendmail Configuration Readme</a> for further explanation and <a href="http://www.midgard-project.org/be/archives/2007/10/05/sendmail-setup-as-smart_host/">How To &#8211; Setup Sendmail as a Smart_Host</a> for details on how this process is achieved.</p>
<pre>
FEATURE(genericstable)dnl
FEATURE(generics_entire_domain)dnl
GENERICS_DOMAIN(`example.com')dnl
MASQUERADE_AS(`example.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(`foobar.example.com')dnl
define(`SMART_HOST',`[10.10.15.1]')dnl
</pre>
<p>You will also need to edit Sendmail&#8217;s genericstable as follows. On <a href="http://www.openbsd.org/">OpenBSD</a> this is located under &#8220;/var/mail/genericstable&#8221;.</p>
<pre>
@foobar.example.com  %1@example.com
</pre>
<h4>Example Configuration File (mc)</h4>
<hr />
<pre>
divert(-1)
#
# Copyright (c) 1998 Sendmail, Inc.  All rights reserved.
# Copyright (c) 1983 Eric P. Allman.  All rights reserved.
# Copyright (c) 1988, 1993
#       The Regents of the University of California.  All rights reserved.
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the sendmail distribution.
#
#

#
#  This configuration only runs sendmail on the localhost interface.
#  This allows mail on the local host to work without accepting
#  connections from the net at large.
#

divert(0)dnl
include(`/usr/share/sendmail/m4/cf.m4')dnl
VERSIONID(`@(#)openbsd-localhost-smarthost.mc $Revision: 1.4 $')
OSTYPE(openbsd)dnl
FEATURE(nouucp, `reject')dnl
FEATURE(`accept_unresolvable_domains')dnl
FEATURE(`no_default_msa')dnl
FEATURE(genericstable)dnl
FEATURE(generics_entire_domain)dnl
GENERICS_DOMAIN(`example.com')dnl
MASQUERADE_AS(`example.com')dnl
FEATURE(masquerade_envelope)dnl
FEATURE(masquerade_entire_domain)dnl
MASQUERADE_DOMAIN(`foobar.example.com')dnl
define(`SMART_HOST',`[10.10.15.1]')dnl
DAEMON_OPTIONS(`Family=inet, address=127.0.0.1, Name=MTA')dnl
DAEMON_OPTIONS(`Family=inet6, address=::1, Name=MTA6, M=O')dnl
DAEMON_OPTIONS(`Family=inet, address=127.0.0.1, Port=587, Name=MSA, M=E')dnl
DAEMON_OPTIONS(`Family=inet6, address=::1, Port=587, Name=MSA6, M=O, M=E')dnl
CLIENT_OPTIONS(`Family=inet6, Address=::')dnl
CLIENT_OPTIONS(`Family=inet, Address=0.0.0.0')dnl
dnl
dnl Some broken nameservers will return SERVFAIL (a temporary failure)
dnl on T_AAAA (IPv6) lookups.
define(`confBIND_OPTS', `WorkAroundBrokenAAAA')dnl
MAILER(local)dnl
MAILER(smtp)dnl
</pre>
<p>Source: <a href="http://www.midgard-project.org/be/archives/2007/10/05/sendmail-setup-as-smart_host/">How To &#8211; Setup Sendmail as a Smart_Host</a><br />
Source: <a href="http://www.sendmail.org/m4/masquerading.html">Sendmail &#8211; Masquerading and Relaying</a><br />
Source: <a href="http://www.sendmail.org/documentation/configurationReadme">Sendmail Configuration Readme</a></p>
]]></description>
            <author>adouglas@venmarces.com (Adam Douglas)</author>
            <category>feed:ed8785fe5210ab2f4b83d14c9502c779</category>
            <pubDate>Tue, 13 Apr 2010 14:44:10 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-75f533aa471111dfbdaab9382292fb52fb52</guid>
        </item>
        <item>
            <title>“SIMPLE”.toLowerCase() is simple, right?</title>
            <link>http://jukkaz.wordpress.com/2010/04/12/simple-tolowercase-is-simple-right/</link>
            <description><![CDATA[
It turns out that "SIMPLE".toLowerCase().equals("simple") is not true if your default locale is Turkish, but your code is written in English. Turkish has two &#8220;i&#8221; characters, one with a dot and one without, which throws the above code off balance. The fix is to write the expression either as "SIMPLE".toLowerCase(Locale.ENGLISH).equals("simple") or even better as "SIMPLE".equalsIgnoreCase("simple"). [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=jukkaz.wordpress.com&blog=52630&post=299&subd=jukkaz&ref=&feed=1" />]]></description>
            <author>jz@yukatan.fi (Jukka Zitting)</author>
            <category>feed:57044c271fad26630209654e3e82f762</category>
            <pubDate>Mon, 12 Apr 2010 15:06:59 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-5be79ba2464811dfab3de5db91b209710971</guid>
        </item>
        <item>
            <title>Photo viewer for your Flickr account</title>
            <link>http://www.kaktus.cc/weblog/photo_viewer_for_your_flickr_account/</link>
            <description><![CDATA[

<p><a href="http://joonaskallioinen.wordpress.com/">Joonas Kallioinen</a> from <a href="http://www.piippunaakka.fi/">Piippunaakka Oy</a> created a nice photo viewer that fetches photos from <a href="http://www.flickr.com/">Flickr</a>. Joonas had a good point in saying that clicking on thumbnails is frustrating and that photos should immediately be presented in the size they are best viewed in. His work can be seen on the website of <a href="http://www.ariell.fi/">Ariell</a> or on my test version with <a href="http://www.kaktus.cc/portugal_2006.html">pictures from Portugal</a>.</p>

<p>This project will be finished soon as a few minor bugs will be fixed. <a href="http://joonaskallioinen.wordpress.com/2010/04/06/flickr-swf-gallery/">Go and grab it</a>.</p>
]]></description>
            <author>arttu@kaktus.cc (Arttu Manninen)</author>
            <category>feed:75467d10bae3865eab0f71e491c1836e</category>
            <pubDate>Wed, 07 Apr 2010 11:01:08 +0000</pubDate>
            <guid>http://www.midgard-project.org/midcom-permalink-07388552423911dfbfcc59bb9d36411f411f</guid>
        </item>
    </channel>
</rss>
