skysight-inc/HackerNews huggingface dataset:
I feel this is quite a nuanced question, I can answer one aspect of it though. When I think of what 'memory-safety' means in this context I think mainly of buffer overflows, dangling pointers, etc, things that have nothing really to do with memory mapped IO. I can't speak for Rust, but I've recently been doing quite a bit of embedded development in Ada ( Disclaimer: Not an expert ) and it supports mapping variables onto a arbitrary memory addresses through a variety of means that don't forgo static typing and compile-time checking. You can use access-types which are the closest thing to C's pointers, they allow for direct memory access while still preventing a good deal of the issues arising from misuse of pointers. I'd say it's well worth checking out for yourself.
I think you'd be surprised, Rust has seen a lot of adoption & interest from the dynamic languages crowd.
Most of the ones of those I am familiar with had 0 as a non-writable address, so you'd still crash. [Edit: Though that's probably hardware specific, and the hardware was usually custom.] It might be called "bus error" or some such instead of "segfault", but it was pretty much the same behavior.
Couldn't hear you over my gig of Google Fonts downloading, one more time?
Please see the FAQ: https://news.ycombinator.com/newsfaq.html. Reposts are allowed after about a year. Otherwise, if a story has significant attention already, we mark reposts as dupes. This is standard HN moderation.

I'm not sure what amazes me more: that we can do something routinely every day, and users still report never having seen it; or that people rush to assume political skulduggery as the explanation for whatever they do see.
Here is a more readable version https://hbr.org/1996/11/inside-intel
Good on NPM for firing them. A union would have killed them.
Vitamin C and fiber, both essentials, are not found in beef, just for starters.
2011-2019 reports of human waste in SF, mapped
Name any technology that loads and executed remote content with a better track record than browsers and JavaScript. At least anything with even 1% the capability.
If it is much smaller than the source text, summarization can definitely be a useful tool. Being able to TLDR a wall of text would be awesome, doing it with a journalistic pyramid would be even better [1].

[1] https://en.wikipedia.org/wiki/Inverted_pyramid_(journalism)
Amazing. I was working on a mortgage calculation app with graphs and dependencies upon dependencies as calculations depended on other calculations. It seems Svelt would have been so much better to use than React in this case and I'm seriously going to use it going forward. Great work.
It would be darkly hilarious if NPM gets bought out by a state actor, although Facebook would be nearly as bad.
You might wish for that, but the ship has sailed. Undefined behavior means that the implementation can do whatever it can. That said, I do expect tools, both sanitizers and static analyzers to improve to detect more of these kinds of cases.
It was presented to show the "just use modern c++" counterargument to discussing the unsafety of c++ isn't a great argument. There are modern parts that are still unsafe.
Dynamic range is the ability to see things in both direct sunlight AND in dark shadows at the same time. You need to be able to see pedestrians that are both directly lit by the sun and in the darkest shadows in the same frame of video.

No long exposures, no multiple exposures with varying exposure -- a single frame. I don't know of any 24-32-bit per channel sensors, and that's what you'd need.

We agree on vision processing. I thought I made it clear that it's a strong "backend" to vision (the brain or compute behind it) that makes it work so well, and that will be the case with good self-driving cars as well. I must have misstated something.
The performance cost of interior mutability is often small. IMO the real cost is the undesirable safety properties.

For example consider an API like JS's getElementById(). In Rust, if a caller frame has a reference to the same element, this would just panic. It's impossible to statically enforce that no caller can have a reference to this element, and it's unreasonable to require it at runtime. So you either give up safety guarantees (viable, e.g. gtk-rs, but it leaves Rust anemic) or you give up the entire programming model (maybe viable, still a research project).
That'd probably be a solid question that the people implementing WireGuard in Linux kernel/supporting that can cover.
I see this as just another way to replace some of the natural food in your diet with a garbage mix of highly processed plants and oils. No thanks, I’ll stick to the food that has created and sustained human life for 1000s of years over a science experiment. If you want to subject yourself to this, go ahead, but it’s not for me.
I don't think that was the claim of the original engineer though.

