Apple’s $9 engineering marvel no one wants (2017)
It’s the Lightning to 3.5 mm headphone jack adapter. I figured Apple got rid of the headphone jack and came up with this simple adapter to send analog audio signals from the phone to a 3.5 mm jack. Simple, right?
Correctness – A paradigm for sustainable software development
Edit (2019-04-09): A quick qualifier for future readers. This post talks about correctness in the sense of correct code and not formal proofs or formal specifications. I refer to correctness in the sense of avoidable runtime errors.
Why Does My Remote Control Need to Know My Location?
Here's an interesting user-hostile pattern which could easily be avoided if programmers and business-people thought like regular humans. I have a Pioneer / Onkyo sound system. It's pretty nice and comes with a (not too crappy) Android app to let me remote control it. One day, the app updated itself. The changelog was…
A new core playlist for VLC 4
The core playlist in VLC was started a long time ago . Since then, it has grown to handle too many different things, to the point it became a kind of god object .
FBI agent accidentally reveals own 8chan posts
Updated August 4, 2019: Added link to “A.C.L.U. Says F.B.I. Funded ‘Army’ To Terrorize Young War Dissidents” The unsealing of an application for a search warrant by the federal governme…
What has to happen with Unix virtual memory when you have no swap space
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Absolute Scale Corrupts Absolutely
The Internet has gotten too big. Growing up, I, like many computery people of my generation, was an idealist. I believed that better, faste...
How SAML 2.0 Authentication Works
At its core, Security Assertion Markup Language (SAML) 2.0 is a means to exchange authorization and authentication information between services. Learn how saml works.
Writing HTML in HTML
I've just finished the final rewrite of my website. I'm not lying: this is the last time I'm ever going to do it. This website has gone through countless rewrites – from WordPress to Jekyll to multiple static site generators of my own – but this is the final one. I know so, because I've found the ultimate method for…
Cloudflare Raises $150M and Adds to Board of Directors
Founder and co-chair of Nike Foundation, Maria Eitel, and Stan Meresman join Cloudflare board
Thaddeus Kosciusko
So, we know all about the heroes of the American Revolution, right? George Washington, John Adams, Paul Revere – OK, well, not him, he was a good silversmith, an average errand rider, and a godawfu…
Cryptographic coin flipping, now in Keybase
You're reading the Keybase blog. There are more posts . When you're done, you can install Keybase .
The invented Chinese names of the 2019 Canadian federal election – ranked
It’s been a long, confusing, exhausting federal election season. We’re all tired. But put aside your worries, fellow citizens; it’s time for the invented Chinese names of the 2019 Canadian federal …
Should that be a microservice? Factors to keep in mind
There are many good reasons to use a microservices architecture. In this post, we examine 6 factors to help you decide when to use—and when not to use—microservices.
A Tale of Query Optimization
Last December, I got an interesting bug report from the VWO support team. It seemed like the loading time of a particular analytics report was ridiculously slow for a big Enterprise customer. Since I am part of the Data platform, a flag was immediately raised and I got involved in debugging the issue.
Nebula, Slack's Open Source Global Overlay Network
“What is the easiest way to securely connect tens of thousands of computers, hosted at multiple cloud service providers in dozens of locations around the globe?” If you want our answer, it’s Nebula, but I recommend that you read the rest of this short post before clicking that shiny link. At Slack, we asked ourselves…
New Tools for Detecting HTTPS Interception
The practice of HTTPS interception continues to be commonplace on the Internet. This blog post discusses types of monster-in-the-middle devices and software, and how to detect them.
How to Accomplish Big Things, Even When You Feel Small
“Listen to the mustn'ts, child. Listen to the don'ts. Listen to the shouldn'ts, the impossibles, the won'ts. Listen to the never haves, then listen close to me… Anything can happen, child. Anything can be.” — Shel Silverstein Have you ever felt like your dreams are bigger than you are? Like wanting to travel to exotic…
How do managers get stuck? (2017)
Technology, startups, programming, technical management and software architecture
Differences between expert and novice brains in mice: study
When mice learn to do a new task, their brain activities change over time as they advance from ‘novice’ to ‘expert.’ The changes are reflected in the wiring of cell circuits and activities of neurons. Using a two-photon imaging microscope and a wealth of genetic tools, researchers from Cold Spring Harbor Laboratory…
A Beginner’s Guide to Chart.js
In this tutorial, we are going to learn how to draw charts with Chart.js and how to customize them to suit our needs.