Skip to content

Instantly share code, notes, and snippets.

Forgetful functors are almost always faithful

Alexandre Moreno moleike

Forgetful functors are almost always faithful
Block or report user

Report or block moleike

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View AQI.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeOperators #-}

Keybase proof

I hereby claim:

  • I am moleike on github.
  • I am moleike ( on keybase.
  • I have a public key whose fingerprint is CDC4 894D F650 5812 3224 B997 C5CD DE66 C45A DD8F

To claim this, I am signing this object:

View routes.scala
import io.finch._
import io.finch.syntax._
import shapeless._
import scala.language.existentials
trait Route {
private object base extends Endpoint[HNil] {
def apply(input: Input): Endpoint.Result[HNil] = EndpointResult.NotMatched
moleike / pair_programming_roles
Created Mar 23, 2018 — forked from jordanpoulton/pair_programming_roles
Pair Programming Role Definitions - Driver:Navigator
View pair_programming_roles
-Write the code according to the navigator's specification
-Listen intently to the navigators instructions
-Ask questions wherever there is a lack of clarity
-Offer alternative solutions if you disagree with the navigator
-Where there is disagreement, defer to the navigator. If their idea fails, get to failure quickly and move on
-Make sure code is clean
-Own the computer / keyboard
-Ignore larger issues and focus on the task at hand
-Trust the navigator - ultimately the navigator has the final say in what is written
moleike / ssh_client.go
Created Mar 15, 2018 — forked from svett/ssh_client.go
SSH client in GO
View ssh_client.go
package main
import (
View tmux-cheatsheet.markdown

tmux shortcuts & cheatsheet

start new:


start new with session name:

tmux new -s myname
moleike / Makefile
Created Mar 2, 2018 — forked from llj098/Makefile
a sample tcp server runs in kernel
View Makefile
obj-m += tcp_svr_sample.o
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clea
moleike /
Created Jan 14, 2018 — forked from CMCDragonkai/
Linux: Understanding the Memory Layout of Linux Executables

Understanding the Memory Layout of Linux Executables

Required tools for playing around with memory:

  • hexdump
  • objdump
  • readelf
  • xxd
  • gcore
moleike / 00_input.conf
Created Aug 31, 2017 — forked from steveash/00_input.conf
ELK configuration for aggregating cassandra and spark logs
View 00_input.conf
input {
lumberjack {
# The port to listen on
port => 5043
# The paths to your ssl cert and key
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder/logstash-forwarder.key"
# default type, but this will already be set by logstash-forwarder anyways
View ipc.js
const net = require('net');
const server = net.createServer((c) => {
// 'connection' listener
console.log('client connected');
c.on('end', () => {
console.log('client disconnected');
You can’t perform that action at this time.