skysight-inc/HackerNews huggingface dataset:
For me, when it comes to effort and HN activities my list is:

1. Upvote
2. Post new story
3. Leave a comment

To upvote it takes almost no effort, but to write a good comments it takes a lot of time. And it puts you out to the public eyes, you are prone to comments and not everyone is conferrable about that.

I like the anonymity of upvotes on HN.
You will stop receiving email, IIRC.
> My house's front door lock is broadly the same interface as my great-grandparent's front door lock,

It can also be defeated by any idiot with a bump key in about 10 seconds.
“McPlant”, a 100% plant based burger from McDonalds (might be a Netherlands-specific thing) has the same caveat and it’s because they cook the plant burger in the same kitchen as all regular meat products and they don’t want to guarantee that there won’t cross-contamination.

I think that for many vegetarians, that’s good enough. But not for all of them of course.
idk what the big deal is, my password is plenty secure, see? its hunter2
Having no config files is part of the 12 factors [0]. All cloud providers I have worked with adhere to this.

[0]: https://12factor.net
Sadly, the Chrome browser uses a dialog box to let you pick things to give access to, then promptly never, ever, lets you see the choice you just made ever again. You have to close the browser to make sure things are gone, or if you made a mistake.
I am curious what use cases triggered the development of XML for example.
It's weird that the only way to get the following structure:

{
"hosts": {
"example.org": "localhost:8000",
"foo.com": "localhost:9000",
"sub.example.com": "localhost:9002"
},
"certfile": "path/to/cert.pem",
"keyfile":"path/to/key.pem"
}

is to write the following toml:

certfile = "path/to/cert.pem"
keyfile = "path/to/key.pem"

[hosts]
"example.org" = "localhost:8000"
"foo.com" = "localhost:9000"
"sub.example.com" = "localhost:9002"

and other toml orderings, like in the parent comment, fail.
What's weird about posting news of a breach of a major site on a news aggregator?
It's actually TOTP so I stuck that in Authy.
The last time I tried to change the password of a reddit account I lost access to it.

I attempted to change the password, got an error saying something went wrong. I figured I'd try again later. so I also didn't save the newly generated password.

Got logged out, and couldn't log back in with the old password.

And there's no way that I know of to contact anyone at reddit to try and get help.
> According to a quick google search, even cover bands performing live are required to pay royalties to the original artists whose songs they're performing.

It's more than that. If you were part of a band and now you are solo (plenty of cases), you need to pay your old band if you play an old song you were part of (unless you own 100% of the lyrics and music rights, which is rare).

By the way, I am totalyl OK with this deal/agreement/way of doing things.
Now yes, but it didn't used to be that way. No, I can't tell you which version changed that, it might have been 2000. :P
As a guy who is writing Rust and found it a true value-add in his career, I agree with this and it's my #1 worry. Rust can already be very arcane to decipher sometimes, especially when you start getting errors from async libraries.

My entirely egotistical opinion is that the maintainers of the language have to take a very good and critical look of the current status quo and start systematically killing off any complexity they can.

Personally I don't want C++ 2.0. Tire people enough and they'll just move to another language again. I know I have, several times in my career, and will do so again if I have to.
Sniffing the SNI from the underlying TCP connection is the proper way to do this.

a couple examples I know of(only know go ones of the top of my head):

https://github.com/fabiolb/fabio/blob/master/proxy/tcp/tls_c...
https://github.com/FiloSottile/mostly-harmless/blob/main/tal...

> I don't like doing that but the only other way is to "roll my own crypto" which I understand is a bad thing.

You would not be rolling your own cryptographic primitive, or combining existing ones in strange and speculative ways. This is what most people, most of the time mean when they admonish against rolling your own crypto.

All you'd have to do is parse the ClientHello to retrieve the SNI. you're in a memory safe language, so parsing bugs result in a crash, not a buffer overflow. I'd say you're on pretty firm ground.
(WAAS) - work as a service - think contracting is more secure.

