skysight-inc/HackerNews huggingface dataset:
> There's no evidence that computers are any better at driving than humans

Yes, there is.

You can debate the exact figures/circumstances, but the numbers are good, and improving all the time. Humans are just not very good at guiding tons of metal around at high speeds, which isn't very surprising when you think about it.

One accident for every 4.34 million miles is already pretty good (compared to 500k miles for humans) - if it were rolled out today across all cars it would probably save thousands of lives in the US. Yes these quarterly numbers are in the best conditions and supervised, no that doesn't invalidate them, particularly as they show dramatic improvement at the same time as they keep expanding the conditions in which autopilot functions.

There will always be a long tail, but computers are getting very close to good enough for highway driving, known truck routes, and known taxi routes.

https://electrek.co/2019/10/23/tesla-autopilot-safety-9x-saf...
https://www.tesla.com/VehicleSafetyReport?redirect=no
> Building the right thing wrong is more important than building the wrong thing right.

I entirely agree with this, but don't think that's what the original point was getting at.

> And I firmly believe that agreeing on _what_ you are building is more important than _how_ you are building it. Mainly because it is easier to change the _how_ than it is to change the _what_.

This seems like it should be true. In practice, I've found that the _how_ is the part that gets embedded in the wet-ware of people/companies and is the hardest to change.

Given an application written in a language with some framework, some datastore, deployed to some cloud, it's actually exceedingly easy to make another that follows that pattern and does a completely different business function. Much more challenging would be to change those parts of an application and keep it doing the same thing.
I worked on a code signing system years ago. It was amazing to me how much of an air of mystery there was around keygen. Generating keys is just a little bit of memorization or note-taking. Protecting them once you have them was the hard part (which is why I won't make you some keys and send them to you, buddy).

Initially, I made light of a requirement that we send out automated nag emails starting a couple months before the keys expired. With a bit more time and observation it became pretty clear this was a valid concern. I eventually came around, and while I didn't implement the feature, I did create the integration tests.

Making certs is stupid simple. Maintaining them takes some support and we don't always have it at the ready. Remembering to do something once a year or two years isn't something we're particularly built for. We have a habit of forgetting these duties when we hand projects over to others.

I wonder, has Lets Encrypt solved this?
It depends on the country. Within the EU, SEPA transfers must be no more expensive than the equivalent domestic payment. At least in Sweden, this means that SEPA transfers are free.

This rule is new though, it went into effect in December: https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELE...

> Charges levied by a payment service provider on a payment service user in respect of cross-border payments in euro shall be the same as the charges levied by that payment service provider for corresponding national payments of the same value in the national currency of the Member State in which the payment service provider of the payment service user is located.
But are mainframes themselves the cutting edge of modern computing?
According my unscientific tests, it is about over 100 times faster. On my laptop I can throw one million exceptions in 15ms millisecond, when reusing the same exception objects, compared to 2 seconds when creating a new exception object every time with a quite shallow stack.

When a new exception object is created, the slowest operation is filling information about the stack trace. It is possible to override Exception's fillInStackTrace() with an empty implementation. In this case throwing exceptions with new exception objects, is only slightly slower than using one exception object (17ms vs 15ms for 1M throws).

Deeper stacks make difference even bigger. Adding 100 nested invocations to the stack slow downs the classic approach (a new exception object created just before invocation) to 9 seconds, while alternative approaches are not affected.
From what I’ve seen, Windows APIs are in C++, and Swift doesn’t really offer any C++ interop. You’d have to wrap everything in C functions first.

Plus, Windows isn’t an officially supported platform for the Swift compiler.

I wouldn’t hold my breath.
I think what they've shown is that there's a lot of value in doing this basic research. Even their literally crappy additive created "much better electrocatalytic properties" than nondoped graphene. The plethora of research papers, with a large amount of information non-collated and hard to search through, seems to be the problem.

It's clear that there's a lot of problem space to search through. Many teams have created "Positive" results, but because each is it's own research paper, it is challenging to determine which result is the "best", and which results are deserving of further study. What I would take from this is that there's a need for a "standard" experiment in this space, and for many formulations and differences to be mapped, graphed, and compared. One paper encompassing a few hundred formulations, chosen in advance to explore the problem space and find directions, would be more useful. Follow-up papers would employ a search-pattern, increasing and decreasing the concentrations of dopants and hill climbing until optimal points are found or property-curves can be established.
> What about jQuery? Is it still the go-to for simpler things?

Unless you need to target older browsers (like any IE, really), I'd just use vanilla JS. Vanilla JS means no packaging or build process needed. Just create write a JS file, reference it in a script tag in a basic `index.html`, start a web server (like `python3 -m http`) and you're good to go.

Spend a little time learning about flexbox and grid CSS APIs, and you don't even really need CSS framework if you're a decent designer (if not, use Bootstrap or some other CSS framework).

If you're targeting older browsers, like IE, then yes, it's probably a good idea to use jQuery and some CSS framework like Bootstrap.

Absolutely no need for Vue.js or React if you're just doing a very basic UI (however, note that basic UIs have a tendency to become more complex with time, so for that reason most JS devs start with something like Vue.js even if it's not needed initially).

