HNHacker News
TopNewBestAskShowJobs

_dh54

1,650 karma · joined August 8, 2020

submissionscomments
_dh54··on Rust, Zig, and the Futility of “Replacing” C
Because he might have more expertise and experience in technology than medicine. We should evaluate arguments on their merits alone, ad hominem is destructive to effective discussion.
_dh54··on Rust, Zig, and the Futility of “Replacing” C
What does his position on masks have to do with the arguments he is making here?
_dh54··on The future of web software is HTML over WebSockets
Im skeptical of all the benefits of the approach promoted here.

* not everyone has “two codebases” many people have one codebase and two different application distributions, one for server and one for client.

* you will still have “two codebases” you have just removed the rendering logic from you client codebase.

* What is the distribution of latencies of rendering json into html on the client? Are there numbers to suggest this takes more than 100ms for many people? If not the proposed efficiency advantages are being overstated.

If the article were suggesting removing client side logic completely these arguments would be stronger.

_dh54··on Mold: A Modern Linker
I agree with you on both points but when building large complex applications (or tools!) this stuff tends to unintentionally creep up over time and it’s not fun to debug non-deterministic bugs due to an opaquely broken implicit contract between you and a poorly written library that got pulled in transitively. Sometimes those libraries are unavoidable closed source system libraries (https://bugs.python.org/issue33725) and the issue ends up being not easily fixable. It’s just risk minimization.
_dh54··on Nuklear: A cross-platform GUI library in C
Not to mention written in C89. This person knows how to distribute code well. I love libraries like this, I wish we had more.
_dh54··on Teardown of a quartz crystal oscillator and the tiny IC inside
Electronic schematics are similarly ducktaped copy pasta from previous designs with tons of superfluous and redundant components that nobody understands why they are there. That is the nature of engineering, nothing specific to software engineers.
_dh54··on A Swiss Company Says It Found Weakness That Imperils Encryption
Please ban clickbait
_dh54··on IPFS Support in Brave
The funny part is that this is the bio in Mozilla’s twitter:

“We work to ensure the internet remains a public resource that is open and accessible to all.”

I guess by “all” they mean only people with political opinions they support.

_dh54··on Why mmap is faster than system calls (2019)
I believe if you turn PTI off the syscall numbers for sequential copies would be a lot higher.
_dh54··on GTK 4.0 Released
This is entire thread is a criticism of the GTK developers process and their decision to not invest in backwards compatibility time and time again. It’s not about what is or isn’t technically possible. (Btw it’s technically possible to innovate, have clean code, and maintain backwards compatibility without an unreasonable amount of effort.)

The GTk developers aren’t ordinary people. They comprise an organization of trusted individuals and leaders. Not to mention, Many of them are employees are large companies like Red Hat and Canonical. They have resources. The likelihood of a random strangers contributions being upstreamed are low, let alone them setting project direction around backwards compatibility.

Hundreds if not thousands of apps have been left behind in GTK2 and GTK1 before that. Those are all apps that could be part of the current GNOME ecosystem, now they will look like bad foreign apps. Tens of thousands of man hours completely wasted.

This will kill the GNOME desktop. It’s a dead end for anyone but GNOME developers. Everyone sees it. GTK4 is just the latest demonstration of their incompetence and disregard for other developers.

_dh54··on GTK 4.0 Released
Do you realize that it’s far easier for an application like GIMP to add hidpi support to gtk2 than port to GTK3/4?

If that’s the case then you have failed as a library developer.

_dh54··on GTK 4.0 Released
If GTK is operating in a situation where there is no “rich corporate force” to sponsor the maintenance of old versions then it is a strategic error for them to break backwards compatibility.

At this point I cannot imagine a sane third party application developer choosing to build on top of GTK. The clock starts ticking on the life of your application the moment you choose GTK.

_dh54··on A Defer Mechanism for C
“Somewhat widely adopted” is not “widely adopted” :)

I see people tend to write C89+designated initializers but this is a code smell IMO. Initial data should always be 0, especially data that lives in BSS/data section.

