skysight-inc/HackerNews huggingface dataset:
I work in probably what is considered one of the least "safe" languages: C++

The issues that Rust is supposed to help with are simply not what we spent time on. All the bugs reported are pretty much exclusively root caused to "business logic".

From recent time I can recall only one that was a programming mistake and not architecture/business logic related. It was a missing break in a switch that already had some fallthroughs so it didn't look incorrect at a glance.

I do understand what Rust is supposed to provide but in practice it's simply an extremely minor source of bugs.
Who Stops a ‘Bad Guy with a Gun’?
Archiving stopped working months ago and no one answers the support mail.
Fortunately this was in the UK, while I am privately covered because the poor old NHS is too under-resourced at the moment to be much good for treating chronic diseases that won't kill you they're still second to none for emergency surgery. Efficiently in and out, doctors couldn't have been friendlier or more competent, and it didn't cost me a penny.
Maybe coincidence, but compared to the US where I grew up, the playgrounds here in the Netherlands are much less safety controlled. We also have universal health care coverage.
I don't understand who it is who has to supply the address. Like, if I want to run an anonymous youtube channel and accept crypto donations, I have to report the income and I guess my bank and the IRS need my physical address, but I wouldn't want my viewers to be able to show up at my doorstep that easily.

Chaum's original digicash worked something like that. It could only be transferred anonymously once. It could only be converted to and from regular cash at regulated entities like banks. So you'd buy some coins at the bank. You could then use the one anonymous transfer to send them to some youtuber. Neither the youtuber nor the government would have any way to learn who sent these coins. But, the youtuber would have no way to send them to a third random person. The only thing he or she could do with them would be bring them to a bank and convert them back to normal currency--along with doing any required tax reporting that is required when you bring cash to a bank. All this was mathematically enforced by the crypto protocol (blinded RSA signatures). It wasn't that great for libertarian madness like Bitcoin supposedly was, but we've since seen how that turned out.

Maybe it's time to revisit Digicash, especially since the patents have expired.
I wouldn’t be happy working in the team where people constantly consider #6 as rudeness.

This looks so unproductive and unprofessional to care too much about the tone vs content in programming business.
> You’ve never actually done this I assume?

I have, and there was a lot of drilling into concrete filled with tiny stones, that caused enough noise to cause pain in the ears. Only during working hours, though.

> would have been better for the environment and my pocketbook.

If you don't want to live in a building as it is being renovated, you can always rent something else for the time it takes. If the renovation takes less time than rebuilding, you also pay less rent.
> as of IOS15 the Safari Extension API has everything uBlock would use

Does it? My understanding is that the Safari Extension API isn't suitable for uBlock Origin: https://github.com/el1t/uBlock-Safari/issues/158
Just because Rust, in particular, compiles successfully, that's no guarantee that the code isn't complex and difficult to understand. I can write a complex badly designed app in any language. Similarly I can write simple well designed large applications in any language too.
iOS Safari has extensions and content blockers though, e.g. 1Blocker is alright.

uBlock Origin unfortunately isn't viable since it needs to see the data and Apple doesn't permit that. Safari content blockers have to provide a list of rules what should be blocked and Safari acts on it without providing any data back to the content blocker.
He was a premiere developer advocate for Chrome, and is the primary author and promoter of web components.

He spent inordinary amounts of time vilifying anything that even remotely looked like competition.

Then he went to work for Microsoft, and... nothing really changed. Though quite infrequently (hur hur pun) he mentions Chrome now.
The Arthur has no clue about SQL.
He does not seem to have heard of a basic SQL capability - CTEs (Common Table Expressions)
These make it very simple to sequentially process/query data.
About the purist view on Django: The django templates don't annoy me that much, but what is really annoying is the avoidance of using thread locals in Django. This makes very difficult stuff that would be trivial in other frameworks (ie flask), like getting the current user.
> - tracks where the BTC you deposit comes from and arbitrarily closes accounts if the don't like what they see.

> - tracks where the BTC you withdraw go and how they are used. Arbitrarily closes you account if they don't like what they see.

