Skip to content

Instantly share code, notes, and snippets.

@jellea
jellea / fifo-map.cljs
Created September 16, 2016 10:46
You have a map and want to prune the oldest values (fifo) on add.
(defn assoc-ordered
[[m v :as mv] k value]
[(assoc m k value)
(if (get m k)
(->
(remove #{k} v)
vec
(conj k))
(conj (or v []) k))])
@jellea
jellea / core.clj
Created October 31, 2016 23:13
Lastpass csv to Keepass xml converter
(ns last2kee.core
(:require [clojure.set :as set]
[clojure.data.csv :as csv]
[clojure.data.xml :as xml]
[clojure.string :as string]
[clojure.java.io :as io]))
(defn csvvec-to-map [csvdata]
(map #(zipmap (first csvdata) %) (rest csvdata)))
open ReasonJs;
type uint8Array;
external int8Array : int => uint8Array = "window.Uint8Array" [@@bs.new];
external get : uint8Array => int => int = "" [@@bs.get_index];
[%%bs.raw{|
window.polyAudioContext = window.AudioContext || new window.webkitAudioContext
|}];
@jellea
jellea / init.lua
Last active February 15, 2017 19:47
Go to bed! Fade out computer screen from 22:00 to 23:00. Hammerspoon
function brightnessDown ()
lct = hs.timer.localTime()
tt = 60*60*22 -- 22:00
if lct > tt then
wish = 100-math.ceil((lct % tt) / (60*60) * 100) -- time after
if hs.brightness.get() > wish then
hs.brightness.set(wish)
end
end
end

Keybase proof

I hereby claim:

  • I am jellea on github.
  • I am jelle (https://keybase.io/jelle) on keybase.
  • I have a public key ASCCbfx5XywLwcsDKNvAOgV7-zfJKRe923odcGVwyE_0pwo

To claim this, I am signing this object:

Editor
Empty Canvas
click Add Chart -> Canvas with Chart
Canvas with Chart
Inspector open*
click Select Data Source -> Data Source Select inspector
Data Source Select inspector
back -> Canvas with Chart
select a Data Source -> Canvas with Chart
click Connect More Data Source -> Modal Marketplace window
Editor
Empty Canvas
click Add Chart -> Canvas with Chart
Canvas with Chart
Inspector open*
click Select Data Source -> Data Source Select inspector
Data Source Select inspector
back -> Canvas with Chart
select a Data Source -> Canvas with Chart
click Connect More Data Source -> Modal Marketplace window
@jellea
jellea / SketchSystems.spec
Created July 20, 2018 22:06
My Awesome Sketch
My Awesome Sketch
File Selector
select files -> Files selected
Files selected
start -> Processing
Processing
all done? -> results state
results state
unselected*
@jellea
jellea / README.md
Last active June 2, 2020 14:29
Say, a colleague passes you a Figma link, you click it and surprisingly the browser opens, while you have the desktop app installed! You *sigh* and install this script script which adds a question if you want to open web or desktop.

Install

  1. Install Hammerspoon
  2. Install SpoonInstall (unzip and click to install)
  3. Move the contents of appOrWebDialog.lua (question dialog version) or alwaysApp.lua (default to app version) to ~/.hammerspoon/init.lua
  4. Reload Hammerspoon configuration if you already started it.
  5. Set Hammerspoon as default web browser in macOS preferences -> General

Add more apps

  1. Figure out the App Bundle Identifier. Right click "Show Package Contents" on Application and open Contents/Info.plist inside. Find the Bundle Identifier in the plist file.
@jellea
jellea / penti.ino
Created January 13, 2019 17:34
Penti chorded keyboard emulation for one half of the Let's Split 40% mech keyboard
#include <Keyboard.h>
#define ROW_NUM 5
#define COL_NUM 6
byte row_pins[5] = { 4, 6, 7, 8, 9 };
byte col_pins[6] = { 10, 16, 14, 15, 18, 19};
byte fingers[5][2] = {{4, 2},{3, 2}, {2, 2}, {1, 2}, {0, 4}}; // [col, row]
char finger_keys[5] = {'A', 'B', 'C', 'D', 'E'};