_dh54··on A former Uber engineer's disaster story
Many engineering horror stories involve an entire system rewrite. My recommendation is to never rewrite a large system. Literally never. If the people proposing the rewrite aren’t capable of adding the features incrementally, they aren’t capable of rewriting the entire system to “easily” support those new features.
_dh54··on HTTP/2 Push is dead
Weird that all these man hours were spent revising the entire web stack for the sake of squeezing out the last bit of unnecessary latency via quic / http3 just for them to leave out server push. It’s like going from 80% to 99% just to leave off the last 1%.

Without going all the way with server push, the logic behind the transition from http1.1/tls/tcp to http3 seems a bit dubious to me. If they aren’t going to go all the way, things already worked well enough IMO. Seems like google is just arbitrarily deciding what they want the web stack to look like.

_dh54··on Caste discrimination in some of Silicon Valley's richest tech companies
That doesn’t make it any better. Your last name is a part of your identity and heritage. You are advocating for cultural genocide and trust me I know what comes after that.
_dh54··on Ask HN: Good C++ code bases to read?
> Unfortunately, std::optional implements operator* and operator-> which are UB if the optional is null -- that's even worse than the situation with pointers,

Dereferencing null optionals is UB for consistency with dereferencing pointers. All uses of operator* should have the same semantics and the C++ standards committee did the right thing by ensuring that with optionals. Checking for null in operator* would break consistency.

If you want to dereference an optional that may be null, use the .value_or() method. For the times when you absolutely know the optional has a value use operator*.

If you’re wondering why you would use an optional over a pointer. The idea is that optionals allow you to pass optional data by value. Previously if you wanted to pass optional data, you’d have to do it by reference with a pointer. This is part of c++’s push towards a value-based style, which is more amenable to optimization and more efficient in general for small structs (avoiding the heap, direct access of data). Move semantics are a part of that same push.

_dh54··on Coinbase offers exit package for employees not comfortable with its mission
You’re twisting words to make your point vacuously true. I do not care about changing federal government policy or who runs the federal government. Call that whatever you like, doesn’t mean I have ever received special benefits from the system any more than anyone else. That is my stance because I have better things to do with my time, like being productive.
_dh54··on Coinbase offers exit package for employees not comfortable with its mission
Also false, many people who you would claim are affected by “structural inequality” and who are more focused with improving their individual conditions also do not have time to concern themselves with politics.

Example is myself. I am a child of poor immigrants. I am neither white nor wealthy. I do not care about involving myself in your politics, I spend my time focused on working and being productive for the sake of supporting my family. Frankly your politics destroyed my country.

_dh54··on Coinbase offers exit package for employees not comfortable with its mission
> it’s of concern to every FAIR MINDED member of the group.

Also false. Many fair minded people simply don’t have time to concern themselves with politics.

Not to mention that in many cases political actors who justify their actions on the premise of “structural inequality” end up reducing fairness.

_dh54··on Coinbase offers exit package for employees not comfortable with its mission
> Structural equality is unavoidably the concern of every person and group in a society.

Inspiring but simply false

_dh54··on Coinbase offers exit package for employees not comfortable with its mission
The decision of how many sick days, etc. is relevant to the business of the company. Social justice movements like “black lives matter” are not relevant to the mission of companies like Coinbase, as determined by their leadership.
_dh54··on Coinbase offers exit package for employees not comfortable with its mission
You aren’t being paid to promote your political agenda, you are being paid to perform your function as an employee. If you don’t support your company’s agenda, why would you work there?
_dh54··on Coinbase offers exit package for employees not comfortable with its mission
Being apolitical at work is not active support for the status quo. It’s simply not using your role as an employee for your company as a vehicle to advance your political agenda. An agenda which is most likely irrelevant to the mission of your company.

You can be apolitical at work while still opposing the so called status quo with your vote. Or you can oppose the status quo in an explicitly political organization outside of your job.

_dh54··on Super Mario Bros. 3 in 3 Minutes – World Record Speedrun Explained [video]
Ropping to victory would have been impossible if Nintendo didn’t constantly cut corners and implemented stack canaries like they should have.
← PreviousPage 2 of 2