Wouldn't it be great if it was impossible to do these things based on the currency's intrinsic properties?
Some parts of the system evolve faster than others. I am glad for Debian's relatively conservative policy for all my servers, but I want an evergreen browser on my desktop.
You are cool. That's 3 of us.
> You get corrupted data, set data breakpoint and in the provided example you will see it being modified by unrelated operations on stack.

That's provided that you can even reproduce the issue well, especially in an instrumented build which might be way slower than the non instrumented one. Often you get bug reports like "crash after one hour of usage" where basically every feature of the app has been heavily used by multiple users. Rust applications might still crash but they crash safely, which means your error messages are more meaningful.
The regulations do not apply to individuals using their own wallets. It is not unusual for different laws to apply to businesses and individuals.
> but it IS an option that one company and one browser engine can’t control.

How is that the case? Especially considering the fact that the company that controls that limited one browser engine also controls the execution of native code on the exact same platform.
They decided to up their price per user by a significant amount not too long ago... our self-hosted instance suddenly became more expensive than Slack but with an obviously not nearly as polished product as Slack. So we moved over to Zulip because at least they do their own thing, we haven't had any regrets over the switch to Zulip.
The writer of this article acknowledges in the very same article that they were hired as a marketer, over a year after Plausible was started (see Feb 2020). This article is part of their job marketing towards a technical audience.
The People who want to send smells through your TV
Unfortunately firing Lyudmila Denisova doesn't unrape all the victims of all those mass rapes by Russian soldiers in Ukraine. She was doing propaganda and Ukraine rightly fired her for that.

Russian soldiers have been shooting civilians at will (it is called "safari" in Russian army, and those Bucha streets - Yablunska and Vokzalnaya - with the bodies lying along the street is an example of such a "safari"). That would be an unique miracle in history if the soldiers wouldn't rape given such power in such conditions (for example those mass rapes by Soviet soldiers - 2 million of women were raped - back then in Germany in 1945 illustrate a result of such a power by the occupying force). And there is no miracle - just google Ukrainian rapes.
> why does apple need to prevent people from installing other browsers

Because, perhaps, the main one of those "other browsers" is widely considered to be a surveillance tool first, browser second, for a surveillance company and one of Apple's main current marketing thrusts is "we help you avoid people spying on you on your phone"?
> Coinbase: Customers Could Lose Crypto if It Ever Went Bankrupt

Investment funds suffer from the same problem. And so do banks, for amounts exceeding the FDIC insurance.
Until recently I was morbidly obese. I didn't even think of myself as being fat.
World administrative map in a single PNG file
You’re absolutely right about the quality of the submitted article. It’s written like low-grade clickbait tech “journalism”. It’s even worse than the battery-breakthrough-of-the-week university PR pieces that get posted here.

I imagine the research is good and useful. Pity about the way it’s been presented.
They may or may not, it's a time-space trade-off, and I'm just guessing that they'll be more likely to go for eating disk over eating CPU.

There's some details on this in https://git-scm.com/docs/hash-function-transition/#_fetch; part of the expected hash transition document assumes that you could have say a SHA-1 *.pack, but maintain both a SHA-1 and SHA-256 index into its contents.

For blob objects you could serve them up as-is, but for the other types which refer to other objects (commits, trees and tags) you'd either need to store two copies and do something close to a sendfile(), or rewrite them on-the-fly as you stream them, using your SHA-1<->SHA-256 translation table.

So I got a bit ahead of myself there, but none of this interop code exists yet, so the trade-offs the forges will have to make are unknown at this point.
In the US lots of people have boats they keep in garages, backyards, parking lots, sometimes boat yards.
That's a good move, whatever it takes to slow down sinking reserve.
The EU Is Buying More South African Coal Than Ever
"I hate this 'us vs them' mentality, but I need to keep my developers in check and make sure they prioritise business value accordingly"

Is exactly the kind of paternalistic nonsense that developers have to endure.

