Blog articles
This is my blog. I talk about functional programming, graphics, demoscene, optimization and many other topics!
It is intentional that no comment can be written by readers to prevent flooding, scams and spamming.
Feel free to subscribe to the feed to be notified when a new article is released!
Introducing flirt
on Wed Dec 4 17:08:00 2024 UTC
Zig, linear types and PwTP
on Wed Jul 17 18:35:00 2024 UTC
Moving away from PR/MR workflow
on Wed Jun 5 10:12:00 2024 UTC
Zellij is doing too much
on Thu Apr 25 10:43:00 2024 UTC
The Kakoune philosophy
on Sat Dec 23 14:15:00 2023 UTC
Reflections about note-taking
on Thu Oct 12 20:35:00 2023 UTC
kak-tree-sitter v0.4 and reflections
on Tue Aug 29 10:35:00 2023 UTC
Kakoune design analysis with kak-tree-sitter
on Fri Jun 9 19:20:00 2023 UTC
Even more hindsight on Vim, Helix and Kakoune
on Wed May 24 11:50:00 2023 UTC
My thoughts about editors in 2022
on Sun Jan 1 00:00:00 2023 UTC
luminance redesign; Part 1: compatible vertex types
on Tue Sep 6 11:30:00 2022 UTC
A Rust shading language EDSL
on Sat Jul 30 13:30:00 2022 UTC
Useful Hop in 2022
on Mon Jul 18 14:26:00 2022 UTC
Development Environments
on Sun Jun 26 15:01:00 2022 UTC
Optimizing Advent of Code 2021 Day 16 part 1 & 2
on Fri Dec 24 14:54:00 2021 UTC
Neovim plugins stability
on Wed Nov 3 00:24:00 2021 UTC
My thoughts about editors in (early) 2021
on Mon Mar 22 21:00:00 2021 UTC
Optimizing the permutation algorithm of hop.nvim
on Mon Mar 15 00:00:00 2021 UTC
My thoughts about editors in 2020
on Mon Sep 7 00:03:00 2020 UTC
The compile-time deinterleaving interface of luminance-0.40
on Sun Jul 19 19:39:00 2020 UTC
The new luminance is there
on Thu Jul 16 18:49:00 2020 UTC
An interesting subtle property of where clauses with super traits
on Sat May 2 23:50:00 2020 UTC
Let’s talk about C++ exceptions
on Sat Feb 29 20:20:00 2020 UTC
Let’s talk about C++ constructors
on Mon Feb 24 00:35:00 2020 UTC
Emulating RFC 1598, less or… more?!
on Mon Nov 25 15:50:00 2019 UTC
My Rust 2020 ideas
on Thu Oct 31 15:15:00 2019 UTC
Announcement: luminance-0.31, luminance-derive and luminance-glutin
on Thu Aug 29 13:12:00 2019 UTC
cargo and how crates.io doesn’t like cyclic dev-dependencies
on Fri Aug 23 12:00:00 2019 UTC
Animate code with awoo!
on Sun Jul 28 11:00:00 2019 UTC
On public API and private implementation
on Thu Jun 13 17:05:00 2019 UTC
Pre luminance-1.0.0 and random thoughts
on Fri Apr 26 22:30:00 2019 UTC
splines-1.0.0 and first release candidate
on Mon Apr 22 01:10:00 2019 UTC
New cargo subcommand: sync-readme
on Mon Feb 25 18:50:00 2019 UTC
Universal JSON support in warmy-0.11.1
on Fri Jan 25 00:50:00 2019 UTC
Hindsight on Advent of Code 2018
on Sat Jan 12 00:20:00 2019 UTC
A more faithful Display for proc-macro token types
on Sat Dec 1 19:51:00 2018 UTC
Rust traits and their (lack of) privacy
on Tue Nov 27 04:00:00 2018 UTC
glsl-0.13 and its visitor pattern
on Thu Nov 22 04:20:00 2018 UTC
Introducing pest into glsl and hindsight about nom vs. pest (part 2)
on Sat Nov 17 20:40:00 2018 UTC
Introducing pest into glsl and hindsight about nom vs. pest (part 1)
on Sat Nov 17 05:00:00 2018 UTC
On dealing with owning and borrowing in public interfaces
on Sun Nov 4 01:30:00 2018 UTC
Release of glsl-quasiquote-0.2
on Mon Oct 22 02:00:00 2018 UTC
Rust and features discoverability
on Sat Oct 13 23:37:00 2018 UTC
GLSL quasiquoting in Rust!
on Fri Oct 5 19:00:00 2018 UTC
Trying to tackle the orphans problem
on Thu Sep 20 12:30:00 2018 UTC
Easy interpolation across splines
on Sun Aug 5 19:00:00 2018 UTC
On impl blocks, injection and surjection in Rust
on Sun Jul 22 22:05:00 2018 UTC
The Cheddar shading language
on Mon Jul 9 01:00:00 2018 UTC
luminance-0.27: cleanup, easier to use and examples!
on Thu Jun 28 14:00:00 2018 UTC
Moving out of a Drop struct in Rust?
on Tue May 22 22:22:00 2018 UTC
Rank-n functions in Rust?
on Sat May 19 12:48:00 2018 UTC
Asynchronous warmy: a prequel
on Tue May 8 19:30:00 2018 UTC
Main differences between luminance and other famous Rust crates
on Wed Mar 28 18:40:00 2018 UTC
Auto-derive uniform interfaces in luminance-0.25.5
on Thu Mar 1 02:18:00 2018 UTC
warmy-0.6.0; bug fixes and rewrite
on Sat Feb 24 19:46:00 2018 UTC
Spectra gets Rust scripting!
on Mon Feb 19 02:57:00 2018 UTC
State of luminance
on Thu Sep 14 00:00:00 2017 UTC
Rust GLSL crate
on Sun Jul 30 00:00:00 2017 UTC
On programming workflows
on Sun Jul 23 00:00:00 2017 UTC
Postmortem #1 – Revision 2017
on Thu Apr 20 00:00:00 2017 UTC
Lifetimes limits – self borrowing and dropchecker
on Tue Feb 7 00:00:00 2017 UTC
luminance designs
on Sun Aug 28 00:00:00 2016 UTC
luminance-0.6.0 sample
on Mon Jul 25 00:00:00 2016 UTC
Porting a Haskell graphics framework to Rust (luminance)
on Fri Apr 29 00:00:00 2016 UTC
Pure API vs. IO-bound API for graphics frameworks
on Thu Feb 18 00:00:00 2016 UTC
Existential quantification and GADT in luminance-0.8
on Wed Dec 9 00:00:00 2015 UTC
OpenGL 3.2 support for luminance!
on Fri Nov 13 00:00:00 2015 UTC
luminance, episode 0.6: UBO, SSBO, Stackage
on Sun Oct 25 00:00:00 2015 UTC
luminance-0.5.1 and wavefront-0.4.0.1
on Sun Oct 18 00:00:00 2015 UTC
Load geometries with wavefront-0.1!
on Sun Oct 11 00:00:00 2015 UTC
luminance-0.3 – Adding more texture kinds to the equation…
on Tue Oct 6 00:00:00 2015 UTC
luminance first tutorial
on Thu Sep 24 00:00:00 2015 UTC
luminance 0.1 released!
on Tue Sep 22 00:00:00 2015 UTC
Thoughts about software meta-design
on Sun Sep 13 00:00:00 2015 UTC
Contravariance and luminance to add safety to uniforms
on Sun Aug 23 00:00:00 2015 UTC
Never forget your git stashes again!
on Sun Aug 16 00:00:00 2015 UTC
Luminance – what was that alignment stuff already?
on Tue Aug 11 00:00:00 2015 UTC
Luminance – Vertex Arrays
on Mon Aug 10 00:00:00 2015 UTC
Luminance – framebuffers and textures
on Sat Aug 1 00:00:00 2015 UTC
Introducing Luminance, a safer OpenGL API
on Fri Jul 24 00:00:00 2015 UTC
Don’t use Default
on Thu Jul 16 00:00:00 2015 UTC
smoothie-0.3, Bézier curves and new user interface
on Tue Jun 30 00:00:00 2015 UTC
Mac OS X support in al-0.1.4
on Mon Jun 29 00:00:00 2015 UTC
HID and MSI keyboards
on Sat Jun 20 00:00:00 2015 UTC
Asset management in a real time 3D engine in Haskell
on Tue Jun 16 00:00:00 2015 UTC
Losing our privacy
on Tue Apr 21 00:00:00 2015 UTC
Generalized swap
on Tue Apr 14 00:00:00 2015 UTC
Volumetric light shafts
on Wed Apr 8 00:00:00 2015 UTC
Getting into netwire
on Sun Mar 15 00:00:00 2015 UTC
al 0.1.1.2 was shipped
on Tue Mar 3 00:00:00 2015 UTC
al 0.1.0.2 – documentation and default paths
on Sun Mar 1 00:00:00 2015 UTC
al 0.1 released!
on Sat Feb 28 00:00:00 2015 UTC
Smoothie, a Haskell library for creating smooth curves
on Thu Feb 26 00:00:00 2015 UTC
Why has type aliasing almost killed me
on Wed Jan 7 00:00:00 2015 UTC
Abstracting shader – Environment
on Mon Nov 17 00:00:00 2014 UTC
Abstracting shader – Haskell ash library
on Fri Nov 14 00:00:00 2014 UTC