Skip to content

Instantly share code, notes, and snippets.

View philib's full-sized avatar
🏠
Working from home

Philip Schäfer philib

🏠
Working from home
View GitHub Profile
@dam5s
dam5s / Result.kt
Last active June 22, 2022 21:28
Railway oriented programming in Kotlin - This is code accompanying my blog post https://medium.com/@its_damo/error-handling-in-kotlin-a07c2ee0e06f
sealed class Result<A, E> {
fun <B> map(mapping: (A) -> B): Result<B, E> =
when (this) {
is Success -> Success(mapping(value))
is Failure -> Failure(reason)
}
fun <B> bind(mapping: (A) -> Result<B, E>): Result<B, E> =
when (this) {
is Success -> mapping(value)
@petersellars
petersellars / autokey-github.sh
Last active March 4, 2024 21:23
Automate SSH Key generation on a machine for use with GitHub
#!/bin/bash
# Requirements
# You will need to have created a GitHub Access Token with admin:public_key permissions
# Usage
# chmod +x autokey-github.sh
# ./autokey-github.sh <YOUR-GITHUB-ACCESS-TOKEN>
# Reference
# GIT heart FZF
# -------------
is_in_git_repo() {
git rev-parse HEAD > /dev/null 2>&1
}
fzf-down() {
fzf --height 50% --min-height 20 --border --bind ctrl-/:toggle-preview "$@"
}
@crtr0
crtr0 / client.js
Created June 8, 2012 17:02
A simple example of setting-up dynamic "rooms" for socket.io clients to join
// set-up a connection between the client and the server
var socket = io.connect();
// let's assume that the client page, once rendered, knows what room it wants to join
var room = "abc123";
socket.on('connect', function() {
// Connected, let's sign-up for to receive messages for this room
socket.emit('room', room);
});