Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/justinwoo/my-blog-posts

my blog posts, about purescript, nix, rust, haskell, etc.
https://github.com/justinwoo/my-blog-posts

Last synced: 10 days ago
JSON representation

my blog posts, about purescript, nix, rust, haskell, etc.

Awesome Lists containing this project

README

        

# My Blog Posts

These are my blog posts.

#### 2024 Oct 09

##### Some terms to know about Japanese whetstones

[file](posts/2024-10-09-some-terms-to-know-about-japanese-whetstones.md)

#### 2024 Sep 22

##### Building Nix Docker images on Mac OS with Multipass

[file](posts/2024-09-22-building-nix-docker-images-on-mac-os-with-multipass.md)

#### 2024 Mar 17

##### Project-based Nix env with direnv

[file](posts/2024-03-17-project-based-nix-env-with-direnv.md)

#### 2023 Aug 17

##### Home as Ctrl+A with Karabiner on Mac OS

[file](posts/2023-08-17-home-as-ctrl-a-with-karabiner-on-mac-os.md)

#### 2023 Jan 31

##### Properly recreating my i3 scratch window workflow in Mac OS

[file](posts/2023-01-31-properly-recreating-my-i3-scratch-window-workflow-in-mac-os.md)

#### 2023 Jan 29

##### Cheaper but buggier i3 scratch window workflow emulation in Mac OS

[file](posts/2023-01-29-cheaper-but-buggier-i3-scratch-window-workflow-emulation-in-mac-os.md)

#### 2023 Jan 28

##### Expensively recreating my i3 scratch window workflow in Mac OS

[file](posts/2023-01-28-expensively-recreating-my-i3-scratch-window-workflow-in-mac-os.md)

#### 2022 Nov 18

##### Patching binaries in Nix is easy and fun

[file](posts/2022-11-18-patching-binaries-in-nix-is-easy-and-fun.md)

#### 2022 Jun 05

##### GCC Version Hell with Rust Binaries

[file](posts/2022-06-05-gcc-version-hell-with-rust-binaries.md)

#### 2021 Dec 16

##### Re: Problems with updating PureScript libraries

[file](posts/2021-12-15-re-problems-with-updating-purescript-libraries.md)

#### 2021 Dec 14

##### Problems with updating PureScript libraries

[file](posts/2021-12-14-problems-with-updating-purescript-libraries.md)

#### 2021 Jul 06

##### Thoughts on building st via Nix

[file](posts/2021-07-06-thoughts-on-building-st-via-nix.md)

#### 2021 Jul 04

##### Nix derivations for Python programs with Poetry2Nix

[file](posts/2021-07-04-nix-derivations-for-python-programs-with-poetry2nix.md)

#### 2020 Sep 09

##### Multi-step building PureScript projects with Nix

[file](posts/2020-09-08-multi-step-building-purescript-projects-with-nix.md)

#### 2020 Jun 28

##### Installing PureScript in 2020

[file](posts/2020-06-28-installing-purescript-in-2020.md)

#### 2020 Jun 27

##### PureScript on Nix without dependency codegen

[file](posts/2020-06-27-purescript-on-nix-without-dependency-codegen.md)

#### 2020 May 31

##### Working with PureScript package sets with just Nix

[file](posts/2020-05-31-working-with-purescript-package-sets-with-just-nix.md)

#### 2020 May 30

##### My PureScript GitHub CI Setup in 2020

[file](posts/2020-05-30-my-purescript-github-ci-setup-in-2020.md)

#### 2020 May 25

##### Nix on GitHub Actions in 2020

[file](posts/2020-05-25-nix-on-github-actions-in-2020.md)

#### 2020 May 24

##### PureScript package sets using Jsonnet

[file](posts/2020-05-24-purescript-package-sets-using-jsonnet.md)

#### 2020 May 22

##### Some backported PureScript changes for my own uses

[file](posts/2020-05-22-some-backported-purescript-changes-for-my-own-uses.md)

#### 2020 Feb 05

##### A simple web app in Rust with Actix-Web

[file](posts/2020-02-05-a-simple-web-app-in-rust-with-actix-web.md)

#### 2020 Jan 09

##### A simple Telegram bot in Rust with Actix

[file](posts/2020-01-08-a-simple-telegram-bot-in-rust-with-actix.md)

#### 2019 Dec 04

##### Updating Nix expressions with Rust

[file](posts/2019-12-04-updating-nix-expressions-with-rust.md)

#### 2019 Sep 10

##### Why nix-shorts and expectations

[file](posts/2019-09-10-why-nix-shorts-and-expectations.md)

