skysight-inc/HackerNews huggingface dataset:
I remember some Geocities websites being horrendous in their appearance, making use of the "rainbow" animated horizontal ruler.

TBH I miss this era of the Internet when pages loaded fast even on slow computers (although Netscape was very fussy about its HTML). The past 20+ years of "progress" have just seen more and more JavaScript and unnecessary bloat loaded for pages, with very little content on them. Giant fonts, lots of fading-in of content, lots of scrolling required. It's pretty poor!
This was discussed in 2014: https://news.ycombinator.com/item?id=7700691.

I'm almost sure there was a more recent big thread though. Anyone?
Previous ideas:
1. Automated proffers io always profile pic selector and optimizer. Like scam your Facebook with permissions and pick out the best photo for LinkedIn, potentially enchanting and cropping Ali g the way. Terrible idea because consumers generally never pay and getting people’s attention to this is going to be far more expensive than the value I can give you.

2. Automated tests for “broken” front end based on how the side renders on various devices. Pretty sure a machine learning model can recognize broken design. I still think it’s a good idea but potentially a pretty complicated sell!

3. The rest I’ll redact because I’m still toying with doing them.
The Curve25519/Ed25519 code in libgcrypt is not a full constant-time implementation and it greatly decreased the inherent security provided by EdDSA's design, and already had timing problems in the past: in CVE-2017-0379, we have a timing attack against GnuPG's Curve25519, it's possible to inject malicious input with invalid curve points and observe the timings, hence recover the private key "in as few as 11 attempts".

In other words, it was used in a way that djb never approved, so I don't think djb should be responsible for that. And it's not that the libgcrypt developers were stupid, but the due to how libgcrypt is architected, how bignum is implemented, issues on portability, legacy code, there were many difficulties to implement full constant-time code in libgcrypt.

In 2017, one developer said,

> dd9jn: Implementing constant time processing in a portable way is really hard up to impossible. DJB steps most problems aside by writing curve specific code for certain CPUs. We are in the process of improving our code for commonly used curves by replicating the reference code. Using the reference code directly is not possible due to different ways of representing big integers and the fact that the reference code has zero comments. For the Gnuk token (hardware OpenPGP card) Gniibe (author) is even considering to move to a different MCU to have better control over the pipeline.

In the article, djb had an analysis as well,

> The real fix, the constant-time approach, would start by changing the interface to replace mpi_get_nbits(k) with a maxscalarbits specified by the caller. But this would require going through dozens of functions that call _gcry_mpi_ec_mul_point and figuring out the appropriate maxscalarbits for each. This is an example of tension between simplicity and security.

> There have been many other timing-attack vulnerabilities in libgcrypt, and clearly there will be more. We have to throw away variable-time crypto code without waiting for attacks to be demonstrated. For example, libgcrypt should use the constant-time ladders supported by Curve25519. But this doesn't mean that Minerva broke libgcrypt's Ed25519 implementation: libgcrypt was saved by another Ed25519 feature, the double-size hash.
A really important thing to keep in mind is that different possible states have amplitudes, which are complex numbers. These are the real, fundamental description of the system, rather than the probabilities, which are real numbers.

The state of the system could be, for example:

State Amplitude Probability
+/+ 1/2 1/4
+/- -1/2 1/4
-/+ -i/2 1/4
-/- i/2 1/4

In the right-hand column, I've included the probability of measuring each state (notice that it's the square of the modulus of the amplitude), but that's not the fundamental quantity that you deal with in quantum mechanics.

All the dynamics of a quantum system are expressed in terms of how the amplitudes change over time. In fact, if this means anything to you, the most succinct way to state how quantum mechanics works is that a quantum system with N possible states is represented by an N-dimensional complex vector, and that in an infinitesimal time step dt, the system goes from v to (1+iHdt)v, where H is a matrix with complex entries (and 1 stands for the identity matrix). If you measure the quantum system, you have to first pick a set of basis vectors in which to measure it. The result you get is one of the basis vectors. The probability of getting any basis vector as result is the square of the coefficient (technically, the square modulus of the coefficient) on that basis vector. The coefficient is what we call the "amplitude."

