Using Apron on macOS
Install PPL.
brew install pplFor some reason, installing from opam doesn't pick up the presence of PPL.
We run ./configure manually to fix that.
| (* Based on | |
| https://okmij.org/ftp/continuations/implementations.html | |
| https://okmij.org/ftp/Haskell/ShiftResetGenuine.hs | |
| https://www.cs.tsukuba.ac.jp/~kam/paper/aplas07.pdf *) | |
| (* Parameterised monads *) | |
| module type GM = sig | |
| type ('i, 'o, 'a) t |
| -- h ttps://stackoverflow.com/questions/72833519/how-to-extract-delimited-continuation-reset-shift-for-future-use-in-haskell/72836141#72836141 | |
| {-# LANGUAGE RebindableSyntax #-} | |
| import Data.String | |
| import Prelude hiding ((>>=), return) | |
| newtype Cont i o a = Cont { runCont :: (a -> i) -> o } | |
| return :: a -> Cont r r a | |
| return x = Cont ($ x) |
Install PPL.
brew install pplFor some reason, installing from opam doesn't pick up the presence of PPL.
We run ./configure manually to fix that.
| // Keybindings for compound rubrics | |
| document.onkeypress = function(e) { | |
| if (e.key === 'n') { | |
| setTimeout(() => { | |
| // both events have to be sent | |
| document.dispatchEvent(new KeyboardEvent('keydown', {'key': 'j'})); | |
| document.dispatchEvent(new KeyboardEvent('keyup', {'key': 'j'})); | |
| setTimeout(() => { | |
| document.dispatchEvent(new KeyboardEvent('keydown', {'key': 'k'})); | |
| document.dispatchEvent(new KeyboardEvent('keyup', {'key': 'k'})); |
| type 'a tree = | |
| | Section of { | |
| item : 'a; | |
| children : 'a tree list; | |
| } | |
| let item a = Section { item = a; children = [] } | |
| type 'a path = | |
| | Top |
Pandas is oriented around performing SIMD operations on arrays, and its API directly reflects this. Some operations may be less intuitive than they are in the SQL or stream processing worlds. Operations like apply and iter* which involve user-defined Python are generally slow.
Updated Feb 2022.
ShiViz visualizes space-time diagrams, a succinct way to represent distributed system executions.
The examples on the site are all rather large, so here's a tiny Hello World example which illustrates the input format and basic ideas.
client1 "message 1 sent" {"client1":1}
client2 "message 2 sent" {"client2":1}
server "message 2 received" {"server":1, "client2":1}
Updated Dec 2021.
Zoom doesn't have chat notifications. This is a problem when invigilating online exams.
If you're using macOS, notifications can be hacked on by using a bunch of scripts to tell when something on the screen changes.
The first piece is how to capture a small region of the screen.