Steffest Digitale Pulptuur

Tag: in 't Nederlands

151 berichten

How to cheat on online pols - part 2

tweeterwall.jpg

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

in 't Nederlands, Twitter, Web 2.0Reacties (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.

Gadgets, in 't Nederlands, LifelogReacties (1)

Barcamp Antwerpen - Video

Mijn Arduino presentatie op Barcamp Antwerpen is blijkbaar ook op video opgenomen.

Dikke merci aan Wannes voor de opname!
Op www.barcampantwerpen.org vind je een volledig overzicht. 

Voor @sasvangent: De visuele tool om Arduino code te schrijven waarnaar ik refereerde als antwoord op je vraag heet Amici en is van Eduwear: Children Designing Tangible and Wearable Computing for Playful Educational Purposesin 't Nederlands, Lifelog, VideoReacties (1)

Barcamp Antwerpen - Arduino slides

En dan was ik de slides nog vergeten: bij deze

Klikken om verder te gaan, in de linkeronderhoek klikken om terug te gaan.
Voor de Barcamp site: de embed code is
in 't Nederlands, LifelogReacties (0)

Barcamp Antwerpen

Dit weekend was het Barcamp Antwerpen.
Een grote groep enthousiaste geeks komen er samen om hun kennis en passie te delen.
Ook dit keer zinderde de lucht van creativiteit,
Toffe mensen allemaal die de meest uitlopende onderwerpen kwamen voorstellen gaande van zeer technische sessies rond webservices tot ontspannende dans-initiatie.
Je hoofd gaat een beetje zoemen op den duur van zoveel input op korte tijd maar je komt er steeds stuiterend van motivatie van terug.
Teveel indrukken om op te noemen maar ik pik er toch een paar uit.
De sessie rond Google-adSense tips van Beate vond ik zeer interessant, geweldig hoeveel expertise zij op dat gebied in huis heeft. Bert Goethals heeft mij kunnen overtuigen met zijn charmante uitleg om toch eens een projectje in Ruby on rails te doen - lijkt me wel een framework waarin ik mij thuis voel.
Kodel kwam vertellen over zijn RC Airplane autopilot project - WAUW - erg knap - ik ben stiekem stikjaloers op de kennis die daar allemaal rondspookt in zijn hoofd.
Doordat er meerdere presentaties tegelijkertijd doorgaan is het altijd een hartverscheurend kiezen.
Ik vond het vooral jammer dat ik @emich zijn uitleg over zijn mobiele GPS toepassing moest missen. Zijn D.I.Y-attitude is volledig in lijn met mijn eigen drijfveer en eigenlijk had ik zijn presentatie gewoon MOETEN zien. Stom van mij.
Gelukkig werd er druk getwitterd, gefotografeerd en gevideod, dus ik hoop dat ik achteraf nog wat kan inhalen.

Verfrissend aan deze barcamp was dat er veel nieuwe gezichten waren, leuk om jullie te leren kennen. (Al heb ik zoals steeds achteraf spijt dat ik niet met MEER mensen een babbeltje heb gedaan)

Deze afbeelding in een nieuw scherm openen Ikzelf gaf een presentatie over hoe ik de Arduino ga inschakelen om een volgende versie van mijn tweetshirt te maken.
Fijn om zoveel positieve reacties te krijgen. Ik zou liegen als ik zou zeggen dat het niet enorm leuk is om tweets zoals deze te lezen.
De slides van mijn presentatie vind je alvast hieronder (sorry, niet op slideshare omdat de presentatie in Flash is gemaakt en slideshare daar niets mee kan aanvangen)
De slides op zich zeggen niet veel. In de komende dagen/weken zal ik ook de broncode en de filmpjes van de Arduino demo's publiceren. (De foto is gemaakt door m'ken)

Een dikke merci aan alle mensen die dit weer mogelijk hebben gemaakt, ook aan de sponsors, Nucleus, Nespresso (wat werkelijk echt lekkere koffie is), The parkinglot, Devia, 10to1, Chocolateque. Een speciale dank aan @jakkepoes voor de overheerlijke brownies waarvan ik er onfatsoenlijk veel naar binnen heb gewerkt en uiteraard een SUPER dikke merci aan de onvermoeibare wervelwind die Barcamp Antwerpen dit keer uit de grond heeft gestampt: Topanga oftwel Anne Verberckmoes.

 

