Reading up on programming-languages
100 deep · digging since nov 19, 25
- A browser-native classic Visual Basic VB6 IDE
A developer has recreated the Visual Basic 6 IDE as a browser‑based application, allowing users to write and run VB6 code without installing legacy software.
- Stack Overflow Developer Survey 2026
Only 22% of developers report being happy at work, while 62% favor AI tools and 39% use Python for AI coding.
- Async Rust: Where does the scheduler live?
Async Rust needs a runtime because concurrency requires a scheduler, and placing the scheduler in a crate like Tokio is a reasonable trade‑off rather than a regression.
- You don't need an effect system
The author argues that Haskell effect systems add no real benefit over plain IO, demonstrating that simple effect types and manual argument passing suffice for real-world code.
- The Era of Programming Languages Exploration is upon Us.
The author argues that AI‑driven coding makes traditional PL research obsolete, but urges the community to embrace exploration and fun, using LLMs to pursue novel language ideas.
- Coding is not solved
The article contends that, despite recent advancements in AI and tooling, fundamental challenges in software creation remain unresolved for developers.
- Don't couple your Go code to GitHub
The article advises Go developers to avoid hardcoding GitHub dependencies, promoting loose coupling for better portability, reduced vendor lock-in, and easier migration to alternative version control systems.
- Green Threads from Scratch - Dzania
The author builds a minimal green‑thread runtime in Rust, detailing stack allocation with guard pages, context saving via assembly, a worker‑based M:N scheduler, and spawn/join APIs.
- wolfgirl.dev - Pining for Arc Downcasting in Rust
Author shows how Pin<Arc<MustPin<T>>> lets cheap cloning and downcasting of Arc-wrapped values via a self-referential struct that preserves pointer stability.
- Superficie: Clojure you can read without learning Lisp
Superficie renders Clojure code as readable infix/block notation that roundtrips exactly, enabling non‑Lisp readers to understand kernels, proofs, and macros without altering semantics.
- Poisoning a Go Cache
The post demonstrates how manipulating Go's build cache can alter program behavior without source changes, using overlays and cache poisoning to reverse a function's output from true to false.
- Pratice methods for the piano and beyond
The post outlines piano practice techniques—repetition, note learning, rhythm, voicing, pedal, dynamics, tempo, and variations—and argues they apply broadly to skill acquisition such as programming.
- Rails World 2026 Opening Keynote [video]
The Rails World 2026 opening keynote video showcases the newest features, performance improvements, and community direction for the Ruby on Rails framework.
- Jev in 25 Lines of Python
The article shows how to implement the JeV algorithm in just 25 lines of Python, demonstrating a concise implementation that highlights core logic and omits boilerplate for quick experimentation.
- Pencils Down, Notation Up
The author argues that Rails should stay as the high‑level source of truth for AI agents, even when compiled to C or Rust, because it’s concise, intent‑preserving, and token‑efficient.
- Abstract Heresies: Not Everyone Can Code
The article argues that debugging requires counterfactual reasoning, a skill many lack, limiting their ability to diagnose bugs, especially in concurrent code, despite superficial coding ability.
- 100R — uxn
The Uxn/Varvara stack is a tiny virtual‑machine based personal computing platform that lets the same ROM run across desktop, handheld, console, and browser environments.
- Basic Linear Algebra Subprograms - Wikipedia
BLAS defines standard low-level linear algebra routines used as the foundation for optimized numerical libraries like LAPACK and MATLAB.
- GitHub - sql-formatter-org/sql-formatter: A whitespace formatter for different query languages
SQL Formatter is a JavaScript library for pretty-printing SQL queries, supporting over 15 dialects, with CLI and library usage, and extensive configuration options.
- Cheaper LLM labelling
Describes a Perl script that uses a cheap LLM to label git commits, then speeds it up with a streaming logistic‑regression classifier and label caching.
- Evolving programming languages in the AI era - Dashbit Blog
Programming languages will shift focus from human ergonomics to stronger guarantees and agent‑friendly tooling as AI writes most code in practice.
- FUN: First-Class Functions, Currying, and a Surprise
Adding first-class functions to a LET interpreter with call-by-value leads to dynamic scoping, mirroring a historical Lisp bug discovered by Slagle.
- What Does This Assembly Code Do? – pagetable.com
The article presents an assembly language snippet and asks readers to identify its function and the computer architecture it belongs to.
- A build graph that rolls dice
The article explains how Nix’s dynamic derivations turn its build system from applicative to monadic, allowing the build graph to be defined during execution rather than up front.
- Nvidia announces native GPU programming in Rust
Nvidia announces native GPU programming support for the Rust language, enabling developers to write high-performance GPU code directly in Rust for AI, HPC, and graphics applications without intermediary layers.
- Small programming tricks
The article shares a handful of concise programming tips and shortcuts commonly discussed on Hacker News, highlighting practical tricks for everyday coding.
- Bend – a language that blocks AI mistakes via proof and runs on GPUs
Bend is a new programming language that uses formal proof techniques to prevent AI mistakes and is designed to run efficiently on GPU hardware.
- Java 27 | Hacker News
Java 27's release announcement highlights new language features including virtual threads and pattern matching, positioning the update as a significant step forward for developer productivity.
- Computer programming, and friction as a learning activity
The author argues that personal friction in manual coding and teaching is essential for deep learning and enjoyment, and worries AI‑generated code removes that valuable struggle.
- FP Jargon — Interactive Functional Programming Knowledge Graph
An interactive knowledge graph visually maps 69 functional programming concepts, category theory morphisms, and algebraic structures using JavaScript ES2015 examples.
- Basic Syntax | Markdown Guide
The guide details core Markdown syntax including headings, paragraphs, emphasis, lists, code, links, images, and HTML usage with compatibility tips.
- The Cretan Method - Hintjens.com
The Cretan Method treats theories as falsifiable models, uses friction as data to refine or discard them, and advocates a learn‑play‑work‑teach cycle to escape magical thinking.
- Elm, Rust, and WebGL in one interface – yoggimix
The author combines Elm, Rust, and WebGL via the elm_rs bridge to render 3D graphics in a canvas while using Elm for UI controls, demonstrating type‑safe interop.
- Introduction - Hegel's Logic in Cubical Agda
This introduction outlines a Cubical Agda tutorial that formalizes fragments of Hegel’s Science of Logic, detailing navigation, reading tracks, and verification sections.
- 10 anti-AI slop moves for frontend projects going faster than humans can review—Martian Chronicles, Evil Martians’ team blog
Ten defensive practices—contract generation, strict TypeScript, behavior‑filter linting, layer boundaries, custom linter rules, mutation testing, dead‑code detection, duplicate detection, and CI enforcement—make AI‑generated frontend code safer and cheaper to review.
- Bitap: My favorite string matching algorithm
The author explains why the Bitap algorithm is their favorite string‑matching method, highlighting its simplicity, efficiency, and suitability for fuzzy search.
- Allocator Designs
The post details how to build three heap allocators in Rust—bump, linked-list, and fixed-size block—showing code, alignment handling, and trade‑offs for kernel memory management.
- A 50-year-old computer-assisted proof
The 1976 computer-assisted proof of the four‑color theorem by Appel and Haken, later formalized in Coq, marks the first major theorem proven with computer help.
- Eliminating Go bounds checks with unsafe
The article shows how using Go's unsafe package to perform pointer arithmetic can eliminate bounds checks in hot paths, yielding over 2x speedup in benchmarks.
- simple is not small
Simplicity means decoupling concerns, not just minimizing code size, as shown by Unix pipelines being small yet coupled in practice.
- A meta-analysis of three different notions of software complexity
A meta-analysis argues that Zach Tellman's definition of software complexity as the sum of future explanations is the most useful and practical among three discussed.
- smolts: a pedagogical IDE for a teaching language (eighty-twenty news)
The author introduces smolts, a browser‑based IDE for the teaching language SMoL that visualizes continuations, environments, and stores while allowing step‑forward/backward execution and in‑browser git project management.
- Interview With Bakpakin
In the interview, Bakpakin explains Janet’s design goals, community values, and his reluctance to build a package manager, emphasizing stability, user empathy, and incremental improvement.
- Bug Blindness | Hacker News
Developers often fail to notice bugs in their own code due to cognitive biases and familiarity, leading to blind spots that external reviewers or structured testing can reveal.
- Tcl for Web Nerds
The document outlines the table of contents for 'Tcl for Web Nerds,' a guide teaching Tcl scripting for web development by Abelson, Greenspun, and Sandon.
- Why Does Rust Need Send and Sync?
Send and Sync are Rust marker traits that guarantee safe thread transfer of values and shared references, exemplified by Rc being neither due to its non‑atomic reference count.
- Bun · Node.js test suite tracker
Bun’s Node.js test suite tracker displays how many of Node.js v26.3.0’s 4,608 tests pass in Bun, currently showing a loading state.
- Python sets and dictionaries can have quadratic-time performance
Python's built‑in set and dict types can exhibit quadratic‑time behavior when many elements hash to the same bucket, causing worst‑case O(n²) performance.
- CTTI is Exponential, RTTI is Linear - gingerBill
CTTI causes exponential compile‑time and binary costs, while RTTI incurs only linear memory overhead, making RTTI a safer default for language design.
- A Type System Is a Search Oracle
Stronger type systems like Rust and Lean improve AI-generated code quality by providing a verifiable compiler feedback loop that catches errors.
- Fast unicode (UTF-8) validation with autovectorization
A branchless, autovectorized UTF-8 validation algorithm using a 4-byte lookbehind window achieves 10-80 GB/s, far outperforming branchy and DFA validators.
- Queryable Executables
The article explains a technique to compile programs so they can answer queries about their own execution without re-running, using static analysis or embedded metadata.
- Pinning Down Rust’s Pin
The post explains Rust’s Pin type, showing how it enforces immovability for self‑referential futures via the type system and the Unpin marker trait.
- How we saved 100 terabytes of memory by optimizing 1.1.1.1’s DNS cache
Cloudflare reduced its Big Pineapple DNS cache entry size by 56% through five Rust optimizations, freeing ~100 TB of memory while boosting insert throughput 43% and cutting lookup latency 19%.
- Symmetries in boolean scans
The article shows that by exploiting symmetries of boolean scans, only three primitives (∧, <, ≠) need fast implementations to derive all others efficiently.
- Why OOP exists | mathspp
The article explains that OOP exists to model real-world entities via abstractions, showing how Python classes encapsulate data and behavior.
- GitHub - plotly/plotly.js: Open-source JavaScript charting library behind Plotly and Dash
Plotly.js is an open-source JavaScript charting library that powers Plotly and Dash, offering dozens of chart types and flexible loading options.
- Actually Queryable Executables
The SELF format turns executables into SQLite databases, letting programs store and modify their own state and code via SQL, demonstrated by a self‑hosting web server.
- Beautiful Racket by Matthew Butterick
Beautiful Racket is a free online guide by Matthew Butterick that teaches Racket programming through clear examples and an honor‑system payment model.
- Assembly Hall of Shame
The article discusses a compilation of embarrassing or flawed assembly language examples highlighted in a Hacker News post titled 'Assembly Hall of Shame'.
- Tracking down the 16-year-old WAL-reset SQLite bug
Researchers uncovered a 16‑year‑old bug in SQLite’s WAL‑reset handling that could cause database corruption during routine checkpoint sequences and affect performance.
- “Code was never the hard part” is an insult to all programmers
The piece argues that claiming 'code was never the hard part' belittles programmers by ignoring the real challenges they face in software development.
- Python Polars Cheatsheet (based on our O'Reilly book)
Provides a concise Python Polars cheat sheet derived from the authors' O'Reilly book, covering core DataFrame operations, syntax, and common workflow patterns.
- Tidal Cycles – Live coding music with Algorithmic patterns
Tidal Cycles enables musicians to create algorithmic music live by coding patterns in real time, blending programming with improvisational performance.
- Ask HN: Do you know of any company that went back to hand-written code?
The poster asks Hacker News whether any companies have abandoned automated code generation and returned to manually writing code today.
- Geolocating a random island using geometry and CUDA programming
Researchers demonstrate that combining spherical geometry with CUDA‑accelerated computation can pinpoint the latitude and longitude of an arbitrary island from minimal data.
- JIT Compiling Code in 5μs - malisper.me
The article demonstrates a Rust copy‑and‑patch JIT compiler that compiles regexes in ~5µs, matching handwritten speed and enabling per‑query JIT in databases.
- Fibs and Fibbonacci - is LOGOS faster than Zig?
LOGOS is not the fastest language; its speed claims rely on toy benchmarks, non‑idiomatic comparisons, and a benchmark bug that makes it slower than Zig after correction.
- When the Hard Part Stops Being Hard
Using an LLM to mechanize proofs in Lean cut months of work to weeks, showing that PL research can now be produced far faster, reshaping publication expectations.
- What's the best programming language for coding agents?
Dan Luu's empirical tests with LLMs on Zstd and Pandoc implementations show that language popularity weakly correlates with better outcomes, but claims about dynamic or token-efficient languages being superior for coding agents do not hold across non-trivial tasks.
- SwiftUI After 7 Years: A Story of Mediocrity: Will it ever stop feeling like a beta? — Yakov Manshin
SwiftUI after seven years remains unstable, performs poorly, and lacks API stability, forcing workarounds and reflecting Apple’s lowered quality standards.
- Introduction - MapLibre GL JS
MapLibre GL JS is a TypeScript library using WebGL to render interactive maps from vector tiles, with documentation on installation, usage, and integration across bundlers.
- Octane — React's programming model, compiled
Octane compiles React‑style hooks, Suspense and actions ahead of time, removing the virtual DOM and hook rules while preserving familiar semantics.
- Show HN: A self-running space economy SIM in Rust and Bevy
The author introduces a self-running space‑economy simulation written in Rust using the Bevy game engine, demonstrating emergent trade and resource dynamics.
- The Java Story – The Official Documentary [video]
The official documentary traces Java's origins, evolution, and impact on software development, featuring interviews with key creators and industry figures.
- Do we still need build tools?
The article argues that while modern CSS and JS features reduce the need for many build tools, bundling and minification remain essential for larger projects.
- Postgres rewritten in Rust, now passing 100% of the Postgres regression tests
A rewrite of PostgreSQL in Rust has successfully passed all official regression tests, demonstrating full compatibility with the original database system.
- Ask HN: What Are You Working On? (July 2026)
An Ask HN thread invites users to share their current projects and work-in-progress as of July 2026, encouraging brief descriptions, links, and updates on personal or professional endeavors.
- Interview with Mitchell Hashimoto about Ghostty and Zig
Mitchell Hashimoto discusses building Ghostty, a fast GPU‑accelerated terminal, using Zig for performance and safety, and shares lessons on language choice and open‑source development.
- FAANG Simulator
FAANG Simulator is an interactive tool that lets users practice coding interviews with questions modeled after those asked at Facebook, Amazon, Apple, Netflix, and Google.
- Upyo | Cross-runtime email library
Upyo is a small, cross‑runtime email library for JavaScript/TypeScript that lets you write a message once and send it via SMTP or providers on Node.js, Deno, Bun, and edge functions.
- RubyGems.org | your community gem host
The article describes RubyGems.org as a community‑run gem host maintained by Ruby Central, highlighting its Supporter Program and donation options.
- Better Auth: an introduction
Better Auth is a TypeScript authentication library that runs inside your app, stores users in your own database, and provides server and client APIs with optional plugins.
- Announcing TypeScript 7.0 - TypeScript
TypeScript 7.0 launches a native Go‑based compiler that delivers 8‑12× faster builds and editor responsiveness, validated by large‑scale production testing.
- Fintech Engineering Handbook
Hacker News commenters debate whether monetary values must always be stored as integers, with quants arguing floats suffice for risk modeling but transfers require exact integer precision.
Takes
https://x.com/sindresorhus/status/2108672491694825533 I wrote a blog post about the new website. Why Swift and how it works. https://sindresorhus.com/blog/swift-website
@sindresorhus
Just shipped a redesign of my website: https://sindresorhus.com/apps It's now fully in Swift and compiled to HTML/CSS.
@sindresorhus
I¹ ported my Mini web browser to Rust & Swift. It's faster, more secure, and shockingly, nicer to iterate on than Electron + Bun. I always wanted Safari-like UX but… Chrome 😁. Thanks to the 𝚌𝚎𝚏 crate, I can bundle up-to-date Chromium. 𝚏𝚡 𝚊𝚌𝚙 lets me embed an agent without bloating the app. It talks to my local fx CLI over ACP. fx can then manage the browser via an MCP server². By ditching Electron, I was able to get Liquid Glass, faster boots, and a more Mac-native feeling. Little things like fine-grained focus and input control, which are nightmare fuel in JS, just work®. Native is the future, both on the desktop and in the cloud. I suspect the entire software world will "nativify" faster than people realize, as DHH hinted at Rails World. Excited that Vercel's bet on Fluid will help support this, whether you choose to go Rust, Go, Zig, scriptc… ¹ Built on
@rauchg
but seriously. it's fantastic. and at the current pace, i'll be able to drop from four 20x max subs down to one. 🥳 until fable 5.5 drops in a few weeks and then i end up needing 12 20x max subs. 😭
@Shpigford
I thought my RailsConf Europe 2006 appearance had been lost to the ages, but Till Volmer lovingly restored it, and gave it a permanent home. It's amazing how much stays the same even as everything is changing! https://dhh-railsconf-2006.meister.co/
@dhh
Yeah Fable 5.1 is really cool but this is bonkers
@petergyang
Git at Scale (by cursor) has been one of the most interesting blog posts i've read in a while. It came right when I was frustrated with Shopify's internal git system. As an exercise, I've implemented it over the weekend as open source. It's a single rust binary that you can point at any S3 type object store. It uses WAL and CAS primitives and requires no other data store. It also implements bundle-uri so large git repos (like our mono) are very fast to download as a chain of static bundles. Also comes with basic familiar UX.
@tobi
I built
@iannuttall
/show-me: compact visual representations for coding agents
@dexhorthy
Not since the earliest days of discovering Ruby have I been this excited to jump out of bed and get in front of the keyboard. A million ideas, all bouncing around in my head, just waiting to be prompted. What a time to be alive!
@dhh
Fable one-shotted a Rust rewrite of the TerminalTextEffects Python library in 11M tokens. Startup time went from 87ms to 2ms and rendering speed is up by 9.6x. Now zero dependencies and a 3mb single exec 🤯 https://claude.ai/code/artifact/287825bc-7aad-4541-a7e7-fa4ba8d03612
@dhh
we're trending on GitHub!
@ellie_huxtable
I reviewed a Redis me optimization and was about to submit the PR. Then I said myself: "wait, we are in 2026" and wrote a script that calls Sol and Fable at each turn, challenging to improve the work of the previous one... Soon to be continued with the results.
@antirez
orcdev at it again.
@shadcn
My SIMD post was on HN and the general hostility towards understanding how computers work and owning your own outcomes is really depressing. A large amount of people seem to simply have the attitude that they hope someone else pays their bills for them. https://news.ycombinator.com/item?id=49010648
@mitchellh