Steffest Digitale Pulptuur

Janne op kamp

a picture called jannebriefkamp2009.jpg (click to enlarge)

Janne is voor het eerst op kamp met de Scouts.
Vorig jaar ging ze ook al op kamp, maar toen waren wijzelf mee om te koken.
Deze keer is ze dus voor de eerste keer zonder ons 6 dagen weg.
Lang zenne ...
Vooral omdat het echt wel - pardon my french - zeikweer is in de Ardennen.
En als je dan zo'n briefje krijgt als hierboven vandaag, dan zal ik toch blij zijn dat het morgenmiddag 3 uur is en ze weer van de bus stapt ...

Tags: in 't Nederlands, LifelogGeef je reactie (4)

Mobile podcatcher

a picture called mobipodcatcher.jpg (click to enlarge)

As the tv-season is on hold during the summer months, I had to switch to another type of "media" to consume during longish train/bus rides, so I picked up some podcasts again I like to listen to.
These days mobile devices are also more and more "connected" to the web and downloading music and/or podcasts to your mobile device seems so tiresomely old ... so: streaming audio for the win !
There are several really good streaming audio clients on the various mobile platforms, but heck, I found it was really frustrating to get the updates from your favourite podcast and get your device to play the darn thing.
Most annoying, especially as it was not a technical issue but an "ease of use" and "interface" issue.
Conduits Pocketplayer does a semi-decent job, but that thing is bloated and painfully slow to load as it tries to rescan your local music library AND your feeds at every move you make. (besides that, it's not free)

As always, the "If you want it done better, do it yourself!" mantra made me tinker to create a very simple and fast way to reach my favourite podcasts. no need to reinvent the weel and create a player; a small web application would do to fetch the latest mp3 url's and feed it to a player.

tadaaa!: (works in every browser but it's optimised for your mobile device)

Keeping track of various RSS feeds yourself in any application is a bit a pain in the behind: you have to scan, validate and cache each feed at regular intervals which can quickly cause some major strain on your server.
This time i took the smarter route and created a connection to a system that does RSS aggregation better then anyone else in the world: Google Reader.

in Google Reader I label the podcasts i want with a tag "mobilepodcast" , then my podcatcher script simply fetches the 20 latest items of all feeds with that label.
I'll post the code for the Google Reader connection later, it's really an easy way to get a feed and you still get to process them the way you want.

Depending on your mobile device and the software your prefer, the application presents the audio files as a PLS playlist, a ASX playlist or a direct link to the mp3 file.
You can modify this by clicking the "settings" button to choose your preference.
On my mobile, I've setup Coreplayer to open .pls files automatically. It's hands down the best media player for windows mobile.

Future improvements might be to connect this with my mp3 library at home, allowing for streaming audio from the home pc, or with this collection, but we'll see about that ...
In the mean time: it is.


Tags: in English, Mobile, Programming, Scripting, Tinkering, Web 2.0Geef je reactie (0)

Pimp your Picture Frame - part 1

a picture called imate_momento.jpg (click to enlarge)

Last week I bought one of those digital I-mate Momento Pictures frames from iBood.
As with most of the stuff you find on iBood, this item is part of some left-over stock because i-mate has decided to discontinue their picture frames service, but for a price of 50 euros, what can go wrong, especially as the frame sports a cool feature like Wifi!
Yep, it claims to load your images right of your local network or from the web.

As some reviews al ready prove to be very negative, I didn't expect much but in the end it's quite alright except for one mayor flaw: the thing doesn't load standard RSS feeds but instead relies on their propriety Momentum Live service to feed the device online content.
I could have lived with that except .... that service is discontinued :-)
Bummer, there goes my intention of having a cheap Picture frame for my mum to automatically show the latest updates pics of the kids ...

There are some ways to get the thing to connect to the web, but it involves tinkering with DNS-servers and mimicking the Momento live service with your own scripts but that's way too much trouble to be useful.

Still, I was intrigued and when that happens I know myself good enough to just pursue the possibilities or else it will be haunting my head for some weeks. Better to just get rid of it :-)

