skysight-inc/HackerNews huggingface dataset:
Excellent work, it was later ripped off shamelessly by agency Grey and director Chris Cairns to sell Brother printers https://www.youtube.com/watch?v=81ZJKLF9l8g
Heaven forbid we treat Chinese businesses the same way they treat our businesses in China. You assholes want us to operate without reciprocity at a disadvantage to China and their behaviors because “China.” It’s gets really old. You accept their controls as the nature of affairs but demand we hold ourselves to a different standard.
Rust is high-level language. You mean "a language which allows low level access to hardware". Right?
> we don’t know how to create a simpler memory safe low-level language.

This may well be true, but using a memory-safe language is never, ever the goal. The goal is creating correct and secure programs -- that have as few bugs and security flaws as possible/required -- as cheaply as possible. While a memory safe language in the style of Rust is one means toward that end, that eliminates an important class of bugs at the cost of language complexity, it is not the best way toward that goal, at least not that we know, and it is certainly not the only one [1]. I.e. the hypothesis that if I want to write a program that's as correct as possible/needed as cheaply as possible then I should necessarily use the language that gives me the most sound guarantees regardless of the cost this entails is just some people's guess. It's hard to say if it's a good guess or a bad one because it's clear that we're talking about specific sweet-spots on a wide spectrum of options that could be very context-dependent, but it's still a guess, with good arguments both in its favour as well as against.

> In Rust, there are choices to be made, some important enough to have dedicated syntax.

Not only that, but those choices are exposed in the type signature and are, therefore, viral. Changing some internal technical implementation detail can require changes in all consumers. This is not a problem with the type system -- on the contrary, Rust's type system ensures that all the changes that need to be made are made -- but it is a fundamental problem with all low level language. They all suffer from low abstraction, i.e. a certain interface can represent a smaller number of implementations than in high-level languages (even if the choice is not explicit in the type, like, say, in C, the usage pattern is part of the interface). But Rust's choice to expose such details in the types has its downsides as well.

> If you use C, you can use formal methods to prove the absence of undefined behaviors

C now also has sound static analysis tools [2] that guarantee no undefined behaviour with a nearly fully automatic proof that scales to virtually any code size and requires relatively little effort, certainly compared to a rewrite.

[1]: Another low-level language with an emphasis on the same goal of correctness, Zig, takes an approach that is radically different from Rust's and is so simple it can be fully learned in a day or two. Which of the two approaches, if any, is better for correctness can only be answered empirically.

[2]: Like https://trust-in-soft.com/, from the makers of Frama-C
The evidence does not support this assertion. Certainly C programs have a poor record of memory usage errors, but the habit of Java programs routinely needing orders of magnitude more memory to do similar work is well known.

Memory leaks are as easy under GC as in C.
Aka China?! It’s called reciprocity dumb ass.
Rust already compiles as fast as C++ if you write in roughly equivalent style.
Don't bring up a BLE packet sniffer around a LG soundbar, it's spamming about 10 UUID packets per second. Pretty annoying.
I am not trying to describe the happy path in any way. I have gone through a 4 year L1A green card which my colleagues got it in 10 months and I have been without advanced parole for 13 months which implied if I left the country due to any reason, I could not come back. And my experience too was in a different decade, no need for me to cover up the warts. It is quite an experience each interaction with the then INS taking over 3 months when the entire last stage should have completed in 3-4 months.

What I am describing about H1 is standard (majority) operating procedure. Yes extending H1 visa outside of the country is a pain, but extending H1 while being in US is not such a big pain, and most of my colleagues do that. Of course there does come a need for people to visit to their origin country once in a while, and yes that's when it becomes a lottery.
I recommend buying a round trip ticket with a return date of two weeks later. That way airlines won't block you out of concern that they will be forced to fly you back at their expense.

You can later cancel the return ticket and apply the credit (minus a fee) to a later trip.
The downside to the PIMPL idiom in C++ at least, is that you have double indirection.