In a quantum computer, you first prepare the system in a desired state (a complex vector). Then, you get to choose what linear operations you will apply to the state. Then, you observe the state in some basis (in the complex vector space), and get a random basis vector (proportional to the modulus squared of the coefficients in the final state). That's basically it. The trick is whether or not you can actually figure out a way to compute anything useful with such a system with lower complexity than you can with a classical computer. Your fundamental operations are different (linear transformations of a complex vector) than they are in a classical computer, and you have the added wrinkle that you can't read off the final state of the computer - the final result is a random draw from a probability distribution that is based on the state of the computer. Peter Shor figured out that with this setup, you can factor large numbers in a way that uses fewer operations than a classical computer (asymptotically). It also turns out that you can simulate quantum systems really effectively with this sort of system. That's not so surprising. As Feynman said,

> "Nature isn't classical, dammit, and if you want to make a simulation of Nature, you'd better make it quantum mechanical, and by golly it's a wonderful problem, because it doesn't look so easy."
Bootleg: Native Clojure HTML Templating CLI
I don't know. I guess I understood the sentence with 'landed' the same as I would have if someone told me that they'd 'landed a big job'. I wouldn't really say this myself though, although I hear people say 'landed a big catch' when they're talking about fishing.
> but honestly I'd rather have some SPAM get through than get HAM marked and placed in the big fucking SPAM bucket I never check.