More that women like other things more?
Symbiotic coevolution.
The problem, as far as I understand it (though I’m a layman), is that by the time the dead code optimization pass runs, the code has been transformed so much that there’s no obvious way for the compiler to tell the difference between “obvious programmer-intended null check that we shouldn’t optimize out” and “spurious dead code introduced by macro expansion” or (in C++) “by template instantiation”.
A combination of professional services and grants. The mix varies from year to year.
>And I think the answer is yes.

>The dominant speakers spoke popular opinions.

I'm not sure this is actually the case. There was a survey a year or so back that listed 'Libertarian' as the most common political leaning among SV tech workers [0]. People who reported being 'Very Liberal' were far more comfortable sharing their political opinions at work, though. And judging from the lynch mobs we've seen in the past few years... Well, there's a few good reasons to avoid mentioning libertarian or conservative political views in SV.

0: https://joinlincoln.org/viewpoint-diversity
Thanks! Changed from http://faculty.som.yale.edu/barrynalebuff/InsideIntel_HBR199....
Hackers Can Tell What Netflix 'Bandersnatch' Choices You Make
We are capable of eating meat, but our entire digestive system is much more optimized for eating and digesting plants. Much like our primate cousins which eat very little or no meat.
She follows up that it is "established fact" that the "specific types of thought process and problem solving required for engineering of all kinds (software or otherwise) are simply less prevalent among women"

I'd like to see where she got this "established fact". Many of the early computer pioneers were women, and many of the early human "computers" were also women.

I've known some extremely talented female software engineers (and some mediocre ones), and well as some extremely talented male software engineers (and some mediocre ones). But, I've met many many more male engineers than female which I believe is because more females are discouraged from entering the field by society.

Since this trend seems to be changing, it will be interesting to see in a decade or two if the field becomes more balanced.
HTML5/WebGL Game Editor Based on Cellular Automata
Well, not exactly. There are things that are UB according to the standard but that particular compilers give an option to make defined: see `-fwrapv`, for example.
Claiming that Rust is a language for 'The Elite' is amusing in light of the recent Rust website redesign, with the following headline[1]:

> Empowering everyone to build reliable and efficient software.

The language is entirely about inclusion, empowerment, and removing the fear of systems development.

[1]: https://www.rust-lang.org/
Well of course it’s my prediction, and a flippant one also, but one that’s designed to draw attention to the problem, the same way that 1984 was designed to draw attention to certain policies.

We’re talking about a country that has extrajudicial detention facilities to detain for years and re-educate huge numbers of people who committed no crime, based not on due process but on their religion alone, including Falun Gong and Uyghurs and probably some underground Churches and Buddhists. They probably already have the food-based control I’m talking about. I mean, the trajectory and overton window is REALLY worrying. What I said is coming to be within that window.
Threatens... like a pet Chihuahua?

https://en.wikipedia.org/wiki/California%27s_12th_congressio...
C# Expression Tree in different programming langauges
This is a general question. One of the features I really like in C# is building Expression Tree and the ability to generate code truly at runtime. I am wondering in what other languages we have a similar feature. To be specific:

- I believe the compiler should be just-in-time to be able to generate runtime code and load it

- The language has to be statically typed otherwise if it is interpreted then we are not generating AST, we are generating code as "string"

- Macros which is common in ahead-of-time languages is not a true alternative to expression trees; because I think it is defined at the compile time.
React's default behavior is that when a component re-renders, React will render all of its children recursively, even if they are receiving the exact same props as before.

In many cases, these re-renders return the same render output as the previous render, which means that no changes need to be made to the DOM. These renders are referred to as "wasted", because React went through the work to ask your component "what do you want the UI to look like?" and diffing the output, when nothing actually was going to change.

