<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Henri Bergius - Geo</title>
    <description>Latest posts in category 'geo'</description>
    <link>https://bergie.iki.fi</link>
    <language>en</language>
    <lastBuildDate>Thu, 22 Jan 2026 21:58:34 +0000</lastBuildDate>
    
    <item>
      
      <title>Two hackathons in a week: thoughts on NoFlo and MsgFlo</title>
      <description>&lt;p&gt;Last week I participated in two hackathons, events where a group of strangers would form a team for two or three days and build a product prototype. In the end all teams pitch their prototypes, and the best ones would be given some prizes.&lt;/p&gt;

&lt;p&gt;Hackathons are typically organized to get feedback from developers on some new API or platform. Sometimes they’re also organized as a recruitment opportunity.&lt;/p&gt;

&lt;p&gt;Apart from the free beer and camaraderie, I like going to hackathons since they’re a great way to battle test the &lt;a href=&quot;https://flowhub.io/&quot;&gt;developer tools&lt;/a&gt; I build. The time from idea to having to have a running prototype is short, people are used to different ways of working and different toolkits.&lt;/p&gt;

&lt;p&gt;If our tools and &lt;a href=&quot;https://en.wikipedia.org/wiki/Flow-based_programming&quot;&gt;flow-based programming&lt;/a&gt; work as intended, they should be ideal for these kind of situations.&lt;/p&gt;

&lt;h2 id=&quot;minds--machines-hackathon-and-electrocute&quot;&gt;Minds + Machines hackathon and Electrocute&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://mindsmachinesberlin.devpost.com/&quot;&gt;Minds + Machines hackathon&lt;/a&gt; was held on a boat and focused on decarbonizing power and manufacturing industries. The main platform to work with was &lt;a href=&quot;https://www.ge.com/digital/predix&quot;&gt;Predix&lt;/a&gt;, GE’s PaaS service.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://d2vqpl3tx84ay5.cloudfront.net/minds_machines_team.jpg&quot;&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/minds_machines_team_small.jpg&quot; alt=&quot;Team Electrocute&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our project was &lt;strong&gt;&lt;a href=&quot;https://devpost.com/software/electrocute-a9guqr&quot;&gt;Electrocute&lt;/a&gt;&lt;/strong&gt;, a machine learning system for forecasting power consumption in a changing climate.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;1.5°C is the global warming target set by the Paris Agreement. How will this affect energy consumption? What kind of generator assets should utilities deploy to meet these targets? When and how much renevable energy can be utilized?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;The changing climate poses many questions to utilities. With Electrocute’s forecasting suite power companies can have accurate answers, on-demand.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://d2vqpl3tx84ay5.cloudfront.net/minds_machines_map.png&quot;&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/minds_machines_map_small.png&quot; alt=&quot;Electrocute forecasts&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The system was built with a &lt;a href=&quot;https://noflojs.org/&quot;&gt;NoFlo&lt;/a&gt; web API server talking over &lt;a href=&quot;https://msgflo.org/&quot;&gt;MsgFlo&lt;/a&gt; with a Python machine learning backend. We also built a frontend where users could see the energy usage forecasts on a heatmap.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://d2vqpl3tx84ay5.cloudfront.net/minds_machines_noflo.png&quot;&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/minds_machines_noflo_small.png&quot; alt=&quot;NoFlo-Xpress in action&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately we didn’t win this one.&lt;/p&gt;

&lt;h2 id=&quot;recoding-aviation-and-skillport&quot;&gt;Recoding Aviation and Skillport&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://www.recodingaviation.com/&quot;&gt;Recoding Aviation&lt;/a&gt; was held at &lt;a href=&quot;https://www.hubraum.com/&quot;&gt;hub:raum&lt;/a&gt; and focused on improving the air travel experience through usage of open APIs offered by the various participating airports.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://d2vqpl3tx84ay5.cloudfront.net/recoding_aviation_team.jpg&quot;&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/recoding_aviation_team_small.jpg&quot; alt=&quot;Team Skillport&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://platform.recodingaviation.com/#/projects/594437673d055b0004c17f5a&quot;&gt;Skillport&lt;/a&gt;&lt;/strong&gt; was our project to make long layovers more bearable by connecting people who’re stuck at the airport at the same time.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Long layovers suck. But there is ONE thing amazing about them: You are surrounded by highly skilled people with interesting stories from all over the world. It sometimes happens that you meet someone randomly - we all have a story like that. But usually we are too shy and lazy to communicate and see how we could create a valuable interaction. You never know if the other person feels the same.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;We built a mobile app that turns airports into a networking, cultural exchange and knowledge sharing hub. Users tell each other through the app that they are available to meet and what value they can bring to an interaction.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The app connected with a J2EE API service that then communicated over MsgFlo with NoFlo microservices doing all the interactions with social and airport APIs. We also did some data enrichment in NoFlo to make smart recommendations on meeting venues.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://d2vqpl3tx84ay5.cloudfront.net/recoding_aviation_msgflo.png&quot;&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/recoding_aviation_msgflo_small.png&quot; alt=&quot;MsgFlo in action&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This time our project went well with the judges and we were selected as the winner of the &lt;em&gt;Life in between airports&lt;/em&gt; challenge. I’m looking forward to the helicopter ride over Berlin!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://d2vqpl3tx84ay5.cloudfront.net/recoding_aviation_winners.jpg&quot;&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/recoding_aviation_winners_small.jpg&quot; alt=&quot;Category winners&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Skillport also won a space at &lt;a href=&quot;https://www.hubraum.com/&quot;&gt;hub:raum&lt;/a&gt;, so this might not be the last you’ll hear of the project…&lt;/p&gt;

&lt;h2 id=&quot;lessons-learned&quot;&gt;Lessons learned&lt;/h2&gt;

