The Curious Engineer

All blogs / JavaScript / TypeScript

Perfection Kills

perfectionkills.com

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

  1. A year with WurQ
  2. Tetris, not U-turns
  3. The Great Experiment
  4. How do you rank in your CrossFit box?
  5. Thoughts on first XENOM in Dallas
  6. Your CrossFit App Doesn’t Know What You Did
  7. CrossFit training in the age of AI
  8. Overnight success
  9. What’s my XENOM score?
  10. Reflections on training, 2025 → ‘26

2025 7

  1. CrossFit tracking app but... you're in control?
  2. My Fitness: from spreadsheet to an app
  3. PRzilla: CrossFit AI companion
  4. The science of Vipassana
  5. Vipassana through the modern lens
  6. Using AI to accurately predict CrossFit workout difficulty and performance
  7. On CrossFit Open

2015 2

  1. Javascript quiz. ES6 edition.
  2. The poor, misunderstood innerText

2014 6

  1. Know thy reference
  2. Refactoring single page app
  3. HTML minifier revisited
  4. JSCritic
  5. State of function decompilation in Javascript
  6. Moving from Wordpress to Github Pages

2013 2

  1. Exploring canvas drawing techniques
  2. Becoming a superhero

2012 1

  1. Profiling CSS for fun and profit

2011 5

  1. Fabric.js 0.5 is out
  2. Extending builtin natives. Evil or not?
  3. Refactoring Javascript with kratko.js
  4. Unnecessarily comprehensive look into a rather insignificant issue of global objects creation
  5. A closer look at expression closures

2010 8

  1. Global eval. What are the options?
  2. How ECMAScript 5 still does not allow to subclass array
  3. JScript and DOM changes in IE9 preview 3
  4. Tag is not an Element. Or is it?
  5. What's wrong with extending the DOM
  6. Experimenting with HTML minifier
  7. Javascript quiz
  8. Understanding delete

2009 18

  1. Optimizing HTML
  2. Moved to perfectionkills.com
  3. onload=function(){} considered harmful
  4. Foxify bookmarklet
  5. Sputniktests web runner
  6. Professional javascript review
  7. Whitespace deviations
  8. Detecting global variable leaks
  9. Safarify bookmarklet
  10. Named function expressions demystified
  11. Those tricky functions
  12. Feature testing CSS properties
  13. Detecting event support without browser sniffing
  14. DOMLint — resolving name conflicts
  15. Event delegation will save the world
  16. Detecting built-in host methods
  17. Misbehaving IE8
  18. instanceof considered harmful or how to write a robust isArray

2008 6

  1. Feature detection all the way
  2. Semantic constructors
  3. Protolicious
  4. Updated Scripteka
  5. Namespacing made easy
  6. Prototype 1.6.0.2 Cheat Sheet

2007 15

  1. Proto.IPS — In place select widget
  2. Proto.Menu gets facelift
  3. Cross-browser mouse events simulation
  4. It's coming
  5. Detect idle state with custom events
  6. Refactoring with Prototype
  7. So you want more documentation?
  8. Wrap it up
  9. Proto.Lazy – do we really need lazy image loading?
  10. with or without?
  11. Common mistakes and how to avoid them
  12. Extending the limits
  13. We dont need no stinkin new
  14. Meet Proto.Menu – simple context menu class
  15. How well do you know prototype (part II)