Mind boggling to me that I can make a thing faster and there's always people that ask "but why?" What kind of mentality is that? The pursuit of excellence does not need justification. Also, I find in so many cases, we can't know the impact of an improvement until we do it.
For example, one I've talked about before: Ghostty's high IO throughput has enabled terminal program (emulator and TUI) fuzzing at a speed thats incomparably fast to prior solutions. This has resulted in upstream patches to resolve issues in popular projects like btop, tmux, and more.
Speed enabled that anecdotally example that lifted the tides of adjacent communities that don't rely on Ghostty technology at all. I didn't predict this.
Make things better because they can be better and let the results naturally play out.
Thanks to the video from the Black Hat security conference of OpenAI's presentation about "The Hugging Face Incident" we now have a detailed timeline of what happened from OpenAI's perspective - I wrote up the details here, it's pretty wild
https://t.co/QZ1okup6jJ
While the Fields Medal celebrates the under-40s, the mathematician Joan Birman has, at the age of 99, solved a major open problem in representations of the Braid groups, a topic she has worked on for more than 60 years.
This was a famous Microsoft interview question back in the day - given a linked list, detect a cycle in it.
The cheapest way is to send TWO pointers through the list, one stepping one node, the other stepping two nodes per move.
If there are any cycles eventually the fast pointer "catches up" to the slow pointer, and they equal.
New kernel post! This time: /proc/*/mem and how it writes to unwritable mem.
Key takeaway: By walking page tables in software, the kernel can access userspace mem without directly dereferencing pointers it gets from userspace. (No WP/SMAP bits involved). https://t.co/U9IOeyHIc5
Anders Hejlsberg (@ahejlsberg) is a living legend: he created Turbo Pascal, Delphi, C# and TypeScript (and today TypeScript is the most-used programming language, globally, as per GitHub.)
Timestamps:
00:00 Intro
02:48 How Anders got into programming
05:40 Building his first compiler
07:44 Turbo Pascal
12:25 Delphi
14:53 Joining Microsoft
19:41 Building C#
29:11 Async/await
34:01 The rise of JavaScript
37:52 Building TypeScript
42:58 How the TypeScript compiler works
48:30 JavaScript’s strengths and weaknesses
52:18 How Anders uses AI
56:03 What language features work well with AI
1:02:49 How software craftsmanship is changing
1:07:49 Performance and efficiency
1:09:29 Anders’ tool stack
1:11:30 A 30-year career at Microsoft
1:13:40 Book recommendation
Brought to you by:
@AntithesisHQ – verify your system’s correctness without human review or traditional integration tests – and avoid bugs or outages. https://t.co/AKYm4cctss
@WorkOS – Everything you need to make your app enterprise ready. https://t.co/jhFNq3aFcF
@turbopuffer – a vector and full-text search engine built on object storage. It’s fast, cheap, and extremely scalable. https://t.co/w9y67GsFZJ
Four things that stood out to me:
1. “10x better for 1/10th of the price” is a proven winner.
This is what Turbo Pascal did: it sold for $49.95 when competing compilers cost $500, and it was faster and more interactive than competitors’ products. Conveniently, the low price tag also killed off piracy
2. C# might have not existed without a famous court case.
Microsoft originally hired Anders to architect its Java tools (Visual J++), but the Sun versus Microsoft lawsuit (1997-2001) meant Microsoft could not build on top of Java, as the company that owned Java’s IP (Sun) sued MS for alleged unauthorized changes to the Java language. Microsoft realized it had to build a new language that combined VB’s productivity with C++’s power. This led to C# and .NET.
3. TypeScript exists because Anders refused to build Script# for the Outlook .com team.
Microsoft’s Outlook .com team asked Anders’ C# team to productize “ScriptSharp,” a language to cross-compile C# to JavaScript. Anders and the C# team pushed back, suggesting that a better approach was to fix JavaScript. Anders felt strongly that to be attractive to the best-of-breed developers in the JavaScript ecosystem, you want people to write JavaScript, and not another language like C#.
4. Designing a programming language is a 10-year play.
As Anders puts it: “Version one is great, but has all sorts of issues. You’ve got to do version two, but it’s not until version three that it really starts to be great. Then you’ve got to convince people to adopt it.”
This works really well btw, at the end of your query ask your LLM to "structure your response as HTML", then view the generated file in your browser. I've also had some success asking the LLM to present its output as slideshows, etc.
More generally, imo audio is the human-preferred input to AIs but vision (images/animations/video) is the preferred output from them. Around a ~third of our brains are a massively parallel processor dedicated to vision, it is the 10-lane superhighway of information into brain. As AI improves, I think we'll see a progression that takes advantage:
1) raw text (hard/effortful to read)
2) markdown (bold, italic, headings, tables, a bit easier on the eyes) <-- current default
3) HTML (still procedural with underlying code, but a lot more flexibility on the graphics, layout, even interactivity) <-- early but forming new good default
...4,5,6,...
n) interactive neural videos/simulations
Imo the extrapolation (though the technology doesn't exist just yet) ends in some kind of interactive videos generated directly by a diffusion neural net. Many open questions as to how exact/procedural "Software 1.0" artifacts (e.g. interactive simulations) may be woven together with neural artifacts (diffusion grids), but generally something in the direction of the recently viral https://t.co/z21CP5iQfu
There are also improvements necessary and pending at the input. Audio nor text nor video alone are not enough, e.g. I feel a need to point/gesture to things on the screen, similar to all the things you would do with a person physically next to you and your computer screen.
TLDR The input/output mind meld between humans and AIs is ongoing and there is a lot of work to do and significant progress to be made, way before jumping all the way into neuralink-esque BCIs and all that. For what's worth exploring at the current stage, hot tip try ask for HTML.
You can't engineer luck.
Cleanest phrasing of P vs NP I've heard.
NP is the magical computer that always tells you which path to take. P is what current silicon can do. Tetris is NP-complete. Chess is EXP-complete.
MIT 6.006 Introduction to Algorithms, Fall 2011.
John Carmack explains how he applies Nassim Taleb's "anti-fragile" concept to his work, enjoying the thrill of new ideas while accepting that many won't succeed.
eBPF is much easier to understand when you stop treating it as magic and start building small, working programs with it.
Teodor Podobnik has been publishing a hands-on eBPF series on iximiuz Labs, with a strong focus on networking.
The tutorials start from the fundamentals - your first eBPF program, maps, the verifier, bpftool, portability, event delivery, and XDP basics — and then move into practical network programming projects:
- Implementing traffic rate limiting with eBPF/XDP
- Building an IP range firewall with LPM trie maps
- Writing a NAT-based L4 load balancer
- Building Layer 2 and IP-in-IP DSR load balancers
- Adding round-robin and weighted backend selection
- Transparently redirecting ingress and egress traffic through Envoy
- Accelerating socket-to-socket traffic paths with eBPF
What I like about this series is that it doesn't just tell what eBPF can do. It shows how the pieces fit together in real Linux networking scenarios: packet parsing, connection tracking, IP/MAC rewriting, socket hooks, and more.
If you've been meaning to learn eBPF for networking, this is easily the best collection of hands-on learning materials on the entire Internet:
https://t.co/Ya0dHYQwGc
Jerry Cain from Stanford University explains pointers and structs in C, showing a clever way to access struct fields. This series is one of the best resources online for C programming.
Fil-C is a C/C++ compiler that builds C/C++ projects into a binary with "complete memory safety". It is a great project by @filpizlo.
In part because it is so easy to do, I am going to make sure that all the production-quality projects I manage support Fil-C directly.
For the most part, this means skipping over direct assembly calls. You can still have the assembly calls, but you need some alternatives code path when building with Fil-C.
As a side benefit, running the code with Fil-C serves as a sanitizer: if there is any bad memory business going on, Fil-C will just crash you out.
Interestingly, Fil-C has no escape hatch. It is a totalitarian approach.
This ICML 2025 paper published by MIT scientists proposes Recursive Language Models as a novel inference paradigm that enables LLMs to process prompts up to two orders of magnitude beyond their context windows, dramatically improving performance on long-context tasks with comparable cost, even outperforming state-of-the-art models like vanilla GPT-5 in some cases.
Read online with an AI tutor: https://t.co/Q4mZ3vHtb4
PDF: https://t.co/p2TM9mvJgl
#PaperADay recap
On January 8th, I set out to read and take notes on one paper each weekday for the rest of the month. I missed one day due to a funeral, and another day due to bad time management, but not too bad.
I probably averaged a bit over 2 hours on each of them, which is only a rough read in some cases, but still enough to put a pinch in my work days. You can easily spend all day on a single paper if you dig in deep.
I have written code based on six of the papers so far, and the others are still kicking around in my head.
For now, back to my previous habits, but I may consider doing “week of papers” in the future after I digest where this fits in the exploration / exploitation time tradeoff.
15: Mastering Diverse Domains through World Models
14: MASTERING ATARI WITH DISCRETE WORLD MODELS
13: DREAM TO CONTROL: LEARNING BEHAVIORS BY LATENT IMAGINATION
12: Learning Latent Dynamics for Planning from Pixels
11: Discovering state-of-the-art reinforcement learning algorithms
10: LeJEPA: Provable and Scalable Self-Supervised Learning Without the Heuristics
9: floq: Training Critics via Flow-Matching for Scaling Compute in Value-Based RL
8: Beyond Gradient Averaging in Parallel Optimization: Improved Robustness through Gradient Agreement Filtering
7: Cautious Weight Decay
6: LOCAL FEATURE SWAPPING FOR GENERALIZATION IN REINFORCEMENT LEARNING
5: Small Batch Size Training for Language Models: When Vanilla SGD Works, and Why Gradient Accumulation Is Wasteful
4: Patches Are All You Need?
3: Self-Supervised Learning from Images with a Joint-Embedding Predictive Architecture
2: Deep Delta Learning
1: Emergent temporal abstractions in autoregressive models enable hierarchical reinforcement learning
One of the most amazing series of YouTube videos I ever watched.
How to build an Operating System:
• CPU, Assembly, Booting
• BIOS and Keyboard Inputs
• Stack, Functions, Segmentation
• disk i/o
• Protected mode
• Writing a kernel
Watch it here: https://t.co/rwUTvtMwoz
One of the best math books I've ever read:
MIT's "Mathematics for Computer Science"
Its writing style is brilliant, and it covers everything:
- Linear algebra
- Series
- Logic
- Probability
- Number theory
- Graphs
You can find the PDF here:
https://t.co/iQvaflkDPD