&lt;h3 id=&quot;benefits-of-a-message-queue-architecture&quot;&gt;Benefits of a message queue architecture&lt;/h3&gt;

&lt;p&gt;I’ve written before on &lt;a href=&quot;https://bergie.iki.fi/blog/forget-http-microservices/&quot;&gt;why to use message queues for microservices&lt;/a&gt;, but that post focused more on the benefits for real-life production usage.&lt;/p&gt;

&lt;p&gt;The problems and tasks for a system architecture in a hackathon are different. Since the time is short, you want to enable people to work in parallel as much as possible without stepping on each other’s toes. Since people in the team come from different backgrounds, you want to enable a heterogeneous, polyglot architecture where each developer can use the tools they’re most productive with.&lt;/p&gt;

&lt;p&gt;MsgFlo is by its nature very suitable for this. Components can be written in any language that supports the message queue used, and we have convenience libraries for many of them. The &lt;a href=&quot;https://msgflo.org/docs/communications/index.html&quot;&gt;discovery mechanism&lt;/a&gt; makes new microservices appear on the Flowhub graph as soon as they start, enabling services to be wired together quickly.&lt;/p&gt;

&lt;h3 id=&quot;mock-early-mock-often&quot;&gt;Mock early, mock often&lt;/h3&gt;

&lt;p&gt;Mocks are a useful way to provide a microservice to the other team members even before the real implementation is ready.&lt;/p&gt;

&lt;p&gt;For example in the GE Predix hackathon, we knew the machine learning team would need quite a bit of time to build their model. Until that point we ran their microservice with a simple &lt;a href=&quot;http://github.com/msgflo/msgflo-python&quot;&gt;msgflo-python&lt;/a&gt; component that just gave &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;random()&lt;/code&gt; as the forecast.&lt;/p&gt;

&lt;p&gt;This way everybody else was able to work with the real interface from the get-go. When the learning model was ready we just replaced that Python service, and everything was live.&lt;/p&gt;

&lt;p&gt;Mocks can be useful also in situations where you have a misbehaving third-party API.&lt;/p&gt;

&lt;h3 id=&quot;dont-forget-tests&quot;&gt;Don’t forget tests&lt;/h3&gt;

&lt;p&gt;While shooting for a full test coverage is probably not realistic within the time constraints of a hackathon, it still makes sense to have at least some “happy path” tests. When you’re working with multiple developers each building a different parts of the service, interface tests serve a dual purpose:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;They show the other team members how to use your service&lt;/li&gt;
  &lt;li&gt;They verify that your service actually does what it is supposed to&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And if you’re using a continuous integration tool like &lt;a href=&quot;https://travis-ci.org/&quot;&gt;Travis&lt;/a&gt;, the tests will help you catch any breakages quickly, and also ensure the services work on a clean installation.&lt;/p&gt;

&lt;p&gt;For a message queue architecture, &lt;a href=&quot;https://github.com/flowbased/fbp-spec&quot;&gt;fbp-spec&lt;/a&gt; is a great tool for writing and running these interface tests.&lt;/p&gt;

&lt;h3 id=&quot;talk-with-the-api-providers&quot;&gt;Talk with the API providers&lt;/h3&gt;

&lt;p&gt;The reason API and platform providers organize these events is to get feedback. As a developer that works with tons of different APIs, this is a great opportunity to make sure your ideas for improvement are heard.&lt;/p&gt;

&lt;p&gt;On the flip side, this usually also means the APIs are in a pretty early stage, and you may be the first one using them in a real-world project. When the inevitable bugs arise, it is a good to have a channel of communications open with the API provider on site so you can get them resolved or worked around quickly.&lt;/p&gt;

&lt;h3 id=&quot;room-for-improvement&quot;&gt;Room for improvement&lt;/h3&gt;

&lt;p&gt;The downside of the NoFlo and MsgFlo stack is that there is still quite a bit of a learning curve. &lt;a href=&quot;https://noflojs.org/documentation/&quot;&gt;NoFlo documentation&lt;/a&gt; is now in a reasonable place, but with &lt;a href=&quot;https://flowhub.io/&quot;&gt;Flowhub&lt;/a&gt; and MsgFlo we have tons of work ahead on improving the onboarding experience.&lt;/p&gt;

&lt;p&gt;Right now it is easy to work with if somebody sets it up properly first, but getting there is a bit tricky. Fixing this will be crucial for enabling others to benefit from these tools as well.&lt;/p&gt;
</description>
      <pubDate>Mon, 19 Jun 2017 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fmsgflo-noflo-in-hackathons%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/msgflo-noflo-in-hackathons/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/msgflo-noflo-in-hackathons/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>GeoClue rises again</title>
      <description>&lt;p&gt;Those that have been following my blog for a longer time know that I’ve been &lt;a href=&quot;http://bergie.iki.fi/blog/category/geo/&quot;&gt;talking a lot&lt;/a&gt; about making the Linux &lt;a href=&quot;http://bergie.iki.fi/blog/making_the_gnome_desktop_location-aware/&quot;&gt;desktop&lt;/a&gt; and &lt;a href=&quot;http://bergie.iki.fi/blog/iphone-geoclue_and_making_mobile_devices_location-aware/&quot;&gt;mobile&lt;/a&gt; platforms location aware.&lt;/p&gt;

&lt;p&gt;Thanks to the amazing advances in &lt;a href=&quot;http://bergie.iki.fi/blog/mobile-first-web/&quot;&gt;adoption of mobile platforms&lt;/a&gt;, this dream has more or less become true, especially in the more widespread Apple and Android ecosystems. All these devices know where they are, and developers are coming up with different smart applications to utilize this information.&lt;/p&gt;