(I'm a senior software developer working in frontend development exclusively for the past 5 years, but have been using JS since 1998, and jQuery since like 2008 - I left the software industry for a number of years after the dot.com bust and came back a decade later).
Pachyderm Is Hiring Senior JavaScript, DevOps, and Golang Devs
> I don’t see the benefit of Edge beyond Windows users dealing with a less shitty browser out of the box.

You hit the nail on the head, and it's great, having a good default.
Cards Against Humanity Buys Clickhole
All political parties have an economic policy and the voters try to elect governments that reflect their views.
This looks great! Been considering moving from SQL Server to Postgres for our .NET Core apps' storage and search, rather than use a separate service like Manticore or Elastic. I wish Microsoft SQL Server had easier and better full-text support, now that their cross-platform development framework and tooling has improved so much.
Product hunt for indie games? Beautiful.
In a Tesla, yes. But the idea is for these algorithms to work without anyone in the driver seat.
Why did HN turn so stupid, all of a sudden? It used to be relatively smart.
If you get drug approved in Uganda the FDA won't let you sell it here. You still need to pass FDA phase 1 2 and 3 trials.
Calls work very well I think. The chat/group chat is a bit clunky but still miles better than the product it replaces for the majority of its users (Skype and Skype for business/lync).

My main worry was about voice and video quality as I’m full time remote, but it’s more or less perfect I think. Haven’t had a disconnect or poor audio/video.

The screen sharing does disconnect some times which is annoying to say the least.
Is there a good source anywhere of median or percentile-bracketed individual post-tax income in the U.S.? I can get the aggregate number for the whole country in a couple places, but can't seem to find it by state.
Location: Berlin
Remote: depends
Willing to reloc: no
Technologies: rust
Resume/CV: https://www.linkedin.com/in/dylan-dpc-50794570
Email: dylan.dpc@gmail.com
Only new machines. Once we get used to them, they become 'natural' and we don't think twice about them being scary. When cars first came out, they were scary and people feared dying from them. Now, they are just normal, and we don't think twice about the thousands of people that die because of cars.
Those are rookie numbers. 12 months is nothing. Try an 8 year gap - after an initial 3 years experience working as a .NET dev.

I lived below US poverty level for 8 years with a CS degree and did the bare minimum of shitty contract jobs because I didn't want to be coding for someone else... eventually I realized I suck working for myself. (and now I have a normal 6 figure dev job)

The main thing you have to have is a story. I lied and said I enjoyed coding products in SecondLife and made tens of thousands of dollars coding inside a videogame, even though the truth was I only made a couple thousand. I also made my contract work sound more important, and went through the various startup ideas I tried and had a good story on why they failed. As long as story sounds plausible, it seems like you learned things related to the work, and you seem like a good person someone will give a shot as contract-to-hire even with an 8 year gap. So I think a one year gap won't be a problem at all, you shouldn't even need to do contract-to-hire.
Out of consideration for people applying for the job you should seriously consider doing the culture fit first. It's not right to have someone do a weeklong project well when you could have got to a no by a 20m phone call.
An instant setup AI-powered chat salesperson for your ecommerce site
We know it sounds better - that’s not in question. The point is that it’s less honest.
Toucan AI is a conversational AI platform that allows companies with online sales to instantly set up an AI salesperson for their website. E-commerce sites can use Toucan to increase sales conversions by guiding consumers to their perfect product through intelligent, personalized conversations about consumer preferences, directly asking and answering questions. Toucan AI offers sites and online marketplaces a powerful way to engage and convert more shoppers.
Early Life Experiences Biologically and Functionally Mature the Brain
SEEKING WORK | Seattle | Remote OK

I am a Site Reliability Engineer, Google Style, with experience at both large and small organizations. I've been using Kubernetes since the very beginning, been actively working at scale, and worked across the stack and with diverse technologies. I'm looking to help small dev teams increase their velocity by implementing best-practices of CI/CD, Kubernetes Deployments, and effective Monitoring frameworks.

I'm available for consulting on your initial setup, for fixing your build, as well as on retainer for operational Oncall.

My resume: https://resume.gauntletwizard.net/ThomasHahnResume.pdf

My LinkedIn: https://www.linkedin.com/in/thomas-hahn-3344ba3/

My Github: https://github.com/GauntletWizard
My response is Condoleezza Rice [1] followed by Prism [2] followed by hysterical laughter.

[1] http://www.drop-dropbox.com/

[2] https://en.m.wikipedia.org/wiki/PRISM_(surveillance_program)
Also, we actually did make everything available via git alongside the web frontend, API access, downloadable formats and even a beta Google Docs live connection integration. We had it set up so that you could hit save in Excel and it would commit a new version for everyone following it to access.

git wasn't yet supporting large binary commits very well (not that it's amazing support today) but I remember us going very deep on this python library that fudged support for large binary repos with the glorified equivalent of symlinks. I'm not sure we ever really got this working well and my memory is honestly fuzzy enough that it's getting harder to sort what we did from what I desperately wanted to do before we ran out of cash and I got depressed enough to take two years off and run away to Europe with a crazy person.

