subverting the software interview

Cans. Cans everywhere. Some alcoholic, some diabetic, all of them eclectic. Remnants of nights long gone, spent hunched over in front of the pale glow of a text editor. Time you’ll never recover, lost to the ethereal dance of progress. There’s an old pizza box in the corner, a faint memory of a lonely meal.…

write you a parser for okay acceptable!

Parsec is a beautiful library, but it’s DIFFICULT. Every time I’m working on a problem that requires an actual parser beyond regex, I die a little inside. I used Parsec for my Scheme interpreter, and it was probably the most frustrating part of the project. This isn’t the fault of the authors, though. Parsers are…

advent of code 2020, day 7: droste and bourke

The previous few days of Advent have been kinda boring – day 4 was regex, then binary search, then set intersections. We’re finally back to graph traversals, and so I felt like this was worth a post. The problem goes as follows – you’ve sledded to the airport, made it past security, boarded your plane,…

advent of code 2020, day 3: lazy tobogganing

Part 1 of 2 in this series. It’s December, so you know what that means. Debt? Maybe. Alcoholism? No time. Time to save Santa again? Yep. Advent of Code is finally back, and so everybody’s in full motion trying to contort their favourite languages into workable problem-solving tools, me included. I’ve been a huge fan…

beauty and the bytestring

event that aims to showcase some of the cool, unknown features of Haskell that newcomers might not know. Ok, let’s talk about Linked Lists. You’ve likely come across them before, either in Leetcode problems or in a pretentious whiteboard interview. They’re a simple data structure, and a great way to learn how to use structs…

magical shell utilities: tsort

Graph theory comes up a lot more often than you think. Whenever you run a search, download packages, or do anything on the Internet really, you’re reaping its benefits without even realizing. You might be familiar with sort if you’ve done any work in the shell beyond rm -rf /*. It’s useful for working with…

declarative is a buzzword

I feel like I’ve been putting in way more effort into this site than it’s actually worth. I’ve spent close to 24 hours on the CSS in total, and it’s still somewhat broken on mobile and narrow screens. If you haven’t noticed, the footer element is still avoiding the bottom of the viewport on short…

  • News
  • September 27, 2020

is-even and the horrors of dependency management

Let’s have a talk about pulling in packages. When is it necessary? You want to check if a number is even, in a language that isn’t type-safe. Your first intuition is to use the % operator, but it doesn’t work. You’re frustrated. Seven beers and 20 syntax errors later, you throw away any hesitation about…