The outer exposed API is called on `this` which then uses the internal `pimpl` pointer to actually call a function.

While it may speed up building, I have found it incredibly clunky to use in C++ and prefer to write my code without it, choosing instead for longer compilation times.
Frank Herbert has a few writings [0] about a future galactic state that moves at such speed that they have needed to create an official Bureau of Sabotage, whose purpose it is to allow down the working of government to the point that it can be considered and understood in all its implications by the people.

Perhaps we really are at that state in some ways/places, where just slowing down is a net good. Does the web really need all of this progress? Or is it more being dragged at increasing speeds in a harmful direction?

[0] I know about "Whipping Star" and "The Dosadi Experiment", but there may be others.
People can also work for multiple companies. If the product is made to order to exact Apple specs, then that sounds like avoidance. Situation would be different if Apple were buying TSMC designs.
> ...she's just another sci-fi novel author

> Not sure what else to say

Survivorship bias. If a medium-sized asteroid hit Earth, I'm sure people would say the same thing about sci-fi authors who wrote on that.
I'm not really sure what "atomically" means in this context, if you just mean you want the index updated when an attribute changes, then sure why not, just use inotify with IN_ATTRIB.

I don't think anyone is currently using extended attributes like this, so there is no standard pattern. The question was about whether other filesystems can do this, and the answer is yes - basically all modern filesystems.

I guess people have decided they don't think storing this metadata in the filesystem is best place (I don't know why, perhaps because it's complicated to copy the metadata when you email the files to someone else?).
regarding unmetered, i gave up on backblaze as their network connection seems incredibly slow. i think asking for compression and dedup is very relevant with them
It's Goh-tex!
Shitty Android.
Agreed - it has definitely taken on a life of its own.
> Also, I used to hold the illusion that I'd always have my family and parents to talk to. But that's not true either.

This. I used to think that way, then I lost my dad from cancer on my 20's. That's when you reflect on all the things you'll never be able to experience together.

Although I'm only 24 and still young, my piece of advice would be to enjoy your family to the fullest, because no one knows what tomorrow will bring.
The average American has no idea how disruptive this is to the Chinese American community; as you stated they basically do not use email, and this is essentially the only way to communicate to friends and family in China. I know a lot of older Chinese Americans who were freaking out for weeks because banning this app would essentially cut them off with no clear alternatives.

As to the censorship point, from my experience using wechat in the past people rarely discuss politics on there, unless it's to make fun of the US political reality TV. Perhaps not actively discussing internal Chinese politics is considered a form of self-censorship.
> I don't understand why people find novelty of touchscreens appealing. We've got to do a better job of educating consumers.

You’ve answered your own question: it’s the novelty. Plus people have been educated — by their phones.

Of course HN readers know that other than a few special cases (of which the phone is one) the touchscreen interface is worse. The problem is that white goods (washers, stoves) are cap ex and have a lifetime measured in decades. So there are plenty of people who have learned the hard way, but many more who have not yet learned the lesson.

As gratuitous touch screen is currently a fashion item attempting to differentiate between largely similar items. In another decade or so it will be considered an artifact of the 2020s, much like avocado-colored appliances and fold out stoves (we had one in the 70s) scream “1960s”.

But notice I said “2020s” (though touch screens have been around for a while), and that we had an item that screamed “60s” in a later decade. The latency in this sector is enormous.
I have an anonymous Twitter account so that my true opinions don’t get me fired. This is the fucked up world we live in.
It would be nice if they included a TL;DR notice at the top saying: “1. If you are a user of let’s encrypt today, this announcement does not imply that you need to do anything at all, and, 2. The main thing is that new certificates are shorter and will take up less bandwidth, plus also safer.” In any case, thanks for the great, free service!
And then they turn and say Bitcoin can be used to launder money.
I just watched this last night. A lot of the content will already be well known to the HN audience. There was one big light-bulb moment for me. One of the speakers was clarifying the "If you're not paying then you are the product" idea.

