Skip to content

Instantly share code, notes, and snippets.

View naartjie's full-sized avatar

Marcin Jekot naartjie

View GitHub Profile
@jasim
jasim / json_to_string.re
Created August 12, 2017 18:45
Reason script to traverse a native JSON object
type json = Js.Json.t;
let x: json = [%bs.raw {|{"a": [1, "hello", 2, {"b": {"c": [100,200, "d", [10,20,30]]}}]}|}];
let rec json_to_string json => {
let array_to_string a => a |> Array.to_list |> String.concat ",";
let emitObject o =>
"{" ^
{
let emitKV (key, value) => key ^ ": " ^ json_to_string value;
@jeroenr
jeroenr / logback.xml
Created July 25, 2017 19:42
Logback configuration splitting to stdout and stderr
<configuration>
<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
@a3dho3yn
a3dho3yn / mongodb_c#_cheatsheet.md
Last active October 25, 2025 11:33
MongoDB C# Driver Cheat Sheet

MongoDB C# Driver Cheat Sheet

(C) 2015 by Derek Hunziker, (C) 2017 by AppsOn

As of releasing MongoDB 3.4 and C# Driver v2.4, original cheatsheet by Derek is outdated. In addition, it has some deficiencies like connecting to MongoDB, creating indexes, etc. This updated version works fine with C# Driver v2.4.7 and MongoDB v3.4.

Setup

Define Document Models

Note: Defined models and collections will be used in entire cheatsheet.

@naartjie
naartjie / by-key.gql
Last active September 18, 2018 06:21
GQL by entity key
SELECT * from EntityName where __key__ = KEY(EntityName, <value>)
@oinopion
oinopion / read-access.sql
Created October 5, 2016 13:00
How to create read only user in PostgreSQL
-- Create a group
CREATE ROLE readaccess;
-- Grant access to existing tables
GRANT USAGE ON SCHEMA public TO readaccess;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readaccess;
-- Grant access to future tables
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readaccess;
(defn arg-find
"Helper function for defroute that extracts code from the body and
organizes it as bindings, symbols and body. Function calls within
the body are replaced by their corresponding gensyms. (:symbols is
just a list of the gensyms in :bindings, for convenience)"
[body]
(reduce (fn [acc [k v]]
(if (list? v)
(let [sym (gensym (str (name k) "-"))]
@jin
jin / hackerrank.ml
Last active July 17, 2019 14:57
OCaml HackerRank template code
(* Enter your code here. Read input from STDIN. Print output to STDOUT *)
let () =
let ary = ref [] in
try ( while true do ary := (!ary@[read_int()]) done )
with End_of_file ->
begin
List.fold_left (fun i x ->
if (i mod 2 != 0) then (print_int(x); print_string("\n"); (i + 1))
else (i + 1)
@jasongilman
jasongilman / atom_clojure_setup.md
Last active October 28, 2025 22:34
This describes how I setup Atom for Clojure Development.

Atom Clojure Setup

This describes how I setup Atom for an ideal Clojure development workflow. This fixes indentation on newlines, handles parentheses, etc. The keybinding settings for enter (in keymap.cson) are important to get proper newlines with indentation at the right level. There are other helpers in init.coffee and keymap.cson that are useful for cutting, copying, pasting, deleting, and indenting Lisp expressions.

Install Atom

Download Atom

The Atom documentation is excellent. It's highly worth reading the flight manual.

@KyleAMathews
KyleAMathews / lambda.md
Last active May 13, 2022 00:49
Using Kafka and a Samza-like node.js architecture

Disclaimer

I'm still very new to Kafka, eventsourcing, stream processing, etc. I'm in the middle of building my first production system with this stuff and am writing this at the request of a few folks on Twitter. So if you do have experience, please do me and anyone else reading this a favor by pointing out things I get wrong :)

Inspirations

@metametadata
metametadata / frontend-api-core.cljs
Created June 24, 2015 13:04
core.async error handling using <? macro (ClojureScript)
(ns frontend.api.core
(:require [ajax.core :as ajax]
[cljs.core.async :refer [chan put! close!]]
[frontend.async.core :refer [channel-error]]))
(defn <?GET [url]
"Async. Returns a maybe-channel."
(let [<?chan (chan)]
(ajax/GET url
{:handler #(do (put! <?chan %)