Humans are funny.
Every implementation implicitly defines an ABI due to the size and layout of classes/structs defined in the STL.

Here's a simple example. Suppose we define std::string with the following layout (for simplicity I'm removing the template stuff, SSO, etc.):

class string {
public:
// various methods here...

size_t size() const { return len_; }

private:
char *data_;
size_t len_;
size_t capacity_;
};

When a user calls .size() on a string, the compiler will emit some inlined instructions that access the len_ field at offset +8 bytes into the class (assuming 64-bit system).

Now suppose we modify our implementation of std::string, and we want to change the order of the len_ and capacity_ fields, so the new order is: data_, capacity_, len_. If an executable or library links against the STL and isn't recompiled, it will have inlined instructions that are now reading the wrong field (capacity_).

This is what we mean by the C++ ABI. This is a simple example, but there are a lot of other changes that can break ABI this way.
> if it's a SAN certificate

All certificates in the Web PKI are obliged to use SAN (Subject Alternative Name). Although it is often mistaken for some sort of aliasing feature, SAN is the Internet's agreed alternative way to name things. X.509 is intended as part of the X.500 directory system, a global directory system which obviously was never actually built, and so its built-in name scheme doesn't resemble anything that actually exists.

When Netscape invented SSL back in the 1990s they hijacked X.509's Common Name field to write DNS names in, but this field is just defined as arbitrary human readable text. "news.ycombinator.com" is text, but so is "News·YCombinator,coM " and only one of those is a DNS name. So, when the IETF standardised PKIX it designed a dedicated schema for the various types of Internet names to put into certificates, Subject Alternative Names SANs.

