Skip to content

Instantly share code, notes, and snippets.

View ialpert's full-sized avatar

1G0R Alpert ialpert

View GitHub Profile

FWIW: I didn't produce the content presented here (the outline from Edmond Lau's book). I've just copy-pasted it from somewhere over the Internet, but I cannot remember what exactly the original source is. I was also not able to find the author's name, so I cannot give him/her the proper credits.


Effective Engineer - Notes

What's an Effective Engineer?

Questions to ask potential employers

  • How long do you expect it would take me to deploy my first change? To become productive? To understand the codebase?
  • What's the longest tenure of a developer at this company?
  • How long has the top quarter of the developers been here?
  • What fraction of the developers have been here less than 6 months?
  • How long does it take to do a complete deployment?
  • How large are PRs? For a "big" PR, how many lines of code? How long is it open?
  • How often do you have major outages? What constitutes a major outage for you?
  • Do you have a defined process for the aftermath of an outage?
@ialpert
ialpert / System Design.md
Created July 9, 2018 01:16 — forked from vasanthk/System Design.md
System Design Cheatsheet

System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
00,FF,FF,FF,FF,FF,FF,00,52,62,88,88,00,88,88,88,1C,15,01,03,80,00,00,78,0A,EE,91,A3,54,4C,99,26,0F,50,54,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,1D,00,72,51,D0,1E,20,6E,28,55,00,C4,8E,21,00,00,1E,8C,0A,D0,8A,20,E0,2D,10,10,3E,96,00,13,8E,21,00,00,1E,00,00,00,FC,00,54,6F,73,68,69,62,61,2D,48,32,43,0A,20,00,00,00,FD,00,3B,3D,0F,2E,0F,00,0A,20,20,20,20,20,20,01,6D,02,03,14,41,42,42,A1,23,09,07,07,66,03,0C,00,30,00,80,E1,00,8C,0A,D0,8A,20,E0,2D,10,10,3E,96,00,C4,8E,21,00,00,18,8C,0A,D0,8A,20,E0,2D,10,10,3E,96,00,13,8E,21,00,00,18,8C,0A,A0,14,51,F0,16,00,26,7C,43,00,13,8E,21,00,00,98,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,DA
@ialpert
ialpert / nodejs.download.js
Created July 18, 2012 14:43
Download file using GET and nodejs
function download(url, cb) {
var data = "";
var request = require("http").get(url, function(res) {
res.on('data', function(chunk) {
data += chunk;
});
res.on('end', function() {
cb(data);
@ialpert
ialpert / paginate.js
Created July 18, 2012 12:02
paginate extension for lodash/underscore
_.paginate = function(arr, size) {
var pages = [];
size = size || this.length;
while (arr.length) {
pages.push(arr.splice(0, size));
}
return pages;
@ialpert
ialpert / object-watch.js
Created July 9, 2012 16:09 — forked from eligrey/object-watch.js
object.watch polyfill
/*
* object.watch polyfill
*
* 2012-04-03
*
* By Eli Grey, http://eligrey.com
* Public Domain.
* NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.
*/
@ialpert
ialpert / gist:2015522
Created March 11, 2012 08:04 — forked from alexshk/gist:1234559
.osx
# Show indicator lights for open applications in the Dock
defaults write com.apple.Dock show-process-indicators -bool true
# Don’t animate opening applications from the Dock
defaults write com.apple.Dock launchanim -bool false
# Expand save panel by default
defaults write -g NSNavPanelExpandedStateForSaveMode -bool true
# Expand print panel by default
@ialpert
ialpert / gist:1589154
Created January 10, 2012 13:46
DustJS templates compiler into single file
var
path = require("path"),
fs = require("fs"),
dust_path = path.join(__dirname, "/lib/dust"),
tpls_path = path.join(__dirname, "../js/app"),
parser = require(path.join(dust_path, "/parser")),
compiler = require(path.join(dust_path, "/compiler")),