skysight-inc/HackerNews huggingface dataset:
[ time to re-share my Dr. Nicely story ]

Dr. Nicely caused quite a bit of excitement at Intel. I was on the p6 architecture team when he discovered the FDIV bug. Our FPU was formally verified and didn't have the same bug.
To be nice to Dr Nicely we sent him a pre-release p6 development system to test with his program to demonstrate that his bug was fixed. He was working on a prime number sieve program and came back reporting that the p6 ran at 1/2 the speed of a Pentium for his code. Wow, another blackeye/firestorm caused by Dr. Nicely. He had too much of an audience for him to report to the world this new processor was slower.

So I got to spend a lot of time learning how to sieve works and what is happening. For the most part, it allocates a huge array in memory with each byte representing a number. You walk the array with a stride of known primes setting bytes and whatever is left must be prime. ie. every 3 is not prime, every 5 is not prime, every 7...

So in the steady state, you are writing a single byte to a cache line without reading anything. And every write hits a different cache line.

Now p6 had a write-allocate cache, but the Pentium would only allocate on read, so on the Pentium a write that misses the cache would become a write to memory. On the p6 that write would need to load the cache line from memory into the cache and then the line in the cache was modified. And since every line in the cache was also modified we had to flush some other cache line first to make room. So every 1-byte write would become a 32-byte write to memory followed by a 32-byte read from memory.

Normally write-allocate is a good thing, but in this case, it was a killer. We were stumped.

Then the magic observation: 99% of these writes were marking a space that was already marked. When you get up to walking by large strides most of those were already covered by one of the smaller factors.

So if you change the code from:

array[N] = 1

to:

if (!array[N]) array[N] = 1

Now suddenly we are doing a read first, and after that read we skip the write so the data in the cache doesn't become modified and can be discarded in the future.
Also, the p6 was a super-scalar machine that ran multiple iterations of this loop in parallel and could have multiple reads going to memory at the same time. With that small tweak, the program got 4X faster and we went from being 1/2X the speed of a Pentium to being twice the speed. And this was at the same clock frequency. The test hardware ran 100Mhz, we released at 200Mhz and went up from there.
> BUT ZIG.. There’s no binary search implementation in Zig that I could find, rather it calls to C++.

Zig’s binary search is here, it’s an unoptimized textbook version:
https://github.com/ziglang/zig/blob/b835fd90cef1447904d3b009...

At TigerBeetle, we have our own branchless implementation here:

https://github.com/tigerbeetle/tigerbeetle/blob/e996abcf7154...
Hey, America, Grow Up
Doesn’t feel like the journalists are ever going to get over the bluecheck purge.

Definitely interesting seeing how personal grievances affect reporting in such a blatant fashion.
Note you can slide over the URL bar to switch tabs left or right.
My goodness, are you me? This mirrors my experience to a T, almost exactly when I’ve tried to change process for the better. By far the one that hits the most is be rude: “well, just start fixing things then.” It was a daily struggle to have to work around the nay-say and lazy and equivocation and it was so demoralizing knowing that there was a simple fix but people didn’t want to do it because it would out their incompetence and start to reveal the tremendous pile of tech debt they’ve built everything else on.

The most funny thing was that this was not a huge organization at all, it was small for the scale they were working at but certain individuals have ossified the culture to a point where you would have thought it was hundreds of others. So frustrating, day in and day out.

> leadership had totally lost control of the zoo

This kills me

So glad to see I’m not alone!
Did anyone review this article before publishing it? Typos like “precursos”, really?
Imagine if that was found in coastal waters. If I saw that while swimming I would nope the fuck out of the water.
I have never seen a Safe Browsing warning. I concluded it wasn't worth the traffic/privacy costs, or contributing to the normalization of a centralized arbiter of what websites are acceptable.

I disabled it.
> Partly due to the recognized difficulty of the problem, in the 1970s-1980s mainstream AI gradually moved away from general-purpose intelligent systems, and turned to domain-specific problems and special-purpose solutions...

