Book Notes: 'The Effective Engineer' by Edmond Lau

The Effective Engineer by Edmond Lau is a book about how to be more effective within your organization. Note that there is a difference between “effective” and “efficient”. Maximizing “effectiveness” requires you to make sure that you’re working on high leverage activities. It doesn’t matter how efficient you are at completing tasks if the tasks don’t product business value. I thought the book was good, and there wasn’t really anything that I took issue with....

2022-03-07 · Me

How I Make My Site

My site is pretty minimalist. It’s just a static site - no dynamic content, no tracking[1], and no client-side JS at all. That being said, I’m not digging around my text editor opening and closing <p> tags by hand. I’ve done that for sites in the past (when I was slightly more of a noob) and it’s a pain. If I find myself needing to copy/paste changes across multiple files - it’s time to rethink my approach....

2021-06-23 · Me

Fixing Broken Imports with Neovim, Pylint, venv, and CoC

I strugged with this for a while, so I assume someone else will as well. As is often the case with configuration issues, the solution turned out to be straightforward. Relevant parts of my dev environment Neovim Pylint venv CoC Problem statement CoC/Pylint reports “E0401” import errors on libraries that are correctly installed in a virtual environment. Cause CoC is using the wrong Python interpreter to run pylint. In my case, it was running the system installation, when I needed it to run the interpreter for my virtual environment....

2021-04-04 · Me

Advent of Code 2020 - Day 2

Advent of Code 2020 - Day 2 If you’re like Linus Torvalds, and you just want me to show you the code, check it out here! Intro This one requires some string searching to find out if a given character appears in the correct position. Day 2 My plan here was to break the raw string into semantic parts (lower bound, target character, password) and then utilize helper functions to do the validation....

2020-12-02 · Me

Advent of Code 2020 - Day 1

Advent of Code 2020 - Day 1 If you’re like Linus Torvalds, and you just want me to show you the code, check it out here! Intro Another year, another Advent of Code. Last year, I fell off after day 14. This year will be different! I’m going to tackle each day as soon as I can and post a short write-up about my solution. Day 1 This one was pretty simple for me....

2020-12-02 · Me

Why I Left My Job and What's Next

Hi, I’m Matt Drake. I’m a network engineer turned data analyst turning software developer. A couple months ago, I left my public sector R&D job in order to work on a CS degree full-time and begin a new career as a software developer. Here, I’ll explain my short-term goals and my plan to achieve them. Motivation I started college after a 4-year detour in the US Army, where I was the sergeant in charge of a computer networking squad....

2020-10-11 · Me

Advent of Code 2019 - Day 14

Advent of Code 2019 - Day 14 Find my full solution repo here. Think Before You Code In order to avoid the mistake I made on day 12, I spent a while thinking about the proper approach to this problem before writing a single line of code. My main insights were: Each chemical can only be created by a single reaction. This significantly reduces the complexity of the problem, because you don’t have to compare different ways of producing a chemical....

2020-01-01 · Me

Advent of Code 2019 - Day 13

Advent of Code 2019 - Day 13 Find my full solution repo here. Day 13’s puzzle wasn’t so bad, although I spent a long time debugging something really silly. I also made things much more complicated than they needed to be when determining how to move the joystick. Breakout! The data structure for this puzzle is similar to the one I used on the Space Police puzzle - a 2d grid with inverted y-axis....

2019-12-29 · Me

Advent of Code 2019 - Day 12

Advent of Code 2019 - Day 12 Find my full solution repo here. This was a nice puzzle, even though I got stuck on the second half for a couple days. I tried a couple wrong approaches to storing and looking up previous states - namely binary trees and dictionary keys with a try/catch lookup. Eventually, I caved and looked up a hint on reddit. One commenter laid out helpful insights (the main one being that the repeated state must be the initial state, because all future states are children of the first) in a way that the problem was still interesting to solve....

2019-12-29 · Me

Advent of Code 2019 - Day 11

Advent of Code 2019 - Day 11 Find my full solution repo here “I got 99 problems but an Intcode puzzle ain’t one.” Jay-Z, if he were doing Advent of Code. My Robot The main objects that you need to track for this puzzle are the robot and the hull. For the robot, I wrote a class that tracks position and a direction vector. I tracked the hull colors using a 2d list....

2019-12-26 · Me