HNHacker News
TopNewBestAskShowJobs

peppermint_gum

1,265 karma · joined October 28, 2022

submissionscomments
peppermint_gum··on Most 16-year-olds don't have servers in their rooms
> You probably need to be 18 to sign up, but no Polish person ever actually cared about such restrictions and there's no age check.

You need to be 13.

>On the other hand, cloud services require you to have a debit or credit card, which you can't get without an intervention from your parents if at all.

With parental permission, a 13-year-old can open a free bank account with a debit card that works online. It's not a new thing, I had one 15 years ago.

peppermint_gum··on Linux: Ext4 data corruption in 6.1.64-1
This is not accurate. As you can see in the changelogs, the problematic commit made it to 6.1.64 and the fix was merged in 6.1.66:

"properly sync file size update after O_SYNC direct IO": https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.6...

"update ki_pos a little later in iomap_dio_complete": https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.6...

This post explains the relationship between the two commits: https://lore.kernel.org/stable/20231205122122.dfhhoaswsfscuh...

peppermint_gum··on LogoFAIL: Secure Boot bypass with manipulated boot logos
If a local vulnerability that requires administrative privileges to exploit is "high impact", I wonder how they would classify remote code execution. Super duper high impact?

This of course needs to be patched, but it's way overblown. This vulnerability alone provides no attack vector, you need other vulnerabilities to be able to replace the logo.

peppermint_gum··on Is Ada safer than Rust?
I noticed that many people praising Ada on the internet don't actually know the language.

It's odd. Why advocate for a language you don't use?

Here are some common giveaways:

- "Ada has a garbage collector" - It's optional part of the specification, in practice most compilers don't implement it.

- Confusing SPARK (the formal verifier) with Ada, or even claiming that SPARK is now part of the Ada spec. This is simply not true.

- Not knowing that contracts are enforced at runtime and they're typically disabled in release builds.

- Claiming that Ada is memory safe. Ada doesn't have a borrow checker. Ada doesn't have smart pointers out of the box (unique_ptr is actually unimplementable due to lack of move semantics). Typical non-embedded codebase is full of "new" and "Unchecked_Deallocation", usually wrapped with controlled types, much like C++ RAII.

peppermint_gum··on The 1988 shooting down of Flight 655 as a user interface disaster
Indeed, if you ignore all the evidence, including the declassified Russian documents[1], you can conclude that Russia did nothing wrong with regard to the KE007 flight.

To be honest, the persistent blind contrarianism of this community is really tiring.

[1] - https://en.wikipedia.org/wiki/Korean_Air_Lines_Flight_007#So...

peppermint_gum··on The 1988 shooting down of Flight 655 as a user interface disaster
Russia has declassified documents that confirm what the GP said:

https://en.wikipedia.org/wiki/Korean_Air_Lines_Flight_007#So...

> It's actually astonishing that anyone who's been on this planet for more than a couple decades can take any of these narratives seriously.

The only astonishing thing is that you reflexively rushed to Russia's defense instead of looking up the facts.

peppermint_gum··on The 1988 shooting down of Flight 655 as a user interface disaster
If you watch combat footage from eastern Ukraine, you will learn that many frontline towns and villages have been completely leveled by artillery. See for example[1]. And I don't have to mention Bucha[2] and other war crimes.

The relatively low civilian casualty count isn't because "Russians are so noble", but because:

1. Frontlines are static, giving civilians plenty of time to evacuate

2. Civilians actually have where to evacuate, Ukraine is big and covered by an extremely dense air defense network. Women and children can also freely go to the EU.

3. Ukraine has received an unprecedented amount of humanitarian aid.

[1] - https://old.reddit.com/r/CombatFootage/comments/ublj5l/luhan...

[2] - https://www.youtube.com/watch?v=IrGZ66uKcl0

peppermint_gum··on Fortran 2023
> However, the draft documents are usually available for free

