Top posts
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 49,211 posts.
CSS Modules
If you wanted to identify an inflection point in the recent development of CSS thinking, you’d probably pick Christopher Chedeau’s “CSS in JS” talk from NationJS in November, 2014. It was a watershed moment that set a bunch of different minds spiralling off in their own directions like particles after a high-energy…
Kids Pass Just Reminded Us How Hard Responsible Disclosure Is
Only a couple of months ago, I did a talk titled "The Responsibility of Disclosure: Playing Nice and Staying Out of Prison". The basic premise was to illustrate where folks finding security vulnerabilities often go wrong in their handling of the reporting, but I also wanted to show how organisations
Firefox's Optimized Zip Format
This post is about minimizing amount of disk IO and CPU overhead when reading Zip files. I recently saw an article about a new format that was faster than zip. This is quite surprising as to my mind, zip is one of the most flexible and low-overhead formats I’ve encountered. Some googling showed me that over past 11…
The Polygons of Another World: Atari Jaguar
This article is part of a study about the ports of Another World. It is highly recommended to read Another World 101 before reading this.
How Trustpilot Extorts Businesses
Trustpilot promises to be “free and open” — in reality, they are the exact opposite, holding companies at ransom, and outright violating…
Sed – An Introduction and Tutorial
The Grymoire - Tutorial on the SED stream editor.
Power consumption of Game Boy flash cartridges
Flash cartridges (= "carts") are commonly used to run Game Boy ROMs, such as homebrew games or dumped officially released games, on real hardware. Different kinds of flash carts with various features and performance characteristics have been available for a long time, but flash carts have in general the reputation of…
Early Computer Art in the 50s and 60s
A deep dive on the early days of creative computing coming to life. Punch cards, plotters, light pens and lots more.
I Hacked Google App Engine: Anatomy of a Java Bytecode Exploit
Back in college, I was very interested in Java bytecode. When I got an internship at Google in 2013, I was skeptical of the security of the Java version of Google App Engine and got permission to spend the last week of my internship doing a mini red team exercise, trying to break into App Engine. This is the story of…
Face recognition in images and video with Python
Learn how to perform face recognition using OpenCV, Python, and dlib by applying deep learning for highly accurate facial recognition.
Iron, How Did They Make It, Addendum: Crucible Steel and Cast Iron
This week, as an addendum to our four(and a half)-part (I, II, III, IVa, IVb) look at pre-modern iron and steel production, we’re going to look at two alternative regional processes, where th…
An Introduction to Recurrent Neural Networks
A simple walkthrough of what RNNs are, how they work, and how to build one from scratch in Python.
It’s not wrong that "🤦🏼♂️".length == 7 (2019)
From time to time, someone shows that in JavaScript the .length of a string containing an emoji results in a number greater than 1 (typically 2) and then proceeds to the conclusion that haha JavaScript is so broken—and is rewarded with many likes. In this post, I will try to convince you that ridiculing JavaScript for…
Tech journalism doesn’t know what to do with Mastodon
What happens when innovation doesn’t fit the usual narratives?
Racket Is an Acceptable Python
A little over a decade ago, there were some popular blogposts about whether Ruby was an acceptable Lisp or whether even Lisp was an acceptable Lisp . Peter Norvig was also writing at the time introducing Python to Lisp programmers . Lisp, those in the know knew, was the right thing to strive for, and yet seemed…
Gnu/Hurd strikes back: How to use the legendary OS in a (somewhat) practical way
How to use the legendary OS in a (somewhat) practical way
Apple R&D Reveals a Pivot Is Coming
People are focusing on the wrong thing when analyzing Apple's path forward in the face of slowing iPhone sales . Instead of debating how much Apple will try to monetize the iPhone user base with services (not as much as consensus thinks), the company is instead planning its largest pivot y
Beg Bounties
When someone passed me hundreds of thousands of records on kids taken from CloudPets a few years ago [https://www.troyhunt.com/data-from-connected-cloudpets-teddy-bears-leaked-and-ransomed-exposing-kids-voice-messages/] , I had a nightmare of a time getting in touch with the company. They'd
A BSD person tries Alpine Linux
By Ruben Schade in Eora/Sydney, Australia.
Don't use passkeys for encrypting user data
Passkeys are the future of authentication, but using them for data encryption is a disaster waiting to happen. Overloading these credentials creates a dangerous blast radius that can lead to the irreversible loss of a user's most sacred memories and documents.