Arduino, Blogging, in 't Nederlands, LifelogReacties (1)

soon in a Twunch near you

twunchbadges.jpg

Hoara!
Vandaag wordt @twunch 1 jaar, en om dat te vieren was er vandaag een SUPERtwunch op de locatie waar het allemaal begon: De Quick in Berchem
Voor diegene zie iets hebben van euh ... Twunch? .... zie hierzo.

Om het twunchen nog laagdrempeliger te maken is er nu ook de oplossing voor een netelig probleem.
Je kent dat wel: je bent nog nooit naar een twunch geweest en kent die twittermensen enkel van naam.
Schoorvoetend kom je dan aan de twunch-locatie en kijkt wat onwennig rond.
Hoe herken je nu je mede-twunchers? Je hebt ze immers nog nooit in levende lijve mogen aanschouwen ...
Als je iemand op zijn smartphone ziet prutsen is de kans al groot dat je beet hebt, maar soms is het niet zo simpel.
Maar wat zie je daar op zijn "manbag" gespeld? Jawel! het is de overal-te-herkennen twunch-badge.
Aha! probleem opgelost.

de twunch-badges zijn vanaf vandaag gratis verkrijgbaar "at your local twunch"
Iedereen die vandaag op de Twunch was heeft er alvast een paar om uit te delen.

Ook op Barcamp Antwerpen zaterdag zullen ze verspreid worden. (zolang de voorraad strekt, de oplage is momenteel nog lichtjes beperkt - klamp me gerust aan mocht je er 1 willen)

Update:
and look how WRRAORRrr those badges look! (on Sasvangent that is ...)

Maxvoltar also took some pictures. Thanks!

Gadgets, in 't Nederlands, Lifelog, Web 2.0Reacties (0)

Cookaholic

Een tijdje geleden werd ik - samen met een hoop andere webmensen - uitgenodigd om een Kookworkshop geoarganiseerd door Cookaholic en KitchenAid bij te wonen.
Graag natuurlijk!
Het is altijd fascinerend om gepassioneerde mensen hun ding te zien doen, vooral als ze duidelijk weten waar ze mee bezig zijn. Zoals Clopin pleegt de zeggen: "Daar wordt een mens rustig van." En hij heeft gelijk.

Mister Cookaholic zelf, Gaetan Burm, is duidelijk zo'n gepassioneerde mens en zijn enthousiasme is niet alleen aanstekelijk, je krijgt er ook honger van !
Meer over wat we juist klaar hebben gemaakt lees je op de uitstekende blogposts van Volume12 .
Dinsdag deden onder andere Topanga en Sasvangent dezelfde workshop.

De sponsor was KitchenAid, die dit jaar hun 90ste verjaardag viert.
Hun keukentoestellen zijn prachtig en werkelijk fijn om te gebruiken. Helaas zijn ze ook enorm prijzig, maar ach ... een mens mag al eens dromen he.

Hieronder een slideshow van de foto's die ik die avond nam.

Je kunt de foto's ook bekijken via http://stef.be/foto/cookaholic

Eigenlijk is zo'n kookworkshop ook gewoon een leuk concept voor een feestje: met heel de hoop tegelijk maak je samen iets klaar om het daarna te consumeren. Koken brengt mensen immers echt bij elkaar, zelfs als het een hoop geeks zijn :-)

Merci, Dieter van RCA en Gaetan voor de supertoffe avond

in 't Nederlands, LifelogReacties (1)

Jarenlange mishandeling

knoest.jpg

Zoals bij 95% van Vlaanderen werd er ook hier stevig in de tuin gewerkt.
De lente hing immers in de lucht en dan komt een mens buiten.
Met snoeischaar getogen werden de Catalpa's weer stevig gekortwiekt.
De sporen van deze jaarlijkse mishandeling staan inmiddels diep getekend in hun knoesten, maar het is hun eigen dikke schuld: Ze moeten zo hard ook maar niet groeien.
Sommige takken meer dan 3 meter op een jaar, wat in de lenteperiode soms op 3 tot 4 centimers per dag uitkomt.
Verbazend, ge zou maar eens in slaap durven vallen tegen zo'n boom. Voor dat je het weet bent je ingegroeid.
Ik vraag me trouwens af hoe ik eruit zou zien als ik elk jaar zo toegetakeld zou worden ...

