skysight-inc/HackerNews huggingface dataset:
Just a note about applications, there is a pretty direct application of aperiodic tiles with quasicrystals [0]. Diffraction patterns of quasicrystals can have symmetry that can't occur with periodic tiling which explained some weird diffraction patterns people were observing.

One can imagine a scenario, occurring for metal or mineral creation or even in a biological setting, where only one shape is allowed because of some external constraint, including not allowing it's mirror.

[0] https://en.wikipedia.org/wiki/Quasicrystal
Looking for beta testers for software deployment product
We will be starting our beta testing process next week and looking for software developers and DevOps engineers to test our product. This will not be a long process and we will reimburse you for your time.
In retrospective, the internet has done a lot to stifle human progress or thriving through proliferation of extremist ideas and overwhelming addictiveness.

Just take the recent events alone - COVID-19 would not have been as much of a threat to humanity if some people wouldn't have built echo chambers on the internet with tremendous influence over others where they would share their unfounded conspiracy theories and miracle cures (or miracle alternatives to protecting oneself).

But there is a lot more. The data collection through the internet has enabled politicians who have no clue how to lead to be elected through just saying the right things to the largest demographic they can appeal to. Total populism and appeasing the masses has always been an effective strategy for politicians, but at least they could not execute it effectively. Now, everyone with enough money can. And this definitely stifles human progress and enshrines a level of regression in our institutions. Potentially dangerous regression, especially when it involves prejudice against a group or stripping away rights, just because people talk about it in their DMs on social media and get binned into related affinity buckets for ads.

Then there is the aspect of the internet creating tremendous time-wasters for a very large proportion of the population, robbing humanity of at least a million man-years of productivity a day. It is too addictive.

It has also been used to facilitate genocides, severe prejudice in large populations, and other things that are extremely dangerous.

High risk? Maybe not. A risk, though, for sure. Life was significantly more positive, happier and more productive before the internet. But the negative impact internet has had on our lives and human progress isn't all that it could have had. When a senile meme president gets the nuclear codes thanks in part to a funny frog picture on the internet, I think that is enough to say it poses a risk to extinction.
Cite where it is being said that these companies are arguing "to make their models legal, but any competitive upstarts illegal". As far as I know nothing of the sort has been proposed. You may think this is obvious, but it is far from it.
By “20% time” do you mean the recommendation to spend 20% of your time learning?
> People just like the convenience, and cash is on its way out.

My favorite question that many of the people on this site love to ignore, what about natural disasters? Do you believe CC terminals still work when the rest of the infrastructure has failed?

Cash is far from on the way out, you’re being naive.
mmh we are saying the same thing, so I suppose there was a linguistic misunderstandig, English is not my native language
TIL "district heating" (a heat distribution system) is a thing. It does make sense to use waste heat from industrial processes to heat homes.

I'm not a thermodynamics expert, but I think you probably need some density of heat sinks so it only really works in cities.

I wonder if in the summer, it could work in reverse? I speculate there are two options for summer operation: (a) a centralized AC plant sends cold fluid into the pipes, or (b) a decentralized AC heats hot fluid.

With option (a) I suppose it's not very backward compatible with a heat-only system, if you have a bunch of customers who built their factory expecting "this pipe will always be hot" they might have a bad time if you make it cold half the year. With option (b) it's more backward compatible but I think customers might not like it. I'm pretty sure AC gets less efficient based on temperature gradient so pumping AC into a heat transportation pipe would be more expensive for customers (electricity, wear-and tear on AC, takes longer to get to the commanded temperature when you reduce the set-point). So you'd have an incentive to unhook your AC from the system and just send heat into the air instead.
> It's like if there were 100 degrees in a a circle

There are 100 gradians in 90 degrees, does that count? They're probably supported on your calculator. https://en.wikipedia.org/wiki/Gradian
We have a small feature that was put together in a rush. It "works", but only works correctly for some simple cases, otherwise there are bugs everywhere. There were very few tests. We must redo the while thing, update the UX and add tests. Tell me how we can achieve that without replacing all existing code and add new tests that cover every use case in the same change.
Show HN: Auto – A TypeScript-powered automation tool
Hey, I wanted to share this tool I've been working on for automating things using TypeScript.

It's in a very early stage, and any bug reports & feature requests would be greatly appreciated.

Before making Auto, I had a big list of aliases that would call some global scripts that would generate files in different ways depending on the project I was in (cwd).

It takes a lot of inspiration from zx, but has a different model, without shebangs, and with global and per-project scripts.

I hope it will save time for other people as well.
Thanks for checking it out!
Another advantage of pipes at the end is that you can comment lines and the full pipeline still works.

Some time ago I wrote a bunch of tips to make more ergonomic bash scripts: https://raimonster.com/scripting-field-guide/index.html

