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

Books Finished in 2020

Pittsburgh, Frank Santoro The Churn, James S. A. Corey Bttm Fdrs, Ezra Claytan Daniels & Ben Passmore Laura Dean Keeps Breaking Up With Me, Mariko Tamaki & Rosemary Valero-O’Connell Space Riders, Fabian Rangel Jr. & Alexis Ziritt Zero to One, Peter Thiel with Blake Masters Sabrina, Nick Drnaso Kettlebell Simple & Sinister: Revised and Updated Edition, Pavel Tsatsouline The Alchemist, Paulo Coelho My Favorite Thing Is Monsters, Emil Ferris High Magick: A Guide to the Spiritual Practices That Saved My Life on Death Row, Damien Echols Big Red Tequila, Rick Riordan Dept. H Omnibus, vol 1, Matt Kindt & Sharlene Kindt Effective TypeScript, Dan Vanderkam Atomic Habits, James Clear Pulp, Ed Brubaker & Sean Phillips Power to the People!, Pavel Tsatsouline Foundation, Isaac Asimov Logicomix: An Epic Search for Truth, Apostolos Doxiadis & Christos H. Papadimitriou & Alecos Papadatos & Annie Di Donna Pragmatic Thinking & Learning: Refactor Your Wetware, Andy Hunt X-Force (2014) vol 1: Dirty/Tricks, Si Spurrier & Rock-He Kim & Jorge Molina COPRA, Round One, Michel Fiffe The War of Art, Steven Pressfield Hogfather, Terry Pratchett Some parting thoughts: Not as many books finished this year compared to the last. I didn’t read many graphic novels that I loved, and didn’t finish any books in the months of April and August. The pandemic shut down my monthly graphic novel book club, it was easier to de-stress in front of the TV, and — probably the biggest factor — my wife gave birth to our first child at the very end of 2019. Having a newborn isn’t great for reading (books for adults) or sleeping, but the rest of the experience makes up for it. This year, I want to focus on modeling good behaviors, so I’m going to make it a point to read more around the baby.

Jan 1, 2021 · Christopher Boette

org-mode shortcuts for literate programming

Recently, I had occasion to complete some coding exercises. Since there was some exposition involved, I wanted to take advantage of some of the affordances for literate programming provided by org-mode in Emacs. I won’t get too much into the definition and benefits of literate programming here. My intent is to create a reference of some of my favorite org-mode commands that, in practice, I don’t get to use that often; but, would like to have collected in one spot. ...

Nov 7, 2020 · Christopher Boette

Hashing Pipelines with Joblib

For the last six months or so, I’ve been working on building out the infrastructure for our machine-learning service at work. One thing that had me scratching my head last week was trying to compare two fitted pipelines, trained on what could be the same data. To ensure that I wasn’t re-uploading a duplicate fitted pipeline, I wanted to compare the MD5 hashes of the fitted pipelines. Joblib has a way to do this, but I spent way too long trying to find an example of getting it working. ...

May 11, 2020 · Christopher Boette

Books Finished in 2019

