skysight-inc/HackerNews huggingface dataset:
> He did

No he didn't; The Emancipation Proclamation did not abolish slavery.

> Because now you're talking about racism rather than slavery,

No, I'm talking about the distorted structures I listed that are features of the design of our political system that were placed in the Constitution to protect slavery. The ones that directly dealt with slavery were removed; the ones which were put in to tilt the balance of political power to resistance abolition were not, even after abolition, which is why our federal political system is still heavily tilted toward voters in less populated slates and still heavily rewards the remaining voters in states which effectively disenfranchise other citizens (though, to be fair, the last part was in theory directly addressed by provisions in the 14th Amendment directly calling for loss of representation for doing that, which would counteract that effect, but those provisions have never been enforced even against the most blatant systematic disenfranchisement, leaving the old imbalance fully in effect.)

Racism is a different problem (though one that frequently is involved in leveraging those systematic imbalances.)
Surmise is a strong word. I will settle with deducing it.
Also Cairns and Adelaide are australian.
> but not to see the requests themselves

No, the observation API is untouched[0]. It affected the ability of extensions to arbitrarily intercept and redirect requests, which (to be fair) is a potential MITM risk.

IF an extension relied on the declarative model and ignored the webRequest API, you would get a reasonable increase in privacy, because extensions wouldn't be able to monitor what requests had been made or whether or not they were really blocked.

But there were no plans to discourage developers from using the non-blocking parts of the webRequest API, so those advantages were pure speculation.

> The same way Safari extensions apparently work?

Yep. It's worth noting though that:

A) Safari hasn't removed the ability for extensions to use the non-declarative model.

B) Safari's approach does have documented downsides that make adblockers using their new strategy objectively less powerful. Adblock has a decent page up describing their take on the tradeoffs between the two approaches[1], and you can find similar conversations surrounding other Safari blockers if you poke around long enough.

[0]: https://docs.google.com/document/d/1nPu6Wy4LWR66EFLeYInl3Nzz...

[1]: https://help.getadblock.com/support/solutions/articles/60000...
The example I know is the following line:

foo * bar;

This is either an expression statement computing the product of `foo` and `bar` or the declaration of a variable `bar` as a `foo` pointer.
To solve this ambiguity, you need context: if `foo` is a type available in the current scope then it's a variable declaration, otherwise an expression.
déjà vu
I agree! Why not a woman?
> These days people have access to a ton of information, but choose to self-censor by engaging mostly with like-minded people forming echo chambers instead of debating differing viewpoints openly.

To be fair, that's how the tech was designed to operate: show you things you like to generate more ad revenue.
So, what you're saying is that we just need more RAM?
Come at me, LEGO police
Are these Intel-only bugs? AMD uses a different approach to speculative execution and claims that the Meltdown-type attack won't work on post-Bulldozer CPUs.
How are those two related? A panicked futures market during a war can drive up the price.
Awesome! When I was a kid busy tinkering with this stuff, I often wondered whether models made by set designers had to adhere to a minimum standard of structural integrity. Now it seems a standard does exist, and here are all the illegal moves. I wonder how exhaustive is the list, and whether there is a document with a set of legal builds considered best practice?
This conversation does not occur in a vacuum. For most of the history of writing in English, a casual everyday sexism has been baked in. The presence of that sexism has done harm even if few authors have really cared about it. We're lucky, that now we can't really pretend this isn't a thing. So the reasonable assumption to make is not that a text was unintentionally sexist, but rather that the author didn't care enough not to be sexist. It's really easy to write "humanity" rather than "man".
Uh, I live in California, and all the signs I see here say $3.something for gas.
For web devs out there I would refer you to this paper from Microsoft research on the realities of side-channel attacks in Saas https://www.microsoft.com/en-us/research/publication/side-ch...
Video hardware acceleration for example.
I entered "Melbourne" and was surprised (stupidly) that it never went far from the city. I wouldn't mind it just picking some other destinations given a week or so.
Like Java ended up being afterwards no.

It surely had lots of consulting opportunities, though.
https://news.ycombinator.com/item?id=19170396
Real Time Pose Estimation
Google’s Hope and Dreams in India
I can't honestly accept that the transition was "smooth". Devices that used to work and used to get updates simply stopped at one point. Because Apple likes to couple OS updates and app updates, and also believes backward compatibility is for [not their customer], I had to talk a grad student down when he sent his thesis to a department chair who opened it, saved it in a non-compatible version of Pages, and sent it back. He could not open that file without upgrading his...2 year old computer?

The transition wasn't smooth unless you had a corporate backer who paid for your milti-thousand-dollar hardware regularly.
Yes. Submitted title was "Did a US Navy Scientist Just Invent a Room-Temperature Superconductor?".

Submitters: the site guidelines ask, "Please use the original title, unless it is misleading or linkbait".

https://news.ycombinator.com/newsguidelines.html
Some people really like donuts and beer. Some people smoke. Some people are fat.

Many companies pester people about health habits.
>1) Since we already grow enough plants to feed the entire human population, we will only reduce animal suffering and land use by eating a vegan diet. It’s just that at the moment we feed grain to animals that we then slaughter instead of growing it to eat ourselves

But do we grow enough plants to eat a vegan diet? A vegan diet requires a rather narrow set of plants in much higher quantities than we normally consume, eg beans, soy etc. You can't just look at the calories we get from corn or grain and say that we have enough.

>2) A vegan diet is very healthy.

As long as you supplement B12, maybe.
I don't see a problem with people who aggregate content for money. They're providing a valuable service sifting through the vast sea of potentially interesting content and presenting it in a manner that is efficient and entertaining to consume. The information itself is not valuable, being shown that information in an efficient and timely manner is valuable. If you've posted your ideas or works freely on a platform that does not restrict access to it (Twitter, Reddit, HN, etc), then it is not a scarce resource and simply does not have value that can be stolen from you. Aggregators are giving it value by making it visible to their audience.

This all feels analogous to someone telling a joke to their friends. One of the friends taking the joke and claiming it as their own is a dick move, but we all accept that the joke was freely given away and that the other friends aught to be able to retell it without being forced to credit the original author every time they retell it (or pay them if they make money telling it at some point). It's an idea; once you freely enter it into the public sphere you don't and shouldn't have control or ownership anymore; it belongs to society.
If you don't have enough teams for AND to be a good user experience, NOT might be a better user experience.
These Are Not Your Grand Daddy's CPU Performance Counters (+ Rootkit Detection)
Ask HN: What do you say/do to network?
I am truly bad at this. Wondering what other people do.

Thanks.
I took the mention of gold as a thinly veiled statement against holding cryptocurrency. What do you think from that context?

https://finance.yahoo.com/news/warren-buffett-buying-bitcoin...

“There’s two kinds of items that people buy and think they’re investing,” he says. “One really is investing and the other isn’t.”

Bitcoin, he says, isn’t.

“If you buy something like a farm, an apartment house, or an interest in a business… You can do that on a private basis… And it’s a perfectly satisfactory investment. You look at the investment itself to deliver the return to you. Now, if you buy something like bitcoin or some cryptocurrency, you don’t really have anything that has produced anything. You’re just hoping the next guy pays more.”

When you buy cryptocurrency, Buffett continues, “You aren’t investing when you do that. You’re speculating. There’s nothing wrong with it. If you wanna gamble somebody else will come along and pay more money tomorrow, that’s one kind of game. That is not investing.”
A project management methodology that explicitly deals with this variance:

https://en.wikipedia.org/wiki/Critical_chain_project_managem...

One of the key insights is that estimate-driven planning creates an algorithm that accumulates the delays from late deliveries while being unable to make use of early deliveries.
Pretty sure they're the only ones.
Can't speak for everyone, but I sure do.
It is easy in the sense that Rust can match the ABI and calling convention of C with a single annotation or keyword. No, Rust can't use C macros, because it's calling through an ABI that is connected by the linker. The preprocessor has long since run. This is also why pure and inlining are separate issues.

