Skip to content

Instantly share code, notes, and snippets.

View krzysz00's full-sized avatar

Krzysztof Drewniak krzysz00

View GitHub Profile
@krzysz00
krzysz00 / average.c
Created April 27, 2021 21:08
Averages numbers together - simple code for LLVM pass stuff
#include <stdio.h>
#include <stdlib.h>
long double average (long double *inputs, int size) {
double sum = 0;
int i;
for (i = 0; i < size; i++) {
sum += inputs[i];
}
return sum / size;
@krzysz00
krzysz00 / BinNatAdd.v
Created March 12, 2021 05:47
Proof that N.succ (n + m) = n + (N.succ m) with Coq by hand
Require Import Coq.NArith.BinNat.
Local Open Scope N_scope.
Theorem add_remove_zeros : forall n, N.add n 0 = n.
induction n.
- reflexivity.
- induction p.
+ reflexivity.
+ reflexivity.
@krzysz00
krzysz00 / db_backup.sh
Created October 13, 2019 18:50
PPC Board backup script
#!/usr/bin/env zsh
# Don't miss remote command failure
set -o pipefail
BACKUP_DIR=$HOME/Documents/ppc/db_backups
SSH_KEY=$HOME/.ssh/plotprotectors_backup
if [[ ! -d $BACKUP_DIR ]]; then
# At initializaiton, we expect d[0-6].sql.bz2, w[0-3].sql.bz2, and m[0-5].sql.bz2
#!/usr/bin/env python3
## NOTE: requires numpy >= 1.15
import numpy as np
# Takes an array with an index into the array to gather from in each position
# That is, we set [o1, o2, ...] to data[gather[o1, o2, ..., :]]
# Alternatively, with transpose=False, assume that we index with data[gather[:, o1, o2, ...]]
def shuffle_idxs(data, gather_idxs, transpose=True):
if transpose:
last_dim = gather_idxs.ndim - 1
@krzysz00
krzysz00 / keybase.md
Created June 1, 2018 01:41
keybase.md

Keybase proof

I hereby claim:

  • I am krzysz00 on github.
  • I am kdrewniak (https://keybase.io/kdrewniak) on keybase.
  • I have a public key ASD3mvlK1api9J_hunoAF_c4QVUVxo1sFN2g5Yve_z9oFQo

To claim this, I am signing this object:

@krzysz00
krzysz00 / error
Created August 19, 2015 04:15
Errors around devise changes I'm debugging
ActiveModel::MassAssignmentSecurity::Error in Devise::SessionsController#create
Can't mass-assign protected attributes: name, password, remember_me
Rails.root: /home/krzys/projects/PPC-board-2.0
Application Trace | Framework Trace | Full Trace
activemodel (3.2.22) lib/active_model/mass_assignment_security/sanitizer.rb:48:in `process_removed_attributes'
activemodel (3.2.22) lib/active_model/mass_assignment_security/sanitizer.rb:20:in `debug_protected_attribute_removal'
@krzysz00
krzysz00 / panic-as-abort.patch
Created April 13, 2015 23:40
Patch that makes panic = abort whin libcore is compiled with feature=trivial_panic
diff --git a/src/libcore/panicking.rs b/src/libcore/panicking.rs
index 0b8a523..e7fd6e9 100644
--- a/src/libcore/panicking.rs
+++ b/src/libcore/panicking.rs
@@ -33,6 +33,7 @@
use fmt;
#[cold] #[inline(never)] // this is the slow path, always
+#[cfg(not(feature = "trivial_panic"))]
#[lang="panic"]
@krzysz00
krzysz00 / build-common.properties
Last active August 29, 2015 14:06
Ant build files for CS 314H projects
src.dir=src
build.dir=build
classes.dir=${build.dir}/classes
jar.dir=${build.dir}/jar
lib.dir=lib
system.lib.dir=/usr/share/java
reports.dir=${build.dir}/reports
doc.dir=doc
@krzysz00
krzysz00 / backup.sh
Created January 2, 2014 05:06
My backup script. Cron-safe
#!/bin/bash
MOUNT="/media/1tb/kdbackup"
/bin/mount -o loop,rw -t ext4 /media/1tb/kdbackup-disk.ext4.img $MOUNT
/usr/bin/dpkg --get-selections > /home/packages.dpkg
pushd $MOUNT > /dev/null
/usr/bin/nice -n 10 rm -rf backup.7
/bin/mv backup.6 backup.7
/bin/mv backup.5 backup.6
/bin/mv backup.4 backup.5
/bin/mv backup.3 backup.4
@krzysz00
krzysz00 / mergesort.hs
Created September 10, 2013 00:52
A mergesort in Haskell. No speed guarantees.
import System.IO (hFlush, stdout)
import Data.List (genericTake, genericDrop)
split :: (Integral a) => a -> [b] -> ([b], [b])
split n xs = (genericTake n xs, genericDrop n xs)
merge xs [] = xs
merge [] ys = ys
merge (x:xs) (y:ys)
| x < y = x:merge xs (y:ys)