Spinsels op het web
actions » SearchLogin 310 articles • 05 Feb 2012

Recent articles in 'Web Dev'

Wednesday, 09 Nov 2011

permalink Flash = dood.

[[image: flashcrash.png]]

Adobe ceases development of Flash on mobile devices

.... zit er Flash op mijn telefoon dan????? Kan me niet herinneren dat ik ooit één website bekeken heb op mijn Android telefoon waarbij ik Flash wilde zien. Sterker nog als er toevallig 1 langskwam was het gelijk "traag, weg met die zooi". Misschien gebruikt de Youtube app Flash onder water, maar ik denk van niet, want youtube doet het ook prima op mijn iPod en daar zit zeker geen Flash op.

Flash is alleen om dumpert.nl en Youtube te kijken op je desktop toch ?

En zojuist lees ik dat Silverlight mogelijk hetzelfde lot beschoren is. Ik denk dat ik dat ooit geïnstalleerd heb om 3fm te streamen, of was het uitzending gemist? Ondertussen vergeten. Beide doe ik al lang niet meer.

#goodriddance

• Wrote irmen at 20:10 (edited 1×, last on 09 Nov 2011) | read 4× | 0 Comments

Monday, 20 Jun 2011

permalink Scene demo in je browser (WebGL)

Ok, ik had niet verwacht dat WebGL zo krachtig zou zijn, om er een hele scene demo mee te kunnen maken:

http://traction.untergrund.net/slamdown/ 8-)

Werkt in Firefox 4 (en mogelijk Chrome). (dat is dan het nadeel, WebGL is dan weer niet overal evengoed ondersteund blijkbaar)

Hier nog één: http://azathioprine.digisnap.bplaced.net/

• Wrote irmen at 20:35 (edited 1×, last on 08 Nov 2011) | read 12× | 0 Comments

Tuesday, 15 Mar 2011

permalink javascript 3d canvas

Bah, javascript in een browser is sneller dan hardcore 68000 assembler met een custom coprocessor destijds op mijn Amiga in 1994 >(

http://www.smashcat.org/av/canvas_test/

• Wrote irmen at 19:48 | read 15× | 1 Comments

Tuesday, 23 Mar 2010

permalink peppercorn: stream and record gebaseerde form parsing (in python)

Zonet Peppercorn gelezen. Verfrissende kijk op die stomme platte html form submit data en hoe je dat handig kan parsen (in Python). In plaats van een platte 1-op-1 mapping van keys naar values wordt er door een paar slimme trucs een soort van stream gebaseerde hierarchische structuur van gemaakt die meestal veel beter aansluit bij het datamodel van je applicatie.

Ook best aardig dat er een parse techniek gebruikt wordt die op zichzelf staand ook de moeite waard is om te bekijken. Het is iterator parsing van de Effbot. Ik denk dat het tegenwoordig nog handiger kan met generators of zelfs generator expressions, maar het basis idee is hetzelfde.

• Wrote irmen at 00:01 | read 18× | 0 Comments

Saturday, 30 Jan 2010

permalink Kill IE6! Kill it with fire!

yes Yes YES!!! Google about to end support for IE6.

Eindelijk een major bedrijf dat gewoon keihard zegt F.U. tegen de stakkers die nog IE6 gebruiken. (Ok, ok, Youtube heeft al een paar maanden een waarschuwingsbanner voor mensen die IE6 gebruiken).

IE6: Kill it with fire!

update: ook maar eens een ie6-warning popup ingebouwd op mijn eigen site. Als je een voorbeeld wilt zien klik dan deze testpagina.

• Wrote irmen at 22:19 (edited 2×, last on 04 Feb 2010) | read 43× | 0 Comments

permalink XML Billion Laughs attack, huidige stand van zaken

Ik was jaren geleden al eens aan het kijken naar de zogenaamde billion laughs xml attack, waarbij een doodsimpel xml bestandje van een paar honderd bytes zo'n beetje alle XML parsers (en web browsers!) op hun knieen bracht (enorm geheugengebruik en 100% cpu usage). Dit vanwege een exponentiele entity reference expansie. Meer info op Wikipedia: Billion Laughs.

Ik was nieuwsgierig of er tegenwoordig al wat vangnetten zijn geplaatst voor dit soort attacks, dus ik ging mijn million laughs testbestandje eens openen in een aantal web browsers. De resultaten zijn hoopvol! Waar een paar jaar geleden alle web browsers finaal onderuit gingen, zijn de resultaten nu ongeveer als volgt:

  • Firefox 3.6: geeft foutboodschap 'XML Parsing Error: recursive entity reference'.
  • Safari 4: geeft foutboodschap 'error on line 29 at column 18: Detected an entity reference loop'.
  • Chrome: zelfde foutmelding als Safari (logisch, want gebruikt ook Webkit engine).
  • Internet Exporer 8: gaat vrolijk het xml bestand proberen te parsen, maar dat duurt even :-P . Gelukkig is mijn testbestand slechts 'million laughs' en niet 'billion laughs' want anders had ik geen resultaat gehad na 30 seconden en 500 Mb geheugen gebruik.
  • Oxygen XML Editor 10: leest het probleemloos in maar zodra ik op validate klik gaat het mis ;-) Even geduld hebben en dan geeft hij wel netjes antwoord maar het kost 30 seconden en 1Gb geheugen.
  • Java6: score 2/4 (DOM en SAX ok, XMLReader crash, STAX StreamReader faalt)
  • Python2.6: score 1/4 (alleen lxml is ok)
  • .NET 3.5: score 1/1 (te beschermen met XmlReaderSettings, zie update comment)