It is a much better interop story to use this type of FFI. As I've previously said, C++ compilers are usually not 100% compatible with their C counterparts, and will actually change the semantics of attributes and make different decisions about inlining. It is far better to use a C compiler to get machine code that matches the intended semantics, and call over a well formed ABI that to take the subset language approach.

Not to mention that using C libraries from C++ adds a different convention for memory management in the middle of what should be RAII code, which almost always leads to memory leaks. By using the Rust FFI, Rust will at least make sure you are treating unsafe code in a controlled manner.
This comment breaks the site guidelines. Can you please make your substantive points without being gratuitously negative or disrespectful? That's always possible and always better, and it's what users here are asked to do.

https://news.ycombinator.com/newsguidelines.html
Weekly Robotics #27
I recently read a book called Power, Inc.—published shortly after the Citizens United decision—that sheds some light on the historical forces at work here. Basically, the wealthiest private entities have become so powerful that they’re able to bully and dominate all but a handful of nation-states. We’re used to a straightforward, hierarchical taxonomy of power which places state actors at the top, followed by corporate actors and then individuals. That’s no longer an accurate description of reality; there’s a surprising amount of overlap between the supposed ranks.

With that in mind, I no longer view policies like the one adopted by NZ as inherently “nativist” or “xenophobic”. Now I view them as defensive maneuvers being engaged by less powerful states against powerful private actors that operate on a global scale. That they’re coming a decade or more later than they probably should have is not surprising, given that speed is not a strength of the state. I also can’t help but laugh at the idea that these policies are motivated by racism.

Edit: I got the publisher of Power, Inc. mixed up with that of another book I read around the same time.
A link to all the lecture videos for Fall 2018 is available here if you'd like to listen to the actual recordings:

https://www.youtube.com/watch?v=opaBjK4TfLc&list=PLkFD6_40KJ...
So if the plasma is actually generated at specific points of concentration dictated by the geometry of the resonator, and is dynamically synched to the microwave field, could this not be synched with a magnetic bottle to create (a) stable oscillating contained plasma volume(s)?

(After tuning the physical geometry)
The chance for ARM to really get to be used for all purposes (desktop, server) in the context of the OP. The context of the discussion matters.
PDF: https://www.blackhat.com/docs/us-15/materials/us-15-Herath-T...

Excerpt:

"Rootkit Detection Using PMCs
Any code that executes triggers PMCs
– Rootkits execute code

● With interrupt on PMC overflow we get EIP/RIP

● If EIP/RIP not in a known module we got a suspect

● We solve the problem of differentiating between data and code since we get EIP/RIP

● Suspect can be dealt with by using standard methods..."

etc.

A lot of other good stuff for performance programming, too... (Mike Abrash would be proud...)
Haha, it's true, man. I recently moved to Japan to live with family for a while. I interviewed at the top Japanese software companies in Japan, and even though I'm a senior engineer with 10 years' experience in FAANG in the USA, they felt like they were doing me a favor offering me 15 million JPY/year (150k USD at 100 yen per dollar, ~$130k USD at the time with the beefy US dollar). Tokyo is actually a little cheaper to live in than Seattle assuming you're OK with a tiny Tokyo apartment and a long Tokyo commute, but it isn't THAT much cheaper.

I tried to politely explain how and why people like me command the kind of salaries we do in the USA, but they just didn't get it. At 15M JPY I'd rather just work in the USA for a year, then take a year off in Japan, so that's what I ended up doing, haha.

All the local Japanese software giants are slowly being strangled to death on their home turf, and they're completely failing to compete internationally. It's a real shame, but oh well!
(Questions? No (+ jokes))
Note that this still pertains to the old (studded) Technic bricks, not the new (studless) ones.
I haven’t looked at this particular project, but the common “wow form JS!!!” feature that annoys me the most is when the script automatically advances to the next field when it thinks I finished the current field. Not only does this break when users finish typing and hit tab by reflex, but it makes it extremely difficult to go back and correct error.

