Ditch your loving families, homes, and autonomy to come help Steve and Karen feel validated in their management roles.
Commuting is fun everyone, it's not like the endless traffic fatalities killing more people than guns and violence each year will ever actually hurt you in a way that damages our profits. That makes you accountable and ownership is big here at Big Co. Inc. Just think of all the positive vibes you can check while hordes of people fail to zipper onto freeway junctions ensuring you never see your children during sunlight hours.
My favorite C programming book was Expert C Programming by Peter van der Linden, mainly for the method of reading any C declaration and for teaching me the difference between libc calls vs syscalls. There's also a book called Modern C by Jens Gustedt from 2020 that I have and is more beginner friendly.
The way I learned C is I printed out the Beej's guide client/server code and walked around staring at it until it made sense. (That and compiling/running it and looking up functions in the man pages.)
I've yet to break into this one (I've seen it recommended so many times on HN). I'm no network engineer, but networking is a lot of fun for me and I enjoy learning about how it all works. High Performance Browser Networking[0] was one of my favorite books on this topic. Very approachable, even to complete beginner. I suspect that Beej's guide is a bit more low level and I look forward to that!
First, the scale of the JavaScript ecosystem. JavaScript is so much larger than every other ecosystem, so even a very small probability event (somebody introducing malware into a package) can happen surprisingly often given the scale of the ecosystem. Supply chain attacks are a problem in all open source ecosystems – not just JS – but they are a bit rarer and don't effect as many people so fewer people take note.
Second, npm was one of the first package managers to solve the classic "dependency hell" problem. In Python, if you have two dependencies, A and B, which both depend on different versions of C, say C@1.0.0 and C@2.0.0, respectively, then you're in trouble. You have an broken project. Python can only install one version of C. So now you're in dependency hell.
Npm on the other hand just installs both versions of C and it gives A the version that it wants, C@1.0.0. And it gives B the version that it wants, C@2.0.0. Both packages are happy - problem solved.
This caused Python maintainers to think twice before adding a new dependency lest they cause "dependency hell" for their users. Much better to just copy paste these 50 lines of code rather than adding a dependency. So there was an intrinsic sort of resistance – some pain is involved in adding new dependencies.
Npm maintainers had no such constraints. In a way, npm’s better developer experience led to the whole module ecosystem scaling "too well".
Damn, now I need to move faster. My app must be ready by the time they close Wunderlist. I expected an eventual closure, but not that soon.
I've spent the last two years developing a todo app that would be a good replacement for Wunderlist (and Astrid, if anyone still remembers that).
The app will include with some major / critical features both those apps lacked: proper hierarchies / first-class subtasks, automatically-activated contexts (e.g. location), snooze for arbitrary durations, a robust implementation of recurring tasks, and an infinite calendar-like timeline to look ahead.
I went full waterfall on it, the spec is 266 pages long and took half a year just to write. I'm currently testing an Android alpha version, and, for me, it works ridiculously well, much better than Wunderlist, which sat on my homescreen since August 2013.
It's not quite as simple as "it works like 'Lord of the Flies' or it doesn't". Nicholas Christakis, in his book "Blueprint", devotes a chapter to a database that he and his grad students made of shipwrecks, where the survivors lived long enough, in enough isolation, that they had to more or less put together a temporary society. There were lots of cases where they turned on each other, and lots of cases where they did not.
I've done the Coursera course, Nand2Tetris, that inspired this website [1] and found it deeply intellectually satisfying and engaging.
If anyone is interested in learning about the logical primitives that build up to a computer, and how they're implemented using logic gates, I would deeply recommend the course!
- A Comprehensive Survey on Vector Database: Storage and Retrieval Technique, Challenge, https://arxiv.org/abs/2310.11703
- Survey of Vector Database Management Systems, https://arxiv.org/abs/2310.14021
- What are Embeddings, https://raw.githubusercontent.com/veekaybee/what_are_embeddi...
---
h/t: https://twitter.com/eatonphil/status/1745524630624862314 and https://twitter.com/ChristophMolnar/status/17457316026829826...