skysight-inc/HackerNews huggingface dataset:
Vindman is of Ukrainian descent and was a star witness against the former President in his impeachment for meddling in Ukraine prior to the invasion.

So, sure, that is probably the primary reason Musk dislikes or affects to dislike him now, not his being Jewish.

But that doesn't in any way indicate he can't or isn't making antisemitic comments or Nazi references.

You may have forgotten he's not officially affiliated with the leader of Russia.

So he doesn't have any need to be consistent with the party line that everybody they don't like is a Nazi and the Nazis were the biggest criminals in history.
Had the same question. This is the minimal implementation of the error, so there is no clue what was the original purpose.

I think as it is, it indexes a table where the first positions return tab[0], the next ffff/1ff will return tab[1] and so on.

If I see such a code at work I would reject it in less than 1ms
The Android share menu was trash for many years, but it's definitely been getting some love lately. (If you don't have a Pixel you might still be rocking an older Android version.)

Perhaps a year ago they drastically improved load times, but the recommendations became much more stupid, and in recent builds I feel they've actually struck a good balance.
It's in her bio:

> Media studio co-founder. has worked as Head of BBC Hong Kong Bureau & BBC Chinese News Editor. China Editor
@initiumnews. Legal reporter @scmpnews and others

SCMP is a Hong Hong-based news outlet. I'm assuming she has her sources, since all you need is someone in china with a VPN or someone in Hong Kong in mainland with WeChat/Weibo account that has access to community groups
> This guy acts like this is a foregone conclusion that we must have war.

> we should really consider if giving China it's space in a multi polar world is more in our best interest than going to war to keep the hegemony alive.

Non-sequiturs right out of CCP talking points.
Why would “basic” and “correct” overlap in any way?
GCC's UBSan catches it,

> runtime error: signed integer overflow: 50000000 * 511 cannot be represented in type 'int'

https://godbolt.org/z/oz9vvj5YM

Another heads up of the dangers of UB optimizations, and why using static analysis is a requirement for C derived languages.

If you aren't using all warnings turned on as errors, disabled implicit conversions and at very least have static analysis on the CI/CD pipeline, you're up for a couple of surprises.

From CppCon 2022, "Purging Undefined Behavior & Intel Assumptions in a Legacy C++ Codebase"

https://www.youtube.com/watch?v=vEtGtphI3lc
Not sold on biopolymers, but I don’t like this line of reasoning based on finger pointing. Every country can claim they’re just a small part of the problem and everyone else should change first. What should matter is whether it’s the right thing to do.
> systemd was necessary. In fact, Solaris did it first in the form of SMF.

Apple's Unix variant seems fine without it though ... Of course macOS uses launchd [0] which I guess is somewhat similar. And if I am not mistaken it's released under a permissive license.

Perhaps Linux could benefit from using launchd instead of systemd?

---

[0]: https://en.wikipedia.org/wiki/Launchd
It was all about Jet Grind Radio and Skies of Arcadia on the Dreamcast. Super underrated system. Super underrated games.
This is a great idea, we’ll work on it!
Clang should, MSVC has plans for it but no news since 2018: https://developercommunity.visualstudio.com/t/please-impleme..., so looks like it's a blackhole for now
Why do you feel documentation is pointless?
> Rather than mixing for mono (one-speaker) and stereo (two-speaker) audio—which makes audio sound clearer on basic TVs—sound engineers today often design for a higher number of speakers and then scale audio down for less-capable systems.

Does anyone know if moving to a "3.0" audio setup is sufficient to fix this? That'd be left+right+center channel. Several speakers brands, if I'm not mistaken, do name the center channel as "vocal" or something like that.

Do people with a 3.0 speakers setup or more also have this problem of voices behind harder to discern than they used to?

Or is this just affecting people watching movie using whatever stereo setup?

