Tech Interview Handbook
Carefully curated content to help you ace your next technical interview
advice  career 
All the best engineering advice I stole from non-technical people
As I focus on becoming a better manager of engineers, I have been reflecting more and more on the advice that produced a 10X boost in my abilities at that same stage. More often than not the best…
management  engineering 
13 days ago
Syslog : The Complete System Administrator Guide
Complete Guide on understanding the Syslog protocol, syslog message format as well as log forwarding. Best practices included!
linux  monitoring 
14 days ago
The Data Engineering Cookbook. Contribute to andkret/Cookbook development by creating an account on GitHub.
database  datascience  books 
20 days ago
HTTP Security Headers - A Complete Guide
A description of each security header, why it is important, and how to configure your website in a secure way.
http  Security  reference 
29 days ago
How Uber, Facebook, and Netflix Do SSH
How are some big, well-known companies approaching SSH? We took a look at three who are setting an example for others to follow.
ssh  Security 
4 weeks ago
Operating a Large, Distributed System in a Reliable Way: Practices I Learned
For the past few years, I've been building and operating a large distributed system: the payments system at Uber. I've learned a lot about distributed architecture concepts during this time and seen first-hand how high-load and high-availability systems are challenging not just to build, but to operate as well. Building
4 weeks ago
Fuck Off As A Service (FOAAS)
FOAAS (Fuck Off As A Service) provides a modern, RESTful, scalable solution to the common problem of telling people to fuck off.
API  funny 
6 weeks ago
and CipherBlade have collaborated on this article to help you understand the dangers of a SIM-jacking attack, and how best to defend yourself against and attack, and how to recover from such an event. This article aims to be a “one-stop” article to read, reference, and share with your friends and colleagues. It's not short, but it's thorough.
mobile  privacy 
7 weeks ago
More productive Git
Tips for acquiring Git super powers.
git  productivity 
12 weeks ago
How To Ruin A Perfectly Good Container
I am not aiming at a general audience. I assume you have some notion of what security is and how it is provided (to the extent it is), in the context of computers generally and operating systems…
unix  containers 
12 weeks ago
The Data Science Interview Study Guide
A Place Where Experts Can Share Their Experience
datascience  learning 
12 weeks ago
Adaptive Capacity Labs
What does the term severity mean, in the context of incidents involving software systems? Merriam-Webster gives us this: “the quality or state of being severe: the condition of being very bad, serious, unpleasant, or harsh.” Here are a few colloquial definitions: “Severity measures the effort and expense required by the service provider to manage and resolve an …
operations  monitoring 
12 weeks ago
Python built-ins worth learning
In every Intro to Python class I teach, there’s always at least one “how can we be expected to know all this” question. It’s …
python  tutorial  learning 
12 weeks ago
A collection of standards and specifications, that help make fantastic HTTP/REST APIs. Don't reinvent the wheel, use fantastic wheels, hashed out by experts, that solve problems you hadn't even considered yet.
rest  API  reference 
may 2019
Why books don’t work | Andy Matuschak

Books are easy to take for granted. Not any specific book, I mean: the form of a book. Paper or pixels—it hardly matters. Words in lines on pages in chapters. And at least for non-fiction books, one implied assumption at the foundation: people absorb knowledge by reading sentences. This last idea so invisibly defines the medium that it’s hard not to take for granted, which is a shame because, as we’ll see, it’s quite mistaken.
may 2019
Learn to change history with git rebase!
One of Git's core value-adds is the ability to edit history. Unlike version control systems that treat the history as a sacred record, in git we can change history to suit our needs. This gives us a lot of powerful tools and allows us to curate a good commit history in the same way we use refactoring to uphold good software design practices. These tools can be a little bit intimidating to the novice or even intermediate git user, but this guide will help to demystify the powerful git-rebase.
may 2019
Mathics is a free, general-purpose online computer algebra system featuring Mathematica-compatible syntax and functions. It is backed by highly extensible Python code, relying on SymPy for most mathematical tasks.
may 2019
GitHub Learning Lab
Learn new skills by completing fun, realistic projects in your very own GitHub repository. Get advice and helpful feedback from our friendly Learning Lab bot.
may 2019
HTTP headers for the responsible developer
Twilio posts cloud communications trends, customer stories, and tips for building scaleable voice and SMS applications with Twilio's APIs.
http  webdev 
april 2019
Principles Of Algorithmic Problem Solving
Algorithmic problem solving is the art of formulating efficient methods that solve problems of a mathematical nature. From the many numerical algo- rithms developed by the ancient Babylonians to the founding of graph theory by Euler, algorithmic problem solving has been a popular intellectual pursuit during the last few thousand years. For a long time, it was a purely mathemati- cal endeavor with algorithms meant to be executed by hand. During the recent decades algorithmic problem solving has evolved. What was mainly a topic of research became a mind sport known as competitive programming. As a sport algorithmic problem solving rose in popularity with the largest competitions attracting tens of thousands of programmers. While its mathematical coun- terpart has a rich literature, there are only a few books on algorithms with a strong problem solving focus.
algorithms  books 
april 2019
Introduction to Theoretical Computer Science
Boaz Barak

Work in progress

This is a textbook in preparation for an introductory undergraduate course on theoretical computer science. I am using this text for Harvard CS 121.

