tolower() in bulk at speed

Steven Pinker and I debate AI scaling!

Hyperstreams – Nesting in Lucid

Issue #245



Something that stuck with me from one of my electrical engineering summer internships was what one of the head engineers told me, "the better of an engineer you are, the less engineering you actually end up doing". He was specifically referring to "hard" engineering (not sure why it's called "hard", but that's normally the term used to refer to traditional engineering like electrical, mechanical, civil, etc, but not software), but I think it applies to most professions. So today I wanted to explore how it applies to software engineering specifically.
One of the first important lessons you learn outside of academics and in a commercial environment is that you're really writing code for other people. I think people enjoy believing the myth that there's some crazy scientist locked away in a lab, single-handedly progressing human civilization, but it's not really true. Most (if not all) great things come from cooperation between many people; it's why we say that "we stand on the shoulder's of giants". The more people you have working on something, the more they can achieve, assuming you have good systems in place for managing the work. Of course you can point to examples where the whole isn't greater than the sum of the parts, but again, that's mostly due to poor systems for managing those parts.
As a result, soft skills are just as important as technical ones when you're trying to progress and develop professionally and as a person. Being able to communicate both clearly and efficiently with the people you're working with is one of the best ways to improve your overall productivity. Unfortunately this is a lot more difficult to measure than something like your number of commits or lines of code written (two terrible metrics anyway). Regardless, it's your responsibility as a professional and a coworker to try to develop these skills, and ultimately you'll quickly find that it pays off in the form of better relationships and a more varied skill set.
But how does one go about leveling up these skills? I think the easiest way to start is to just write and share it with others. It's scary at first, but you get used to it. It also doesn't necessarily have to be technical in nature. If you're struggling with what to write about, I found a good way to get pen to paper (or fingers to keyboard) is to just write a short summary at the end of the day of what you did that day (coincidentally also a great way to practice when you're learning a new language).
If you want to tie it back into a more professional application, it translates very well to writing documentation, which is pretty much also just a summary of actions. The more and more you do it, the easier it becomes, and you might even find that on some days you have ideas worth sharing with other people, in which case I'd recommend throwing them up on a website. I'd refrain from only sharing your writing with people close to you, since they're less likely to be critical of it.
Once you start becoming more fluent in getting your ideas into text format, you can begin thinking about what audience you're writing for, and what outcome you want to achieve. Again, it can all be tied back to writing code; your inputs are transformed to outputs, and your writing is the function in the middle. You'll learn to adapt your function (writing style) based on who you're piping that output to. You can use a more familiar approach by spec'ing out the inputs of the next step in the pipeline (what ideas you want your audience to ingest). You can't always predict how their function is going to transform the input into output (their actions after digesting your ideas), but everyone appreciates it when the inputs they get are sanitized and complete, because that means less data massaging for them.
Anyway, here's the issue.


tolower() in bulk at speed

Published: 27 June 2022
Tags: c, dns

Tony Finch demonstrates an optimization for "convert[ing] DNS names to their canonical lower case form" using C.


Steven Pinker and I debate AI scaling!

Published: 27 June 2022
Tags: ai

Steven Pinker and Scott Aaronson discuss the future of the GPT-n language models.


Hyperstreams – Nesting in Lucid

Published: 27 June 2022
Tags: lucid

Bill Wadge explains the nested looping of streams implementation in Lucid.

How did I do?

1 2 3 4 5

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 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: 2915

Opens: 1372

Clicks: 347

Link Clicks Clicks % Unique Clicks Unique Clicks %
tolower() in bulk at speed 120 48.98% 134 50.76
Steven Pinker and I debate AI scaling! 72 29.39% 75 28.41
Hyperstreams – Nesting in Lucid 53 21.63% 55 20.83


Back to Issues