I decided I wanted a picture frame that not only loads pictures from an arbitrary RSS feed but also could show other "sidebar gadget" like content like twitter updates, resource monitors, textual RSS items ...
The momento frame does support Windows Sideshow, which means you can push little info snippets from your (windows) PC to the device to be displayed. This is very easy to setup and is also very easy to develop for, but it's also very limited as you have no control of the layout, the rate of updates or the amount of text that gets displayed.

In fact, the only thing the device does well is displaying jpg images - it IS a picture frame after all !
Luckily, loading pictures over wifi from your network works really well and is very easy to setup.
It works with the "shared media" function of Windows Media player - actually a pretty cool feature.
I hit another snag when Windows Media Player turned out to be notoriously flaky to update its media library when new pictures are being added so new items sometimes took several hours to show up ; so much for fast twitter updates :-)
After some experiments I found the solution: the Momento frame does store some pictures in its cache, but when a network connection is present it always fetches a fresh copy from your pc. Thank god for that as it means that when you update or replace an image keeping the same filename, the new picture get instantly loaded on the frame (the next time the playlist reaches that image)

Great! Now if I had a program that would update the same set of pictures with new stuff coming from my picture library AND the web, I was all set.
I didn't want to spend too much time with rendering textual items to images, after all, that's what HTML is for no?
If a screenshot of a webpage could be feed to the device, that would allow everything we need. 
Witness the birth of a new project: the "PictureFrame-o-matic" !

After some fiddling in Visual Studio I now have a program that

  • Can read standard RSS feeds
  • Takes any image enclosure it finds in the RSS, resamples it to 800x600 and stores it a folder, numbered with the name of the feed.
  • Can retrieve a screenshot of a  webpage and stores it as a jpg
  • Can combine 2 images (a webpage and a picture) with some overlay options to render some (web)content on top of the image.

the images are not added to the folder, but the existing images simply get replaced with new ones
the Momento device points to that folder and essentially displays the same playlist over and over again, only with updated pictures.

It works really well !
The layout is completely open as it is just HTML and/or flash content being saved as an image, the content is completely customisable as you can take any webpage or RSS feed as your source (e.g. news items or  Poetry lines, ...) and the rate of updates is instantly.

I'll leave it be for now, but it's certainly a project I want to continue some day.
There still are some drawbacks:

  • Webpages that require a login don't work (twitter e.g. so I had to create a custom page that shows my tweets from the twitter API)
  • Updates only work when your PC is on and the PictureFrame-o-matic program is running.
    The momento does have a good fallback system: if the PC is off or otherwise not reachable, it displays the last 50 pictures from it's cache.
  • it's a bit resource hungry for the hosting PC
  • It would be cool to integrate the existing windows sidebar gadgets but I have no idea (yet) how to accomplish that. (apart from taking a screenshot of the desktop and cropping it around the gadget, but that's lame)

Thing to do in the next future

  • create some dedicated webpages to be displayed on the device
  • create a website to configure each picture frame, setting what content should be displayed (which would allow you to configure the picture frame using your phone) sounds a lot like the interface i did for Tweetshirt.
  • post some screenshots
  • clean up the source code and post it here.
  • Maybe demo it on some barcamp or something (after all - the same engine could be used to feed the tweetshirt)

It's still not a good solution for my mum (as a PC has to be running all the time) but it's a nice gadget and I think this setup really gives a lame half-ass picture frame as the i-mate Momento a huge makeover.

On a technical side, Maybe this is the tipping point that I start liking .net and Visual Studio more then Delphi ... (never though I would say that)
It's just that pulling webcontent into your program, working with xml and juggling images around is soooooo much easier in .net then it is in Delphi. (sure, you can write .net in Delphi too, but let's not go there :-) )
Oh well ...

There, that's out of my system.
On to the next project.

Tags: Gadgets, in English, Programming, TwitterGeef je reactie (7)

How to cheat on online pols - part 2

a picture called tweeterwall.jpg (click to enlarge)

