<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Greg Rozdzialik's blog</title>
<link>https://www.gregroz.me/</link>
<description>Articles about stuff I find interesting. Mostly frontend and tech-related.</description>
<language>en-us</language>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<atom:link href="https://www.gregroz.me/rss.xml" rel="self" type="application/rss+xml" />
<pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate>

<item>
  <title>Git revert after code moved to another file</title>
  <link>https://www.gregroz.me/article/git-revert-after-code-moved-to-another-file</link>
  <description>How to do `git revert` after the code has been moved to another file</description>
  <pubDate>Fri, 09 May 2025 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/git-revert-after-code-moved-to-another-file</guid>
</item>
<item>
  <title>JSWorld Conference 2024 impressions</title>
  <link>https://www.gregroz.me/article/jsworld-conf-2024-impressions</link>
  <description>Here is how JSWorld Conference 2024 in Amsterdam looked like from my perspective.</description>
  <pubDate>Fri, 22 Mar 2024 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/jsworld-conf-2024-impressions</guid>
</item>
<item>
  <title>fp-ts with React hooks</title>
  <link>https://www.gregroz.me/article/use-fp-ts-hooks</link>
  <description>Using fp-ts containers in React hook dependency arrays is tricky since their references are not stable.</description>
  <pubDate>Wed, 10 May 2023 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/use-fp-ts-hooks</guid>
</item>
<item>
  <title>Type-safe nullability without strictNullChecks</title>
  <link>https://www.gregroz.me/article/type-safe-nullability-without-strictNullChecks</link>
  <description>Lack of strictNullChecks makes it hard to express nullability of values. [fp-ts's `Option`](https://gcanti.github.io/fp-ts/modules/Option.ts.html) comes to the type-safe rescue.</description>
  <pubDate>Wed, 10 May 2023 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/type-safe-nullability-without-strictNullChecks</guid>
</item>
<item>
  <title>Figma font helper on Ubuntu</title>
  <link>https://www.gregroz.me/article/figma-font-helper-ubuntu</link>
  <description>Figma does not officially support local filesystem fonts on Linux. However, there is an open-source tool that makes it possible.</description>
  <pubDate>Thu, 13 Apr 2023 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/figma-font-helper-ubuntu</guid>
</item>
<item>
  <title>Upgrade scoped packages with yarn</title>
  <link>https://www.gregroz.me/article/yarn-up-scoped</link>
  <description>yarn up '*' does not upgrade scoped packages by default. This article describes how to upgrade scoped packages.</description>
  <pubDate>Tue, 11 Apr 2023 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/yarn-up-scoped</guid>
</item>
<item>
  <title>Next.js getServerSideProps interception</title>
  <link>https://www.gregroz.me/article/nextjs-getServerSideProps-interception</link>
  <description>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.</description>
  <pubDate>Sun, 29 Jan 2023 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/nextjs-getServerSideProps-interception</guid>
</item>
<item>
  <title>Awaiting problems in JavaScript</title>
  <link>https://www.gregroz.me/article/awaiting-problems-in-javascript</link>
  <description>Does `await` solve [the problems of `Promise.prototype.then`](/article/javascript-promised-convenience)? Not really.</description>
  <pubDate>Mon, 24 Oct 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/awaiting-problems-in-javascript</guid>
</item>
<item>
  <title>Catch rejections in every Promise chain</title>
  <link>https://www.gregroz.me/article/catch-rejections-in-every-promise-chain</link>
  <description>In Node.js, omitting catching a rejection in at least one Promise chain leads to an `unhandledRejection` event and the process being usually killed.</description>
  <pubDate>Wed, 19 Oct 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/catch-rejections-in-every-promise-chain</guid>
</item>
<item>
  <title>JavaScript's promised convenience</title>
  <link>https://www.gregroz.me/article/javascript-promised-convenience</link>
  <description>JavaScript `Promise`'s `then` function offers extra convenience. Is it harmful, though?</description>
  <pubDate>Tue, 18 Oct 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/javascript-promised-convenience</guid>
</item>
<item>
  <title>Representing wizard state in TypeScript</title>
  <link>https://www.gregroz.me/article/representing-wizard-state-in-typescript</link>
  <description>My solution to describing the state of a multi-step wizard in TypeScript.</description>
  <pubDate>Fri, 09 Sep 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/representing-wizard-state-in-typescript</guid>
</item>
<item>
  <title>Fixing accidental git submodule changes</title>
  <link>https://www.gregroz.me/article/fixing-accidental-git-submodule-changes</link>
  <description>How to fix unintentionally changing a git submodule hash to leave no trace of a mistake on your branch.</description>
  <pubDate>Wed, 10 Aug 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/fixing-accidental-git-submodule-changes</guid>
</item>
<item>
  <title>Neovim highlights are extmarks</title>
  <link>https://www.gregroz.me/article/neovim-highlights-are-extmarks</link>
  <description>While trying to contribute to [nvim-ts-rainbow](https://github.com/p00f/nvim-ts-rainbow) I discovered that _highlights_ in Neovim are implemented using _extmarks_.</description>
  <pubDate>Mon, 08 Aug 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/neovim-highlights-are-extmarks</guid>
</item>
<item>
  <title>Options based on generic parameters</title>
  <link>https://www.gregroz.me/article/options-based-on-ts-generic-parameters</link>
  <description>Two approaches in TypeScript to changing the type of an `options` parameter based on a generic function parameter.</description>
  <pubDate>Sun, 03 Jul 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/options-based-on-ts-generic-parameters</guid>
</item>
<item>
  <title>HiDPI in i3</title>
  <link>https://www.gregroz.me/article/i3-hidpi</link>
  <description>My journey to using HiDPI in i3 and finally getting the full benefits of having a 4k monitor.</description>
  <pubDate>Sun, 03 Jul 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/i3-hidpi</guid>
</item>
<item>
  <title>Collecting multiple errors in fp-ts</title>
  <link>https://www.gregroz.me/article/collecting-multiple-errors-fp-ts</link>
  <description>The [fp-ts](https://github.com/gcanti/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.</description>
  <pubDate>Sat, 02 Jul 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/collecting-multiple-errors-fp-ts</guid>
</item>
<item>
  <title>Indexing articles on my blog</title>
  <link>https://www.gregroz.me/article/indexing-blog-articles</link>
  <description>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.</description>
  <pubDate>Sat, 18 Jun 2022 00:00:00 GMT</pubDate>
  <guid>https://www.gregroz.me/article/indexing-blog-articles</guid>
</item>
</channel>

</rss>