Steffest Digitale Pulptuur

Google maps/latitude/twitter/blog mashup

Vorig weekend ging ik nog eens een wandelingetje maken, als voorbereiding op deze tocht, weet u wel.
40 km stond er op de planning. Het was tevens de eerste grote test voor mijn real time google maps/latitude/twitter/blog mashup (een hele mond vol, maar het gaat dus over de kaart die u hieronder zit)
- voor de RSS lezers die de iframe-kaart niet zullen zien: het is deze.

Ik ben al een tijdje bezig mijn mijn locatie te loggen. Ik gebruik daarvoor voornamelijk Google Latitude: mijn telefoon weet waar ik ben en geeft dit door aan Latitude. Door om de zoveel tijd deze locatie op te vragen en op te slaan in een database krijg je zo een geo-log waar je overal bent geweest. Het handige is dan dat je van alles waarvan je weet WANNEER je dit deed, je ook ineens weet WAAR dat gebeurde.
Als je bijvoorbeeld een tweet stuurt, of een foto maakt en upload, dan kun je ineens op een kaart tonen waar je was.
Dit doe je dan van tijdstip A (je vertrek) tot tijdstip B (je aankomst) en voila! je hebt een routekaart van je tocht met geografisch aangeduid waar (en wanneer) je bv een foto postte of iets op twitter zei. (je kunt op de icoontjes klikken om de tweet/foto te zien)

Het mooie is dat dit dus realtime gebeurd (of kan gebeuren).
Als backup heb ik ook een GPS-logger bij, om achteraf de locaties wat bij te schaven en dat is eigenlijk wel nodig ook.
Google latitude is eigenlijk niet bedoeld om je route te tracken, maar om je huidige locatie te tonen.
Het maakt af en toe rare locatie-sprongen want zelfs als de gps van je telefoon continu aan staat, stuurt latitude soms toch de geïnterpoleerde gsm-mast locatie door en die is veel minder accuraat.
Op je route lijkt het dan soms alsof je heen en weer springt.
Ook ergerlijk is dat er geen mogelijk is om exact te bepalen wanneer Latitude de nieuwe locatie doorstuurt en ik heb al gemerkt dat dit best lang kan duren.
Langs de andere kant is het wel een erg mooie applicatie die bovendien ook erg vriendelijk is voor de batterij van je telefoon - niet te onderschatten tijdens lange tochten.
De "real-time" kaart is dus niet zo accuraat, pas bij terugkomst wordt de route 100% juist na het importeren van de GPS-logger gegevens.

Tijdens de tocht bleek alweer dat "social media" als twitter effectief wel "social" is: ik was in mijn enthousiasme vertrokken zonder geld of drinken - dom natuurlijk, en dat had ik meteen maar op twitter gezet.
Gelukkige was er een vriendelijke twitteraar die zeer juist deduceerde dat ik wel eens in zijn buurt kwam te passeren en bood aan dat ik bij hem wel mocht komen lunchen - WAUW! - nogmaals een dikke merci! (jajajaja twitter is ECHT cool)
Je ziet op de kaart dat ik op een gegeven moment rechtsomkeerts maak om nog even langst Broechem te passeren - waardoor de tocht uiteindelijk 45 km lang werd.
Ik moet zeggen dat ik blij was dat ik de finish bereikte - het viel eigenlijk wat tegen en ik voelde me echt een oude zak.
Dat beloofd ...
Dit weekend staat er weer een 45-km tocht op de planning - dit keer in groep, wat meestel iets minder snel vooruitgaat.
Uiteraard wordt deze ook getrackt!