IJdelheid en Ego, 't is toch altijd weer prijs.
Er moet maar weer een populariteits wedstrijd opduiken of het is weer hot topic on Twitter.
Deze keer loopt er een Mr. en Ms twitter verkiezing.
Iedereen kan zijn stem uitbrengen en de resultaten zijn real-time te volgen.
Zo'n dingen laat ik meestal links liggen maar toen wat berichten opdoken dat er schijnbaar gefoefeld werd ging ik toch eens kijken.
Ja lap, he, net zoals de vorige keer werkt dat bij als een rode lap op een dolle stier. Online foefelen duidt op een software bug, en software bugs moeten gefixt worden - daarom doe ik mij job ook zo graag :-)
Zo'n twitterpoll is leuk, maar als er niet met gelijke wapens gestreden wordt, is er voor niemand iets aan.

Open online polls en verkiezingen zijn wreed moeilijk waterdicht te beveilingen, eigenlijk kun je net zo goed geen moeite doen om het te proberen, en Tweeterwall heeft er dan ook niet veel aandacht aan besteed.
Stap 1 is altijd eens kijken hoe iets werkt want als je weet hoe iets werkt, weet je waar de bug zit.
Een goede tool daarvoor is de Firefox plugin Firebug. Het laat o.a. exact zien welke url's worden aangeroepen.
Zo zien we dat als je op een plusje klikt er een url als opgeroepen wordt en inderdaad, als je deze url in een browser oproept wordt je stem netjes meegeteld.

En er staan cijfertjes in de url, dat is altijd leuk om iets mee te proberen.
Een snelle blik in de broncode maakt snel duidelijk dat het eerste nummer de gebruikers ID is, maar wat zou die 99 zijn?
Even proberen dat te veranderen naar bv 999 en ... OEPS! Plots staat de teller van die gebruikersID terug op 1 - jawadde, per ongeluk ontdekken we zo een wel erg drastische manier om "de concurentie" een hak te zetten ...

Een twittersearch toont dat een aantal twitter gebruikers plots al hun stemmen kwijt leken te zijn, wat bv o.a. bij @netlash, @bnox en @flexyflow het geval was.
Je kunt er zo goed als zeker van zijn dat dit allemaal te wijten is aan iemand die de url parameters aan het uitproberen is en - wellicht onbedoeld - de teller zo resette. Op zich al een duidelijk bewijs van gefoefel.
Ok, die 99 laten we staan dus.

Als we nu als een gek die URL gaan oproepen door bv op refresh te gaan meppen werkt het niet, want je IP adres wordt 20 minuten lang onthouden zodat je maar om de 20 minuten vanop dezelfde computer een stem kunt uitbrengen.
Je kunt natuurlijk je Firefox instellen om elke 20 minuten deze pagina te verversen, maar dat schiet niet op.
De truuk is om deze url vanop zoveel mogelijk IP-adressen (locaties) op te roepen, maar hoe doe je dat?
Je kunt het aan de oma van Pascal Vyncke vragen, die is daar schijnbaar erg goed in, maar je kunt het ook zelf, door mensen onbewust en onzichtbaar via hun browser die url te laten openen.
Dit kan door bv in een webpagina een iframe te zetten of zo, maar wellicht de simpelste manier is om de url als afbeelding op te roepen.
Zet bv <img src="" alt="" /> op een webpagina en iedereen die de webpagina opent zal de stem-link openen vanuit hun computer als ze die webpagina openen, en dit zonder dat ze het weten.
Uiteraard krijgen zo ook een kapotte afbeelding te zien, maar dit kun je verbergen door bv
<img style="display: none" src="" alt="" /> te gebruiken.
En zo zijn er nog tal van andere manieren om het systeem voor de gek te houden.

Flauw, maar als je de stem-resultaten wat in het oog houdt lopen er zo wel een paar foefjes ...
Ikzelf kon het ook niet laten hoor: toen @amedee een vat beloofde als hij de Mr verkiezing zou winnen, vond ik dat nog wel een mooie uitslag: zo zou iedereen er tenminste wat aan hebben, en ikzelf ben dan ook wel weer zo ego-gevoelig om even uit te testen dat je "het systeem verslagen hebt" of zoiets (Jaja, Steffest de rebel - kuche kuche)

