Skip to content

Instantly share code, notes, and snippets.

View beaugunderson's full-sized avatar
type type type

Beau Gunderson beaugunderson

type type type
View GitHub Profile
@beaugunderson
beaugunderson / cool-modules.md
Last active February 2, 2023 19:58
cool modules from nodeconf

from streams session

  • end-of-stream - specify a callback to be called when a stream ends (which is surpsingly hard to get right)
  • duplexify - compose a Duplex stream from a Readable and a Writable stream
  • pump - pipe streams together and close all of them if one of them closes
  • pumpify - combine an array of streams into a single duplex stream using pump and duplexify
  • through2 - tools for making Transform streams
  • from2 - tools for making Readable streams

from "participatory modules" session

gender statistics for aws re:invent 2014

totals

spreadsheet here, culled from the videos here

  • 245 presentations
  • 231 all male presentations (94.29%)
  • 4 all female presentations (1.63%)
  • 10 presentations with men and women (4.08%)

a recent recruiter interaction I had

since I took the time to write up a long answer to this recruiter's questions I figured I could also share it with the world at large (and yes, it's kind of a rant-y mess but I didn't want to edit it after the fact)

(also: I'm a little torn about sharing this because on the one hand I think it's important for recruiters/companies & marginalized people looking for work to know that people care about this and are speaking up about it, and on the other hand I'm very conscious about having my own ego tied up in publicly being a "good person", so to mitigate that: I probably still do lots of awful things I shouldn't, and I acknowledge that I don't deserve any cookies for this because speaking up about it is basically the minimum anyone should be doing in this situation)

unsolicited email from a recruiter I've never met/talked to

Subject: Is ESLint Overrated?

@beaugunderson
beaugunderson / debug.out
Created May 5, 2015 01:14
chromium/electron webrtc debugging
Breakpoint 1, cricket::Connection::UpdateState (this=0x1003d5710c00, now=324063896) at ../../third_party/webrtc/p2p/base/port.cc:1104
1104 rtc::sprintfn(buf, sizeof(buf), "%u",
$1 = std::vector of length 69939, capacity 131072 = {294156637, 294157205, 294157757, 294158273, 294158779, 294159285, 294159797, 294160356, 294160860, 294161384, 294161923, 294162679, 294163078, 294163420, 294163769, 294164138, 294164500, 294164886, 294165300, 294165673, 294166041, 294166435, 294166847, 294167190, 294167545, 294167925, 294168308, 294168664, 294169032, 294169386, 294169765, 294170149, 294170567, 294170946, 294171308, 294171717, 294172128, 294172517, 294172934, 294173348, 294173773, 294174168, 294174569, 294174949, 294175319, 294175709, 294176067, 294176459, 294176886, 294177261, 294177608, 294178001, 294178383, 294178748, 294179112, 294179470, 294179828, 294180217, 294180594, 294181023, 294181377, 294181740, 294182133, 294182532, 294182968, 294183372, 294183747, 294184131, 294184489, 294184846, 294185186, 29418553
vendor/chromium/src/android_webview/browser/aw_browser_main_parts.cc:63: VLOG(0) << "Load from apk succesful, fd=" << pak_fd << " off=" << pak_off
vendor/chromium/src/android_webview/browser/aw_browser_main_parts.cc:76: VLOG(0) << "Loading webviewchromium.pak from, fd:" << pak_fd
vendor/chromium/src/chrome/browser/chromeos/accessibility/speech_monitor.cc:76: VLOG(0) << "Speaking " << utterance->text();
vendor/chromium/src/chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc:595: VLOG(0) << "Loading old user image, then migrating it.";
vendor/chromium/src/chrome/browser/extensions/extension_commands_global_registry.cc:86: VLOG(0) << "Adding global keybinding for " << extension->name().c_str()
vendor/chromium/src/chrome/browser/extensions/extension_commands_global_registry.cc:103: VLOG(0) << "Removing keybinding for " << command_name.c_str();
vendor/chromium/src/chrome/browser/supervised_user/chromeos/manager_password_service.cc:195: VLOG(0) << "Password changed for " << us
'use strict';
var crypto = require('crypto');
var debug = require('debug')('withings');
var request = require('request');
var _ = require('lodash');
var EMAIL = process.env.EMAIL;
var PASSWORD = process.env.PASSWORD;
'use strict';
var fs = require('fs');
var parse = require('csv-parse');
// from https://www.amazon.com/clientbuddy/compartments/playlists/handlers/syncPlaylists
// post-processed with jq:
// jq .playlists[0].tracks[].trackId.objectId < ./syncPlaylists.json
var playlistTracks = require('./track-ids.json');
import os
from tini import Tini
filenames = [
'./intervention.ini',
os.path.join(os.path.expanduser('~'), '.intervention.ini'),
os.path.join(os.path.expanduser('~'), '.config', '.intervention.ini'),
]
#!/bin/sh
ORIGINAL_MESSAGE=`cat $1`
cat ~/.git-commit-emoji > $1
printf "$ORIGINAL_MESSAGE" >> $1
'use strict';
var fs = require('fs');
var parse = require('csv-parse');
var _ = require('lodash');
var stream = fs.createReadStream('./responses.csv');
var parser = parse({columns: true}, function (ignoredError, rows) {
rows.forEach(function (row, i) {