skysight-inc/HackerNews huggingface dataset:
We don't really know much at all. Comment from CNBC:

"It was not immediately clear whether the protests reached a meaningful scale in a country of 1.4 billion people, or whether a wide demographic participated"

I've seen pro government social media commentators say that the second half of the Foxconn worker statement was not reported by western media, but I won't pretend I know one way or the other.

Given that just yesterday a Japanese person tried to lecture me about how snorkels might have been banned in swimming pools because someone probably died and that they are probably dangerous, I'd say east Asians anxiety level is different from ours.

EDIT: funny to see people to get so upset. But anyone who has spent Covid in east Asia knows that they have had an extremely different approach to the Europeans all over the board and that in a lot of countries over there people are still deeply fearful of Covid. And while Taiwan has been bashing China's approach they still wear their masks everywhere and still have a somewhat lax but existent quarantine procedure.

You cannot have a serious conversation about a topic based on the information provided solely from one side no matter how much you distrust the other.
Even if you write if...else a smart compiler will turn it into a switch table.
This is a very comprehensive guide with actually reasonable examples and suggestions!

I think there's really not much more to add here, because eventually you'll be deep in the rabbithole that is FFmpeg, and you'll be browsing mailing lists, visiting Stack Exchange, etc. to get help.

Cross-referencing the FFmpeg wiki wherever possible would be good, as there is so much outdated information on the Internet, and at least the wiki is a somewhat up-to-date reference.
The suits seem to think it's about how quick they type or how focused they are, but this is of course nonsense. Some engineers have such deep knowledge of their tech stack they avoid making costly mistakes, or use features in their stack that would otherwise get re-implemented in the codebase. This can make them more like 100x developers.

For example, we had slow query performance in Postgres. I (a 1x engineer) couldn't optimise the query, so I suggested building out a caching layer, with an estimate of 2-3 weeks. My colleague (a 10x engineer) used a window function that took about an hour.

Perhaps from their perspective, I'm a -10x engineer.
Evading the ads and tracking is an act of self-defence. Nobody is entitled to deploy their brainwashing machines on people's minds, just because it makes them money and they happen to be the gatekeepers to the world's videos.

> simply don't use it

This is not always an option.
No, no, no. UB is a global property of your program. "All bets are off" even at compile time.

"Anything at all can happen; the Standard imposes no requirements. The program may fail to compile, or it may execute incorrectly (either crashing or silently generating incorrect results), or it may fortuitously do exactly what the programmer intended."

https://blog.regehr.org/archives/213
This is basically my setup but isn’t samba + apple doodads and it’s been working fine for years.

Early on I had an issue with over provisioning the ZFS slice or whatever but that was resolved.
What’s you pool setup for this? How much space do you set aside for each disk?
As a dumb 10x engineer, I once tried being on the job 1/10th the hours of my colleagues and I still ended up outproducing them by an order of magnitude. I failed to account for the fact that they waste a lot of time doing unrelated tasks, like meetings, leaving only a fraction of their day to get anything done.
Is this the article that says brain damage but simply means the nerves in your nose (aka brain) can sometimes be damaged for sometime but later heal? If so that article is the one that made me completely switch my feelings on the news. I refuse to believe any of it anymore. Built to scare.
Yes. That is the sub-category of “among all the falsehoods about UB, these are the falsehoods that can be categorized as [improper reliance on] OB”.
I feel attacked by the interstitials on this website.
Out-of-order execution isn't the reason for this. The C standard assumes an abstract machine that allows OoOE, of course, but even with strict in-order hardware UB can hit you at any time, even before you'd think it could. That is because the C standard doesn't limit UB to any constraints like "following lines" or "subsequently executed instructions". Independent of the hardware, the compiler is allowed quite a bit of reordering of instructions. The standard just requires that (some) effects of those executions are ordered as written, but that doesn't include UB.