Afin, zo gezegd zo gedaan, en even later stond @amedee dan ook met een ruime voorsprong op de eerste plaats te prijken.
Goed zo, behalve dan dat iemand het blijkbaar nodig vond om zijn resultaat te torpederen, en zijn teller met boven beschreven truukje te resetten.
Bon, Ik heb nog eenmaal het scriptje laten lopen en momenteel staat @amedee weer op 1 (geheel verdient uiteraard) en ik ga me er voor de rest ook niet mee bezig houden.
Deze afbeelding in een nieuw scherm openen
Voor alle duidelijkheid: ik heb enkel 2 maal @amedee zijn stemmen een duwtje naar boven gegeven, met alle andere rare fenomenen op die tweeterwall heb ik compleet niets te maken, hoor en vermits @amedee sprak over de kloof tussen de "haves en de haves-not in de informatiewereld" dacht ik - hup - laten we eens wat informatie vrijgeven.
(Want het is wel duidelijk dat ik zeker niet de enige of eerste ben die "op onderzoek" uitgaat)

Bottom line is: gebruik best geen online polls voor verkiezingen, of als je het dan toch doet - verzin dan een simpel systeem om het eerlijk te laten verlopen - open stemmen via twitter of zo.
Gegarandeerd dat er anders toch vals wordt gespeeld en dan is er voor niemand nog iets aan.

Hoe dan ook, mocht @amedee zijn vat geven, ik zal zeker wat meesponsoren :-)

Tags: in 't Nederlands, Twitter, Web 2.0Geef je reactie (2)

Moov it

Echt niet te doen wat zo'n jonge gasten allemaal krijgen als ze verjaren, en dan nog gene brol hé!
Nee, tegenwoordig is er echt wel supercool speelgoed.
Neem nu deze Moov contructie kit.
Het is zo'n beetje mecano, maar dan levensgroot zodat je er echt bruikbare constructies mee kunt maken. (En verbazend stevig kan ik er aan toevoegen)
Deze afbeelding in een nieuw scherm openen

Deze afbeelding in een nieuw scherm openen 

't is een leuke tijd om 4 jaar te zijn - en trouwens ook een leuke tijd om papa te zijn!
nog een electromotortje erop, en we zijn vertrokken.

Tags: Gadgets, in 't Nederlands, LifelogGeef je reactie (1)

There's no such thing as the best phone

a picture called keyhtc.jpg (click to enlarge)

Congratulations to MG Siegler for writing absolutely the worst phone review ever.
What's makes it so bad is that's on Techcrunch, the worlds most read tech blog and honestly, one can expect a bit more insight from writers of this blog ...
MG rants on how it's such a good move HTC killed the physical Keyboard of this supposedly next "iPhone killer"
maybe tech-writers should replace the word "phone" with 'car' in their minds ...
Do you ever see an article boosting the new Mercedes as the "BMW-killer" ?
Of course not: all car brands have their place, it's up to the buyer to pick the right one, depending on his needs, budget and personal preferences.
There's no such thing as "the best car" as everybody will agree to.
Phones are no different.
There's no such thing as the best phone, it's just depends on your needs, personal preferences and budget.
Some might find it hard to believe but the iPhone is not the device that everybody reflects there phone-needs to.
so MG doesn't like physical keyboards? For gods sake, let him buy a phone without one and stop whining.
In contrary, I find a physical full qwerty keyboard a must have feature and will never buy a phone without one.
It's quite simple actually

  • If you mainly want to use your phone to read and write emails, manage your contacts and manage your calendar, get yourselves a Blackberry
  • If you want a decent and easy phone which main function is a .. erm .. phone, get yourselves a Nokia
  • if you want the top in user experience and ease of use, and if you don't mind spending to much money, and if you don't care about things like "open platform", "freedom of choice" or "vendor lock-in", get yourself an iPhone
  • if you want an internet device, get yourselves a Nokia N900 or other internet tablet
  • if you want a device that does it all, and you can get used to  the resulting added complexity, get yourself a windows mobile device.
  • if you're a true geek, go Android