See below for individual chapters. You can also download:
cs  books 
april 2019
Mathematicians Discover the Perfect Way to Multiply
Most of us rely on the "carrying method" when we multiply. But there's a much faster way to handle large numbers.
april 2019
Awesome Design Tools
The best design tools for everything — from wireframing and prototyping to animation, accessibility, AR, design systems and sound design.
tools  design 
april 2019
Graphical configurator for Kaleidoscope-powered keyboards - keyboardio/
march 2019
Camille Fournier on Scaling, Structure, and Growing as an Engineering Manager
The expectations of managers will change as the company grows. Here's Camille Fournier on how to scale yourself while growing a team.
march 2019
Code Review Best Practices
Code Reviews are a common practice in good software development teams. Here we talk about Code Review Best Practices, Guidelines and Checklists you could leverage?
march 2019
Crazy Circuits: an Open Source Electronics Learning System
: The education and home market is flooded with modular electronics 'learning' systems designed to teach kids and adults key STEM and STEAM concepts. Products such a LittleBits or Snapcircuits seem to dominate every holiday gift guide or parent blog...
electronics  hardware  learning 
february 2019
Summary: How to Start a Startup (YC)
By Charles Wong Chapter 1: Foundation (Sam Altman) Why Should You Start a Startup? Reality isn’t so glamorous Stressful Always on call Hunched over tables Founder depression Mark and friends @ FB You’ll be the boss? Everyone else is your boss CEOs report to everyone If you want power and author...
february 2019
Machine Learning for Everyone
In simple words. With real-world examples. Yes, again
data-science  machine-learning 
february 2019
Principled GraphQL
Best practices for implementing and scaling a data graph
API  graph-ql 
february 2019
What are microservices?
Microservices - also known as the microservice architecture - is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack.
february 2019
An Overview Of Computer Science Concepts For Engineers
Who Should Read This?

This article is targeted at engineering majors from disciplines other than software engineering (such as electrical or mechanical) who are interested in learning more about what topics exist in the field of computer science and software engineering. You may also benefit from this article if you graduated from a computer science program more than 10 years ago, since this field is rapidly changing and there may be new concepts that you haven't heard of before.

Various theoretical topics will be mentioned, but particular emphasis will be placed on those topics which are especially relevant in today's job market. This article is optimized for people who are already very technical, mathematical and fast learning. This article is not intended to teach you any of these topics, but instead to let you know that they exist and explain why they are important so you can go learn them on your own.
january 2019
Puts macOS in a Vagrant box. Contribute to bacongravy/macinbox development by creating an account on GitHub.
january 2019
OKRs, Explained with "Star Wars"
Having trouble understanding OKRs? This presentation will explain it to you, with the Emperor as CEO, and Darth Vader and Grand Moff Tarkin as his leadership t…
culture  management 
january 2019
Compilers for Free
Programs that manipulate other programs are powerful, interesting and fun. I’ll use Ruby to take you on a tour of how interpreters and compilers work, introduce the ideas behind a technique called partial evaluation, and explain a surprising computer science result which allows compilers to be generated automatically.

This article is adapted from a talk I gave at RubyConf 2013, which itself was based on my notes for an unrealised chapter of Understanding Computation (interpreters and compilers are explored in more detail in the sample chapter). The video of the talk is below, and the slides are also available.
january 2019
Composing Programs
Welcome to Composing Programs, a free online introduction to programming and computer science.

In the tradition of SICP, this text focuses on methods for abstraction, programming paradigms, and techniques for managing the complexity of large programs. These concepts are illustrated primarily using the Python 3 programming language.

In addition to reading the chapters below, you can apply your knowledge to the programming projects that accompany the text and visualize program execution using the Online Python Tutor.
january 2019
« earlier      
2fa accessibility accounting advice agile ai algorithm algorithms analytics api apple architecture automation aws aws_cost_management azure banking bdd bestpractices big-data bigdata blogit book books capacityplanning capitalism career changemanagement cheatsheet chrysalis cloud coal cocoa code-review coffee colors computer-science computer_science conference containers crypto cryptography cs css culture data-science data-structures data_structure database datascience design development devops digital distributed diy dns docker documentation dying early-child-development electronics email encryption engineering entarch equity finance firewall fitness fonts football funny geometry georgia git github graph-ql graphics graphql graphtheory hardware hcm healthcare hiring history html http https humor identity ifttt incident infographic information-theory infrastructure instapaper investing ios javascript jekyll jira job julia jwt kubernates launchbar leadership learning letsencrypt linux machine-learning machinelearning macos management maps markdown math mathematics mercurial mfa microservices microsoft mobile mongodb monitoring montecarlo multimarkdown music network networking nfl node number-theory ocaml odata omnifocus oop opensource operations options osx paas papers patterns performance personality photography physics pitch pmo politics postmortem preps presentation privacy probability productivity programming project-management psychology puzzles python race racism reference regex religion resilient response rest sales saml sap science scrum se security service-design shell signal-processing simulator slack slackbot soa software software-engineering speaking sports sql sqlite sre ssh ssl startup statistics strategy sublime-text surveillance swift sysadmin systems tennis terminal testing timeseries tips tools travel tutorial typography ui unix usability ux vagrant vector visualization vpn vscode webdesign webdev woodworking workflows writing zsh

Copy this bookmark: