skysight-inc/HackerNews huggingface dataset:
> Anybody who believes that should probably re-take their kindergarten year, and stop believing in the Easter bunny and Santa Claus.

In today's news "random angry guy on the Internet tells Linus Torvalds to go back to kindergarten, because reasons"
Boston Dynamics clearly has talent but it doesn't seem they've found that market fit yet. Softbank and Google both sold Boston Dynamics. It's not some scrappy startup, it's on its third multinational acquisition by now.
Rhythm in Pulpy Fiction, with Two Examples
Unreasonable people build things. Reasonable people run meetings.
Build a better alternative and pack them off to it?
It would be cool if there were a gesture for this within Remarkable, like if you underline a word and draw a line to another word or it pulls up a table of contents you could point to, then when you finish the line, your “link line” would disappear leaving only the underline.
I agree with all this, except “don’t drink”. 2 drinks a week will very unlikely to lead you to you poor health in your 30s-50s, and likely well beyond that.
At least in user space, aborting an operation is much better than incorrect results. But the kernel being incorrect makes user space incorrect as well.

First of all, making a problem both obvious and easier to solve is better. Nothing "only" about it - it's better. Better both for the programmers and for the users. For the programmer the benefit is obvious, for the user problems will simply be more rare, because the benefit the programmer received will make software better faster.

Second, about the behavior. When you attempt to save changes to your document, would you rather have the corruption of your document due to a bug fail with fanfare or succeed silently? How about the web page you visited with embedded malicious JavaScript from a compromised third party, would you rather the web page closed or have your bank details for sale on a foreign forum? When correctness is out the window, you must abort.
Lack of a non-hacky no-panic guarantee is a pain. That would be like a no-segfault guarantee in C.

But Rust's situation is still safer, because Rust can typically prevent more errors from ever becoming a run-time issue, e.g. you may not even need to use array indexing at all if you use iterators. You have a guarantee that references are never NULL, so you don't risk nullptr crash, etc.

Rust panics are safer, because they reliably happen instead of an actually unsafe operation.
Mitigations in C are usually best-effort and you may be lucky/unlucky to silently corrupt memory.

Panics are a problem for uptime, but not for safety (in the sense they're not exploitable for more than DoS).

In the long term crashing loud and clear may be better for reliability. You shake out all the bugs instead of having latent issues that corrupt your data.
it has been extremely challenging at times, especially the times where my voice fell upon deaf ears and the wrong direction was taken. ultimately every mistake, your own or otherwise, is a learning experience, and every success is just the same.

for the most part though, I am involved quite a bit in the technical direction we are taking, so i dont feel as if ive been completely pushed out. I've now lived through several leadership
shakeups and kind of glad that the stress of knowing the board could axe me at any time is mostly not on me. my historical knowledge of the system and domain alone is enough to guarantee job security and my compensation remains competitive

given that chances like this are extremely rare, I've committed to riding it out to liquidity or the ship sinks, and learning as much as I can until then.
> The point he makes is BS. "the reality is that there are no absolute guarantees. Ever" Yeah, DUH!

You calling his point BS, but also strongly agreeing with it.

I guess you find it too obvious. But while it's obvious to many, there seem to be many who do not understand it. Issues involving rust often get derailed to pointlessness when rust's safety guarantees are treated as an absolute.
I think I see at least this many unique hostile requests every day. These are just random scanning noise.

My favorite mitigation is to reject all HTTP/1.0 requests. If they don't send HTTP/1.1 or newer, with the Hostname I'm expecting, I 404 them. This cuts down on substantially all of the random noise. (Could be 401 or other, but 404 seems to encourage a "try more but don't try harder" reaction, which is easier to handle than the converse).

Targeted attacks are more difficult. I use a WAF and path permit lists at the reverse proxy level. This is trivial, but still stops 99% of the rest.

The last and hardest thing to block is distributed brute force authorization attempts. I've built a list of hundreds of thousands of IPs that have been used in these attempts. Sometimes thousands of requests come in per second.

I use rate limiting on the auth request endpoint. Too much limiting will affect real users, so I have to be somewhat gentle here.

Known-exploited IP addresses get just one attempt before a long block. This means that real humans whose machines are part of a botnet are sometimes blocked from the service. This is not a great compromise.
I really wanted to get an e-bike, but as a Londoner with decent public transport, it's so rarely worth it over tube/bus (and when it is, I'll opt for renting a lime bike instead)
“Should” doesn’t really enter into it though. And in any case it’s impossible to attribute impact in that way since the money tends to come from a few huge engines that are not sensitive to individual hires. At the end of the day, tech salaries are a market like any other—driven by what competitors are willing to pay, not by what is “fair”
What’s the year of this presentation? There’s 1973 on the slide. Is this possible? It looks like a joke but I’m not sure.
Yes, pretty certain the Meta Cambria (or Quest Pro), which will be announced on Oct 11, will have eye tracking. Main use is to enable foveated rendering for better performance and quality, but yeah, it's kind of terrfying what other uses there could be.

