pwnt.be

Arm Vlaanderen

U heeft het misschien gemerkt: de laatste tijd ligt op dit blog de nadruk stevig op zaken met informatieve waarde. Vandaag breek ik dan ook met alle stereotypen en vertel ik u het relaas van een busrit afgelopen vrijdag. Ik plaats er een foto van een Antwerpse bus bij, want de Gentse waren op.

Een bus van De Lijn
Een bus van De Lijn

Ik bevond mij namelijk te Gent op buslijn 17 omstreeks de klok van vieren. Bij het opstappen viel mijn blik ogenblikkelijk op een groot harig zoogdier achteraan de bus, ter grootte van een klein rund, doch het betrof een hond. Nu, ik ben in het verleden ei zo na aangevallen door zo’n rotbeest; echt happig was ik er dus niet op. Komt daar nog bij dat de eigenares, er vlak naast gezeten, het blijkbaar overbodig vond om het dier aan de leiband te houden en zo de hele achterkant van de bus versperde. Er bestaan daar, zoals u weet, wetten tegen, maar u kent mij: gematigd als ik ben, zie ik het met lede ogen aan.

Luttele momenten later echter stapte een horde krijsende tienermeisjes op — vermoedelijk van Turkse origine, doch dat vermeld ik enkel om een beeld te scheppen en is verder niet van belang. Uiteraard vonden die het nodig om de volumeknop nog een paar streepjes hoger te draaien bij het aanschouwen van het beest. Op dat moment bevonden ze zich bovendien vlak naast mij. U bent stikjaloers, ik merk het. Vervolgens “vroegen” ze elk om beurt aan de eigenares, die vanzelfsprekend nog geen woord had gezegd en hoegenaamd geen aanstalten maakte om een leiband boven te halen, of het dier zou bijten. Nu, ik ben geen expert op dat vlak, maar ik ben vrij zeker dat elke hond kan bijten en dat geen enkele eigenaar zal toegeven dat zijn hond bijt. In de categorie ‘domme vragen’ hadden die geiten dus alvast de hoofdvogel afgeschoten. Vervolgens gingen ze er nog gezellig bij zitten. De leibanden verachtende juffrouw sloeg er amper acht op.

Helaas voor haar, hield niet iedere buspassagier het bij een verachtende blik. Wat verderop bevond zich een rubensiaanse dame van rond de vijftig, uitgedost in tweedehandsmode van Zeeman, die gedurende minstens tien minuten de vraag “Van wie is die hond? Is dat uw hond?” schreeuwgewijs itereerde in Standaardnederlands met een vleugje plat Gents. Uiteindelijk trad ze meer in detail en maande de juffrouw aan haar hond alsnog aan de leiband te leggen, vermits het een openbare plaats betrof. Verdere argumentering, inzonderheid aangaande de mogelijkheid dat iemand op zijn poot zou “terten”, bracht echter weinig zoden aan de dijk. Bijgevolg dreigde ze naar de chauffeur te stappen met haar grieven, doch blaffende honden leken vooralsnog helaas niet te bijten. Overigens, de trouwe viervoeter van de juffrouw blafte daarentegen niet.

Intussen hadden de tienermeisjes uiteraard ook een uitgesproken opinie te ventileren aangaande het hele gebeuren. Het begon met “Niet op letten” en escaleerde gestaag tot “Zwijg, gij dik wijf” jegens de dame. Dat laatste was opmerkelijk, gezien het afkomstig was van het meest corpulente lid van de groep. Was zwaarlijvigheid overigens geen teken van welstand in bepaalde landen? Verduiveld, nu blijkt het toch nog van belang.

Nog eens tien minuten later — of zo lang leek het althans — stapte ze dan toch naar de chauffeur. Kort daarop verzocht deze de juffrouw eveneens de leiband aan te brengen, dit keer zowaar met succes. Het had iets surrealistisch, als ware het een peutertuin. Nu ja, eind goed, al goed — met uitzondering van de daarop volgende boze blikken en binnensmondse verwensingen.

