skysight-inc/HackerNews huggingface dataset:
The example here doesn't have compile-time known undefined behavior though; as-is, the program is well-formed assuming you give it safe arguments (which is a valid assumption in plenty of scenarios), and the check in question is even kept to an extent. Actual compile-time UB is usually reported. (also, even if the compiler didn't utilize UB and kept wrapping integer semantics, the code would still be partly broken were it instead, say, "x * 0x1f0 / 0xffff", as the multiplication could overflow to 0)

The problem with making the compiler give warnings on dead code elimination (which is what deleting things after UB really boils down to) is that it just happens so much, due to macros, inlining, or anything where you may check the same condition once it has already been asserted (by a previous check, or by construction). So you'd need some way to trace back whether the dead-ness comes directly from user-written UB (as opposed to compiler-introduced UB, which a compiler can do if it doesn't change the resulting behavior; or user-intended dead code, which is gonna be extremely subjective) which is a lot more complicated. And dead code elimination isn't even the only way UB is used by a compiler.
The promise of Rust is that you never run into undefined behavior if you only use safe code. There are some caveats (using dependencies with badly written unsafe code, the noalias bugs others mentioned) but in the general case, if you're writing code without 'unsafe' blocks, you're not going to trigger UB.

You're certainly not going to run into LLVM optimizing your bound-check out of existence because it occurs after an overflowing operation.
>> thrashing

This was such a common thing to test for in fluid layouts under AIR/AS3/Flex, or any previous lingua franca where you had to design and code your own rollover effects or web components. So much is elided in mouseout and mouseover. Really, unless you've coded those events in a stack from movements, you don't understand what they mean. In any UI, it's the #1 thing you have to watch out for (along with stuck hovers, accidental focus and things like that). Mouseover/out depend on the entire screen graph as well as timing to establish user intent. Thrashing the whole UI off that because you shift the layout is the worst example of how to do it wrong. Amateur hour.
Regardless of your opinion on cryptocurrencies or Elon Musk, surely this article is not of high enough quality to deserve to be on HN?
50 years is too far away into the future to make any meaningful predictions. I would be very skeptical of anyone who is confident about their answer.
any link on stanford's report? When will it be published? It sounds pretty interesting
Yes, and in particular the compiler can assume that you stay within the defined behavior. That's what's enabling the optimization in removing the i < 0 check.
Just imagine yourself in the position having something to be deleted posted by an earlier you and/or about yourself.

If people ask nicely, can confirm ownership/authorship of the record/data in question, then why would you be in a position to deny such a request?
Love Alpine Linux. Only thing stopping me from running it on my main workstation is that my Sublime Text is my main editor and they have no musl version.
I appreciate the tech and effort that went into this, but the assessment criteria could maybe be given a few options to suit individual desires/needs.

(Plus I need one to tell me to stop standing too much, or standing but not moving maybe, after incurring some foot problems due to excessive standing desk use during covid lockdown)

However, my neighbour is a career academic with a PhD in human factors, and just last Friday was telling me he had been searching for statistical validation for twenty years that maintaining "good posture" while sitting was beneficial, and has yet to be able to come up with anything even vaguely statistically meaningful.

His take is, any sitting posture is bad for you, if maintained or preferred excessively.

Seems you are good however, as long as you change often enough to balance out or average out the various "curl up" and "stretch out/arching" positions.

This is unless you have a particular injury, or scoleosis etc and have certain positions you need to avoid.

Otherwise, just slouch around, but change semi regularly.

So it would be good if somehow it could tell you too much curl, too much arch/stretch, or too long in one position, instead of deviation from an absolute. But this starts getting complicated on first inspection.

The desire for "good" posture, along with many other things, falls into the category of "are you telling me something you know, or something that someone told you?".

Question everything.
“DevOps is a culture, not a role”
“DevOps is a culture, not a role”.

DevOps is the cultural and organisational merging of traditionally separate department responsibilities; Development and IT operations, to reduce the software lifecycle time and improve code quality. But does “DevOps” have a place in job roles or team names?

The “DevOps Engineer” nomenclature exists and is widely used, it serves as a good reminder to teams and individuals of our ultimate goal.

There can be negative implications when being this ambiguous with team naming. If we consider the top 3 common roles that are often covered within a “DevOps” team; Cloud Infrastructure, Site Reliability, and Development Experience.

Issues we may face:

Headcount
Even a growing organization with a relatively simple stack will likely require multiple engineers assigned to each of the aforementioned areas if it wants to be able to progress quickly in each area simultaneously. A squad of three engineers may seem like a well-stocked team when in reality it is three severely under-resourced teams.

