skysight-inc/HackerNews huggingface dataset:
1) Most of (micro-)benchmarking in computing. Of course you want a tiny bit more analysis in that case.

2) Slightly more real-world: Measuring things when you only have approximate rulers, have difficult things to measure (odd surfaces, etc.), or have to calculate from 2nd hand measurements (pictures with rulers, etc.)

Not sure if that qualifies as Real World, but...?
Same here - using OWC (MacSales.com) TB3 hub on Mini 2018 for 4K and 1K display, supports up to 2x4K. Haven’t seen any that support 3 screens. Has USB A and C connectors, wired Ethernet, etc. They also have smaller versions, for example without Ethernet.
Works from boot with MacOS and Windows. Only issue is with Windows safe mode (!).
No? We're talking about the speeches of private social media platforms, and the fact they choose to promote certain speeches over others. That is not in anyway, neutrality, and they cannot be neutral actors.
You seem to make a lot of statements which imply you have more knowledge than I would expect. Yesterday you seemed to have insider details on how they were managing (or not) their capacity. Where are you getting your information on the inner workings of signal?

I am definitely getting strong signal that you are the type of person who has no perspective on what they are talking about, but I'm open to the idea I'm wrong and would love to be proven so. I think your expectations are out of line for the size and maturity of the company.
The executives might not care right now, but when the peons who do the actual crunch time leave, they'll end up with newcomers with no one to train them. Crunch time should be for real emergencies only.

When I learned that my all-weekender overtime was only to keep an internal deadline, I started look for a new position immediately.
The way to accomplish the change is to propose upgraded versions of SMTP, IMAP, et al that are backwards compatible with existing protocol versions. This way the infrastructure can update incrementally. If both clients in an email exchange and all the servers they're using in between support the new versions you get the features. iMessage manages this pretty well.
For K2, it is usually the Pakistani porters from Gilgit-Baltistan: https://www.wionews.com/south-asia/pakistani-porters-the-uns...

> Their names are just usually dropped when talking about it, which is a shame.

Reminds me of Amir Mehdi's story: https://en.wikipedia.org/wiki/Amir_Mehdi#K2_(1954)
I don't think the public nature of social media is driving this. After all people's private photo albums and slideshows back in the day were also heavily curated collections of "fake" happiness. I think the difference is thanks to the internet and the proliferation of smart phones, we are able to consume a much larger volume of these collections.
I share a similar experience with C++.

However that compatibility is also what makes Objective-C and C++ impossible to ever be fully safe, without breaking compatibility with the C subset.

Static analysis help, but only when all code is available.
Properly used unnamed sources are a crucial part of good journalism, but much of the problem we've seen recently is that media outlets aren't using them properly. I'd point to the Miles Taylor essay as a good concrete example of what goes wrong:

* They granted him journalistic anonymity for an opinion piece, which is very much not a common practice.

* The NYT published no corroboration of Taylor's claims, and their descriptions of how the editorial got published suggest they didn't even attempt to find corroboration.

* Their description of him as a "senior administration official" substantively misled people - the phrase is generally understood, and was understood at the time, to refer to people like agency heads or cabinet secretaries with direct accountability to the President.