Voor meer info, zie de read more.

    • Read more »
• Wrote irmen at 16:07 (edited 8×, last on 11 Feb 2011) | read 77× | 1 Comments

Saturday, 22 Aug 2009

permalink SVG en Canvas in IE: als Microsoft het niet voor je doet, dan zelf maar

Ik geef niet zo heel veel om wat voor dingen Internet Explorer allemaal niet ondersteunt (HTML5, SVG, Canvas, proper CSS, fast Javascript, enz).

Maar ik zie het nog wel gebeuren dat ik een keer gebruik ga maken van SVG en Canvas dingen. Dan is het wel grappig om te weten dat er javascript libraries zijn, gemaakt door derden, die in meer of mindere mate die dingen ook laten werken in IE:

De SVG library rendert in Flash in IE, en gebruikt native browser SVG in browsers die wel bij de tijd zijn (Firefox, Safari, Chrome). Flot gebruikt onder water Excanvas geloof ik, om de plots in te tekeken.

Edit: Ok het kan nog extremer. In het kader van "If they won't fix it, we will!"...: vervang gewoon de hele IE render engine door die van Google Chrome! ^_^

• Wrote irmen at 18:35 (edited 1×, last on 23 Sep 2009) | read 42× | 0 Comments

Wednesday, 08 Jul 2009

permalink HTTP header madness: diverse problemen met Yahoo YUI, Safari en Firefox

Afgelopen week een aantal vreemde problemen tegen het lijf gelopen rondom HTTP headers:

  1. Apple's Safari normaliseert de HTTP headers die hij van de server krijgt.
  2. Het Connection object uit Yahoo's YUI library voldoet niet aan de standaard bij het opvragen van HTTP headers.
  3. Mozilla's Firefox doet raar met caching van HTTP headers.

Achtereenvolgens is dat dan 1) raar; 2) API bug; 3) bug. Hieronder zal ik uitleggen wat deze problemen precies inhouden.

    • Read more »
• Wrote irmen at 22:56 (edited 3×, last on 12 Jul 2009) | read 192× | 1 Comments

Sunday, 20 Jan 2008

permalink Upgraden moinmoin wiki

UPDATEN VAN MOINMOIN WIKI

Omdat ik elke keer vergeet hoe MoinMoin geupgrade moet worden die ik hier als wiki software gebruik, heb ik het maar eens uitgetypt:

  1. download nieuwe moinmoin versie van de download site De meest recente versie op dit moment: moin-1.6.0.tar.gz
  2. uitpakken en cd naar de installatie directory
  3. moinmoin installeren in standaard Python framework locatie, en de default moinmoin data files in ~irmen/moininstalldata plaatsen (eerst inloggen als root!) :
    $ python setup.py install --install-data='/Users/irmen/moininstalldata'
  4. kopieer de static htdocs files uit de moininstalldata naar de web server in snakelets, en zet de file ownerships op www:www:
    $ cp -r ~irmen/moininstalldata/share/moin/htdocs ~irmen/Projects/www_snakelets/webapps/wiki/
    $ chown -R www:www ~irmen/Projects/www_snakelets/webapps/wiki/htdocs
  5. kopieer de static system en help files naar de juiste plaats, en zet de file ownerships op www:www:
    $ cp -r ~irmen/moininstalldata/share/moin/underlay ~irmen/Projects/www_snakelets/moinmoin/python/
    $ chown -R www:www ~irmen/Projects/www_snakelets/moinmoin/python/underlay
  6. check of er iets is gewijzigd in de wikiconfig.py. meestal kun je deze file gewoon ongewijzigd laten. Bestaande file: ~irmen/Projects/www_snakelets/webapps/python/wikiconfig.py Vergelijk met: ~irmen/moininstalldata/share/moin/config/wikiconfig.py
  7. controleer even of de file permissie van de wikiconfig file goed staat (chmod a+r) anders krijg je een error bij het opstarten dat hij wikiconfig.py niet kan importeren
  8. bij opstarten van Snakelets webserver logt hij de moinmoin versie en naam. als er bij het tonen van een pagina nog iets mis gaat, is er misschien iets gewijzigd in de Request.py, dan moet je wikisnakelets/wiki.py editen.
• Wrote irmen at 15:57 (edited 2×, last on 18 Feb 2009) | read 177× | 8 Comments

Wednesday, 07 Jun 2006

permalink Snakelets+Frog survives Slashdotting... but with slight hiccups

Cliff Wells' blog entry titled "Why the Light Has Gone Out on LAMP" was featured on Slashdot. Cliff uses Frog as his blog tool... So this is the first time -that I know of- that Snakelets+Frog had to withstand a Slashdot effect :-D

Cliff mailed me about it, to tell me two things:

  1. the server survived (only one or two timeouts) :-)
  2. there were some problems with users placing comments :-(

While it is good to know that Snakelets can withstand a moderate slashdotting, the following problems sometimes occured in the commenting system of Frog:

  • Frog was using the same comment id for multiple comments (ouch!)
  • User got exception traceback in Frog code, it was no longer able to fetch an id from the request scope

It seems Frog has concurrency and/or timeout issues with placing comments. These are bugs that have to be fixed. So expect a new Frog version sometime soon ;-)

update: I have found and fixed a problem in Frog related to the double-id issue. The traceback crash is still there.

• Wrote irmen at 11:46 (edited 2×, last on 13 Jun 2006) | read 74× | 2 Comments

10 shown; more articles may be found in the archives. The permalink icon is the article's permalink.
Process times: page=0.140 request=0.144 cpu=0.143