That's exactly the problem. Thanks for describing! What I find is people using linters to ensure all struct fields are initialized explicitly (e.g. https://github.com/GaijinEntertainment/go-exhaustruct), which is uhh...
It seems modern statically-typed and even dynamically-typed languages all adopted this idea, except Go, where they decided zero values represent valid states always (or mostly).
A sincere question to Go programmers – what's your take on "Parse, Don't Validate"?
Super cool! It recommended me Scalene Python profiler (https://github.com/plasma-umass/scalene), which looks very interesting – I haven't heard about it before..
Yes! I also got bitten by format_on_save when working with legacy projects with inconsistent formatting. Given another discussion I saw, the maintainers didn't think about this use case much, i.e. "why don't you want to have a proper formatting?". It can be turned off now, so not sure if they'll change the default.
Hmm, I found Zed to consume battery less than VScode on my M1 MBP. It's ~100 vs ~200 12h power consumption on average according to Activity Monitor. Do you compare it to VSCode?
That's a good idea. I considered VSCodium but the issue is that I used VSCode's proprietary extensions such as Pylance. So it would require to switch to OSS replacements at which point I decided why wouldn't give Zed a try – it has a better feeling by not being an Electron app.
I think VSCodium is a good option if you need extensions not available in Zed.
Hi, I'm the author of the post. I hope it resonates with many who got tired of VSCode and found Zed.
I'd also like to add there are many small features I miss in Zed that I don't go over in the post, e.g. autodetect and respect file's indentation (https://github.com/zed-industries/zed/issues/4681). But I see Zed is actively shipping the missing features, so I believe they'll improve significantly over the next year.
I use it like this: If a PR is LLM-generated, you as a maintainer either merge it if it's good or close if it's not. If it's human-written, you may spend some time reviewing the code and iterating on the PR as you used to.
Saves your time without discarding LLM PRs completely.
Amazing! I've made a similar ebooks-audiobooks aligner years ago: https://github.com/r4victor/syncabook. At that time, I chose to synthesize the text and align two audio sequences because I found texts-alignment approaches (including ML-based ones) too compute-intensive and inadequate for long texts. I see Storyteller works by aligning the texts. Could you give some view on how long it takes to sync a book?
Also, my experience was that audio and text versions are often very different (e.g. the audio having an intro missing from the text). It'd be very interesting to know how well Storyteller handles such cases. Does it require manual audio/text editing or handle the differences automatically?
You're welcome! I'm collecting learning resources on tech topics at https://bestresourcestolearnx.com and I was looking for a book on CS like this one for a long time. Further readings are especially good – I'm going to steal some of your recommendations ;)
I'll continue to go through books, docs, courses, and other resources on programming, CS, and math topics and share the best ones on https://bestresourcestolearnx.com to help people learn more effectively.
Think of other resources besides money that you can use for promoting projects: 1) your time and energy and 2) creativity. A reliable way to get traffic is to produce valuable content such as articles and videos. Sure, they also need promotion, but you can post them to HN, reddit, etc from time to time and it will be more reliable and sustainable source of traffic than a one-time link to the project. It's a hard way but it works 100%.
Look for new platforms and communities that are not sick of things being promoted. There is an excellent observation about Mastodon now in the comments.
SEO works. I've prototyped a new project recently – a collection of learning resources on IT topics (https://bestresourcestolearnx.com) – I haven't even started to promote it yet but it gets some relevant SEO traffic anyway.
Creative promotion ideas are project-specific, but I would think about how you can collaborate with people with some audience in your field. Like game developers giving away their games to streamers and influencers.
And mention your project when the opportunity arises (if appropriate, of course).
As far as I understand, Ruby's Ractors are what Python is now trying to do with subinterpreters (https://lwn.net/Articles/820424/). I mention them in the post.
Hi! I'm the author of this article. Thanks for posting it.
The GIL is an old topic, but I was surprised to learn recently that it's much more nuanced than I thought. So, here is my little research.
This article is a part of my series that dives deep into various aspects of the Python language and the CPython interpreter. The topics include: the VM; the compiler; the implementation of built-in types; the import system; async/await. Check out the series if you liked this post: https://tenthousandmeters.com/tag/python-behind-the-scenes