Unlike the Common Name a SAN dnsName literally can't be anything but a DNS name using A-labels ("punycode"). So the opportunity for confusion is removed. Since it doesn't need to address universal human text it doesn't need to support weird encodings or anything else.

When PKIX was standardised the existing abuse of Common Name was grandfathered in. PKIX says all certs should list one or more SANs but they may continue to have a DNS name in the Common Name too. The Baseline Requirements, years later, explicitly tell CAs to only use a Common Name which matches one of the SANs they've also baked into the certificate, if there are no SANs they're doing it wrong. Alas, as so often, commercial priorities beat security and so even last decade it was common to find people trying to get away without SANs. However the roll out of Certificate Transparency allowed us to have a clear view, without waiting for incident reports from affected users, of non-compliant certificates still being issued, so we could address it as it happened. A few years ago Firefox and Chrome (and Safari I think?) were able to remove their code for trying to process the human readable Common Name as if it might be important, and so if anybody were to issue such a certificate with no SANs today it wouldn't "work" in popular browsers.
Hyperloop was an idea he came up with at an interview and immediately pointed out that it wasn’t his intention to pursue it any further.

As fo the Earth-to-Earth Rocket plan, that’s based on Starship which is in development, and you can follow along live in the SpaceX subreddit.

As for calling people pedophiles, I am sure you have said equally terrible things about people who have insulted you or dismissed your work as useless.
The US also had lower denomination bills like the $500 and $1000 until 1969. They were not in much use then

I seem to remember in that era they were useful for some people. My mother worked for a bank in Manhattan and on paydays she would take her check downstairs and cash it, come home with the money in her bra, and then deposit it in our local bank.

Why she didn't just deposit her check, I can't say. Maybe she didn't trust the bank she worked for. Or maybe cash cleared faster than a deposited check.
However, allowing corruption from only 1 side is vastly unfair especially through the lens of public perception.
Maybe because none of that is true? z/Architecture hasn't been (accurately) benchmarked in public for decades if ever.
> It would take a bit of time and research before I felt confident enough at identifying these bills to accept them in a trade.

If such bills were in common use, nearly everybody would know and be aware of the usual security features. So, this is only a problem because such large bills are so rare.
Even with the outlandish, made up costs and taxes you're proposing (healthcare premiums and even co-pays with FSA are pre-tax, don't need a car in SF, why are tech workers with free meals spending $1k/mo on food?)...that's still a > 50% savings rate. You'd be ready to retire in 16 years. Even sooner if you took your savings to a lower-cost place.
accordingly in the middle of the road?
"A few millions" is enough to retire if the money is invested properly. The problem is that the type of individual who even has the connections to become a CEO of a big company tend to have a lavish lifestyle.

But yeah, give me a few millions and I'll slave away for one year, then retire.
>
According to that same article, the reason for retiring the note was because the people who benefited the most from its existence are criminals, who need to do their business in cash -- the fewer notes, the easier for them.

This is what they want the citizens to believe.
Yes. Humans are currently much better at recognizing subtle danger signs and planning accordingly.

As one example, let’s say you have a right turn a few hundred yards ahead of you. There are no cars behind or beside you, but there is a long row of parallel parked cars next to the right lane.

An average human driver, anticipating the danger of a car door opening, will stay in the left lane until the last minute, or at least slow down considerably. A current self-driving car will likely stay in the right lane and proceed at the speed limit.
I really disagree with this perspective. Frankly Google needs a counter-balance in the browser market.

Microsoft can easily act as Google's counter balance. Microsoft is one of the few companies that have the resources capable of maintaining a hostile fork of chromium (at a loss) and have it competitive enough that users will switch. Google has lost it's one advantage in the web-space too as now they can't exactly hamper the experience of edge without hampering chrome too.

