Articles

I write things down about code.

  1. 🐪

    Implementing a binary heap in Ocaml

    Lets learn about and implement a new datastructure in the (mostly) purely functional beast of a language, OCaml 🐪

    Read more »

  2. 🗳️

    SvelteKit dynamic page components

    Lets look at how to dynamically load and display Svelte components for pages in SvelteKit

    Read more »

  3. 👋

    Thoughts On Moving Away From Ash

    Ash is a freaking cool technology. But here's why I'm moving away from using it.

    Read more »

  4. 🔌

    File based routing with Plug

    A lot of frontend frameworks take the design decision for the project file structure to dictate the structure of the API. Let's mirror that with Elixir's Plug library

    Read more »

  5. 🪲

    Debugging Tailwind's Language Server Protocol

    I use Neovim as my code editing driver. At work, our tech stack revolves around the Phoenix framework on top of Elixir Recently we've made the move to incorporate TailwindCSS into the mix - hardly a controversial decision since TW is basically bundled into Phoenix at this point!

    Read more »

  6. 🤖

    Metaprogramming in Elixir with macros

    Macros are one of the most powerful concepts in Elixir. Its what differentiates the language from the underlying Erlang BEAM your code is compiled to run upon.

    Read more »

  7. 🕊️

    Comparing a file with master branch

    I find myself very regularly needing to understand what has changed in a specific file compared to (most commonly `master`) another Git branch. There's no quickfire `git` command which will just take the file and branch you want and hand you back the file unfortunately, so we are left to come up with other means.

    Read more »

  8. 🛫

    Moving to Zola

    First article of the new year, and I tell myself that this time, this time I'll actually stick to writing! As every developer knows, you can't just go and start writing articles, you need to build the platform which they will be hosted on first!

    Read more »

  9. 🌯

    Exploring Haskell’s `newtype` as a type wrapper

    Sometimes when programming in various languages, it can be incredibly useful to be able to adapt the core primitive or third party types in your platform. A particular library’s API not quite to your liking? Need an additional sorting function on that damned list type? Sounds like a nice, ergonomic way of wrapping that external type to provide more functionality is in order.

    Read more »

  10. 🗳️

    Type safe local storage

    In my day job we were continually hitting an error with users whenever we rolled out changes to a particular form based feature.

    Read more »

  11. 🪢

    Checkout that PR

    The `gh` CLI is awesome. Everyone and their nan knows this. For me one of the best parts about it, is its potential for compose-ability with other CLI tools.

    Read more »

  12. 🛑

    Find and stop systemd services

    A delve into the CLI toolbox to kill a rogue Caddy process

    Read more »

  13. 📦

    Running my package json test command - the hard way

    Sometimes it can be super handy to have a quick and dirty way of accessing your package json scripts. Maybe you just want to know what the right name to call is. For that jq is our friend.

    Read more »

  14. 🧙

    Fast and dirty favicon

    We’ve all been there. We need a favicon for our new shiny website, but its in the wrong bloody format. Legends across the internet have spoken of a tool. A single tool so mighty, it can handle any image, video or audio manipulation any young squire could possibly dream up. That tool... is ffmpeg.

    Read more »

  15. 💪

    Solid is Solid

    🪖 Solid in a good way. No more manually managing dependency arrays to trigger re-renders.

    Read more »

  16. 🌉

    Farewell for now XMonad

    For the last 3 months or so I've been using Xmonad on my Arch box. Its been greater. Its a super powerful window manager, with #limitlesspotential to do anything and everything you could want on a linux desktop ...but you have to have the skills to do it!

    Read more »

  17. 🔤

    ABC's of Javascript - Apply, Bind & Call

    Here's a super quick reference of how each of the confusing initially confusing JS function `apply` , `bind` & `call`

    Read more »

  18. 🕺

    Damn you pango!

    Today the unthinkable happened. On booting into my arch box, I couldn't open Firefox.

    Read more »

  19. 🐙

    SSH me to Github

    🔥 SSH randomly no longer wanting to work when pushing/pulling/fetching etc?

    Read more »

  20. 🤙

    useLess useCallback

    I found this `useCallback` in the one of the components at work. This is actually not needed.

    Read more »

  21. 🏈

    The Quest For PWD In A Fresh Shell

    🔥 I open a new shell. I'm greeted by the home directory. Dang! I wanted to be back in pwd. With the power of zsh on our side we will conquer this worthy challenge!

    Read more »

  22. 🎯

    Focusing on inputs in react

    🎯 Inputs can require focus... Focusing the user onto an input is usually pretty simple

    Read more »

  23. 😳

    Flattening nested objects

    🎯 When your object has nested objected, sometimes you just need to flatten that s**t down!

    Read more »

  24. ♦️

    Async Array.reduce

    🎯 Handling async actions in a reduce function

    Read more »

  25. 🐿️

    Git Squash in style

    🔥 Instructions on how to implement single commit branches

    Read more »

  26. 🎙️

    Releasing Podcasts

    Despite its popularity, the technology which drives the world of podcasting is surprisingly archaic. Although it is true that there are paid services which abstract the nitty gritty of what is actually happening away from *you*, the podcast releaser. I'm sure there are many DIY-minded content producers who would prefer, like me, to go it alone and see the release of their product from start to finish (or just want to do it on the cheap and not pay a third-party service when you don't need to).

    Read more »