I'm asking because I've got an "audiophile" stereo setup but don't really want to go to the trouble of moving to an home cinema amp + many speakers.
Sure, but if UB always occurs, then every execution is undefined, so doesn't what I said still hold? (And the time travel is what I meant by "even stuff that happens before the out-of-bounds access".)
I appreciate the author running these experiments; even though I think the answers were obvious, it does confirm a lot of what we know about coffee extraction.

I do have a few related thoughts on some different points in the article.

> The ideal extraction yield for coffee is between 18% and 22%. An under-extraction of 15% or over-extraction of 25% will cause an imbalance in the components and will result in either acidic or a bitter-sweet coffee drink.

The lower bound of the range is accurate, but the upper bound is outdated. People like Scott Rao and the folks at Barista Hustle have been involved in expereriments to push extractions even higher than that; if I recall correctly, I think they've reached just shy of 30% while improving the taste of the resulting coffee. The key is that bitter flavors don't simply start extracting past 22%, but that above 22%, the _evenness_ of extraction becomes very important. This is the point where factors like the grind size distribution (from the specific combination of beans, grinder machine, and burrs) and technique (e.g. your method of hand pouring to avoid fine particles from clogging the filter) really start to matter. Bitterness can even occur at 18% extraction if the grind size distribution is very uneven.

Another related detail the author mentions is that the second and third re-brews result in more watery cups. This is partly because fines (the tiniest particles) in suspension are major contributors to the texture of the coffee beverage, especially for espresso. Once you've extracted most of them in the first brew, there won't be much left for repeated brews.

My angle on this is that this is not a useful technique unless you're intentionally trying to ration coffee. If your repeated brews seem to extract some additional good flavor, you may want to explore ways to increase the extraction from the first brew instead.

On a related note, there is an old invention that essentially constantly rebrews coffee: the percolator.
I have a heap of photos that I'm very happy with from my first 10,000 exposures, and I'm sure that if I went back and re-edited them I'd have more. I think it's only when you start to dial down into trying to achieve a specific look where it takes some time and effort.
That's a good counter; but gold does have a minimum value separate from trust in its future value: it can be used for jewelry / metallurgical applications, etc. and it won't rust / oxidize. And gold is a lousy currency: risky, expensive to store, tied to natural resources, etc.; I guess just like BC :-)
Yes. Has to be the dumbest injection of "stuff" onto a page ever. I wonder if anyone non-accidentally clicks on that stuff.
Time. It takes time and preparation to wait for the right light at the right place. Waking-up early is oft very well rewarded.
macOS includes launchd, because it is in fact necessary.
Jolly Heretic and Spiteful Mutants: Thanks to modern medicine, we now have a dominant genetic furcation, which is evolutionary dead end. It is also suicidal, because it cannot survive by just redefining intelligence, beauty, sexuality, diligence and whatever is needed for long-time survival.
The subsidy is in the infrastructure but the car lets you increase your exposure to the subsidy.
I think your reply, and the further replies to it only serve to demonstrate my concerns even more.

I've had this happen before, where some tool or technology sounds like another tool. Combine that with people with varying accents, and you can quickly devolve into frustrating conversations.

"Okay, so the Foo system is having problems. Mary said they tested it using some cat scripts. Can we get Mary to share those, as we're unable to reproduce it"

(some time later)

"Oh, so Mary was using Katt with a K and not cat with a C."
Some of this complexity is self-imposed. It's flailing around and trying many different things on a slow meandering path to success. Often the trick is to simply copy what a bigger org has done after a decade of experience.

As a random example, Azure generally bills for resources on an hourly basis.

Suddenly, months, years, calendars, etc... cease to matter. Hours are hours. You can use UTC for everything, ignore time zones and daylight savings, and aggregate however you like, or how the customer likes.

Similarly, consumption-based plans are relatively straightforward. Simply multiply unit costs with the per-unit costs. You can even blend this into the hourly model above, where each hour has a "units consumed this hour" and a "unit price per hour". This way you can handle things like changes to the unit price fairly accurately.