#### 2019 Aug 23

##### Using Puppeteer with Node2Nix

[file](posts/2019-08-23-using-puppeteer-with-node2nix.md)

#### 2019 Jul 02

##### Write a simple CLI in PureScript

[file](posts/2019-07-02-write-a-simple-cli-in-purescript.md)

#### 2019 Jun 23

##### Simple Parameteried Queries with Row Union

[file](posts/2019-06-23-simple-parameterized-queries-with-row-union.md)

#### 2019 Jun 22

##### Spago2Nix: Why and How

[file](posts/2019-06-22-spago2nix-why-and-how.md)

#### 2019 Jun 20

##### Installing PureScript in 2019

[file](posts/2019-06-20-installing-purescript-2019.md)

#### 2019 May 27

##### Minimal PureScript for Node users

[file](posts/2019-05-27-bare-minimum-purescript-for-node-users.md)

#### 2019 May 14

##### Consuming Node projects for Nix users

[file](./posts/2019-05-14-consuming-node-projects-for-nix-users.md)

#### 2019 Apr 29

##### Why Easy-PureScript-Nix

[file](./posts/2019-04-29-why-easy-purescript-nix.md)

#### 2019 Apr 29

##### Short: Simplified Tortellini with Instance Chains

[file](./posts/2019-04-29-short-simplified-tortellini-with-instance-chains.md)

#### 2019 Apr 06

##### Using Tree-sitter from PureScript

[file](./posts/2019-04-06-using-tree-sitter-from-purescript.md)

#### 2019 Mar 16

##### Short: Overriding version bounds in Nix Haskell

[file](./posts/2019-03-16-short-overriding-version-bounds-in-nix-haskell.md)

#### 2019 Mar 16

##### Building Purescript Projects with Nix

[file](./posts/2019-03-16-building-purescript-projects-with-nix.md)

#### 2019 Mar 14

##### Rust with Runtime Deps made easy with Nix

[file](./posts/2019-03-14-rust-with-runtime-deps-made-easy-with-nix.md)

#### 2019 Mar 02

##### Generic Sums to Variant and back again

[file](./posts/2019-03-02-generic-sums-to-variant-and-back-again.md)

#### 2019 Feb 11

##### Making a simple Haskell CLI without anything fancy

[file](./posts/2019-02-11-making-a-simple-haskell-cli-without-anything-fancy.md)

#### 2019 Feb 02

##### PureScript package management explained

[file](./posts/2019-02-02-purescript-package-management-explained.md)

#### 2019 Jan 13

##### Consuming Electron apps in Nix by patching binaries

[file](./posts/2019-01-13-consuming-electron-apps-in-nix-by-patching-binaries.md)

#### 2019 Jan 12

##### Putting your own derivations in Nix Profile

[file](./posts/2019-01-12-putting-your-own-derivations-in-nix-profile.md)

#### 2018 Nov - Dec

##### Advent of Justin 2018

#### 2018 Nov 10

##### Upgrade from Bower to Nix with Psc-Package2Nix

[file](./posts/2018-11-10-upgrade-from-bower-to-nix-with-psc-package2nix.md)

#### 2018 Nov 03

##### Nix-ify your Psc-Package dependencies

[file](./posts/2018-11-03-nix-ify-your-psc-package-dependencies.md)

#### 2018 Oct 29

##### Make your own Psc-Package with Perl

[file](./posts/2018-10-29-make-your-own-psc-package-with-perl.md)

#### 2018 Oct 27

##### Pseudo-dynamically typed errors in PureScript

[file](./posts/2018-10-27-pseudo-dynamically-typed-errors-in-purescript.md)

#### 2018 Oct 24

##### Using PureScript easily with Nix

[file](./posts/2018-10-24-using-purescript-easily-with-nix.md)

#### 2018 Oct 18

##### Easy Markdown to Beamer with Pandoc and Nix

[file](./posts/2018-10-18-easy-markdown-to-beamer-with-pandoc-and-nix.md)

#### 2018 Sep 15

##### Reflecting a record of proxies and keys of row types

[file](./posts/2018-09-15-reflecting-a-record-of-proxies-and-keys-of-row-types.md)

#### 2018 Sep 11

##### We don't need Peano Numbers in PureScript

[file](./posts/2018-09-11-we-dont-need-peano-numbers-in-purescript.md)

#### 2018 Aug 26

##### What I've learned since quitting Elm

[file](./posts/2018-08-26-what-ive-learned-since-quitting-elm.md)

#### 2018 Aug 13

##### Expecting Inferred Types (feat. Custom Type Errors)