The two key aspects of optimizing performance in a React app are:

- Decide if the props and state for this component have meaningfully changed

- Tell React to skip the rest of the rendering process for this component (and therefore skip the rest of this subtree as well)

The standard approach for checking for changes is simple reference checks: `prevProps.a === props.a`. For larger amounts of data, this assumes you've updated that data "immutably", by making copies and modifying the copies instead of the originals. This can be done with plain JS objects and arrays, it just can take a bit more diligence. (Libraries like Immer [0] can help with applying those updates immutably.)

For the "skip rendering" part, React has offered several APIs over time, but they all basically boil down to "do shallow comparisons of data, and bail out if they're the same":

- The old / deprecated `createClass()` API allowed use of a `PureRenderMixin`

- Classes have a `shouldComponentUpdate()` lifecycle method where you can implement whatever custom comparison logic you want, and return `false` if the render should be skipped

- Since the typical comparison in `shouldComponentUpdate` is a shallow equality check of both props and state, the `PureComponent` base class was added that does that by default

- More recently, the `React.memo(MyComponent)` API was added to allow wrapping any component (class or function) with that same bailout behavior.

All of those are actual React APIs, not separate packages.

All that said, the React team advises that you should just write the app first, _then_ profile it later (in a production build!) to see where the key bottlenecks are and just optimize those. In most cases, you probably don't even have to do anything - performance will often be sufficient as-is.

React's DevTools have a performance profiling tab [1] [2] that helps show which components rendered for a given update, which makes it a lot easier to track down unnecessary renders. The community has also created various "why did you update?" libs that log unnecessary renders.

[0] https://github.com/mweststrate/immer

[1] https://reactjs.org/blog/2018/09/10/introducing-the-react-pr...

[2] https://www.netlify.com/blog/2018/08/29/using-the-react-devt...
I taught myself python by converting ruby programs using ruby syntax, coding styles, libraries etc. I just used the pick-axe book as a reference and converted code examples from any interesting and/or useful/relevant python source I could get my hands on at the time. (circa 2008?) So this actually makes sense to me learning 2 languages at once as long as you understand what you are doing with them to begin with. I would not recommend it to a beginner though. Interesting though. See it through and complete it. I'll check back.
Why do companies wait so long before IPO these days? Do the restrictions on publicly traded companies grow more burdensome with each passing year?
Tesla Full Self Driving Demo on HW3
> But you don't need to understand the vagaries of undefined behavior, or the RVO, or move semantics to write and deploy perfectly sensible code.

Don't you kind of have to though? These invariants are in your code no matter what, in the case of Rust they are checked by the compiler (you don't necessarily have to understand every nuance, because it's checked for you), in C++ they aren't checked and are a potential bomb waiting to go off.
Svelte: Cybernetically Enhanced Web Apps
Perception always lags reality, and it definitely was hard to learn when I picked it up 3-4 years ago. Things have improved so much since then, with non-lexical lifetimes in R2018, better compiler errors, stdlib standardization, RLS + VSCode, etc.
Can you or others post such alternative standard libraries? The only ones that come to mind are boost (which is a nightmarefor compile times and I feel is a mishmash of old and new) and googles absiel which I haven't actually tried enough to make an opinion about.
Is this really an app you want to leave notifications on for, period? It feels like the kind of thing where you just say "okay now is time to Read Some News" and go see what's new.

YMMV, I have generally turned off notifications for everything.
I guess it comes down to the individual reader. I had to look at the lambda example several times to realize what the problem was with it. I guess my eyes just skim over the capture section unless I have some good reason to look at it. The string_view example, on the other hand, was immediately obviously wrong to me.
The C++ people are trying to refit ownership to the language without adding a borrow checker. This is painful. They've made it possible to write code that expresses ownership, but they can't catch all the places where the abstraction leaks.