With cut-overs between plans, the trick is to just bill for them as separate line items instead of one thing going through transformations. E.g.: 220 hours of Standard SKU and 500 hours of Premium SKU this month. It doesn't matter how many times the customer changed their mind this month that way.

A nice trick is that data like the above superficially sounds like it'll be huge in a database, but column-based compression works wonders on it. Any analytics database engine, columnar format, or reporting engine should reduce it by at least 30:1 or more. Also, you now have a ready-made reporting system that allows slicing and dicing! In some database engines like SQL Server, this is as simple as making the main billing table use a Clustered ColumnStore index. In more cloud-native land you could use Parquet files in S3 buckets, or whatever.

I'm not saying that complexity doesn't remain, it's just that complexity shouldn't be voluntary. Copy a working model that matches your industry, and then only the essential complexity will remain.

An example of a hard-to-solve essential complexity is currency conversions and taxation when dealing with international customers. That's an externally imposed set of problems that can't be hand-waved away.
Cooking food over fire. Vegetables or meat. Traditional everywhere and all kinds of delicious! :-)
The C standard (finally) fixed this in C23, see <stdckdint.h>.
Norway’s ban on Russians flying drones faces test in court
And steam deck. Right now I am about to launch a game on steam deck (Valheim). It has two options - launch with Vulkan or launch with opengl.
UB invades your whole program, not specific lines.

However in this case, the culprit wasn't comparison `a > b`, but assignment `a = b`.

In general, addition like 'a + b' also isn't safe in C.
How is it possible to interpret any of this stuff as other than attempted cover or prep for the invasion, after it's happened?

In order to see anything scandalous on the part of Democrats, Ukraine, etc. some kind of theory (that makes sense to Americans) of how they caused the invasion seems to me to be necessary.

Right up until Russia invaded, all this stuff was just floating around with no explanation, but then it all fell into place. More than a decade of political nonsense now looks like it had one purpose, especially the whole "Hillary the warmonger" line.

If you are Russian or sympathetic, feel free to elaborate on how everything fits together from your perspective.

Sure, lots of people could be corrupt, but one assumes they were corrupted deliberately in service of a singular goal. There's no time-warping back to undo what has happened.

Propaganda can be really masterful, but eventually one has to perform the action that is the point of the whole operation, and then it all falls apart.

An enormous amount of deceptive groundwork was laid for the invasion of France in D-Day, but eventually it happened and then people reacted no matter how well they were diverted.
You could emulate it. Personally I'm really hoping Sega releases a Dreamcast Mini in the coming years.
That is not how undefined behavior works in C (or C++).

Effects of UB are not temporal or spacial limited to the place where undefined behavior happens.

The moment you enter a compilation unit (assuming no link optimizations) with a state which at some point will run into undefined behavior all bets are of.

EDIT:
Yes, UB can "time travel". Compared to that ignoring an if condition iff the UB code was triggered is harmless. Similar it can also "split realities". E.g. a value produced by UB might at one place have the value 1 and at another place a completely different value. E.g. unsigned int overflow values might for an if condition have one value and for the print statment in the condition another and for the index operation again a different value.

EDIT2:
Which is why a lot of people which have proper understanding of C++ and don't have a sunken (learn C++) cost fallacy came to the conclusion that using C++ is a bad choice for most use-case.
yes it is. But it can also be solved by simply getting a quality amp that will remaster it for you.

The problem with your setup (if its build for stereo) is that you will have to replace the amp
This has been my ReCAPTCHA policy for the past several years:

<https://toot.cat/@dredmorbius/104371588129861216>

It's faster at granting site access than cooperating with the intended challenge more often than not.
Billing is complicated because getting money in exchange for services is complicated. The company wants to increase pricing complexity, as to better reflect their own costs and to better price discriminate, and this runs directly into the problem of trying to express those constraints in the real world.