Also, Perl's diamond operator does the DWIM thing with files/stdin, and it's used directly as a line iterator. It handles multiple files (or none) in a row, which is a nice plus :) https://perlmaven.com/the-diamond-operator
Opinion falls into two camps because opinion falls into political camps.

The right-wing is tired of the California ideology, is invested in the primary and secondary sectors of the economy, and has learned to mistrust claims that the technology industry makes about itself (regardless of those claims are prognostications of gloom vs bloom).

The left-wing thinks that technology is the driving factor of history, is invested in the tertiary and quaternary sectors of the economy, and trusts claims that the technology industry makes about itself. Anytime I see a litany of "in 10 years this is gonna be really important" I really just hear "right now, me and my job are really important".

The discussion has nothing to do with whether AI will or will not change society. I don't think anyone actually cares about this. The whole debate is really about who/what rules the world. The more powerful/risky AI is, the easier it is to imagine that "nerds shall rule the world".
Flex gone wrong
I wish I could remember the exact book, I think it's _writing solid code_. There was a long example about the excel evaluation engine back in the day when it was shipped on CD's and had to be perfect. The approach was, use one big dumb slow, but understandable and correct implementation, in parallel, use the lightning fast super whiz bang new implementation. Since both shared the same interface, they could be swapped out, or both run at the same time.

I think there is real value in starting with the pure functional versions, then swapping out when needed. One problem that seems fairly common in large codebases is using an object as a hash key. but as the code grows, that object sort of gets passed around and eventually somebody updates it without rehashing. That's a tough bug find. They are for me anyway.

This is one of those rare cases where you can actually make it faster later without trashing the overall design.

I'd encourage starting with the pure functional version first, every time. I'd go further and say, leave some opportunity to flip back to the pure functional version in dev builds for isolating heisenbugs.

Blah blah, grain of salt, free advice, your milage may vary, Games have different requirements than webpages, everything is contextual.

This is one rare case where it's always worth having the capability of swapping back and forth is worth it. Just use it, and think hard before giving it up is a really good default.
I'd love to agree, but there's a whole list of companies I can name and shame where upgrading was, and is, simply a waste of time and resources for everyone involved in the design. It'll do the same speed regardless, with identical error rates, because the protocol hasn't changed. It's simply marketing guff that they can slap on the same product. The "gold-plated HDMI" scam with a fake mustache.
Well yes and no. While it is technically possible to use a satellite launcher to deliver a nuclear weapon, those technologies have almost completely diverged in most countries. Satellite launch rockets are almost all liquid fueled now in order to maximize payload. Some early ICBMs were also liquid fueled, but that made them less effective as deterrents due to long launch delays. Modern ICBMs are solid fueled: not enough specific impulse to be very useful for orbital launch, but great for sending a warhead on a sub-orbital trajectory with no advance notice. Don't need to waste time with fueling, just turn the keys and it goes.
They killed twenty-eight kids.

This suggests that "going after" the compound was not really about the welfare of any children. They could have hardly performed worse in said child welfare unless they had made an itty-bitty Dachau and ran the kids through it.
I find it quite extraordinary how many on here are dismissing that there is any risk at all. I also find statements like Yann LeCunn's that "The most common reaction by AI researchers to these prophecies of doom is face palming." to be lacking in awareness. "Experts disagree on risk of extinction" isn't quite as reassuring as he thinks it is.

The reality is, despite the opinions of the armchair quarterbacks commenting here, no-one in the world has any clue whether AGI is possible in the next twenty years, just as no-one predicted scaling up transformers would result in GPT-4.
Yes my one uses in in a semi-useful way! But agree use cases are limited and even in my project it’s not fully smart enough to be very useful
The problem with the FBI is that it should never have been allowed to be a police force. It should be a scientific advisory agency only. From the civil rights era to the Russian dossier, The FBI has become a political tool and that's wrong
When you have a website & an app that reach >1 Billion people a day there is a strong risk aversion that sets in. People are constantly trying to make improvements, add features, keep up with the competition etc, but the risk of making things worse is very high (A billion pennies a day is still more money than most people will see in their lives). Experimenting in the wild is no longer possible like it is for a startup, so instead a solid research program is needed to test and validate new features before launch. Yes having good designers would obviate a lot of the need for researchers, just like having good engineers would eliminate the need for QC. But realistically QC and UXR are both important parts of the product release process at a large company.
We have absurdly fast hardware these days.

I can barely believe that a single thread, copy pasted quicksort can sort 1M elements in less than 50ms on my computer.

Fast compilers such as TCC should be frequently used as a reality check for compiler teams. Of course the constraints are not the same but still...
There used to be a Tetris clone for Mac called Quinn. The web site for the game said: "Quinn is an implementation of a popular falling-blocks game which, according to the Tetris Company, must not be named here."
Perhaps the intro blog post should be the one linked: https://developer.mozilla.org/en-US/blog/welcome-to-the-MDN-...