(De kaart is even verhuist naar http://blog.stef.be/location/route.asp?duffel ) Tags: in 't Nederlands, Lifelog, Scripting, Twitter, Web 2.0Geef je reactie (4)
 

Spotify API

a picture called spotify-logo300x300.jpg (click to enlarge)

Over these recent weeks I have been busy lining up my media collection and media "consumption" into 1 consistent experience. Because I'm getting lazier every day I wanted to control everything from a single point that's always accessible (the web) and stream the same media collection to every web-connected device I have.
I thought I had everything nailed down until a new kid on the block arrived last week (new for me anyway)
Spotify!
Love at first sight - finally a service like Musicmatch, which was sadly choked-to-death by Yahoo, but faster, better looking, more intuitive and most important: more fun.
Only one thing missing: NO WEB-INTERFACE !
I'm going to say it one more time: "to all developers: Please build a TCP/IP interface into every piece of software or hardware you build! - It doesn't have to be http or spit out html, just let it connect to some port to listen for commands.
The internet of things is already here, so don't miss it and let your appliance connect to it!"

That being said, Tickled by this tweet I decided to build a little Spotify wrapper class so that other applications - mainly my webserver - can interact with it - aahhh ... back to laziness, now i can also control Spotify with my mobile phone from the couch.

The class can be found here. it's all win32 API calls so it's easily portable to whatever language your like.
it's completely free and comes with no warranties.
it's tested with Spotify version 0.3.18 - as this is completely unofficial it might break with newer spotify versions

Usage:

Dim Spotify As New Spotify()

Spotify.PlayPause()
Spotify.PlayPrev()
Spotify.PlayNext()
Spotify.Mute()
Spotify.VolumeUp()
Spotify.VolumeDown()
Spotify.Nowplaying() (Gets the name of the current playing track)
Spotify.Search("Artist",False) (Searches for "Artist")
Spotify.Search("Artist",True) (Searches for "Artist" and starts playing the results)

The Search_and_play command is my favourite - works like a charm.
I really hope Spotify can survive. It's certainly worth €9.99/month to me.

Tags: in English, Media center, ProgrammingGeef je reactie (0)
 

Zolder gemep

a picture called mobile_6_52_38 PM_7252009zolder_DSC_5820.JPG (click to enlarge)

Allez vooruit
we zijn eraan begonnen!







(Posted by mobile phone)

Tags: in 't Nederlands, VerbouwenGeef je reactie (2)
 

Winamp database reader

a picture called winamplogo.jpg (click to enlarge)

I'm releasing a little tool/code snippet today for those DIY-people like me that like to tinker with their custom made ultimate personalised home media experience. (that's CUPHoME !)
One of the key elements is easy access to your music collection.
If you're serious about managing your music collection - and if you're using windows, you really have only 2 options: use Mediamonkey, or use Winamp.
iTunes on Windows really is a slow piece of garbage and Windows Media Player is a bit lacking in management features.
This "Battle of the media players" is over a year old but still very valid and spot on.
Mediamonkey uses SQlite as database so it's easy to interface with, but Winamp uses some propriety database format called NDE (Nullsoft Database Engine)
Although the format is somewhat documented, I was surprised i found very little code samples to connect to the winamp database from an external program. the documentation also seems a bit outdated as the internal binary structure seems to have evolved a bit.
Delphi to the rescue - writing a decoder for some binary format is actually a very satisfying pastime :-)
After a few hours I had a program that reads out the entire database and dumps it into a grid control, optionally exporting it to excel.
The source is here - should be easy to port to other languages.
Sample program is here (also includes source)

It's tested with the latest Winamp version as of writing: version 5.56.
It has a good chance of staying up to date as interfacing with Winamp seems to be a recurring theme over the years for my own projects.
Anyway - it's free to use in any way you want and comes with absolutely NO support :-)
Happy coding!

Tags: in English, ProgrammingGeef je reactie (1)
 

zolder ontwerp 2

a picture called 3D_zolder_kast2.jpg (click to enlarge)

Dit is het ontwerp voor onze zolderverbouwing dat ik in (het zeer formidastische) sketchup in elkaar gefloept heb, of liever: het WAS het ontwerp want inmiddels is dat ook alweer afgevoerd wegens te onpraktisch en te veel werk om (fatsoenlijk) te maken.
(en meneer den architect vond het ook nie goe)
Ik voeg het er maar even bij voor de volledigheid, want  zo'n wordingsprocess van een uiteindelijk ontwerp is best interessant om te zien evolueren.
Dit is dus weer afgevoerd, maar geen nood: het volgende ontwerp heeft - om even in software termen te spreken - al "Release Canditate" allures.
Nog een paar bugs wegwerken en we zijn klaar voor de lancering.

