Notes for Week 11 of 2021
Packed week. Quite some time spent with hiring, but I also finally got myself few days dedicated to pure coding. It was a bliss; I made more progress in a day than in the preceding week or two. Focus matters.
I committed to this year’s WebExpo. I’ll talk about the tech bets we did in Apiary and how they’ve played out–see you there!
Random
- Modern git is awesome and starts to have usable developer experience, with single command instead of
reflog
spaghetti. New discoveries:- Looking for a file lost during rebase:
git reflog -- ./path/to/file
(if just lost because of too much branching, usegit branch --contains <hash>
to find the branch - git maintenance start
- Looking for a file lost during rebase:
- I was developing Python sparingly, so I just used black from CLI. As I am starting to write it more, I wanted more editor integration: How to set it with PyCharm and with Visual Studio code
- Dexie (the IndexDB wrapper) now provides cloud service for multiclient indexdb sync
- There is a in-memory IndexDB reimplementation for testing in node.js environment (i.e. with Jest). It works well with
idb
- JSON:API seems to get some library traction: the list is large. It is not very curated though and a lot of libraries I tried are outdated or very skeleton-like. I also see a lot of GraphQL influence: a lot of libraries try to use API resources like a database and navigate it like a graph exposed over network. I wonder how well that works in real life.
- If you need to test next.js API routes with a running webserver, here is the setup/teardown code
- JavaScript plans to have a reasonable way to work with time
- Related: do you know what will happen on September 13th, 275760?
- My favorite fun fact I give in my talks about time is that Earth’s rotation should be speeding up because of it’s dance with the Moon, but it’s slowing down instead–and nobody is sure why. Well, that’s not true anymore: Earth rotation was speeding up last year. Beware, developers: negative leap second may come for real!
- Someone filed a bug to my project that’s unmaintained for a decade. I should really get better at closing old projects.
Prisma & Databases
- Django stores UUID in a compact form and Python accepts UUID in a lot of different formats. Unlike, let’s say, the JavaScript version
- Prisma allows you to hook into the process of talking to database, but only on global basis. Having per-field or per-model functions is not (yet?) supported
- I start to feel like significant portion of my job is discovering tutorial problems
- I was uneasy for a good reason: Vercel picked up a cached build (since no package change was detected) and run it with changed
schema.prisma
to produce expected fireworks đź’Ą. But it wasn’t so bad: build failed on typescript validation. This makes me a bit more confident that server will not catch fire completely spontaneously
Recommended Readings From This Week
- Post-Spectre Web Development: Informative writeup on where browser security is heading
- Bitcoin’s Greatest Feature Is Also Its Existential Threat: This is an interesting “social” attack: put illegal documents into permanent blockchain. Strictly speaking, everyone running a full Blockchain node will get complicit in illegal hosting. Get popcorn.
- On Internal Engineering practices at Amazon: This is mostly just a hate braindump, but it brings a point. AWS throws a lot of developer productivity out of the window…yet’s it’s able to outcompete a lot of its peers. Maybe optimizing for business instead of development practices is not the worst thing after all?
- Magnitudes of exploration.: Why standardization is powerful and when to abandon it to avoid being stuck at local maxima
- Sending weekly 5-15 updates.: On power of weekly “15 mins to write, 5 mins to read” updates. Something for me to wonder about.
- Your first 90 days as CTO or VP Engineering.: Good overview.
- It Turns Out You Can Bullshit A Bullshitter After All: I am intrigued by the existence of a The Bullshitting Frequency Scale.
- The current system is broken. We are in need of a healthier version of entrepreneurship.: The 3F model for sustainable enterpreneurship makes sens to me.
- The Great Divide: On two types of frontend engineers.
- Structural Design for APIs: Is today the day in which you’ll roll your own protocol?
- The Future of Web Software Is HTML-over-WebSockets: The think/thick client cycle continues.
- GitHub, f*ck your name change.: Fair. Although I like iterating on names, even for nonracial reasons.
- Methods for Vector Display of Internet Artifacts: How to rickroll your colleagues…using a monitoring system. A story of elegant (ab)use
- Java and C# is Obsolete in the Age of Docker: How containers change system landscape. Not sure if I agree on all points, but it is an interesting perspective.
- How to Give a Status Update To Executives: Excellent template for effective “managing up” communication.
- Beyond REST: Netflix approach to SQL over the wire. Good vertical integration of the whole stack, for internal consumption and prototyping.
- How to (not) have sex as medieval penitential
- Interview With Daria Grudzien: What helps when changing careers into the tech field.
- Coworking With a Friend to Write More: A setup for people who like to work with people and in a structure.
Published in Weekly Notes and tagged Weekly Notes