Vanzelfsprekend is het meest jammerlijke aan heel dit relaas het feit dat ik dezelfde mening was toebedeeld als de corpulente dame. Meer nog, ik had graag mijn steentje willen bijdragen opdat mejuffer zou leren dat men op openbare plaatsen inderdaad geacht wordt dieren aan de leiband te houden — niet zozeer omwille van de letter van de wet, maar uit respect. Datzelfde respect moest ik echter ontberen jegens de dame die het poogde af te dwingen. Ironisch? Laat ons zeggen dat respect afdwingen makkelijker gaat wanneer de persoon in kwestie niet uit de reeks F.C. De Kampioenen komt gewandeld — of in dit geval “gewaggeld”.

MooTools 1.2 Beta 1

The first beta of MooTools 1.2 was released yesterday, so, today, instead of studying, I decided to give it a go, because that’s just how responsible I am. Here are my first impressions …

While the API has changed quite a bit, there’s a compatibility mode, which adds just a couple of kilobytes to the library’s size. Corned beef I usually grab the entire codebase anyway, which allows me to try out the stuff I’m not familiar with yet without hassle. The bit of extra payload this introduces doesn’t matter that much once Packer and gzip are done with it.
Consequently, I thought it wouldn’t hurt to add the compatibility layer as well, especially since this wouldn’t break any of my existing code, which I would then gradually upgrade. Obviously, I was wrong. The Request class, for instance, which replaces Ajax, doesn’t pass the resulting XML document to your onComplete handler anymore—you have to use this.response.xml. I’m not sure if that’s the intended behavior. The docs, pretty as they are, are a bit scarce at times, so I just deduced it from the previous version’s code; it seemed logical though.
Most likely, there are a couple more of these tiny oversights in the compatibility layer, which the developers will probably fix by the final release. Nonetheless, I swiftly decided to leave the whole thing out and just start porting everything. It’s better in the long run.

Most of the new stuff is an improvement. The Hash class is convenient, but if I were them, I’d have kept some of the functions that it renders trivial. For instance, to get an element’s inner text, you now have to write

var text = element.get('text');

instead of the familiar

var text = element.getText();

The same goes for inner HTML, element values and tag names. Another thing they’ve gotten rid of is setOpacity(), which I’d already complained about. Incidentally, I found out I probably should’ve used implement() instead of extend() in that code, so if it doesn’t work anymore, that’s why.

If you don’t like the standard

var textNode = document.createTextNode('foo');

they’ve now got the rather beautiful

var textNode = new TextNode('foo');

It’d be nice, however, if it actually worked in Internet Explorer 7. I couldn’t, for the life of me, figure out what went wrong when I tried it.

Speaking of IE shortcomings, I had some trouble with Element’s getCoordinates() function returning the wrong values. I’m not sure if that already happened with version 1.1, but it’s forcing me to disable the search balloon when IE users click on the magnifying glass.

It’s no secret, however, that this site isn’t very IE-friendly to begin with. I try to hack in some fixes when necessary, but I can only recommend using a Gecko browser if you want to experience it to the fullest.

Now, while I seemingly only list bugs and controversial design moves, I’m actually pretty pleased with this beta and you’re currently looking at pages that make fairly heavy use of it. I can’t speak for some of the more advanced features, such as the accordion that made MooTools famous, but I’d say it’s worth taking the risk of using it in a production environment—that is, if you know enough JavaScript to go digging through the code while they prepare the docs.

Predictions for 2008

Well, it’s only November, but since everyone’s probably put up a Christmas tree already, I might as well make three predictions for 2008. They probably won’t come true though.

A fortune teller
A fortune teller

Operator overloading for Java. I love Java. Really. The more C++ I write, the more I realize how beautiful Java is. But operator overloading would be nice. Sure, they had good intentions when they left it out, but let’s be frank: Java is hardly consistent when it comes to, say, string operations. Either be explicit and require

