Browser Repaint Performance

To hit 60fps, we sometimes need to go beyond JavaScript as the sole performance bottleneck for our pages and spend more time investigating paint and layout issues – styles might actually be the core cause of our sluggish performance. The H shortcut within the Developer Tools sure comes in handy! DevTools: Visually Re-engineering CSS For …

Long overdue: HTTPS for the App Store

Early July 2012, I reported to Apple numerous vulnerabilities related to their App Store iOS app. Early March Apple finally issued a fix for it and turned on HTTPS for the App Store. I am really happy that my spare-time work pushed Apple to finally enabled HTTPS to protect users. This post discuss the vulnerabilities …

In Defence of the Floppy Disk Save Symbol

Those who believe that the floppy cannot represent saving a document because nobody uses real floppy disks anymore miss an important point: while symbols initially piggyback on the meaning we assigned to a material object in order to stand in for something more abstract, once a symbol is used often enough, the symbol itself is …

JSON.stringify()’s arguments

JSON.stringify() has more than one argument: value – the value one wants to convert to a string replacer – an array or a function to filter fields space – the number of spaces (or a string) to use for indentation var person = {“name”:”Jim Cowart”,”location”:{“city”:{“name”:”Chattanooga”,”population”:167674},”state”:{“name”:”Tennessee”,”abbreviation”:”TN”,”population”:6403000}},”company”:”appendTo”}; JSON.stringify(person, [“name”, “company”], 4); /* produces: “{ “name”: “Jim Cowart”, …