Look at twitter and the current mess it is in - institutional knowledge has left the building and now there are all sorts of weird outages surfacing nearly every week like the early days of the 404 whale.
We are talking about 10+ years old companies. I quite often save significant amount of money for such companies which could have been saved from the beginning by not doing something completely silly.
I think I need an Explain like I'm 5 of why people like this and is willing to pay money for it.
it is just

[hello].
%or
['hello.pl'].
%or
["hello.pl"].

the '.' has syntactic meaning outside of quotes.

now to demonstrate file i/o:

we make a file hello.pl that has

:- use_module(library(readutil)).

readmyfile(Filename) :-
open(Filename,read, Stream),
read_line_to_string(Stream,Input),
write("The line is:"), nl,
write(Input), nl,
close(Stream),
%or slurp the whole thing
read_file_to_string(Filename,WholeFile,[encoding(text)]),
%lets use the formatted output predicate
format("The file ~s has the following contents ~n~s ~n",[Filename,WholeFile]).

then launch swi and

?- [hello].
true.

?- readmyfile('hello.pl').
The line is:
:- use_module(library(readutil)).
The file hello.pl has the following contents
...
...
...
true.
All I can see is *******
Universal tried to make the same argument with Sony and the VCR. They wanted a royalty payment on every sale. They won their case!

It took the Supreme Court to overrule, where they created the legal doctrine of “commercially significant non-infringing use” as part of determining fair use. They looked at the VHS rental market and the numerous other industries that were dependent on this technology. The courts do not want to be in a position where a ruling can have a profound impact on commerce especially when balanced with extending copyright claims at the detriment to freedoms of speech.

This is why legal experts keep saying the model and the outputs will be considered different and why the model itself is fair use and why the risk-averse lawyers at Microsoft are getting behind these tools… and even why they are letting people build on top of them before they were ready for prime time, to flood the market with non-infringing uses!
Can you type in a negative amount? :D
Release branches are fine (mobile apps, sure... web apps, probably not). Again, context is key.

You can still integrate to trunk as one would expect in TBD, no need for the delayed integration in Gitflow.

A common practice I see with mobile teams is they will create a 'release/x.y' branch sourced from trunk as part of their release routine (at some regular cadence, like 2-weeks).

If they need to (surgically) apply a hotfix, they can apply it to the release branch. Since the app store review process makes deploying immediate fixes impossible, a stronger emphasis on staging/RC QA is good as well.
That suggests that companies could have designed layoffs as accelerated attrition. They could make a prediction about who likely would have left on their own. They could make a prediction (or observation) about whom they were managing out. Then the first layoff target is the staff who would likely not be here in two years anyhow. That's a different approach than for example culling people with higher salaries who are not graded as extraordinary contributors. Either way, I think having an identifiable rationale for layoff choices makes a layoff less shitty to go through.
Decent test coverage and ASAN should be all you need to never have a memory leak in C++. ASAN will even tell you what backtrace allocated the thing in the first place.
What XSLT really needed was a gui where you could play with the template and the input and see the output change in real time, a little like how those regex websites work. With a few colours and arrows to elucidate what bit was doing what. Not a trivial undertaking, granted. I wonder if such a thing was ever produced?
Chick-fil-a fries in peanut oil, although I bet it would be awesome if they fried in animal fats.

I expect it’s because they fry in the same oil as the chicken.
Usually I would say "I told you so" about the Fools Self Driving (FSD) scam that Tesla is running, but in this case:

I really did try to warn you about the scam: [0] [1] [2]

[0] https://news.ycombinator.com/item?id=32575938

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

[2] https://news.ycombinator.com/item?id=28000436
Isn't vscode open-source? I'm using vscodium with all MS links removed, I don't think MS can charge licenses for that.
Isn‘t that element vs attribute dichotomy one of the main drawbacks of XML?

You don‘t have that with other formats.
Yep. The one big beginner “mistake” I see people make in rust is overusing Box / String / Vec. Rust code that allocates everywhere can be even slower than javascript. The reason? Malloc is slower than you think. Slower than short allocations in V8 or Go. If you want performance, make friends with &str, &[], <I: Iterator<…>>, bumpalo, SmartString and SmallVec. (Or similar crates). Removing allocations from the hot path can improve performance by 10-100x.