Or if you have some other criteria like low price, or insanely large buttons, or being compatible with your car-kit or whatever ... pick another: you have gazillion of equally good choices.

The term "iPhone killer" was stale 2 years ago, if anybody still cares to use it present day, in my book they will loose all journalistic credibility in a flash ...

Tags: Apple-bashing, Gadgets, in English, MobileGeef je reactie (1)


a picture called twiistlogo.jpg (click to enlarge)

Friday I attendend a brand new belgium conference for webdesigners and webdevelopers called : The Way Internet Is Supposed To Be.

The goal was an affordable one day conference for like-minded web creatives, and boy, did they succeed!
I've been to my fair share of conferences but I must say this was about the best one: the topics where spot on and the speakers were top notch.

It started a bit slow though. The first session by Serge Jespers was OK, but misplaced: an audience of mostly professional webbuilders don't want to sit through a generic talk about Adobe Flash and AIR. I though it somewhat a missed opportunity that Serge didn't dive deep into a place for flash/flex in an open architecture sementic web, but oh well ... it was early and people still had to wake up :-)

Things started to get going with excellent talks about "Transient Semantics and Microformats" by Brian Suda and "Cost Effective Web Development" by Drew McLellan. I didn't fully agree with Drew, but still it was an interesting reminder to keep your common sense in everything you do.

After a HUGE Twunch, the star of the day took the stage: Aral Balkan about "Remember the Magic"
In one word: He was BRILLIANT. Allthough his talk was rehearsed up to the small details and he clearly is a very professional speaker who knows how to play an audience, it absolutely worked: It was the best session i've ever seen.
Honestly, if you ever have the chance to attend one of his talks, don't hesitate, you won't regret it. (apart from that, at the afterparty it turned out he's also an extremely nice guy and fun to hang out with ... man, what are the odds? :-) )

Elliot Jay Stocks had a bit of an ungrateful task to speak after the magical sparks of Aral, but his talk about the imporantce of beauty in absolutely everything was more than OK.
"Experiments in data portability" by Glenn Jones was a bit dry but right into my alley and the awesome Chris Messina did a nice wrap-up of the "The open, social web"

It really was a nice mix between webdesign and webdevelopment and the scale of the event was small enough so that at the very nice afterevent (yeah, free beer by Netlog !) you actually had a chance to talk to all of the speakers.
Apart from the great speakers, it was really nice to meet so many old and new contacts, the after event with DJ boskabout really was the cherry on the pie

I don't think I was the only one who liked it: I've seldomly read such raving comments on twitter about a conference!

All in all Filip Bunkens and Simon Schoeters did a GREAT job organising the event, I think absolutely everybody had a great day and absolutely everybody also is hoping they can pull a version 2 out of their hats sometime in the future.


Tags: in English, Web 2.0Geef je reactie (2)


a picture called mobile_11_42_15 AM_5152009tweetingsas.jpg (click to enlarge)

lo-tech twittering by @sasvangent #twiistbe


(Posted by mobile phone)

Tags: in English, TwitterGeef je reactie (0)

And the winner is ... Twoddler !

I didn't win any prizes today at the Inca award ceremony, but that's OK: the 10 finalists are all very fine projects and totally deserve the spotlight.
After much suspense in the final moments, the winner turned out to be Twoddler : an series of Arduino powered twittering Fisher Price toys to keep track of and communicate with your toddlers.
Of course, the combination of Twitter and Arduino is a proven recepy for succes :-)

My personal favorite, Hupskadee, won Silver, as did startcomputer, Tableau and Ikkanhet

Congratulations to all!

I'm very sure my own projects will incarnate in another form one day: the game engine behind Inca - the game will find a place as online emerald mine engine, to play the gazzilion of levels made in the 80's and early 90's at
The technology behind Lopend Vuur has found it's place in a bigger backend framework and turned out to be commercially interesting. will stay at I'm sure this idea will get picked up sooner or later.