Chromium needed this counter-balance.

If Microsoft chose a Gecko forked browser, they would dominate and take over. Like what Apple did with KHTML. This step is better.
Switzerland is probably the exception, but 200CHF bills are accepted without problems at most places (1 CHF is roughly 1 USD). There are also the less frequently used 1000CHF bills. I don't remember problems buying stuff with them s well, e.g. at supermarkets, once I bough stuff from IKEA with one such bill.
I'll have to experiment with implementing that as well as how Rust divides by zero. Thanks for sharing.

My probably wrong understanding is that the philosophy behind Rust is that code without IO/unsafe shall not panic. It might provide useless results but it won't panic. But dividing an integer by zero causes a panic (if I recall).

Edit: derp. Of course they can panic. You really can't guard against overflow or OOM and such. gpm helped correct my thinking: it's not about avoiding panics, it's about avoiding undefined behaviour, forcing you to define all possible branching paths.
When returning to the workplace, the issue quickly turns to references.
I think I know what the next paper will be on...

Be sure to test dog slobber while you're at it.
It would have been doubly funny if they instead used B. taurus excrement. Specifically male.

Also a little disappointed it wasn't Chiroptera guano, because that'd be crazy.
Trivially true since car driving must always include the option of refusing to drive out of safety concerns.
Yes, thanks for the correction. I should also add that the reason it's not fair to compare these kinds of cards is the inter-processor link is usually extremely slow. Because of that, performance with that kind of card is roughly equivalent to just having two cards in the machine as opposed to having the chips on the same card.
I'm trying to think of places that would want to accept $500 to $1000 notes when many places won't even accept a $50 or $100 and consider them "large bills."

Landlords, for one. I'm in the process of leasing a new apartment and I am required to pay some of the fees with a debit card, and some with a cashier's check. It would be easier to just hand them a few large bills and be done with it.

Cash is dying and although I love convenience, I'm not entirely sure that's a good thing.

I try to use cash as much as I can. I also have active checking and savings accounts simply because I don't want to have a single point of failure.
There seems to be this overwhelming effort these days to attribute the success of successful people as either entirely due to luck and/or to inheritance.

The allure of this belief is, of course, the self-gratification that comes with not having to blame your own lack of success on yourself.

My company acts as an incubator for insurance agencies, of the many dozens we've setup, most fail, and maybe 20% succeed. What's interesting is how evident it is which ones will fail, and which will succeed within the first month of working with them.

Those that succeed demonstrate hard work, intelligence, and thoughtfulness in their work. ...and it's not easy finding those three things in one person.

Those that fail tend to have any number of personality flaws ("flaws" might be too harsh a word) that prevents them from succeeding. Many are emotional, which drives them to be very cyclic in their motivation level. Others lack the analytical skills to manage their cash flows. Some burn relationships by being consistently combative. It's honestly easy to ruin a startup - almost any major personality flaw will corrupt such a small team and alienate people.

Luck follows the laws of averages - over enough time, the good luck balances out with the bad luck - whereas hard work and intelligence are persistent. Our successful agencies have each had their own story, and been successful at different speeds, but all ultimately made it.
They are irreversible as soon as they show up in the receiving account.
They look out for the shareholders of the company. Since Mark Zuckerberg owns a majority of the voting shares, the board basically runs as a formality for him. The industry plays no real role on the board.
> Evidence could also be a self-driving vehicle that doesn't drive under the beds of trucks, run people over or is statistically safer than human drivers.

The relevant part is the last: "statistically safer than human drivers."

Every driving system that has existed or will exist will make errors due to extremely novel situations. Given the energies involved, such errors will lead to crashes, some of which will be horrible.

The standard for self driving systems is, at a high level, simple: statistically safer, by a fair margin, than human drivers.