PMs exist to shield us from the shit. I work with a great one who does this, trusts the team and lets us get on with it without introducing ridiculous process, but the vast, vast majority of PMs I've had to work with are utter garbage.
Your reasoning doesn’t hold. Bigger countries don’t “try to get nukes” at the expense of an industrialized military. They can, and do, get both.
> Guard your democracy as best you can

If you look at Snowden and Assange, that ship has sailed.
Please these kind of comments are entirely counter productive and don't add anything to the conversation. No matter the topic, presume some people are truly interested in the topic and feel free to stay off it.

There is a space for JPEG and for PNG. Here is a good base reference https://www.a2hosting.com/blog/pngs-vs-jpegs/
Ruby is hidden behind Elixir - 12 years / $94644 with 2732 responses
Can't you just declare:

my() {
script_name="$1"
script_path="$HOME/.local/bin/my/$script_name"
shift
$script_path "$@"
}

So you have your namespace ? Of course that mean you must put all script in .local/bin, not anywhere in the PATH, and some more work is needed to figure out completion.

But it seems less weird than the comma.

-- EDIT --

With completion:

export MY_SCRIPS_DIR="$HOME/.local/bin/my"

_my_completions()
{

if [ "${#COMP_WORDS[@]}" != "2" ]; then
return
fi

COMPREPLY=($(compgen -W "$(echo $(find "$MY_SCRIPS_DIR" -printf '%P\n' ))"))
}

my() {
script_name="$1"
script_path="$MY_SCRIPS_DIR/$script_name"
shift
$script_path "$@"
}

complete -F _my_completions my

-- EDIT 2 --

After testing both, the comma win. Kiss, more flexible.
Russia continues to earn more than $100M per day from gas exports to Europe
I am curious, but really not sure whether I wanna actually click on any of the links in this thread.
If I could add one bullet point to that list it would be:

- do they document their thought process behind non-obvious choices in comments?

My code is usually peppered with links to SO, explanations of why I'm doing this or that. You never know, the next maintenance programmer to touch that code might be me. I'd like to know what I was thinking when putting that heap together.
> Obesity leads to an early death.

So does a lot of things, including eating disorders and living a miserable life in the first place.

From the parent's post, it's clear that dieting has done significant damage, and they got better when they stopped caring about that "Obesity leads to an early death." mantra:

> I still have palpitations sometimes, and I will never know what damage yoyo dieting for years did to me.
[...]
I don't focus on how I look anymore, I focus on being strong.

On your general stance on the subject:

> If someone is fat his diet must be changed. There is no other way.

This is a text book example of dogma. and if you really meant it, I guess there will be no amount of discussion that actually leads to anything productive on either yours or my side...
Tesla is still battling spying suspicions in China
Think its also Indian banking regulators aversion to leverage and individual debt. These bnpl companies have been playing very fast and loose with their lending standards. As the economy cools down, there might be defaults. RBI seems like its trying to preempt the threat, as it did with crypto.
I appreciate your ~writing~ coding style ;)

Maybe we can find consensus by avoiding the extremes.

"Extended code" as you name it is certainly bad with regards to explicitness, while extreme compactness like (some) one liners are as bad as the former but with regards to readability.

Both are negatively impacting understandability.
I have run "cargo fuzz" (based on the AFL fuzzer) over a binary-format parsing library I wrote, generating roughly a billion inputs. Here's what I learned:

1. Rust does not protect you at compile time against "index out of bounds" errors. If you want that, you'll want a dependently-typed language like Idris. Which still wouldn't help much in this case.

2. However, Rust catches index errors perfectly well at runtime, and performs a controlled panic. This does not result in a privilege escalation, but it may cause a denial of service. So fuzzing in (safe) Rust is normally a "lower stakes" activity.

3. "cargo fuzz" is super easy to use, and AFL is pretty amazing.

4. If you think you can parse complex, badly-documented low-level binary formats without ever having an index error, you're probably wildly overconfident. In the case of the minidump parser, it's worse: The data was generated by a crashing process, and in many cases, the data caused the crash.

Let's look at what the author concludes:

> And what did we screw up? Some legit stuff! It’s Rust code, so I am fairly confident none of the issues were security concerns, but they were definitely quality of implementation issues, and could have been used to at very least denial-of-service the minidump processor.

A whole bunch of issues, probably none of them leading to security escalations. And unlike many C fuzzing experiences, it was largely painless:

> By comparison I am absolutely thriving under “Yeah you can deterministically trip this assertion with this tiny input you can just check in as a unit test”.

This happens because Rust catches most of these errors very early, using assertions in the standard library. So your fuzz reports often need to be tracked for only a few lines.

TL;Dr: Parsing complex binary formats usually involves subtle bugs. Rust does not promise to catch index-out-of-bounds at compile-time, but it catches them at runtime. This makes fuzzing easy and productive.

Overall, I'd call this a success story. The author underwent an inevitably humbling experience for low stakes under controlled conditions. And now the library can parse corrupted examples of an incredibly nasty format, with high confidence that the worst thing that will happen is a runtime error (not even a DoS).
The passphrase is hardcoded and kept in version control. ;D
The World Is Failing in Both Energy Affordability and Climate Goals
I love mattermost and host it from a a server in my closet (used for internal communication only, not accessible outside of my network)
Well, yeah, unless you want to use it in a browser: https://caniuse.com/jpegxl
There's also webp and heif and png and svg, and I believe all the existing formats already solve the image compression problem. The difference of 18kb vs 22kb from hours of microoptimisations is frankly irrelevant given the rate of networks getting faster.
>Seems like weekly a Google evangelist tweets a gushing, emoji-laden joyous tweet about a new feature they’re shopping tomorrow adding some super arbitrary thing (the latest is some page transition spec which again is such a half-solution). Extend and extinguish!

They’re going for that juicy promotion, no matter what! The future of the Web be damned…
I really don't want to see a single OS, Browser, Anything for everyone.

I generally support the idea of having the choice to select the browser i like, but really hoping we're not again ending up with a single option.

Kind of OT, but i find it confusing that apple is even able to ship Safari with Mac/iOS/iPadOS in Europe, after Microsoft was forced to integrate a "pick your Browser" Screen into Windows. i had hoped that would require every vendor to integrate something like that.

btw, multiple down votes, but a single reaction. Yay, HN at it's best.
I can’t help but think that the article is highly manipulative. It’s hard to argue with the author on the logical points, but they even to go out of the way to avoid addressing the elephant in the room: the fact that Google controls around 90% of the browser technology today. And it’s hardly the “Chrome is a better product” that led us to this situation but rather the aggressive marketing and Googles status as web leader.

Don’t get me wrong, Apple shouldn’t dictate which browser the customers are allowed to use, but personally I am more concerned about web standards being controlled by a single company. Regulators should probably have a look there first. Can’t have meaningful choice in a monopoly.
I've been using the self hosted version with a 10-person team for a year now and so far we like it. It's not as good as Slack (yet), but if you need to self-host, I can absolutely recommend it.
> Not really, Asimov was born in 100% white Russia and then moved to USA during the 1920s where segregation was still a thing.

It was a facetious question. Of course mixed race people existed! There was no such thing as a 100% white Russia by any definition of the term in any era! It was an imperial state with explicit multiple ethnicities as far as the locals were concerned.

Like Jesus Christ, Asimov himself was Jewish and then migrated to the multi ethnic United States when he was three!

Do you honestly believe there were states with 100% pure ethnic polities at any point in history? Even supremacists states like the American South in the slave era had other ethnic groups as an underclass and frequently had children with them.

Like I can’t even look at the rest of your comment when you’re claiming Russia was 100% white. I couldn’t handle it if you said it was 90% white. All of Siberia? Dagestan? Tatarstan? Chechnya?

Edit:looked it up to make sure my Russian history knowledge hadn’t been made obsolete by new primary sources. Inorodtsy was the term in the Russian empire for the non Russian ethnic groups controlled by the empire.

