Planet Nemein is a collection of blog entries from the Nemein team.

Sources:

Nemeinin blogit

Last of the Christmas holidays

06.01.2009 17:00:42

Since today is Epiphany, the last of Christmas holidays, I thought to post a screenshot of our xmas-themed staff page before it goes the way of the Christmas tree:

Nemein staff on Christmas 2008

Technorati Tags:


I need a way to conn...

04.01.2009 10:54:40

I need a way to connectmy posts on at least jaiku, FB, LJ and twitter... more at http://hirvinen.jaiku.com/

Via OB: "It is simpl...

02.01.2009 19:38:47

Via OB: "It is simply no longer possible to believe much of the clinical research [in medicine]" http://www.overcomingbias.com/2008/12/it-is-simply-no-longer-possible-to-believe.html

Interesting stuff on...

02.01.2009 18:29:38

Interesting stuff on OB about Dunbar's number: http://www.overcomingbias.com/2008/12/dunbars-function.html

Midgard: now with spam filtering

26.12.2008 17:58:10

Frustrated with how some Midgard-powered community sites were being spammed (their fault, not using CAPTCHA or registrations, I know), I decided to add a little feature to MidCOM's forum and page commenting tools: automated spam filtering.

Mollom-moderated spam comment

To make this happen, I hooked Midgard with the Mollom anti-spam service. When enabled, all posts sent to Midgard either on-site or using the email import tools will be passed to Mollom for assessment. If Mollom finds them spam or ham, they will be moderated accordingly. This should save a lot of time policing the site.

Expect the feature to be available for all Midgard installs in the soon-to-be-released Midgard 8.09.3.

Technorati Tags: , , , , ,


Nemein Oy
+48 60 840 8212

Always blame...

09.12.2008 11:53:22

I must say I like to read threads like this. Yes, for me it's kind of endless pleasure to read every single sentence and word in such thread.

Especially this one:

there was a known memory corrupt issue in 5.2.5


Acting on HTTP errors

08.12.2008 14:05:07

How not to handle Midgard errors
Since Midgard does now Python nicely alongside PHP, some Midgardians have recently been looking at Django as an optional web framework to use with Midgard's replicated storage system.

Looking at other systems than yours every now and then is great, as you can get some ideas. First such idea to come to Midgard from the Django world is error interceptors, a set of configurable actions to perform on given types of errors. For a long time, Midgard has been mapping various types of system errors (and in MidCOM3, Exceptions) to various HTTP status codes, and has made it possible to create customized templates for displaying them.

Error interceptors, on the other hand, allow other actions to take place. Some examples:

  • Log all 404 Not Found page URLs into a special log file alongside their referrers
  • Send all 500 Internal Errors with debug stacktrace to the site developer

This feature just landed into Midgard SVN and will be available in the 8.09.3 release due out next week. To enable those mentioned features, tweak your MidCOM config in the following way:

$GLOBALS['midcom_config_local']['error_actions'] = array
(
    500 => array
    (
        'action' => 'email',
        'email' => 'webmaster@example.net',
    ),
    404 => array
    (
        'action' => 'log',
        'filename' => '/var/log/broken_links.log',
    ),
);

Technorati Tags: , ,


Lex Nokia: I read your email

04.12.2008 13:58:08

Lex Nokia, the controversial snooping law is about to pass in the Finnish Parliament pretty soon, the latest of a series of clueless, unconstitutional laws passed because our MPs are just hopelessly out of touch with the modern world (well, except one).

This means that soon in addition to the Swedish, any organization providing you an internet connection can listen to anything you do online. Electronic Frontier Finland is trying to fight the law, but it is unlikely that anything good will happen.

And why are our constitutional rights being taken away from us this time? Because Nokia is concerned that their employees perform corporate espionage using their nokia.com email accounts. Come on! How difficult is it to take the data out on a USB stick and mail it from home? At best, this law may help to catch a few idiots, while eroding the rights of all.

I urge everybody owning a business or running a community internet provider to get one of these and wear it to demonstrate people around you what the law means:

I read your email.

Technorati Tags: , ,


