Init

29 December 2022

Re-establishing the problem-solving habit that I used back when I was working my way through CLRS. My goals and needs have changed in the years since then, so I have some thoughts on how to productively go about this.

I had it in my head to construct a custom setup for all this. Make a collection named _posts and map it similar to how I setup CLRS. I got a bit flummoxxed when Jekyll took no notice of my new collection, and after a bit of digging I learned why! I am sufficiently impressed with how straightforward this is.

So why establish a blog? The plan is based on missing the routine I had established a few years ago when I was hard at work on CLRS problems. At best, I was working one problem every day. This was a bit of a challenge to balance with my other duties at the time, and it lead to me favoring the simpler problems so I could maintain my streak. Naturally, this wasn’t sustainable and I lost interest.

But now I’m interested in picking it back up. But when I think about the system I was using before, I have some thoughts on how to improve it. As usual, my thoughts prefer to be presented in a bulleted fashion:

Cracking the Coding Interview (CCI from now on) is an interesting book. I picked it up while job searching and spent some time with it but then quickly got an offer and placed it on a shelf for glancing at from time to time. The first 50 or so pages were a succinct retelling of Big-O notation concepts that I had to claw out of CLRS, but here they were described in helpfully plain terms and with an eye towards some surprising inconsistencies in how the concepts are translated from textbooks to interview conversations. If I found myself in a situation where I needed to quickly brush up on these concepts, I would spend a few hours with this book before cracking open CLRS.

Past that front section, the problems were much more practical than what I was working on out of CLRS or SICP at the time. They really felt like problems that might come up during project work, and in a couple of cases they resembled very closely problems that I had worked on before. I’m eager to look at them again and see if my initial impression was accurate and if the extra two years of experience will impact my thoughts on the matter.

Maybe I’m wrong and CCI won’t work as a source for problems that I intend to spend a week on at a time. That’s ok and I’m open to switching things up. Perhaps I’ll take more than one problem across a week or maybe I’ll shop around for other sources. The important part to me is to establish a maintainable habit of problem-solving at a level that is always going to be practical in some way. I will document as the challenge’s details are refined as I settle into what works for me. This post describes what I see as the spirit of this engagement and I would hope any changes I make in the future are in service of this spirit first and foremost.