[file](./posts/2018-08-13-expecting-inferred-types-feat-custom-type-errors.md)

#### 2018 Aug 06

##### Converting Generics-Rep to Row Types in PureScript

[file](./posts/2018-08-06-converting-generics-rep-to-row-types-in-purescript.md)

#### 2018 Jul 29

##### User empowerment of FFI in PureScript

[file](./posts/2018-07-29-user-empowerment-of-ffi-in-purescript.md)

#### 2018 Jul 23

##### Formatting type-level Strings with row type labels

[file](./posts/2018-07-23-formatting-type-level-strings-with-row-type-labels.md)

#### 2018 Jul 02

##### Implement your own compiler type class in PureScript

[file](./posts/2018-07-02-implement-your-own-compiler-type-class-in-purescript.md)

#### 2018 Jun 22

##### Managing Psc-Package sets with Dhall

[file](./posts/2018-06-22-managing-psc-package-sets-with-dhall.md)

#### 2018 Jun 17

##### A year of Twitter memes

[file](./posts/2018-06-17-a-year-of-twitter-memes.md)

#### 2018 Jun 4

##### Well-typed parameterized SQLite parameters with PureScript

[file](./posts/2018-06-04-well-typed-parameterized-sqlite-parameters-with-purescript.md)

#### 2018 May 31

##### 99(+) posts on Qiita as an English-only poster: Reflections

[file](./posts/2018-05-31-99+-posts-on-qiita-as-an-english-only-poster:-reflections.md)

#### 2018 May 27

##### Fun type-level literal number arithmetic with instance chains

[file](./posts/2018-05-27-fun-type-level-literal-number-arithmetic-with-instance-chains.md)

#### 2018 May 16

##### Simple Routing based on parsing type-level strings

[file](./posts/2018-05-16-simple-routing-based-on-parsing-type-level-strings.md)

#### 2018 May 11

##### Parsing type-level strings to extract types

[file](./posts/2018-05-11-parsing-type-level-strings-to-extract-types.md)

#### 2018 May 03

##### Well-typed path params in PureScript 0.12

[file](./posts/2018-05-03-well-typed-path-params-in-purescript-0.12.md)

#### 2018 May 02

##### Instance Chains to get nested record label "paths"

[file](./posts/2018-05-02-instance-chains-to-get-nested-record-label-paths.md)

#### 2018 Apr 27

##### Type classes and instances are pattern matching for types

[file](./posts/2018-04-27-type-classes-and-instances-are-pattern-matching-for-types.md)

#### 2018 Apr 21

##### Generics-Rep Sums and Products to List for Fun

[file](./posts/2018-04-21-generics-rep-sums-and-products-to-list-for-fun.md)

#### 2018 Apr 17

##### Matching on JS Union members with Row Types (Handling JS Unions cont.)

[file](./posts/2018-04-17-matching-on-js-union-members-with-row-types-handling-js-unions-cont.md)

#### 2018 Apr 15

##### Easy Hot-Reloading PureScript with Parcel

[file](./posts/2018-04-15-easy-hot-reloading-purescript-with-parcel.md)

#### 2018 Apr 02

##### Handling JS Unions with Row Types

[file](./posts/2018-04-02-handling-js-unions-with-row-types.md)

#### 2018 Apr 01

##### Making a new library and using it in your own Psc-Package set

[file](./posts/2018-04-01-making-a-new-library-and-using-it-in-your-own-psc-package-set.md)

#### 2018 Mar 25

##### Row-typed fun for building SQLite Queries

[file](./posts/2018-03-25-row-typed-fun-for-building-sqlite-queries.md)

#### 2018 Mar 20

##### Setting up PureScript in March 2018

[file](./posts/2018-03-20-setting-up-purescript-in-march-2018.md)

#### 2018 Mar 11

##### One-line JS FFI with PureScript-FFI-Props

[file](./posts/2018-03-11-one-line-js-ffi-with-purescript-ffi-props.md)

#### 2018 Mar 03

##### Make your own Form Library in PureScript

[file](./posts/2018-03-03-make-your-own-form-library-in-purescript.md)

#### 2018 Feb 18

##### Unions for Partial Properties in PureScript

[file](./posts/2018-02-18-unions-for-partial-properties-in-purescript.md)

#### 2018 Feb 04

##### Short: Decoding Product types using Generics-Rep

[file](./posts/2018-02-04-short-decoding-product-types-using-generics-rep.md)

#### 2018 Feb 03

##### Generic Decoding of Sum Types Feat. Fields to Row and vice versa

