252 karma · joined April 25, 2016
> The compiler is very picky, but once code compiles it gives you the confidence that it will work reliably.
> Sometimes I had trouble making the compiler happy with the design I was trying to use, and then I realized the design had fundamental issues!
I experience a similar sentiment all the time when writing Rust code (which for now is admittedly just toy projects). So far it's felt like the compiler gives you just enough freedom to write programs in a "correct" way.
I don't really do unsafe/lower-level coding, so I can't speak to much there however.
How do you prevent them from going downstairs after you've fallen asleep?
My question is, why didn't he go for any of the existing solutions when setting them up would've still been faster than rolling his own DB-in-a-JSON-file solution?
Imagine developing apps on an ARM-powered macbook, deploying onto ARM-powered servers owned by Apple, specifically for applications to be used on MacOS & iOS devices.
I'm not sure why this is, but I suspect that it's an combination of higher pay and an interest in writing code over writing documentation.
In my experience I would say that a good SWE will attempt to write good documentation, as having to answer questions in the future about how stuff works over and over takes more time than just documenting things properly the first time.
This is the first time I've heard of Realms API or QuickJS, will need to keep those in mind if I ever need to write a plugin system.
There was a related thing that I heard from a previous CTO that changed my outlook on how to write web apps: "Users shouldn’t be able to tell that they’re using a web application. A web application should feel native. That is, it should load instantly."
> Q2: "Abscissa" is a hard name to remember! Got any tips?
> A2: Imagine you're A-B testing a couple of scissors... with attitude.
The biggest hurdles for me (I'm still learning) compared to JS is the borrow checker, lifetimes, and strings (they are handled very precisely in Rust).
The benefits are huge though. My time coding in JS feels like 50% coding & writing tests, 40% debugging my app, 10% reading documentation. The "debugging" portion can sometimes be painful when fixing race conditions. Rust on the other hand, feels like 30% reading documentation, 30% coding, 30% getting my code to compile, and the other 10% debugging/testing my app. For the most part, if your code compiles and your logic is correct, your app is guaranteed to run the way you expect it to.
They call it "design by contract" rather than "deductive verification" though.
Wish there wouldn't be so many terms for the same thing.
edit: There's also an existing RFC for this: https://github.com/rust-lang/rfcs/issues/1077
[1] https://news.softpedia.com/news/Lead-Firebug-Developer-Joins...
http://oldconceptcars.com/1930-2004/paul-arzens-loeuf-electr...
Namely, that when he created Wolfenstein 3D (Doom’s predecessor), he basically only rendered the walls + sprites and not the floor or ceiling, because computers + graphics engines weren’t as capable at the time.
It has minimal features, namely tagging/folders for organization. Makes navigating between my notes fast and easy, and the minimal amount of text formatting allows me to jot thoughts down without being overwhelmed by the desire to format things the right way, which is counterproductive to me.
I found it to be worthwhile enough that I actually pay for it to take advantage of its additional plugins (markdown, dark theme)
I think the random placement of links is a tricky thing though. One one hand it brings identity to your brand, but on the other hand, it’s not intuitive for the user.
[0] http://www.zku-berlin.org/, pkamb below also linked https://nwfilmforum.org/