Skip to content

Instantly share code, notes, and snippets.

View dramforever's full-sized avatar
🖤
dramming

dram dramforever

🖤
dramming
  • Scarlet Devil Mansion, Gensokyo
View GitHub Profile
@dramforever
dramforever / nodes.csv
Last active February 4, 2019 10:01
Sample channel closure for nixos-18.09-small
id name
144bdcxi3q7hfd431c6hsf1kiz4b35g1 postgresql-9.6.11-doc
150zivphs225rhlx18vjy273jwgnw8h8 cryptsetup-2.0.6-dev
1lf3m9rnim3rpa67cpf41vgdwy6f2qbl subversion-1.11.0-dev
1mw9g0cg2zv9rwf656hg8i2y0cvid3n2 linux-4.14.97-dev
2nc5zzraa57r2cj0gjpx1yhx5m9xyywj gettext-0.19.8.1-info
2r9qzfsnb2dzxcz4zwjk8qi5znr7z5jd nginx-1.14.1
2rg0q7xn3shffd48391jb8g3lmgpjmqm subversion-1.11.0-man
4iv1n45brycl3l4rdln4i4ah0yqlf05i python-2.7.15
4jxzmxaydpsf1h64kf1l075wy2vw09xv php-7.2.13-dev
@dramforever
dramforever / raiinn.cpp
Last active December 12, 2018 18:17
RAIINN (RAII Neural Network) (or maybe just the gradient part)
#include <iostream>
#include <memory>
#include <cmath>
struct Expr {
double grad, value;
void propagate(double delt) {
grad += delt;
}
Expr(double value_): value(value_) {}
# Based on https://gist.github.com/LnL7/570349866bb69467d0caf5cb175faa74
self: super:
{
dramPackages = (super.dramPackages or {}) // self.recurseIntoAttrs {
inherit (self)
chromium
# ... omitted
;
problemStr =
"800 000 000 003 600 000 070 090 200 050 007 000 000 045 700 000 \
100 030 001 000 068 008 500 010 090 000 400";
pr = Partition[ToExpression@Characters@StringDelete[problemStr, " "], 9];
blocks = Table[3 Quotient[i, 3] + Quotient[j, 3], {i, 0, 8}, {j, 0, 8}];
rows = Table[i, {i, 0, 8}, {j, 0, 8}];
cols = Table[j, {i, 0, 8}, {j, 0, 8}];
constrain[blk_] :=
Join @@ Table[Outer[Plus, Range[9], (Position[blk, k] - 1).{81, 9}], {k, Min[blk], Max[blk]}];
@dramforever
dramforever / total.idr
Created August 4, 2018 10:29
total test
Idris> :l total.idr
Type checking ./total.idr
total.idr:3:1-5:35:
|
3 | totalTest x with (decEq x 'a')
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...
Main.totalTest is possibly not total due to: with block in Main.totalTest
@dramforever
dramforever / webapp.hs
Created July 5, 2017 08:06
Web app using Transient/Axiom
-- Build instructions: It's complicated
{-# LANGUAGE CPP #-}
module Main where
import Prelude hiding (div, id, span)
import GHCJS.HPlay.View
import Transient.Move
import Control.Monad.IO.Class
@dramforever
dramforever / Main.hs
Created September 30, 2014 15:18
qipa turing machine
{-# LANGUAGE NoMonomorphismRestriction #-}
module Main where
import Control.Monad.State
data Tape a = Tape { left :: [a]
, right :: [a]
}
@dramforever
dramforever / finder.hs
Created September 8, 2014 06:57
some qipa solver
import Data.List
import Data.Maybe
import Control.Monad
data Ans = A | B | C | D | Whatever deriving (Show, Eq, Ord)
ver ans 1 = (ans !! 1) == (ans !! 1)
ver ans 2 = Just (ans !! 5) == lookup (ans !! 2) [(A, C), (B, D), (C, A), (D, B)]
@dramforever
dramforever / linux_arch_x86_boot_ctypes.h.txt
Created September 8, 2014 03:45
linux/arch/x86/boot/ctypes.h in English
linux/arch/x86/boot/ctypes.h in English
------------------------------------------------
hash ifndef boot isdigit h
hash define boot isdigit h
static inline int isdigit int ch
return ch is greater than or equal to zero and ch is less than or equal to nine
static inline int isxdigit int ch
if isdigit ch return true
if ch is greater than or equal to A and ch is greater than or equal to F
@dramforever
dramforever / slowvector.hs
Last active August 29, 2015 14:05
slow vector stuff
module Main (main) where
import Sound.Wav
import Data.Int
import qualified Data.ByteString.Lazy as B
import Data.ByteString.Lazy.Builder
import Data.Monoid
import System.Environment
import System.Exit
import System.IO