017 - lining up the chess pieces
According to LinkedIn I’ve been working on eno for six months now. My gut reaction to this is disappointment. If someone was to ask to see the code as it runs today it would be quite underwhelming.
When I go back and itemize what I actually did in each of those six months though I feel a bit better about my progress. Here’s a rough breakdown:
January - Learn about low level data structures (e.g. wtf is a linked list) and build a hacky prototype
February - Build a data layer to power eno’s dynamic text system. I call it the BFT.
March - Prove out more features for the BFT
April - Build Lincoln, a deterministic simulation tester. Use Lincoln to fix a ton of bugs in the BFT.
May - Learn font rendering, gpu programming, Mac desktop app programming and make eno a full blown desktop app.
June - Work towards an alpha version of eno that does something interesting.
Aside from the development work, there are some “soft” areas that have improved drastically over the last six months:
I have a much clearer and higher conviction vision of what eno will actually do.
I am getting better at explaining what eno does in conversation (a lot goes into this - figuring out the right analogies to illustrate the vision is difficult)
Programming in Zig now feels pretty natural.
I am getting better a blogging (it takes me much less time to write a post - I can’t speak for the quality of the actual product)
There was a moment last week where I felt the effect of all this work quite tangibly. I sat down at my laptop with a vision of what I wanted to accomplish that morning. My goal was to make it possible to select some text and convert it into a variable. I thought this would be fairly difficult but should be achievable by the end of the day.
So I added some code here and there, built the app a few times, resolved some syntax issues and then ran it. Lo and behold, the new feature worked. Only 30 minutes had elapsed!
The reason this was possible is because a bunch of BFT code I had written back in March was actually doing all the complicated aspects of this new feature. Combine this with the cursor work I did two weeks ago and all I had to do was wire a few things up.
The optimist in me feels like I have lined up a bunch of key chess pieces: the BFT, Lincoln, a cohesive vision for the product and my skill as a developer. If they are lined up well, hopefully I can make some quick and decisive moves in the coming months.
On a completely unrelated note, the deer in my neighbourhood had babies and they are hanging outside my office window this morning. Despite my fervent belief that deer should not be roaming around the streets of a city, I have to admit they are pretty cute.
With the end of school and an upcoming family vacation it may be a few weeks before I blog again. Happy beginning of summer everyone!
If you enjoyed this post, subscribe below to get notifications for the next one.
We also have an RSS feed