Skip to content

Instantly share code, notes, and snippets.

@willurd
willurd / web-servers.md
Last active January 12, 2025 02:42
Big list of http static server one-liners

Each of these commands will run an ad hoc http static server in your current (or specified) directory, available at http://localhost:8000. Use this power wisely.

Discussion on reddit.

Python 2.x

$ python -m SimpleHTTPServer 8000
@lelandbatey
lelandbatey / whiteboardCleaner.md
Last active November 28, 2024 10:59
Whiteboard Picture Cleaner - Shell one-liner/script to clean up and beautify photos of whiteboards!

Description

This simple script will take a picture of a whiteboard and use parts of the ImageMagick library with sane defaults to clean it up tremendously.

The script is here:

#!/bin/bash
convert "$1" -morphology Convolve DoG:15,100,0 -negate -normalize -blur 0x1 -channel RBG -level 60%,91%,0.1 "$2"

Results

@staltz
staltz / introrx.md
Last active January 10, 2025 18:38
The introduction to Reactive Programming you've been missing
@OliverJAsh
OliverJAsh / gist:bcc676e381a06dbb3be0
Created October 28, 2014 11:34
webpack experiment and comparison against jspm

webpack: http://webpack.github.io/ jspm: http://jspm.io/

Nice introduction presentation: http://peerigon.github.io/presentations/2014-07-09-MNUG-webpack/

The watch seems intelligent in that it might be tracing the dependency graph. In my test case it seems to, at least. AMD and CommonJS modules are supported out of the box. In my test I was unable to get es6-loader working (see commit in link below).

Unlike jspm, it's not a registry. Instead it resolves dependencies from node_modules (i.e. npm) by default (like browserify), although according to this tutorial it's trivial to configure which directories the module resolver should read from.

Gitter Shortcuts

I have several pieces of feedback on the shortcuts. The most significant feedback is that, with keyboard shortcuts, staying within conventional "vocabulary" is vitally important. When you use a web browser, any web browser, you can rely on Ctrl-Tab moving between tabs. Even more broadly, in almost any application regardless of purpose, you can rely on Cmd-N to open a "new thing", be it a document, a window, a message, or anything.

Keyboard shortcuts are productive because of these conventions. Gitter appears to eschew almost all conventional shortcuts for analogous actions, and this is a large problem. There are three obvious examples of this:

  • Cmd-Ctrl-C focuses chat input. If we look at other chat applications, we see that there are several very standard solutions to this user action. The most common is that the chat field simply always has focus. Gitter does special things with text selection though, so it's fair to say that this might not be an answer. This lead
@kost
kost / harden.sh
Created November 16, 2015 04:47 — forked from jumanjiman/harden.sh
hardening script for an alpine docker container
#!/bin/sh
set -x
set -e
#
# Docker build calls this script to harden the image during build.
#
# NOTE: To build on CircleCI, you must take care to keep the `find`
# command out of the /proc filesystem to avoid errors like:
#
# find: /proc/tty/driver: Permission denied
@subfuzion
subfuzion / README.md
Last active May 11, 2024 17:03
vim/neovim configuration

I recently switched over to neovim (see my screenshots at the bottom). Below is my updated config file.

It's currently synchronized with my .vimrc config except for a block of neovim-specific terminal key mappings.

This is still a work in progress (everyone's own config is always a labor of love), but I'm already extremely pleased with how well this is working for me with neovim. While terminal mode isn't enough to make me stop using tmux, it is quite good and I like having it since it simplifies my documentation workflow for yanking terminal output to paste in a markdown buffer.

These days I primarily develop in Go. I'm super thrilled and grateful for fatih/vim-go,

@hatarist
hatarist / pg_get_table_sizes.sql
Created September 8, 2017 15:48
PostgreSQL: get table size (data & index & toast)
SELECT
*,
pg_size_pretty(table_bytes) AS table,
pg_size_pretty(index_bytes) AS index,
pg_size_pretty(total_bytes) AS total
FROM (
SELECT
*, total_bytes - index_bytes - COALESCE(toast_bytes, 0) AS table_bytes
FROM (
SELECT
@lizthegrey
lizthegrey / attributes.rb
Last active September 24, 2024 14:33
Hardening SSH with 2fa
default['sshd']['sshd_config']['AuthenticationMethods'] = 'publickey,keyboard-interactive:pam'
default['sshd']['sshd_config']['ChallengeResponseAuthentication'] = 'yes'
default['sshd']['sshd_config']['PasswordAuthentication'] = 'no'
#!/usr/bin/env bash
set -x
# make sure we install macOS command line tools
if ! xcode-select -p &> /dev/null
then
xcode-select --install
fi