That said, most code isn’t a hot path. Performance doesn’t matter in most programs. And if you’re a veteran C++ programmer, none of this will come as a surprise.
Investigation finds AI algorithms objectify women’s bodies
That UTF-8 url broke my scraper :)
Building a Rust parser using Pest and PEG
Yep, we have `fence` for runtime+compile time barriers, and `compiler_fence` for compile time barriers. They take the same Ordering enum as atomics.
Yep, if you order it from outside EU, it's only covered under the law of that specific country where he resides (if there is such a law in place).

But if you (eg. a store owner) order it from him and resell it to end users, you're responsible for the goods sold.
If what you can hear in the video is the full extent of the playable lyrics, I'm struggling to see what's impressive about this.
I'm not so sure.

I've a feeling it's easier to write decent Rust than decent C++.

The post contains comments about how difficult they found it to keep coding style consistent and language feature use consistent. This suggests to me an inexperienced team without the skills to manage a project of the size and complexity they need.

Now whether with the right team they could produce a better solution in C++ or Rust, i've no idea, but if this is the team they have, then it sounds like Rust might be the right choice for them.
Efficient network isolation and load balancing in multi-tenant HPC clusters
Ask HN: Which Companies Self-Host?
I'm looking for companies that prefer self-hosting to using cloud services. I'm building a self-hosted alternative to Gitpod and Github Codespaces that works with Gitlab, Gitea, Gerrit, and any other Git provider that supports SSH. It's at https://hocus.dev if you want to check it out. I'm looking for people who would like to try it out, and I figured such companies may be interested.

What companies do you know that self-host?
In just the last few hours the store page has updated to say the colored backplates will be on sale on the 15th: https://jsaux.com/products/transparent-back-plate-for-steam-...
I think that the point there is that most users (and especially for RPC-ish applications, which is what most of the existing XSD documents are about) do not need a formal schema but the schema is only implied by the implementation. The issue there is that even if you have detailed formal schema and generate the interface code from that, there is still some ad-hoc contract between the generated interface code and rest of this application, and details of this ad-hoc contract will invariably leak through the interface code.

Designing formats for long term storage of some kind of data is another thing and there formal schemas make sense. But that is not something that most users (meaning developers) do frequently or often even ever.
You’re thinking about this wrong.

Do I need to ask permission to impersonate Eminem during a comedy performance? How about during a musical performance?

The answer is no. This is fair use 101.

If you cover a song of his while doing an impersonation then this is covered by the performance fees the venue you’re playing at pays every year to ASCAP and BMI.
$187M = $37M per year

At average FAANG salaries with overhead (benefits, space, equipment both desk and datacenter/cloud, internal workplace support functions like Recruiting, IT, HR, ER, DEI...) that's 60 people.

That's not many when dealing with multiple massive counterparties. You'll see ratios of non-dev to dev easily 10:1 to 30:1.

Yes, they could genuinely spend $187M so far on a project accomplishing only 2 devs x 5 years worth of work and rework.
Only tangentially related but I wrote some code to manipulate these filters with the hope that I would help manage/centralize them more easily: https://remusao.github.io/posts/parsing-thunderbird-msg-filt...

Leaving it here in case that’s useful to anyone.
That's exactly how it works. Take your source digital image/video, run it through a neutral DCI-P3 output LUT and you have exactly what people are asking for as a "before" video.

Pretending image mastering and color correction is incomprehensible doesn't make it so.
That's not what your source says tho, eggs are vegetarian

The key part is:

> But it is not isolated in our kitchens. We have chicken all day, every day, and that's not going away, so we want to be very candid and open and honest with our customers."
For a tech team leader and engineering manager, the ultimate goal is to improve the team’s integration process so that each engineer can preform to the best of his or her capabilities. Hiring new resources changes the dynamics of a team and for there to be effective communication, efficiency of work and productivity, the new recruits need to blend in seamlessly so as to add value.