Interesting that they'll have sponsored posts.
Cops and prosecutors are coworkers whose jobs fundamentally depend on cooperation from the other. They aren't and won't ever be adversaries. A given prosecutor having a personal working relationship with a given cop certainly makes this worse but it isn't the core constraint.

An out of town prosecutor will still consider police generally to be allied peers. They still have to go home afterwards and have a working relationship with the local police, who certainly consider the cops a few towns over to be part of the same family and will consider prosecution of one of them an affront to all.
Wow, 213x P/E ratio.

To put this into context with other large tech companies:

P/E MARKET CAP
Salesforce 1,036x $0.2T
AMD 519x $0.2T
NVIDIA 213x $1.0T
Amazon 293x $1.25T
Microsoft 35x $2.4T
Meta/FB 33x $0.7T
Apple 30x $2.7T
Google 27x $1.5T
TSMC 16x $0.4T
Samsung 10x $0.3T

EDIT: "P/E" ratio is the Market Cap "Price" / Earnings the company generates. E.g. Samsung is generating $30B in earnings (not revenue, earnings), investors are valuing Samsung to be a $300B company. That means investors see Samsung is worth 10x P/E
The book is on Amazon, but this submission had those keywords, plus it's a PDF.

Of course it is of contemporary relevance; functional programming (FP) is all the rage.

The tricky bit are questions like

How does this jive with existing JS functional constructs like "fantasy land," for example.

How to "recruit" more folks to FP, or even a hybrid approach of objects interacting functionally

Game jams using more FP-like data structures? Or more HN submissions like that.

The harder things to evaluate are a lot of other topics, news-like but investigative and curious, or sites that are essentially selling a service (versus teaching the mechanism behind it).

For SaaS stuff, since HN is about startups, I have to let it slide. But the hacking piece is when one person accomplishes something with persistent decomposition of sequential problems, or does something clever using tools or ideas from a different context.
It would be cool if someone could translate this into Typescript or the like, I think it would make it a lot more readable.
There's a lot of bashing on UX/UI design in this post. As former developer that switched careers to it, I think that most of the comments are not being fair.

In the 90s most people had a very hard time using a computer, software came with thick manuals and often they found themselves in situation where needed help.

Nowadays people from all ages use software for many aspects of their life, they interact with their banks, shop online, do their taxes, communicate, interact with their governments... through software. People ranging from kids to elders. Expecting to open an app/web and being able to use it directly, without reading a manual or a help center. This is a great amount of progress.

Over this, you've to take into account that often there's a big gap between the design and the implementation due to many causes (business requirements, deadlines, committees, hurry to release, technical limitations...)

Of course, the field it's not perfect and there's many designers that are not great, or are entitled pricks. But I'd say that design (call it UX/UI, product, HCI, IxD, whatever flavour of the day) has added a lot of value to the table and helped make technology as ubiquitous as it's today.
What about PFS? I guess it will fails when both keys are compromised?
counterpoint: every crazy person you know who is on facebook.
> It's surprising how many systems there are (Russian, French, British, US, Chinese, Indian etc) and how rarely anyone dares to actually do a public test...

The stakes of getting this wrong are incredibly high. Perhaps all of these systems are simple posturing tools, incapable of providing real protection if called upon. They provide comfort to the population, and doubt in their enemies.

I think it's just as likely that these systems work to some degree, but demonstrating them would provide the enemy with quantifiable data that can use to help circumvent the protection.
There's a book which looks like it's based on this dissertation, which probably is a better source to read if you are interested in this topic: https://www.amazon.com/Purely-Functional-Data-Structures-Oka...
I think you can both support going after "militant child-enslaving rapists" and disagree with the methods they choose in waco...

To move it away from political charged event like waco generally the police have a habit today of creating more violent situations, often under the guise of "officer safety" when in reality is "street justice" they are after.
Yes, that’s why nobody used it. The plausible use case was something like watching 24hz, 30hz, or 60hz video content without juddering that 75Hz would have, and where depth didn’t matter.
Just like when Toyota sent all their assembly plant workers on paid training courses instead of furloughing them like GM and Ford
In dreamland talking to this lady about whatever.

She says, "ask your rat". Points at my phone.

I reply, "Rat?".

"Yes. It's the size and weight of a rat. It squeaks like a rat"

"And it spies on me".

