

It seems really nice. Too bad it’s not a real product yet (the kick starter hasn’t even launched)
It seems really nice. Too bad it’s not a real product yet (the kick starter hasn’t even launched)
Because you either need an announce URL or publishing your torrent to the DHT for your friends to be able to peer with you.
Seeding copyrighted material using a public announce URL or the DHT will get you in trouble in most western countries.
Enabling multi DC redundancy is really easy though. The other providers you mentioned may have it by default, but they’re also a lot more expensive.
I love that they let me pick my own redundancy strategy, without forcing me to pay for theirs
border-radius: max(0px, min(8px, calc( (100vw - 4px - 100%) * 9999)) );
Oh I missed this. I think it’s only here to showcase doing math between different units, which is really nice in my opinion. I’m thinking about a few instances where I had to resort to dirty JS hacks just because CSS did not support this at the time
We still see somewhat old browsers, especially from people using Safari on Apple devices (because IIRC it only updates when you update the whole OS). But it’s a lot better than it used to be thanks to most browser having auto-updates
Works fine for me. Which OS and browser are you using ?
I’m not sure how this relates to the shared post. I’m just searched the article for “radius” and only found one example where a variable is defined then used later. Were you talking about this ? Or can you clarify what “radius calculation” you hate ?
It seems to be working for me, it’s weird. I’ve updated the post with the same URL anyway, and you can try https://scribe.bus-hit.me/@karstenbiedermann/goodbye-sass-welcome-back-native-css-b3beb096d2b4 if that still does not work
Well it’s in the name, they are code smells, not hard rules.
Regarding the specific example you cited, I think that with practice it becomes gradually more natural to write reusable functions and methods on the first iteration, removing the need for later DRY-related refactorings.
PS : I love how your quote for the Rule of Three is getting syntax highlighted xD (You can use markdown quotes by starting quoted lines with >
)
Let’s rephrase my opinion, so that we can (hopefully) agree on something : What I’m arguing against is the “ChatGPT-style” (or “tutorial-style”) comments that I’ve seen all over juniors’ code, even before LLMs got widespread
When refactoring, it’s often the “what” that changes, not the “why”
I’m not sure how we disagree. At least, I don’t disagree with you. My whole comment was talking about “what” comments. “Why” comments are a very good thing to have where they’re needed
That’s not what I said. I said that comments can often (but not always) be replaced with good and explicit names.
This can be pushed to some extreme by making functions that only get called at a single place in the code, just for the sake of being able to give a name to the code that’s inside (instead of inlining it and adding a comment that conveys the same informations as the function’s signature)
It’s definetly not for everyone, but for beginners/juniors it gives something objective they can aim for when trying to build good coding habits
Apart from the fact that, as another commenter said, “smells” are not “rules”, I think most of these points come down to developing good habits, and ultimately save a lot of time in the long run by initially spending some time thinking about maintainability and preventing/limiting technical debt accumulation.
It’s often a good idea to make the code itself very explicit through verbose function and variable names, rather than writing comments that could lead to inconsistencies between code and comments (by not updating the comments at the same time as the code) (see “Fallacious Comments” from the catalog)
They are both serialization formats that are supposed to be able to represent the same thing. Converting between these 2 formats is used in the article as a way to highlight yaml’s parsing quirks (since JSON only has a single way to represent the false
boolean value, it makes it clear that the no
value in yaml is interpreted as a boolean false
and not as the "no"
string)
Anyway, I disagree with your point about YAML and JSON not being interchangeable
Did you find the article stupid, or are you talking about yaml parsing ?
The problem is specifically that in’t not exactly clear what’s considered ambiguous. For instance, no
is the same thing as false
, but as evidenced in the linked post, in the context of country codes, it means “Norway” and it’s not obvious that it might get interpreted as a boolean value.
It’s the same thing as this famous meme about implicit type conversions in JS :
In any almost other context (where boolean values exist), strings must be delimited by quotes, eliminating the ambiguity with false
as string contents and the false
boolean value
Alternatively, if your databases are on a filesystem that supports snapshots (LVM, btrfs or ZFS for instance), you can make a snapshot of the filesystem, mount the snapshot and backup thame database from it. This will ensure the backup is consistent with itself (the backed up directory was not written to between the beginning and the end of the backup)