Skip to content

Instantly share code, notes, and snippets.

View viluon's full-sized avatar
👁️
stop the race towards misaligned AI

Andrew Kvapil viluon

👁️
stop the race towards misaligned AI
View GitHub Profile
@spacejam
spacejam / rr-with-rust.md
Last active November 11, 2025 02:24
using rr with rust

using rust with rr

rr is a great debugging tool. it records a trace of a program's execution, as well as the results of any syscalls it executes, so that you can "rewind" while you debug, and get deterministic forward and reverse instrumented playback. it works with rust, but by default if you try it out, it could be pretty ugly when you inspect variables. if this bothers you, configure gdb to use a rust pretty-printer

rr is probably in your system's package manager.

usage

This work, excluding the Arch Linux logo, is made available under CC0: https://creativecommons.org/publicdomain/zero/1.0/
@chrisdone
chrisdone / Parsing.md
Last active February 9, 2022 11:50
Good parser messages with Parsec

Intro

I've been working on a parser for a Haskell-like syntax called Duet. In the implementation I've taken particular care to make an awesome tokenizer and parser that is super helpful to learners.

Jasper Van der Jeugt made a talk about producing good error messages recently, which coincides nicely with my parallel work on this. So I thought I'd also share my

E017 DO YOU EXPECT ME TO FIGURE THIS OUT?
E079 PROGRAMMER IS INSUFFICIENTLY POLITE
E099 PROGRAMMER IS OVERLY POLITE
E111 COMMUNIST PLOT DETECTED, COMPILER IS SUICIDING
E123 PROGRAM HAS DISAPPEARED INTO THE BLACK LAGOON
E127 SAYING ’ABRACADABRA’ WITHOUT A MAGIC WAND WON’T DO YOU ANY GOOD
E129 PROGRAM HAS GOTTEN LOST
E139 I WASN’T PLANNING TO GO THERE ANYWAY
E182 YOU MUST LIKE THIS LABEL A LOT!
E197 SO! 65535 LABELS AREN’T ENOUGH FOR YOU?
@cretz
cretz / kotlin-annoyances.md
Last active October 29, 2025 15:45
Kotlin Annoyances

⚠️ THIS LIST IS STALE/OUTDATED, DO NOT REFERENCE OR ASSUME ANYTHING IS ACCURATE

Kotlin Annoyances

These are things that I found annoying writing a complex library in Kotlin. While I am also a Scala developer, these should not necessarily be juxtaposed w/ Scala (even if I reference Scala) as some of my annoyances are with features that Scala doesn't even have. This is also not trying to be opinionated on whether Kotlin is good/bad (for the record, I think it's good). I have numbered them for easy reference. I can give examples for anything I am talking about below upon request. I'm sure there are good reasons for all of them.

@parkercoates
parkercoates / functions.sh
Last active November 27, 2021 08:44 — forked from junegunn/functions.sh
Bash key bindings for git with fzf
# GIT heart FZF
# -------------
is_in_git_repo() {
git rev-parse HEAD > /dev/null 2>&1
}
gf() {
is_in_git_repo || return
git -c color.status=always status --short |
-- LICENSE
--
-- This software is dual-licensed to the public domain and under the following
-- license: you are granted a perpetual, irrevocable license to copy, modify,
-- publish, and distribute this file as you see fit.
-- VERSION 0.1.0
-- Author: Forrest Smith (github.com/forrestthewoods/lib_fts)
-- Translated to Lua by Blake Mealey (github.com/blake-mealey)
@AlexBedley
AlexBedley / squirrels
Last active September 19, 2025 02:00
ship it squirrels
![](http://dougbelshaw.com/blog/wp-content/uploads/2013/10/ship-it-squirrel.jpg)
![](http://shipitsquirrel.github.io/images/ship%20it%20squirrel.png)
@jansegre
jansegre / script.lua
Last active February 10, 2020 23:48
Very basic luajit from Rust.
-- script.lua
-- Receives a table, returns the sum of its components.
io.write("The table the script received has:\n");
x = 0
for i = 1, #foo do
print(i, foo[i])
x = x + foo[i]
end
io.write("Returning data back to C\n");
return x
@AndrasKovacs
AndrasKovacs / WellTyped.hs
Last active August 24, 2023 10:48
Well-typed interpreter from the Idris tutorial (http://eb.host.cs.st-andrews.ac.uk/writings/idris-tutorial.pdf) in Haskell.
{-# LANGUAGE
LambdaCase, GADTs, TypeOperators, TypeFamilies, DataKinds #-}
data Type = TInt | TBool | Type :=> Type
-- Needs GHC >= 7.8
type family Interp (t :: Type) where
Interp TInt = Int
Interp TBool = Bool
Interp (a :=> b) = Interp a -> Interp b