25.07.2007 - 10:54

It was quite a while ago when I upgraded my pre-ancient Ubuntu box. The upgrade itself is worth a song or two. I did hoary to breezy to dapper to edgy to feisty, step-by-step as it is recommended. To be honest I expected the upgrade stunt to fail as my box was not even close to vanilla Ubuntu. However, I thought I give it a try.

And, lo and behold, after a few twists (which I probably would have avoided if my box hadn't been "tuned") it came out fine except that Firefox did not display flash animations. They were there (I could hear the sound) but invisible. Finally yesterday I decided to get my flash back. :-)

It did not take very long to narrow it down to adblock's "Obj-Tabs" option. Turning it off fixed flash animations. I filed a bug and informed adblock developers as I could not find any indication of the bug on adblock website. Just a minute ago I found out that mozillaZine forums know about the problem and the "disable obj-tabs" solution.

23.08.2006 - 08:57

First of all. Mutt doesn't suck a lot, only a little. Then the issue. Propably everybody knows the topic's lesson already. However, I did not. As a result I burned the whole morning to find it out the hard way.

A hook is a concept borrowed to Mutt from the EMACS editor which allows user to execute arbitrary commands before performing some operation. Mutt manual has the following note regarding hooks:

Note: if a hook changes configuration settings, these changes remain effective until the end of the current mutt session. As this is generally not desired, a default hook needs to be added before all other hooks to restore configuration defaults. Here is an example with send-hook and the my_hdr directive:

send-hook . 'unmy_hdr From:'
send-hook ~Cb@b.b my_hdr from: c@c.c

The save-hook is "used to override the default filename used when saving messages". What is not said is that overriding is done locally, not by changing the particular configuration setting (as I expected it to behave). So, lo and behold, the heavily emphasized note actually does not apply to hooks which do not run an arbitrary Mutt command (which could reset a configuration setting), for example save-hook.

ps. Only about a half of the hooks are actually capable of executing an arbitrary command, which is somewhat contradictory to the definition of the concept of hook in Mutt.

08.08.2006 - 07:51

"Suomalaisyritys kypsyttää 'häviötöntä pakkausta'", julistavat Digitoday ja IT-viikko nettisivuillaan. MeliaVolume kertoo kehittäneensä universaalin pakkausalgoritmin, joka hakkaa tehokkuudessa mennen tullen kaikki nykyiset.

Yritys ei vielä halua kommentoida, mikä on tämän hetken teoreettinen raja.

Pahastutteko siellä MeliaVolumessa jos Claude E Shannon ehti  kommentoida jo 58 vuotta sitten? Datan pakkauksen universaali teoreettinen raja ja sen todistus löytyvät Shannonin klassikkoartikkelista "A Mathematical Theory of Communication", joka löytyy The Bell System Technical Journal -julkaisun niteestä 27 vuodelta 1948. Tuon rajan tuntee jokainen pintapuolisesti koodausteoriaan tutustunut nimellä "source coding theorem". Tiiviisti asia löytyy vaikka Myllymäki&Tirrin luentokalvoista (pdf) tai Wikipediasta.

Nyt kyllä hävettää MeliaVolumen puolesta. Lisäksi hävettää koko Sanoma Oy:n puolesta ja erityisesti hävettää Tuomas Karvosen puolesta. Harvoin sitä journalisti narrataan noin helposti osallistumaan  kasvuyrityksen sijoittajienhaalintaoperaatioon.


Päivitys 9.8.2006:

Lukekaa ja ymmärtäkää, comp.compression FAQ, Compression of random data.

Myös s.a.ohjelmointi-ryhmän keskustelu aiheesta on valaisevaa luettavaa. Ei-kovin-yllättäen samaa alkuperää nyyssien avausviestin kanssa näyttäisivät olevan keskustelun aloitukset muropaketissa ja suomi24:ssä.

Myös verkkolehti Lasmak meni vipuun.


Päivitys 28.8.2006:

Kauppalehdessäkin on kuulemma ollut puffijuttu MeliaVolumesta ja Melia Ministä.

16.06.2006 - 17:10

Tietotekniikan sivugraduni pitäisi piakkoin ilmestyä Jyväskylän yliopiston kirjaston sähköisesti jaeltavasta aineistosta. Lisäksi sen voi latailla tästä (pdf, 667 kt).

13.05.2006 - 01:08

Tänään klo 00:33 saapui odotettu sähköpostiviesti Jyväskylän yliopiston opintotietojärjestelmästä.

----------------------------------------------------------------------------
Sinulla on opintosuoritusrekisterissä tällä hetkellä seuraavat suoritukset:
...

TIETOTEKNIIKKA
...
  Laudatur -tutkielma                  TIE0391 11.05.2006 HYV S  15.00
...

Nyt se tietotekniikan sivugradu on vihdoin viimein peruuttamattomasti valmis. Jes! Johan sitä tuli väännettyäkin.

05.04.2006 - 07:03

Johtoryhmän kokous päätti ELTIS-projektin 4.4.2006 noin klo 10:40. Samalla päättyi kolmivuotinen tutkijan ja projektipäällikön elämäni. Tuotoksiamme voi ihastella julkaisukoosteesta.

Mitä jäi käteen kolmen vuoden väännöstä? Toki muutakin kuin työtodistus. Seuravat perustelemattomat perstuntumat eivät millään muotoa ole virallisia tutkimustuloksia. Ne ovat ornitologisia pohdintoja tutijalta, joka on kerran pistäytynyt lintutornin juurella.

Olen sitä mieltä, että

  • Tietojärjestelmien suunnittelu ja toteutus "puhtaalta pöydältä" on kaikki empiiriset tutkimustulokset hylkäävää ymmärtämättömien utopiaa.
  • Ylläpito- ja edelleenkehitystyö on monilla tasoilla olennaisesti erilaista työtä kuin uudiskehitys(projekti). Kuitenkin alan opetus ja softaorganisaatiot kulkevat pitkälti uudiskehityksen ehdoilla.
  • Ohjelmisto on tuotannontekijänä aivan omanlaisensa otus. Siinä on piirteitä klassisista tuotannontekijöistä (raaka-aine, energia, pääoma, …), mutta sitä ei voi kuitenkaan hahmottaa samalla tavalla kuin yhtäkään niistä.

Voi olla, että huomenna en ole enää tuota mieltä, mutta ainakin jonkun viisaamman on täytynyt käyttää siinä välissä paljon aikaa minun valistamiseen.

23.03.2006 - 08:24

Omien tietotekniikan opintojeni aikana yhden ainoan kerran on harjoitustehtävänä ollut valmiin ohjelman (joka on edes näennäisen järkevä, toimiva ja "oikein" tehty) edelleenkehitys.  Silloin kun tehtävä tuli vastaan syytin sen vaikeudesta ohjelmointikieltä, joka ei ollut ennalta tuttu.  Nyt tiedän, että kyse oli virheellisestä strategiasta. Kun on opinnoissa vuosikaudet toistanut "kirjoita pieni juttu puhtaalta pöydältä" ei tullut mieleen, että ensiksi pitäisi hahmottaa visio, jonka mukaisesti alkuperäinen ohjelma on tehty ja jatkaa sitä (alkuperäistä visiota) eteenpäin.

Miksi pitäisi kehittää edelleen olemassa olevia softia? Eikö olisi parempi aina hylätä vanhat sotkut ja tehdä uusi, parempi?

Joissain tapauksissa epäilemättä on syytä hylätä aiemmat toteutukset tai osia niistä. Joissain tapauksissa uudelleenkirjoittaminen on hyvää harjoitusta. Nämä tilanteet on syytä tietenkin oppia tunnistamaan. Rohkenen kuitenkin väittää, että lähtökohta ohjelmistokehityksessä pitäisi aina olla tukevasti kiinni siinä, mitä meillä jo on. Tähän kohtaan voisin suoltaa hiukan latteuksia pyörien keksimisestä ja jättiläisen hartioista. Jätetään ne väliin. On intuitiivisten lisäksi vahvoja empiirisiä näyttöjä siitä, että muokkaamalla ja mukauttamalla pääsee pidemmälle (mm. Pizka ym.).

No joo, voihan se tietysti olla noin, mutta eikö kuitenkin "oikeassa elämässä" kuitenkin sitten tehdä niitä uudiskehitysprojekteja?

On varsin vahvaa empiiristä näyttöä siitä, ettei näin ole (mm. Lientz&Swanson).  Itseasiassa valtaosa tietotyöstä on ylläpitoa (kun jaetaan elinkaariajattelun mukaisesti kehitykseen ja ylläpitoon), eli käytössä olevan järjestelmän muokkaamista.

No höh. En minä ainakaan halua mitään ylläpitohommia tehdä. Se on kamalan tylsää, mielenkiinnotonta ja epämotivoivaakin.

Osaat sen, mitä aikanaan olet oppinut. Sellaisten asioiden tekeminen, mistä jossain takaraivossasi tiedät, että et ole kovin hyvä, ei tietystikään tunnu mukavalta ja motivoivalta. Ne ovat "vääriä haasteita". Olemassa olevan toteutuksen muokkaaminen on lukuintensiivistä työtä. Jos et osaa lukea, ei tietysti lukeminen kovin kivaa ole.

Siitä viis. Pidä lukemisesi. Minä ainakin aijon pelkästään kirjoittaa. Se on kivaa ja saanpahan tehdä asiat juuri niinkuin haluan.

Mikäs se sellainen taitaja on, joka ei tunne (eli ole lukenut) oman alansa klassikoita?

Analogioiden kanssa pitää olla hyvin, hyvin varovainen. Otan kuitenkin riskin ja esitän nyt asiani vertauksen avulla.

Kun opiskellaan musiikkia, kieliä tai kirjallisuutta, käydään aina läpi runsain mitoin "klassikoita" – malliesimerkkejä hienosta sävelten tai sanojen käytöstä. Näistä opitaan, ammennetaan aineksia. Huolellisen analyysin ja ymmärtämisen kautta niistä syntyvät ne oman luovuuden kukoistukselle välttämättömät (nyt tulee se latteus) jättiläisen hartiat, joille nousta. Kun opetellaan ohjelmointia, käydään aina läpi runsain mitoin varoittavia esimerkkejä ja virheitä.

01.03.2006 - 10:25

Muistattehan, että professori Kari, tuo ylen viisas mies, on meille julki antanut profetian, että Internet on romahtava.  Tämä tapahtuu Herran vuonna 2006. Olethan valmis?

01.03.2006 - 08:39

Kävin eilen pyynnöstä tarjoamassa hyvälle ystävälleni henkistä tukea Ubuntun asennukseen.  Asennukseen ja työympäristön kokoamiseen meni kaikkine tarpeellisine säätöineen noin tunti.  Ystäväni paljasti juuri vastikään käyttäneensä vastaavaan operaatioon Windows XP:n, jonka rinnalle Ubuntu kauniisti asettui, kanssa liki puoli vuorokautta ja käyneensä tuskallisen taistelun ohjelmistojen pohjattomien riippuvuuksien tyydyttämiseksi.

Sitä se teettää kun ei ole integraattoria. Vapaaohjelmistopuolella, jonne Ubuntu siis sijoittuu, sellaisia sen sijaan syntyy luontevasti. Ubuntu itse on integraattori, se muokkaa muiden (tässä tapauksessa Debian-projektin, joka myös on integraattori) tuotoksista yhtenäisen kokonaisuuden.

Kirjoittaja
( e-mail | www )
Kuvaus
Isä, nörtti, (wannabe) hakkeri ja aktivisti näppäilee.
Kuuminta Hottia
copycrime.eu
Irrepressible.info
DRM.info
Linkitä kieltäjä!
Pomppulauta