The Last Lecture, Randy Pausch and Jeffrey Zaslow Shambhala: The Sacred Path of the Warrior, Chögyam Trungpa Garlandia, Lorenzo Mattotti and Jerry Kramsky Bingo Love, Tee Franklin and Joy San and Jenn St-Onge Play Bigger: How Pirates, Dreamers, and Innovators Create and Dominate Markets, Al Ramadan and Dave Peterson and Christopher Lochhead and Kevin Maney Winning with Data: Transform Your Culture, Empower Your People, and Shape the Future, Frank Bien and Tomasz Tunguz On a Sunbeam, Tillie Walden Lawrence in Arabia: War, Deceit, Imperial Folly and the Making of the Modern Middle East, Scott Anderson Crux, Ramez Naam The Worst Is Yet to Come: A Post-Capitalist Survival Guide, Peter Fleming Radical Candor: Be a Kick-Ass Boss Without Losing Your Humanity, Kim Scott Capitalist Realism: Is There No Alternative?, Mark Fisher The Oven, Sophie Goldstein House of Women, Sophie Goldstein The Wild Storm, vol. 1, Warren Ellis and Jon Davis-Hunt Some Remarks: Essays and Other Writings, Neal Stephenson Algeria Is Beautiful Like America, Olivia Burton and Mahi Grand Victory of Eagles, Naomi Novik Zero K, Don DeLillo The Second Machine Age: Work, Progress, and Prosperity in a Time of Brilliant Technologies, Erik Brynjolfsson and Andrew McAfee The Russian Kettlebell Challenge: Xtreme Fitness for Hard Living Comrades, Pavel Tsatsouline Passing for Human, Liana Finck The Complete Ballad of Halo Jones, Alan Moore Dune, Frank Herbert All You Need is Kill, Takeshi Obata and Ryōsuke Takeuchi and Yoshitoshi Abe RASL, Jeff Smith Star Wars: Darth Vader: Dark Lord of the Sith, Charles Soule and others Tongues of Serpents, Naomi Novik By Chance or Providence, Becky Cloonan The Silence of Our Friends, Mark Long and Jim Demonakos and Nate Powell November, vol. 1, Matt Fraction and Elsa Charretier Brazen: Rebel Ladies Who Rocked the World, Pénélope Bagieu Mastering the 21 Immutable Principles of Brazilian Jiu Jitsu, Paulo Guillobel For Small Creatures Such as We: Rituals for Finding Meaning in Our Unlikely World, Sasha Sagan

Jan 1, 2020 · Christopher Boette

Adding Custom Meta Tags to Hugo

After reading about the Mozilla Foundation and Coil’s announcement, I decided I wanted to try an experiment and add a Coil micropayment meta tag to my blog. I couldn’t find an obvious way to do this with Hugo or much information about it in their docs. I first tried just adding the key-value pair to my config.toml. # config.toml monetization = "$coil.xrptipbot.com/zP3gu5RkRVSdjBhe_fu3XA" The values didn’t end up in the <head> tag on my site, though. Then, after skimming through Hugo’s discussion forum, I hit upon the idea to check out the theme’s header.html partial. I added a check and a spot for the monetization meta parameter on my fork: ...

Sep 21, 2019 · Christopher Boette

On Inquisitive Variable Names

They say that code should read like well-written prose, and that code is written to be read by people—it’s only incidental that machines do something with whatever we create. To those ends, prefixing the names of variables of the boolean type with “is” or “has” or another interrogative word has the effect of leading the reader to expect an answer—“yes” or “no,” or in the parlance of the language, true or false. This communicates to the reader that the variable represents a boolean, and primes them for approaching the next part of the expression as something that may or may not happen. ...

Jul 24, 2019 · Christopher Boette

Climate and Environmental Variables

A couple years ago my friend Trevor and I went to look at the Apple garage. As we stood there, he said that as a kid growing up in Saskatchewan he’d been amazed at the dedication Jobs and Wozniak must have had to work in a garage. “Those guys must have been freezing!” That’s one of California’s hidden advantages: the mild climate means there’s lots of marginal space. In cold places that margin gets trimmed off. There’s a sharper line between outside and inside, and only projects that are officially sanctioned — by organizations, or parents, or wives, or at least by oneself — get proper indoor space. That raises the activation energy for new ideas. You can’t just tinker. You have to justify. ...

Mar 9, 2019 · Christopher Boette

DM's are an Anti-Pattern

this post is in reference to Slack/Hipchat/Hangouts Direct Messages, not Dungeon Masters An all-too-common approach to communication I’ve seen is DM’s for any number of subjects which should be public: how to set up a server, a discussion about an architectural proposal, how to address the content in an open PR, and so on. At best, they limit information sharing among the team members; at worst, they further fracture a team’s cohesion and ruin any efficiency in communication by forcing folks to repeat themselves. ...

Feb 1, 2019 · Christopher Boette

Building Lists in Scheme

Or, the differences between append, cons, & list from sicp 2.26: Suppose we define x and y to be two lists: (define x (list 1 2 3)) (define y (list 4 5 6)) What’s the output of the following? (append x y) ;; (1 2 3 (4 5 6)) ;; but actually ;; (1 2 3 4 5 6) (cons x y) ;; ((1 2 3) (4 5 6)) ;; but actually ;; ((1 2 3) 4 5 6) (list x y) ;; (1 2 3 4 5 6) ;; but actually ;; ((1 2 3) (4 5 6))

Jan 4, 2019 · Christopher Boette