[file](./posts/2018-02-03-generic-decoding-of-sum-types-feat-fields-to-row-and-vice-versa.md)

#### 2018 Feb 02

##### Making Diffs of differently-typed Records in PureScript

[file](./posts/2018-02-02-making-diffs-of-differently-typed-records-in-purescript.md)

#### 2018 Jan 30

##### Using Rows and RowToList to model Chart.js spec building

[file](./posts/2018-01-30-using-rows-and-rowtolist-to-model-chart.js-spec-building.md)

#### 2018 Jan 27

##### Short: Composed Modified JSON parsing for free with Simple-JSON

[file](./posts/2018-01-27-short-composed-modified-json-parsing-for-free-with-simple-json.md)

#### 2018 Jan 14

##### Short: Type-level Path Params to write from Records with PureScript

[file](./posts/2018-01-14-short-type-level-path-params-to-write-from-records-with-purescript.md)

#### 2018 Jan 13

##### Type-level Path Params parsed to Records with PureScript

[file](./posts/2018-01-13-type-level-path-params-parsed-to-records-with-purescript.md)

#### 2018 Jan 08

##### Modified JSON parsing for free with PureScript-Simple-JSON

[file](./posts/2018-01-08-modified-json-parsing-for-free-with-purescript-simple-json.md)

#### 2018 Jan 06

##### Opting in to better types and guarantees in PureScript

[file](./posts/2018-01-06-opting-in-to-better-types-and-guarantees-in-purescript.md)

#### 2017 Dec 28

##### The Tale of Two Tortellini: making record based libraries in PureScript and Haskell

[file](./posts/2017-12-28-the-tale-of-two-tortellini:-making-record-based-libraries-in-purescript-and-haskell.md)

#### 2017 Dec 23

##### Polymorphic Proxy fun in PureScript

[file](./posts/2017-12-23-polymorphic-proxy-fun-in-purescript.md)

#### 2017 Dec 17

##### Records/interfaces are not StringMaps/hashes/objects and vice versa

[file](./posts/2017-12-17-records-interfaces-are-not-stringmaps-hashes-objects-and-vice-versa.md)

#### 2017 Dec 16

##### Generating Elm Types for Port-Safe Communication from PureScript

[file](./posts/2017-12-16-generating-elm-types-for-port-safe-communication-from-purescript.md)

#### 2017 Dec 13

##### Easy PureScript bundling with Parcel

[file](./posts/2017-12-13-easy-purescript-bundling-with-parcel.md)

#### 2017 Dec 11

##### Multi-Target Projects in PureScript

[file](./posts/2017-12-11-multi-target-projects-in-purescript.md)

#### 2017 Dec 09

##### Controlled Flow with PureScript-Bismuth

[file](./posts/2017-12-09-controlled-flow-with-purescript-bismuth.md)

#### 2017 Dec 05

##### More "RowList" fun with Records in Haskell feat. Scotty Route/Handler pairings & HomeRunWannabe

[file](./posts/2017-12-05-more-rowlist-fun-with-records-in-haskell-feat-scotty-route-handler-pairings-and-homerunwannabe.md)

#### 2017 Dec 04

##### Nice Validation with PureScript

[file](./posts/2017-12-04-nice-validation-with-purescript.md)

#### 2017 Nov 28

##### Fun with Records in Haskell by making "RowLists"

[file](./posts/2017-11-28-fun-with-records-in-haskell-by-making-rowlists.md)

#### 2017 Nov 21

##### Record-based API Route-Handler pairing with Row Types

[file](./posts/2017-11-21-record-based-api-route-handler-pairing-with-row-types.md)

#### 2017 Nov 17

##### OhYes you can interop with TypeScript using PureScript

[file](./posts/2017-11-17-ohyes-you-can-interop-with-typescript-using-purescript.md)

#### 2017 Oct 28

##### Upgrade from Bower to Psc-Package

[file](./posts/2017-10-28-upgrade-from-bower-to-psc-package.md)

#### 2017 Oct 22

##### Mapping a function to a homogeneous record in PureScript

[file](./posts/2017-10-22-mapping-a-function-to-a-homogeneous-record-in-purescript.md)

#### 2017 Oct 20

##### and some you shouldn't PureScript libraries I've written that you might consider using

[file](./posts/2017-10-20-and-some-you-shouldnt-purescript-libraries-ive-written-that-you-might-consider-using.md)

#### 2017 Sep 08

##### Fun Row-typed Validation with Purescript-Home-Run-Ball

[file](./posts/2017-09-08-fun-row-typed-validation-with-purescript-home-run-ball.md)