As noted, trying to fit billing into our stupid calendar system is tricky, because the calendar is stupid. Then, if you want plan upgrades/downgrades, you need to do pro-rata adjustments, and the interactions between that and tax/billing periods/etc makes the entire thing a headache.

And then you often need to add some way for the sales team to change things on an ad-hoc basis for sales/special negotiations/etc because of course big customers are going to negotiate something special, and that's all custom logic. After that, now the marketing wants referral credits, and then they want promotional periods that interact with customer loyalty, and on and on it goes.
Turns out people get upset when their code goes slower because the the compiler added traps on signed overflow.
The lesson is to only use C when absolutely necessary, and regularly use all the sanitizers and other safety tools you can find. Not just when you suspect something fishy.
Thanks for the feedback, fantastic idea, will work on this indeed!
I'm trying to manage my projects mostly like the steps the OP takes. The only thing that I would add, which has helped me is, is having build automation in place as well (CI/CD or just scripts like a Makefile).

This could fall under tests, but I've found that having concrete steps written down on how to build the thing helps. As there's many times something that's easy to forget that has to happen for things build correctly if I've stepped away from the project for a while.
The author took issue with the compiler removing the i >= 0 part. The compiler did so because it could infer it's true given x >= 0, the only way i < 0 could be true is via integer overflow.

I think the output of the Rust compiler is fine because it uses an unsigned comparison ("ja" as opposed to "jl") to implement the "if".
> It's the one who might have done it for 15% more than the mass produced product who is gone, because we added on top of that so much bureaucratic overhead that the final price ends up being 100%+ more instead of 15% more and that exceeds what ordinary customers are willing to pay.

Why would you buy a product for 15% more, unless there's a compelling reason to do so? The mass produced ceramics are high quality, durable, come in a variety of shapes, colors, sizes, etc. People buy hand-made ceramics for the aesthetics, and to have something that's more unique.

I think you greatly underestimate how much cheaper mass produced goods are than artisan made goods. Op's choice of ceramics is really good. Machines can produce thousands of plates in the amount of time it takes an artisan potter to make dozens. The potter's source of clay may be limited, or they may have to pay a lot more because they buy in smaller quantities. They have to pay more for transportation for the same reason. They have to pay more for distribution for the same reason.

Bureaucratic overhead may play a part in this, but overall it's a small one that gets lost in the scale of mass production.
Insofar that the current turmoil provides opportunities which, while growing up, I considered shut for my generation.
> At the end of the day people are free to believe whatever they want from people using a symbol,

No people are not free. Those symbols can land you in jail.

> but it will only betray their own ignorance in its history and still active use in the non-western world.

Yes, but this is desired.
No state wants people who are able to think for themselves. People must do what they are told.
> Statler [...] Waldorf [...] Muppet [...] cantankerous [...] heckling

"That's right!, and we're doing 10x times better up here in our box than you muppets down there on the stage!"
It seems like a perfectly cromulent line of code to me, assuming you have overflow checks somewhere.
And yet C is still the dominant language. Undefined behavior is actually the reason why: any defined behavior is expensive to implement in the compiler and possibly incurs a cost at runtime. The language design intentionally trades programmer’s sanity for ease of implementation.
In this particular case, yes. You can't rely -O0 to save your bacon in general.
It has a minimal value but it’s far less than its monetary premium. If you are investing in gold (as many mainstream wealth managers and central banks do) then you aren’t assessing “what is the minimum my investment can fall to based on fundamental industrial utility?” The investment thesis for gold completely ignores any potential for demonetization or else the investment is suicidal.
I got it in my third guess, but my first guess was correct apart from the suits.
Or simply ignore clicks on elements that haven't been visible for longer than a few hundred milliseconds. I'd be happy to click again.
Even if someone would read all those pages, constraining ourselves to ISO C only, no way that after an year they would still remeber the about 200 UB cases that are documented there.