He refined it to, (rough quote), "Changes to your behavior and actions are the product"

That distinction made the insidiousness much more clear than the former statement.
Posting for someone who doesn't know: nanohydroxyapetite based toothpastes are more effective than flouride and not a neurotoxin but rather a nano version of tooth material that immediately binds with and repairs your teeth. The only downside compared to flouride is expense... up to you.
Which is kind of a nonsense argument for laptops, and already true for desktops (even cheap PC speakers come with a nice big volume knob and on/off switch). So I read that paragraph, and see "why should I have to do what everyone else who cares about this already does?". If you care about a mute button, get a mute button. Just like if you care about having a good mouse, get a good mouse. And if you care about having good video quality, get a real webcam.

Welcome to owning a computer: it's not done, because you're an outlier with your own needs, just like everyone else. You get the "meets most people's needs" hardware, and you get to add all the peripherals you need on top of that yourself. And as a bonus, you buy them once, then if you get a new computer, you don't need to buy new ones: they still work, and no one had to waste time and money on adding those things just for you to throw them away a few years later when it's time to get a new computer.

Everyone wins.
This is great advice. This is how I learned. When you’ve completed a puzzle (and not before!) check out how others solved it here https://github.com/Bogdanp/awesome-advent-of-code

I highly recommend burntsushi’s solutions. They were closer to what I was aiming for: readable & maintainable idiomatic rust.
Oh that looks great, and very close to what I had in mind for the next upgrade of our in-house testing framework. Definitely going to give that a try soon. Thanks for posting it!
GDPR if in EU (remove my data). Also, a filter to spam or even direct delete might prove useful.
This is what HDMI CEC[1] is for, right?

The devices are supposed to coordinate on which device will output audio (TV, sound system, etc.), and they are supposed to send control signals (volume up, volume down, and mute button presses) in a channel over the HDMI connection so that whatever device is playing audio can adjust its volume.

Of course this assumes all devices involved implement CEC (which is optional) and that the implementations aren't full of bugs. But the point is HDMI does have a solution for this in theory.

CEC is how I can punch the volume control on my Samsung TV remote and the volume on my Denon AV receiver changes. (And it's not the TV remote transmitting IR to the receiver. Within the first 5-10 seconds of powering on, pushing volume up on the TV remote makes the TV try to adjust its own volume even though it's not playing audio. Then it comes to its senses and realizes it should be forwarding that via CEC.)

---

[1] https://en.wikipedia.org/wiki/Consumer_Electronics_Control
Mind expanding on how a regular senior SWE or analyst interview works? How many stages, what are the questions etc?
This film is full of hypocrites who got rich off social media and then found religion.
Parallel Construction.

it would be a national security catastrophe if it leaked that NSA was bulk decrypting all TLS/SSL traffic Internet-wide, by using a giant rainbow table of prime pair products for instant decryption without factoring, which was first proposed by Rabin back in 1997 at a NIST working group for establishing crypto standards.

then NSA would lose the biggest SIGINT advantage since ENIGMA back in WW2.

so instead, DEA is tasked with finding the dummies who post photos of their hands or bookshelves or who made n00b opsec mistakes like re-using handles or email accounts that connect to their real names. then DEA applies Parallel Construction to fabricate an investigative evidence chain to present to the Court. the Court never needs to know the truth.

by the way, i personally do believe NSA is doing this, and all of Tor is as good as plain text to Ft Meade, because Rabin's idea really would scale with today's computing and storage capacities, and because that is exactly what i would do too.

just what do you think Bluffdale is really for?
I've read somewhere that they can force the ISPs to ban wechat traffic? I'm not in IT so is this just complete hogwash?
If you want to experience browser monoculture just buy an iPad or a iPhone, where every browser is Safari. The platform doesn't even allow proper PWAs
This is a solid guide for studying for ML positions.

There was a similar article a few years ago that I also use for reference that people looking for this kind of work might find useful:

https://medium.com/@XiaohanZeng/i-interviewed-at-five-top-co...
Sorry, you're right, I think my error was due to the start of the parent:

>Because fuck them. Recaptcha in particular

I think I read it at that moment as "because fuck [captchas]. Recaptcha in particular". But they meant Cloudflare and Recaptcha.

I will say, as annoying as Recaptcha is, I find hCaptcha a lot more annoying, difficult, and time-consuming. (Cloudflare recently switched from Recaptcha to hCaptcha.)

I failed 4 "select the motorcycles" yesterday after selecting like about 7 - 8 of 18 images per try. So that's minutes spent clicking 28 - 32 out of 72 squares, and I failed every time, because I don't know much about bikes/vehicles and they mixed in regular bicycles and other semi-motorized bikes (which were all wrong answers), and many of the images were extreme close-ups of possible axles or handlebars with no clear shapes, and others were just generally blurry, unclear photos. It makes Recaptcha's ultra-slow fade-ins seem like bliss. I got the fifth one when they switched from motorcycles to something else, but that one wasn't easy, either.
One of C++‘s biggest draws historically is that it’s not just used to write systems software. Rust could fill a similar spot.
I would like to see the ad driven model removed as an option. I think it would help. And I think there is a separate case to be made to end ad targeting for other (privacy) reasons.

But while watching this I realized that wouldn’t be the entire solution. Social platforms would seemingly still be incentivized to drive up engagement and to keep users addicted to their platforms vs other platforms.

So what are some other solutions? Do we need to turn them into publishers to make them responsible for the content the spread? Or regulate algorithms and like buttons?
I question the long term viability of Swift for TensorFlow. I hope that I don’t sound like I am whining but I invested a fair amount of time with Swift from last fall through this February because I wanted: a better faster language to work in for DL than Python; I was also interested in trying some iOS, iPadOS, and macOS development; Swift looked interesting also for Linux server side work.

For Apple development I have found Flutter+Dart to be more pleasant. For DL I decided to stick with taking advantage of my 5+ years experience with TF in Python.

Off topic, but Julia and Flux are really worth checking out for DL.

