Advertisement · 728 × 90

Posts by justinhj

Refreshing your Neovim config for 0.12.0

Some nice changes in Neovim 0.12.0. The out-of-the-box experience is growing in capabilities.

I spent some time this weekend refreshing my config and wrote up some notes in my blog

justinhj.github.io/2026/04/06/r...

2 weeks ago 1 0 0 1
When Zig is Safer and Faster Than Rust | by John Philip | in Rustaceans - Freedium I&#39ve shipped production Rust for years, loved the borrow checker&#39s iron grip on memory...

When to use Zig instead of Rust

freedium-mirror.cfd/https://medi

1 month ago 1 1 2 0
Functional Programming Strategies

I don't normally post my email newsletter, but I thought this one was a banger: on the dualities between constructor injection, the reader monad, comonads, and effect handlers. If that sounds like your jam: buttondown.com/functionalpr...

(Or just grab the book! functionalprogrammingstrategies.com)

2 months ago 6 5 0 0

I’m still open to work: I’m a software engineer in Sydney who’s as hands on building products, as he is wrangling architecture and integration, or managing devops, observability and infrastructure.

Typescript/Node/React/AWS is my primary stack, but adaptable to whatever else.

onsite/remote/hybrid

2 months ago 5 2 0 0
Preview
Type-safe eval in Grace The case for principled eval support

I wrote a post about a cool feature that's actually been in Grace for a while: type-safe eval

This feature also powers Grace's support for type-safe dynamic imports, a feature which had long been requested in Dhall

haskellforall.com/2026/01/type...

3 months ago 20 4 4 0
Video

Blog post: A deep dive into four different ways to merge sorted runs of data, with interactive guides for each.

justinhj.github.io/2026/01/19/v...

3 months ago 0 0 0 0
Preview
Initial push for type classes support by mcimadamore · Pull Request #1886 · openjdk/valhalla This PR contains support for an experimental type classes feature. WarningGiven the highly experimental nature of this work, nothing is settled in stone, and the comments below are mostly provided ...

Type classes for Java

github.com/openjdk/valh...

Coming soon Scala style signifiant whitespace 😅

3 months ago 4 1 0 0
Procedural Rendering on Playstation 2 This paper describes the design and coding of a program to generate instances of a procedural Lifeform, based on the work of William Latham in the late 1980’s. The sneaky thing is that this tutorial i...

I love anything that enables people to understand the power of composition visually. I always remember this great article on procedural graphics:
www.gamedeveloper.com/production/p...

3 months ago 1 0 1 0
Advertisement
Christian Hollinger: Using Scala in a Go First Company [Scala Days 2025]
Christian Hollinger: Using Scala in a Go First Company [Scala Days 2025] We introduced a very specialized Scala 3 project - a high-volume, real-time streaming pipeline for complex traffic data - at a company that does (practically) everything in go. Why would we do that? And would we do it again? In the overall Data Engineering world, go has very little foothold; Python

🤖 Many teams don’t live in a Scala-only world. This session shares what it’s like to use Scala inside a Go-first company and where it shines.
Check out "Using Scala in a Go-First Company" from Christian Hollinger

3 months ago 2 2 0 0

Enjoyed the article! I find Liskovs papers on Clu and abstraction really interesting. Especially that they sort of ignored inheritance initially to focus on other abstractions.

3 months ago 3 0 0 0
Preview
The Liskov Substitution Principle does more than you think It's more than just the L in SOLID!

New year, new newsletter! This one's all about the Liskov Substitution Principle and how it applies to more than just object oriented programming!

buttondown.com/hillelwayne/...

3 months ago 40 10 2 3
Image shows a box of ferrero rocher chocolates where the upper triangle has been eaten like 2d matrix where the lower half triangle is ones

Image shows a box of ferrero rocher chocolates where the upper triangle has been eaten like 2d matrix where the lower half triangle is ones

Ferrero Causal Attention Mask so AI can learn what chocolate I will likely eat next

3 months ago 0 0 0 0

Yeah, it may be a while for a mature v1 of the language and the std lib will take longer perhaps. I do find it fun to work with and it doesn't have any backwards compatibility to worry about.
You have inspired me to catch up on the latest C though.

3 months ago 1 0 1 0
Talking about making C safer with closures and nested function patterns
Talking about making C safer with closures and nested function patterns YouTube video by Nic Ferrier

I made a video about patterns with closures in C using the new nested functions to illustrate my point.

Closures are going to make C programming SO MUCH EASIER AND SAFER.

And GCC new "safe" nested functions are going to be good enough for now.

youtu.be/MriJGb1ZimI?...

3 months ago 15 2 1 0

