Skip to content

Instantly share code, notes, and snippets.

Confused about why this feature exists

Remy Goldschmidt taktoa

Confused about why this feature exists
Block or report user

Report or block taktoa

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

ArrayFire Nix Package

I haven't tested this under the full Nix sandbox, so it may still have some impurities.

If you have rustup installed and you want to build the ArrayFire Rust bindings impurely, just remember to set the AF_PATH environment variable to the output path resulting from building arrayfire.nix.


A Self-Taught Course in Automated Reasoning using Haskell

Variables, Terms, and Syntactic Unification


  • [Introduction to Unification Theory Lecture 1][itut-1]
  • Sections 8.1 and 8.2 of [The Handbook of Automated Reasoning][hoar]



Ideas to improve my workflow



A script that automatically separates a Haskell file diff into two diffs: one with only changes to comments, and one with changes to actual code.

Could be extended to other languages, as long as you can describe what the


Things to keep in mind

  • If you write a server using raw UDP, the size of a packet returned as a result of a packet received must be strictly smaller than the size of the packet received, to prevent DoS amplification attacks.
taktoa /
Last active May 22, 2018
A rant about pain points in Haskell, written as a response to

I started writing this polemic to answer your question, but I ended up touching on most of my gripes with Haskell in general, not just in a corporate context.


GHC is a modern compiler with an amazing RTS and tons of features, but I have some issues with it.

Monolithic and Hard to Contribute To

View BittrexAPI.hs
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures #-}
taktoa / KindOfGenerativeModuleFunctors.agda
Created Nov 27, 2017
A quasi-successful attempt at hacking generative module functors into Agda 2.5.3
View KindOfGenerativeModuleFunctors.agda
module KindOfGenerativeModuleFunctors where
open import Data.Product using (_×_; _,_)
open import Data.Nat using (ℕ)
open import Data.Bool using (Bool; false; true)
open import Relation.Binary.PropositionalEquality using (_≡_; _≢_; refl)
taktoa / keybase.nix
Created Nov 22, 2017
Getting the Keybase GUI to work on NixOS
View keybase.nix
# Add this file to your /etc/nixos/configuration.nix `imports = [ ... ];` attribute.
# After running `nixos-rebuild switch`, `systemctl --user start keybase-gui.service`
# can be used to start the Keybase GUI.
# Not sure if it's just my tiling window manager, but there is a bit of wonkiness
# with the tray icon. Other than that it works perfectly (as of 2017/11/22).
{ pkgs, ... }:
taktoa / .hlint.yaml
Created Nov 19, 2017
My HLint YAML file
View .hlint.yaml
- extensions:
- default: true
# These are basically non-negotiable
- {name: AllowAmbiguousTypes, within: []} # should never be necessary
- {name: Arrows, within: []} # weird syntax
- {name: DatatypeContexts, within: []} # useless
- {name: EmptyCase, within: []} # nearly useless
- {name: ImpredicativeTypes, within: []} # very buggy
- {name: IncoherentInstances, within: []} # footgun
taktoa / collapse.tex
Created Nov 10, 2017
Collapseable text box in LaTeX using OCG
View collapse.tex
% in the preamble:
% in the document:
\switchocg{ocgPlus ocgMinus ocg1}{%
{\bfseries +}
You can’t perform that action at this time.