Which is why everyone should adopt static analysis tooling and enable all the warnings that are related to UB, pointer and casts misuses.

Many think they know better, it is like those that think builders don't need protection gear at a construction site, it is stuff only for the weak.
Basically anything else.
Lago is currently free to use and we already have paying users.

I think indeed some users will use us for free and never pay, whereas larger companies actually want to pay to get the hosted product, custom features, SLA, etc.

We are still in the early days, but here is how we think about our own pricing : https://www.getlago.com/blog/how-we-think-about-our-own-pric...
Yeah, I was wrong. Mixed up the signed and unsigned cases.
Note that UBSan is a dynamic analysis tool.
This is the minimal example. For all we know, the original code might have made more sense in context?
Reasonable cost of housing

Low to nonexistent state income tax

Balanced state legislature between the two parties

Strong consumer and renter protection laws

Aggressively pro-competition legislative agenda from governor

Rate of construction of new low to moderate profit margin housing that just slightly outpaces population growth

Availability of high speed internet, preferably fiber, but cable with 1gbps down mandatory

Low crime, but without a draconian/malicious prosecutorial system and culture

Large percentage of population with higher education

And finally what matters most of all (drumroll please)…

Really great Mexican food!
"Minifies," not "minifys."
This would suggest that you're free to choose your application model and interface design. But usually you're not.

A big part of todays programming work is spent on understanding what others have come up with about how the environment your app runs in is modelled and how it talks to your app and expects your app to talk and behave. This includes data models, process models, event handling etc.

So while there might be a big click when you discover that you need a place to store your data and have algorithms/code operating on that data, in common programming tasks it has to click again an again about others' ways of doing things and adjusting your code to fit that model.

And yes that can be fun and enlighting. Again and again.
This is great, thank you. Makes me think of all those people saying ‘you could run T_____ with 8 people’
I like the error handling by match/case error pattern.

Elixir shares this pattern too as well as other languages I'm sure. Did you draw inspiration from other languages for Hare error handling?
I can confirm that in your example the German "Stell die Sessel gegen die Wand" would be valid too and well understood, yet with a slight touch of colloquialism and old-fashioned phrasing.
Ending up with a nonsense result ain't great, but it's still a step up from losing all guarantees about the behaviour of your program.

By the way, throwing an error on overflow is also a perfectly valid way to get defined behaviour and not end up with a nonsense value.
Who's "we"? I'm pretty sure developing countries don't throw plastic in the ocean, if only because there is already a non-green much more profitable alternative: burn it. In Europe there is a well set up "recycling" industry that takes plastic and burns it at high temperatures for applications like cement making. Not great, not terrible, and definitely not throwing away money in the sea.
> They could 'come back' over a decade

With what replacement population for their current military age population? No, it's now or never for Russia.
Climate change is a convenient distraction from addressing the problems that we really need to solve, like creating more affordable housing.
Legacy reasons, most embedded devs and UNIX clones won't use anything else.

In many other domains, other languages have taken their place, and this will keep on going, even if it takes a couple of generations, or goverment cybersecurity mandatates to make it happen.
If it's wrong break on compiler time, not on run time

The problem is the compiler going implementation defined on the multiplication/assignment then going all language lawyer on the following line and blaming the user

> In general, addition like 'a + b' also isn't safe in C.

Cool, another reason to retire it
Writing Rust and Haskell for sanity is not something I would agree with. Maybe for language characteristics but reading those make me jump out of the window.
I basically never rewatch videos I watched, unless I search for a specific one, yet Youtube consistently shows me tons of videos I watched, with full red bar and everything. First I thought just not paying attention to them would slowly teach the algorithm that I'm just not interested, then I thought marking each such video as "not interested" would help. I gave up and installed "YouTube: Hide Watched Videos - by Ev Haus" script into Tampermonkey to finally get rid of those, and now about 50% of my Youtube home screen is empty space.