Hacker News with Generative AI: Programming

Silly job interview questions in Haskell (chrispenner.ca)
Today I thought it'd be fun to take a look at a few common & simple "interview questions" in Haskell. These sorts of questions are often used to establish whether someone has programming and problem solving skills, and I thought it might be useful for folks to see how they play out in Haskell since our beloved language's solutions tend to follow a different paradigm than most other languages do.
The copilot delusion (deplet.ing)
A shell of a man—more of a parrot than a person. My boss, a true believer in the sacred rite of Pair Programming, chained myself and this "programmer"-colleague together like conjoined twins from different planets. We shared a keyboard, but not a brain. Lord, not even close.
Async from scratch 3: Pinned against the wall (natkr.com)
So, we've covered polling. We've tackled sleeping (and waking). Going back to the definition, that leaves us with one core concept left to conquer: pinning!
Dividing an array into fair sized chunks (lemire.me)
Suppose that you have an array of N elements and you want to divide it into M chunks. It is a common task when trying to spread N units of work over M threads, for example.
The Next Abstraction (substack.com)
Ask HN: Do you have a side project you're getting tired of? (ycombinator.com)
Does your project make too little money and you're getting sick of maintaining it?
HTML5 elements you didn't know you need (dev.to)
As you know, we love unusual tech at Lingo.dev. So when in my last essay, David commented he was surprised to not see "dialog" HTML element, it hit me - wait, but there's so many HTML5 elements that we don't even know about!
DumPy: NumPy except it's OK if you're dum (dynomight.substack.com)
Show HN: 8-Bit Spelling Game I Built for My Daughter Using Claude AI (kbr.sh)
Wanted to share a fun little project I built this morning for my 9-year-old daughter: an interactive, retro-styled spelling game that she absolutely loves!
Adventures in Symbolic Algebra with Model Context Protocol (stephendiehl.com)
I spent last weekend playing with this new MCP protocol all the kids are talking about. And it's fun, but a bit early and rough around the edges.
Environment variables with no equals sign (jvns.ca)
I learned a long time ago that environment variables are literally represented as the string NAME=value (you can see this by running cat /proc/self/environ on Linux).
Web development fundamentals without frameworks – build from scratch [CodeMic] [video] (youtube.com)
Building software on top of large language models (simonwillison.net)
I presented a three hour workshop at PyCon US yesterday titled Building software on top of Large Language Models. The goal of the workshop was to give participants everything they needed to get started writing code that makes use of LLMs.
Tales from Mainframe Modernization (oppi.li)
At my last workplace, I wrote transpilers (or just compilers if you prefer) from mainframe languages (COBOL, JCL, BASIC etc.) to Java (in Rust!).
CRDTs: Pros and Cons (Lattices and Lettuces?) (jhellerstein.github.io)
Over the next few days, I'm going to post a number of observations about CRDTs: Convergent Replicated Data Types. These are data structures that aspire to help us with coordination-free distributed programming, a topic that interests me a lot. How can developers (or languages/compilers) deliver distributed programs that are safe or correct in important ways, without employing expensive mechanisms for coordination that make the global cloud run as slowly as a sequential computer?
Everyone gets bidirectional BFS wrong (2024) (zdimension.fr)
People really need to stop blindly copying code from the Internet.
Ratatoi is a C libary that wraps stdlib's strtol (as atoi does), but it's evil. (github.com/rept0id)
Claude Code: Tutorials (anthropic.com)
Practical examples and patterns for effectively using Claude Code in your development workflow.
LLM function calls don't scale; code orchestration is simpler, more effective (bearblog.dev)
TL;DR: Giving LLMs the full output of tool calls is costly and slow. Output schemas will enable us to get structured data, so we can let the LLM orchestrate processing with generated code. Tool calling in code is simplifying and effective.
Vim vs. Kakoune Puzzles (strongly-typed-thoughts.net)
I have come across Esoteric Vim lately, an article that shows how to perform various advanced text manipulation in Vim. It dates from February 2025, so it’s a recent article about modern Vim. This article shows exactly why I think Vim is outdated, and why I think Kakoune — and by extension, since it’s based on it, Helix as well — has a much better text edition design.
Visualizing entire Chromium include graph (bkryza.com)
In this post I will describe the process of visualizing the Chromium include graph with the help of one of my side projects - clang-include-graph.
Lune: Standalone Luau Runtime (github.com/lune-org)
Disabling kernel functions in your process (2009) (chadaustin.me)
Detecting and reporting unhandled exceptions with SetUnhandledExceptionFilter seemed logical, and, in fact, it worked... for a while. Eventually, we started to notice failures that should have been reported as a last-chance exception but weren't. After much investigation, we discovered that both Direct3D and Flash were installing their own unhandled exception filters! Worse, they were fighting over it, installing their handlers several times per second!
“ZLinq”, a Zero-Allocation LINQ Library for .NET (medium.com)
I’ve released ZLinq v1 last month! By building on structs and generics, it achieves zero allocations. It includes extensions like LINQ to Span, LINQ to SIMD, LINQ to Tree (FileSystem, JSON, GameObject, etc.), a drop-in replacement Source Generator for arbitrary types, and support for multiple platforms including .NET Standard 2.0, Unity, and Godot. It has now exceeded 2000 GitHub stars.
I solved almost all of free problems on LeetCode using AI (reddit.com)
It took me 30 days to solve 2828 problems on Leetcode. I used AI (ChatGPT o4-mini-high mostly) and i did all of it manually (copy/paste). In general, i tried to solve 100 problems a day, which took 1 hour per day.
Why Good Programmers Use Bad AI (nmn.gl)
AI code generation is error-prone. Why, then, are programmers still using it?
Show HN: I made IP-to-Geo location data library for developers (framer.website)
Ip2Geo is a super-lightweight and type-safe library that allows you to convert any IP to geolocation data, 100% free with unlimited uses—no catch. It works exclusively online and can run on both the client and server.
The NSA Selector (github.com/wenzellabs)
I spent 15 years developing a tool to make sense of software version numbers (ycombinator.com)
Over 15 years ago, I had a strange idea: what if software version numbers weren’t just arbitrary labels, but followed deeper patterns - almost like coordinates in a space?
How I Mastered Data Structures and Algorithms (algomaster.io)
Getting good at Data Structures and Algorithms (DSA) helped me clear interviews at Amazon, Google and Microsoft.