&lt;p&gt;The free software world has been at risk of getting left behind. &lt;a href=&quot;http://en.wikipedia.org/wiki/GeoClue&quot;&gt;GeoClue&lt;/a&gt;, the location framework designed for these environments was in a state of flux for a long time with very little happening to it. But now we have &lt;a href=&quot;http://gitorious.org/geoclue2#more&quot;&gt;GeoClue2&lt;/a&gt;, a rewritten implementation of the original idea.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/geoclue-200.png&quot; alt=&quot;GeoClue&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://lwn.net/SubscriberLink/562141/d1e7180f05f40d60/&quot;&gt;LWN has a good write-up&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Zeeshan Ali spoke about GNOME’s geo-awareness, which is undergoing a rewrite. Geo-awareness consists of four major pieces, he said. The first is geolocation, or the “where am I?” question. The second is the opposite; the user wants to find a different location: a particular address, a nearby restaurant or gas station, or other points of interest. The third issue is routing, finding the best way to get between locations. Finally, there is the user interface topic: locations, points of interest, and routes all need to be presented to the user on a map.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;GeoClue2 can determine location from four different sources: coordinates from GPS devices (the most accurate), the location of nearby WiFi access points (which is accurate to just a few hundred meters), the location of 3G cellular towers (which are accurate only to a few kilometers), and IP addresses (which are accurate only down to the city level).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A major shortcoming that the new service addresses is privacy:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;GeoClue2 also offers better privacy controls; the previous version of the library would provide the current location to any application; with GeoClue2, GNOME will require the user to confirm location requests from each application.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Kudos to &lt;a href=&quot;http://www.linkedin.com/in/zeenix&quot;&gt;Zeeshan&lt;/a&gt; and the others involved for keeping the location-aware dream alive!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I haven’t personally been involved much in the free desktop world lately. This is mainly because I’ve been busy trying to change the worlds of &lt;a href=&quot;http://createjs.org/&quot;&gt;web publishing&lt;/a&gt; and &lt;a href=&quot;https://noflojs.org/&quot;&gt;software development&lt;/a&gt;, but also because I don’t really have a desktop at the moment. Instead, I do my work with &lt;a href=&quot;http://bergie.iki.fi/blog/working-on-android/&quot;&gt;an Android tablet&lt;/a&gt; and a &lt;a href=&quot;http://www.google.de/intl/en/chrome/devices/chromebook-pixel/&quot;&gt;web browser with an attached keyboard&lt;/a&gt;. But despite that, I hope this will be picked up not only by &lt;a href=&quot;http://www.gnome.org/&quot;&gt;GNOME&lt;/a&gt;, but by the &lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;other&lt;/a&gt; &lt;a href=&quot;https://sailfishos.org/&quot;&gt;Linux&lt;/a&gt; &lt;a href=&quot;http://kde.org/&quot;&gt;ecosystems&lt;/a&gt; as well.&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 08 Aug 2013 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fgeoclue2%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/geoclue2/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/geoclue2/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>Building a smarter workplace</title>
      <description>&lt;p&gt;As part of the &lt;a href=&quot;http://smarcos-project.eu&quot;&gt;SmarcoS&lt;/a&gt; project, &lt;a href=&quot;http://nemein.com&quot;&gt;we&lt;/a&gt; have been investigating how to make workplaces smarter through sensors and &lt;a href=&quot;http://worrydream.com/MagicInk/&quot;&gt;context awareness&lt;/a&gt;. Here is &lt;a href=&quot;http://youtu.be/P5cdlLTqb24&quot;&gt;a video showing what we’ve built&lt;/a&gt;:&lt;/p&gt;

&lt;iframe width=&quot;640&quot; height=&quot;480&quot; src=&quot;https://www.youtube.com/embed/P5cdlLTqb24&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;p&gt;The idea here is to facilitate collaboration and smoother project communications through various different tools that I’ll describe below. While this already does a lot, it is obviously only the first step on the path to making offices smarter.&lt;/p&gt;

&lt;h2 id=&quot;office-presence&quot;&gt;Office presence&lt;/h2&gt;

&lt;p&gt;An important part of collaboration is to know who is where. Maybe some people are having a lunch break, or are working remotely? The Office Presence Display system knows these things, thanks to various sensors:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Bluetooth sensors can see smartphones and other mobile devices in the space&lt;/li&gt;
  &lt;li&gt;WiFi sensor can see what computers are connected&lt;/li&gt;
  &lt;li&gt;Google Talk sensor knows who are connected and active on their work accounts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With these, we know pretty well when you arrive to the office, and when you leave. Thanks to the sensor watching the company instant messaging system, we also know when people working remotely are available.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/opd-small.png&quot; alt=&quot;Office Presence Display&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In addition to letting people know where the other members of the team are, this system can help with the perpetual annoyance in many companies: &lt;em&gt;having to fill timesheets&lt;/em&gt;. We have a logger process that listens to the sensors, and logs the data into a &lt;a href=&quot;http://bergie.iki.fi/blog/business_analytics_with_couchdb_and_noflo/&quot;&gt;CouchDB&lt;/a&gt; database. From there you can easily visualize working hours and availability trends:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/opd-stats-small.png&quot; alt=&quot;Office presence stats&quot; /&gt;&lt;/p&gt;

&lt;p&gt;In many situations it is of course not enough to know whether people are present, but also to know what they’re working on. The next component of the system helps with that.&lt;/p&gt;

&lt;h2 id=&quot;electronic-kanban-wall&quot;&gt;Electronic Kanban wall&lt;/h2&gt;

&lt;p&gt;Instead of the clumsy waterfall style, more and more companies are managing their projects in tight, recurring iterations. A Kanban wall is a great way to keep track of tasks as they move through the process, and to see who is doing what, and what could be possible to do next. The &lt;a href=&quot;http://blog.crisp.se/2009/06/26/henrikkniberg/1246053060000&quot;&gt;One day in Kanban Land&lt;/a&gt; post explains the concept well.&lt;/p&gt;

