Mountains, Cliffs, and Caves: A Guide to Using Perlin Noise for Procedural Gen
Minecraft generates unique worlds with Perlin noise. Covers the algorithm, octaves, and Fractal Brownian Motion - with a terrain implementation walkthrough.
The latest blog posts to take off on Hacker News. 21,819 posts.
Minecraft generates unique worlds with Perlin noise. Covers the algorithm, octaves, and Fractal Brownian Motion - with a terrain implementation walkthrough.
Ah, the eternal question, straight from the mailbag.
In this tutorial, we will learn about solving Differential Equations with Julia. Differential Equations are everywhere in Science and Engineering problems. And, being able to solve Differential Equations using computers is very convenient. We will use the DifferentialEquations.jl package for solving Differential…
Tim, I think we are not cooking
Dive into the world of AI engineering with this exploration of Deep Research in report generation. Learn how LLM-as-a-judge systems, machine learning, and ev...
A surprisingly common complaint I see from developers who have tried using LLMs for code is that they encountered a hallucination—usually the LLM inventing a method or even a full …
Because I'm a massive nerd, I actually try to read specification documents. As I've ranted ad nauseam before, the current TOTP spec is irresponsibly obsolete. The three major implementations of the spec - Google, Apple, and Yubico - all subtly disagree on how it should be implemented. Every other MFA app has their own…
Infrastructure as code, but actually
By Devine Lu Linvega
Building StopTheMadness Pro in Xcode is usually very fast, because my project doesn't use any Swift. It's a combination of Objective-C, which compiles much more quickly than Swift, and JavaScript, which doesn't need to be compiled. However, sometimes the builds were very slow for some strange reason. Checking the…
Json parsing in C using function pointers attached to a struct
PyPi, the Python Software Foundation's package repo, counts over half a million open source projects. Since I use many of these every day, it seemed appropriate to get to know this set of packages better, and show some appreciation. The index website provides nice search and filtering, which is good when looking for…
These LLMs are shockingly good at deobfuscation, transpilation and structure to structure conversions. I discovered this back around Christmas where I asked an LLM to make me an Haskell audio library by transpiling a rust implementation. An “oh fuck” moment in timeOver the Christmas break I’ve been critically looking
TL;DR ¶ Some of the wisdom contained in Josh Bloch’s Effective Java book is relevant to Go. panic and recover are best reserved for exceptional circumstances. Reliance on panic and recover can noticeably slow down execution, incurs heap allocations, and precludes inlining. Internal handling of failure cases via panic…
A few years ago I blogged about custom tree-sitter-based syntax highlighting in emacs . I started out with highlighting certain keywords in...
TLDR; Starting from Linux kernel version 6.9 on x86_64, there’s a new config option CONFIG_X86_FRED enabled and it adds 16 bytes to the starting point of a task’s kernel stack area, so you’ll need to account for this extra padding in your “raw” kernel stack & pt_regs lookup code. Update: It turns out that there’s a…
Notes from a backend dev who builds and runs his own infra. Go, microservices, blockchain, self-hosting, homelab projects.
A while back my machine was so messed up that I could barely ssh onto it. 3,200% CPU utilization - all 32 cores on the host were fully utilized! Compare that to my last bug where it only used 1 core, 100% Fortunately, it was using Java 17 runtime which...
Learn how to use pgRouting as a lightweight graph database solution in Postgres.
Over the last decade, we’ve seen great advancements in distributed systems, but the way we program them has seen few fundamental improvements. While we can sometimes abstract away distribution (Spark, Redis, etc.), developers still struggle with challenges like concurrency, fault tolerance, and versioning. There are…
What are you going to do when you add a new kind?
For decades, memory safety vulnerabilities have been at the center of various security incidents across the industry, eroding trust in technology and costing billions. T…
I've created a new format for encoding real numbers on computers. I'm proud of it! Let's dive in.
Introducing Python interpreter embedded in Elixir and a Fine way to write your NIFs.
Vibe coding (or vibeware) is making rounds on X now. To the best of my knowledge Andrej Karpathy started the “meme” in this X entry . I find it well written and hilarious and it seems to have taken off.
What `git config` settings should be defaults by now? Here are some settings that even the core developers change.
I recently took some time to try Gleam, the type-safe language that runs on the Erlang virtual machine. For a couple of weeks, I used it to build a little feed aggregator. These are my notes.