Game of memory in clojurescript

Published at: 27.II.2012 17:10 CET
Categories: clojure, javascript

Waiting for ever and ever for a pre-ordered tablet I realized it would make a great platform for simple HTML/JavaScript games. So I wrote a very basic game of memory of my kids:

The code’s on github.

Upload Progress met Rails en Mongrel

Gepubliceerd op: 14.X.2008 22:02 CEST
Categorieën: javascript, mongrel, plugin, rails

Upload progress is lastig; aan de server kant bijhouden wat de voortgang is en gerommel met JavaScript om dat dan weer aan de gebruiker te kunnen tonen. Eigenlijk zou een browser dit zelf voor je moeten doen — bij een download kan ik toch ook zien hoe ver ik ben — maar helaas is de realiteit anders. Gebruikers van je applicaties opschepen met een “hangende” browsers als zij een paar fototjes uploaden is natuurlijk geen optie.

Gelukkig ben ik niet de enige met dit probleem en kan ik, omdat ik mijn applicaties met Mongrel deploy, gebruik maken van de Mongrel Upload Progress plugin. Vol enthousiasme heb ik me dan ook op deze plugin gestort maar heb na het lezen van de instructies met een vies gezicht een stapje terug genomen.

Lees verder →

Laat je JavaScript zichzelf schrijven

Gepubliceerd op: 20.I.2008 03:46 CET
Categorieën: javascript, programming
Reacties: 3 stuks

Laatst werd me gevraagd wat mooier of beter is:

obj.getItem('Status')
obj.getItem('Status') == 'Completed'

of

obj.getStatus()
obj.isStatusCompleted()

Het laatste voorbeeld is beter omdat het minder foutgevoelig is; een tiepfoutje in het eerste geval kan heel lang blijven sluimeren terwijl in de tweede versie de foutmeldingen meteen om je oren vliegen. Daarbij vind ik de tweede variant ook beter leesbaar.

Drawing Hands, 1948, M.C. Escher De degene die de vraag stelde, gaf me schoorvoetend gelijk. Maar zou dit niet betekenen dat hij deze methoden voor alle 10 statussen uit zou moeten schrijven en is dat dan niet ook weer foutgevoelig? Voorzichtig vroeg ik om welke taal het eigenlijk ging; “JavaScript”. Maar natuurlijk hoef je dat niet helemaal zelf uit te schrijven! JavaScript is, net als Ruby, Lisp en vele andere, een moderne taal en stelt je in staat te meta-programmeren, ofwel programma’s zichzelf te laten schrijven.

Dus geen gedonder met een preprocessor en/of rare annotaties meteen aan de slag met de programmeertaal waar je toch al mee bezig was!

Lees verder →

AOP met JavaScript

Gepubliceerd op: 18.IV.2007 14:36 CEST
Categorieën: javascript
Reacties: 5 stuks

Een collega en ik werken hard aan een web applicatie welke voor 90% uit client-side JavaScript bestaat. In een dagelijkse “kijken of het nog op IE draait”-sessie begon ik weer wild met debug statements te smijten. In het te testen geval ging er iets mis in een event handler en was de eventueel foutmelding nergens te bekennen. Dus begin ik vlijtig alle functies die in aanmerking komen te voor zien van een alert (of wat dan ook) om te zien of dat punt bereikt wordt.

Ugh, dit heb ik al zo vaak gedaan.. Dit moet makkelijker kunnen! Kan ik niet een soort AOP dingen doen?

Lees verder →

slideshow met div's dmv scriptaculous

Gepubliceerd op: 23.I.2006 01:03 CET
Categorieën: javascript
Reacties: 12 stuks

Update: I’ve recently written a JQuery version of this slideshow. It operates in roughly the same way and is a lot simpler. You can find it on github.

Geïnspireerd door een post bij code snippets heb ik met een kopje koffie zitten klungelen met javascript. Ik wilde graag een OO versie en daarmee dus de mogelijkheid om meerdere slideshows gemakkelijk op een pagina te kunnen plaatsen. En, in tegenstelling tot de inspiratie bron wilde ik dat de foto’s inelkaar over zouden gaan. Het resultaat:

Maar hoe werkt het?

Lees verder →

tooltips voor accesskey's

Gepubliceerd op: 2.XII.2005 02:42 CET
Categorieën: javascript

De accesskey eigenschap in HTML kan de gebruikers vriendelijkheid van een web-applicatie enorm verbeteren. Het probleem is alleen dat je in de meeste browsers niet kan zien dat er sneltoest beschikbaar is voor een element. Een elegante oplossing hiervoor is een stukje CSS2 te gebruiken zoals a:after{content:" [" attr(accesskey) "]"}. Helaas wordt deze constructie maar weinig ondersteund door browsers.

In een verloren uurtje heb ik een alternatieve oplossing gemaakt gebaseerd op JavaScript. Het onderstaande script doet twee dingen met een element met accesskey. Het voegt een title toe (tooltip) met daarin de toets combinatie. En, in het geval het element inline tekst bevat, wordt hier het eerste karakter opgezocht dat gelijk is aan de accesskey en deze omsloten door een span tag met als class shortcut zodat dat karakter te stylen valt.

Lees verder →