Skip to content

Instantly share code, notes, and snippets.

View yb66's full-sized avatar
🤔
Wondering if Github is going to become a fully fledged social network

Iain Barnett yb66

🤔
Wondering if Github is going to become a fully fledged social network
View GitHub Profile
#!/bin/sh
VERSION="1.0"
AUTHOR="John Doe"
COPYRIGHT_YEAR="2000"
SCRIPT_NAME="getopt_example"
# or maybe SCRIPT_NAME="$(basename "$0")"
show_usage() {
@wvengen
wvengen / README.md
Last active January 15, 2026 11:08
Ruby memory analysis over time

Finding a Ruby memory leak using a time analysis

When developing a program in Ruby, you may sometimes encounter a memory leak. For a while now, Ruby has a facility to gather information about what objects are laying around: ObjectSpace.

There are several approaches one can take to debug a leak. This discusses a time-based approach, where a full memory dump is generated every, say, 5 minutes, during a time that the memory leak is showing up. Afterwards, one can look at all the objects, and find out which ones are staying around, causing the

@paulirish
paulirish / what-forces-layout.md
Last active February 8, 2026 11:10
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@wjordan
wjordan / dockerize.sh
Last active June 22, 2020 15:47
Dockerize: A tiny replacement for Dockerfiles
#!/bin/sh
####
# Dockerize: A tiny replacement for Dockerfiles
# This script leverages `docker run` and `docker commit` to provide a usable workaround for
# restrictions of `docker build` and Dockerfile syntax to strictly host-independent builds.
#
# See these discussions:
# https://github.com/docker/docker/pull/1124
# https://github.com/docker/docker/issues/3156
# https://github.com/docker/docker/issues/3949
@htgoebel
htgoebel / git-read-tree1.txt
Last active February 20, 2022 11:41
Playing with git read-tree
mkdir modulegraph
cd modulegraph/
rm -rf * .hg* .git*
hg clone https://pyinstaller@bitbucket.org/ronaldoussoren/modulegraph .
hg checkout modulegraph-0.12
rm -rf .git*
git init .
git add .hg/hgrc
cat > .gitignore <<EOF
@haasn
haasn / about:config.md
Last active September 25, 2025 20:46
Firefox bullshit removal via about:config

Firefox bullshit removal

Updated: Just use qutebrowser (and disable javascript). The web is done for.

@skyl
skyl / install.rb
Last active October 28, 2024 14:17
Homebrew without sudo
#!/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
# SET YOUR_HOME TO THE ABSOLUTE PATH OF YOUR HOME DIRECTORY
# chmod +x install.rb
# ./install.rb
YOUR_HOME = ''
HOMEBREW_PREFIX = "#{YOUR_HOME}/usr/local"
HOMEBREW_CACHE = '/Library/Caches/Homebrew'
HOMEBREW_REPO = 'https://github.com/Homebrew/homebrew'
@isao
isao / TypeScript.plist
Last active November 30, 2023 11:59 — forked from davethesoftwaredev/TypeScript.plist
BBEdit Codeless Language Module for TypeScript syntax coloring and class/interface/function folding.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<!-- https://gist.github.com/isao/5f6fbe89a438086c36d8
BBEdit Language Module for TypeScript
Put this file in
~/Library/Application Support/BBEdit/Language Modules
or equivalent.
Forked from
@staltz
staltz / introrx.md
Last active January 31, 2026 10:10
The introduction to Reactive Programming you've been missing
@mourner
mourner / adler32.js
Created November 22, 2013 14:23
Adler 32 checksum implementation in JS
function hash(str) {
for (var i = 0, len = str.length, s1 = 1, s2 = 0; i < len; i++) {
s1 = (s1 + str.charCodeAt(i)) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}