Edit: Just saw you edited and updated your post mentioning the Quest Pro after posting this.
Ah you see these are different “hardware features”

https://en.m.wikipedia.org/wiki/Smooth_pursuit
He could do an aria-describedby pointing to the link and it'd be a fair bit better.
I think this is more "[modern] userspace vs kernel" than "Rust vs kernel".

If you dig slightly below the surface in any major userspace codebase, it has abort paths everywhere. Every memory allocation might abort, every array index or dict lookup might throw an exception, which if uncaught will abort. Lock (or unlock) a mutex twice, abort.

The Rust standard library inherited this philosophy in large and small ways. An easy example (already being addressed) is memory allocation, but less obvious is stuff like "integer math is allowed to panic on overflow". It's not easy to write Rust code that is guaranteed not to panic in any branch.

Now the userspace-trained Rust folks are working in the kernel, and they want to be able to panic() when something goes horribly wrong, but that's not how the kernel code works. They'd have the same issue if you tried to get a bunch of GNOME contributors to write kernel drivers with GLib, even though GLib is pure C.
not the reason. stadia isn't the only offering in this space; both GamePass and GFN are doing fine
Bucha
Experienced 'survivor' here: You're going to feel (and sometimes be explicitly told) that your stress is not valid, because others have it worse. Both these things can be true. Others have it worse, and the stress you're feeling is real. If you don't acknowledge the effects and act on them (in whatever way works for you), you will undergo entirely avoidable suffering.

Again, others might be suffering more, but nobody wins when you self-flagellate.

If, in addition to taking care of your health, you want to take action on suffering, there are many options. I recommend considering an expansive moral circle and checking out: https://www.givewell.org/
Funny that the Bob Ross version just makes them look like Bob Ross. Maybe there are more pictures of Bob Ross in the training set than his actual paintings.
Off-topic, but the Reason icon is strikingly similar to YCombinator's. Orange square, with a single white letter in the middle. Wonder if one was modeled off the other.
It can overflow, but integer math is associative and commutative still, isn’t? It’s just modulo the biggest representable number (if unsigned).
Advocating for ranked choice right now is really just a way to get people to see the enormous flaws in the current system and understand that there are real alternatives. The idea that there is more than one way to hold a vote is still an unexplored concept for most of the public. Once people understand the problem better the details of the replacement will be more competently debated.

"Ranked choice" has a nice ring to it when giving someone the elevator pitch, and the name implies the voter is given more authority which is true. I find this easier than trying to start by explaining an acronym. Once they get engaged then i pivot to other methods.
Amen.

I work at a small shop, 3.5 devs. That presents limits to some extent.

And yet we were faster and more flexible than a company who had wads of cash thrown at them by some parent company who is now shutting them down.
> Escalation today seems necessary to prevent nuclear war tomorrow.

I'm sure that doing nothing would have led to Russia attempting to exert control over Moldova and Poland next, at some point. I think everyone agrees on that. It's in the West's interest to make that as difficult as practical.

