Skip to content

Instantly share code, notes, and snippets.

View shapr's full-sized avatar
🏃
VENTRE À TERRE

Shae Erisson shapr

🏃
VENTRE À TERRE
View GitHub Profile
[env:teensy36]
platform = teensy
board = teensy36
framework = arduino
build_flags = -D USB_EVERYTHING
lib_deps =
/home/shae/build/Tympan_Library
https://github.com/PaulStoffregen/Audio.git
https://github.com/PaulStoffregen/SD.git
https://github.com/PaulStoffregen/SPI.git
{-# LANGUAGE TypeApplications #-}
module Main where
import Data.SBV
main = do
res <- optimize Lexicographic configure
print res
configure :: Goal
@shapr
shapr / vmonhost.scm
Created July 8, 2019 21:20
fitting VMs into hosts
;; declare a cartesian product of host server and VM
;; three VMs x1, x2, x3 and three hosts y1, y2, y3
(declare-const x11 Int) ; VM x1 might be on host y1
(declare-const x12 Int) ; VM x1 might be on host y2
(declare-const x13 Int)
(declare-const x21 Int) ; VM x2 might be on host y1
(declare-const x22 Int)
(declare-const x23 Int)
(declare-const x31 Int)
(declare-const x32 Int)
@shapr
shapr / CreateGitHubRepo.hs
Created June 25, 2019 21:58
remotely create github repo with the v3 API
{-# LANGUAGE OverloadedStrings #-}
module Main where
import GitHub.Endpoints.Repos
-- https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line
-- give the token "public_repo" access
-- should be a 40 character string
myauth = OAuth "80....................................2e" -- magically converts to ByteString
@shapr
shapr / EndlessSky.hs
Created June 21, 2019 16:46
how to describe SMT problems?
module Main where
import Data.SBV
-- main :: IO ()
main = do
res <- optimize Lexicographic $ do
-- create two piles of bools, each pile has a bool for each possible component
-- x1@[x11, x12, x13] <- sBools ["x11", "x12", "x13"]
-- map the costs onto the bools?!
"""
Pablo buys popsicles for his friends.
The store sells single popsicles for$1 each, 3-popsicle boxes for$2, and 5-popsicle boxes for$3.
What is the greatest number of popsicles that Pablo can buy with$8?
"""
from z3 import *
box1pop, box3pop, box5pop =Ints('box1pop box3pop box5pop')
pop_total=Int('pop_total')
cost_total=Int('cost_total')
@shapr
shapr / haskell-stuff.el
Created May 30, 2019 20:04
parts of my emacs config specific to haskell, with use-package prelude
;; Added by Package.el. This must come before configurations of
;; installed packages. Don't delete this line. If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.
(package-initialize)
;; make sure use-package is installed
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/")
#+name: layout
#+RESULTS: layout-calc
| q | w | e | r | t | y | u | i | o | p |
| | a | s | d | f | g | h | j | k | |
| | z | x | c | v | b | n | m | | |
#+name: layout-calc
#+BEGIN_SRC emacs-lisp :var table=layout
(message table)
#+END_SRC
@shapr
shapr / Day3.hs
Created December 3, 2018 19:10
parser for day3 2018
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Data.Text (Text)
import qualified Data.Text as T
import qualified Data.Text.IO as TIO
import Data.Attoparsec.Text
main :: IO ()
main = do input <- TIO.readFile "input3.txt"
[alias]
# Checkout a pull request branch on an upstream project. It
# handles PRs that get rebased as well.
#
# git pr 3
pr = "!f() { git checkout master; git branch -D pr/$1 || true; git fetch origin refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f"
dpr = "!f() { git checkout develop; git branch -D pr/$1 || true; git fetch upstream refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f"
pur = "!f() { git checkout master; git branch -D pr/$1 || true; git fetch upstream refs/pull/$1/head:pr/$1 && git checkout pr/$1; }; f"