Projects

Legoify

Github

"Legoify is a command line tool written in Python that helps you make mosaics using building blocks."

Some time ago, I saw a Facebook post in a Jeff Rosenstock fan group. It was a picture of a gift this person recieved, a mosiac recreation of the album art of the 2020 album "No Dream", created using (what looked to be) LEGOs.

In the past I've had vague ideas of decorating my walls with something similar. So I checked the comments of the post, and saw that this little piece of art was ordered from stereohoare.com.

I considered buying some pieces from there, but decided against it, thinking that I could do it myself for cheaper. SPOILER: That site has very reasonable prices - it is probably cheaper than doing it yourself with LEGO branded blocks.

So I went down a rabit hole of "doing it myself", which resulted in me writing the code linked above. It is not a very large project, but it has been very fun. I especially enjoyed learning how to think of images as multi-dimensonial arrays.


Multiline Wrap

Visual Studio Marketplace - Github

This is just a little VS Code plugin I wrote purely out of self convenience.

Very often at work I have to take a list of object IDs (usually GUID strings) from a spreadsheet, and use them in a MongoDB query written in Javascript. In order for that to work, they need to be formatted as strings - e.g. they need to be wrapped in quotes and seperated with commas.

  • c6361c5587ce451888683dae008411bc
  • 8bca1f93b820451caf490b19196a9966
  • 25d8fb195ac240d19168f950931fc60f

into

  • "c6361c5587ce451888683dae008411bc",
  • "8bca1f93b820451caf490b19196a9966",
  • "25d8fb195ac240d19168f950931fc60f",

You can do this pretty easily a 1000 different ways, most of which only take 10-30 seconds. But I do this often enough that 10-30 seconds became an unreasonable amount of time. So I spent however many hours writing the extension so I could do it in 1-5 seconds.


Other

There are undoubetdly other projects I have poured hours into, each in a varying degree of completedness, but they are either unnoteworthy or escaped my mind at the time of writing this. :)