I downloaded this guide which was helpful as it gives details of how to build a stronger and cohesive team.
Thank you!
Why did you quit? Was it because the market was too competitive or you wanted to focus on something else?
2. Did you mean that my verification email is marked as spam in your inbox? I use firebase and haven't set up the domain yet, so I guess that's why.
You're missing my point. I'm not saying it should be difficult either, but is GnuPG really that difficult? Is --sign/--verify, --encrypt/--decrypt overly complex, and how does this tool improve on that? Should the users understand when to use symmetric vs asymmetric encryption? Is it important to know the difference between public and private keys?

I just fail to see where and how this tool improves, what steps are removed compared to the flags I listed? Is it the lack of dashes? The pen and paper straw man doesn't answer my questions.
koala sampler (app for android and ios) works well for that too.
Mob programming, aka the juniors sit and watch the senior do the thing, 2x1 hour per week is the solution.
The Balthazar laptop: An all-European RISC-V computer
Nope, if you can prove it was due to customer misuse you don't have to cover it.

So a eg. broken screen is still a customers problem, unless they somehow manage to prove in court that the screens were shitty and break under what would be presumed "normal use". That's why there are basically no ads showing stuff like "survives falls from 10 meters high" here.
My first boss taught me this proverb 25 years ago:

Dev who solves problem with regex, now has two problems.
If that shocked them wait until they check instagram...
It is almost as annoying as when hack / breach turns out to be someone scrapped every profile on the site.
Just that Hacker News doesn't provide the protections being discussed given the also discussed assumption that sites will be breached at some point.
I wrote about the tools I use to help with this a while back:

https://auspicacious.org/posts/2020/10/03/rehumanize-yoursel...

For HN specifically, I don't browse the site but rather subscribe to the once-weekly Hacker Newsletter; there's already more than enough commenters and voters here. This is the first comment I have made here in many years; usually I'm many days late.
The only differences on the 64GB and 256GB models compared to the 512GB model are that the screen doesn’t have the anti-glare etching and you don’t get as nice of a case. Also you don’t get some software perks like special keyboard styles.
See Orthodox C++.
Last time I checked, David Guetta was not producing techno. Eventually he spends most of his time with his arm in the air so calling him a dj is a huge stretch too.
I don't understand. Smart pointers replace dumb pointers not normal stack/inline object placement.
I wish more of these alternate CLIs could act as wrappers for GPG. I would be happy to use enc if it just called GPG cli commands (or gpg agent*) underneath to do it's tasks.

I know it's a boring to do wrappers, but I can't imagine using something that doesn't support GPG agent and YubiKeys / Smart cards. That infrastructures is why I think GnuPG is so much ahead of it's competition like Filippo Valsorda's age.

* I have an example how to use GPG-agent to decrypt and sign things, it's almost voodoo, because there is no instructions how to do it anywhere. I had to read the GnuPG's C code to understand how to do those: https://github.com/Ciantic/gpg-ed25519-to-cv25519/blob/maste...
As stable as, say, golang's standard library.
Sure, it needs upfront thinking and commitment, but it's not that difficult and might be well worth it.

In the case of coreutils, the problem space is fairly simple and well-understood, so it should be quite easy to commit to a stable interface. Even for something exceptionally complex like a web browser, I'd expect most components to be easily kept backwards-compatible in terms of public api.
TBH, picking the wrong moustache could have truly Unforeseen Consequences.
Rappers built their music (literary) over others’ samples. Now it is their turn to be "creatively" used.
It’s certainly your prerogative to not find it interesting and your feelings are valid.

However, I think it’s interesting and can’t wait to see more djs and even new artists using this technique to create some neat art. And of course, it looks like there are tens of thousands of fans in that stadium who seemed kind of interesting.

I don’t think statistical sanity is a good measure for value, especially art, but I don’t think it’s noteworthy that you don’t find it interesting.
I think that the algorithm does a good job at gate keeping self promotion off HN.
> And this is why we should all adopt webuathn, and get rid of totp based 2fa.