You seriously need to take a look through history if you think the acknowledgement of minorities existence is a modern interpretation of historical facts
I find that strange because most sales people I know usually have underdeveloped root cause analysis capabilities and all of them work for big multinationals. From my understanding, their focus is elsewhere, e.g. in developing strong relationships with customers because that's ultimately what keeps them with the business. They don't sell the technology to an engineer but to an equally technically non-educated person so in the end, and most of the time, it seems like that technical advantage of your (TM) solution wouldn't be that important after all.
Can you elaborate on the proficiency of your dev team, is this with juniors etc? Is it a large team? And what is the complexity of the project? I think this is important information
I mean, SHA-3?
Be forewarned! This blog is very addictive! The writing and level of detail is incredible! An all-around fun time, if you have the spare time.
>in Australia we had monkey bars

I still recall the mass blistering that would occur after a few races across the bars we had in my school, mid-summer'ish. Seems to me the #1 danger for us Aussies was the roasting we'd get on the bars until a few kids had gotten across first, cooling things down with their sweat/blood.

Nevertheless, when the playgrounds went away, we still had the bloody beatings known as Aussie-rules-footie .. good times, good times.
Best product?

This make me question the story of Microsoft. MS-DOS, Windows and especially the Internet-Explorer (Trident). All of them won in a competitive marketplace and where of questionable quality and in long term harmful.

I cannot defend Apples locked platform! Yes, WebKit is crucial to the web and also needed on Linux (WebKitGtk, GNOME, Qt-WebKit, Epiphany, RasPi). Actually I'm quiet happy with WebKit but would appreciate always more speed. Feels like a lot of folks use Chrome and expect every other web-browser must use the same engine so they don't need to care about compatibility? Which is bad.

* KHTML - gone
* Trident - gone
* Opera - gone

It is only Blink, WebKit and Firefox. Firefox is also in struggle and Microsoft Teams still blocks it? Like back in 2001. The EU also doesn't require Microsoft to present the modal browser choice dialog anymore. And Google is pushing hard on iOS-users to install their apps. Same on Windows. I would appreciate if politics put strict control over Google, Microsoft and Apple and require them to allow full access without the luring users with locked-down systems, lower fees and other things. I prefer strict control of companies because it worked very well with AT&T until it was broken up.
'For All Mankind' prop fused an Apple Newton MessagePad 120 and an iPhone 12
We are failing on Turing test
My manager told me exactly the same thing as you do; after I found a few UB in its code in the first 2 weeks he changed its stance.
KYC stuff is and will continue to be a requirement to do business in any country. I wouldn't be surprised if we see other countries implement requirements for firms to do further strict checks on people moving money into and out of cryptocurrency accounts.
I don’t know what the regulations are in India, but in the US, the Truth in Lending regulations kick in if you’re asking for repayment in five or more instalments.

That’s why BNPL companies offer four instalments so they can skirt around the regulations
You can resell books, movies, music, and games. Why should it matter if they're distributed through a digital or physical medium?

Copyright is just abused to milk as much money as possible and restrict usage.
Shameless plug, I've given a talk about scaling Django codebases to many apps at PyCon (2021) and PyCon UK (2017). At my previous job we had around 500 apps in our codebase and it was honestly great to work with.
Incorrect.

Pfizer’s inhaled insulin was approved by the FDA.

But nobody wanted to use it because it didn’t solve a real problem.
> The U.S. legal system, i.e. government

I agree with your overall point, but these two things are not the same.
Emacs is the best OS I've ever used.
Another awesome related project that the folks behind mattermost put together is FocalBoard, their Kanban solution:

https://www.focalboard.com
Fusing Industry and Academia at GitHub (Tree Sitter/Semantic)
I mean despite record high job openings, the US still has higher unemployment than in 2019.

The last two years have pretty much been a washout.
> I think they are both extremely good at it.

Look at their revenue charts and the part where the revenue starts to grow is about a month after the marketer joined. One may have learned a trick or two but the other is extremely good.

It's like how when working on a team with someone who is amazing everyone on the team are able to do their job better and improve. This doesn't make everyone on the team amazing, this just means the amazing person made everyone better.