Just use normal HTML text entry. Showing validation errors is fine. Actually interfering with input is a huge UX mistake.
Modules are in! Great news.
Also note: don't use pieces outside of LEGO or Technic. That includes powerful motors attached to technic axles, steel axles or bricks, bearings, etc. The bricks were designed with certain assumptions in mind and you will ruin your pieces over time doing that. Source: experience.
Just another rent seeker
Either start one or join one close to IPO. It’s not worth being first employee etc, too much risk for no reward(dilution through rounds , no payout in small acquisition, low salary, etc)
Totally agreed, I'm a fan of Julia. I just wanted to comment with the delta between startup time and actual execution for passerby.
My view is only a data point, but what I've observed is that while comp at startups has not evolved much in the last 5 years (seeing roughly same salaries + stock packages), total comp at later stage startups or bigger companies has sky rocketed.

The comments on the 2018 post you mention are all still true and relevant today.

My experience has proven than as an employee, joining a post series B will usually be a better bet with if you want to have impact + leverage on stocks, and joining a bigger company is the better bet if you want to maximise your income.

Earlier startup are just as risky for a new employee than founders, but with much less leverage, offsetting making it interesting.
I'm one of those people. As for why: modern, heavily-templated C++ doesn't mesh well with dynamic linking, i.e., plugin architecture. I can send even a pointer to `std::function` over ABI boundary (COM, in-process server) as int64, and it even works (given compatible compilation -- this is checked for), but uninstantiated templates are a no-go from the start.

So anything that's to cross the ABI boundary must be wrapped in vtables with methods taking/returning primitive types.

Of course, you have to unwrap it on "the other side", and the more such wrapping/unwrapping you have to do (casting to/from void* or intptr), the higher the chance that you'll mess it up somewhere along the lane.

This naturally leads to OO design from the start and "functional techniques", if any, are buried deep in the implementation code. Though they make awful compile times and debugging experience is awful as well (ever tried to inspect a boost::fusion::map in a debugger?).
An electric car "engine" is vastly simpler than an ICE, and has far fewer moving parts, which should result in better reliability in the long term. The fixed gearing also means transmission failure is less likely. As an EV driver it can feel funny to think about the maintenance that people need in order to handle the small explosions inside their car.. oil changes, coolant, smog checks.. In a PHEV, if the generator breaks, you still have a working car.
As a data point:

”U.S. CEOs earn from 400 to 500 times the median salary for workers. For CEOs in the U.K., the ratio is 22; in France, it's 15; and in Germany it's 12.”

https://work.chron.com/ceo-compensation-vs-world-15509.html
Recently there is some buzz that Mazda might bring back their rotary engine in a hybrid, which actually might be a good way to go about the power/weight problem.
Germany Lags Behind Asia in E-Car Battery Race
Feed conversion for beef is around 6:1, so you have 6 pounds of plants for every pound of beef. Lots of those plants are grass and other stuff humans don't really want to feed on though. Still, the large number of calories cattle need to make gains leave some room to adjust the crop mix.
given how poor the correlation is between ceo pay and performance, this isn't clear.
I'm not sure it's fair to say 'without any further purpose'. People aren't leveraging the functionality of a third party to show a thread of tweets for fun; they're doing this because the experience of reading a thread on Twitter isn't as good as it could be, and the (what feels like a) sudden proliferation of thread compilers is a testament to that. There's a definite value add I think, and while she may not like it, I don't see that going away anytime soon.
I'd say in my experience, atleast in the Bay Area unless you are a co-founder, dont bother joining an early stage or that's not as late stage as Airbnb or Uber. The problem is the base salaries are good. But, startups try to be too stingy with your equity valuing themselves at a pretty high valuation. IMO putting in the hours for someone else and getting almost nothing in return is not worth the effort. Saying this having worked at one of them for ~3 years.
Even simpler with some template boilerplate code:

// Just copy paste this
template<typename T>
class CContainer {
protected:
T *pimpl;
CContainer(T* raw_ptr): pimpl(raw_ptr) {}

public:
CContainer(const CContainer&) = delete;
CContainer& operator=(const CContainer&) = delete;
virtual const char* get_my_name() = 0;
virtual ~CContainer() {};
};

