Hey, I'm Greg, welcome to my blog!

Git revert after code moved to another file

How to do git revert after the code has been moved to another file

Read more

JSWorld Conference 2024 impressions

Here is how JSWorld Conference 2024 in Amsterdam looked like from my perspective.

Read more

fp-ts with React hooks

Using fp-ts containers in React hook dependency arrays is tricky since their references are not stable.

Read more

Type-safe nullability without strictNullChecks

Lack of strictNullChecks makes it hard to express nullability of values. fp-ts's Option comes to the type-safe rescue.

Read more

Figma font helper on Ubuntu

Figma does not officially support local filesystem fonts on Linux. However, there is an open-source tool that makes it possible.

Read more

Upgrade scoped packages with yarn

yarn up '*' does not upgrade scoped packages by default. This article describes how to upgrade scoped packages.

Read more

Next.js getServerSideProps interception

Next.js can seem stuck fetching getServerSideProps result on client-side navigations. The approach outlined in the article bypasses making that network request, resulting in snappier UI, suitable for highly-interactive web applications.

Read more

Catch rejections in every Promise chain

In Node.js, omitting catching a rejection in at least one Promise chain leads to an unhandledRejection event and the process being usually killed.

Read more

JavaScript's promised convenience

JavaScript Promise's then function offers extra convenience. Is it harmful, though?

Read more

Representing wizard state in TypeScript

My solution to describing the state of a multi-step wizard in TypeScript.

Read more

Fixing accidental git submodule changes

How to fix unintentionally changing a git submodule hash to leave no trace of a mistake on your branch.

Read more

Neovim highlights are extmarks

While trying to contribute to nvim-ts-rainbow I discovered that highlights in Neovim are implemented using extmarks.

Read more

Options based on generic parameters

Two approaches in TypeScript to changing the type of an options parameter based on a generic function parameter.

Read more

HiDPI in i3

My journey to using HiDPI in i3 and finally getting the full benefits of having a 4k monitor.

Read more

Collecting multiple errors in fp-ts

The fp-ts library puts errors to the forefront and helps write type-safe code that correctly reports errors. Collecting errors from multiple operations can sometimes lead to boilerplate code. Let's see if there is a way to make that code shorter.

Read more

Indexing articles on my blog

How to avoid duplicate work when serving pages for my blog? Building up indexes that summarize the articles in a concise format is one solution to this problem.

Read more