With Nokia you're not just a consumer

02.12.2008 13:20:04

N97
Today's N97 launch reminded me of a big mental difference between using Nokia or Apple phones: with Apple, you're merely a consumer, where Nokia's devices allow you to participate in the information flow, to be a producer. Back in 1932, Bertrand Russel wrote:

The pleasures of urban populations have become mainly passive: seeing cinemas, watching football matches, listening to the radio, and so on. This results from the fact that their active energies are fully taken up with work; if they had more leisure, they would again enjoy pleasures in which they took an active part.

The whole N series of devices seems dedicated for allowing you to take that active part: decent cameras, video recording capability, reasonably good keyboards. Not so with the iPhone.

With Apple, you're given the role of a consumer: browser the web, watch videos, buy music from huge corporations. Just don't think different.

Comparing my current iPhone and previous N95, on the Nokia I uploaded a bit more data than I downloaded, on the iPhone, I've downloaded ten times more than uploaded. With difficult text input and no background applications, the device simply seems to push users into the consumer mindset.

Two years ago we handled the whole Death Monkey Rally experience using three Nseries phones. They took our pictures and video, all blog entries were written and published with them, and they recorded our stories to the YleX radio show. Try doing that on an iPhone!

As a product, N97 looks very promising. It has pretty much all features I want from my universal communicator, except one little detail: it doesn't run Maemo.

Technorati Tags: , , ,


Nemein Oy
+48 60 840 8212

Faster MidCOM static files.

27.11.2008 20:38:18

Better late then never, but just today I realized that MidgardEngine directive from Midgard apache module can not work inside Directory one. Not because module has a bug. But because with midgard apache module, apache won't be able to check if it's serving file from such directory. It is the main purpose of midgard module. Serve data from database, not from filesystem.

Of course, MidgardEngine will work in virtaul host scope. But in directory scope -will never work.

How to set MidgardEngine to Off for specific directory then? Use Location. I configured it simply for my virtual host:

<Location /midcom-static/>
    MidgardEngine Off
</Location>

Summer of Code works

21.11.2008 13:06:43

COSS - Finnish Centre for Open Source Solutions

Prompted by a recent COSS news release, I thought to write about two Summer of Code success stories:

Not bad!

Technorati Tags: , , , , ,


Maemo.org goes Ragnaroek

18.11.2008 18:54:52

Maemo.org, the community site for Nokia's mobile Linux environment has this week been upgraded to 8.09.2 Ragnaroek, the much faster and long-term supported version of the Midgard framework. Thanks to Niels and Piotras for working with me on this!

in October, I spent quite a bit of time optimizing this release, shaving off an estimated 60-70% of queries through some smart caching and removed redundancies. In addition, a new database server is now in place. Together, these should get us quite far in the "Fast Server" agenda.

Maemo on Nov 18th

We're however still not done, and now we will do more optimizations that will be part of 8.09.3, due next week, and will move static files (images and javascript) to a separate lighttpd instance to remove that load from the normal Apache. When all this is done, the Maemo community should have infrastructure that will be able to serve it for a long time.

In addition to optimization, we've been working on some other features related to the website:

Midgard is a big and complex piece of software. If you notice any issues related to this upgrade, please let us know. And if you have any ideas on improving the website, be sure to file those too!

Technorati Tags: , , , ,


On innovation, and how choice is not always good

16.11.2008 22:55:33

JP Rangaswami is writing about how innovation should happen as a dialogue between the developers and the users of the product. As an example of how innovation used to happen, he dug up Henry Ford's early automobiles and assembly lines.

With these early Fords, the customer choice was limited to having your car "in any color as long as it is black". And judging how since then cars have diversified to come in so many different forms, specialities and colors, this thinking must be flawed, no?

As Tim O'Reilly pointed out, JP Rangaswami's blog talks about enhancing the consumer experience in markets that are already out there and are mature. In less established fields, the lone inventor must still press on:

In a talk I attended many years ago, Joseph Campbell said that the Knights of the Round Table were the archetypal myth of Western civilization, the idea that each of us, alone, must go off into the deepest, darkest part of the forest, populated by monsters, on a quest to make the world a better place.