// User
class MyCHandler : public CContainer<c_struct>
{
public:
MyCHandler(int arg) : CContainer(my_c_new(arg)) {}
virtual const char* get_my_name() override {
static const char[] kMyName = "MyC";
return kMyName;
}
virtual ~MyCHandler() {
my_c_destroy(pimpl);
}
std::unique_ptr<MyCHandler> clone() {
return std::make_unique<MyCHandler>(my_c_clone(p_impl));
}
};

Moreover, the zero-copy magic from pointer to option in Rust is not something like what you think - Rust relies on compiler magic to eliminate option type's heap allocation, and if you convert it from a pointer, it will reside on the heap.
The fact that my argument reminds you of something doesn’t make the analogy true. But I appreciate the rhetorical device of calling me a religious zealot. Well done!

Amazon is wildly profitable, if they ever have a loss, it is manufactured. An accounting trick. When they start having real unavoidable losses, we can talk again.
Open Source Licenses, Kubernetes, .dev Grossness, Hashicorp, Knative, and More
Kalashnikov assault rifle changed the world. Now there's a Kalashnikov drone
I'm always interested in the issues around naming things. It is a tricky science that I wish I were better at.

So I wonder if you could elaborate on what made the name a turnoff?

Thanks!
It did not long exist. It only started since 2009.
A microturbine would be interesting, but does GM currently have an design experience with wankel engines? It's my impression that making a low emission wankel takes some clever engineering, you'd want a team with experience before investing in such a design. And has the apex seal problem ever been solved? Taking such a risk on that component of the car could be very risky.
I am with you.

As managed languages dev, I seldom use C++, but when I do it is the best system language currently available regarding tooling, libraries and hardware support (NVidia now makes GPGPU optimized for C++ semantics).

For app development, there aren't many scenarios where C++ is really necessary, whereas for systems it is going to stay around for years to come.

So anything that helps improving the quality of GCC, LLVM, CUDA, UWP, Metal Shaders, DirectX, Unreal/Unity/CryEngine/Cocos/Godot is more than welcome.

For anything else, we can just follow Microsoft's security suggestions as presented at Blue Hat IL, namely C# (replace by favourite managed language), Rust and modern C++.

https://github.com/Microsoft/MSRC-Security-Research/blob/mas...
It's sad and strange at the same time that the market isn't reacting. Early employees shouldn't accept the huge difference between preferred and normal stock options, they should exactly understand how much their stock will be diluted at the point when they can sell it.

Anyways these kind of HN threads are awesome, I hope they can rationalize the market somewhat.
A single template implementation of vector allows vectors of vectors in the first place. Just add a single template print function.
Human Dignity Was a Rarity Before Christianity
Keith Emerson made a pretty good name for himself playing and stabbing knives into his Hammond organ as well.
> You might be surprised at how long it actually takes you

It takes 15 to 20 minutes. I know because I watch the GPS and I check the ETA number after a stop.

Will 20 minutes be enough for 3 hours of driving?
The pressures are different between the two sides, my hypothesis is that given the information in the article, that there could be a permanent higher concentration of “atmosphere” on the, let’s call it ‘shade side’ to not trigger the weilders of shallow facts.
Why BlackBerry's Acquisition of Cylance Makes Sense
It's not hard to live on. But, you mostly don't save anything or you might take a long time to buy a house.
While it is nice that Rust offers such FFI, it isn't specific of Rust.

Like in any other language with similar feature, it is still a pain to manage in large APIs.
Some of the values are specific to software engineering (i.e. pair programming, agile methodologies), but it’s more that the profiles are of the engineering team(s) within a given company.

As you can imagine, there are subcultures within an organization and just because all of the parents on the marketing team take advantage of paid family leave doesn’t mean the parents on the engineering team do. If I were say a 30yo woman planning to have my first child in the near future, I’d like to know if there were any parents on the eng team I was about to join.

Similarly, open communication on sales probably looks pretty different than it does for devs.

The values are from the perspective of an engineer evaluating different employment opportunities. What would you or I want for our day-to-day and from our future teammates?