if ("foobar".equals("foo".concat("bar"))
// Or even use |new String()| if you want to get anal

or overload both operators, as in

if ("foobar" == "foo" + "bar")

but don’t go about mixing them, as is currently the case, i.e.

if ("foobar".equals("foo" + "bar"))

A push model for content feeds. RSS and Atom are ubiquitous. So ubiquitous that it makes you wonder if the cost of their simplicity isn’t too high. Web-based aggregators aside—and even they suffer—, the current pull model means an aggregator on a client machine has to perform many superfluous HTTP requests. It wouldn’t be a bad idea to push (only) new content from any number of textual data sources over a single TCP socket. Alternatively, a protocol could be developed that merely notifies user agents of updates, so they know when to reload a certain feed.

Interesting content. I will blog about things that actually concern you and your everyday life. You will be most pleased and erect a statue for me.

Bizar Hairdressing & Beyond

Bizar Hairdressing & BeyondMijn kapper is populair. Al wat in Gent hip is (of wil zijn) en van overtollige haargroei af moet, dat host naar Bizar Hairdressing & Beyond. En ze zijn er op zijn zachtst gezegd competent, dus ik ga er ook quasi steevast heen.

Bizar is zelfs zo populair dat mijn blog heel wat bezoekers te danken heeft aan mensen die meer informatie zoeken over het etablissement, dat vreemd genoeg niet over een website beschikt. Ik heb immers ooit de naam ervan laten vallen in een post en sindsdien ben ik een populair Google-resultaat. Deze post doet daar ongetwijfeld nog een schepje bovenop.

Houdt u zich nu vast aan de takken van de bomen, want ik zal een effort doen voor degenen die het tot hier hebben uitgehouden. U krijgt van mij zomaar info over Bizar, gratis en voor niets, in 5 eenvoudige puntjes.

  1. Enkel op afspraak. Ze zijn populair. Maak minstens 2 weken op voorhand een afspraak of u komt er niet in. Open van dinsdag tot vrijdag van 09:30 tot 19:00 en op zaterdag van 08:30 tot 18:00.

  2. Geen Bancontact. Democratische tarieven wel, maar u moet erop voorzien zijn. Mannelijke studenten, zoals ikzelf, betalen bv. 20 euro rond; voor niet-studenten wordt dat 26 euro.

  3. Producten. Men gebruikt en verdeelt er haarverzorgingsproducten van Tigi. Reken op 20 euro voor een tube gel. Het assortiment is ruim en absoluut zijn geld waard.

  4. Omgeving. Denk industriële vormgeving: heel clean, met spots die subtiel tussen felle kleuren faden; Fashylook weet meer. Minder indrukwekkend is het feit dat Studio Brussel steevast op staat, eigentijds als dat moge zijn.

  5. Coördinaten. Adres: Walpoortstraat nummer 6. Dat is vlakbij de Vooruit, de Make-Up, de Igor, … — in de nieuwe hippe buurt van Gent, zeg maar. Telefoonnummer: 09 234 12 98.

Een hele post over een kapsalon. Ja, ik ben homo.

Update: Intussen kan u ook terecht op het weinig om het lijf hebbende bizar-hair.com, alsook op Facebook. Allen daarheen!

Physics is Awesome

Coolest thing I’ve seen and heard all year, hands down.

Via Gizmodo via Make via CrunchGear via some major geeks.

Update: Of course I can spell “physics”. My inside joke just didn’t catch on.

Disorientation
Continuity
Retributions
Automating OpenVPN Connection on Windows XP
blanky, sky, Tim, Geb, 12vpn, Tim, neecom
Simple Linear Regression with JFreeChart
Nicolas Machado, Sascha, Tim, Sascha, Tim, Sascha
De Canvascrack: een epiloog
Tim, Steven Noels
Lplayer for the Rest of Us
jesus2099, Tim, jesus2099, Tim, jesus2099, Tim, PixelPirate
Proximus, Universiteit Gent, Kafka: schrappen wat niet past
Tim, Bart Coppens, Tim, Steven, Tim, Femke
Colophonics