&lt;p&gt;If everybody working on a project sits in the same room, and that room is also where all decisions about the project are made, then the traditional solution of whiteboards and Post-It notes is probably the best way to visualize Kanban. But for distributed teams and more flexible work, an electronic version is a lot better option. This way everybody can see the Kanban wall in its current state from their computer, a TV in an office room, or a tablet.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/webkanban.png&quot; alt=&quot;Webkanban&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Our Kanban wall implementation provides exactly that. The same wall (or, in case of multiple projects or teams, a set of walls) is available through any web browser. You can also display it on a big screen in an office or a meeting room, and control that screen with the &lt;a href=&quot;http://bergie.iki.fi/blog/qt-air-cursor/&quot;&gt;Kinect Air Cursor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now, for most companies this is not meant to be the &lt;em&gt;master database&lt;/em&gt; of projects and tasks, but instead just to be an alternative view and controlling tool to wherever your project information resides. Maybe you’re already using &lt;a href=&quot;http://www.pivotaltracker.com&quot;&gt;Pivotal Tracker&lt;/a&gt;, &lt;a href=&quot;http://basecamp.com&quot;&gt;Basecamp&lt;/a&gt;, or &lt;a href=&quot;http://openpsa2.org&quot;&gt;OpenPSA&lt;/a&gt;? The Kanban wall server has a full REST API available, and so it is easy to integrate with any existing system. If a task is moved on the Kanban wall, it can be updated to the project tracking system, and vice versa.&lt;/p&gt;

&lt;p&gt;If you’re using both systems, then the Kanban wall is also aware of the presence information. We show a differently colored border around the “person tokens” depending on the availability state. You can also set different Work-in-Progress limits for different people and states.&lt;/p&gt;

&lt;h2 id=&quot;interested-yet&quot;&gt;Interested yet?&lt;/h2&gt;

&lt;p&gt;So far we’ve only trialed the system in our own office, but are now looking for some pilot customers to try the system out. If you’re interested in making your workplace smarter, &lt;a href=&quot;mailto:info@nemein.com&quot;&gt;get in touch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For those who like to tinker with these things, all the sensor software is available as open source at &lt;a href=&quot;http://github.com/nemein&quot;&gt;http://github.com/nemein&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Fri, 08 Mar 2013 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fsmart-collaboration-space%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/smart-collaboration-space/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/smart-collaboration-space/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>Open Advice</title>
      <description>&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/1e171b06217a15871b011e1bc5b5d4704468fc08fc0_openadvice-small.jpg&quot; border=&quot;0&quot; alt=&quot;Open Advice cover&quot; title=&quot;Open Advice&quot; style=&quot;float:right;margin-left:10px;&quot; /&gt;I seem to have not blogged about this, but &lt;strong&gt;&lt;a href=&quot;http://open-advice.org/&quot;&gt;Open Advice&lt;/a&gt;&lt;/strong&gt;, our book on &lt;em&gt;Free and Open Source Software: what we wish we had known when we started&lt;/em&gt;, was published last month.&lt;/p&gt;
&lt;p&gt;The book was edited by &lt;a href=&quot;http://www.lydiapintscher.de/book.php&quot;&gt;Lydia Pintscher&lt;/a&gt; and includes essays from &lt;a href=&quot;http://open-advice.org/author.html&quot;&gt;42 authors&lt;/a&gt;, many of whom you&apos;ll recognize if you tend to go to FOSS conferences. The &lt;a href=&quot;http://lwn.net/Articles/481222/&quot;&gt;LWN book review&lt;/a&gt; concludes:&lt;/p&gt;
&lt;blockquote&gt;Open Advice is a book that will be helpful to those who are new to FOSS, but, because of the individual voices, styles, and tones, it doesn&apos;t read like a &quot;how to&quot;. It could even be recommended to those who aren&apos;t necessarily interested in contributing, but are curious about what this &quot;free software thing&quot; is all about. It is, in short, a great book for a variety of audiences and the (mostly) two or three page essays make it easy to read, while the anecdotes and recollections personalize it. The authors, editor, and everyone else who helped should be very pleased with the result. Readers will be too.&lt;/blockquote&gt;
&lt;p&gt;I probably shouldn&apos;t give the ending away, but my essay on cross-project collaboration, a subject I&apos;ve &lt;a href=&quot;http://bergie.iki.fi/blog/on_cross-project_collaboration/&quot;&gt;also blogged about&lt;/a&gt;, ends with:&lt;/p&gt;
&lt;blockquote&gt;Good luck with breaking down the project boundaries! In most cases it works if your ideas are good and presented with an open mind. But even if you do not find a common ground, as long as your implementation solves the use case for you it has not been in vain. After all, delivering software, and delivering great user experience is what counts.&lt;/blockquote&gt;
&lt;p&gt;The book is licensed under &lt;a href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot;&gt;CC-BY-SA&lt;/a&gt;, and is available as free download in &lt;a href=&quot;http://open-advice.org/Open-Advice.epub&quot;&gt;ePub&lt;/a&gt;, &lt;a href=&quot;http://open-advice.org/Open-Advice.mobi&quot;&gt;mobi&lt;/a&gt; and &lt;a href=&quot;http://open-advice.org/Open-Advice.pdf&quot;&gt;PDF&lt;/a&gt; formats, and &lt;a href=&quot;http://www.lulu.com/shop/lydia-pintscher/open-advice/paperback/product-18889265.html&quot;&gt;as paperback from Lulu&lt;/a&gt;. The book sources are &lt;a href=&quot;https://github.com/lydiapintscher/Open-Advice&quot;&gt;available on GitHub&lt;/a&gt;, patches welcome!&lt;/p&gt;
</description>
      <pubDate>Mon, 19 Mar 2012 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fopen_advice%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/open_advice/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/open_advice/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>Finnish MeeGo Summit starts tomorrow</title>
      <description>&lt;p&gt;This weekend is the first-ever &lt;a href=&quot;http://summit.meegonetwork.fi/&quot;&gt;Finnish MeeGo Summit&lt;/a&gt;, held in Tampere in the same venue where we &lt;a href=&quot;http://bergie.iki.fi/blog/meet_midgard_and_geoclue_in_akademy_2010/&quot;&gt;had aKademy&lt;/a&gt; last summer. Despite &lt;a href=&quot;http://bethesignal.org/blog/2011/02/11/elopocalypse-nokia-chooses-microsoft/&quot;&gt;some announcements&lt;/a&gt;, the conference sold out in a very short time. &lt;a href=&quot;http://summit.meegonetwork.fi/program&quot;&gt;The program&lt;/a&gt; looks very interesting, too.&lt;/p&gt;