De volledige reeks foto's vind je op http://www.stef.be/foto/knoest

Graphics, in 't Nederlands, LifelogReacties (0)

Codebreakers and Enigma’s

Goesting om (onder andere) de R en de S van de wereldberoemde RSA encryptie eens in levende lijve te ontmoeten?
Rep je dan snel naar het Codebreakers and Enigma’s event, misschien dat ze je nog net binnen laten.
Het wordt georganiseerd door LSEC, een Vlaamse vzw die – gesteund door het IWT – de kennis van computerbeveiliging bij bedrijven wil verhogen.
RSA was zowat de doorbraak van de encryptie met een publieke sleutel

Bruce Schneier, Adi Shamir, John Manferdelli en Ron Rivest ... amai - straffe gasten!

in 't Nederlands, ProgrammingReacties (0)

How to cheat on online polls like #MCMG

Vorig weekend opende Imke Dielen de "Most cute Male Geek" verkiezing.
Eigenlijk wilde ik dat alles gewon negeren, want - en ik mag dat zeggen he Imke - ik vond het vooral wat aandachttrekkerij, tot ik vrijdagavond zag dat @wolfr 9000+ stemmen achter zijn naam had staan.
Onder het motto "Allaai gast, alsge trisht, doegedan injees goe" oftewel "Wasdana, nen antwaarpenaar kan toch beter trishen dan die Netlash-gasten zekers" heb ik vrijdag dan toch eens een scriptje gemaakt om een mede-antwerpenaar van wat stemmen te voorzien. (Vooral ook omdat imke zelf zeer uitnodigend was)
Hier een kleine handleiding:

Stap 1 bij elke webapplicatie is altijd dezelfde: rechts klikken en "view source" kiezen.
Daar lezen we <noscript> <a href="http://answers.polldaddy.com/poll/1357963/">View Poll</a></noscript>
Wat de url is van de quiz op polldaddy.
Het meeste interessante op die pagina is de "vote" knop, die stuurt immers de actie door naar de webserver.

de actie is javascript:vote(1357963,0,0,1,10);
OK, dan even kijken waar die javascript staat.
in de HTML code staat <script type="text/javascript" language="javascript" src="/js/common.js?x=35"> <script src="/js/common.js?x=35" type="text/javascript">
dus de url waar de javascript code staat is http://answers.polldaddy.com/js/common.js?x=35

daarin staat (in versimpelde versie)

function vote(id, poll_other, rand, poll_type,u)
{
for(i=0; i {
if(document.formPoll.elements[i].checked)
{answerString +=document.formPoll.elements[i].value + ',';}
}
location.href='/vote/?va='+u+'&pt='+poll_type+'&r='+rand+'&p='+ id +'&a='+ answerString +'&o='+ otherText;
}

aha

de code location.href zegt tegen de browser om naar en bepaalde url te gaan.
en welk url dat is wordt mede bepaald door de variablelen die we aan de functie vote meegeven.
De "vote" knop roept javascript:vote(1357963,0,0,1,10)op, waardoor we al de url /vote/?va=10&pt=1&r=0&p=1357963&a='+ answerString +'&o=

om de waarde van answerstring te kennen, kijken we weer naar de HTML broncode van de poll waar we <input type="checkbox" id="PDI_answer6978941" value="6978941"></input> atog terugvinden.

answerString vervangen we door "6978941," wat de waarde is van de checkbox voor atog + een komma (dat is het + ',' stuk in de vote functie)

de volledige string wordt dan http://answers.polldaddy.com/vote/?va=10&pt=1&r=0&p=1357963&a=6978941,&o=
en inderdaad: Als we deze url oproepen in de browser, zien we dat er 1 vote bij atog is bijgekomen.

We zouden dan als een gek op refresh kunnen gaan klikken, maar na een paar 100 keer heeft polldaddy ook wel door dat er iets niet klopt en weigert dan nog nieuwe stemmen te tellen van je PC.
Je krijgt dan het volgende

Als je nu een andere PC zou gebruiken, zou je met die URL wel weer verder kunnen stemmen, maar handig is dat niet.
Gelukkig zijn daar verschillende oplossingen voor, en een oplossing die voor url-oproepen goed werkt is een zogenaamde "cgi proxy"
Dit is een script dat op een webserver draait, en als doorgeefluik dient voor webpagina's, zodat de doelwebserver (polldaddy) niet kan zien waar het verzoek eigenlijk vandaan komt.
Bovendien past zo'n proxy script nog wat slimmigheden toe om zich telkens als een andere "pc" te vermommen, waardoor het veel minder kans heeft ook geblokeerd te worden.
Je kunt zo'n script zelf op je server zetten, maar er zijn ook lijsten met publieke cgi proxies (die zijn vrij te gebruiken, al moet je er wel een kwak reclame bij nemen)
de URL http://anonymouse.org/cgi-bin/anon-www.cgi/http://answers.polldaddy.com/vote/?va=10&pt=1&r=0&p=1357963&a=6978941,&o= bijvoorbeeld roept de polldaddy stem pagina op via zo'n proxyscript zodat je zelf buitenschot blijft.
Je kunt zoveel proxy scripts tegelijk gebruiken als je wil, de webserver zal ze immers als verschillende verzoeken aanschouwen.
Dan is het nog zaak dat om de zoveel tijd automatisch te laten herhalen via een cron of een autorefresh en klaar, de tijd doet de rest.

Ik heb het script ongeveer 40 uur laten lopen en in die tijd heeft het ruim 100.000 stemmen uitgebracht.
en voor alle duidelijkheid: atog had niets te maken met deze valsspelerei - hij is uiteraard de eerlijkheid zelfve (EN een terechte winnaar! :-) )