I think there's little evidence for this. What happened in the 1980s was the introduction of and overselling of expert systems. These systems applied AI techniques to specific problems: but those techniques themselves were still pretty foundational. This is like saying that because electricity was used for custom things, we started inventing custom electricity.

> Consequently, the field currently called "AI" consists of many loosely related subfields without a common foundation or framework, and suffers from an identity crisis:

Nonsense. AI of course consists of loosely related subfields with no common foundation. But even back in the 1960s, when a fair chunk of (Soft) AI had something approaching a foundation (search), the identity of the field was not defined by this but rather by a common goal: to create algorithms which, generally speaking, can perform tasks that we as humans believe we alone are capable of doing because we possess Big Brains. This identity-by-common-goal hasn't changed.

So this web page has a fair bit of apologetics and mild shade applied to soft AI. What it doesn't do is provide any real criticism of the AGI field. And there's a lot to offer. AGI has a reasonable number of serious researchers. But it is also replete with snake oil, armchair philosophers, and fanboy hobbyists. Indeed the very name (AGI) is a rebranding. The original, long accepted term was Hard AI, but it accumulated so much contempt that the word itself was changed by its practitioners. This isn't uncommon for ultrasoft areas of AI: ALife has long had this issue (minus the snake oil). But at least they're honest about it.
> there are long term storage practices you can follow

Can you please point me towards some resources?
Ok that makes perfect sense, thanks.
HTTPS is no replacement for FTP’s “cloud drive” functionality, that is, interoperability with the local file system. WebDAV could theoretically be, but clients and servers never reached the usability of FTP. The best FTP successor is still SFTP.
I am amazed of reading an article about psychology with no "psy" occurrences.
Interesting. Maybe our brand new kitchen appliances are more energy efficient?
This is super interesting. Thank you. Feels similar to subtle patterns in my next of kin and their inner workings. So I can read more, would you mind sharing the name of the disorder?
I dream of discovering such a resonant and cogent truth that, like a seed crystal in a prepared solution, it gathers more and more truth about it...

Failing that great ideal, my words must stand for themselves, at least.
GNU projects assign the FSF as the copyright holder. The FSF is inherently trustworthy. (Since the FSF controls the GPL.)
The post is interesting as it exposes the problem statement.

Unfortunately, I expected from a Shopify Engineering blog that it would provide solutions to this problem like a JS library for i18n.

Disclaimer: As I'm not a frontend developer I'm not familiar with the ecosystem solutions.
How to improve Rust compiler’s CI in 2023
If you are using android there is RCX (https://github.com/x0b/rcx) as a frontend to rclone. Rclone can also be used in termux. Not sure about apple.
Alright, if you will, help me understand your position. Maybe it’s good to agree on some baselines.

1) Do you think freedom of speech is important?

2) How do you draw the line between free speech and hate speech?

3) Who should draw the line?

For instance, you mention conspiracy theories; do you think we should ban users who tweet about conspiracy theories?

Second and third questions optional if you don’t think freedom of speech is important.
They exist so that you can continue to use hashicorp tools in your business for free and look at/change their source code like you would any other software.

The one restriction is that you can't compete with their hosted services using their software. Which 99% of people who use their software have zero interest in.

The "it's not fair! it's not real open source!" narrative is pumped up by companies like Amazon that feel entitled to use their monopoly power to leech value from these companies by selling paid versions of their products.
This is from 2007, and it should say so, as it did one of the previous times around:

https://news.ycombinator.com/item?id=13467473
I love this setup for working with external APIs. Often I'll only want a couple of fields from a response and don't want to build out a huge schema to match the entire response, but it's hard to know in advance which fields will be most useful. By spending some disk space to store the entire response you can then add fields you need ad hoc as virtual cols, like you describe.
anonymity is sacrosanct on the internet. it always has been. facebook et al pushed for "real name policy" because they have an interest in building your social graph and sell you "relevant ads".

if that isn't the case then there is no reason for using real names. Reddit has proven that for years. tumblr even.