I'd be glad to personally, but if a site supports 2fa at all, then it's mostly likely TOTP. And some require TOTP first and allow webauth only in addition to it.
The difference is that your door is exposed to the neighbourhood while computers are exposed to the whole planet. Notice how your plain old number password is still sufficient for unlocking your phone.
Good point chick-fil-a, no one said vegetarian food had to be healthy!
I'm surprised there's enough separation between aboriginal australians and everyone else for differences that intense to still be possible. No subgroup in the US is that different from everyone else.
> In each case we do things better, they cost less, and we move on to the next problem and jobs open up there.

The tricky part is the mechanism by which we chose the next problem.

If everything that sustains people gets cheaper we can lower all the salaries. Working people can buy more than before but get a smaller slice of the total pie. All things combined there is more stuff to divide which allows us to create more wealth elsewhere.

The pie as a whole determines what should be the next problem to attack.

Imagine for laughs an utopia where no one works, we all get a nice house, a car, free food, energy/fuel, a phone, computer, tv, nice cloths, etc, etc, everything you want plus an allowance of 10 USD per week.

Whatever problem the market attacks next there is no incentive to do something useful for humans.
I believe the target market for this sandwich is larger than just vegan/vegetarian and should include the general health conscious crowd. I imagine there’s a number of people who don’t eat Chick-fil-A because it’s not healthy. This sandwich be a way to tap into that audience. I personally eat meat, but often eat veggie burgers and other plant based burgers because (most of the time) it’s healthier (and I enjoy the taste).
Ah, you're right, I missed it because it's callee-controlled in C++.
(See Heap Allocation and Promise on https://en.cppreference.com/w/cpp/language/coroutines , for those curious.)

Rust coroutines evaluate to opaque value types instead of handles, for comparison, so the caller gets to decide what to do with them.
Currently they're a bit unwieldy though, until naming (aliasing) their types becomes possible. The unstable documentation for that is here: https://rust-lang.github.io/impl-trait-initiative/explainer/...

(Edit: Sorry, I'd grabbed the wrong second link. Fixed.)
Took the fast food industry years to figure out you can use vegetables instead of coming up with ultra processed "fake meat" alternatives, wow

Hopefully one day they'll discover black beans patties, but that's very high tech and requires cutting edge technology
They do already, in socialist democratic countries. Nobody dies because they couldn't afford insulin in Europe.
In Rust you can allocate small structs on the stack while being confident that the plain pointer passed down the stack will be valid throughout the function execution.

In C++, you need to use a plain pointer or a unique pointer. The former makes the function leak when passed a pointer to heap.

The latter requires a heap allocation and free for the struct contents.
for json it's common to have multiple records per file. Then it's just one object per line, for example.
It appears to be a linear transform from "gamma-adjusted" RGB. So probably not straight from sRGB. [1]

The article does not mention it, but I assume it just takes sRGB color components.

[1] https://en.wikipedia.org/wiki/YCbCr#R'G'B'_to_Y'PbPr
I've been using it, and once it gets a stable release it looks like it'll be awesome, but right now it's pretty buggy. The new immich-proxy docker image doesn't work, so you have to use 1.45, and I've been having very odd issues with immich-postgres (it changes the permissions of the pg_data folder to 700 and owner to systemd_coredump... Not good.)
It is not like Woz got mugged in an alley by Elon - it was willing seller and buyer - not Elon's problem if he like so many others fell for BS and hype.
And what those "security" people do not understand: the user will choose the path of least resistance, making all those measures, useles.
Stamps Back
I appreciate that it’s a whole cauliflower. In this plant food craze, it’s often lost on people that whole vegetables are better than processed patties.

Now, the fact that it is deep fried and full of preservatives is a whole other story.
Yep, also wages are higher there so there is a higher cost of running stores there. This is especially visible in stuff requiring manual work (eg. premade sandwiches in a store).

On the other hand, everyone I know from switzerland goes (usually) to germany to shop there, and our balkan "gastarbaiters" go home, and do "everything" here (dentist, haircuts,...).
Is rust code heavily seasoned with unsafe keyword really that hard to prototype in?

Is it meaningfully harder than c++ in this regard?
Yet the time it takes to pick those locks hasn't changed for centuries