Jarnography

Have you ever met someone
you just wanted to know better?
Maybe, you only knew them for a short while,
and you felt you want to learn more about this person.
Or maybe you have known each others for years,
and you found yourself wondering
how they are doing, wanting to hear about their
new experiences, new challenges... new adventures.
This site is primarily about me, for me, by me. I have little trust in my memory, so I wanted to record things I have done, seen, experienced, so that in the future I can look back at this and wonder how much there has been after all. Meanwhile feel free to peek around. See what is happening. With me.

Inside

Featured

Elsewhere

Another view

This page is also available in

powered by blosxom.

Recreation/Platespotting

Let's update the situation. I've seen 37, 38 and 39. I can't remember any more where I saw them. I've been looking for 40 for a long time.

June 29, 2010

Personal/Administration

Google lähetti postia:

"Tiliäsi tarkistaessamme huomasimme, että näytät Google-mainoksia tällä hetkellä sääntöjemme vastaisella tavalla. Löysimme esimerkiksi AdSense-sääntöjen rikkomuksia sivulta http://www.zambe.net/yomyoha/.

Ohjelmasääntöjemme mukaisesti Google-mainoksia näyttävien sivustojen tulee tarjota käyttäjille konkreettista ja hyödyllistä tietoa. Käyttäjien on löydettävä helposti ne tuotteet, hyödykkeet tai palvelut, joita mainoksessasi luvataan. Asiantuntijatiimimme päätyi sivustoasi tarkistaessaan siihen lopputulokseen, että sivustosi ei noudattanut näitä ohjeita."

Ehkä yömyöhä-sivulla ei ole konkreettista tai hyödyllistä tietoa, sen hyväksyn. Tuota "mainoksessasi"-kohtaa en ymmärrä, ei minulla mitään omia mainoksia ole.

Pitäkää tunkkinne, sanon minä :) Täytyy nyt vaan koittaa pärjätä ilman mainostuloja - ai niin, eihän niistä ole vielä senttiäkään tilille tullut.

June 28, 2010

Technology/Apple

I got fed up with manually downloading weekly sales reports from iTunes Connect, so I made a little shell script to do the work for me. Available in GitHub.

March 23, 2010

Technology/Programming

I wanted to update the Haskell development environment on my work computer, especially after I found out I didn't have one after upgrading to Snow Leopard. I proceeded to install Haskell Platform, which I had already installed on my home computer with great difficulties. This time it installed fine, they have a binary installation package for OS X on Intel, but the problems started only after that.

I tried to build happstack-tutorial with Cabal, but it failed with gcc complaining about missing cc1. Quickly looking at the directory there indeed was no cc1. After a slight misstep of accidentally installing older XCode on top of the new one, losing for example /dev/null in the process, having to reboot and reinstall XCode, I figured out something more about the cause.

With a bit of googling I found out about gcc --print-search-dirs. Gcc thought its installation directory was /usr/lib/gcc/i686-apple-darwin9/4.2.1/, which unfortunately did not exist, it should have had darwin10 there. A bit more googling showed me the light: I had some /Developer directories in the path. Getting rid of those got me forward, trying cabal again. And failing.

Now I got errors like "CPU you selected does not support x86-64 instruction set." Great. Still more googling, found out it was a bug in GHC. Of course the fix was not yet in the GHC that came with Haskell Platform. Fine, I installed the latest and greatest GHC. Trying cabal again. And failing.

This time: "cabal: failed to parse output of 'ghc-pkg dump'". It was mentioned on the ghc page that it only works with Cabal-install version 0.8 or later, I had 0.6.2 from Haskell Platform. I should have updated it first, but I couldn't because ghc didn't work. Chicken and egg.

So I had to get new cabal-install from somewhere. Cabal home page had the same 0.6.2 version I already had. Use the source, then. Cabal-install source package came with bootstrap.sh, which failed because my cabal library was too old.

I got the latest cabal source, ran ghc --make Setup, got "ld: can't write output file: Setup". Ran it again, this time it worked and produced Setup executable. I did what man's got to do, and surprisingly enough there were no errors.

Back to compiling cabal-install. With the new cabal library it compiled just fine. Backtracking further to where I started, happstack-tutorial. That didn't compile as fine:

Building containers-0.2.0.1...

Data/IntMap.hs:182:7:
    Could not find module `Data.Data':
      It is a member of the hidden package `base'.
      Perhaps you need to add `base' to the build-depends in your .cabal file.
      Use -v to see a list of the files searched for.

I gave up with that for now and tried to cabal install happstack. Naturally that failed too: "ghc: could not execute: trhsx". More googling, added ~/.cabal/bin in the path. Now happstack install succeeded.

Maybe I'll continue with happstack-tutorial some other day...

January 12, 2010

Technology/Linux

Today's Linux administration puzzler: Why do the files in home directories mounted from another server belong to nobody?

First I looked at /var/log/messages to find out if there were any messages that might be related. There were indeed:

Jan 12 10:43:02 xxx rpc.idmapd[4383]: nss_getpwnam: name 'xxx@localdomain' does not map into domain 'local.domain.edu'

After a bit of grepping I found out that there was a wrong domain ('local.domain.edu') defined in /etc/idmapd.conf. Fixed. Restarted rpc.idmapd. Helped one user, didn't help me. My home directory was still all nobody. I logged out and logged back in, didn't help. I su'd to root, checked out /var/log/messages again, but there was nothing relevant any more.

I looked at my home directory once more and now the files were suddenly in my ownership. I don't know why it took a while, but the issue seems to be fixed now.

January 12, 2010

Technology/Programming

After a long time away, I've returned in the area of manual memory management. The reference counting model in Apple's frameworks is pretty nice and easy, but of course not as easy as automatic garbage collection would be.

I got a reminder yesterday, when I used a tool to check if it finds any memory leaks in my program. Indeed it found one place where I had forgot to release an object. That was easy to fix, but fixing that one revealed another bug. In a related code I released an object twice, which happened to be one time too much, causing a crash elsewhere. One bug hid another.

There has been a couple of occasions before where I tried to use a deallocated object, but those have surfaced immediately. I still consider myself lucky (or maybe just good?) in that I haven't run into any more problems with memory management in this project.

December 2, 2009

Entertainment/Podcasts

I like the way how 37signals does business: providing simple products with little staff and lots of paying customers, making revenue and profit. I especially admire their ability to get so much positive publicity.

http://37signals.com/podcast

November 26, 2009

36

Recreation/Platespotting

Lo and behold! I finally spotted 36 in Helsinki.

November 24, 2009

Technology/Linux

Today's topic in Mandatory Linux Administration: How to configure Jailkit.

November 23, 2009

Technology/Programming

Yesterday I just read about it and tried out the examples in the tutorial, today I began using it for real. The result: One 2D rectangle with a texture mapped on it. Whoa.

October 29, 2009

Next 10 entries