"Yes".
I have no idea what's going on under the hood, but I'm sure it's not a linear time process, and all it takes is one of those elements to be "109.1" to flip 1M elements from Ints to Doubles. Yes, they could special-case this (and arrays of Doubles, and Strings), but where do you draw the line? That's now extra code to maintain in the compiler just to support a behavior that should be discouraged. If you need to read in 1M integers, put them in a file and read them in.
If there is any replacement in the HPC world (and I don't really see indications for that), it's Adios2.
In this instance it means that neither party is subordinate to the other. It does not mean "equal" in the mathematical sense that two things are identical. With this knowledge perhaps you can go back and make sense of the discussion.
"Well, I, uhh, don't think it's quite fair to condemn a whole program because of a single slip up, sir." - Gen. 'Buck' Turgidson, Dr. Strangelove
Our Maps Don’t Know Where You Are
But that’s a rather simplistic perspective because a moral imperative in the Kantian sense can already apply much earlier.

For instance, don‘t inflict unnecessary harm on living animals if it can be reasonably avoided.

At least to me this sounds like a pretty reasonable rule that I would be willing to follow and could prevent a lot of suffering in the world.
Pooh is out of copyright so unless you're copying the Disney adaptations you can do whatever you like.
If you want to make a slasher film, just make a slasher film with original characters, maybe it will even be good. My point is you don't need existing IP to adapt.
Woman is knocked unconscious in famous cheese-rolling race – and wins
Incrementally usually :)
I agree, but it seems to me that it's still the employers choice whether or not to take that gamble.

So I'm still not understand the basis for feeling insulted my an employer testing the market in this manner.
Tetris has become so universal that it feels like a generic term, similar to how we usually say Kleenex instead of tissue and chapstick instead of lip balm. "Setris" sounds fine as name of the game, although I also like "Sandtris", which sounds less similar to Tetris, and probably less likely for IP issue.
Lisp is old. Thus software from several decades back can run.
This has been a topic I've wanted to get into for a few years now, specifically because of Clojure! So if you have any additional recommendations I'd appreciate it.

I really enjoyed Friedman's book `Scheme and the Art of Programming` because it filled in
some pieces missing from "The Little Schemer" (and "Seasoned Schemer"). Building stuff like `kons`, `map` and all that `letrec` stuff.

But the big difference between Scheme and Clojure is that in Scheme, while it's "functional by concept," you get to escape with `(set! ...)` whenever you want to have a more traditional ds/algo (like say doing the n queens problem).

In Clojure you can kind of do that by either escaping to Java, using protocols (with atoms), or using transients, but I often feel like there's a "more functional way to do stuff that hasn't been taught to me."

I've opened up either the Okasaki dissertation or book or both, but I've always had trouble reading it, and then sticking with it. And some stuff like looking at Rosetta code and saying "to reverse a linked list in a lisp is easy... because it's a cons cell" seems like cheating. Almost like showing up to an interview, saying your "linked list" is implemented in an array structure and then calling `reverse()` on it.

Will watch that talk from 2014, must not have seen it before.

I guess, conceptually, day to day things in Clojure does feel pretty natural, even easier, and I think I have a decent understanding of it. But then when I look at leetcode type problems, or something more involved, it takes a lot of mental effort to translate to it. Especially things like `big O` gets thrown away in my mental model. I get it, persistent data structures and all that, but there's still a mystery there.
My understanding is that the book is based on this PhD dissertation.
Sooner or later we'll have to pull Facebook out of FAANG. Nvidia seems like a worthy replacement.
The distance between Pyongyang and Seoul is about 190 Km (120 Miles). Fancy a Nuclear War?

Edit: Just to clarify...I mean the distance between both is so short, a Nuclear War is absurd. There is no way to Nuke one country, without making your own country a radiation fallout zone.
The real threat is systematic violation of legal and Constitutional rights & protections. That is very different than a law enforcement agency that occasionally overreaches. The threat is the overreach.
ChatGPT Secret Training Data: The Top Books AI Bots Are Reading
You don't own the comment as in the replyable entity. That's part of HN. You explicitly chose to look at replies. There aren't even reply notifications here.
It is really easy to use Zillow to compare houses across the USA - I can find nearly identical properties in almost any metro area I could consider, and it will list prices, taxes, and even estimate insurance.

But it's much harder to compare all the other expenses involved with month-to-month living (utilities, car insurance, car maintenance, etc).
What are software bugs that can be avoided by choosing data structures like these?

I'm making a broad, high-level presentation about immutability in technology. At my company we have folks who have heard of it in the context of ransomware-resilient backups, others who have heard of it in the context of infrastructure as code, and very few who have heard of it in terms of data structures (distributed and non-distributed). My goal is to showcase the concept in various contexts so that people can better understand its role as a key design choice in technology.

Personally I have no experience working on software that utilizes these, so if others here do, I would appreciate your input on how these make your software more reliable.

The emphasis on software reliability and bugs-avoided is because the audience works under the company's risk-management division.
What a great way to 'inspire' not just the women in Afghanistan, but women everywhere that are finding ways to break into tech!
Yea, HDF5 is great at what it is great at. The problems however come when people try to use it as a general data storage format and pseudo database.