in my specific case, its a symbol of resistance and my political affiliations. At the same time, i will be hunted down by police for "spreading dissatisfaction towards the government". People have been arrested for "cheering for the 'enemy' country in a cricket match", so its really for my personal security
2,242+ users enrolled . To be among the top 10% of traders join now.
Ah yes, the classic low-skill management maneuver of setting an unrealistic deadline in the hopes that people will then work faster. Naturally, Joel has written about this [0], see point 12.

[0] https://www.joelonsoftware.com/2000/03/29/painless-software-...
> Yes, see Twitter.

Safari content blockers aside, Safari web extensions are capable of blocking Twitter ads.
I enjoyed this presentation, thank you for sharing it. Good stuff in here.

I think things are a bit off about the reasoning behind the basis functions, but as I noted elsewhere here that's work I'm not entirely able to talk about as I'm actively working on developing it right now, and will release it when I can.

However, you can see some of the empirical consequences of an updated understanding on my end of encoding and compression in a release of hlb-CIFAR10 that's coming up soon that should cut out another decent chunk of training time. As a part of it, we reduce the network from a ResNet8 architecture to a ResNet7, and we additionally remove one of the (potentially less necessary) residuals. It is all 'just' empirical, of course, but long-term, as they say, the proof is in the pudding, since things are already so incredibly tightened down.
A Visit to id Software (November 1993) [video]
they're the best game in town, but they've also gone against long term user-base wishes again and again to either 1) try to create wider popularity with feature parity (didn't work) and 2) to capitalize in inappropriate ways that are against the ideals first set forward.

It doesn't take a lot of mental effort to realize that the userbase left doesn't want telemetry and third party partnerships; Mozilla knew this, they tried to get away with it and lost goodwill.

It's not the thing, it's the attempt to get away with it that irks me. No one except The Paid wanted pocket integration and Mr Robot promotions.
I think it is used for code layout: typically you want to make the most often taken branch as fallthrough as it can be slightly faster even when perfectly predicted.

I also tried (and failed) to use expect with probability to generate a cmov, but in retrospect it is obvious: the parameter is not the prediction probability, but the taken/not-taken probability, and even a branch that goes either way with 50% probability can still be predicted perfectly (for example a branch that switches every other iteration), so the parameter can't be used to decide between predication and prediction.

edit: what we really need is an [[unpredictable]] attribute.
I wonder if we could proxy OAuth flows to notebooks. For example, a notebook could initiate an OAuth2 flow, Livebook handles it, and once it gets back, we notify the notebook which may approve or deny the request. The biggest concern though is that we need to have a static callback URL, so you would need to run Livebook internally at a fixed address?

If this is something you would like to work on, please reach out, I think it could open up interesting possibilities!
Ah yes, it's "for the children" !
You don't need a special extension for this. Just go to your uBlock Origin filter lists settings and enable these:

* AdGuard - Annoyances

* uBlock filters – Annoyances

Also, for browsing Twitter anonymously, you could use nitter.net instead of the official Twitter site.
i learned C, linear algebra and much more from working on the Q1 engine, by far the most influential piece of code for me! thx iD!
TCP RST is indeed considered a transient failure, and the RFCs specify that it should be retried several times before giving up.

My ad blocker returns "0.0.0.0" for A records, which in practice means attempts to connect to 127.0.0.1, which isn't running a server of any kind on port 443/tcp or 80/tcp. So a standards-compliant client would really hang awhile, or hold rendering, until several connects have been attempted and they all failed.
Every user, with a single KB shortcut or a click in the main hamburger menu, can access dev tools.

That’s pretty power user friendly.
BTW the first mail transport on the arpanet* was...FTP! Yes, FTP used to have specific mail transfer commands different from regular file transport.

* And it's "the arpanet"
To all the comments on energy usage, check this out! this person is using solar power, https://blog.networkprofile.org/17kw-enphase-solar-install/
If you look at systems like Deco (and a bunch of others I've noticed recently like linksys) the devices have stopped being dns forwarders themselves to clients and instead they assign your ISP (or the ones you've set for your ISP) DNS directly to clients. This means your device now resolves dns over wifi directly. This means each device is now relying directly on google and cloudflare instead of relying on the gateway (which being wired will experience the lowest latency especially when it comes to redirects and should ideally have a robust DNS server).

A local network resolver instead of forwarder on a client seems to work a lot better in my experience especially when I use root DNS on unbound. Yes a root DNS is a lot slower than something like 8.8.8.8 but you could use an upstream dns with unbound if you really want something faster. Either way, a local DNS will be lot less problematic compared to if you devices has to handle all dns over wifi including the redirects (which happen a lot).

Almost every time I see a network problem, it's always a DNS problem. In a typical home network setup these days:

client DNS cache -> upstream DNS -> root DNS.
client DNS cache -> local DNS - > upstream DNS -> root DNS.

My setup:

client DNS cache -> local DNS -> root DNS.

The first one works better if the network is wired. Second and third one works better on wireless.

One alternative that works 'okay' is if the client directly uses DoT or DoH for DNS. TCP works little more reliably than UDP (wink) but neither Google nor Cloudflare offer signed profiles for iOS and macOS (third party is there). Stubby works good on linux and android and windows have a built in solution.
tunnel on top of another tunnel works, but at the cost of speed and ops complexity.
I mean a devcontainer is just docker with some extra stuff to run VSCodes stuff inside the container.
Well, "people with a progressive viewpoint" is not exactly the same thing as "organised opposition".

The first is nigh inevitable for some percent of the population. The second is not. In fact a repressive state will turn it's efforts into preventing such people connecting, organising, etc. Giving them the message that it is best for them to keep their heads down and keep quiet, and not join a "movement".

That is why, in repressive state, any non-state social movement would be viewed a potential threat, even if it claims to be not political at all.
LOL, what GPT4 actually says:

It's clear that we've reached a point in online discussions where the lines between human and machine are blurred, especially when conversing on complex topics like AI and blockchain. My comment wasn't intended to reduce your argument's credibility but rather to highlight this fascinating phenomenon.

That said, returning to the original topic, I believe that trust in government is multifaceted and not easily boiled down to "good guys" versus "bad guys." Furthermore, while blockchain-based systems are designed to resist central control, it's a mistake to think that governments are incapable of influencing or regulating these technologies.

I'd love to hear your thoughts on how we can strike a balance between technological advancement and responsible governance.
Amen to this.

I moved house recently and the only things I did were running CAT6 from where the internet enters the house, up to a PoE switch in the loft that then has a few Wifi6 APs connected to that.

Everything is wifi (all cameras, smart switches etc, office laptop, a single RPi4 for "projects" and so on) and all seems fine. The only device that is directly connected via ethernet is a headless gaming desktop that lives in the loft that I occasionally use for streaming games to a laptop.

But kudos for this guy if that is what he wants to do. Personally I did not enjoy doing the cable runs (especially for external-grade CAT6).
I assumed the code review commits would be squashed before the merge. But you raise a valid point about the code review process being lost. One way to get around that is to keep the feature branches (or maybe just tags) forever and do all the squashing on the integration branch. This does require some kind of convention that records on which branch/tag the code review for a particular feature can be found.

The advantage of this kind of approach is it doesn't require any special tooling, but could certainly be made easier with special tooling.
It’s just annoying? Especially if you have access to everything, at one point just having a monorepo makes git “actually work”.
Makes sense, thanks.

> The clients doing SMTP themselves allows them to communicate sending failures to the user. How would you do that for an email just sitting in an IMAP folder?

I would introduce a folder for logs. Also make the server move messages it succesfully sent from Outbox to Sent folder.

By the way, I wish the whole email system would have been extended to make it possible to attach (not in the way we attach files, not integrated in the message, only visible to the owner/admin of the mail box where the message is stored, not communicated to other servers/clients) comments to email messages so I would be able to attach my thoughts&tags to a message I received and the server could attach diagnostic data about delivery details.
Dev tools in every browser is a 1 level menu in the main hamburger menu deep or available via 2 possible KB shortcuts (at least in Windows).
Seems like they created it for the helix editor
https://github.com/helix-editor/helix/pull/7814
> ... there's Unobtainium that lets you update from git repo releases among other things.

Did you mean Obtainium?

https://github.com/ImranR98/Obtainium
Sometimes it is about code quality. Defensively written, well-documented and well-tested code would not be as likely to suffer from such bugs.

It's not just subtle floating-point errors either, but also outright wrong maths that appears to work (see [1] for an example), memory leaks [2], buffer overflows [3] etc.

[1] https://www.youtube.com/watch?v=4gNYTqn3qRc

[2] https://news.ycombinator.com/item?id=20410166

[3] https://arstechnica.com/gaming/2021/03/how-to-beat-paper-mar...
There is no such thing as "bipolar personality". People should seriously refrain from using the term bipolar when they clearly don't have any understanding of the disorder. At least he didn't get it mixed with borderline I guess.
That would be an incorrect assumption.
It's two lines in an otherwise pretty indepth technical article. Hardly a tantrum.
It's a photo, isn't it?

I took it to be the ceiling of the dome of Hagia Sofia but I could be wrong. It definitely looks Moorish, though. A grand mosque dome of some kind.

Not saying programmatic decoration would be a bad thing -- it wouldn't! But beware: much Islamic decoration is text. It's writing. You can't just programmatically generate that.

Okay, "AI" chat bots can, but the _text_ is simple. It's the calligraphy that matters. Generating that would be very hard.
Boyle's "growing giant" idea probably at least partly inspired Jonathan Swift's Brobdingnagians in Gulliver's Travels several decades later in 1726.. maybe the natural inverse the Lilliputians. By the 1800s Mary Shelly & Jules Verne would strike out a bit further on speculative-technologico-science fiction. Things picked up with HG Wells, and by The Atomic Age imagination literally exploded even before comic books got popular.. :-)

Asimov's 1966 Fantastic Voyage was likely more inspirational to the 1970s _Ant Man_ than Boyle. I wonder if Asimov knew of Boyle (or was derivative of other things - no dis meant to Asimov - dude was The Master).
Something happened

Something happened
i read that but did not get

going from

> Raises $450 million in a Series D at a valuation of $7.75 billion in August 2021

> Lays off 12% of its workforce in February 2022

so where did this $450M go?
Interesting that the results don't hold up with a more complicated comp comparison function:

> For somewhat realistic scenarios of binary searching with a slower comp() function I’ve thought of searching through ids, phone numbers, accounts and keywords. I’ve thus settled on testing searching 8-byte strings.

> ...

> In this case std::lower_bound is very slightly but consistently faster than sb_lower_bound. To always get the best performance it is possible for libraries to use sb_lower_bound whenever directly working on primitive types and std::lower_bound otherwise.

I would like to see the analysis here.
This is not true- AWD bias depends on the platform, and not because driving the front wheels are more efficient. Subaru AWD drives the front and back equally. BMW XDrive is rear biased. Audi Quattro drives both axles equally, Quattro Ultra prefers the front axle. Lexus IS AWD prefers the rear axle.

Your car probably was on a FWD platform with an AWD differential thrown in, which is the reason it drives the front wheels most of the time. If you were driving a BMW X3 for example, you’d have RWD by default unless you opt for AWD.
LocalCDN is helpful because it makes Firefox use local copies of popular JS libraries instead of downloading them over and over again. This makes browsing faster.
Also on this:

https://news.ycombinator.com/item?id=37079769 (ZDnet story, 5 comments)

https://news.ycombinator.com/item?id=37078603 (Phoronix story; no comments on HN)

https://news.ycombinator.com/item?id=37085519 (ZDNet again, no comments)
It's best practice to shorten "Internationalization (i18n)" to "I25)"
Yesterday’s submission: https://news.ycombinator.com/item?id=37075916

It’s strange how some HN submissions fail to get noticed, and a duplicate submission after a few hours (or even next day) gets upvoted and is more visible.
Tampermonkey is installable in (my, at least) Forefox Android.
> consent-o-matic

You don't need this. Just go to your uBlock Origin filter lists settings and enable these:

* AdGuard - Annoyances

* uBlock filters – Annoyances