Skip to content

Instantly share code, notes, and snippets.

let ratchetClap = Text/replace " " " 👏 "
let example = assert : ratchetClap "Trans rights are human rights" ≡ "Trans 👏 rights 👏 are 👏 human 👏 rights"
in ratchetClap
@Gabriella439
Gabriella439 / Main.hs
Created September 2, 2021 00:56
Haskell livestream - Subprocess management
{-# LANGUAGE ApplicativeDo #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Concurrent.Async (Concurrently(..))
import Data.Foldable (traverse_)
import Data.List.NonEmpty (NonEmpty(..))
import Data.Text (Text)
import Foreign.C
@Gabriella439
Gabriella439 / me.md
Created July 23, 2021 00:59
That's me!

As I come out as trans to people, most are supportive, but a few people remain skeptical and question my feelings and experiences. I try to field their concerns to the best of my ability, but one particular concern they raise is so common and so far off the mark that I feel compelled to share my thoughts on this. My intention is not to shame them, but rather to use this as an opportunity to share my own experiences.

Their concern typically goes like this: they believe that many people who transition do so because they are too easily suggestible and that they have been over-exposed to trans role models (either friends or people on social media).

@Gabriella439
Gabriella439 / trans.md
Last active November 28, 2023 06:30
I'm trans

I'm writing this post to publicly come out as trans (specifically: I wish to transition to become a woman).

This post won't be as polished or edited as my usual posts, because that's kind of the point: I'm tired of having to edit myself to make myself acceptable to others.

I'm a bit scared to let people know that I'm trans, especially because I'm not yet in a position where I can transition (for reasons I don't want to share, at least not in public) and it's really shameful. However, I'm getting really

@Gabriella439
Gabriella439 / Main.hs
Created April 8, 2021 00:53
Example use of GHC generics to derive datatype parser
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE EmptyDataDeriving #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
@Gabriella439
Gabriella439 / emotions.md
Created March 8, 2021 19:08
How to get in touch with your emotions

How to get in touch with your emotions

I wanted to share something I've learned in the course of therapy that I felt might benefit others. Specifically, I'd like to share how to better listen to one's emotions.

Why should we do this?

You might wonder why would we want to be in better touch with our emotions. One reason why is that everybody builds a metaphor or narrative for themselves

@Gabriella439
Gabriella439 / pulumi-as-dhall.dhall
Created January 23, 2021 03:47
Translating Pulumi example to Dhall
let sesDomainIdentity = aws.ses.DomainIdentity "DomainIdentity" { domain }
let verificationTokenRecord =
cloudflare.Record
"verificationTokenRecord"
{ zoneId = cloudflareDnsZoneId
, name = "NAME"
, type = "TXT"
, value = sesDomainIdentity.verificationToken
}
@Gabriella439
Gabriella439 / csv.hs
Created January 7, 2021 01:32
CSV decoding example
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeApplications #-}
module Main where
import Data.Csv (FromField, FromNamedRecord)
import Data.Text (Text)
import Data.Map (Map)
@Gabriella439
Gabriella439 / Bool.hs
Created January 3, 2021 16:28
Church-encoding of Bool type
{-# LANGUAGE RankNTypes #-}
import Prelude hiding (Bool(..))
type Bool = forall a . a -> a -> a
false :: Bool
false = \true_ false_ -> false_
true :: Bool
@Gabriella439
Gabriella439 / concurrent-map.hs
Created December 3, 2020 23:27
Low-tech concurrent hashmap
module ConcurrentMap where
import Control.Concurrent.STM.TVar (TVar)
import Control.Concurrent.STM (STM)
import Data.Hashable (Hashable)
import Data.HashMap.Strict (HashMap)
import Data.Vector (Vector)
import qualified Control.Concurrent.STM.TVar as TVar
import qualified Data.Hashable as Hashable