The Carmack Method

Eventually working around high-productivity professionals like John Carmack made me realize that if you want to excel, then you have to work hard and focus the whole time. I remember Carmack talking about productivity measurement. While working he would play a CD, and if he was not being productive, he’d pause the CD player. This meant any time someone came into his office to ask him a question or he checked email he’d pause the CD player. He’d then measure his output for the day by how many times he played the CD (or something like that – maybe it was how far he got down into his CD stack). I distinctly remember him saying “So if I get up to go to the bathroom, I pause the player”. ...

Feb 9, 2021 · Christopher Boette

'We did what we always do...'

We did what we always do when there’s a problem without a clear solution: we waited. from “Toward Go 2”

Jul 25, 2017 · Christopher Boette

Installing Golang on OSX with Brew and oh-my-zsh

brew install go worked well, as expected. However, at the end of the installation, the notes suggest I add GOROOT to my path: You may wish to add the GOROOT-based install location to your PATH: export PATH=$PATH:/usr/local/opt/go/libexec/bin Buuuuut, it didn’t work. After trying out some different iterations, I was reminded when ls-ing through the surrounding directories that /usr/local/opt/go/... was aliased because Homebrew. This Stack Overflow answer reinforced my hunch. So, I updated my .zshrc: ...

Oct 11, 2016 · Christopher Boette

'Recursion is the GOTO of functional programming.' -- Erik Meijer

def fact(n): return reduce(lambda x, y: x * y, range(1, n + 1)) print(fact(5)) #=> 120

Jun 30, 2016 · Christopher Boette

Massimo Banzi’s 13 Rules for Open Source Projects

brucesterling: Adapted from a talk by Massimo Banzi, co-founder of Arduino, presented at World Maker Faire 2011 in New York. 1. Don’t make something you don’t use yourself. 2. Know who you are making it for. 3. Know what you want out of it. 4. Make projects, not platforms. 5. Respect the intelligence of the beginner. 6. Experts are not the best advisors when you want to make tools for beginners. ...

May 15, 2016 · Christopher Boette

When my teammates try to push to the same branch at the same time

thecodinglove: /* by chrisbodhi */

Apr 29, 2016 · Christopher Boette

Use this one trick to get the version of a locally-installed Node module

npm view MODULE | grep version:

Apr 24, 2016 · Christopher Boette

Deploying the Howdy.ai Botkit to Heroku

It wasn’t difficult, but like they say, blog about what would have helped your previous self. Presumbaly, you’re here because you have a rad bot you built using Botkit, and you’re looking for a bit of guidance on getting it out of your local environment and into the real world using Heroku. If you’re not already familiar with Heroku, or just need a refresher, check out their tutorial on deploying Node.js apps. ...

Jan 31, 2016 · Christopher Boette

Copy & paste terminal output like a chump no longer!

run command_with_output | tee /path/to/destination/file.txt You’ll still get the output of your command to the terminal, but that output will also get piped into file.txt, thanks to the tee command. Pre-installed on OS X.

Aug 31, 2015 · Christopher Boette

Too Many Content Requests

During a phone screen recently, the CTO of the company was going through my portfolio site. He checked the browser’s network console and noticed that the site — a page built with React components — was sending multiple requests a second for data from a JSON object [the object serves as the page’s datastore because spinning up a database in this instance would be overkill]. A learning moment! I revisited the React docs and the code for the components. With a better understanding of React, the issue was quickly apparent: every time the Dealer component was rendered, an AJAX request for data.json fired. Which, just to get static data, was a lot. ...

Jul 8, 2015 · Christopher Boette