Instagram is a photo sharing app that was released through the Apple App Store in October, 2010 and reached one million users in just three months. Facebook acquired Instagram in 2012 for one billion dollars. Mike and his partner, Kevin Systrom, are both graduates of Stanford University. Mike speaks with Jessica Harris about how he launched Instagram, from scratch. Listen to the interview
It's a lovely day 1 at Electromagnetic Field and I spent a few hours between talks and watching Hackers (1995) to release Kiesel 0.3.0! It contains 76 commits across two months, see the changelog for the full list of user-facing changes.PerformanceThis release is a big leap for real-world JS performance in Kiesel — mostly thanks to object layout improvements and a basic implementation of fast local variables, the v8-v7 benchmark runs 33% faster and uses 42% less memory:Benchmark 1 (3 runs):…
Recently I pointed Fable at my town's Web site and asked it to scrape transcripts of recent school board meetings, answer some questions I had about them, and preserve those transcripts as a stable artifact (so I can keep adding to, and asking about, this record). The experience was striking in a few ways. From less to more surprising: Fable gave me reasonable-looking results with minimal hassle. Those results are, as far as I can tell (including cross-checking and follow-up questioning),…
Decentralized perpetual futures exchange Ostium was drained of at least $24 million after an attacker manipulated its oracle system — a system that pulls in off-chain price data. After the attacker apparently gained access to the private key used to sign oracle messages, they were able to submit future-dated oracle reports that tricked the system into thinking trades were profitable.The attacker siphoned at least $24 million USDC from the protocol, which they quickly swapped into ETH and…
The web was built for humans using a browser. APIs were built for developers who read documentation. Both scenarios never anticipate autonomous agents that must reason about what to do next. As LLM agents increasingly interact with services, a question emerges that few people are addressing directly…
One Source, Ten Surfaces Every Shopware shop hits the same wall eventually. You need rich text somewhere the core doesn’t give you a WYSIWYG – a category landing blurb, a brand story on the manufacturer, a formatted paragraph inside a shipping mail – and you’re left with two bad options. Paste raw HTML into a text field and pray nobody breaks the markup (or worse, injects a <script>). Or bolt on yet another WYSIWYG editor that emits soupy, inconsistent HTML that looks different in every channel…
I’ve been trying my hand at translating a reasonable subset of TLA+ into z3py for the purposes of connecting specs to Verus, CBMC, and my assembly checker and also for maybe a little interactive theorem proving as a treat.
Haven’t written a weeknote in almost a month, but a lot has been going on. A quick summary on what we’ve been up to follows. Restructured and finished the discovery deck, broadening the data fragmentation finding and surfacing teams’ struggles with the NHS App (and other technologies) as a finding in its own right. Completed further rounds of improvements to the discovery report and supporting deck. Published the discovery outputs – long-form report, design history, and show-and-tell deck –…
On Mastodon, Alex Russell, a product architect who’s worked on Chrome and Edge, and has focused on tech standards for a while: Once Upon A Time At Google, a team presented results that had confounded them: making the system load several times faster increased engagement somewhat, but in line with Tammy’s findings, engagement went way up for every 100ms improvement below the 1s threshold. Going fast enough to become “dial tone” changed user behaviour and expectations in a hugely positive way for…
Here are the two Python scripts I used to create the SwissDelphiCenter Delphi Tips archive: download. scrape_tips.py downloads the tip pages from the Wayback Machine. It waits 10 seconds between requests and it is resumable, so you can stop it and continue later. Before you run it, you must put your email address into the CONTACT constant near the top, because it goes into the User-Agent of every request so that the Internet Archive knows who is calling. The script refuses to start without it.…
July 17, 2026 I haven't been blogging much lately. Nothing's interesting enough to write about. Every day I open my MacBook and stare at a blank screen, wondering what I'm going to do with myself. I know some part of every day goes to being on the computer — that's just how I roll. I just don't have anything to do with it right now. Last year it was the blog, migrating everything to 11ty. Earlier this year it was vibe-coding little scripts to automate stuff. That's dried up too. Ran out of…
Build a reusable economy mode modifier that switches a session on device, caps responses, and trims history
This video by Rational Animations begins with Babbage's Analytical Engine, which may leave you wondering why. Well, he did design history’s first programmable computer and even though it was back in the Victorian era, a video about AI must start somewhere. Of course, as the video is called Can AI Come Up With Original Ideas? we know that more is to come – and it gets to Aletheia and Google’s AlphaEvolve in due course. Babbage’s design was never built, so the steampunk era remains (more or less)…
I decided that Thursday morning at 8:27 AM was the right time to start my first update from FreeBSD 15.0 to 15.1 – all my hosts are now on pkgbase. I used the pgkbasify script. Now it’s time to update again. In this post: FreeBSD 15.0 (before) FreeBSD 15.1 (after; hopefully) The host is a Microsoft Azure instance FreeBSD 15.1-RELEASE Upgrading Instructions< In the following sections, I am showing the steps I carried out. The section names here have the same names as the instructions. Is it…
I feel pretty distracted, usually, in the world. Where this came from or when this started is hard to determine...it just happened. I think that's the case for a lot of people who feel like they have no attention span, and so on, so I don't think there's anything particularly remarkable about it. Like everyone, then, I'm either giving in to what I see as a lack of choice or determination in my life or to take back that control. I think, like most people, doing something about this really comes…
Quick follow up to the previous two posts on ICD-10 codes and HCPCS codes. This post uses Python’s squarify library to create treemaps visualizing how many codes begin with each letter. Here’s the treemap for HCPCS codes. And here’s the treemap for ICD-10 codes. The sizes of the squares are proportional to the number of codes beginning with that letter. Note that they are not necessarily proportional to how often codes are used. The HCPCS map omits R and U because these are tiny relative to the…
Manton has added a new feature that displays books that I have read by month. You will find a like to the page from the Reading page, it is called Finished Reading By Month.
I’m moving Lillihub from classic deno deploy (which is sunsetting) to the new deno deploy. There will be some down time as I complete the migration.
• PiraDeadLinkHunter v0.9 (2026/07/17) Another Node.js I created for my own use that I'm making public and easily configurable for whoever also wants to use it. The PiraDeadLinkHunter will look for dead links, redirects and errors on your link pages.
2026/07/17 Friday Been having a lot of fun making sites and stuff you know, there's some satisfaction in typing stuff and seeing it being turned into other stuff and stuff doing stuff and stuff stuff stuff... but I feel like I'm procrastinating on remaking my pet pages, making the pages for pets I still haven't made, and also making a mobile version for every page around here... but I've been doing a lot of other stuff, I even made another site for... I don't even know what for, but I'm making…
PiraDeadLinkHunter v0.9 (2026/07/17) Another Node.js I created for my own use that I'm making public and easily configurable for whoever also wants to use it. The PiraDeadLinkHunter will look for dead links, redirects and errors on your link pages.
For years, I had one simple rule for my home network: keep it simple. As our family’s dependence on reliable internet grew – for working from home, streaming TV, online gaming and, back then, homework – I deliberately removed complexity wherever I could. The old home servers disappeared. Exchange Server gave way to Microsoft 365. Files moved to OneDrive, with a Synology NAS providing local storage for anything that didn’t belong in the cloud. More recently, after a bout of Azure bill shock,…
In security we like to say that the problems live in the gaps between systems. Each system, on its own, is usually coherent. It has a threat model, invariants, and someone who owns it. The seam between two systems is owned by nobody, and each side quietly assumes the other is handling the thing that neither is. The load balancer assumes the backend validates. The parser assumes the canonicalizer normalized. The audit covers the software but not the network it runs on. Attackers don’t have to…
Just a quick update on a few things. I was interviewed on Jeff Asher’s Jeffalytics Podcast, mostly about AI and the current landscape in criminal justice: Using Technology to Improve Crime Analysis with Andy Wheeler by Jeff Asher I don’t always link to my recent Crime De-Coder posts (follow the Crime De-Coder RSS feed or follow me on Crime De-Coder LinkedIn to stay up to date). But for a few recent technical ones: Filtering Secrets from Coding Agents with a Hook (written by Marc Olson, employee…
Just couple of years ago I had a small rant about German RLE-based codecs named *PEG. Recently I’ve discovered yet another pointless format called NPEG. Unlike the rest it’s Polish, targets Amiga instead of DOS and it’s essentially MPEG-1 frames stored in IFF. Considering that it appeared around 1998, NP1 is the original MP4 format (if you ignore MPEG-1 in MOV of course). Currently I have no desire to implement support of it but maybe one day I’ll really have nothing better to do and add MPEG-1…
Hello, loves! Received wisdom and personal experience tell me to cover built-in collections. Here’s why.
Earlier today, I wanted to link to a specific year of posts on my Coffee category page. Importantly, all of my posts in a category are listed on a single page. I do this because I like having an overview of all posts on a single page. And, by having all post tiles on one page, I can search for keywords on the page, which I do quite often.This gave me an idea: I could add HTML IDs to the page that let me link to the most recently published post on each day, month, and year?I came up with the…
Since I revisited my old post on ICD code matching, I thought I’d revisit by post on HCPCS codes too. HCPCS stands for Healthcare Common Procedure Coding System, and is pronounced “hick picks.” When most people say HCPCS, they technically mean HCPCS Level II, and that’s what I mean here. The format of a HCPCS code is simple: one letter and four digits. In regex terms, [A-Z]\d{4} Not all letters are used, so you can get more specific and say [A-CEGHJ-MP-V][0-9]\d{4} Some sources say no codes…
tag(s): #failures #programming #overblown-minor-annoyances Here is a link to part 1. If you don't feel like reading it: I had an LLM write a minimal MCP server to expose Emacs, and I figured if I am going to use these tools, at least make them work in a way that I enjoy. So I kept iterating on that initial setup. Tools maturing A couple weeks ago I felt like I needed to change the name of the mincp repository. For starters, it wasn't minimal anymore. And also, it morphed so much. It went from…