So if you have UB in your future path of execution, the compiler might just do whatever _right now_.
Will be very interested in hearing the details. We are setting up a coop for small farmers and those in the agri-tech sector
Stylometry – The Application of the Study of Linguistic Style
Great article. In case the author stops by: Why no mention of CRI? It's definitely a great geeky topic, and the article links out to professional lights with exceptionally high CRI.
There's an important difference between people being able to do inefficient paper-based one-off `SELECT ... LIMIT 1` queries when needed and the entire world being able to find new and exciting ways to search, join and mix data at great speed—the latter tends to enable new and exciting ways for the data to be used both for commercial gain, criminal purposes, and abusive trolling. (See: the history of internet harassment for the last 20 years.)

Pointing out that we used to put all the phone numbers in a book published by the phone company and now we don't is historically true but practically unimportant, just as "hey, sorry to hear your house got broken into, but you know, people in IDYLLIC_RURAL_HAMLET don't even lock their front doors like you BIG_CITY folks do" isn't useful unless giving up living and working in BIG_CITY and moving to IDYLLIC_RURAL_HAMLET is actually a practical option, which most likely it isn't (and if that were to happen en masse, IDYLLIC_RURAL_HAMLET would suddenly find they'd also need to lock their front doors if their population increased by a factor or two).

Who could have predicted that technological change might lead to shifts in social attitudes? Or, indeed, that the rules, principles and institutions we collectively create to make society bearable have to adapt to said changes?
if (mins < 4) return "a couple of minutes"
if (mins < 8) return "five minutes"
if (mins < 12) return "ten minutes"
if (mins < 18) return "quarter of an hour"
if (mins < 25) return "20 minutes"
if (mins < 40) return "half an hour"
if (mins < 50) return "45 minutes"
if (mins < 70) return "about an hour"
if (mins < 100) return "hour and a half"
if (mins < 250) return "a couple of hours"
When I built my home storage server I made a mistake, and thought I could fit an additional drive, but I ran out of SATA ports. I kept the extra drive as a cold swap and just set up a raidz array.

I ended up freeing up that SATA port I needed, but I'm waiting just a bit longer to expand ZFS on to that last drive so this code can get juuusstt a bit more testing!
Just to clarify, it's not my video, just something I found inspiring on youtube.
That seems like an over-estimate. Presumably if you stop taking bots down, they do not re-appear as fast?
Even if this solution cannot be used for the Linux kernel, for user programs written in C the undefined behavior should always be converted into defined behavior by using compilation options like "-fsanitize=undefined -fsanitize-undefined-trap-on-error".
I'm now religious about adding Makefiles to projects with standard commands to get them up and running. It's built-in, works across languages, overall a win when you switch often between things!
It still has to be executed by the abstract machine for the given set inputs for the whole execution to be undefined.

You are right that once the execution is undefined, you can't reason about the behavior. This includes ordering of side effects, or side effects od operations occurring before the line with UB.

But uttering UB in dead code making execution UB is utter nonsense. Otherwise any execution of any program that just utters __builtin_unreachable() would be undefined.
Do you have a reference for that? I remember that many TCP implementations were derived from the Reno/Tahoe tape source, but I hadn't heard until now that this included NT. Iirc that work was done by or managed by J Allard.
Mars helicopter Ingenuity aces first flight after software update – Space
A regular person in Argentina around 1956 doesn't have many reasons to distrust the authorities. But if you are an old person in China, would you really believe that this one time the government really does have your best interests in mind?

They lived through the cultural revolution, the famines, the civil war and so on. Maybe they figure they'd rather take their chances with covid.
As I understand it, historically, it was the tree for user home directories. The two main designers, `dmr` and `ken`, built tools in their home directories under there and shared stuff from there.

Then they ran out of space and needed to spill over onto another drive, so home directories got moved to `/home`.
> And then there is Only Fans and sex work.