Responsibility
Having a single team named “DevOps” can easily obscure the scope of responsibility across (at least) these top 3 areas. This complicates the wider organisation's ability to include the relevant engineers in project planning and often results in DevOps simply being a catch-all reactive team.

Context Switching
Unlike software engineering, context switching is part and parcel of each of the top 3 areas. That being said, context switching between all areas at once will increase that overhead significantly.

Organizational perception
Depending on how many of the above issues we are facing and how well we are mitigating them, the perception from the outside organization will not be great, even from inside the development department. It will especially compound the age-old issue of quiet competence in the Cloud Infrastructure and Site Reliability work.

So, how do we alleviate these issues?

Be organisationally clear
If we have a “DevOps” team, have sub-teams named appropriately e.g. Cloud Infrastructure Team. Each of which would be populated with “DevOps Engineers”. Much like the Identity, Backend and Frontend development teams would all have “Software Engineers”.

Experienced Management
Whether you have a manager for each area or one for “DevOps” as a whole, it is key that the outward-facing manager has a wealth of experience in SRE/Infrastructure and the ability to clearly articulate the value of all aspects of the team's work.

In conclusion, if a company insists upon the word DevOps being visible as part of R&D org, yes, “DevOps” can be used to define a section of the organization however, we must qualify each of the sub-teams with clear names that can be used to correctly scope responsibilities.

More preferable would be to leave the word DevOps as the description of the way of working and be precise with team names and job descriptions as it minimises the need for any confusion at all.
Another option is to lay the PCB on a flatbed scanner.

Check out the nice pictures at https://learn-cnc.com/reverse-engineering-pcbs/ for example.
Staring at an insoluble problem is something you get used to. Eventually experience tells you that a solution will come (for me in the shower). In many ways it can be like trekking in the wilderness. Many delights, occasional nightmares. Things will improve.
It was 297lbs

Source: https://youtube.com/watch?v=GdHW1YipmVo
Nothing should ever autoplay because of a hover.
The only acceptable use of hovering is to change the color of something to highlight it, without changing any layout. The only exception is if you've already clicked and are engaging with a game or simulation inside a defined area.
Yeah, I was thinking more of some kind of mathematical property or emergent quality of such a system, but earth will be fine. Humans won't be, but that's kind of deserved.
A Law Professor Explains Why NFTs Don’t Protect Digital Ownership
Not by default. A cherry-pick is like a one commit rebase. You're affectively rewriting the commit's changes somewhere else and so get a new SHA to reflect the new location.

Since git notes are tied to a particular SHA they don't get included.

You can configure git to do it though. As mentioned else where in the comments, here's a good stackoverflow answer explaining how:

https://stackoverflow.com/questions/14585613/is-there-a-way-...
Well, then you are just uninformed. Java can JIT compile hot loops to C speed. There is hardly anything it is not fast enough for, and if there is (a certain kind of HFT), then nor is a general purpose CPU (they use FPGAs).
I'm not so sure it's that wild. Signed overflow is UB so it makes perfect sense it's not possible to check overflow happened. You need to make sure overflow doesn't happen.

Similarly it's invalid to check if an access to an array is out of bounds after you have accessed it.
US Bans Huawei, ZTE Telecom Equipment on Data-Security Risk
Perfect for D&D wilderness exploration. Which monsters or adventures do you thing are most appropriate for each borough?
> I cannot figure out how "upd" shows Windows Update but "update" does not.

This drives me crazy.
I you feel so strongly about missing features, I suggest you report the issue and propose and approaches to it. Complaining on HN that "there's functionality missing" won't change anything.

I believe that the only thing missing is capturing individual windows with screencopy. There's actually an issue for that and ongoing discussion on how to implement it. Nobody's decided it's a bad idea, it's simply a matter of nobody having done it so far.

Xorg never "implemented" this feature. It's just that any client can read what other clients are doing. So Skype can screen-scrape your password manager by default. Obviously this was not a good choice, so Wayland has dedicated protocols for this functionality, with the intent of restricting them only to privileged clients.

Finally, while no _standard_ protocol exists to address this, there are compositor specific ways of capturing a single window, so most users have their needs met.
In this case, both. Sorry.
I make new YouTube accounts (not Google) for myself for the groups of my interests as they don't overlap much.
I’ll read the New Yorker for off-the-grid Intermountain West living info the same day I read the Alamosa News for insights into the latest Israeli elections.

Saying that, in NM in the 1980s, off-grid living was perfectly feasible with some of the same caveats you mention. If the local community accepted you (Latinos, First Nations), you could easily make it happen (and I assume you still can). If you get crosswised with the autochthonous spirits, you could find yourself burned out of your half-built cabin pretty quickly.