&lt;p&gt;I&apos;ll give two talks:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Location awareness in MeeGo&lt;/strong&gt;, Hacks &amp;amp; Tricks track Friday 15:30&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Midgard Create - Content Management System without forms&lt;/strong&gt;, Finhack Saturday 12:00&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;a href=&quot;http://finhack.org/&quot;&gt;Finhack&lt;/a&gt; is a Finnish free software meetup co-organized with &lt;a href=&quot;http://fsfe.org/&quot;&gt;Free Software Foundation Europe&lt;/a&gt; and &lt;a href=&quot;http://www.coss.fi/en&quot;&gt;COSS&lt;/a&gt; as a one-day track within MeeGo Summit.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;If you&apos;re not able to attend the Summit, there are also regular MeeGo meetup groups in &lt;a href=&quot;http://www.meetup.com/Helsinki-MeeGo-Network/&quot;&gt;Helsinki&lt;/a&gt; and &lt;a href=&quot;http://www.meetup.com/Tampere-MeeGo-Network/&quot;&gt;Tampere&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/1e066945d1c31dc669411e084ffdb83d1a7cb35cb35_meego-finland-400.jpg&quot; border=&quot;0&quot; alt=&quot;meego-finland-400.jpg&quot; title=&quot;meego-finland-400.jpg&quot; /&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 14 Apr 2011 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Ffinnish_meego_summit_starts_tomorrow%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/finnish_meego_summit_starts_tomorrow/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/finnish_meego_summit_starts_tomorrow/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>Towards the geotagged web</title>
      <description>&lt;p&gt;There was a pretty interesting snippet in &lt;a href=&quot;http://www.engadget.com/2010/09/14/live-from-nokia-world-2010/?sort=newest&amp;amp;refresh=60&quot;&gt;Engadget&apos;s coverage&lt;/a&gt; of yesterday&apos;s &lt;a href=&quot;http://events.nokia.com/nokiaworld/home.htm&quot;&gt;Nokia World&lt;/a&gt; keynote:&lt;/p&gt;
&lt;blockquote&gt;&quot;By 2013 800 million people will be using GPS-enabled devices. Soon,  everything on the Internet will have a location coordinate. This is a  space we intend to own.&quot;&lt;/blockquote&gt;
&lt;p&gt;Indeed, this is a quite possible future, and one for which we with Midgard are quite well prepared for. Many smartphone browsers (and even desktops) nowadays can &lt;a href=&quot;http://bergie.iki.fi/blog/browser_geolocation_without_gps-quite_accurate_enough/&quot;&gt;transmit their location&lt;/a&gt; to web services, more and more geotagged information is being published via &lt;a href=&quot;http://en.wikipedia.org/wiki/Geo_%28microformat%29&quot;&gt;microformats&lt;/a&gt;, &lt;a href=&quot;http://www.georss.org/Main_Page&quot;&gt;feeds&lt;/a&gt; and &lt;a href=&quot;http://www.w3.org/2003/01/geo/&quot;&gt;RDF&lt;/a&gt;. From the humble beginnings with &lt;a href=&quot;http://bergie.iki.fi/blog/plazecamp/&quot;&gt;Plazes&lt;/a&gt;, social web services like &lt;a href=&quot;http://blog.twitter.com/2010/06/twitter-places-more-context-for-your.html&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;http://www.qaiku.com/go/4pje/&quot;&gt;Qaiku&lt;/a&gt; and &lt;a href=&quot;http://www.facebook.com/places/&quot;&gt;Facebook&lt;/a&gt; can now store and display location where different status updates were made.&lt;/p&gt;
&lt;p&gt;The missing piece for a wider-scale geotagged web however is actual usage of geodata. We need &lt;a href=&quot;http://bergie.iki.fi/blog/position_editing_widget_for_midgard/&quot;&gt;easy tools for tagging content&lt;/a&gt; with locations, but also web services that actually serve their users better thanks to location information. This can mean helping the user to &lt;a href=&quot;http://bergie.iki.fi/blog/buscatcher-never_miss_another_tram/&quot;&gt;catch a bus&lt;/a&gt;, or &lt;a href=&quot;http://bergie.iki.fi/blog/halti-com_provides_contextual_product_recommendations/&quot;&gt;recommending them clothes&lt;/a&gt; purchases based on local weather. Anything that goes beyond just showing dots on a map.&lt;/p&gt;
&lt;p&gt;For that, Midgard has had the &lt;a href=&quot;http://bergie.iki.fi/blog/the-midgard-position/&quot;&gt;necessary infrastructure&lt;/a&gt; in place. What we need is your ideas and use cases for how to improve web services through location.&lt;/p&gt;
</description>
      <pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Ftowards_the_geotagged_web%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/towards_the_geotagged_web/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/towards_the_geotagged_web/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>buscatcher: Never miss another tram</title>
      <description>&lt;p&gt;&lt;a href=&quot;http://apoikola.wordpress.com/2010/03/27/public-data-an-introduction-to-opening-the-information-resources/&quot;&gt;Opening public data&lt;/a&gt; is a hot topic in Finland at the moment. As a small experiment with the data that is available I wrote &lt;em&gt;buscatcher&lt;/em&gt;, a simple N900 app that displays &lt;a href=&quot;http://www.hsl.fi/EN/Pages/default.aspx&quot;&gt;Helsinki trams&lt;/a&gt; (and some buses) moving on a map in real time. This makes it easy to determine when your next tram is coming to the stop, or where it is stuck.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/1dfb6ad33119572b6ad11dfab2e4156018b85978597_buscatcher.jpg&quot; border=&quot;0&quot; alt=&quot;buscatcher.jpg&quot; title=&quot;buscatcher.jpg&quot; /&gt;&lt;/p&gt;
