Posts
-
December 21, 2020
Want to use Haskell for something real but don't want to risk it at work? This is how I do it.
-
November 26, 2020
Here's a couple of examples where I contaminated Ruby with functional intuitions.
-
August 10, 2020
A solid plan and some patience is all you need to migrate an entire application to a different technology (while it continues to run).
-
August 3, 2020
Our take on unit testing and how we approached testing Elm code in AirCasting.
-
July 27, 2020
How to use `setTimeout` and the DOM mutation observer API to attach callbacks to DOM nodes that do not yet exist.
-
July 20, 2020
How to use custom types to keep the interface declarative and avoid bugs.
-
July 13, 2020
How we managed to migrate AirCasting from Angular v1 to Elm while still delivering value
-
July 6, 2020
How Elm enabled fast iterations, cutting costs and keeping everybody happy in one of our projects at work—AirCasting
-
June 29, 2020
Code and pray when devising a solution is not the best approach. The exploration needs to start in problem space.
-
June 22, 2020
This script creates a Brewfile using `brew bundle dump` and adds to that all the apps from `/Applications` that can be installed via Homebrew as casks.
-
June 15, 2020
Using a Haskell script to crosspost to Medium a blog post with a frontmatter as used in Jekyll markdown files
-
June 8, 2020
Transforming Pandoc's AST to implement custom Markdown syntax.
-
June 1, 2020
Records in Haskell are troublesome but the Dot (syntax) is coming soon
-
May 25, 2020
Publish hidden drafts to production with a boolean flag in the metadata
-
May 18, 2020
Control which posts to publish with a boolean flag in the metadata
-
May 11, 2020
Returning the correct JSON error when parsing fails
-
May 4, 2020
Wrapping URL query params in their own types without using FromHttpApiData
-
April 27, 2020
Wrapping URL query params in their own types using FromHttpApiData
-
April 20, 2020
Using HLint to improve the code in Stream
-
April 13, 2020
Using HSpec to test Stream through its endpoints
-
April 6, 2020
Enabling GHC compiler warnings to enforce better code
-
March 30, 2020
Using Rails as a handrail to keep our iteration small
-
March 23, 2020
Using yaml to configure a Servant application
-
March 19, 2020
Using Ormolu to keep code pretty and stop once for all discussions on cosmetics
-
March 14, 2020
Everything needed to deploy and run Stream (Servant) on the server side
-
March 3, 2020
Setting up Servant and CI for Stream
-
February 26, 2020
Hidden in the Functional Programming basement at Lunar Logic we want to have fun, enable newcomers to approach Haskell and creating future options for the company
-
February 18, 2020
Differences and similarities between function application, Functor's `fmap`, Applicative Functor's sequential application and Monad's `bind`
-
February 3, 2020
A deeper look at Monad's bind (i.e. >>=) to understand why the type signature implies sequential composition
-
January 20, 2020
Using a Haskell script to migrate a Kanbanery board to Trello
-
January 13, 2020
Using a Haskell script to crosspost a blog post with a frontmatter as used in Jekyll markdown files
-
January 6, 2020
Using a Haskell script to post a tweet about a blog post with a frontmatter as used in Jekyll markdown files
-
December 26, 2019
Using a Haskell script to bootstrap a file from a template
-
October 7, 2019
Using Fmt to format stuff
-
September 30, 2019
Using Cassava to parse a CSV file
-
September 23, 2019
Refactoring our deployed-to-Mars rover
-
September 16, 2019
Moving a rover on Mars type-safely
-
September 9, 2019
Ever heard of `Enum`, `Bounded`, `BoundedEnum` and `CyclicEnum`?
-
September 2, 2019
How to simplify code by merging two monads into one
-
August 26, 2019
In this post I'm celebrating becoming a contributor to Yesod
-
August 19, 2019
In this post we are going to see how to transform our Yesod blog into a JSON API (including authentication)
-
August 12, 2019
In this post we are going to see how to return JSON in our Yesod blog
-
August 5, 2019
In this post we are going to take care of authorization in our Yesod blog
-
July 29, 2019
In this post we are going to add authentication to our Yesod blog
-
July 22, 2019
In this post we are going to hook up our Yesod blog to a database
-
July 15, 2019
In this post we are going to develop the basic structure of our Yesod blog
-
July 8, 2019
Writing scripts with Haskell and PureScript is a good way of doing some functional programming at work
-
July 1, 2019
Implementing and using a parser combinator
-
June 24, 2019
Implementing and using a parser combinator
-
June 17, 2019
Implementing and using the State Monad
-
June 10, 2019
Transforming the structure of a tree by employing recursive functions, the Foldable typeclass and the State Monad
-
June 3, 2019
Interactive Programming in PureScript
-
May 27, 2019
Interactive Programming in PureScript
-
May 20, 2019
Interactive Programming in PureScript
-
April 15, 2019
Make your Hakyll posts look better in Twitter
-
April 1, 2019
Dipping a toe in compilers land
-
March 25, 2019
The title says it all 😅
-
March 18, 2019
Unit testing monadic functions
-
March 13, 2019
Purely functional state mutations in PureScript