Nicole Tietz-Sokolskaya, a software engineer, writes weekly posts on software engineering, Rust, cryptography, and personal tooling.
Commenters share her posts on specific topics like feature flags, her ergonomic desk setup, and decaf coffee. One notes her RSS link is oddly encoded.
Frickin' build something, man. A JSON parser. A web server. A language implementation. Something. Anything. Read the article by that lady who advocated writing useless programs[0] for more ideas. Pick a language and just go. Avoid new and shiny; the idea here is to choose the language you're most comfortable in, so it's likely to be something you've years of experience writing. Is that Java? Go nuts in Java.
The idea behind picking your coziest language is so that as you build the thing you're building, any snags you identify are more likely to be issues with you rather than the environment or your lack of proficiency in it. Do you get frustrated and procrastinate? Does your coding style make your code more needlessly complex or error-prone? As you work you will notice these issues. And, at a minimum, you will have a sense of where you can improve, so that the next thing you build, you can build faster, more easily, and more robustly.
I like working in Lisp because Lisp comes with frickin' productivity turbojets attached. No other language lets me turn my thoughts into code more quickly or easily. But even working in Lisp... I find that there's friction working on a complex or unfamiliar problem and my urge to quit, or at least put it off and play video games, starts to rise. I'm still working on fighting that.
[0] https://ntietz.com/blog/write-more-useless-software/
SourceForge used to hope everyone would think that way. Fortunately
their abusive [0] dominance didn't last.
As well as a general anti-monoculture argument, [1] there's a case to be made that Free and Open Source projects should live on 'forges' which are themselves Free and Open Source. [2][3] Also, in the specific case of GitHub, a lot of people are unhappy about the Copilot project.
Also on this general topic I recommend this hour-long discussion video [4].
[0] https://en.wikipedia.org/wiki/SourceForge#Controversies
[1] https://nedbatchelder.com/blog/201405/github_monoculture.html
[2] https://drewdevault.com/2022/03/29/free-software-free-infrastructure.html
[3] https://ntietz.com/blog/moving-off-github/
[4] https://spacepub.space/w/dPKZMydUMLqEVkK7Kuy4ir
This is basically the outcome of not having fulfilled this: https://ntietz.com/blog/rust-needs-a-web-framework-for-lazy-developers/
I am unapologetic about despising Ruby - Rails is pretty darn good, though. The Rails and Djangos of the programming worlds are critical for many teams that shouldn't be building their own frameworks from scratch (for any number of reasons).
Attempts are being made (https://loco.rs/) and time will tell if Rust can put together a compelling story for this use case.
https://ntietz.com
All roughly related to software engineering, weekly cadence. Sometimes philosophical, sometimes technical, sometimes just random observations. Mostly it's about whatever is on my mind re: software at the moment or what I'm playing around with at the time.
I don't read the comments on discussion forums usually, but emails I will always read and respond to emails and I'm always grateful for the feedback.
The "useless" programming language that OP created is actually pretty interesting. It only uses exception throwing and catching as the only control flow and apparently that's enough to do pretty much anything.
I mean, obviously I'm never going to use it, but it was a fun read.
Hurl language: https://ntietz.com/blog/introducing-hurl/
HN discussion: https://news.ycombinator.com/item?id=36393673
This reminds me, and perhaps a perfect example of writing useless software[1] and the subsequent HN discussion[2].
Is it a life changer? Probably not. Was it fun to write and explore? Most likely!
We definitely need to make more stuff like this.
[1]: https://ntietz.com/blog/write-more-useless-software/
[2]: https://news.ycombinator.com/item?id=37911900