Web 2.0 ohjelmistotuotannossa

Pidin asiantuntijapuheenvuoron 14.4.2010 Digitaalinen Suomi -seminaarissa Jyväskylässä otsikon mukaisesta aiheesta. Tässä 45 minuutin pituinen slidecast-tallenne puheestani. Käsittelen teemoja sekä web 2.0 -ohjelmien tekemisen näkökulmasta että web 2.0 -palveluiden hyödyntämisestä ohjelmistotuotannossa yleensä. Joitain teknisiäkin asioita mukana on, kuten pilviarkkitehtuuri ja NoSQL-tietokannat. Oli ihan hauska välillä puhua ihan teknisestä aiheesta – sisäistä nörttiä pitää silloin tällöin ruokkia. Niin ja minut voi tilata puhumaan muihinkin tilaisuuksiin. [Read more…]

WordPress plugin for Knowledge Building discussions

Our research group has been working with knowledge building for years now. Some may be familiar with the Fle3 learning environment, built back in 2001. We’ve tried to get someone to create a Moodle plugin for knowledge building, even with the help of a dozen polytechnic students, but without much success.

Hans Põldoja came visiting two weeks ago and said he wanted a knowledge building plugin for WordPress by “next Tuesday”. Well, that wasn’t going to happen, but since our group leader Teemu Leinonen ok’d that I could spend time doing this plugin, I overcame my disgust over the uglyness of PHP and went to work.

Now, after one week, and probably about 20 hours later I have:

  1. Set up SVN and Trac for the project
  2. Got a domain name: fle4.uiah.fi
  3. Taught myself how to create WordPress plugins, basically by looking at these resources:
  1. Writing a Plugin « WordPress Codex
  2. Plugin API « WordPress Codex
  3. Plugin API/Action Reference « WordPress Codex
  4. Plugin API/Filter Reference « WordPress Codex
  5. Option Reference « WordPress Codex
  6. Adding Administration Menus « WordPress Codex
  7. WordPress Coding Standards « WordPress Codex
  8. Inline Documentation « WordPress Codex
  9. Plugin Submission and Promotion « WordPress Codex
  10. I did take a look at a few other plugins that do something similar, but the code quality was so bad that they didn’t help that much.
  • I then tested the plugin on my WordPress site.
  • When I was happy with the result, I applied for hosting at the WordPress Plugin Directory.
  • I then copied my code to the provided Subversion location (where you can checkout the source code as well), waited for the plugin information to be updated, and presto, it was downloadable and installable from within WordPress plugin management screens.
  • Some findings and observations:

    • WordPress development documentation is excellent, and an invaluable resource!
    • Many WordPress plugins (despite the previous point) are of low quality. So if looking for code examples, think carefully what you use.
    • The WordPress API is in general very well made. The Actions and Filters hooks allow plugins to easily effect the places they need to change.
    • The API still has problems – some changes aren’t easy to make using hooks, and need to be manually inserted by editing templates.
    • Some WordPress code still has html and php mixed together (example: the Walker class), which make their extensions really painful.

    But yes, in about half a week of working time I have a functional plugin. You can find it:

    Comments and such about the plugin are welcome at the plugin site. More general comments are welcome here.

    Blogged with the Flock Browser

    Tags: wordpress, plugin, knowledgebuilding, php, development, api

    Psychology of fetuses

    I attended a nice Siltamat lecture at the Psychology department of the University of Helsinki. Here’s a summary.

    Sensory development

    Sense of touch starts working at 8 weeks, muscular response to touch at 12 weeks. Pain is felt.

    Sense of smell and taste is very accurate. Babies can identify their own mother’s milk even after a 3 month pause. The sense gets accustomed to all the smells and tastes that are delivered to the baby from the mother. So eating garlic during pregnancy means the baby will prefer garlic as well. Fetuses also swallow, and the rate of swallowing can be used to detect how much they like a certain flavour (girtls like sweet more than boys).

    Sense of hearings starts working at 18 weeks. The fetus hears the body sounds of his mother, and his mother’s voice quite accurately. From the outside world he can hear many sounds, and can discern between different vowels and different pronounciation. During the last 12 weeks, the baby learns and remembers the sounds, music, and speech he hears.

    A newly-born baby prefers heart beats, talking, and other familiar sounds. He will prefer talk over talk-like sounds, his own mother’s voice over that of others, and his mother’s language over others. The distinction is based on the prosody of the talk (melody and rythm). The baby will also prefer music his mother listened to during pregnancy over other music, songs sung by his mother over other songs, and his mother’s singing voice over that of others. The baby uses the sounds he already knows (and their emotional content) to match with visual impressions of facial expressions to learn what they mean.

    Birth weight and cognitive development

    The optimal birth size in BPM (height divided by weight cubed) is 29 or more. Shortened pregnancy will cause babies to be born underweight, but that is not as problematic as a baby that is full term, but still births underweight. Low birth weight can be caused by the smallness of the mother, smoking, and stress.

    Low birth weight will correlate with:

    • increased risk of type II diabetes
    • tendencies of fearfulness, sadness, frustration, and ADHD
    • cognitive skills (also height and head circumference are connected)

    Even a single extremely traumatic event (like an earthquake) can shorten the length of pregnancy. Short pregnancy is also connected with heightened risk of depression at older age. And malnutrition during the first trimester is correlated with higher risk for schitzofrenic symptoms.

    The health effects of these physiological factors are stronger in boys than in girls, but cognitive effects show no bias. All effect can be altered by the positive influence of the parents and the environment.

    Final note: Smoking at the rate of 10 cigarettes / day even before the pregnancy will cause a significant drop in the IQ scores of the child at the age of 56 months.

    Distributed design and development using agile methods and Trac (XP2006 presentation)

    I’m hosting a session at the XP2006 conference and here’s the material for that session.

    Also, the title should probably talk about Dispersed, not distributed, since that’s what we’re doing (not just having teams in separate locations, but having team members in separate locations).