Communes help, but come with their own problems. Don’t know whether the Intentional Community movement has solved those problems yet.
Online dictionary Merriam-Webster names 'gaslighting' as 2022 Word of the Year
Sometimes I chuckle to myself wondering why people pay 36 bucks a year for 1Password. Then I launch my $10/year Bitwarden desktop app. I’m halfway through typing my master password and a popup launches capturing the rest of my keystrokes: ”Would you like to update Bitwarden?”
Large parts did not. Of particular interest is Iceland. It is always 11C there. And always has been. It is also isolated from other issues, like Germans burning dirty coal instead of totally harmless and renewable Russian Gas.
Good old BuzzFeed strategy. Didn't know it had a name for it.
Perhaps contrary to popular believe, I think the jobs that have survived thousands of years will likely survive another 50, even when all automatization included:

- teachers

- writers & artists

- doctors

- farmers

- builders

- scientists

- what people say is the oldest profession in the world

It is the relatively new jobs (< 100 yrs old) that face more uncertainty: they perhaps have proven themselves worthy in the last decades (and they are booming right now), but might not be resilient enough for world that is coming. It is not only about automation, but adaptability to quick / disruptive changes.

- programmers

- traders

- journalists

- marketers

However, I wouldn't call this a "prediction". I think very few jobs will actually disappear completely.
After ~70 hours of watching Finnish shows, the only word I can recognize is "ok".
Hi. As a long-time user of VM I just want to give you a shout out for your work on it as a system.

In over 3 years we've only had one moderate issue with it - a cpu usage profile change between versions of vmstorage that necessitated an emergency instance change.

It is a phenomenal piece of software and you should feel proud of what you have accomplished.
Dreamcast was so overpowered, you could boot a PS1 emulator on a disc, boot the emulator up, and plop in a PS1 game. Play the game, with higher resolution graphics!
It is a tradeoff. Most of Java’s GCs optimize for throughput (and they absolutely succeed at that), but that comes at a larger memory consumption.
Fascinating thought but I’m afraid of smart organized octopus

We’re lucky they die so young
just way too complicated.
>> delivery driver in cities with regular grid-like streets aka most of the US

So no good in any country older than 245 years old?
Imagine if the people designing the Discord, Windows 10+, Telegram, and Amazon Prime cancellation UI to manipulate you into paying for services, were in charge of designing airliner cockpits and industrial plants. User interfaces can and should do better in preventing unintentional user error, and people should refuse to implement, use, or accept dark patterns.
> FWIW, ridiculousness is in the eye of the beholder

Only sometimes. Implying that the American lockdown is the same as the Chinese one is obviously untrue.

If I call you ridiculous for thinking that Sweden is just as oppressive as North Korea you wouldn't say "well that's a matter of opinion" would you?(assuming you're not an idiot)
The New Oil – The Beginner's Guide to Data Privacy and Cybersecurity
If the acting is any good, you can pick up a surprising amount of the plot without understanding any of the dialogue.
Yeah, I seem to understand the art of photography goes through different stages of mastery:

- Level 0: Newbie.

- Level 1: The art of lighting, composition and colour theory, i.e. this article. This is very technical and scientific.

- Level 2: The choice of subject and hidden meaning, if any, of the picture. This is more abstract and "artistic."

Many skilled photographers don't go past level 1. I reckon the reason photography is such a common hobby is because it can attract both technically- and artistically-minded people.
You cannot divorce the technical side from the garbage crypto brings. Yes, crypto has good privacy preserving properties, that unfortunately are equally effective for $5 as they are for $5 billion. The legitimate use case for that is infinitesimal compared to the abuse potential, and even if we accept the whole black-market use of crypto as legitimate, that's still a small fraction of the speculation-driven valuation.

Those who understand the technical features can see there is nothing there to justify the hype, and rightly conclude it's largely a scam on a fundamental level.
interesting you say writers and artists would survive over programmers when AI has practically threatened all writers and artists livelihood as of recent.
How do you get your car onto the pavement without driving it on there?

Prevent that and you cut vehicle ownership in towns and cities dramatically, thus reducing congestion and pollution
I think you misread op, they explained why the overlay scrollbars (aka "tiny-thin scroll bars that some idiot-designer though were slick because they so minimally interfere with the rest of 1920px-width display") are used instead of the old ones that cause layout to trigger again.
They are just going where there is money.
The light gun used by the arcade version of House of the Dead 2 (and I think Virtua Cop 3 and Ghost Squad) also worked the same way as the Wii Remote's pointer, using a camera in the controller to sense infrared LEDs. So the screen doesn't flash white when you pull the trigger on the arcade version of HotD2 like it does on the console version.

Instead of a single bar with two LEDs like on the Wii, there's a row of five LEDs above and below the screen. You can make them out in this video:

https://youtu.be/vmt-UAc28bo?t=192
It happens super rarely for me as well, mainly the one time a year I watch a movie at a movie theater because they tend to use German subs for original screenings.
Yeah, as engineers we want to say "well tell them we can't do it". But in reality, if the customer represents 25% of your income and they are dead set on getting their way, what you are really saying is that we should lose the customer - which translates to, "we have to sack a quarter of our team". (I had a CEO who used to use exactly this analogy with us).
> But you typically can’t prove that. There’s lots of code where you could prove it might happen at runtime for some inputs, but proving that such inputs occur would, at least, require whole-program analysis. The moment a program reads outside data at runtime, chances are it becomes impossible.

No, I specifically ruled out doing that in my comment.

I was referring to the situation where a null check was deleted because the compiler found UB through static analysis.

(Or specifically, placing a null check after a possibly-null usage. It is wrong to assume that after possibly-null usage the possibly-null variable is definitely-null.)
Twitter is guilty of this as well
Not a Londoner, but the City of London (https://en.wikipedia.org/wiki/City_of_London) is the traditional center (or centre) of London, and St. Paul's is the main church in the City.
Disk space is cheap; IOPS aren't. Same stuff with RAM: it's cheap, but fast access isn't.
Here's more analysis on the bot activities: https://twitter.com/AirMovingDevice/status/15970349692932710...
According to the article movies are often mixed for high-end sound standards, like Dolby Atmos. As the owner of high-end audio stuff, I'd love to have the Dolby Atmos. Yet the streaming services all seem to be limited to 5.1. The HBO app, which I run on a playstation is, wait for it,..., 2.0!

If those high-end audio stream are all available, why aren't they streamed? Or let me rephrase that, where can I get them?
BPA is fine, but I'm more of a lead poisoning kind of guy.
> Compiling and running as if nothing is amiss is exactly how UB is allowed to look like.

Yes, and this is a "billion-dollar mistake" that's responsible for an ongoing flow of CVEs.

(the proposal to replace "undefined" with "implementation-defined" may be the only way of fixing this, and that gets slightly easier to do as the number of actively maintained C implementations shrinks)
I don't use a VM for Docker. I ran systemd directly inside Docker for macOS.

https://github.com/LoganDark/initbuntu
> You become a good fotographer if these interconnections are so well understood you don't need to think about them anymore — and you can focus your effort on finding the right combination of camera position, angle and lense settings.

Much like any skill: music, computer programming, cooking, etc. Mastering the technical fundamentals liberates you from having to worry about the technical fundamentals.
In the City, probably bulls and bears?
>> It displayed a pair of words, one of which was unambiguously resolved by an OCR and the other of which OCRs couldn’t easily read. The first word was used to disambiguate humans from bots, and the second word was used to train the OCR.

Was I the only person who has always inserted some nonsense word as my answer for the clearly scanned word? It was very obvious which word was generated and would be checked, and which one was scanned and which wouldn't be checked just accepted as-is. I always just typed in something else other than the word - I think it was just being contrarian against being used by a corporation to do their word recognition for them for free.
Yes. Lima merged support for this last week.
I like to use single file for that. The approach differs, it downloads the website as a single file and allows annotations like sticky notes as well.

https://github.com/gildas-lormeau/SingleFile
I just had this same issue with MS Teams on my Macbook. I had it maximised, meeting ended, wanted to click the Leave button in the top right corner, and just as I moved the mouse there, the button disappeared! There was no Leave button anymore. Unmaximised it instead, Leave button appears again, I try to click it, and the Leave button moves.

What kind of idiot designed this?
Mate, I'm not a plumber and it's 100% written from the perspective of someone who is not a plumber. This article is not an instruction manual for plumbers, but a blog of what a non-plumber found to work for him.
Sysadmins, but they will have yet another name.

Why? Tech exists and it needs low level constant work to keep secure and reliable.

Idealists think this can be automated. I would wish them to be right, but I know it's not realistic.
What about the following code:

if (x > 4) {
fflush();
int y = INT_MAX + 1;
}

Can the compiler not use that to assume that (x > 4) is false because otherwise it triggers undefined behavior? Hence it is allowed to drop the entire branch?

The only real counter-argument I could see is "fflush might terminate the program, hence we need to run the function before we know if UB will be triggered". I suppose once you call a function that the compiler cannot analyze (e.g. system-calls, FFIs) the compiler may not be certain the function doesn't contain an 'exit()' call.
I guess most HN readers are aware of it by now, but if anyone isn't this is basically the idea of the Lindy Effect [0] -- counter-intuitively, in many cases age is a good predictor of future life span.

[0] https://en.wikipedia.org/wiki/Lindy_effect