Dit was natuurlijk maar een leutigheids-poll, maar de bottomline is: als je een online tool of spel gebruikt waarbij er ECHT iets belangrijks te winnen valt ... spendeer dan meer dan de helft van je resources aan de beveiliging ervan, want gegarandeerd dat er hopen nerds rondlopen die niets liever doen dan je actie om zeep te helpen door het systeem te kraken.

in 't Nederlands, ScriptingReacties (6)

Microsoft Surface

Vorige woensdag woonde ik een Windows Mobile Smackdown bij met mooie sneak-preview over windows mobile 6.5.
Later daarover meer, maar even leuk was dat we ook konden spelen met de Microsoft Surface PC: Een soort koffietafel scherm met een groot multi-touch oppervlak.
Naais .... VERY naais.
Ik zou er supergraag wat applicaties voor willen ontwikkelen, maar met een prijskaartje van 11.000 euro plus een extra 2.000 euro voor de developmentkit zal dat nog niet voor in 't kort zijn Smile
(Sponsors mogen zich uiteraard altijd aanbieden)

Video preview
Download the original video (FLV)

Hier  een korte video impressie.
't gefilmd met mijn GSM, dus behoorlijk crappy.
Veel betere videokwaliteit vind je bij LVB.
Misschien moet ik mij toch eens zo'n flip HD aanschaffen voor dergelijke instant-shots

Gadgets, in 't NederlandsReacties (1)

Googlewhack sabelplassen

sabelplassen.jpg

Ik had er nog nooit van gehoord: Googlewack - en zelfs Googlewhackblatt
Het is dus een (zinnig) woord dat slechts 1 zoekresultaat op google oplevert.
En jawel, vandaag werd door @eyeballkid en @wim_morc  ontdek dat sabelplassen er 1 is.
Iedereen weet meteen wat sabelplassen is en toch komt het op het hele publieke internet maar 1 keer voor,
meer bepaald in een artikel van de Standaard over wemasturbate (@wemasturbate op twitter)

Een googlewack is natuurlijk heel delicaat, want zodra er iemand schrijft dat sabelplassen een uniek woord is, wordt dat opgepikt door google en is het er geen meer. Het is een beetje zoals het vinden van een klavertje 4 in een dichtbegroeid klaverveld: als je het plukt is het weg, en als je het niet plukt vind je het waarschijnlijk later nooit meer terug.

Het zijn kleine dinkies als deze die me doen glimlachen, en alleen daardoor al veel waard zijn.

Update: Oh nee - ik heb het verprutst - nu zijn er al 4 resulaten op http://www.google.be/search?q=sabelplassen
Damn, Google is snel ... dat heeft net 5 uur geduurd.

in 't Nederlands, Lifelog, Pulp, TwitterReacties (10)