#### 2017 Aug 26

##### Converting types you don't want to ones you do in Purescript

[file](./posts/2017-08-26-converting-types-you-dont-want-to-ones-you-do-in-purescript.md)

#### 2017 Aug 17

##### Using types with parameters to eliminate invalid code paths in Typescript

[file](./posts/2017-08-17-using-types-with-parameters-to-eliminate-invalid-code-paths-in-typescript.md)

#### 2017 Jul 28

##### Using IxMonad to enforce good hamburger building in Purescript

[file](./posts/2017-07-28-using-ixmonad-to-enforce-good-hamburger-building-in-purescript.md)

#### 2017 Jul 21

##### Type-safe Record operations with Purescript-record

[file](./posts/2017-07-21-type-safe-record-operations-with-purescript-record.md)

#### 2017 Jul 15

##### Writing a JSON decoder using Purescript's RowToList

[file](./posts/2017-07-15-writing-a-json-decoder-using-purescripts-rowtolist.md)

#### 2017 Jul 11

##### Embedding Elm into a Purescript-Halogen App

[file](./posts/2017-07-11-embedding-elm-into-a-purescript-halogen-app.md)

#### 2017 Jul 08

##### Automatically de/encoding JSON in Purescript using Generics-Rep

[file](./posts/2017-07-08-automatically-de-encoding-json-in-purescript-using-generics-rep.md)

#### 2017 Jun 29

##### Datatype-Generic programming for generating TypeScript code from Purescript

[file](./posts/2017-06-29-datatype-generic-programming-for-generating-typescript-code-from-purescript.md)

#### 2017 Jun 25

##### Differences of Purescript from Elm

[file](./posts/2017-06-25-differences-of-purescript-from-elm.md)

#### 2017 Apr 29

##### Using Purescript's Row Types for Tracking Validations

[file](./posts/2017-04-29-using-purescripts-row-types-for-tracking-validations.md)

#### 2017 Apr 27

##### Writing a Youtube audio scraping tool with Purescript

[file](./posts/2017-04-27-writing-a-youtube-audio-scraping-tool-with-purescript.md)

#### 2017 Mar 27

##### Writing a full-stack app with Purescript with phantom types

[file](./posts/2017-03-27-writing-a-full-stack-app-with-purescript-with-phantom-types.md)

#### 2017 Mar 05

##### Building a mobile web audio player with Purescript-Halogen

[file](./posts/2017-03-05-building-a-mobile-web-audio-player-with-purescript-halogen.md)

#### 2016 Dec 14

##### How to write a simple MarkDown to inline-Styled HTml tool with Haskell

[file](./posts/2016-12-14-how-to-write-a-simple-markdown-to-inline-styled-html-tool-with-haskell.md)

#### 2016 Oct 20

##### What to check when React Native `npm start` and Jest don't work

[file](./posts/2016-10-20-what-to-check-when-react-native-npm-start-and-jest-dont-work.md)

#### 2016 Oct 13

##### Getting audio from Youtube channels in the easiest way possible using Haskell

[file](./posts/2016-10-13-getting-audio-from-youtube-channels-in-the-easiest-way-possible-using-haskell.md)

#### 2016 Oct 04

##### How to convert Markdown into inline-styled HTML

[file](./posts/2016-10-04-how-to-convert-markdown-into-inline-styled-html.md)

#### 2016 Sep 25

##### Writing a simple Telegram chat bot in Purescript

[file](./posts/2016-09-25-writing-a-simple-telegram-chat-bot-in-purescript.md)

#### 2016 Sep 21

##### Async in Purescript is fun and easy

[file](./posts/2016-09-21-async-in-purescript-is-fun-and-easy.md)

#### 2016 Sep 18

##### Purescript on Travis CI (as of Sept 2016)

[file](./posts/2016-09-18-purescript-on-travis-ci-as-of-sept-2016.md)

#### 2016 Jul 31

##### Making a simple node program with Purescript

[file](./posts/2016-07-31-making-a-simple-node-program-with-purescript.md)

#### 2016 Jul 10

##### Making a Haskell (Scotty) web app and putting it on Heroku

[file](./posts/2016-07-10-making-a-haskell-scotty-web-app-and-putting-it-on-heroku.md)

#### 2016 Mar 15

##### Making a Scroll Table with Purescript-Halogen

[file](./posts/2016-03-15-making-a-scroll-table-with-purescript-halogen.md)

#### 2016 Feb 18

##### Writing a simple Etch-Sketch with PureScript

[file](./posts/2016-02-18-writing-a-simple-etch-sketch-with-purescript.md)