Tags: in 't Nederlands, Lifelog, VerbouwenGeef je reactie (0)
 

Sommige dingen kun je beter niet weten: Nespresso

a picture called nespresso.jpg (click to enlarge)

Sommige dingen kun je beter niet weten, Kennis is immers macht: Scientia potentia est
Het tegenovergestelde is ook waar: zalig zijn de armen der geest (Matheus 5.3) oftwel: Ignorance is bliss
Afin, genoeg met citaten gesmeten. Ik bedoel eigenlijk gewoon "Sommige dingen kun je beter niet weten" of zei ik dat al?
Soms denk ik bijvoorbeeld wel eens dat ik beter niet naar Barcamp Antwerpen was gegaan op 21 maart, of toch op zijn minst dat Anne (update: met dank aan Christophe) er beter niet voor had gezorgd dat er gratis Nespresso was.
Dat is namelijke ongelooflijk lekkere koffie!
Ja: het is een marketinghype, en ja: die capsules zijn duur en ja: het is een soort van koffieporno maar euh ... het is ongelooflijk lekkere koffie!
En dat wil je eigenlijk niet weten als je thuis naar je Senseo-machien zit te staren die wat gekleurde warme drap aan het produceren is ...
De gewone koffiezetter maakt ook lekkere koffie, maar dat duurt te lang en je hebt veel te veel koffie als je alleen bent.
Dat type van kennis nestelt zich dan in je geest en begint te peuteren en te kriebelen elke keer je een kop koffie drinkt (veeeeeeeel dus) en eigenlijk ook telkens je die f*cking Clooney op het scherm ziet
Uiteindelijk beginnen ook je medemensen zich bewust te worden van je stille lijden, en op een mooi moment strijken ze ze met de hand over het hart en geven ze je iets moois kado.
Tadaa! mag ik u voorstellen: mijn nieuwe Nespresso machien. Lekker man - en ik ben er superblij mee.
Volgens sommige snobs is het alweer passé en is het bij lange na geen espresso, maar wat zou het - het is ongelooflijk lekkere koffie!

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

Gewarpte kast

a picture called 3D_zolder_kast.jpg (click to enlarge)

Dit zeer coole ontwerp zou onze nieuwe zolder moeten worden.
De gewarpte kast is geen ontwerp van mij, maar van de fijne ontwerper Jeroen Theuns van Voet-theuns architecten.
Het gaf mijzelf ook nieuwe inzichten hoe je met rechte lijnen toch schier gebogen oppervlakten maakt die bovendien nog vrij eenvoudig zelf te maken zijn door een niet-al-te-verfijnde doe het zelver als ik.
Bij het uittekenen van de maten op de echte zolder bleek echter dat we toch niet zo goed nagedacht hadden over de ruimtelijke indeling die we wilden.
(Noot dat de "we" in de vorige zin eigenlijk een wijselijk eufemisme is - u weet wel hoe dat gaat in een huishouden met veel kerken die in het midden moeten blijven staan.)
Het plan werd dus weer afgevoerd en ik heb mijzelf in de sketch-up gesmeten ... nog een geluk dat dat zo'n fijn programma is om mee te werken, zodat het misschien nog wel iets leuks wordt. 
wordt zeker vervolgd :-) ...

Tags: in 't Nederlands, Lifelog, VerbouwenGeef je reactie (0)
 

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!:  http://m.stef.be/pod (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: http://m.stef.be/pod 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 http://tweeterwall.mallplace.com/tw/vote/123456789/99 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="http://tweeterwall.mallplace.com/tw/vote/123456789/99" 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="http://tweeterwall.mallplace.com/tw/vote/123456789/99" 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
WAAAHOOOOOWOW!!!

Deze afbeelding in een nieuw scherm openen 
BROOOOOOOOOMMMMM!

'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)