Note: this was an article I was writing in 2017, got halfway through the first draft, and then never touched the company again. It’s unedited, completely outdated, and the entire second half is missing. I’m only publishing it because I wanted to share the draft with a couple of people. Caveat emptor.

AWS says that Data Pipelines are “a web service that helps you reliably process and move data between different AWS compute and storage services, as well as on-premise data sources, at specified intervals.” Nothing more than a simple ETL service, as natural and simple as the air we…


Forget revenue or innovation or how well they spy on you. The only real way to measure a company is by having their CEOs punch it out. Fight club rules, MMA restrictions, round-robin tournament. Let’s do this.

5. Larry Page

Not even Page uses G+ anymore (G+)

Coming fifth is Page. Page, while a damn good software dude, would be pretty shit in a fight. He doesn’t have any hardcore physical skills and is in poor health in general. Worst of all, though, was his willingness to adopt “don’t be evil” as the Google slogan. That kind of goodness is a liability in a fight. …


I’m turning 26 next week, which means I’ve completely matured as a human being. If I could go back in time and talk to the adolescent Hillel, here’s what I would want to tell him.

Get your wisdom teeth out now. “If you don’t do them now they’ll get infected when you’re 19, and then you’ll have to juggle a million dental surgeries and spring quarter of your sophomore year. You do not want to be distracted during spring quarter.”

Exercise more. “You’re gonna start balding around 23, and the only way to not look like a goober is to…


You’ve probably read a dozen clear, well-reasoned arguments about why mutability in your code is bad. This is not one of them. Instead, I wrote an unclear, shoddy argument for why it’s bad.

Mutability is bad. To understand why, we have to talk about time.

Talking about time

With any system we build, we generally want it to do two things. First, it should have properties: “How many widgets did customer X buy?” Second, it should take actions: “Send X an email about a widget sale.” We’ll start by restating this in a more obtuse way.

Let’s imagine an extremely simple system consisting…


How do we harden a system against race conditions? When it uses a complex cache? When it requires a global state? We could blanket our system in tests, hope we’ve covered every possible edge case, and pray that nothing new happens in production.

Or we could use formal methods.

We could write the abstract design in a machine-checkable specification language, determine the properties we want out of the design, and prove it matches our requirements. Some cases may need actual mathematical proof, but it is far more accessible to give the design a range of inputs and have it exhaustively…


The job market for Python programmers has never been brighter. The US Bureau of Labour Statistics estimates that 100 new Python jobs are created each second and, by 2025, there will be more job openings than people who have ever lived. With such a high demand it’s not surprising that many people are looking for jobs, which means lots of people are looking for interviewing questions, and that’s where I come in. I decided to create a list of the best interview questions for both interviewees and interviewers alike. …


When trying to explain why Vim is so amazing, people often say things like “you don’t have to use the mouse” and “modal editing” and “commands are composable” and such. These are all pretty nice things that make coding faster and easier. They also just so happen to lead to one of the most powerful and criminally underpublicized features of Vim: macros.

What Are Macros?

Macros are a form of “programmatic editing”, or using code to change your text. Macros are to pasting what normal mode is to insert mode. Pasting inserts text into your code. Macros run text as if it were…


Python or Ruby” is the one of the most hotly debated topics in the programming world, ranking just behind “emacs or vim” and “pro-skub or anti-skub” in importance and complexity. This FAQ will showcase their differences, answer some common questions about both, and provide an objective, definitive answer to which is better.

What is Python?

Python is a type of large snake found across the southeast semihemisphere. They are nonvenomous and hunt primarily through constriction. Many extant species are endangered.

What is Ruby?

Ruby is a bright red gem. It is considered one of the four precious gemstones, along with emeralds, diamonds, and sapphires. …

Hillel Wayne

I once kicked a pigeon.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store