This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module MyList where | |
data MyList a = Cons a (MyList a) | |
| MyNil deriving (Show, Eq) | |
{- | |
A simple linked list module | |
Some examples: | |
mylist = (Cons 10 (Cons 99 (Cons 11 (Cons 1 MyNil)))) | |
myHead myList # => 10 | |
myTail myList # => Cons 99 (Cons 11 (Cons 1 MyNil)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import scala.util.{Try, Success, Failure} | |
def f(s: String): Try[Int] = Try { s.toInt } | |
def g(i: Int): Try[Int] = Try { i * 2 } | |
def unit[T](v: T): Try[T] = Success(v) | |
//val v = "1" | |
val v = "bad" | |
val m = Success(v) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rm -rf /var/lib/cloud/instance && rm -rf /var/lib/cloud/instances/* && rm -rf /var/lib/cloud/sem/* | |
cloud-init init && cloud-init modules --mode config && cloud-init modules --mode final |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PID controller in Haskell | |
=== | |
A major project I want to embark on at some point in the future is making a | |
quadrotor. I've made one before but I was at the mercy of a lot of off-the-shelf | |
software that I'm not altogether sure was entirely correct, either. | |
So I want to eventually program a quadrotor (or similarly awesome robot thing) | |
and I would really enjoy doing it in Haskell. It has a low footprint and is | |
already used in other real time settings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
modprobe -r ec_sys | |
modprobe ec_sys write_support=1 | |
on="\x8a" | |
off="\x0a" | |
led(){ | |
echo -n -e $1 | dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# -*- coding: utf-8 -*- | |
""" | |
Outputs some information on CUDA-enabled devices on your computer, | |
including current memory usage. | |
It's a port of https://gist.github.com/f0k/0d6431e3faa60bffc788f8b4daa029b1 | |
from C to Python with ctypes, so it can run without compiling anything. Note | |
that this is a direct translation with no attempt to make the code Pythonic. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def remove_empty_elements(d): | |
"""recursively remove empty lists, empty dicts, or None elements from a dictionary""" | |
def empty(x): | |
return x is None or x == {} or x == [] | |
if not isinstance(d, (dict, list)): | |
return d | |
elif isinstance(d, list): | |
return [v for v in (remove_empty_elements(v) for v in d) if not empty(v)] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
resource "aws_ami_copy" "ubuntu-18_04-encrypted" { | |
name = "${data.aws_ami.ubuntu-18_04.name}-encrypted" | |
description = "${data.aws_ami.ubuntu-18_04.description} (encrypted)" | |
source_ami_id = "${data.aws_ami.ubuntu-18_04.id}" | |
source_ami_region = "${var.region}" | |
encrypted = true | |
tags { | |
ImageType = "encrypted-ubuntu-18_04" | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
## Install if jq package doesn't exist | |
if which jq; then echo "jq exists"; | |
else | |
if which yum; then | |
yum jq | |
elif which apt-get; then | |
apt-get install jq | |
elif which apk; then | |
apk add --no-cache jq |
OlderNewer