Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
BoppreH
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
22 ms
·
301.
▲
by
BoppreH
3y ago
Because I already support my favorite creators in other ways. Because I'll still see ads when I use other devices. Because videos have extra ads in the form of sponsor segments. Because ads are a parasite on society. Because their lyin
302.
▲
by
BoppreH
3y ago
Different age group, but I had success in engaging with high-school students with "Bitcoin mining". This was a ~15 minute exercise after a lecture on blockchains, during a cryptography seminar. The original Bitcoin proof-of-work a
303.
▲
by
BoppreH
3y ago
Or bring back skins[0]! Have software read textures from areas in a big image, then let the user replace the image. Forest theme for Microsoft Teams! SciFi file explorer! I tried using MidJourney to generate exaggerated UI themes (not skins
304.
▲
by
BoppreH
3y ago
If it's too large, then just write normal Python code. It'll be a lot longer than the equivalent shell-like script, but you'll gain it back in maintenance effort, debugabillity, and robustness.
305.
▲
by
BoppreH
3y ago
It's a nice tool, but it also shows the shortcomings of shell commands. In a proper programming language, we'd have something like parallel [1..5], i => { sleep random()*10+5; possibly_flaky i } // [{"S
306.
▲
by
BoppreH
3y ago
No joke, I'm writing this comment from a sunbed at the beach, watching the crystal clear water with loved ones around and a dog nestled at my feet. Yes, I'm enjoying life, thanks for asking :)
307.
▲
by
BoppreH
3y ago
That's a perfectly fine message, but the original post had none of the necessary subtlety. If your life advice could be used in a cigarette ad, you've diluted it too far.
308.
▲
by
BoppreH
3y ago
And I can enjoy life for longer if I don't live in a house with lead paint or e̶a̶t̶ ̶s̶c̶r̶a̶p̶s̶ ̶o̶f̶ forget my teflon pan on the stove. I dislike platitudes like these that don't acknowledge that life is about tradeoffs, and s
309.
▲
by
BoppreH
3y ago
That's close to what I do[1]. The size and date comparison is done by rsync, and I keep a text file with all expected file hashes, so if there's any disagreement between copies I know which one to trust. These hashes are also orde
310.
▲
by
BoppreH
3y ago
How do you automate the checking if the backup worked correctly, in face of saf bugs, rsync bugs/misconfiguration, or bit rot? My solution is to pick a few random files (plus whatever is new), and compute their hashes on both local and
311.
▲
by
BoppreH
3y ago
Thanks for the reply. I'm sorry my negative comment got to first spot on what should have been a positive post. I understand why the decision was made, and I think I'd have done the same. I really hope you guys stick around, Mullv
312.
▲
by
BoppreH
3y ago
None as solid, no. My needs are fairly specific (exit node in a specific country, torrent-friendly, good speed, not too expensive, not too shady, first-party support for my OS'es, doesn't have to be government-proof), so you'
313.
▲
by
BoppreH
3y ago
To be fair, the announcement came with the option of asking for refunds, and I have no reason to doubt them. My few interactions with their support were pretty good.
314.
▲
by
BoppreH
3y ago
I really respect how Mullvad is willing to sacrifice business to give extra security and reliability to the (remaining) customers. I first saw it when they disabled auto-renewal with PayPal, because it'd force them to store PII along w
315.
▲
by
BoppreH
3y ago
It's human judgement. Definitely not perfect, but something has to be done to prevent SO from being overrun. There are some subjective signs that a post is LLM generated, like being overly verbose and making unrelated assumptions, or
316.
▲
by
BoppreH
3y ago
To be clear, this is only a problem if your array can ever have less than two values, or if you require that `first` and `last` be different values. The mistake is suggesting the unpacking without caveats , because it'll fail in situa
317.
▲
by
BoppreH
3y ago
Pretty good list. Two corrections: The `first, *middle, last` trick doesn't work if your list only has one element: first, *middle, last = [1] ValueError: not enough values to unpack (expected at least 2, got 1) And the last t
318.
▲
by
BoppreH
3y ago
Yes, of course. Everything that is stored or transmitted must have a defined serialization. And any piece of code as widely used as this is going to have security issues. What is your point? That strings don't need defined formats? T
319.
▲
by
BoppreH
3y ago
How many URLs, as a percent of all browser navigation, do you think are typed by hand? And I don't mean "news.ycombinator.com", I mean the full URL, like " https://news.ycombinator.com/news ". And in
320.
▲
by
BoppreH
3y ago
> I don't see how you can get away from having a defined serialisation format. Yep, that's exactly it. Your TLS certificate is not sent as string, and neither are your TCP packets, nor the images contained in them. Your URLs sh
321.
▲
by
BoppreH
3y ago
Escaping is a cute solution, but it doesn't belong in infrastructure. > it's just that for some reason (like basic arithmetic) people don't seem to be taught enough about it to understand. That's the same argument use
322.
▲
by
BoppreH
3y ago
Sure, most of these decisions are too entrenched to be fixed. But yes, URLs should have been structured. We already see paths rendered with breadcrumbs, the protocol replaced with an icon, `www` auto-inserted and hidden, and the domain high
323.
▲
by
BoppreH
3y ago
Aside from Memory Management, there's another general category that always comes up in these lists, but is not talked about much: in-band signaling (i.e., "Strings are Evil"): - Improper Neutralization of Input During Web Pag
324.
▲
by
BoppreH
3y ago
I'm very confused by Apple's strategy. As an owner of the original HTC Vive headset, its word-of-mouth power was off the charts. It was a blast at parties, and many of my friends bought their own $700+ devices after trying it. Her
325.
▲
by
BoppreH
3y ago
You can also use math to avoid most of the jumps: int run_switches(char *input) { int res = 0; while (true) { char c = *input++; if (c == '\0') return res; // Here's the tri
326.
▲
by
BoppreH
3y ago
What version of GCC are you using? For me both versions perform the same, both on Ubuntu and Windows: $ time ./lone 1000 1 851000 real 0m3.578s user 0m3.574s sys 0m0.004s $
327.
▲
by
BoppreH
3y ago
> I've never come across one in my decades of programming that I know of, but I'm sure they exist. The login attempt example was convoluted, so here are more common scenarios: - Grouping a list into pairs by matching /..&#
328.
▲
by
BoppreH
3y ago
Parser combinators[1] seem perfectly suited for this. # A sequence of 5 or more failed login attempts followed by a successful one. obj_regex.search(repeat(is_failed, min=5)+is_success, my_list) [1]: https://en.wik
329.
▲
by
BoppreH
3y ago
Can this be used for non-string lists? I always found it frustrating that we have this amazing machinery for searching and modifying lists of characters , but as soon as I have a list of numbers or dates it all goes out of the window.
330.
▲
by
BoppreH
3y ago
Fantastic post, I always enjoy reading about different computation mental models. And under "A join is a…join", there's a typo in the partial order properties. It currently reads: 1. Reflexivity: a≤b, And I'm pr
More ›