&lt;div style=&quot;float:right;&quot;&gt;&lt;a href=&quot;http://maemo.org/downloads/product/raw/Maemo5/buscatcher/?get_installfile&quot;&gt;&lt;img src=&quot;http://static.maemo.org/style_maemo2009/img/icons/application_install.png&quot; border=&quot;0&quot; alt=&quot;Click here to install this application&quot; title=&quot;Click here to install this application&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Updated 2010-09-28:&lt;/strong&gt; Buscatcher now has a stable release that is &lt;a href=&quot;http://maemo.org/downloads/product/Maemo5/buscatcher/&quot;&gt;available from Maemo Downloads&lt;/a&gt; with already more than 10,000 installations.&lt;/p&gt;
&lt;p&gt;For other platforms, you can grab and run the application &lt;a href=&quot;http://github.com/bergie/buscatcher&quot;&gt;from the GitHub repo&lt;/a&gt;. It should run on regular Linux desktops, and there have been reports of working on also platforms like the OpenMoko Freerunner.&lt;/p&gt;
</description>
      <pubDate>Thu, 02 Sep 2010 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fbuscatcher-never_miss_another_tram%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/buscatcher-never_miss_another_tram/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/buscatcher-never_miss_another_tram/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>Zeitgeist does location: what did I do while in Brussels?</title>
      <description>&lt;p&gt;&lt;a href=&quot;http://zeitgeist-project.com/&quot;&gt;Zeitgeist&lt;/a&gt;, the desktop activity logging engine is now becoming geo-aware. From &lt;a href=&quot;http://seilo.geekyogre.com/2010/07/zeitgeist-geolocation-magic/&quot;&gt;Seif Lotfy&apos;s blog&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It allows you to ask Zeitgeist stuff like&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;“Get me the recent files I edited at university”&lt;/li&gt;
&lt;li&gt;“Who do I contact most when I am at School?”&lt;/li&gt;
&lt;li&gt;“Which pictures did I take in Brazil?”&lt;/li&gt;
&lt;li&gt;“Where was I when an Email came in?”&lt;/li&gt;
&lt;li&gt;“What files did I open during the conference?”&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/1df94eaba47081894ea11df8003ad955f7114821482_zeitgeist-geoclue.jpg&quot; border=&quot;0&quot; alt=&quot;zeitgeist-geoclue.jpg&quot; title=&quot;zeitgeist-geoclue.jpg&quot; /&gt;&lt;/blockquote&gt;
&lt;p&gt;As I&apos;ve been &lt;a href=&quot;http://bergie.iki.fi/blog/synchronization-and-the-free-software-desktop-in-guadec/&quot;&gt;advocating since 2006&lt;/a&gt;, 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&apos;s location features, powered by &lt;a href=&quot;http://en.wikipedia.org/wiki/GeoClue&quot;&gt;GeoClue&lt;/a&gt;, will be able to get it for you.&lt;/p&gt;
&lt;p&gt;This is especially cool since Zeitgeist is &lt;a href=&quot;http://picasaweb.google.de/lh/photo/RWiWpFuwOMPQSvgNRFAgKA?feat=directlink&quot;&gt;coming for Maemo&lt;/a&gt; as well. &lt;a href=&quot;http://www.flickr.com/photos/bergie/2845863882/&quot;&gt;My laptop&lt;/a&gt; is quite mobile, but the N900 is even more so.&lt;/p&gt;
</description>
      <pubDate>Wed, 21 Jul 2010 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fzeitgeist_does_location-what_did_i_do_while_in_brussels%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/zeitgeist_does_location-what_did_i_do_while_in_brussels/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/zeitgeist_does_location-what_did_i_do_while_in_brussels/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>My GeoClue talk from aKademy 2010</title>
      <description>&lt;p&gt;&lt;a href=&quot;http://akademy.kde.org/&quot;&gt;aKademy 2010&lt;/a&gt; was hosted in the sunny city of Tampere by the Finnish &lt;a href=&quot;http://www.coss.fi/en&quot;&gt;Centre for Open Source Solutions&lt;/a&gt;, an organization that I&apos;m &lt;a href=&quot;http://bergie.iki.fi/blog/in_coss_steering_group/&quot;&gt;a steering group member&lt;/a&gt; of. In addition to helping a bit with the arrangements and organizing &lt;a href=&quot;http://bergie.iki.fi/blog/meet_midgard_and_geoclue_in_akademy_2010/&quot;&gt;the Midgard Gathering&lt;/a&gt; there, I also gave a talk about &lt;a href=&quot;http://en.wikipedia.org/wiki/GeoClue&quot;&gt;GeoClue&lt;/a&gt;, the positioning framework for Linux desktops.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://d2vqpl3tx84ay5.cloudfront.net/1df8b61f149052e8b6111df872e5fe1995d51425142_bergie-geoclue-akademy2010.png&quot; border=&quot;0&quot; alt=&quot;bergie-geoclue-akademy2010.png&quot; title=&quot;bergie-geoclue-akademy2010.png&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://home.kde.org/~akademy10/slides/Towards_a_location-aware_desktop-Henri_Bergius.pdf&quot;&gt;Presentation slides (PDF)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://home.kde.org/~akademy10/videos/Towards_a_location-aware_desktop-Henri_Bergius.ogv&quot;&gt;Video of my talk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We initially &lt;a href=&quot;http://bergie.iki.fi/blog/synchronization-and-the-free-software-desktop-in-guadec/&quot;&gt;started the push&lt;/a&gt; for location-aware desktops around 2006, and now the efforts are finally starting to bear fruit. Both &lt;a href=&quot;http://gnomejournal.org/article/70/an-introduction-to-gnome-zeitgeist&quot;&gt;Zeitgeist&lt;/a&gt; and &lt;a href=&quot;http://nepomuk.kde.org/&quot;&gt;Nepomuk&lt;/a&gt; are looking at indexing documents based on where you accessed them, &lt;a href=&quot;http://blog.pierlux.com/2009/01/22/empathy-where-are-you/en/&quot;&gt;Telepathy can share&lt;/a&gt; your location with your friends, and hopefully soon also your desktop clock will switch timezones when you travel.&lt;/p&gt;
