Skip to content

Instantly share code, notes, and snippets.

View GoNZooo's full-sized avatar

Rickard Andersson GoNZooo

View GitHub Profile
defmodule Pmap do
def pmap(lst, func) do
Enum.map(lst, fn i -> Task.async(fn -> func.(i) end) end)
|> Enum.map(fn t -> Task.await(t) end)
end
end
@GoNZooo
GoNZooo / tab-font-attributes-for-uzbl
Created May 14, 2015 10:28
How to set font attributes for tabs in uzbl-tabbed
set interface_font = "GohuFont 9"
# Colors for non-selected tab, outer parts
set tab_colours = background="black" foreground="#666" font=@interface_font
# Colors for non-selected tab, inner parts
set tab_text_colours = background="black" foreground="#666" font=@interface_font
# Colors for selected tab, outer parts
set selected_tab = background="black" foreground="#999" font=@interface_font
# Colors for selected tab, inner parts
set selected_tab_text = background="black" foreground="#aaa" font=@interface_font
@GoNZooo
GoNZooo / clojure defmacro
Created May 22, 2015 23:14
Gist for illustrating how simple `defmacro` is
user=> (defmacro reverse-macro
[input-syntax]
(reverse input-syntax))
#'user/reverse-macro
user=> (reverse-macro (5 4 3 2 1 +))
15
defmodule Consumer.Subscriptions do
def start_link do
Agent.start_link(fn -> %{} end, name: __MODULE__)
end
def get_subscribers(topic) do
Agent.get(__MODULE__, fn map -> Map.get(map, topic, []) end)
end
def add_subscription(sub, topic) do
@GoNZooo
GoNZooo / text.ts
Created December 24, 2018 21:48
Phantom type variant in TypeScript
interface PlainText extends String {
__plaintext__: never
}
interface Base64Encoded extends String {
__base64Encoded__: never
}
interface Encrypted extends String {
__encrypted__: never
}
@GoNZooo
GoNZooo / hello_world_nif.zig
Last active December 5, 2019 20:14
Hello world NIF in zig
// c version:
// #include <erl_nif.h>
// static ERL_NIF_TERM hello(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
// {
// return enif_make_string(env, "Hello World!", ERL_NIF_LATIN1);
// }
// static ErlNifFunc nif_funcs[] = {"hello", 0, hello};
@GoNZooo
GoNZooo / hello_world_with_link_error.zig
Created December 5, 2019 19:13
Link error hello world NIF
// c version:
// #include <erl_nif.h>
// static ERL_NIF_TERM hello(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
// {
// return enif_make_string(env, "Hello World!", ERL_NIF_LATIN1);
// }
// static ErlNifFunc nif_funcs[] = {"hello", 0, hello};
@GoNZooo
GoNZooo / init.vim
Created September 20, 2020 11:11
`zig build` on save with `ALE`
" zig ALE linter by fubd @ FreeNode
" Author: Kevin Watters <kevinwatters@gmail.com>
" Description: This file adds support for checking zig code.
"
let g:ale_lint_on_text_changed = 'never'
let g:ale_zig_compiler = "zig"
function! ZigGetExecutable(buffer) abort
return g:ale_zig_compiler
@GoNZooo
GoNZooo / Dockerfile
Created April 5, 2021 08:07
Basic development container for Yesod projects & VSCode
FROM fpco/stack-build:lts-16.31
RUN apt update && apt install -y inotify-tools
RUN stack --resolver lts-16.31 install yesod-bin
RUN stack --resolver lts-16.31 install ormolu
RUN stack --resolver lts-16.31 install hlint