string_view is really a non-mutable borrow. But the compiler does not know this.
I'm both excited and skeptical. There was a similar demo in 2016 and then repeated claims that full self driving ("coast to coast with no interventions") was less than a year away. How is this different? Apparently people at the event were taken on demo rides and it was very impressive. However, Tesla's current system has several notable issues like crashing into stationary vehicles at highway speeds. So what's the truth here? Very exciting if this is the breakthrough we've been waiting for, but I'm skeptical of all claims until released into the wild and shown to be generally true.
Yep, we use it in our new Redux Starter Kit package to drastically simplify immutable update logic in reducers:

https://redux-starter-kit.js.org/api/createreducer
The German VC firm you refer to is Rocket Internet aka the Samyer Brothers. They cloned every startup they could find for a while.

https://thehustle.co/rocket-internet-oliver-samwer
Been there, done that. We were using Pascal (standard Pascal, no Turbo extensions) on a machine with memory mapped I/O. This means that we had to drop into assembly to write to the I/O registers. And that meant that we lost all type checking for those functions. We couldn't even check the number of parameters! Unsurprisingly, that led to a crash.

That is: The extreme safety of Pascal led to a crash (when we had to do something that Pascal, in its wisdom, said we weren't allowed to do).
i stopped in at one in new zealand for shits and grins. got some sorta tandoori wtfever chicken thing. it was vile. but it was exploring the unknown known.

also: walmarts in mexico are a step up from the ones in the us.
Or one could read a book on the subject of spying (preferably one written and published before 9/11). I recommend "Inside the Aquarium" by Viktor Suvoruv.
> rhetoric in general is significantly less effective if you spend all your time carving out exceptions for differing opinions

HN is aimed at an engineering audience, not a political one. I, and others like me (at least used to) come here for enlightenment, not rhetoric.

Moreover, the article itself is not argumentative. It didn’t need to be spiced up with a provocative title to be valuable.
What parts specifically? By my estimation, the only non-deprecated part of the standard library that really reeks of pre-C++11 (what I believe most consider the advent of "modern") is iostream. Most of e.g. the containers have been kept up to date with new features of the language (e.g. move semantics, constexpr).

The standard library certainly is lacking things which are commonly used (say, JSON parsing or database connection), but I think this is a conscious decision (and IMO the correct decision) to include only elements that have a somewhat settled, "obvious", lowest-common-denominator semantics. There's rhyme and reason to most of the most commonly used elements that is decidedly lacking from e.g. Python's (much more extensive) standard library.
Seeing as one individual person can own a corporation and thus have unquestioned control over how the Corp spends its money, then yes one person's individual rights are being infringed upon -- namely the right to use ones material resources to further political interests. In the case of one or a few owners, the owners could alternatively authorize a share buyback to simply transfer money between then and the firm
Go and Rust killed my interest in writing Python code. A paradigm shift worth losing amazing libraries and frameworks like SQLalchemy and Django is rare, but I believe we are here (and have been for a while.)
Fair enough. But tatersolid seems to be condemning the entire language, which is a step too far for the evidence given.
It doesn't really matter if it is a regional thing. The point is not that the name takes over. That's just a side effect that sometimes happens. The point is that the product that came second and copied the first now dominates the market.

How about the IBM PC? Plenty of home computers existed prior to the PC, but today 8086 code dominates at all levels of computing.

How about Google's search, or Google Maps? AltaVista and MapQuest came first.

You mention Nintendo and PlayStation, but Atari was before both of those!

How about Facebook instead of MySpace?

The point is that saying that the person who comes along and copies you will do it worse because they don't understand it is often wrong.
The Microsoft employee wasn't an engineer, and said:

"Many women simply aren’t cut out for the corporate rat race, so to speak, and that’s not because of ‘the patriarchy,’ it’s because men and women aren’t identical, and women are much more inclined to gain fulfillment elsewhere."

and:

"men and women think very differently from each other, and the specific types of thought process and problem solving required for engineering of all kinds (software or otherwise) are simply less prevalent among women."

Source: https://qz.com/1598345/microsoft-staff-are-openly-questionin...
>If the infrastructure went down tomorrow I'm sure most people could switch to Yarn without too much trouble.

Generally true, except in the case of private scoped NPM packages. AFAIK if you want to switch to the yarn registry then you need to add exceptions that map your scoped package names to repositories that you host elsewhere.
I like the article but this bothered me: "Everyone was going to depend for their daily needs on a commodity that a single industry held as a monopoly." Every "single industry" has a monopoly on that industry... it's a tautology.
https://www.jordanbpeterson.com/political-correctness/the-ge...
This post actually reminded me, I've been meaning to try out a meat delivery service that one of my city's local chefs runs (he does farm to table dining). They partner with local farms that treat their animals well and do weekly deliveries. Prices for beef seem to be pretty reasonable, cheaper than both the butcher shops near me.
Can't edit now, but I was mistaken, that was an Uber car.

The Waymo robotaxi cars are supervised. Source: https://www.apnews.com/09894dee68d7496399f176a77a8bc98d
"Rust is the new APL,like I said"

I know you're trying to compare it to APL as that language mostly died off and is thus obscure, but I think the analogy is a little off.

While APL is weird, it is actually really easy for me (someone with less than 15 hours playing with the language in total over the past few years) to code up some basic scripts a lot easier than something like C++.

I'm being absolutely serious too. C++ is pretty low level and as a Python coder I feel like I'm sinking in quicksand with everything required to do something simple. APL is basically built around passing arrays of numbers or strings to weird symbols that operate on the whole array. This means I can do text processing with only a few symbols and a library function (and all interactively) where C++ requires lots of boilerplate and debuggers and compilation and pointers. In short, APL seems to be a lot less complicated than both Rust and C++ in my opinion and most using it have very little formal programming experience and have no problem picking it up from what I've read.

I know what you were essentially trying to say though.
In online retail, shipping speed and selection are what entice customers. I'd argue that the UX and promotion landscape are moot past a certain point.

Fast shipping and selection comes down to infrastructure. China is spread out, this means each FC must carry more stock on average, and you need more FCs per person to reduce shipping time.

Markets like Japan and small EU countries are juicy targets for this reason (which is why you see so much investment there).

And then there's 'regulatory challenges'

Each FC requires large amount land, development, and employees. These types of projects require a high level of cooperation of the government to be worth the investment.

This doesn't pair well with a government that is notoriously unwelcoming to foreign business.
Just to bikeshed some more, why not recall the definition of svelte? Something along the lines of "the attractively thin (web app|UI) framework".

I didn't even think it was an English word before I watched Rich's (great) talk.
I always star the main packages I use on GitHub but I realize I'm missing out on the required packages being used as well. It would be nice if an alternative sprung up that was p2p truly decentralized by developers and intertwined with where developers typically host their repositories.
You don't live a happy life being raped and having a child taken away at birth so that milk can be produced for humans. All animals cannot live "happy" lives. Demand won't allow it. There is no future where all animals can be happy and the level of meat consumption can stay the same.

So you would choose to live a happy 15 years and then die. Unfortunately most animals that we farm cannot and do not live happy lives, and they don't get a choice. You would more realistically be living to 15 until slaughter with torture, rape, and your children being taken away to further the cycle. Never existing seems better. There is another option though, not raping, torturing, and slaughtering for humans to consume. Humans won't wither away without animal products.

In the not so distant past slaves were given "happy" lives by there owners. They were lesser beings so they should be happy to be alive at all right?
Where's the 300% number? Unfortunately, I don't have access to the text. In the abstract, they're only claiming "positive association."
Why aren't people reporting the fact that Matrix.org actually lost control of their network a second time within hours of their first all clear sounding?

I feel like this is an important part of the story for anyone looking for teachable infosec moments.