Skip to content

Instantly share code, notes, and snippets.

@rolandcrosby
rolandcrosby / towns.rb
Created Nov 30, 2020
generate some massachusetts town names
View towns.rb
#!/usr/bin/env ruby
class WordMarkov
def initialize(data=[])
@nexts = {}
@initials = []
data.each do |word|
chars = word.split('')
@initials << chars[0..1]
chars[0..-3].each_with_index do |char, i|
View laptops.csv
manufacturer model name width depth thickness weight screensize screenwidth screenheight
Lenovo 20KH002KUS X1 Carbon 6th Gen 12.73 8.54 0.62 2.49 14 2560 1440
Lenovo X1 Carbon 7th Gen 12.71 8.54 0.58 2.4 14 3840 2160
Apple A1466 MacBook Air 13" 2013 12.8 8.94 0.68 2.96 13.3 1440 900
Apple A1534 MacBook 12" 2017 11.04 7.74 0.52 2.03 12 2304 1440
Apple A1932 MacBook Air 13" 2018 11.97 8.36 0.61 2.75 13.3 2560 1600
Apple MacBook Air 13" 2020 11.97 8.36 0.63 2.8 13.3 2560 1600
Apple MacBook Pro 16" 2019 14.09 9.68 0.64 4.3 16 3072 1920
Dell 9380 XPS 13 2019 11.9 7.8 0.46 2.7 13.3 3840 2160
Dell XPS 13 2020 11.64 7.82 0.58 2.64 13.4 1920 1200
@rolandcrosby
rolandcrosby / ffmpeg.sh
Last active Oct 24, 2020
just so i have this next time i want to dub some audio with ffmpeg
View ffmpeg.sh
# mix two audio streams together:
youtube-dl "https://www.youtube.com/watch?v=c38HJR-9vhU" -f best -o burnafterreading.mp4
youtube-dl "https://www.youtube.com/watch?v=Pqh63ca__mM" -f best -o chromatica.mp4
ffmpeg \
-ss 77.2 \ # skip first 77.2 seconds of first input
-i burnafterreading.mp4 \
-i chromatica.mp4 \
-filter_complex "[0:1][1:1] amix=inputs=2:weights=2 1" \ # mix track 1 (audio) of inputs 0 and 1, make audio 0 twice as loud as 1
-map 0:0 \ # use track 0 (video) from input 0
-c:a aac -strict -2 \ # don't think this is necessary, default encoder settings should be fine
@rolandcrosby
rolandcrosby / flightaware-kml-merge.py
Last active Sep 14, 2020
merge multiple KML track files from FlightAware into a single file that can be imported into Google My Maps
View flightaware-kml-merge.py
from glob import glob
from lxml import etree
def xpath(el, path):
return el.xpath(path, namespaces={
'kml': 'http://www.opengis.net/kml/2.2',
'gx': 'http://www.google.com/kml/ext/2.2'
})
View most-used sandwich ingredients.sparql
SELECT ?ingredient ?ingredientLabel (GROUP_CONCAT(DISTINCT ?sandwichLabel; SEPARATOR = ", ") AS ?sandwiches) WHERE {
?sandwich ((wdt:P31?)/(wdt:P279*)) wd:Q28803;
wdt:P527 ?ingredient.
MINUS { ?ingredient (wdt:P279*) wd:Q7802. }
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en", "fr".
?sandwich rdfs:label ?sandwichLabel.
?ingredient rdfs:label ?ingredientLabel.
}
}
@rolandcrosby
rolandcrosby / Palme d'Or.sparql
Last active Jul 24, 2020
Wikidata SPARQL query to retrieve films that have won the Palme d'Or at Cannes
View Palme d'Or.sparql
SELECT
?film
?title
?directors
?year
WHERE
{
SELECT
?film
?title
View repositories-20200717.txt
"rolandcrosby/adjacency"
"rolandcrosby/adsb"
"rolandcrosby/airports-that-sound-alike"
"rolandcrosby/alexa-transit"
"rolandcrosby/balloonboy"
"rolandcrosby/bernie"
"rolandcrosby/calligraphy"
"rolandcrosby/ccal"
"rolandcrosby/citibike"
"rolandcrosby/cloudwriter"
@rolandcrosby
rolandcrosby / mkcsr.py
Created May 6, 2020
make a certificate signing request that you can use with mkcert
View mkcsr.py
#!/usr/bin/env python3
from OpenSSL import crypto, SSL
from typing import List, Optional
import sys
import os
import errno
def get_or_make_key(cn: str) -> crypto.PKey:
@rolandcrosby
rolandcrosby / openterm.sh
Created Apr 25, 2020
switch to gnome-terminal if it's open, otherwise launch a new one
View openterm.sh
#!/bin/bash
read -r win_found <<<$(wmctrl -l -p | awk '{print $1,$3}' | while read -r wins; do ps -o command= -p "${wins/0x* /}" | grep -q gnome-terminal && echo "${wins/ */}" && break; done)
if [ -z "$win_found" ]; then
gnome-terminal
else
wmctrl -i -a $win_found
fi
View list comprehensions.md

these are all pretty similar --

Scala:

val outer = List(List(1, 2, 3, 4, 5), List(4, 5, 6, 7, 8))
for {
  inner <- outer
  x <- inner
} yield x