&lt;p&gt;It is very cool that this development &lt;a href=&quot;http://bergie.iki.fi/blog/making_the_gnome_desktop_location-aware/&quot;&gt;seems to be happening&lt;/a&gt; on both GNOME and KDE at a reasonably similar pace. GeoClue is also&lt;a href=&quot;http://meego.com/developers/meego-architecture&quot;&gt; a service in MeeGo&lt;/a&gt; and I&apos;ve been told another major mobile phone manufacturer uses it. Maybe soon &lt;a href=&quot;http://www.wired.com/gadgetlab/2009/02/apples-snow-leo/&quot;&gt;Mac OS X will not be the only&lt;/a&gt; platform with location APIs built in?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Photo &lt;a href=&quot;http://www.flickr.com/photos/indeyets/4756997067/&quot;&gt;by Alexey Zakhlestin&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 09 Jul 2010 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fmy_geoclue_talk_from_akademy_2010%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/my_geoclue_talk_from_akademy_2010/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/my_geoclue_talk_from_akademy_2010/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
    <item>
      
      <title>Notes from my first Ubuntu Developer Summit</title>
      <description>&lt;p&gt;Last week was the &lt;a href=&quot;https://wiki.ubuntu.com/UDS-M&quot;&gt;Ubuntu Developer Summit&lt;/a&gt; targeted at planning how the next iteration of the operating system, &lt;a href=&quot;http://www.markshuttleworth.com/archives/336&quot;&gt;&lt;em&gt;Maverick Meerkat&lt;/em&gt;&lt;/a&gt;, 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.&lt;/p&gt;
