defragmentation

Matrix notes

Attempting to create an aesthetic global line breaking algorithm

Issue #241

6/21/2022

{{PreviewText}} 

Yoo
Sorry for the delayed sent out today. Stayed up too late last night watching Stranger Things. Good stuff.
When I was younger, I used to play a Korean MMORPG called Ragnarok. In it, everyone starts off as a novice, then at level 10 you choose a tier 1 class, like swordsman, then at a certain level you choose a tier 2 class, like knight, and it goes up to tier 4 or something now (it ended at tier 2 when I played, but they've added on since then). So why do I bring it up? Well I think most people think of a software engineer's career path in terms of these kinds of tiers.
At first, everyone starts off as a novice, then most people will begin to specialize in one or a couple of different things (tier 1/senior engineer), then you come to the first major fork in the road at tier 2 (every tier 1 class has a choice of picking between two different tier 2 classes) where you basically decide if you transition to management or technical progression (the former meaning becoming team lead or equivalent and the latter meaning becoming the go-to technical problem solver, which I don't know the title of). You can extrapolate for the rest of the tiers, and of course people can switch between them, but it's just a metaphor so it's not perfect.
Maybe this way of thinking of it is wrong though. My whole professional career is unconventional, so I can't really relate to the metaphor. Instead, I've found that it's more appropriate to think of it in terms of what kind code you're writing and your productive output measured in human power (HP), where one human power is one mostly fluent engineer working on something.
First you write code to just stay above water and to do what you need it to do. Productive output, below 1 HP.
Then some time passes and for one reason or another you have to get back into this old code you wrote, and you realize that you really need to be writing code for your future self and others. Productive output, 1 HP.
Then you're not really writing that much computer code anymore, but instead writing code for humans so that they write better computer code. Productive output, 1 HP x some factor which is correlated to the number of people following your code and how much faster it's taking them from being below 1 HP to >=1 HP.
Then you're writing meta human code, so that other people mostly writing human code, write better human code, for people mostly writing computer code, to write better computer code. Productive output, same formula as above, but multiplied by the number of people directly below you.
I've kind of waved my hands on how to calculate the productive output, but the general formulas are made up of very measurable statistics. You could even number these levels on a log scale of your calculated productive output. Maybe this is how companies already do it, I don't know. I just outlined what my intuitive approach would be based on my experience.
Anyway, here's today's issue.

====================================================================

defragmentation

Published: 15 June 2022
Tags: compiler


Andy Wingo discusses the fundamentals of writing a garbage collector.


====================================================================

Matrix notes

Published: 17 June 2022
Tags: networking


Antoine Beaupré does a deep-dive on the Matrix communication protocol.


====================================================================

Attempting to create an aesthetic global line breaking algorithm

Published: 14 June 2022
Tags: algorithms


Jussi Pakkanen introduces and briefly discusses implementing it.


How did I do?

1 2 3 4 5
Bad


Good
Want to help and get cool stuff?

Thank you for reading! If you enjoy the newsletter, I would really appreciate you helping me spread the word by forwarding this to your friends and colleagues or sharing it on social media! Get cool stuff for your referrals using your link https://abyteofcoding.com or the buttons below.

Your referrals:


If you want to discuss or comment on this issue, head on over to this page at A Byte of Coding. You can also subscribe there if you're new!

Have comments or feedback? Just reply to this email or hit me up on Twitter @AByteOfCoding.

Email landed in your promotions tab? Please move it over to primary so you don't miss the latest issues in the future.
Thanks for your Support! 

Thanks to sponsors and supporters like Євген Грицай, Scott Munro, zturak, pek, Emil Hannesbo, Joe Hill, Astrid Sapphire, Gregory Mazzola, moki scott, Michael, Matt Braun, Tim Nash, Christoffer, and Mike Rhodes this newsletter is provided to you for free. If you'd like to also show your support and buy me a monthly meal, you can donate on the Patreon page. It's not necessary, but it lets me know that I'm doing a good job and that you're finding value in the content.


Stats (updated daily)

Sent: 2887

Opens: 1345

Clicks: 456

Link Clicks Clicks % Unique Clicks Unique Clicks %
defragmentation 136 39.19% 140 38.25
Matrix notes 94 27.09% 105 28.69
Attempting to create an aesthetic global line breaking algorithm 117 33.72% 121 33.06

Previous

Back to Issues

Next