And the other alternative, escalating more than we have, might not make a difference, because unless we destroy the Russian military nothing would really change, and trying to destroy the Russian military would cost us enormous amounts of blood and treasure.

I may have misunderstood your prior "the best strategy is to close the door" remark. Are you saying that the West should be doing something more, like providing air cover to Ukraine?

If we escalated too much I assume the Russian's would adjust. Perhaps they would escalate, justifying tactical nukes because the whole world is against them. Perhaps they would withdraw, bide their time, and try again some other day, based on their fears and capabilities. Perhaps it's better that we stick with what we are doing - letting the Russians fritter away their resources trying to attain something just out of their reach.

I tend to think that we've been doing a good job of walking that line. We're helping Ukraine beat back Russia, trying to keep the conflict from significantly escalating, and weakening Russia in the process.
Eat a lot of veggies

Avoid overprocessed and junk food (yes, you know what is junk and what isn't)

No smoking. No harmful drugs. Low to no booze.

Exercise regularly.

Avoid social media - mental and physical health are related
There are legions of people who swore off anything M$ years ago when they found alternatives that worked better for them, and they stuck to it.

Here's the perspective from the outside: M$ has billions of lines of code, or more, and they just keep patching their software. They established their way of doing things years ago with DOS and have built on top of that since. That's how the entire industry has done it, but since M$ got so big they can't just refactor things and drop support without a billion people yelling at them, so they keep the old code and just keep patching.

They have so many people banging on their software that most of the failures are caught pretty quickly, but then there are the edge cases that don't fit into daily business activity and M$ gets pwned in that space. Their software is so vast that it doesn't cover their entire decision tree, so on the edges people begin to play around and find things not covered by testing. They might be complicated exploits that tie many things together, but it's not beyond the general public to find them with a little digging. This opens up a full exploit on M$ systems or infrastructure, then they get around to patching it a month or two later.

From the perspective of a CISO this is unacceptable. I prefer my auth software to be explicitly precise.

This might sound crazy to someone who is in an industry where "everyone is doing it", and there appears to be no other way to integrate but with M$. I'll let you know we both feel the same way because it's crazy to use (and pay for) such slovenly designed software.
Toyota CEO talks about why he isn’t all-in on EVs
Think of it as a ratio(+) not percentages so

Flour 100 parts, water 66 parts and so on

(+) because that is what it is
rust has absolutely nothing to do with prevention of side-channel attacks
> on this blog, I want to thoughtfully embrace imperfection.

Jokes aside, yes it is a nightmare. However, you can find a transcript at the bottom of the page, which makes it a little more readable.
Actually Munro has sold all his TSLA stock, which wasn’t much to begin with, precisely to address any criticism about being biased.

Munro actually started off being severely critical about Tesla’s build quality, but once they started tearing down the vehicle, started realizing the superior manufacturing prowess of Tesla, they switched focus and bet their company on electric vehicles being the future.

I’ve been following Munro for over a decade, I’m involved in the automotive sector, nothing to do with Tesla, I’ve seen Munro’s full evolution and 180 turnaround on Tesla.
Speaking for myself, I don’t really want companies studying my eye movements, and I generally enjoy being to be able to look at things without them reacting to my glances.

I don’t want to see targeted ads because of where my eyes wander, or to be profiled based on it

The only thing that I want eye tracking for is maybe foveated rendering, and even then, hardware is catching up and we eventually won’t need that.

Head tilt or body orientation is more useful for determining if a character in a game is being ”addressed” or not

Speaking for myself at least
Not completing the operation is also a security issue, commonly called denial of service (DoS).
> but Rust also has no built-in mechanism to statically determine “this code won’t ever panic”,

My intuition says that's the Halting Problem, so not actually possible to implement perfectly? https://en.wikipedia.org/wiki/Halting_problem
“Some simplification”, even if it is technically correct can be misleadingly incorrect in the sense that it misleads you into thinking that the object of analysis is simple, which is incorrect. Analogous example: A computer is a machine that you stick numbers into, and it does stuff to them, and other numbers come out. But you can only put in a limited number of numbers because it can only do stuff to a handful of them at a time. The rest need to get saved someplace else, called RAM. So machine learning is RAM lookup. Is that misleadingly incorrect in the sense I described?
The competition you mention is directly part of fair use, specifically the fourth factor: Effect of the use upon the potential market for or value of the copyrighted work. https://www.copyright.gov/fair-us
If Apple put out a headset, surely you'd see a lot of support from Unity and unreal devs that 'just' have to do some platform porting. No small task but its not starting from exactly zero.
So is healthcare IT, considering how many patients die due to medical charting errors alone.

And the NHS isn't up to anyone's standard.
Sure. We're exploring your fantasies here.
It is not about art per se. Art happens to be covered under the same umbrella that researching medicine, writing software, drawing schematics, etc.

When the initial cost of production is very, very high and the marginal cost of each additional unit very, very low, copyright is the solution that has so far been found to “work” to incentivize investment- assuming you agree it works. Not that the current implementation is best, especially the length, but the concept.
The way to handle this is split up kernel work into fail-able tasks [1]. When a safety check (like array OOB) occurs, it unwinds the stack up to the start of the task, and the task fails.

Linus sounds so ignorant in this comment. As if no one else thought of writing safety-critical systems in a language that had dynamic errors, and that dynamic errors are going to bring the whole system down or turn it into a brick. No way!

Errors don't have to be full-blown exceptions with all that rigamarole, but silently continuing with corruption is utter madness and in 2022 Linus should feel embarrassed for advocating such a backwards view.

[1] This works for Erlang. Not everything needs to be a shared-nothing actor, to be sure, but failing a whole task is about the right granularity to allow reasoning about the system. E.g. a few dozen to a few hundred types of tasks or processes seems about right.
> they also need a platform

To your point, IIRC, the impact of deplatforming has been studied. Like when that troll Milo got bounced. It greatly diminished their reach and impact.

Sadly, some trolls (Alex Jones) have enough juice to spin off their own bespoke hate machines.
>A more civilized age

Perhaps if you were a rich, white man interacting with another rich white man. In no other context does this seem true.
I don't know much about Ogham, but from what I've read, the runic alphabet was probably developed from an alphabet used in northern Italy. That one likely descends from the Etruscan alphabet. It's muddy, as are many things from 2000 years ago, but there seems to be a line of decent back to a preexisting alphabet.
Prisoners Escape Puzzle
If it was unbreakable it would be inconsistent with "laws" like Moore's and Gilder's.
We cannot ensure that an arbitrary program halts by statically analyzing it. And it doesn’t have anything to do with the language of choice.

https://en.m.wikipedia.org/wiki/Halting_problem
Nothing stopping the American Nazi Party from holding a conference.
You might also be interested in vundo: https://elpa.gnu.org/packages/vundo.html. It is a newer alternative that is to my knowledge more robust, but depends on Emacs 28.
Way too ambitious but maybe they'll be as big as a semi popular game console by then.
I've met, lately, a really massive number of people who work in tech companies but say they work in "marketing" or "branding."

I'm not really sure what they do exactly, but I think it's to do with the amount of money in the ad tech business that drives profit for the likes of G, FB, etc. I guess decisions have to be made on product strategy, I suppose meetings with clients to discuss ad spend.

Question is doesn't that capital spend dry during recessionary times?
Java’s primitives and references are guaranteed to be “tear-free”, which guarantees no “out-of-thin-air” values. So a field set to 1 and being written by several threads to 2 and 3 can only ever be observed as 1,2 or 3, no other value. Is that what you mean under not catching fire?
Had the same topic often on MCUs: limp along to hopefully get the error out somehow, otherwise it won't be noticed if not with JTAG debugger attached (default in field).

So I can understand where Linus comes from.
Firefly succeeds on second Alpha flight
I honestly don't know. But every developer I've seen talking about publishing on Stadia, also talked about working with the team, so there were definite considerations that they needed to take into account.

There's stories like this [0] which suggests that the performance for Stadia was different than other platforms you might deploy for. The threading behaviour is a little bit different than just a VM, which is to be expected, but can come out surprising. So there's probably Stadia-specific patching for different games.

[0] "Stadia Adventures in slow server code on Unity" https://www.youtube.com/watch?v=s-SpWSEWYbU
Rust doesn't have an official `#[never_panic]` annotation, but there's a variety of approaches folks use. Static analysis (Clippy) can get you pretty far. My favorite trick is to link a no_std binary with no panic handler, and see if it has a linker error. No linker error = no calls to panic handler = no panics.

Note that Rust is easier to work with than C here, because although the C-like API isn't shy about panicking where C would segfault, it also inherits enough of the OCaml/Haskell/ML idiom to have non-panic APIs for pretty much any major operation. Calling `saturating_add()` instead of `+` is verbose, but it's feasible in a way that C just isn't unless you go full MISRA.
From an artist to a brand identity.
Fyi https://breadtoolkit.netlify.app/calculator
Because Rust people tend to be a bit extreme. But perhaps Rust people who are also kernel programmers are less so.
Not relevant. Every OS also has different levels of user.

Your user should be the admin, shouldn't be tied a profile etc. Linux is setup like more like this.

Yeah, it makes it more complex for certain network style things (you have 4 computers and want to sync between them), but it's trivial to work around.

The reason Windows is built like this is they develop first for enterprises and libraries, everyone else gets the shitty castoffs...
> Yeah, but what you're saying is essentially "I don't need the recipe anymore - I can do this by feel"

I'm really not.

I don't do it "by feel", I measure everything in grams, including water. I hate recipes in "cups" since a cup of flour or salt is not a fixed quantity - it depends on grain size, how hard you pack it down, the weather etc. But 10g salt is a fixed amount.

I'm just saying that "500g flour, 60% hydration" tells me a lot about both how to measure it accurately (300g water), and how it will feel (fairly stiff). It's an accurate part of the recipe, expressed in the fewest numbers.

The % is scale-invariant.
I don't think I buy Linus' high level claim. It is not necessarily better to press on with the wrong answer, in some cases failure actually is an option and might be much better than oops we did it wrong.

This morning I was reading about the analysis of an incident in which a London tube train drove away with open doors. Nobody was harmed, or even in immediate danger, the train had relatively few passengers and in fact they only finally alerted the driver at the next station, classic British politeness (they made videos, took photographs, but they didn't use the emergency call button until the train got to a station)

Anyway, the underlying cause involves systems which were flooded with critical "I'm failing" messages and would just periodically reboot and then press on. The train had been critically faulty for minutes, maybe even days before the incident, but rather than fail, and go out of service, systems kept trying to press on. The safety systems wouldn't have allowed this failed train to drive with its doors open - but the safety critical mistake to disable safety systems and drive the train anyway wouldn't have happened if the initial failure had caused the train to immediately go out of passenger service instead of limping on for who knows how long.
The End of IEEE 754 [pdf]
Abstract: popular systems for representing numbers in a computer are considered. Serious shortcomings of the IEEE 754 system are revealed, and options for systems to replace it are proposed. It's shown that addition is enough to perform calculations with numbers.
> anyway, is this useful for deaf people?

I’m speaking out of my expertise here, but my understanding is some deaf people don’t consider written English, Spanish, etc. to be their “native language”, like their variant of signing is.

As a non-deaf person (but with hearing loss), I find that to be a little excessive for a website (a something roughly equivalent to a book), but to each their own.
This sounds like a bell curve.
We have always made a distinction between things that are not the fault of the individual (skin color, gender, ethnicity) and things that are (speech and actions). Which seems perfectly reasonable to me.
Open Source Domain Proxy for CBRS
Use #2 everywhere you're not doing C FFI.

Both #1 and #3 are gross and wrong.