Skip to content

Instantly share code, notes, and snippets.

View FlorianWendelborn's full-sized avatar
🇺🇦

Florian Wendelborn FlorianWendelborn

🇺🇦
View GitHub Profile
#!/bin/bash
set -e
rm -f text
vi text
rm -f text.asc
gpg --clearsign text
cat text.asc | sed -e 's/^/ /' | pbcopy
const WIDTH = 32
const fs = require('fs')
const chalk = require('chalk')
const hsl2rgb = require('pure-color/convert/hsl2rgb')
// const e = require('emoji.json')
const file = fs.readFileSync(process.argv[2])
file.forEach((char, index) => {
const rgb = hsl2rgb([char / 256 * 360, 100, 50]).map(i => Math.floor(i))
someArray.sort(({ [key]: a }, { [key]: b }) => ((ascending ? a < b : a > b) ? 1 : -1))

Monorepo Merge

Assuming you have two git repositories monorepo, and my-project and want to add my-project to monorepo/projects/my-project:

cd my-project
git filter-branch --index-filter '
    git ls-files -s |
    sed "s,     ,&'"projects/my-project/"'," |
 GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info &amp;&amp;
@FlorianWendelborn
FlorianWendelborn / retag.sh
Last active October 9, 2018 23:18
Adds a prefix/suffix to all existing git tags.
#!/usr/bin/env bash
PREFIX="versions/my-app/"
SUFFIX=""
git tag -l | while read t; do
NEW_NAME="${PREFIX}${t}${SUFFIX}"
git tag $NEW_NAME $t
git tag -d $t
done
const appointments = [[100, 125], [200, 230], [230, 400]]
const requests = [[10, 50], [130, 210], [240, 250]]
const times = [[0]]
for (let i = 0; i < appointments.length; i++) {
const [ra, rb] = appointments[i]
const last = times[times.length - 1]
last[1] = ra
@FlorianWendelborn
FlorianWendelborn / illuminati.js
Last active December 23, 2018 00:04
Exploiting https://button.mohsh.com to make the Illuminati the Top Country
#!/usr/bin/env node
const WebSocketClient = require('websocket').client
const attempt = () =>
new Promise((resolve, reject) => {
const client = new WebSocketClient()
client.on('connectFailed', error => {
console.log('Connect Error: ' + error.toString())
resolve()
const mapBranchesGetter = <G extends keyof BranchesStore>(
getter: G
): BranchesStore[G] => {
return this.context.rootGetters[`branches/${getter}`]
}
const getBranch = mapBranchesGetter('getBranch')
const mapGetter = <S, G extends keyof S>(namespace: string, getter: string): S[G] => {
return this.context.rootGetters[`${namespace}/${getter}`]
}
@FlorianWendelborn
FlorianWendelborn / wtf-sliders.html
Created October 26, 2019 22:59
AFAIK, this is supposed to be impossible behvavior. Yet, all browsers seem to be affected.
<html>
<head>
<!-- Any idea whatsoever why input.works works and input.wtf is completely
unstyled in firefox & chrome? Also, input.half-wtf works in Firefox, even
when swapping around the lines. -->
<style>
input {
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;