Unfortunately, not for SQL :(

peppermint_gum··on A Revolution Devours Its Children
The BSL and SSPL licenses were created with an explicit goal of protecting the revenue of SV startups.

Frankly, I'm tired of portraying those startups as some kind of underdog freedom fighters. They are billion-dollar corporations upset that other billion-dollar corporations are profiting using their software.

It's perfectly fine to build your business on Linux or Apache, but if someone wants to use an SV startup's project, like Elasticsearch, suddenly it's immoral and we must turn the whole world of FOSS licensing upside down to fight it.

peppermint_gum··on Mathematician warns US spies may be weakening next-gen encryption
Whenever the topic of DJB vs NIST comes up, there are always people saying "this may look petty, but he has a spotless track record, so we have to trust him".

I want to push back on this a little by linking this Twitter thread:

https://nitter.net/FiloSottile/status/1555669786826244096

It shows that there's a pattern of Bernstein and his associates threatening fellow cryptographers.

It's entirely possible to be a brilliant cryptographer and also a petty person, those things aren't mutually exclusive.

peppermint_gum··on Bing AI puts names of races in speech bubbles when prompted to make a cartoon
I suppose this shows that Bing's system prompt includes race names.
peppermint_gum··on The TRON Project: How Japan almost ruled IT (2022)
It feels like every country (that is not the US) has a legend about how the X company could have been the next Apple/IBM/Microsoft if it weren't for evil/corrupt/incompetent politicians. Usually these stories fall apart on closer inspection.

Not surprisingly, this story doesn't pass my smell test either. It's very light on details. It also talks a lot about the thoughts in Bill Gates' head, but fails to provide any quotes to back them up.

peppermint_gum··on Firefox 118 brings browser-based website translation (no cloud servers required)
I'm glad it finally shipped and that it's implemented fully locally, but it's not very useful to me right now.

The language detection is very unreliable and there doesn't seem to be any way to override it. Also, it's apparently impossible to translate the text if it's in one of your preferred languages.

peppermint_gum··on Linux kernel maintainers, why are they so grumpy? (2013) [pdf]
Being an open-source maintainer is a mostly thankless job. You put in years of work, and in return you will get endless complaints from random users and drive-by contributors who feel entitled to your time.

I mean, just look at the other thread.[1] The HN mob piles on a kernel developer because of a blogpost where a drive-by contributor severely misrepresents (and misquotes) an interaction he had with him more than a year ago.

When people make comments like "if you treat people like crap, they won't stick around," they're only referring to new or even potential contributors. The maintainers are expected to endure anything that is thrown at them. It's their job, they have to be welcoming. The (non-paying) customer is always right!

[1] - https://news.ycombinator.com/item?id=37671991

peppermint_gum··on How hard is it to adapt a memory allocator to CHERI?
There's an interesting exchange on Lobsters between the author of this post and a person working on CHERI:

https://lobste.rs/s/ez2wph/how_hard_is_it_adapt_memory_alloc...

peppermint_gum··on Meduza co-founder's phone infected with Pegasus
That call happened around the time when the opposition, the government, the EU and Russia were negotiating the "Agreement on settlement of political crisis in Ukraine"[1].

The gist of the agreement was that the opposition candidate would become prime minister and Yanukovych would remain president until the elections (which didn't materialize because he fled the country).

Note that there was no US at the table. Nuland and Pyatt weren't "orchestrating" anything. In fact, they were frustrated that the US wasn't participating in the talks, hence the "fuck the EU" in that call.

All this leak shows is that US officials were trying to influence negotiations to which they weren't invited.

[1] - https://en.wikipedia.org/wiki/Agreement_on_settlement_of_pol...

peppermint_gum··on Writing Linux Modules in Ada (2016)
No, it isn't. I think you're confusing contracts (added in Ada 2012) with the entirety of SPARK.
peppermint_gum··on An open-source MySQL alternative for running database on Kubernetes
>An open-source MySQL alternative for running database on Kubernetes

Very confusing title. It made me think it's some kind of open-source database compatible with MySQL (and kind of implies that MySQL isn't open-source).

It seems it's a tool for managing databases in Kubernetes.

peppermint_gum··on Writing Linux Modules in Ada (2016)
I've noticed a pattern that many Ada advocates on HN don't really seem to know the language. So they often conflate SPARK with Ada (as you just did) and make unfounded claims about Ada's memory safety, portraying it as being on par with Rust.

It isn't on par, Ada has no lifetime management whatsoever. It doesn't even provide C++ style smart pointers out of the box. It is possible to implement something like shared_ptr, AdaCore even has a tutorial[1], but as the other commenter pointed out, the language doesn't provide the primitives necessary for unique_ptr.

SPARK does have something like this. In fact, in SPARK, every pointer assignment transfers the ownership. But SPARK and Ada aren't synonymous. SPARK is a formal verifier built on top of Ada. Like most such tools, it's very constraining and time-consuming. It's not something that every (or even most) Ada projects use.

Nevertheless, Ada is a perfectly good language, and it's probably safer than C++. It has some really cool features. I'm really fond of in/inout/out references (cppfront stole this), named function parameters, secondary stack, fine-grained control over records (struct) layout, etc.

However, I'm not so fond of the extreme verbosity. It isn't just because of Algol-like keywords, Pascal is less verbose than Ada. Even basic stuff like instantiating generics is very noisy:

   procedure do_something is
     package Integer_Vectors is new
       Ada.Containers.Vectors
         (Index_Type   => Natural,
          Element_Type => Integer);

       vec : Integer_Vectors.Vector;
     begin
       return;
     end;
In C++ that would be:

    void
    do_something(int arg) {
        std::vector<int> vec;
    }
[1] - https://www.adacore.com/gems/gem-97-reference-counting-in-ad...
peppermint_gum··on 50TB IBM tape drive more than doubles LTO-9 capacity
Well, yes, the article mentions the potential of the strontium ferrite, with existing prototypes having hundreds of terabytes of capacity.

Similarly, HAMR and MAMR will be milked for years in the world of magnetic hard drives.

peppermint_gum··on Transcoding Latin 1 strings to UTF-8 strings at 12 GB/s using AVX-512
> A dual channel DDR4 system memory bandwidth is ~40GB/s, and DDR5 ~80GB/s.

It's impossible to saturate the memory bandwidth on a modern CPU with a single thread, even if all you do is reads with absolutely no processing. The bottleneck is how fast outstanding cache misses can be satisfied.

The article even links to a benchmark that attempts to measure what it calls "sustainable memory bandwidth": https://www.cs.virginia.edu/stream/ref.html

peppermint_gum··on A Guide to Undefined Behavior in C and C++ (2010)
>The amazing part about examples like that is people read them, check that the compiler really does work on that basis, and then continue writing things in C++ anyway. Wild.

Well, in modern C++ this code would look like this:

    std::array<int, 4> table;
    bool exists_in_table(int v)
    {
        for (auto &elem : table) {
            if (elem == v) return true;
        }
        return false;
    }
Or even simpler:

    std::array<int, 4> table;
    bool exists_in_table(int v)
    {
        return std::ranges::contains(table, v);
    }
There's no shortage of footguns in C++, but nonetheless, modern C++ is safer than C.
peppermint_gum··on Twitter's response to US Government search warrant (turned over deleted DMs) [pdf]
This is not true. "Millions of emails" was in reference to this part of the warrant:

"Communications between Twitter and any person regarding the account including contacts with support services and records of actions taken"

peppermint_gum··on HashiCorp adopts Business Source License
It is important to understand that there are two kinds of open-source software:

- Software made by startups that are precious to HN. In this case, building a business on top of them is "freeloading" and it's deeply immoral. Examples: Elastic, HashiCorp, Mongo

- "Public good software", there's nothing wrong with profiting from it, in fact, it's encouraged. Examples: Linux, Postgres, Nginx, Apache

peppermint_gum··on Why Host in Kosovo?
This is either a joke or a scam/honeypot designed to fool gullible westerners.

Kosovo definitely is a corrupt country, but it doesn't mean you don't have to keep your criminal activities on the low. If you attract the attention of the western agencies, they will absolutely go after you. This isn't Russia, they're west-aligned and they don't want to annoy their western partners too much.

Also, this site doesn't even seem to be hosted in Kosovo: https://apps.db.ripe.net/db-web-ui/query?searchtext=192.71.1...

peppermint_gum··on How Turborepo is porting from Go to Rust
That article did little to convince me they aren't just chasing the latest trends.

I mean, the only concrete example in that post is that Go's stdlib function for setting file permissions is bad. It's such a minor thing, it's ridiculous.

peppermint_gum··on Dril is everyone. More specifically, he’s a guy named Paul
I think in this case "gimmick" was used in the pro-wrestling sense, it basically means "persona".

>In professional wrestling, a gimmick generally refers to a wrestler's in-ring persona, character, behaviour, attire and/or other distinguishing traits while performing which are usually artificially created in order to draw fan interest.

https://en.wikipedia.org/wiki/Gimmick_(professional_wrestlin...

peppermint_gum··on “Computer security 80% solved if we deprecate technology shown in this graphic”
Servers have much fewer attack vectors.

Do you really think that a typical scenario of Windows infection is some kind of RCE in the OS? No, that's extremely rare.

Most of malware doesn't exploit any vulnerabilities in the OS. Either a user downloads and runs an infected executable, or they get infected through a bug somewhere in userland (e.g. web browser or image viewer).

peppermint_gum··on Firefox address bar
> Even Safari is miles ahead of Chromium in this regard.

I hate Safari's address bar. One visit to a mistyped address can ruin your suggestions forever, that typoed URL will be always preferred over the correct one.

Firefox's address bar is indeed great. Always works flawlessly.

peppermint_gum··on Defecting from North Korea is now harder
The reason why we learn about North Korea almost exclusively from the Western sources is because it's a totalitarian dictatorship that suppresses information. You can check out their media online and see for yourself that it's full of propaganda.

We don't get tourists from North Korea because they aren't allowed to leave the country. We don't talk with North Korean people on the internet, because their access to the internet is tightly controlled.

There's no grand western conspiracy to suppress information about NK. It's North Korea itself that does that.

I know that on HN many consider blind contrarianism to be synonymous with rationalism, but seriously...

← PreviousPage 2 of 4Next →