Skip to content

Instantly share code, notes, and snippets.

View ento's full-sized avatar

ento

View GitHub Profile

What Hiring Should Look Like

This is definitely not the first time I've written about this topic, but I haven't written formally about it in quite awhile. So I want to revisit why I think technical-position interviewing is so poorly designed, and lay out what I think would be a better process.

I'm just one guy, with a bunch of strong opinions and a bunch of flaws. So take these suggestions with a grain of salt. I'm sure there's a lot of talented, passionate folks with other thoughts, and some are probably a lot more interesting and useful than my own.

But at the same time, I hope you'll set aside the assumptions and status quo of how interviewing is always done. Just because you were hired a certain way, and even if you liked it, doesn't mean that it's a good interview process to repeat.

If you're happy with the way technical interviewing currently works at your company, fine. Just stop, don't read any further. I'm not going to spend any effort trying to convince you otherwise.

@scmx
scmx / split-git-commit-with-orig-head.md
Last active October 3, 2024 16:55
How to split a Git commit and preserve message using ORIG_HEAD #git #commit #ORIG_HEAD https://twitter.com/albertarv/status/954389020758495233

How to split a Git commit and preserve message using ORIG_HEAD

A colleague told me he'd accidentally committed something. Now he wanted to remove it from the previous commit and then put in a new commit. This is called splitting a commit, and here's the best way I know of how to do it.

Solution

  1. git reset --soft HEAD~ Undo the last commit, but preserve "Changes to be committed"
  2. git reset <some/path> Exclude what you want
  3. git commit -C ORIG_HEAD Commit with the same message as before, which was stored in ORIG_HEAD

Example

@akirak
akirak / ddskk-usage.org
Last active May 30, 2021 17:41
How to use DDSKK, Japanese input method for Emacs

How to Use DDSKK Japanese Input Method for Emacs

This tutorial describes the basic usage of DDSKK Japanese input method for Emacs.

Installation and configuration

Install ddskk package.

Turn on skk-mode minor mode to write Japanese. It is recommended that you should bind a key to this command:

@gboudreau
gboudreau / AuthyToOtherAuthenticator.md
Last active October 3, 2024 13:41 — forked from Ingramz/AuthyToOtherAuthenticator.md
Export TOTP tokens from Authy

Exporting your 2FA tokens from Authy to transfer them into another 2FA application

IMPORTANT - Update regarding deprecation of Authy desktop apps

Past August 2024, Authy stopped supported the desktop version of their apps:
See Authy is shutting down its desktop app | The 2FA app Authy will only be available on Android and iOS starting in August for details.

And indeed, after a while, Authy changed something in their backend which now prevents the old desktop app from logging in. If you are already logged in, then you are in luck, and you can follow the instructions below to export to tokens.

If you are not logged in anymore, but can find a backup of the necessary files, then restore those files, and re-install Authy 2.2.3 following the instructions below, and it should work as expected.

@ampersarnie
ampersarnie / horizon-flower-literature.md
Last active August 26, 2023 23:39
[Horizon: Zero Dawn - Metal Flowers] A complete list of authors and poems found in the metal flower collectables in the game Horizon Zero Dawn #gaming #horizon #horizonzerodawn #ps4 #literature #poetry

Mark I

A

Yosa Buson

Light of the moon

Moves west, flowers' shadows

Creep Eastward

B

@maxvt
maxvt / infra-secret-management-overview.md
Last active July 5, 2024 13:01
Infrastructure Secret Management Software Overview

Currently, there is an explosion of tools that aim to manage secrets for automated, cloud native infrastructure management. Daniel Somerfield did some work classifying the various approaches, but (as far as I know) no one has made a recent effort to summarize the various tools.

This is an attempt to give a quick overview of what can be found out there. The list is alphabetical. There will be tools that are missing, and some of the facts might be wrong--I welcome your corrections. For the purpose, I can be reached via @maxvt on Twitter, or just leave me a comment here.

There is a companion feature matrix of various tools. Comments are welcome in the same manner.

@gelisam
gelisam / exchange-formats.md
Last active September 30, 2023 17:50
A list of every data exchange formats I could find

At work, I just spent the last few weeks exploring and evaluating every format I could find, and my number one criteria was whether they supported sum types. I was especially interested in schema languages in which I could describe my types and then some standard specifies how to encode them using an on-the-wire format, usually JSON.

  1. Swagger represents sum types like Scala does, using subtyping. So you have a parent type EitherIntString with two subtypes Left and Right represented as {"discriminator": "Left", value: 42} and {"discriminator": "Right", value": "foo"}. Unfortunately, unlike in Scala in which the parent type is abstract and cannot be instantiated, in Swagger it looks like the parent type is concrete, so when you specify that your input is an EitherIntString, you might receive {"discriminator": "EitherIntString"} instead of one of its two subtypes.
  2. JSON-schema supports unions, which isn't quite the same thing as sum types because
@dutc
dutc / Makefile
Last active July 23, 2018 23:08
Making LD_PRELOAD/LD_AUDIT modules with Python
.PHONY: all clean test
PYTHON_CONFIG = python3-config
CC = gcc -std=gnu11
CFLAGS = `$(PYTHON_CONFIG) --cflags`
INCLUDES = `$(PYTHON_CONFIG) --includes`
LIBS = `$(PYTHON_CONFIG) --libs`
LD_PATH = `$(PYTHON_CONFIG) --prefix`/lib
@josephg
josephg / 0dedict.py
Last active September 27, 2024 08:49
Apple dictionaries
# Thanks to commenters for providing the base of this much nicer implementation!
# Save and run with $ python 0dedict.py
# You may need to hunt down the dictionary files yourself and change the awful path string below.
# This works for me on MacOS 10.14 Mohave
from struct import unpack
from zlib import decompress
import re
filename = '/System/Library/Assets/com_apple_MobileAsset_DictionaryServices_dictionaryOSX/9f5862030e8f00af171924ebbc23ebfd6e91af78.asset/AssetData/Oxford Dictionary of English.dictionary/Contents/Resources/Body.data'
f = open(filename, 'rb')
@unarist
unarist / transifex-copyall.user.js
Last active December 15, 2016 02:50
Transifexで原文と訳文をまとめてコピーするやつ
// ==UserScript==
// @name Transifexで原文と訳文をまとめてコピーするやつ
// @namespace https://github.com/unarist/
// @downloadURL https://gist.githubusercontent.com/unarist/e58f7a051c285d614a89/raw/transifex-copyall.user.js
// @version 0.6
// @description enter something useful
// @author unarist
// @match https://www.transifex.com/*/translate/
// @require https://cdnjs.cloudflare.com/ajax/libs/mustache.js/0.8.1/mustache.min.js
// @grant none