Some advice: if you want to experiment with Swift for TensorFlow use Google’s colab and make your life easier. I wish I could get back the install times on my Linux GPU laptop and on macOS. If you pay for colab like I do, you get good GPU/TPU resources, and it is simply an easy and fun way to go.
Ada, Java, C#, Go, Python
I'm also convinced that there's still no mature cross-platform GUI libraries written in Rust, so that's that. All you get is a mixture of unmaintained or unstable bindings that may break when the library changes its API.
A valid alternative to me is to put some serious effort into understanding in detail why people hold (or seem to hold) particular beliefs about climate change, as well as some effort into the general field of human cognition and belief formation. Or, look into whether the comically coarse structure of our "democratic" political structures may have some effect. Perhaps we could also scale back a tad on making our phones thinner and take better pictures, and figuring out how to get people to click on advertisements on the internet, and redirect those efforts into finding a way to actually do something about this so called climate crisis (that doesn't seem urgent enough that we'd dare to question any of our axioms, institutions, or theories (mind reading) and approaches (propaganda) we've come up with so far).

Or, we can keep going on the path we're on and see how Mother Nature rewards us in return.
"high level" and "low level" have somewhat fluid meanings, and in the case of Rust, aren't ideal for describing the language on the whole. Eg: You can do "low level" things like read a MCU register using a raw pointer. You can take advantage of "high level" abstractions like Result types.
>no need for invading foreign lands.

Apart from India itself being invaded by the Hindu culture. If I am not mistaken, then the lowest castes are the tribes that resisted conquest the most. It's conquests all the way down.

>The internal divisions were nicely exploited by Mughals first and British after.

>The pertinent question is why didn't these societies ever develop like the West ?

The usual argument is that Europe prospered because of the internal struggles and conflicts. But as you write, India had them too.
India also invented 'Arabic' numbers, and had iron very early on.

Similarly, why did Arabic culture stall when they translated and thus had access to all the Greek treatises? Why didn't the Romans or Greeks get to it initially?

Could Weird be right, and it was the destruction of tribal structures?

There was a submission about Singapore some days ago that mentioned in passing that the long-term leader introduced Western thinking - whatever that is.

Personally, I think that it is observable in nerd culture. If you have a bunch of nerds, but no math, chemistry or physics, then it will take some years and it will be reinvented. With those weapons, whoever is left with some bully tendencies can conquer the world.

The question is: why are there not enough nerds in other cultures? Maybe for lack of the printing press? Not for the books, but books need paper, and you need cheap paper to write down your notes.
I conceptually love Scala, but in practice it has a lot of downsides.

* Tied to the JVM

* You constantly have to use Java libraries. Which means you have to understand the Java ecosystem. Which increases complexity a lot, since that ecosystem is very mature but also often deeply layered, complex and full of historical baggage

* It can be used in so many different ways. Nicer Java on one end. Almost Haskell on the other (with cats etc).

* The flexible syntax and multi-model concept leads to very variable and non-coherent code styles and libraries

Kotlin is also great, but the type system is less powerful.
And the same JVM and Java library ecosystem concerns apply. ( I've jokingly heard "we don't talk about Native" multiple times... )
Is there any major player or project doing backends in JS?
Oh how I wish Mozilla could be forked and a small Netscape type group could pose a great answer to this question!
There are a bunch of tiny single person projects but they are young and have tons of missing features and bugs. Ideally, you'd have a team building and maintaining a solution but that requires either an insane amount of coordination (and there's tons of disagreement about which design pattern to use), or money.
+1 for restic. Incredible tool.
I'm not saying there's no reasons to use Rust over C, but I am saying that I'm not surprised C is still highly valued. I was still being forced to use assembly for firmware a decade after I learned C.

I will not be at all surprised if firmware stays in C until Rust has been practical for use in firmware for several years as well. I don't doubt it'll happen, I haven't written a line of assembly for my firmware in a decade either, but consider how many hundreds of thousands of lines of C there are in the libraries for just one target architecture.

It sounds cool and useful and I'm looking forward to it, but every time I start asking around if Rust is worth the effort the answer from people who use Rust a lot is "not really" because my projects aren't big complex firmware beasts. I am not surprised that a firmware developer with expertise in C can easily find work.
Another benefit, for kitchen appliances: a flat screen is easier to clean than physical knobs.
The biggest mistake Google did was to screw Sun and not buying it when they had the opportunity to do so, most likely hoping it would sink without a hiss.
> Those features aren’t bad, just not my favorite. “Bad” usually comes in the form of unilaterally shipped features that take a long time to fix, retroactively standardize, or undo (e.g. vendor prefixes, <dialog>, window.event, etc). Again, once shipped, they’re shipped. They linger around in the platform, working in some browsers, never in another, frustrating developers. It produces brittleness.

This is a problem created by browser diversity, not one that browser diversity would solve.
> Though I do have to occasionally run services.msc to bounce the spooler when it has a stale idea of printer state...

Especially for networked printers that is annoying! If I forgot to turn on my printer it always needs this trickery to get Windows to realise I've now actually turned it on.
No, whether the bias is reasonable or unreasonable does not really matter. How one reaches a certain conclusion is what matters.
Here's a 2017 Cloudflare blog post that compares the performance of ECDSA sign and verify operations (using 256 bit keys) against RSA sign and verify operations (using 2048 and 3072 bit keys) on various CPU architectures:

https://blog.cloudflare.com/arm-takes-wing/
That’s what I thought when I read the story, it would make a good book/film. Keep in mind that many Greeks (myself included) haven’t read all these details in any Greek newspaper ;-)
In the videogames world we
- need very good performance
- don't care about memory safety (not an issue)
- also need fast compile time
No need for suspicions, that is officially known as Project Metropolis.
Open Source Considered Harmful?