&lt;p&gt;I went to the UDS with two goals in my mind: to discuss &lt;a href=&quot;http://bergie.iki.fi/blog/making_the_gnome_desktop_location-aware/&quot;&gt;making the Ubuntu desktop location-aware&lt;/a&gt;, and to figure out what sort of role &lt;a href=&quot;http://www.midgard2.org/&quot;&gt;Midgard&lt;/a&gt;, 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 &lt;a href=&quot;http://www.0d.be/2010/05/13/gnome-and-operating-systems/&quot;&gt;taking an increasingly active role&lt;/a&gt; in developing itself to be a &lt;em&gt;comprehensive and unique operating system&lt;/em&gt;, it would be a better place to accomplish such wide-ranging changes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Location-awareness&lt;/strong&gt; was a area that many were interested in. Ubuntu already had considered &lt;a href=&quot;http://geoclue.freedesktop.org/&quot;&gt;&lt;strong&gt;GeoClue&lt;/strong&gt;&lt;/a&gt;, our location service, to be a component of the distribution in Lucid Lynx, but that &lt;a href=&quot;https://blueprints.launchpad.net/ubuntu/+spec/desktop-lucid-gnome-geoclue&quot;&gt;plan had been abandoned&lt;/a&gt; due to the low-maintained status of the software. However, now that GeoClue has become the &lt;a href=&quot;http://jaaksi.blogspot.com/2010/04/meego-is-now-opened.html&quot;&gt;geolocation framework for MeeGo&lt;/a&gt; things are about to change, and so there is &lt;a href=&quot;https://blueprints.launchpad.net/ubuntu/+spec/desktop-maverick-geoclue/&quot;&gt;a significant possibility&lt;/a&gt; to get GeoClue into Ubuntu as well.&lt;/p&gt;
&lt;p&gt;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 &lt;a href=&quot;http://blog.pierlux.com/2009/06/15/geolocation-in-empathy-now-real/en/&quot;&gt;&lt;strong&gt;Empathy&lt;/strong&gt;&lt;/a&gt;&lt;a href=&quot;http://blog.pierlux.com/2009/06/15/geolocation-in-empathy-now-real/en/&quot;&gt; sharing location&lt;/a&gt; information with instant messaging buddies, and &lt;strong&gt;Getting Things GNOME&lt;/strong&gt; TODO manager being able to &lt;a href=&quot;http://live.gnome.org/gtg/soc/geolocalized_tasks&quot;&gt;tag action items with location&lt;/a&gt;. &lt;strong&gt;Zeitgeist&lt;/strong&gt; is intending to start tagging and searching activity &lt;a href=&quot;https://code.launchpad.net/~mortenmjelva/zeitgeist/geoclue-extension&quot;&gt;history with location&lt;/a&gt;, and &lt;a href=&quot;http://patchpanel.blogspot.com/2010/05/ubuntu-1004-my-two-cents.html&quot;&gt;&lt;strong&gt;Gwibber&lt;/strong&gt;&lt;/a&gt; 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 &lt;strong&gt;Ubuntu panel clock&lt;/strong&gt; automatically change time zones as you travel.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Midgard in Ubuntu&lt;/strong&gt; is a bit trickier question. A lot of Ubuntu has now been developed to &lt;a href=&quot;http://www.youtube.com/watch?v=2R1qf5_6Zt4&quot;&gt;utilize the &lt;strong&gt;CouchDB&lt;/strong&gt; document database&lt;/a&gt;, which provides quite &lt;a href=&quot;http://bergie.iki.fi/blog/what_is_a_content_repository/&quot;&gt;similar storage services as Midgard&lt;/a&gt; does. &lt;a href=&quot;http://couchdb.apache.org/&quot;&gt;CouchDB&apos;s&lt;/a&gt; cool map/reduce algorithms and replication capabilities have enabled Ubuntu developers to &lt;a href=&quot;http://arstechnica.com/open-source/reviews/2009/11/good-karma-ars-reviews-ubuntu-910.ars/6&quot;&gt;quickly integrate a content repository&lt;/a&gt; into many applications and to provide a cloud storage and synchronization service to users of the operating system.&lt;/p&gt;
&lt;p&gt;But at the same time &lt;a href=&quot;http://arstechnica.com/open-source/reviews/2010/05/lucid-dream-ars-reviews-ubuntu-1004.ars/9&quot;&gt;CouchDB introduces some problems&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;CouchDB can&apos;t seem to handle the load of Gwibber&apos;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&apos;s account manager.&lt;/blockquote&gt;
&lt;p&gt;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 &lt;a href=&quot;http://protoblogr.net/blog/view/finally_got_them_working.html&quot;&gt;ported CouchDB to Maemo&lt;/a&gt; a few years ago and the performance was terrible. I&apos;d imagine the same issues on netbooks and other small hardware that &lt;a href=&quot;http://www.markshuttleworth.com/archives/383&quot;&gt;Ubuntu&apos;s Light initiative&lt;/a&gt; targets.&lt;/p&gt;
&lt;p&gt;On such environments &lt;a href=&quot;http://twitter.com/sil/status/13782972356&quot;&gt;Midgard might be a better option&lt;/a&gt;. &lt;a href=&quot;http://bergie.iki.fi/blog/ratatoskr_is_out-midgard2_content_repository_goes_lts/&quot;&gt;Midgard&apos;s recent LTS release&lt;/a&gt; uses regular &lt;a href=&quot;http://www.gnome-db.org/News&quot;&gt;relational databases&lt;/a&gt; for fast performance and low footprint, utilizes important pieces of free desktop architecture like D-Bus signalling and &lt;a href=&quot;http://live.gnome.org/GObjectIntrospection&quot;&gt;GObject Introspection&lt;/a&gt;, and has been proven to work well even on low-end devices like the Nokia N900. And yet it provides &lt;a href=&quot;http://bergie.iki.fi/blog/why_you_should_use_a_content_repository_for_your_application/&quot;&gt;full content repository APIs&lt;/a&gt; comparable to CouchDB, and can even handle &lt;a href=&quot;http://bergie.iki.fi/blog/couchdb_and_midgard_talking_with_each_other/&quot;&gt;replication with Couch&lt;/a&gt;. One way to make Midgard possible, then, would be to provide Python &lt;a href=&quot;http://www.freedesktop.org/wiki/Specifications/desktopcouch&quot;&gt;DesktopCouch APIs&lt;/a&gt; to it.&lt;/p&gt;
&lt;p&gt;Another interesting technology discussed much in UDS was &lt;a href=&quot;http://www.puppetlabs.com/&quot;&gt;&lt;strong&gt;Puppet&lt;/strong&gt;&lt;/a&gt;, the  systems administration tool. It enables developers to describe their setups in a &lt;a href=&quot;http://docs.puppetlabs.com/guides/language_tutorial.html&quot;&gt;object-oriented declarative language&lt;/a&gt;, and then just let Puppet to &lt;em&gt;make it so&lt;/em&gt;. I attended two Puppet sessions, and picked up a Kindle edition of &lt;a href=&quot;http://www.amazon.com/Pulling-Strings-Puppet-Configuration-Management/dp/1590599780&quot;&gt;the Puppet book&lt;/a&gt; which I read on the train ride &lt;a href=&quot;http://www.qaiku.com/channels/show/maemork/view/00ddfcd65e1411dfacfeebea881863c763c7/&quot;&gt;to the Netherlands&lt;/a&gt;. As my company manages lots of Midgard web servers for our customers, automating system setup and maintenance on top of Puppet and &lt;a href=&quot;http://bergie.iki.fi/blog/nemein_is_going_to_ubuntu_server/&quot;&gt;Ubuntu Server&lt;/a&gt; might save us lots of time and effort.&lt;/p&gt;
&lt;p&gt;All in all, quite an enlightening &lt;a href=&quot;http://www.qaiku.com/channels/show/ubuntu/view/adaba27e5c2f11dfb0df111cdab35b375b37/&quot;&gt;two days in the event&lt;/a&gt;. If things work out, I hope I&apos;ll be able to spend more time in the UDS targeting the N-series of Ubuntu next fall.&lt;/p&gt;
</description>
      <pubDate>Sat, 15 May 2010 00:00:00 +0000</pubDate>
      <atom:link rel="payment" href="https://flattr.com/submit/auto?url=https%3A%2F%2Fbergie.iki.fi%2Fblog%2Fnotes_from_my_first_ubuntu_developer_summit%2F&amp;user_id=bergie" type="text/html" />
      <link>https://bergie.iki.fi/blog/notes_from_my_first_ubuntu_developer_summit/</link>
      <guid isPermaLink="true">https://bergie.iki.fi/blog/notes_from_my_first_ubuntu_developer_summit/</guid>
      <author>henri.bergius@iki.fi (Henri Bergius)</author>
    </item>
    
  </channel>
</rss>