Ten years ago it was still unimaginable when talking about regular people, now completely normalized. Remarkable.
It's still categorized under "issues" clogging them up. I would definitely want a feature that enables me to split issues into "bug reports" and "feature requests"
Zero policy is also co-existence. The choice is not binary, but a sliding scale based on a risk assessment.

Now it is known that reinfections incurs additional risk for long term disability, it makes sense to take measures to reduce the risk of infection.
Does Python allow import symbol renaming? In R6RS Scheme I can do the following:

(import (prefix (rename #;from (rnrs r5rs)
(delay #;as eval-later)
(force #;as eval-now))
r5rs:))

And from (rnrs r5rs) it will import delay as r5rs:eval-later and force as r5rs:eval-now.
The author isn't trying to "add pointless best practices and tools into your workflow". He's describing his personal strategy that allows him to handle some 100+ projects in parallel. It's just a bunch of opinions that you're free to adopt, ignore, or use as inspiration. Personally, I think his description of a "perfect commit" is spot on. I've arrived at roughly the same principle (minus the issue link) myself, and I can speak to its benefits.
I would say (and I might be wrong, but) to me the frontend world looks so... small. I mean, there is a dominant programming language, there is a dominant set of dev tools, there is html+css, and the few established frameworks. That's it.

On the other hand, backend has a number of environments to start with (native, Java, .net, or interpreted like Python), then you have to choose a language, the version of the language, the build tool, the libraries (ok, here Spring Boot is just as dominant as Javascript on FE)... and you are still nowhere because you now choose your database technology (or -ies, you can have Postgres + Redis + Elasticsearch in a typical web app), messaging technology, business modeling, etc, etc.

I do have my set of preferred tools, if you asked me what I would choose for a project, I could pick from them and then I would be able to recommend literature for it. But it is very hard to recommend something that is generic enough that any BE dev would benefit from it (once you have the basics of course, algorithms, O(n), OOP and FP...).

Effective Javascript is from 2012, I can't believe no interesting JS book was written in the past few years!
Charles Darwin's full correspondence is now available online
"First you bought a Ruby Safety Reflector for the rear, so that your posterior would glow in another car’s brilliance."

Not bad either, the writer had a way with words. A likeable piece.

And I didn't know that "The Model T was distinguished from all other makes of cars by the fact that its transmission was of a type known as planetary". I believe it made a comeback in the Toyota Prius, used to combine electric and combustion engine power.
> AFAIK IBM AIX is derived from BSD

AIX is SysV-derived. IBM’s BSD was AOS (long discontinued).

> I know a few things can emulate UNIX well enough to pass the Open Group tests if they cared to:

The Open Group owns the UNIX trademark (they got it from AT&T via Novell), so legally they decide what it means. And they’ve decided it means the standard, and any system which implements the standard (how it does so is irrelevant), passes the test suite, signs the license agreement and pays the fees (which fund maintenance of the standard and tests) is UNIX. By that official definition (the only official definition), z/OS is just as much a UNIX as AIX is.
That's sounds plausible, but isn't. First of all, out-of-order execution has nothing to do with unreachable core - it just means that reachable code sometimes gets executed in a different order than the binary shows. It is speculative execution which can lead to unreachable code actually being executed.

However, even when processors execute code speculatively, they guarantee that no observable effects of executing that code will happen. So, if you have something like `if false {*NULL=7/0}`, the processor might attempt to execute that line speculatively, but it will revert any change it made, and it will not trap regardless of any other flags.
"The line with UB" becomes a very vague notion well before the program even executes. You can see this by dumping the disassembly of your program. The compiler can determine when values are defined and used and will emit code that satisfies the semantics of your program (according to the language specification). This often means that expressions within the same statement get evaluated at significantly different times, hoisted outside of loops, etc.
It should also warn if there are infinite loops, so the dev can know whether it will ever halt.
> know more about the consequences of this virus

Than all the other medical and scientific communities in the rest of the world?
“I trained an AI chatbot on my childhood journal entries”
I wouldn't call some cases of UB like overflowing a signed int or running into a dangling reference "actively pushing the compiler". I'm having a hard time believing you didn't ever run into these or similar issues having "programmed for a long time".

For other cases (e.g. aliasing, alignment), I'd agree that one is rather safe as long as the dangerous tools (e.g. reinterpret_cast) are not used.
UB is typically a property of the execution of a program. A program may bump into UB for one set of inputs, but not for an other set.
Goodbye Data Science
It’s the cross-OS filesystem stuff that always killed it on Docker for Mac (and to a lesser extent Docker for Windows).

I believe improvements have been made, but a lot of people these days check out their code directly in the container rather than using bind mounts, leveraging the fact that a lot of editors/IDEs now will interface directly with the containers.
I'm not the author of this piece, but I find the transition to SwiftUI incredibly interesting and a bit frightening. I've noticed myself that things you'd expect to be swift (pardon the pun), such as loading a screen with a few simple controls in the new Ventura SwiftUI System Settings app, can take a second or more. I'm hoping things like that is either shoddy work on the part of the app or issues which will get ironed out, but I fear that we might see an era of much more random latency issues until hardware becomes powerful enough to make that go away.
The same applies in tech, to a lesser degree. See, for example, the career trajectories of male versus female developer advocates of broadly similar skill level.
Look into TrueNAS (formally freenas). The community forums have a huge depth of knowledge. I’d caution you first, read a lot of their docs and understand the basics before asking questions. They come off as angry system admins.

https://www.truenas.com/community/
Now that the replies have cleared up what we mean by 'London', perhaps we can clarify what mean when we say 'The British Isles'...
While I agree with you that ffmpeg is hard to fully utilize in its current form, how do you design a "wrapper" for a CLI tool with 68,915 (I could be off by a few) parameters?

There's only one way to manage that, and that is to hide some options and functionality. Then it stops being an ffmpeg GUI, it starts becoming a "video transcoding application" (or an "audio grabber application "or a "subtitle insertion application") with ffmpeg as its backend.

See a similar thing for openssl here: https://smallstep.com/blog/if-openssl-were-a-gui/

Maybe someone can build a very specific AI that generates ffmpeg commands for you, based on its man page and what you input as free text?
It's the same for me. Well, I've hit segfaults when dereferencing invalid pointers (including NULL). I've had some surprises with shifting and signed integers as well. But I'm not sure that I've hit strange behaviours late in development. All that stuff is just, oh, I got that wrong, let's fix it. At most - oh I hadn't known that detail about signed arithmetic.

If the compiler removes an important check or branch like in the post, and it isn't noticed in development chances are the code is dead, or not that important. And I'm not saying this to downplay the risks. A big risk is that a particular instance of UB is exploited only by a newer version of the compiler, after the code is already finished. But in general, the language remains a remarkably productive one that lets me get very close to where I want to be, very quickly.

Is it possible to know for sure that it's all correct and will continue to be correct with newer compilers? Not 100%, but maybe it's still a good tradeoff in some environments.
> you mean heating up ice faster?

No, the idea in the book is to reduce/stop glacial motion (which is what causes friction and increases glacial temperatures) by pumping out the layer of water below glaciers (i.e. remove the cushion that prevents friction from actually stopping the glacier's movement).
Obviously not true. I've purchased lots of things for cheaper than they have been all year. It's completely illegal in Europe to claim a discount that isn't actually discounted from the genuine historical RRP. Maybe things are different in the USA?
Don't think about the pink elephant.

There is study for the brains inability to deal with negatives. In communication one can get rid of a lot of miscommunication by rewording negatives. Just mishearing or misreading a sentence can reverse the intended meaning.
How long has it worked for?

I googled the procedure and it seems like it's an injection of "anesthetic" to a nerve in the neck. Is that what you're talking about?
This is an absurd reduction of the current situation.

> That interpretation of the specification language is clearly bogus as that means more or less all C and C++ programs can be compiled to a single return instruction - when compiler devs introduced this new new interpretation of UB, it turned out they had to then go through and add a bunch of exceptions for basics like memset, memcpy, and memmove could work without falling afoul of their invented nonsense.

I've never heard of anything like this, have you any sources for this happening?
Show HN: Free from scratch multiplayer counter strike like game, own game engine
> If you're only hiring from one specific gender, you're most likely not hiring based on qualifications, or the qualifications you're hiring on include gender.

This isn't true though. For instance, look at professional sports leagues like the NBA, MLB, NFL etc. Ability is a thing and genders are different.
Yes, but there is more to it: The compiler may assume that UB will never happen intentionally and optimize out the branch containing UB.
GitHub's issue tracking has tags, which can be used for this.
It seems unlikely that "weakening the west with lots of people unable to participate in the economy" is the goal here, since the zero-covid policy also does exactly that, both short term and long term by weakening the economy and mental health of residents.
Thought about that concept some time ago, glad to see someone else has made it!

I'd love to have plugins for various video services in there, to use the same client for other video services (such as Rumble).

This concept could also be used for creating a Twitter client, where it would follow people by scraping their feeds, support alternative platforms like Gettr, and send nothing but the bare minimum to the server.
No, Dennis, it's not about compiler at all :(

Both compilers are good enough.
It's more about style.

1. No need to save spaces, your fingers won't fall off from pressing the buttons.
2. Pairs of brackets are not so much for the compiler (because they can be freely nested inside each other), but for people.
3. The inverse notation of the condition saved embedded programmers from such errors, and it saves, and will save:

if (
0 != memcmp( blah-blah-blah )
)

It's very old school culture, and it works.
It's pretty easy to end up with one even if you tried to pick some popular and supported library, as they might not be a discerning as you in their dependencies
I have a difficult time believing China is serious about any of that. As we speak they are doubling down on coal-generated energy production.
I agree; I think we can use others but we're 'recommended' to use Udemy, which seems to me like a cross between the worst of Youtube scream faces et al. and some kind of visa/language/entrance exam cram school. And yes, it's all really specific Here's how to point and click in the AWS (or whatever) console sort of stuff.
I get what's happening.

It's basically dead code removal. X supposedly can't happen so you never need to check for X.

The instance in the article is about checking for an overflow. The author was handling the situation. C handed him the rope, he used the rope sensibly checking for overflow. GCC took the rope and wrapped it around his neck. Fine GCC (and C) can't detect overflow at compile time and doesn't want to get involved in runtime checks. Leave it to the user then. But GCC isn't leaving it to the user it's undermining the user.

Re 2) (are you referring to gccs committee or the c committee?)

I don't mind what it's deemed to be, I expect GCC to do something reasonable with it. Whatever happens a behavior needs to be decided by someone. Some of those behaviours are reasonable some aren't. If you're doing a check for UB, the reasonable thing, to me is to maintain that check.

I could make a choice when I write an app to assume that user input never exceeds 100 bytes. I could document it saying anything could happen, then reasonably (well many people would disagree) leave it there, that is my choice.

If you come along and put 101bytes of input in you would complain if my app then reformatted your hard drive. Wouldn't you also complain if GCC did the same?

There's atleast a post a week complaining about user hostile practices with regard to apps. Why do compiler writers get a free pass?
If I put up code assuming user input would be less than 100 bytes documented or not, someone would raise that as an issue so why the double standard.

I'm not even advocating the equavalent of safe user input. I'm advocating that just because you go outside the bounds of what is defined, you do something reasonable.
Illegal Hashes
> What I don't quite understand is why they couldn't just create some joint venture with a Western pharma company and then supply a rebranded version of the mRNA vaccines to their population.

I get the impression that Western companies have become a bit wary of those "joint ventures," following incidents like the ARM / Softbank / ARM China saga.

Moderna specifically refused to share their mRNA IP with China: https://archive.ph/hxWuT
The middle of the road seems like it would NOT be a much safer place to cross than at intersections.