Skip to content

Instantly share code, notes, and snippets.

@chabala
chabala / using-google-takeout.md
Last active April 4, 2025 01:36
Merge and extract tgz files from Google Takeout

Recently found some clowny gist was the top result for 'google takeout multiple tgz', where it was using two bash scripts to extract all the tgz files and then merge them together. Don't do that. Use brace expansion, cat the TGZs, and extract:

$ cat takeout-20201023T123551Z-{001..011}.tgz | tar xzivf -

You don't even need to use brace expansion. Globbing will order the files numerically:

$ cat takeout-20201023T123551Z-*.tgz | tar xzivf -
@passsy
passsy / material text sizes.md
Last active May 25, 2023 04:24
Material font sizes
@TomTasche
TomTasche / debug_log.cpp
Last active December 31, 2015 22:29
console output in C++
std::cout << "debug message: " << array.size() << std::endl;
@dominicbartl
dominicbartl / ps1.sh
Last active December 29, 2015 06:59
A colorful prompt which displays the time of your last command, the working directory, the git branch and status characters
function timer_start {
timer=${timer:-$(date +%s%N)/1000000}
}
function timer_stop {
millis=$(($(date +%s%N)/1000000 - $timer))
if [[ $millis -ge 1000 ]] ; then
timer_mout="$(($millis/1000))"s ;
else
timer_mout="$millis"ms ;
@jboner
jboner / latency.txt
Last active April 8, 2025 10:46
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@ryanflorence
ryanflorence / static_server.js
Last active February 27, 2025 06:28
Node.JS static file web server. Put it in your path to fire up servers in any directory, takes an optional port argument.
var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs")
port = process.argv[2] || 8888;
http.createServer(function(request, response) {
var uri = url.parse(request.url).pathname
, filename = path.join(process.cwd(), uri);