Skip to content

Instantly share code, notes, and snippets.

'use strict';
/*globals ebml */
if ( !window.ebml ) window.ebml = {};
ebml.EbmlDecoder = function EbmlDecoder( options ) {
var schema = {
"80": {

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.

@hmps
hmps / es5.js
Created February 4, 2019 12:02
Random SSN
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var age = Math.floor(Math.random() * Math.floor(70));
var year = new Date().getFullYear() - age + '';
var month = Math.floor(Math.random() * Math.floor(12)) + 1; // 1-12
var monthWithZero = month < 10 ? '0' + month : month.toString();
var daysInMonth = new Date(year, month, 0).getDate();
var day = Math.floor(Math.random() * Math.floor(daysInMonth)) + 1 + '';
var dayWithZero = day < 10 ? '0' + day : day.toString();
@hmps
hmps / README.md
Created October 18, 2018 08:32
Toggle Slack sidebar

Toggle Slack Sidebar

The code has been tested on Slack's desktop app (version 3.3.3) on macOS 10.14. Your milage may vary.

Tired of the Slack sidebar claiming a bunch of your precious screen estate? With this little hack you can toggle it! It includes changing one of Slack's built-in files, so be careful and backup.

How to add this

In your terminal:

@hmps
hmps / gist:3c58f2e75d2d64233c66344561347241
Last active July 12, 2024 21:45
TMUX config and keybindings

Key bindings

So ~/.tmux.conf overrides default key bindings for many action, to make them more reasonable, easy to recall and comforable to type.

Let's go through them.

If you are an iTerm2 user, third column describes the keybinding of similar "action" in iTerm2. It's possible to reuse very same keys you already get used to and tell iTerm2 to execute analogous tmux actions. See iTerm2 and tmux integration section below.

@hmps
hmps / ci.md
Last active April 17, 2018 07:33
App CI

App CI

  • NAPP / WAPP (guides)
  • Dependencies
    • NPM (yarn)
    • Gems (bundle)
    • Cocoapods (pod)
  • Local (pre-push)
  • package.json
{
"files.exclude": {
".vscode/": true,
"**/.DS_Store": true,
"**/.git": true,
"**/*.lock": true,
"android/.gradle": true,
"android/.idea": true,
"android/app/build/": true,
"android/build": true,
@hmps
hmps / 0-README.md
Last active February 23, 2018 07:44
Sharing components between React web and Native - Extend class
@hmps
hmps / 1-README.md
Last active February 23, 2018 08:39
Sharing components between React web and Native - Render Prop