Working Notes: a commonplace notebook for recording & exploring ideas.
Home. Site Map. Subscribe. More at expLog.
Trying out something new this week; today's letter is written in VSCode web and
I have a GitHub Action to publish. Things mostly seem to work; to mimic
auto-fill-mode
in emacs I'm using gq
from Vim emulation in VSCode.
This is something I've been thinking about for some time: I wrote Building Developer Tools a lifetime ago, and have since updated some of my beliefs and approaches; most of my opinions are unchanged -- some I'm doubling down on -- and some I've added since.
Composability: I've been seeing the compounding effects of building easily composable tools repeatedly over the past year. The Unix Way really works, and any opportunity to extend it should be grabbed with both hands. I really wish UIs were more composable and easier to integrate.
Shipping value immediately: I've bene able to get outsized results just because of a dramatic focus on shipping things quickly. Unblocking other engineers sooner has a ripple effect that's not linear.
The value of familiarity: I've generally underestimated how much fungibility of skill and just how much engineers value being able to use tools they're already familiar with. The muscle memory users have built up learning tools -- and the fact that learning a new tool is completely tangential to the real work they need to do. Any new tool breaking into an existing workflow must provide an outsized amount of value for adoption.
Build vs buy vs open source: This is an important one I never quite paid enough attention to just because of where and how I work. Being able to quickly spin up something that just works, and doesn't reduce options can be invaluable -- and there's a certain stability to good open source software.
While I haven't been able to make as much progress as I would have liked, I wanted to explicitly list out all the books, libraries to explore, test programs to write, and resources to use. I'll tentatively keep coming back and updating this specific entry as I find new resources, but to just have a sense of what I'd need a little more formally than last week's entry.
Books to work through:
Libraries to use
Missing topics to add: something aroud better understanding of network limitations, bandwidth, communication mechanisms and HPC. General understanding of data centers, disk, file systems.
And of course, getting better at Transformer architectures and the models -- including the linear algebra. I still can't really visualize K/Q/V etc. straight in my head, and must generally work things out slowly and manually.
— Kunal