And this is from an uncommonly responsible outlet! Many others will happily publish detailed claims of fact attributed only to "one person with knowledge of the matter".
This is sad. When you open a business in the real world, sure you have to tell the authorities about it (because it's the law!).
When you open a digital business, you have to tell Google (via Google Search Console) about it... But Google is not the law, not even an authority; it just happens that Google owns google.com and Chrome and that makes Google the de facto Godfather of the internet: if you don't comply, your business is practically dead.
Again, sad.
She is remarkably circumspect about these details. Lots of references to people being allegedly from Harvard or appearing to be from Harvard. It does feel disingenuous to put that out there and not provide a single example.
A large fraction of Valve's own games are DRM-free (despite using Steamworks when launched through Steam !) :

https://www.pcgamingwiki.com/wiki/The_Big_List_of_DRM-Free_G...

Also, there isn't a single Steam DRM, but multiple versions/layers :

https://www.gog.com/forum/general/how_to_run_steam_games_off...

The worst of which are Valve's own Custom Executable Generation, and Denuvo, which is third-party but (last time I checked) Steam doesn't warn you about as being a 3rd-party DRM.

Both of which make a game machine-specific.
Do you need a real domain for each customer or is a subdomain sufficient isolation?
Bumble removed its political filter to prevent outing of capitol rioters.
Its amazing that China was able to significantly develop both road and rail infrastructures this centuries. It looks like many other countries prefer one or the other.
I'll take a well done audiobook with a professional narrator any day and twice on Sunday over listening to a podcast. Too many poorly done podcasts out there saturating the market with such a low barrier to entry - anyone can spout an opinion on a mic. Hard pass.
A radical approach to fighting homelessness: love
For me this is the key. Positivity and negativity are both harmful if they’re not specific. Saying “the team did a great job” is basically worthless. Cool, let’s all do the exact same thing we did last time with no variation so we can do another “great job”. Versus “the team did a great job communicating changed expectations mid project that meant we didn’t lose a client” can actually lend some insight.

Negative feedback is the exact same (keep it specific) though with the nuance of saving negative feedback that’s personal for 1:1 convos.
Like Maddy? https://foxcpp.dev/maddy/
And this is for techies who are used to xkcd, xna, gnu, etc. Could you imagine any average consumer-facing product with this name being successful? There's no candy-coating the truth I'm afraid - people couldn't handle a name like this, it's too much of a mouthful...
I've noticed that on Android, WhatsApp and Gmail sync their data on a periodic basis (probably using WorkManager or something like that).

What is an efficient architecture for something like this?

Are millions of devices hitting some gateway->load balancer everytime the Workmanager wakes up and polling for whether new messages have arrived?

For example, if my phone does a "sync" 3 minutes from now, as do millions of others around the world, do we all get routed to our respective box that's keeping a queue of our pending messages in memory? If we happen to receive these messages in between the poll intervals via persistent socket or push notification, then the system wipes the in-memory queue.

Am I imagining this correctly or is there a more optimal architecture for something like this?
Par2cmdline is a PAR 2.0 compatible file verification and repair tool
Or assign a lease that expires at 0330 instead of a lease that expires in 24 hours.

But I’ve not experienced similar in 20 years of dynamic ips.
Sure it is. Keep on harping about a warning system working perfectly (because, again, you clearly fail to understand it)...it makes a really good case for your screed.
So people should be expected to regularly go through their Junk folder to see if anything interesting has popped up?

A junk folder is only useful if you essentially never have to open it.
Do you mean Bernie-bro Joe Rogan is "alt-right" ?
Oh whoops, somehow I completely overlooked that.
Hah! Touche!

Weird to think that game programming is (weirdly) kind of a niche thing at this point. Compared to programming boring CRUD apps, that is. :)
I don't understand your point. If you hate copyright and IP, then you inherently also have to believe Getty should be allowed to take public domain photos (or someone else's photos) and sell them.
Self Transporter: how to share your Self code
You misunderstand. I have nothing against the standard libraries of a language using unsafe code. However you are the one that said:

>but for general-purpose stuff like the web you never need anything unsafe.

... and:

>> it's pretty common in both of these languages for there to be C libraries involved somewhere in the stack.

>Negative. [...] All their core components are 100% managed code.

... so I posted a correction.
Sorry, in lieu of individual bonuses, management has decided to reward employees with a company team building boat trip!

:-/ Nothing is worse than being stuck on a company boat trip. You can't arrive late, and you can't leave early! Also no where to hide or duck out for a bit. Literally stuck on the boat.
Run Unity Android Build on Android in Docker
The article title is a bit of a misnomer. Television has been with us for about a century now, and although it was not digital until more recently, TV likewise fits the definition of “a medicine or other substance which has a physiological effect when ingested or otherwise introduced into the body.”

Misinformation has always been a part of television, whether knowingly or not. Most people will fall down when shot: not because a bullet actually knocks you over, but because you’ve learned that that’s what happens from watching TV shows and movies.

