justinhj's Avatar

justinhj

@justinhj

Posting about video games and programming

353
Followers
293
Following
60
Posts
07.05.2023
Joined
Posts Following

Latest posts by justinhj @justinhj

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)

16.02.2026 18:13 πŸ‘ 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

06.02.2026 21:54 πŸ‘ 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...

20.01.2026 16:11 πŸ‘ 19 πŸ” 4 πŸ’¬ 4 πŸ“Œ 0
Video thumbnail

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...

20.01.2026 05:01 πŸ‘ 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 πŸ˜…

14.01.2026 01:44 πŸ‘ 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...

12.01.2026 20:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
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

06.01.2026 13:30 πŸ‘ 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.

06.01.2026 17:43 πŸ‘ 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/...

06.01.2026 17:21 πŸ‘ 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

25.12.2025 17:01 πŸ‘ 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.

24.12.2025 21:50 πŸ‘ 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?...

24.12.2025 16:42 πŸ‘ 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.

24.12.2025 21:38 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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

24.12.2025 19:36 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
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/...

24.12.2025 18:34 πŸ‘ 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.

24.12.2025 18:30 πŸ‘ 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/...)

24.12.2025 18:30 πŸ‘ 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

20.12.2025 16:49 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Nice intro to where algebraic effects fit into the Scala ecosystem

19.12.2025 21:42 πŸ‘ 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...

19.12.2025 18:12 πŸ‘ 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)

19.12.2025 18:06 πŸ‘ 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...

19.12.2025 18:06 πŸ‘ 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.

19.12.2025 18:06 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
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...

30.07.2025 09:42 πŸ‘ 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...

30.07.2025 18:20 πŸ‘ 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!

03.07.2025 15:38 πŸ‘ 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

02.07.2025 12:22 πŸ‘ 11546 πŸ” 1320 πŸ’¬ 377 πŸ“Œ 93
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...

29.06.2025 19:32 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
The backbone of agentic AI, distributed systems, and OSS sustainability Jonas BonΓ©r talks Akka’s evolution, open-source challenges, BSL licensing, and how Akka powers scalable, agentic AI systems.

Some people refer to Jonas as a '𝗹𝗲𝗴𝗲𝗻𝗱'...

In this @rockthejvm.com episode, Jonas BoΕ„er discusses the future of open-source sustainability and how the actor model powers #agenticAI systems.

Watch the full discussion: akka.io/blog/the-bac...

#AgenticAI #AI #DistributedSystems #Developer

25.06.2025 16:15 πŸ‘ 4 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0

Well worth a follow thanks for your posts Kevin

12.06.2025 15:22 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0