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
View arrayfire.md

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.

View atp-exercises.md

A Self-Taught Course in Automated Reasoning using Haskell

Variables, Terms, and Syntactic Unification

Resources

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

Exercises

View workflow-improvements.md

Ideas to improve my workflow

Easy

diff-factor-comments

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

View things-to-keep-in-mind.md

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
taktoa / haskell-pain-points.md
Last active May 22, 2018
A rant about pain points in Haskell, written as a response to https://redd.it/7rwuxb
View haskell-pain-points.md

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

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 GADTs #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures #-}
@taktoa
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
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
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
taktoa / collapse.tex
Created Nov 10, 2017
Collapseable text box in LaTeX using OCG
View collapse.tex
% in the preamble:
\usepackage{ocgx}
% in the document:
\switchocg{ocgPlus ocgMinus ocg1}{%
\begin{ocg}{plus}{ocgPlus}{1}
{\bfseries +}
\end{ocg}
You can’t perform that action at this time.