The inca-ceremony was hosted at the iminds event.
iminds was OK, but I kind of expected a bit more: it felt a bit like one giant IBBT commercial - which is understandable and perfectly fine as they organised (and paid for) everything. The interaction with the enterpreneur-centered  audience and the (sometimes) politic speakers was euhm ... interesting by moments :-)
Anyway, it was nice to meet new and old contacts, saw lots of  interesting projects and .... got inspired.

Kudos again to the Inca-team for a very wonderful initiative.
I hope they come up with a second run in some form in the future.

Tags: in English, TinkeringGeef je reactie (0)

Inca award

a picture called inca09.jpg (click to enlarge)

WOW - that where some insane last few hours monday night, but big fun!
monday at midnight was the deadline for the Inca award

The INCA (Innovative and Creative Application) Award is an open competition for developers, encouraging them to build applications which are both “cool and useful”.


I first heard about it at barcamp and immediately thought "Hey! that's my cup of tea"!
After all, creating small(-ish) fun web apps is something I do to ease my mind :-)
The competition was open for about a month and you had to build a new application.

I entered 3 apps (yes THREE - that's a bit insane ...)

  • Inca - the game (that was just for fun - not very useful in a social way but VERY cool :-) )
  • Lopend Vuur: an application to quickly reach the relevant group of people in case of a logistic emergency with your kids (together with Beate from e-zen who came up with the idea)
  • Wamm: which was an idea of Pieter Theuns. it's a fun way of nailing an "agreement" between two people for small favours (like borrowing a book etc...)

More on that later, I'm especially fond of my solution to handle the SMS traffic of both Lopend Vuur and Wamm: instead of setting up an expensive external 2-way sms gateway, everything is running from a small GSM modem that's sitting at my home: just plug in a SIM card with heaps of cheap (or even free) SMS credits and you're good to go.
The only drawback is that the throughput is rather small - it can only send 1 SMS each 4 seconds or something - but for most projects that's more then fast enough.

I really liked the Inca contest. Not for the contest itself, but it really created some vibes in the Belgian developers "scene" with lot's of people building stuff just for the fun of it - or to show of - or to build something useful ... but mainly, because they WANTED so, not because a big paying customer (or a big nasty boss) wanted them to.
That "bottom up" approach is exactly the type of thinking Inca was designed to stimulate, and I think they succeeded very nicely: 35 applications where submitted and amongst them some real gems.

My favorites (apart from my own of course):

  • Twoddler (cool!)
  • Verdwaald vuil (looks absolutely gorgeous)
  • TVtweets (good idea)
  • Mijn lucht (brilliant in its simplicity)
  • Hupskadee (excels in about everything: both design and technical implementation is fabulous: /me jealous!  I think they are heading for the number one spot in the competition)

Again - it's notable how ubiquitous Twitter is ... 7 applications have something to do with twitter in some way, that's 20% !

Anyway ... I'm also glad it's over :-) (back to more sane working hours)
I'm hoping to meet some of the teams at the iMinds conference, 12th of may 


Tags: in English, Programming, Tinkering, Web 2.0Geef je reactie (1)

Inca09 - The Game

My first submission to the inca-award contest is about ready.
Old scool gameplay for the win!

Woo the jury and collect als much good ideas as you can.
Show your clever tricks by solving the puzzles.

Create your own levels using the online leveleditor, So if you ever wanted to create a game starring Bnox, Dries Buytaert, Robin Wauters, Bart Becks or Luc Tayart, here's your change.
More info at

Tags: in English, Programming, ScriptingGeef je reactie (0)

Talking about the future of applications

At Barcamp Antwerp I was interviewed by the nice people of the IBBT in the light of their Inca Awards.
They asked me what my vision was on the future of application developement.
A though question but my 2 main points seemed to be

  1. Make sure you can inject your passion into your project and don't forget to have fun
  2. Keep it simple but don't forget the WOW-effect and build something people can relate to

Hmmm, only 10 days left for the Inca-awards deadline ...
Am I going to participate?
Why offcourse !!!
The first project is almost finished and should be released next monday.
Then on the the next one! :-)

Tags: in English, Programming, TinkeringGeef je reactie (1)