Posts
-
“Turnstyle” ‒ August 21, 2024
An esoteric, graphical functional language -
“Lazy Layout” ‒ July 22, 2023
A fun application of circular programming -
“Haskell Puzzles” ‒ June 19, 2023
Some Haskell Puzzles from ZuriHac 2023 -
“Lazy Sort: Counting Comparisons” ‒ September 17, 2020
How good is Haskell's lazy sort actually? -
“Photoessay: Pilatus” ‒ August 19, 2020
Monochromes from a foggy hike -
“Visual Arrow Syntax” ‒ March 12, 2020
Finally, better Arrow syntax, completely free of hacks -
“Zero-config MiniDLNA/ReadyMedia” ‒ February 26, 2020
Quick and dirty way to stream video -
“Mandelbrot & Lovejoy's Rain Fractals” ‒ January 4, 2020
Elegant but relatively useless noise -
“Partial application using flip” ‒ October 15, 2019
A simple but mildly interesting Haskell trick -
“The ZuriHac registration system” ‒ September 3, 2019
How and why we wrote our own tools from scratch -
“Beeraffe” ‒ February 27, 2019
A silly game in PureScript -
“Dynamic Graphs” ‒ January 11, 2019
A Haskell library for the dynamic connectivity problem -
“Dependent Types in Haskell: Binomial Heaps 101” ‒ September 4, 2018
Who put binary numbers in my type system? -
“Haskell Design Patterns: The Handle Pattern” ‒ March 8, 2018
A neat and simple way to build services in Haskell -
“Video: Getting things done in Haskell” ‒ December 7, 2017
How to Architect Medium to Large-Scale Haskell Applications -
“ZuriHac plays” ‒ July 17, 2017
Collaborative gaming as fun Hackathon project -
“An informal guide to better compiler errors” ‒ April 27, 2017
A talk in which I discuss compiler errors -
“WebSockets 0.11” ‒ April 16, 2017
Update on the Haskell WebSockets library -
“Lazy I/O and graphs: Winterfell to King's Landing” ‒ January 17, 2017
Finding the shortest path in a lazily loaded infinite graph -
“Package takeover: indents” ‒ December 22, 2016
A Parsec package to deal with indentation -
“Patat and Myanmar travels” ‒ October 2, 2016
Presentations And The ANSI Terminal -
“Monitor calibration and Linux” ‒ July 6, 2016
How I set up color management on my Linux system -
“Cryptographic Hashes and Cyclic Dependencies” ‒ June 4, 2016
How to solve the chicken-and-egg problem with some graph theory -
“On Ad-hoc Datatypes” ‒ May 11, 2016
Use ad-hoc datatypes liberally to improve code readability -
“Haskell: mistakes I made” ‒ April 11, 2016
A talk in which I discuss common mistakes (and how to fix them) -
“Tries and elegant Scope Checking” ‒ October 30, 2015
A less frequently discussed part of DSL design -
“Erasing "expected" messages in Parsec” ‒ September 2, 2015
A useful little trick to improve parser errors -
“The Prio Applicative” ‒ May 26, 2015
An interesting Applicative which lets us prioritize computations -
“Can we write a Monoidal Either?” ‒ May 19, 2015
About the problems with clashing Applicative and Monad -
“Practical testing in Haskell” ‒ March 13, 2015
Testing the LRU Cache from the last post as an example -
“Writing an LRU Cache in Haskell” ‒ February 24, 2015
Using psqueues to write simple but fast code -
“Haskell Design Patterns: .Extended Modules” ‒ January 20, 2015
A clean way of extending third-party modules -
“Image Processing with Comonads” ‒ November 27, 2014
A simple real-world example showing an image-processing Comonad -
“Photoessay: Off-Season (Turkey)” ‒ October 31, 2014
A set of pictures from Turkey -
“Generalizing function composition” ‒ October 17, 2014
The implementation of the legendary holla-holla-get-dolla operator -
“Photoessay: things I see at night (Zürich)” ‒ September 6, 2014
A short photoessay on Zürich by night -
“Profiteur: a visualiser for Haskell GHC .prof files” ‒ February 25, 2014
A nicer way to browse big profile files -
“I do not have a lot of strong opinions” ‒ January 5, 2014
An introspective blogpost on my apparent lack of strong views -
“Picking a random element from a frequency list” ‒ November 21, 2013
A mildly interesting algorithm I used in Lorem Markdownum -
“WebSockets 0.8” ‒ October 22, 2013
New major release of the Haskell WebSockets library -
“Erudify” ‒ September 29, 2013
About my new job as Software Engineer at Erudify -
“Travelling: Cologne & Naples” ‒ September 13, 2013
Trying some travel blogging: two cities I visited this summer -
“Controlling Chromium in Haskell” ‒ September 1, 2013
Driving Chromium using its built-in WebSockets server -
“UGent Courses: A Review” ‒ August 10, 2013
I recently graduated from Ghent University, so time for a review -
“OdHac” ‒ May 8, 2013
My report of the Hackathon in Odessa -
“Hakyll 4.0” ‒ January 16, 2013
New major release of the Haskell static site generator -
“Skateboarding and the Belgian police” ‒ December 19, 2012
A minor run-in with a police officer in Ghent while skating -
“Wiggling Sums” ‒ October 17, 2012
An interesting Traversable problem I stumbled across -
“Applicative, bidirectional serialization combinators” ‒ September 7, 2012
A neat GADT/Applicative trick -
“blaze-html 0.5” ‒ April 21, 2012
A bunch of changes to the blaze-html library -
“A bit of ST and a bit of IO: Designing a DCPU-16 emulator” ‒ April 12, 2012
On monadic typeclasses, pure and impure state monads -
“digestive-functors for Snap users” ‒ April 3, 2012
Uploads for Snap backend, and a Heist library! -
“digestive-functors 0.3” ‒ March 21, 2012
Another formlets upgrade -
“Monads and Arrows: modelling a build system” ‒ January 14, 2012
An success story of Arrows -
“The composability of Iteratees” ‒ December 26, 2011
An entry-level article about Iteratees -
“Type-safe events” ‒ October 16, 2011
Type-safe event-based programming in Haskell -
“Text/UTF-8: Aftermath” ‒ August 19, 2011
The final results, and what's next? -
“Text/UTF-8: Studying memory usage” ‒ August 9, 2011
Benchmarking the memory usage of an example server -
“Text/UTF-8: Initial results” ‒ July 10, 2011
A status report on my google summer of code project -
“Parallelizing a nonogram solver” ‒ July 5, 2011
Results from the UGent course on programming languages -
“Create a small blog using hakyll-contrib” ‒ June 22, 2011
Create your blog software in 15 minutes with Hakyll -
“Counting laps using bluetooth dongle detection on the 12 urenloop” ‒ May 9, 2011
It's a hardware problem -
“Text/UTF-8: Call for Benchmarks” ‒ April 27, 2011
A search for libraries and applications extensively using text -
“Queueing IO actions” ‒ April 18, 2011
Creating a simple queue system for retryable IO actions -
“Girl walks among the chaos” ‒ April 7, 2011
Girl walks among the chaos and understands -
“Hacking Hakyll” ‒ March 30, 2011
A bit on Hakyll internals for interested hackers -
“A Gnome Socket Applet” ‒ February 26, 2011
Making Gnome play nicely with xmonad and friends -
“BlazeHtml 0.4” ‒ January 16, 2011
An update for the BlazeHtml project, with some new features -
“Digestive functors 0.0.2” ‒ December 9, 2010
An upgrade of formlets -
“BelHac: summary” ‒ November 9, 2010
Summary of BelHac, the 12th Haskell Hackathon -
“IRC Bots, Redis bindings and Formlets” ‒ September 27, 2010
Stuff I've been working on the last month -
“BlazeHtml 0.2” ‒ August 9, 2010
Second release of my GSoC project -
“The Blaze Builder” ‒ August 5, 2010
A fast builder monoid for string concatenation -
“The Dwarfs and The Fast Marking Algorithm” ‒ July 11, 2010
How to abuse malloc for fast marking -
“BlazeHtml 0.1” ‒ June 20, 2010
A first release of the BlazeHtml project -
“BlazeHtml RFC” ‒ May 27, 2010
RFC for the BlazeHtml project -
“Memory leak hunting in Java” ‒ May 20, 2010
A bit about a recent memory leak hunt in a university project -
“BlazeHtml: Initial results” ‒ April 28, 2010
BlazeHtml was accepted as GSoC project, I present the project here -
“Using Arrows for Dependency Handling” ‒ March 26, 2010
I recently found a very good use case for Arrows, so I thought I'd share it here -
“My Haskell TronBot for the Google AI Challenge” ‒ March 1, 2010
My bot turned out to be the top scoring Haskell bot, so here's the code -
“Google AI Challenge and Haskell list performance” ‒ February 8, 2010
A post about a typical issue with Haskell lists -
“Caching in Hakyll: Long live Data.Binary!” ‒ January 25, 2010
Some thoughts and findings on implementing caching in Hakyll -
“Software Development 1: My impressions” ‒ January 20, 2010
My thoughts on our first software development course at uni -
“Maybe, null, and boilerplate code” ‒ January 4, 2010
An ode to the Maybe type in Haskell, and a comparison with null -
“Once things have settled down” ‒ January 2, 2010
Just trying to clear my mind here -
“Functions are data (and very cool data, too)” ‒ December 23, 2009
A short rant about how cool it is to use functions as data in Haskell -
“My plans for” ‒ December 18, 2009
What I'll be doing on my first barcamp -
“What the hell is jvgs -- Part I” ‒ December 9, 2009
Every project has a story: how and why jvgs originally started -
“A first post” ‒ December 2, 2009
A post describing the why and the how of the technical setup of this blog