I have a love hate relationship with c++ and I'm mostly thankful I rarely need it for work. I am a big fan of Zig but I worked for a few years in C and still have good feelings about it.

3 months ago 2 0 1 0

Nice I have been keep up to date with C++ but had no idea C was getting closures

3 months ago 1 0 1 0
Advertisement
Program Development by Stepwise Refinement

Let's fix the links :D

Program Development by Stepwise Refinement - Niklaus Wirth
sunnyday.mit.edu/16.355/wirth...

Notes on structured programming - Dijkstra
www.cs.utexas.edu/~EWD/transcr...

Abstraction Mechanisms in CLU - Barbara Liskov
dl.acm.org/doi/10.1145/...

3 months ago 0 0 0 0

In particular the CLU language was very forward looking. I find it ironic that Liskov is so well known for inheritance, which she did work on, but her work before that eschewed inheritance entirely and focused on other abstractions. After her work on sub-typing she shifted to distributed systems.

3 months ago 0 0 1 0
Program Development by Stepwise Refinement

Holiday reading for software engineers

[Program Development by Stepwise Refinement - Niklaus Wirth](sunnyday.mit.edu/16.355/wirth...)

[Notes on structured programming - Dijkstra](www.cs.utexas.edu/~EWD/transcr...)

[Abstraction Mechanisms in CLU - Barbara Liskov](dl.acm.org/doi/10.1145/...)

3 months ago 1 0 1 0
Preview
How Gemini 3 Pro Beat Pokemon Crystal (and 2.5 Pro didn't) From 2.5 Pro's lighthouse loop to 3 Pro's "Zombie Phoenix" strategy against Red: a full breakdown of why Gemini 3 Pro is a superior long-horizon agent.

To paraphrase the author "It's not just playing Pokemon it's doing science"

blog.jcz.dev/gemini-3-pro...

Cool

4 months ago 0 0 0 0

Nice intro to where algebraic effects fit into the Scala ecosystem

4 months ago 0 0 0 0
Preview
GitHub - justinhj/rudehackernews: Uses the OpenAI api to rewrite Hacker News headlines rudely. LMAO. Uses the OpenAI api to rewrite Hacker News headlines rudely. LMAO. - justinhj/rudehackernews

You can make your own and run locally with this: github.com/justinhj/rud...

4 months ago 0 0 0 0

run it with zig build run-day8-part3 -- day8zig/input.txt 2> input.csv

(then chop off the top two lines)

4 months ago 0 0 0 0
Preview
adventofcode2025/day8zig/src/part3.zig at main · justinhj/adventofcode2025 adventofcode2025. Contribute to justinhj/adventofcode2025 development by creating an account on GitHub.

It does not solve the problem just visualizes building the circuits in the order each vector was added.

In order to generate the data I I modified part1 of my solution to output the vectors and their circuit id comma delimited.

github.com/justinhj/adv...

4 months ago 0 0 1 0
Circuit Builder

Hey Advent of Coders.

I made this visualizer with Gemini. Pretty nice to watch it build the circuits in 3d using three.js.

heyes-jones.com/circuitbuild...

You can paste in your own code for examples or the input. This is hard coded with my input.

4 months ago 0 0 1 0
Advertisement
Preview
Haskell in Production: Scrive In our Haskell in Production series, we interview developers and technical leaders from companies that use Haskell for real-world tasks. We cover benefits, downsides, common pitfalls, and tips for b…

I was interviewed by Serokell regarding my job in Scrive and how we use #Haskell in production, enjoy! serokell.io/blog/haskell...

8 months ago 21 6 0 0
Optimizing training a GPT style Tokenizer with C++

Happy to share a new blog post! I've been working on a side project to learn more about the tokenization process of LLM's. In the blog post I explore porting Andrej Karpathy's minbpe tokenizer from Python to C++: justinhj.github.io/2025/07/30/j...

8 months ago 0 0 0 0
Post image Post image Post image

Some of the most popular disk copying utilities for the BBC Micro. I found Howard Spurr's 'Disk Duplicator III' was very effective with most protected disks. All were used to make backups of originals of course!

9 months ago 36 3 2 1
Empty food tray with a label reading "Antipasta Pasta Salad, $7.99 /lb" next to trays with food at a self-service counter.

Empty food tray with a label reading "Antipasta Pasta Salad, $7.99 /lb" next to trays with food at a self-service counter.

i'm no stephen hawking but i think what happens is that they cancel each other out

9 months ago 11520 1316 377 92
Preview
GitHub - justinhj/zigpath: Path finding in Zig Path finding in Zig. Contribute to justinhj/zigpath development by creating an account on GitHub.

een working on a fun tool to visualize search algorithms. Written in Zig and uses zig-raylib.

github.com/justinhj/zig...

9 months ago 0 0 0 0