Even without that, the parallels are clear, especially if we take “drug” to mean a recreational or illicit drug. Terence McKenna (who had lots of wild ideas that must be individually evaluated; you can’t trust him) said decades ago that if there was a pill you could take that encouraged you to sit on your couch for 4+ hours a day and “blot out the real world,” they’d have made it illegal ages ago.

I am not dismissing the dramatic rise of misinformation over the past decade or so. To me, it looks a lot more like the spiking of heroin with fentanyl than the heroin itself. The addiction was already present; it’s just gotten a lot more dangerous to consume.
Ordinary handprints are a natural idea. Stenciled handprints are an absolutely unnatural idea. That they appear in practically every cave-painting site indicates cultural transmission spanning tens of thousands of years and miles.

Similarly, "seven sisters" interpretations of the Pleiades are found from Africa to Australia and everywhere in between. The last time the Pleiades were recognizably seven stars was 40,000 years ago. "Seven sisters" legends everywhere include an accounting of the missing sister.
> the public suffix list is (sadly) how you communicate that to browsers

Sadly, indeed. Had they never heard of DNS?
The sun was hitting my cable line at the same time every day causing my internet to go out, my router to reboot and the line power to be automatically increased. I finally called out a tech who fixed some old splitters and now the strength isn’t just barely marginal enough that the sun would cause a drop.
Security recommendations aren't supposed to be brilliant insights. They're just best practices.
Coming from Gradle, it always baffles me how there's no wrapper for every popular tool out there. I'm always confused by the venvs, rbenvs, and overall managing multiple versions of the toolchain for different projects. In Gradle it's just so simple, and with toolchains support [1] it's going to be a very predictable build environment with just a simple `./gradlew` invocation.

[1] https://docs.gradle.org/current/userguide/toolchains.html
> And, you drop the least significant terms of f(x) because g(x) dominates them, i.e. lim_{x -> \infty} g(x)/f(x) = 0.

If g(x) dominates all the terms in f(x), then wouldn't lim_{x -> \infty} g(x)/f(x) go to infinity?
eater.net/6502
It would not have prevented the outage. But there would have been other servers where people could register and communicate during the outage. At least with Mastodon this seems to be working in practice. Over-populated instances usually switch to invite-only registration.
I don't use MFA.

Also, I have my emails backed up, but that doesn't help for authentication/recovery with other services/external accounts that were created using that Gmail account... Maybe I need to host my own but that comes with a plethora of other problems.
It really does seem a local/global maxima problem with the way they're trying to improve. I think they've been locking themselves into the local maxima, and at their scale it's probably really hard to expand the search beyond what's 'safe and known.'
Think of it like cellphones. If you aren't in the contact list you are blocked by default.
Funny you should say cross-platform, because one of my honest concerns with something like this is what will happen if multiple computers try to operate on a shared file system simultaneously. A different kind of cross-platform, if you will. For example, I have definitely run Git commands on the same repository from both Windows and (via WSL) Linux simultaneously in the past (I used to use Windows gVim and Linux everything else, and both could invoke their platform’s Git). That’s where cross-process locking concerns me. And WSL is hardly the only type of file system that may be accessed from multiple machines simultaneously.
What I find fascinating about Gradle is that its utterly impossible to say it lacks documentation - go to https://docs.gradle.org/current/userguide/userguide.html and see the amazing beautiful docs.

But actually learning from those docs is amazingly hard. It's like "documentation theater". If you start as a naive user coming in, it keeps teasing you that its going to teach you something but you just get abstract concept after abstract concept and you STILL don't know the mechanics of how a build works. You have to kind of reverse engineer the info that Bruce describes out of the documentation. Even when you manage to hit actual code examples with detailed explanations - they are described in a way that fails to give you the generalisable understanding of the internals that you need to actually create new things that you haven't seen before.

As a developer it generates a distinctly hostile feeling of helplessness and powerlessness.
> Even assembly.

