All blogs / JavaScript / TypeScript
Perfection Kills
Engineering and Fitness Musings by kangax
JavaScript / TypeScriptFrontend / CSS / browsersAI / MLGeneral
- Posts
- 80 from 12 Aug 2007 to 7 Oct 2026
- Posting
- monthly (11 in the last year)
- Kind
- personal blog
- Feed
- https://perfectionkills.com/feed.xml
2026 10
2025 7
2015 2
2014 6
2013 2
2012 1
2011 5
2010 8
2009 18
- Optimizing HTML
- Moved to perfectionkills.com
- onload=function(){} considered harmful
- Foxify bookmarklet
- Sputniktests web runner
- Professional javascript review
- Whitespace deviations
- Detecting global variable leaks
- Safarify bookmarklet
- Named function expressions demystified
- Those tricky functions
- Feature testing CSS properties
- Detecting event support without browser sniffing
- DOMLint — resolving name conflicts
- Event delegation will save the world
- Detecting built-in host methods
- Misbehaving IE8
- instanceof considered harmful or how to write a robust isArray
2008 6
2007 15
- Proto.IPS — In place select widget
- Proto.Menu gets facelift
- Cross-browser mouse events simulation
- It's coming
- Detect idle state with custom events
- Refactoring with Prototype
- So you want more documentation?
- Wrap it up
- Proto.Lazy – do we really need lazy image loading?
- with or without?
- Common mistakes and how to avoid them
- Extending the limits
- We dont need no stinkin new
- Meet Proto.Menu – simple context menu class
- How well do you know prototype (part II)