Interview with the Guy Who Tried to Frame Me for Heroin Possession
In April 2013, I received via U.S. mail more than a gram of pure heroin as part of a scheme to get me arrested for drug possession. But the plan failed and the Ukrainian mastermind behind it soon after was imprisoned for unrelated cybercrime offenses. That individual recently gave his first interview since finishing…
I tried to adjust the time on my alarm clock
Now it's not even wrong twice a day.
Oracle v. Google and the future of software development
An update on Oracle v. Google, our long-running copyright dispute over the use of software interfaces.
German for Programmers
After 2 years of learning German I’ve noticed that, for the most part, you can go a long way by mapping foreign concepts to ones that you already know. In particular, I’ve had success mapping aspects of German grammar to programming concepts I use every day. After all, programmers deal with weird grammars all the…
How to undo almost anything with Git (2015)
One of the most useful features of any version control system is the ability to "undo" your mistakes. In Git, "undo" can mean many slightly different things.
The worst morale-boosting gesture I've experienced
I promise you this story is true. Many years ago, when I was very young and you were even younger... Work was not going well. Our recently launched product was a flop. Rumours of job cuts were swirling. Things were tense. I was sat in work, headphones on, trying to drown out the sound of the open-plan office. Grinding…
The State of Apple's Developer Documentation
It appears that most of the old iOS conceptual documents have been moved to the documentation archive and are now unsupported.
HTML, CSS and our vanishing industry entry points
Everyone is angry about CSS again. I’m not even going to try to summarize the arguments. However it always seems to boil down to the fact that CSS is simultaneously too easy to bother with, yet so hard it needs to be wrapped up in a ball of JavaScript in case it scares the horses. ... HTML, CSS and our vanishing…
The Amazon Premium
How the biggest cloud companies deliver the worst value
Simpson’s Paradox (2016)
A riveting tale of how good data can lead to bad decisions.
Cool but obscure X11 tools
Cool, but obscure X11 tools.
The Value in Go’s Simplicity
After using Go for a couple years, I’ve really come to appreciate its simplicity. I started writing Go at work a couple months ago, and have found it really easy to iterate on – much more so than Python and Java.
Microsoft finds privilege escalation vulnerability in Huawei driver
Our discovery of two privilege escalation vulnerabilities in a driver highlights the strength of Microsoft Defender ATP’s sensors. These sensors expose anomalous behavior and give SecOps personnel the intelligence and tools to investigate threats, as we did.
CSS Grid Level 2 – subgrid is coming to Firefox
The subgrid feature which is part of Level 2 of the CSS Grid Specification is not yet shipping in any browser, but is now available for testing in Firefox Nightly. ...
Programming: Doing it more vs. doing it better
A few years ago, very early into my programming career, I came across a story: The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left si…
Announcing .NET Jupyter Notebooks
Jupyter Notebooks has been the significant player in the interactive ...