An interesting comparison with Ford at another, still quite immature and emerging field is Apple. Apple provides a full range of computers from servers to mobile phones and in most cases seeks to control the experience through the whole way. The devices are beautifully designed and work well as long as you use them as intended, and not for anything else.

This is a big contrast to the rest of the computing world, where everything comes with a bewildering number of choices. And these choices rarely work so well with each other. And so Apple is able to utilize their singular vision and attention to detail to make very good business.

In the free software world, the same distinction has traditionally been between the GNOME and KDE projects. GNOME has focused on a controlled environment with strong usability and accessibility, while KDE has been about the freedom to tinker and configure.

At some point users will want to manifest their personality or a tribal identity through how they set up their computers. But at the moment I believe we still need more the working systems that we can use, don't have to spend too much time configuring, and that let us focus on whatever we want to accomplish.

This is what originally drove me from my HP Linux laptop to an iBook four years ago. When I ran Linux I found myself constantly tweaking settings and installing new interesting applications that were supposed to improve my life. With Mac, once some basic necessities had been set up, I have very rarely touched any settings.

Now the iPhone experience has got me to feel the downsides of Apple's total control, and I'm again looking over the fence to see if free software is greener on the other side. While with Linux I would have full control of my environment, the whole synchronized release business keep things fresh enough. Given that a new GNOME desktop and a new Ubuntu would be out in just a few months, I should be able to fight the urge to start upgrading bits and pieces on my own, ruining productivity and potentially breaking my work environment.

If SubEthaEdit wasn't locking me to OS X, I would definitely be trying this out.

As an afterthought

All this talk of Ford got me to think a little about the car problem. Cars make cities unlivable and pollute the world, but at the same time they let people accomplish and experience things that they couldn't without personal transport.

Now the conventional thinking seems to be that what the world needs is more energy efficient, cleaner cars. But to my point of view, that is quite close to what Ford said:

If I'd asked people what they wanted, they'd have said "faster horses"

So how about solving the problem in some other way? Segways tried and failed to make mobility more even more personal and less space-requiring - but not very appealing in chilly Helsinki weather. But how about making the world require less mobility in the first place? Maybe World of Warcraft, Skype and Second Life - the field of telepresence - are better answers to the car problem than Prius or Tesla.

Technorati Tags: , , , , , , ,


Nemein is going to Ubuntu Server

14.11.2008 11:37:34

At Nemein we do maintenance for quite a few servers of our customers. While some customers have their own Linux distribution preference - usually RHEL - in most cases we have a say what distribution runs their servers. So far this has been debian, but now we're going for Ubuntu Server.

Ubuntu and Midgard

The reasons for this are quite simple:

While not everybody is happy about the way Ubuntu has established itself in the market, there seems to be a strong gravitation towards switching to it, on both desktop and server.


Nemein Oy
+48 60 840 8212

Sauna, suana, sauna or Midgard Gathering

12.11.2008 20:24:26

I was to blog earlier but this issue made me busy. On monday, me and solt came back to Poland from Midgard Gathering. Second gathering this year. I must say I think I am getting older as it's getting hard to focus when there are so many people and sauna time ends very late night :)

Bergie's blog describes gathering very nice and with more details.

Anyway, few very interesting points:

And as Vinland requirements clarified a lot, I am looking forward to see Midgard2 as a gateway for Gnome to web servers and services world.


Nemein Oy
+48 60 840 8212

ap_get_module_config and RHEL5

12.11.2008 19:18:22

This is an issue. I couldn't find why Midgard apache module refused to work on RHEL5.It just started to segfault. What's even more interesting, it started to segfault when trying to access read only data provided by apache. If you are familiar with apache modules' internals you probably know that all routines are registered as hooks. Even that ones which holds server and directory config. In normal case you register hook and get configuration later, when it's needed.

Just like this:

midgard_directory_config *dcfg = 
    (midgard_directory_config *)ap_get_module_config(r->per_dir_config, &midgard_module);

