Attorney General Barr and Encryption
Last month, Attorney General William Barr gave a major speech on encryption policy—what is commonly known as “going dark.” Speaking at Fordham University in New York, he admitted that adding backdoors decreases security but that it is worth it. Some hold this view dogmatically, claiming that it is technologically…
Technology Preview: Signal Private Group System
Groups are inherently social, and Signal is a social app. Whether you’re planning a surprise party, discussing last night’s book club meeting, exchanging photos with your family, or organizing something important, group messaging has always been a key feature of Signal. Signal provides private gr...
No more XS4ALL is unthinkable
They are the example of how it should be, the Dutch ISP called XS4ALL. They were bought in '98 by the former state-owned KPN, but continued to operate independently. Born from a group of hackers and the first ISP in the Netherlands, today they are still the example that we measure other ISPs by.
Applying programming language research ideas to transform spreadsheets
Spreadsheets are the world’s most widely used programming language, by several orders of magnitude. We asked ourselves whether it would be possible to apply programming language research ideas to make spreadsheets a better programming language? If we could, that would empower a huge user community to do more. One of…
Use perfect hashing, instead of binary search, for keyword lookup
We've been speculating for a long time that hash-based keyword lookup ought to be faster than binary search, but up to now we hadn't found a suitable tool for generating the hash function. Joerg Sonnenberger provided the inspiration, and sample code, to show us that rolling our own generator wasn't a ridiculous idea…
The Paxos Algorithm, or How to Win a Turing Award
The lectures assume no prior knowledge of the Paxos consensus algorithm or of TLA+, the language in which the specifications are written. In fact, the lectures constitute a crash course on TLA+. If you're interested just in the algorithm, you will probably find the specs annoying and will try to read only the…
Selling My Bootstrapped SaaS Business (2017)
How I built and sold a bootstrapped Micro-SaaS business in five years. A guide for founders to selling a SaaS business.
Infectious Executable Stacks
In software development there are many concepts that at first glance seem useful and sound, but, after considering the consequences of their implementation and use, are actually horrifying. Examples include thread cancellation , variable length arrays , and memory aliasing . GCC’s closure extension to C is another…
We ran the numbers, and there really is a pipeline problem in engineering hiring
For years, companies have been trying things like unconscious bias training, anonymizing resumes, etc. The numbers have barely moved. Here's a better way.
Why Racket? Why Lisp?
Beautiful Racket
BigInt Shipping in Firefox
wingolog: article: bigint shipping in firefox!
So you want your app/website to work in China
Updated 2021-06-10
Do you have a problem? Write a compiler
These are notes of the talk I gave at ClojuTre 2019 . There is a video recording of the talk , and the slide deck as a PDF .
The Next 50 Years of Databases (2015)
Andy attempts to revive his blog by predicting what databases will look like in the year 2065.
The Mueller Report Can’t Be Copyrighted, Is Flagged by Copyright Bots Anyway
Did you know that anything created by federal government employees, under American law, can’t be copyrighted? They go right into the public domain. That means it’s impossible for there to be any copyright infringement on, say, a report by the Special Counsel on the investigation into the President...
Modern C++ Won't Save Us
I’m a frequent critic of memory unsafe languages, principally C and C++, and how they induce an exceptional number of security vulnerabilities. My conclusion, based on reviewing evidence from numerous large software projects using C and C++, is that we need to be migrating our industry to memory safe by default…
Show HN: Darklang
Today we’re unveiling Dark and moving into private beta.
Chrome 0-day exploit used in Operation WizardOpium
Recently, we caught a new unknown exploit for Chrome browser. After reviewing of the PoC we provided, Google confirmed there was a zero-day vulnerability and assigned it CVE-2019-13720.
How Apps on Android Share Data with Facebook (2018)
Facebook routinely tracks users, non-users and logged-out users outside its platform through Facebook Business Tools. App developers share data with Facebook through the Facebook Software Development Kit (SDK), a set of software development tools that help developers build apps for a specific operating system. Using…
I scanned Austria
Personal Blog of Christian Haschek
When George Soros Broke the British Pound (2014)
How George Soros made his fortune on a daring bet against the British pound and the Bank of England.
JMAP: Like IMAP but Not Really
With the new year upon us, I decided it was time to do something ambitious for my Open Source project. This is where I normally quip about never mentioning my project before, even though I literall…
The 773M Record “Collection #1” Data Breach
Many people will land on this page after learning that their email address has appeared in a data breach I've called "Collection #1". Most of them won't have a tech background or be familiar with the concept of credential stuffing so I'm going to write this post
WordPress theme provider Pipdig using customer sites to DDoS competitors
pipdig, WordPress theme and plugin provider, caught distributing malicious code to customers and DDoSing competitors…
Web Graphics Done Right
Start taking graphics on the web seriously and boost your applications' performance by learning the essentials about digital image formats.
Xkcd-Style Plots in Matplotlib (2012)
Update: the matplotlib pull request has been merged! See This post for a description of the XKCD functionality now built-in to matplotlib!