This is why I like that my email provider (https://mailbox.org/en/) simply rejects all messages detected as spam: False positives don't get lost in a spam folder I never check, instead the sender gets a mail delivery failure notice by their own mail server and at least get a notification that they couldn't reach me.
Not really. If I recall correctly, hackers like Phiber Optik and Acid Phreak were thinking Barlow was a corporate spy/shill. And in response published Barlow's credit record.
> nobody would be crazy enough to propose a "vertical solar farm" where LEDs are used to illuminate photovoltaic panels, but vertical farms are exactly as bonkers

This isn't true: at least in theory, you can take white sunlight, produce electricity by the photovoltaic process and power LEDs in a spectrum optimized for plant growth (blue and red light instead of green). In practice the LED efficiency (150-200%) doesn't yet make up for the inefficiency of the best commercially available solar panels (25-30%), but the idea is not fundamentally ridiculous.

And solar power is not always the cheapest form of electricity, or even necessarily competitive. Consider Iceland, with abundant cheap renewable geothermal energy but a shortage of sunlight, and LED-illuminated farms make even more sense (and are already operating at scale).
Post on refit and all the Facebook groups. Unfortunately people’s patience with you runs out pretty much immediately doing this.

I’m also pushing people to give out referrals with limited success.

My SEO game is non existent. I tried a blog post or two with nothing to show for it. I should reach out to sales gurus and such that reach Etsy/amazon sellers how to sell. I’ve only made halfhearted efforts there.

I think that now that I have a pretty decent api going and some users for that, I should probably make a medium blog post about my journey. Might land some more api customers.
Yes, but that's kind of a weird scenario.

Imagine you're taping episodes of this game show for broadcast. The contestant picks a door, and then Monty picks one of the two remaining doors at random. Monty has 1/3 chance of accidentally picking the car, and if he does, we're scrapping the entire episode.

So to enforce your constraints, we have to scrap 1/3 of all episodes, we're only ever broadcasting the 2/3 of all episodes taped where Monty, by chance, didn't pick the door with the car behind it.

Your numbers are correct, but that interpretation of the problem doesn't make a lot of sense if you think it through.
> If KCLS is limited to one digital copy of each new title, and then has to wait eight weeks before being able to purchase more, patrons could conceivably wait years rather than months for their eBook.

That's a curious statement because if they can buy more copies after 8 weeks, then if patrons have to wait years it's because the library didn't buy enough copies after 8 weeks, and not because of the 8 week embargo.

Here's more detail about what the actual embargo is and what the real issue is. Libraries can get one copy at half price with unlimited lending terms during the first 8 weeks. Then after 8 weeks they can buy as many copies as they want, but it costs full price, plus it's not a purchase but a rental that expires after 52 lends or 2 years.

https://www.panoramaproject.org/news/2019/7/26/macmillan-ann...

> Under the publisher’s new digital terms of sale for libraries, "library systems" will now be allowed to purchase a single—that is, one—perpetual access e-book during the first eight weeks of publication for each new Macmillan release, at half price ($30). Additional copies will then be available at full price (generally $60 for new releases) after the eight-week window has passed. All other terms remain the same: e-book licenses will continue to be metered for two years or 52 lends, whichever comes first, on a one copy/one user model. A Macmillan spokesperson confirmed to PW that the single perpetual access copy will be available only for new release titles in the first eight weeks after publication—the option to buy a single perpetual access copy expires after that eight week window, and the offer is not available for backlist titles.

The letter from the CEO in the above article also explains that the unlimited lending of one copy is to fulfill libraries "archival mandate".

It also gives a hint as to the leverage that a library boycott potentially has:

> Macmillan’s library ebook revenue increased 800% over the last five years, with libraries now making up 45% of the publisher’s total digital reads. However the problem, according to Foy, is that while libraries make up 45% of Macmillan’s ebook reads, those digital-lending reads account for only 15% of their revenue.

So, a total boycott by all libraries (which is not the case... yet) will reduce overall book revenue by 15%. This potentially would be made up for by additional non-library sales assuming at least 1/3 of the library readers buy the book instead of checking it out from the library, which is not certain. If the library readers simply pass on the book then that kills off 45% of the total readership for new books, including reviews and buzz that drives more sales.

What actually happens remains to be seen. It will be an interesting experiment to see.
That is usually a feature. The reason it's not the default everytime you change a cell if that cells can contain long running calculations.
> Programming languages have to be developed from scratch to fit to other spoken languages and cultures in my opinion.

This is really interesting. I wonder if there are some human language with properties that would allow for programming language constructs that we don't really use today.

My linguistic skills are not good enough to really suggest an example, but considering there is a language[0] (almost) without relative directions (left and right), which is mind blowing to me, it feels like there should be something interesting out there.

[0]: https://en.wikipedia.org/wiki/Guugu_Yimithirr_language
It’s possible that people feel judged when faced with a lifestyle that might be about ethical choice. Being judged feels threatening, and the rest of the mind finds ways to justify it intellectually.

The choices I am making in my own life (I’m vegan) are obviously about what’s best for me rather than some moral superiority, but it doesn’t alleviate the reaction.
You wanted to know what the benefits are and I told you.
I never said that it should/could replace all debt Tx or the debt system in general.
I never said anything about banks collapsing.
I never said anything about Bitcoin.

You can trust your bank you choose the one you want to trust. But what about a companies who hav to deal with foreign banks or what about banks who have to deal with other banks. what if the best choice is still bad and should not be trusted. Value Tx can solve this because they are trust less.
Aggregate or forensic? I’m not sure I’ve ever seen a forensic report.

Both. In looking at my mailbox I see some forensic reports from 163 and aggregate reports from everyone I mentioned plus Comcast, Emailsrvr, XS4ALL, and QQ.

I don't remember if I eventually turned off forensic reporting, but I do remember that LinkedIn and Facebook were particularly strong proponents of DMARC (and both were really good about accidentally load testing our infrastructure). Oh and one very large provider that actually gave us unredacted messages.

Boy am I glad GDPR is a thing these days.
It is beautiful, but it's a barrier also. I don't think you should be barred from learning to code because you don't speak a language which uses the Latin/ASCII character set.
Does anyone still use Jenkins willingly?
How do you pronounce it? Kalb?
Technology Evolution Patterns
If SO was just about maintaining the community and running a useful Q&A site then it would be very strange that Sara Chipps still has a job right now.

I can only guess it's because there is something else going on with SO the business and she is executing exactly according to plan.
IMO none of these guides really get to the critical difference and relation between OAuth and OpenID.

In OAuth, you have a server that both 1. knows who a user is (can authenticate them) and 2. can do things on behalf of the user (send emails, provide files). A 3rd party client says "I want to send an email via this user, please authorize it" without particularly caring _who_ the user is.

In OpenID Connect you have a server that 1. knows who a user is. But the _3rd party client_ is the one can do things on behalf of the user (post messages on a forum, add details to a map, etc). So the 3rd party, via OpenID, says "tell me who this user is" and then after getting the identity the 3rd party itself decides whether to allow the actions or not.

And you can use them together! Since OpenID is some additional requirements on top of OAuth, you can use it to say "I want to do X and Y on behalf of this user, and while you're at it tell me who they are so I can do authorization for stuff on my side as well."

But neither OpenID nor OAuth specify how to do authentication! Whether that's a username/password, a security token, biometrics, etc. or a combination is totally up to the implementation.

The OpenID spec itself makes three confusing claims in the first 3 sentences:

> OpenID Connect 1.0 is a simple identity layer

Yes!

> It enables Clients to verify the identity of the End-User based on the authentication performed by an Authorization Server

No! Google + co might be Authorization servers, but there's no reason the OpenID provider needs to (or even has the capability) to do any authorization.

> This specification defines the core OpenID Connect functionality: authentication

No! OpenID doesn't specify how to do authentication, and that's not OpenID Connect's core functionality! Providing identity is!

The top SO answer on the difference between OpenID and OAuth:

> OpenID is about authentication (ie. proving who you are), OAuth is about authorisation

And you'll find similar comments all over the internet, Stack Overflow, etc.
The King James Bible is a classic of English literature and history. It has intersected massively with secular life for centuries.
Ironically most spam I've been getting recently is from Gmail addresses.
The "work" is the arbitrary JavaScript in the `render()` function. In Concurrent mode, a `render()` function that renders 1000 children can now be interrupted "between" renders of all those children.

It's akin to doing `Header( LoginLink( GetLoginName() ) )` versus

```
Header();
check_for_interrupt();
LoginLink();
check_for_interrupt();
...
```

The interrupt between rendering components (pieces of work) can now cancel the whole render operation (because say, the parent component has now been updated / wants to be re-rendered), or can pause the render tree while something like a high-priority animation frame is rendered.
The A#1 most import aspect of a programming language is consistency. The alternative is localization hell, with no options in the middle.

Most things aren't this black or white, but this is one of them. Whatever the keywords for a language are, they must be exactly the same everywhere.
Please keep religious flamewar off HN.

https://news.ycombinator.com/newsguidelines.html
I regularily receive dmarc reports from Google (every day) and yahoo for instance. Not sure I've ever received any dmarc report from hotmail though.

And email is pretty reliable with Google. It is a disaster with hotmail: you have to send a big number of emails to have a chance that hotmail treats your email as non spam. They put your self hosted emails in the spam folder of your regular contacts, and the fact that they respond to your emails and systematically mark them as non spam is an irrelevant detail for them.
Excel seems to be localized and I absolutely hate it. A german version of excel expected me to write WENN instead of IF, or SUMME instead of SUM. It's dumb. Especially since if you're trying to look up code snippets or how to do something in excel, you'll find one in english and then have to find the corresponding german commands.
A "mistake" at the phone company caused them to bill us in the 1990s for the calls we made to dial-up. The whole purpose of using that company was that they had zero charges for local calls of any length, and the dial-up service existed /because/ of that facility, dozens of households were like ours and just stayed connected over dial-up for days at a time. Essentially it's the same service you'd now think of as normal (via DSL) except much less bandwidth and you can't receive phone calls (we all had mobiles). This gave me the important insight that what most mattered for newer technologies like ADSL is that they are Always On Internet, not the bandwidth increase, because we had no extra bandwidth compared to neighbours but we used the Internet very differently because it was perpetually there. There was some 10base2 running around the house to a Linux PC with a modem and a NAT mapped all the PCs onto the dial-up address.

Anyway the person who sorted phone bills out got this bill for some obscene amount of money and they phoned up to say no, these calls are contractually supposed to be free, send us a revised bill that removes these charges.

The phone company says "Ah, you need to specifically identify any call you're disputing and then we can consider altering the charges". Which is now making _us_ do their job. Nope.

So he just gets the bill and crosses everything out. Absolutely everything on the bill gets crossed out, test calls, dial-up, everything, and sure enough the phone company took the hint and just zeroed the bill and stopped messing us about.
My understanding is that you can't learn without going through mistakes first.

If you find it intuitive, you find it correct and the brain doesn't change your neural structure; because why would it? No neural structure change -> you didn't learn anything.

If you find it difficult, do mistakes, can't get the correct answer -> your brain start to change its neural structure to be able to resolve these problems -> you learn.
Wouldn't that imply that they have a lot of spammers on their network? As far as I understand, the value proposition is both "you don't need to worry about email" and "we have so many customers (sending legitimate emails that are very similar in content) and so little spam, we have great reputation and you're inheriting that reputation".

If that doesn't work out, is their reputation not good enough? Is the receiving server too strict? Are those blocks occurring on major providers or for individual servers where an annoyed person might just blacklist an IP if they get spam from them more than once?
"Starving due to overpopulation" can't explain the scarcity of whatever it is. It is the opposite of scarcity.
It would still sort itself out eventually, one way or the other. We can speed up the recovery and try to minimize the impact, but even if there's no humans left life would probably continue in some form. If some species are destroyed, others would evolve into the empty niche. That's how nature works. That's literally how we and all other life got to exist on this planet in a first place, as a replacement for someone else less lucky/efficient.
feel the same. there's a lot of people out there who never get a chance to learn any english. to write your own code based on ascii / latin char set might be ok, but to interpret other's code etc. would be very difficult. so for example in a school, having only code examples with ascii could be a significant barrier to teach ,when all other subjects presented are in the local language / character set.
Doesn't almost all major "modern" languages support that? The list is quite long: https://rosettacode.org/wiki/Unicode_variable_names
> it never caught on, even in Francophone countries

I started programming at least 4 years before I started learning English. In my experience, not knowing what "if" means doesn't change anything because I never thought of code as prose. Whether it's called "if", "si", or "wenn", all that changes in my head is "what's the magic word that I have to insert before I can branch my code?".

This, I believe, it's why localized programming languages never catch on: because it solves a problem I don't have while bringing a new problem I do have, namely, not being able to find support for my niche programming language.

Variable names and comments? Sure, those are definitely prose. But I doubt anyone suffered too much when Python chose "elif" instead of "else if" (other than developers trying to remember whether a particular script should use "else if", "elsif", "elif", or "|").
Missing the point... Everyone has to jump that barrier so that there's no barrier between us, which is much more important.
That's how it works in Excel, I'm not sure how it works under the hood but it's translated to your system locale so you can open up your French speaking colleagues spreadsheet and not notice the difference until they start asking about "=RECHERCHEV()".
"Well that is where we are. You say we are on the brink of destruction and you are right. But it is only on the brink that people find the will to change. Only at the precipice do we evolve. This is our moment."
I see this out of date myth on every HN page discussing Qt. The fact that people still don't know that Qt is LGPL is damaging.