I found these two posts quite interesting. First because it affected also midgard-apache module few years ago, and the second because it clearly shows there something odd happens. Why odd? Because you never sets directory or server config explicitly. You just register function and it's up to the server implementation when it's invoked.

In my case ap_get_module_config(r->per_dir_config, &midgard_module) returned NULL all the time. So I added debug messages which showed that server and directory configuration hooks are invoked. Spent plenty of time trying to figure it out.

  1. Your hooks are working very good (the same code works with older version of Midgard)
  2. Hooks are invoked. For sure.
  3. ap_get_module_config returns NULL.

Three facts which made me think it's something wrong with Apache. Not the module itself. And after many trials and errors, I found guilty AM_CFLAG: -D_FILE_OFFSET_BITS=64. Also interesting fact, this flag is able to slow down PHP itself.


Meme: Ten years

12.11.2008 00:59:22

Ten years ago, 1998

  1. Started my first "real job" as a site building in an ad agency
  2. Moved out of the commune
  3. We were running already the first production Midgard site
  4. Was in process of handing Harmaasudet over. By spring 1999 I would be out

Five years ago, 2003

  1. Did my first motorcycle trip to Russia
  2. Co-organized a very nice conference in the Harvard university
  3. The relationship started in 1998 ended
  4. Had been running my own business for two years, and it was finally cash-positive

Three years ago, 2005

  1. Learned to fly
  2. Spent the summer holiday on a Viking ship in Russia
  3. Visited Rome, Brazil and the cave city of Vardzia for the first time
  4. Had a cat

Year ago, 2007

  1. Released my first mobile application
  2. Changed homes and motorcycles
  3. Got robbed twice, for a total of about 15,000 EUR
  4. The company got an AAA credit rating

This year so far

  1. Got black belt in Haedong Kumdo, a Korean sword art
  2. Moved partially to Istanbul, and then didn't
  3. Saw Midgard2 finally become a reality
  4. Did not motorcycle or fly almost at all, but traveled quite a lot

Yesterday

  1. Recovered from the Midgard Gathering
  2. Returned the rented white tie suit
  3. Did some customer support duty

Today

  1. Upgraded some Midgard servers to Ragnaroek, with varying degrees of success
  2. Got my local development environment back up-and-running
  3. Missed two after-work meetings

Tomorrow

  1. Will go to Haedong Kumdo after a long break
  2. Wear my black christmas hat for the first time this season
  3. Do some calendar digging for missing hour reports

Next year, 2009

  1. Get out of debt caused by the disasters of 2007
  2. Get back into the motorcycle adventurer mode
  3. Learn to sail on modern boats

Via Tiuku.


Midgard Gathering 2008

07.11.2008 16:42:25

The second Midgard Gathering of 2008 is this weekend in Otaniemi, Espoo. Happened so far:

Thursday

Friday

Saturday

  • Saturday started with waking up the various Midgardians sleeping in OK20
  • Alexander gave a presentation on how Midgard's internals could be ported from straight C into Vala
  • We discussed reorganizing Midgard's documentation and appointed Solt and Neithan to be in charge of it. I expect to see lots of documentation-related bugs in Trac
  • Split in MidCOM between "core" and "contrib" components was clarified and we made an updated list of core components and discussed some components we hope to promote to core soon
  • Midgard 9.03 feature list is now decided. With 9.03 we will focus on the persistent storage and MVC layers of Midgard, and plan to add the CMS features on the application level around 9.09
  • Rambo, in his role as a VCS Tyrant started reorganizing Midgard's SVN
  • We started planning a foundation to govern the Midgard project. This will not be a big thing like Mozilla and GNOME foundations, but mostly a practical instrument for handling copyrights and Midgard Gathering arrangements
  • In the evening we went to Kaisla for some beers to celebrate the fact that Midgard actually did compile (though not run) on Windows

Some pictures on Flickr.


Not everything goes according to plan

06.11.2008 22:57:19

Damn. As Slate put it:

Distance also magnifies the impact of negative feelings like longing and suspicion; according to one study, intercity lovers are more likely to be depressed

What next? I don't know, maybe focus on some core competencies...

Royal Enfield somewhere in Poland