Although high-level languages like python or to a lesser but less excusable degree C++ are more susceptible to this because more features can secretly be greater-than-constant-time function calls.
Would Rust Secure Curl?
Writing scientific pieces with Germanic-roots only words in “Ander-Saxon.”
I have seen a lot of my non techies friends joining signal lately, the type of friends who spend their days on instagram stories and would not care less about privacy but yet seems like they think that signal is a cool place to be now... It's weird how popularity works... I could give them a $100 to join and they wouldn't even try but for whatever reason since it seems to be cool on signal they are all jumping ship... not complaining tho and actully pretty happy about it.. :)
Good introduction. A few thoughts:

1) Be careful with locks in the form "x.Lock(); x.DoSomething(); x.Unlock()". If DoSomething panics, you will still be holding the lock, and that's pretty much the end of your program. ("x.Lock(); defer x.Unlock(); x.DoSomething()" avoids this problem, but obviously in the non-panic case, the lock is released at a different time than in this implementation. Additional tweaking is required.)

Generally I don't like locks in the request critical path because waiting for a lock is uncancelable, but in this very simple case it doesn't matter. For more complicated concurrency requirements, consider the difference between x.Lock()/x.Do()/x.Unlock vs. select { case x := <-ch: doSomethingWithX(x); case <-request.Context().Done(): error(request.Context().Err()) }. The channel wait can be cancelled when the user disconnects, or hits the stop button in the error, or the request timeout is reached.

2) Long if/else statements are harder to read than a switch statement. Instead of:

if(foo == "bar") {
// Bar
} else if (foo == "baz") {
// Baz
} else {
// Error
}

You might like:

switch(foo) {
case "bar":
// Bar
case "baz":
// Baz
default:
// Error
}

These are exactly semantically equivalent, and neither protect you at compile-time from forgetting a case, but there is slightly less visual noise. Worth considering.

3) I have always found that error handling in http.HandlerFunc-tions cumbersome. The author runs into this, with code like:

foo, err := Foo()
if err != nil {
http.Error(w, ...)
return
}
bar, err := Bar()
if err != nil {
http.Error(w, ...)
return
}

Basically, you end up writing the error handling code a number of times, and you have to do two things in the "err != nil" block, which is annoying. I prefer:

func DoTheActualThing() ([]byte, error) {
if everythingIsFine {
return []byte(`{"result":"it worked and you are cool"}`), nil
}
return nil, errors.New("not everything is okay, feels sad")
}

Then in your handler function:

func ServeHTTP(w http.ResponseWriter, req *http.Request) {
result, err := DoTheActualThing()
if err != nil {
http.Error(w, ...)
return
}
w.Header().Set("content-type", "application/json")
w.WriteHeader(http.StatusOK)
w.Write(result)
}

In this simple example, it doesn't matter, but when you do more than one thing that can cause an error, you'll like it better.
Just to make the reference completely obvious, parent is referring to the candy named M&M's:

https://en.wikipedia.org/wiki/M%26M's
It's also the reason I will never forget the ZIP Code for Allston.
I'm taking this one from Graham's book.

72 / 12.57 ~= 5.73

72 / 13.96 ~= 5.16

72 / 8 = 9

These are rule of thumbs on how many years it'll take for your money to double if you have that rate consistently. So on a 40 year time horizon, one would get:

40 / 5.73 ~= 7 doubles

40 / 5.16 ~= 7.75 doubles

Still way better than 4.44 doubles with 40/9

Hypothetical balances of 10K would be:

10000 * 2^7 = 1,280,000

10000 * 2^7.75 = 2,152,695

10000 * 2^4.44 = 217,056.7

Compound interest is one hell of a drug ;-)
Agreed. The distance between CS abstractions has widened to the point where the lower level abstractions are only relevant to the people who build them.

There's a close and obvious relationship between C statements and the PDP-11 instruction set. And at least one PDP-11 series processor was implemented with gate-level logic with no microcoding. So anyone with time to spare could copy that. It's not a trivial job, and it's probably more time than it's worth. But it's not unimaginably hard either.

There's no obvious relationship at all between (say) Python and the gate-level internals of any mainstream modern CPU. There are at least four (five? six?) levels of abstractions between them.

