Skip to content

Instantly share code, notes, and snippets.

@e12e
e12e / keybase.md
Created August 11, 2023 20:28
Keybase

Keybase proof

I hereby claim:

  • I am e12e on github.
  • I am e12e (https://keybase.io/e12e) on keybase.
  • I have a public key ASD4o4MuBBQts1nXKjB32jwNr8_1o9jD_3ovHuK_uKlpmwo

To claim this, I am signing this object:

@e12e
e12e / tailscale
Created April 26, 2023 13:55 — forked from cmtsij/tailscale
tailscale completion
#!/bin/bash
# tailscale completion -*- shell-script -*-
_tailscale()
{
local cur prev words cword
_init_completion -n = || return
if [[ $cword -eq 1 ]]; then
SUBCOMMANDS=$(tailscale --help 2>&1 | awk '/SUBCOMMANDS/{ f = 1; next } /FLAGS/{ f = 0 } f{print $1}')
@e12e
e12e / block-compromised-github-key.sh
Last active April 2, 2023 16:49 — forked from robbat2/block-compromised-github-key.sh
Mark compromised GitHub.com key as revoked
#!/bin/bash
# For eg MacOs with ssh*.d-style config:
# Update ssh_config (client config, not server config)
echo "RevokedHostKeys /etc/ssh/ssh_revoked_host_keys" | sudo tee /etc/ssh/ssh_config.d/revoked_host_keys.conf
# Create revocation file as ssh binary file. If file isn't readable *all* keys are considered invalid!
test -s /etc/ssh/ssh_revoked_host_keys || sudo ssh-keygen -k -f /etc/ssh/ssh_revoked_host_keys
# Revoke old github key based on full key or id:
cat <<EOF | sudo ssh-keygen -k -u -f /etc/ssh/ssh_revoked_host_keys -
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<script id="jsbin-javascript">
@e12e
e12e / capybara cheat sheet.md
Last active April 15, 2019 11:44 — forked from zhengjia/capybara cheat sheet
capybara cheat sheet

Navigating

visit('/projects')
visit(post_comments_path(post))

Clicking links and buttons

click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button

click('Button Value')

@e12e
e12e / db.rake
Last active December 19, 2017 16:49 — forked from hopsoft/db.rake
Rails rake tasks for dump & restore of PostgreSQL databases
# lib/tasks/db.rake
# Original source: https://gist.github.com/hopsoft/56ba6f55fe48ad7f8b90
# Merged with: https://gist.github.com/kofronpi/37130f5ed670465b1fe2d170f754f8c6
#
# This is the code from the comment:
# https://gist.github.com/hopsoft/56ba6f55fe48ad7f8b90#gistcomment-2275324
# Made into a fork/separate gist for easier download, with redundant shell-script removed.
#
#
# Usage:
@e12e
e12e / pdfsplit.py
Created October 12, 2015 16:19
Simple python script to split 2-up PDFs into single-page PDFs
# -*- coding: utf-8 -*-
"""
Created on Thu Feb 26 08:49:39 2015
@author: Matt Gumbley (stackoverflow)
changed by Hanspeter Schmid to deal with already cropped pages
argparsing snippet added by Eirik Schwenke
Origin:
http://stackoverflow.com/questions/13345593/split-each-pdf-page-in-two
@e12e
e12e / akira.jpg
Last active January 11, 2021 06:15
Colors hack
akira.jpg
@e12e
e12e / hyphen-test.html
Last active August 29, 2015 14:26
Some test-cases for css3 hyphens and justification/alignment.
<!DOCTYPE html>
<html lang="en">
<head>
<style type="text/css">
p.lipsum::after {
content: "Justification is a matter of personal preference... Keep in mind that the justification engine of a word processor or web browser is rudimentary compared to that of a professional pagelayout program. So if I’m making a word-processor document or web page, I’ll always left-align the text, because justification can look clunky and coarse.";
}
p {
width: 10em;
@e12e
e12e / qt.cpp
Last active August 29, 2015 14:16
Idiomatic way of writing eol and flushing stdout with qt5?
#include <QTextStream>
int main(int, char*[])
{
// Works, but is hacky (note: empty string):
// QTextStream(stdout) << "" << endl;
// Does not compile:
// QTextStream(stdout) << endl;
// Best? way (thanks to suy on #qt@freenode):