It's useful to build a generic gate-level processor to have some notional idea of what a computer is. And of course it's essential if you go into processor design. But µArch details are a graduate-level topic and not something most developers need to worry about.
Amazon Opens Alexa to Let Automakers Make Custom Voice Assistants
What a waste. C# has properties. If Java wasn't so against breaking forwards compatibility, Java could actually be a good language. It was good in 1995 but the changes since then have been too slow and too late.
A misinterpreted Elon Musk tweet sent an obscure stock soaring
Solarwinds was exposed on 13th of December. This seems to have started on the 14th of Dec.
How to create a telegram bot with Python in minutes
Also relevant: https://mikeborozdin.com/post/being-effective-tech-lead/
Is WSB https://www.reddit.com/r/wallstreetbets/ ?
Yes. Exactly like Maddy except not in Go.
What I would love would be a change—aware stack trace, so when an error occurs, the most recently run, changed code is highlighted.
Even a large city today doesn't do most of those things. How many microprocessors are fabbed in London, rockets launched in NYC, or lumber harvested in SF? This seems like an unreasonable standard to measure by.
It's a thing in Germany as well. I remember that one of the reasons customers gave why they didn't want to go to Walmart when it opened a few shops in Germany was because they were freaked out by the happy act that employees had to put on.

The sort of always smiling, always laughing stereotypical American waiter or something would be perceived as juvenile, fake or not very bright over here.
Let's not dismiss nation-state exploration with having an overly indulgent hobby.

Establishing and mapping boundaries, demonstrating military abilities, and even finding/protecting the trade routes you speak of, all required exploration on a large scale.

Not to mention things like establishing trade and a friendly presence with locals, establishing surveillance posts, and my personal favorite, surveying the geoid, as a means to better ICBM guidance.

Military always makes reason, and I suspect that might also be at play in Nepal.
As a Nim user, I think Nim and Zig fill quite different niches. Zig is made specifically for low-level programming with some higher-level constructs, whereas Nim is very general-purpose.
Go isn't a meme language.
Dropbox history on HN gave us a lens on how comments here are not true reflections of what could happen, as well as give every would be project the best clock, "what if we are the next Dropbox". Super fascinating.
Adding to that, in IntelliJ it's as simple as running the task from the 'run Gradle task' window (not sure how it's called) with Shift pressed. All the breakpoints in the build scripts will now work.

If you also use wrapper with sources (`-all` instead of `-bin` suffix in the `gradle/wrapper/gradle-wrapper.properties`) you can step into the entire Gradle source code as well
Just today we got the news here in Spain that a spanish alpinist, Sergi Mingote, died while descending from K2. There were multiple teams attempting this, then?
I did not imply that. My comment was a response to the claim that Arm started allowing this in 2019 when Apple clearly was doing this earlier. For all I know the relationship is that Apple just writes the standard and tells Arm to publish it.

I have no idea what issues you had with my examples but if you describe them perhaps I can make them acceptable to you?
The Noise Upstairs Is Unbearable. How Do I Stop It?
"Q: I live in a rental building in Harlem and have always worked from home. Since the start of the pandemic, the family directly above me has been home, too, with two young children. Now that winter is here, they never seem to go out. I can hear running, jumping and shouting. Normally, I’d work at the cafe down the street for a few hours, but that’s not an option. I know they must have cabin fever, but so do I. What am I supposed to do?"
Just use the Yandex image search.

Yandex hasn't yet removed or crippled its face recognition-enhanced image similarity search capability like Google and Bing did (probably because women complained that it turned up their old nudes/ludes), and Yandex doesn't exhibit bizarre racial biases like this:

https://archive.rebeccablacktech.com/g/thread/76372135/

Sad that Americans have to use a Russian search engine to get away from Google/Bing censorship, bias, and politicization.
Introduction to Vim Abbreviations
I've noticed that happening a lot in my time in the games industry as well. The person making top-down design role isn't exposed to the friction that their decisions are making down the hierarchy. I think the worst part is that they're not even necessarily as invested in the product as someone else, so they're kind of structurally going along with the inefficient situation they're in.