skysight-inc/HackerNews huggingface dataset:
The naming of the days of the week after the planets isn't obvious. The English
names of days are taken from the old norse gods, as you say, but the association
with the planets goes back to Roman times and it's rather obscure.

Here are the names of the days of the week and their associated planets (and the
old norse gods that give them their English names, as you list them too):

Monday --> Moon (Moon's day)
Tuesday --> Mars (or Tyr's day)
Wednesday --> Mercury (Wodan's day)
Thursday --> Jupiter (Thor's day)
Friday --> Venus (Freya's day)
Saturday --> Saturn (duh)
Sunday --> Sun (and duh)

Why are the days associated with celestial bodies in that order? Mars is not
between the moon and mercury, in the sky. Saturn is furthest, not closes to the
sun! But this was not exactly known in ancient times. Rather, the luminaries
(the sun, the moon and five planets) are ordered, in the Ptolemaic universe,
according to their apparent speed in the night sky, from slowest to fastest,
which the ancients took to mean corresponded to a planet's distance from the
Earth (since the farthest-away planet had to make a longer orbit):

Saturn
Jupiter
Mars
the Sun
Venus
Mercury
the Moon

But this is still not the order in which the days of the week are ordered,
according to their association with a luminary. Saturn's day, Saturday, is not
before Jupiter's day, Thursday, in the week!

The hidden detail is that the ancients regarded the luminaries as "ruling over"
an hour of the day. Each day took the name of the luminary that ruled over its
first day. So the first luminary, Saturn, the furthest from the Earth, ruled
over the first hour of the first day of the week, which for the ancients was
Saturday. The second luminary, Jupiter, ruled over the second hour and so on,
for all 24 hours in a day, in a repeating cycle.

Since there were 7 luminaries, the cycle repeated three times in each 24-hour
day, with 3 hours left over. When a new day began, the luminary that ruled over
its first hour was the luminary three over from the one that ruled over the
first hour of the previous day. So the day ruled over by the first luminary,
Saturn, Saturday, is followed by the day ruled over by the luminary three over
from Saturn, the Sun: Sunday.

To mess things up even more, the ancients had a second, "dark" day, and a dark
week, where the days were named by the luminary that ruled over the first hour
of nighttime (where the ordinary days were named after the luminary ruling over
the first hour of daylight). So for instance, when the "light day" was Thursday,
the "dark" day was Monday. The dark week starts on the 13th hour of each day
(the 13th hour from sunrise). I have no idea how the ancients managed daylight
savings time :P

Anyway our days of the week have a tinge of ancient astrological magic to them.
Remember that to the ancients, astrology and astronomy were still the same
thing. Our knowledge became more practical as time went by and less magickal.
Or, like I like to say, we finally found a magic that works.
The authors wrote that this is "possibly the earliest site with an oral tradition that was written down (Genesis)." This refers to the story of the destruction of Sodom and Gomorrah.
a new simple language is created (Python) -> beginners start using it -> they become proficient in it, some build successful businesses around the language -> limits due to the simplicity are hit -> people lobby for advanced features (lambdas, match, etc) which make code much easier for the subset who understand it -> other people complain that they can't understand the code anymore -> a new simple language is created (Go) -> ... -> people lobby for advanced features (generics) -> ...
> No. Embedded devices should generally not be on the Internet at all. Rather, they should have local management/update points and zero access to the Internet.

This! So much this. There should exist a gateway between these devices and Internet. IoT devices should not have to send data across the Interent in the first place unless user wants to access his home remotely.
You should ask that question in the Go and Plan 9 forums.
I expected there to be suggestions this city was nuked by ancient aliens.
No, this was absolutely over the headlights, we had a rather drawn out argument about it. But his being obviously drunk and a road rager certainly contributed to his uncharitable interpretation of the R1's bright ass dual factory low beams. This guy was livid and absolutely convinced my headlights were modified. He repeatedly asserted that bikes are required to have a single light on for low beams, claiming that's why sportbikes (at the time) often had asymmetric low beams.

Sure there are assholes everywhere, but riding with your high beams on constantly is obviously affecting the probability you'll enrage someone who will do more than just curse and squint. You're the vulnerable one on a bike, never forget that as a rider.
> Gemini being its own stand-alone thing that is different from everything is a serious hindrance for people to try it

This is the only reason it has any attention. People who understand it like it because others are excluded

It's trivial to serve your site as .txt files if you want. This is the digital equivalent of sticking a "no girls allowed" sign on your treehouse
My understanding of the US legal system (I'm British) is that stockpiling cash isn't a crime, irrespective of the amount.

Sure, sleeping on a mattress made of $100 bills might raise suspicion.. but that's still not a crime. If the government suspect you haven't paid your taxes, the burden is still on them to prove you didn't pay your taxes. If they have any evidence to bring this to a court, it would need to pass the threshold of actually being evidence of absent tax payments, it is not enough to say "They are sleeping on a bed of benjamins, your honor."

I'm well aware this is ignoring how hilariously broken actual legal proceedings are, of course, thus scenarios like the one that started this thread.
Type flowing: Rethinking the TypeScript typing system
Why not? It is rational, and it is effective. Murder a bunch of people - the world changes.

More security, more laws, more healthcare, more attention to issues from the average people, and also more hate.

Maybe it doesn't change the way the suiciders wanted, but it does change.
There is a whole world of publications that fall in between the noisy online boards and big American news channels.

The Economist, FT, nakedcapitalism, Yahoo Finance reported this.
A more interesting bit of the paper:

> It is worth speculating that a remarkable catastrophe, such as the destruction of Tall el-Hammam by a cosmic object, may have generated an oral tradition that, after being passed down through many generations, became the source of the written story of biblical Sodom in Genesis. The description in Genesis of the destruction of an urban center in the Dead Sea area is consistent with having been an eyewitness account of a cosmic airburst, e.g., (i) stones fell from the sky; (ii) fire came down from the sky; (iii) thick smoke rose from the fires; (iv) a major city was devastated; (v) city inhabitants were killed; and (vi) area crops were destroyed.
You forgot about the F# flavoured query language as well.
Right. If you're very sensitive to download time then you want to trim unused code as much as possible, or dynamically page it in.
"It’s tempting to think of pattern matching as a switch statement on steroids. However, as the rationale PEP points out, it’s better thought of as a “generalized concept of iterable unpacking”."

This is the problem with the recently added features in Python. As the author of the blog post correctly notes, the features are unintuitive and full of special cases.

You always have to know and recreate the steps that the unpacking machinery takes, there is nothing logical and declarative like in the ML family languages.

Pattern matching in SML or OCaml is simple and obvious.

These features are added to Python in order to give an impression that some "development" is happening. With the benefit that they prevent implementations like PyPy from catching up. Meanwhile a non-existing vaporware JIT from Microsoft is pushed as the future.
I think that's largely because "blow everything up" is arguably the correct thing to do on an expired certificate, at least compared to "silently do an insecure thing". If you visit a website with an expired certificate, most browsers do what you suggest and ask the user if they want to proceed at their own risk. All the software that doesn't have a direct user to ask, like basically anything running on a server, has to either fail with an error when something is wrong with the certificate, or open up a security hole that will probably eventually be exposed and exploited.
I find it hard to believe that you can work for the NSA without being given proper training to detect this kind of maneuver.
Well the second and third points seem valid.

The first point though, I don't get? You are forced to use NAT now. If IPv6 were the standard, and assuming that the implementation of NAT was fine, then you could have the choice of both. Since you prefer to keep NAT, I'm not sure why you'd need to stop using it if IPv6 rolls out?

Are you saying that because we're forced to use IPv4 now, you're more accepting of NAT?
I still use dbx from Sun Studio. The now-oracle connection taints it, but it was from good old Sun. It was always better than gdb for threaded debugging.

Haven't checked if it is still available but I have it installed from long ago.
> It is too easy to: splash page, Wordpress, "rails new saas" for a product and then try to sell via SEO / outbound

Not even that, these days people simply start newsletters...

Still, I wouldn't write off the payment model. People seem to prefer subscriptions to one-time payments. If they didn't, Netflix, Spotify, etc., wouldn't enjoy the popularity they do.
I think it was Justin Kan who tweeted something like:

"if someone else could copy your product, and they have more customers/grow better, then you aren't the right fit for it"

Also, nowadays, product is a small part of your company. Can you remember the last time you saw someone having an initial traction just because they have a great product?

You can copy Airtable/Notion as long as you want, adding some more features to it. But it's not how it works, I believe.
Someone with a properly functioning brain may think about suicide anytime, but can do the math that an emperor or a mullah asking you to blow yourself up for him is a phony, and that the feeling that everything is ruined is belied by the fact that there's always tomorrow. A properly functioning brain takes suicide into account as a possible choice all the time. It's just not a meaningful choice as pertains to the daily life and economy of the rest of people who keep living. That's really all I was trying to get across.
what's the difference in a suicide bomber and the drone that killed his family?
You're failing to think about it as a graph. Here's a graph to look at:

https://letsencrypt.org/certificates/

Let's try a concrete example, https://letest.tlrmx.org/ is a simple test site, it has a normal Let's Encrypt certificate. This certificate was issued by R3, the same intermediate issuing most (but not all) Let's Encrypt end-entity certificates today and this certificate doesn't expire until November.

On the graph that certificate is a labelled edge from what we'll call the R3 keypair to my keypair for letest.tlrmx.org, saying that R3 certifies this is really letest.tlrmx.org (and www.letest.tlrmx.org)

But, because it's a graph there are two certificates (actually three but we'll ignore that) for that R3 keypair. One of them is signed by DST Root CA X3, this one says R3 is certified as a CA by DST Root CA X3, and since DST Root CA X3 expires later this month, that certificate too expires later this month. However, there is also a certificate for R3 saying it's a CA, signed by ISRG Root X1 and that doesn't expire until 2025.

If we trust DST Root CA X3 this is all fine... for about a week. But if we trust ISRG Root X1 it's still fine until 2025, which is ages.

Immediately one bug rears its head. Software such as older OpenSSL versions may trust DST Root CA X3, notice it's expiring and then falsely conclude this is untrustworthy, even though it also trusts ISRG Root X1. That's a pretty bad idea, but you can bet some people are still running this.

We can continue following the graph to ISRG Root X1 but is this enough that you now see why atonse's simple view of the world is wrong?
The project is quite broken indeed but it works after some tweaking. https://www.getmotoradmin.com/ uses ruby-packer to make it easy and fast to deploy an app (executable binaries are faster and easier to deploy than docker, also heroku deployment takes about 20-30 seconds).
I do agree with you completely. But the problem here is as old as programming itself. It's not always easy to define function boundries.

If your function returns pizza, as mentioned in other comment, adding some toppings won't change the boundaries. It still returns pizza, with peperoni or not. It doesn't change how you make the pizza. You're just adding more data to it. You may solve it with syntax, language data structures, etc. Whatever you like to make it more readable to the caller. But probably you'd want to pass toppings in arguments.

On the other hand if you have a boolean param that changes how function works. That's questionable in my opinion. Say you want to return list of users from DB but omit interns, sometimes, and you need to call API (or query DB) to know if someone's intern. You could define `omitInterns` bool argument but it seems clunky to me.

I may be mistaken, though. As said: defining boundries is not easy.

This also touches other problem a bit. Should we strive to decrease `if` branching in our functions or not? I personally tend to branch very early on, so later I can follow straight path. That's not always possible, but if it is, it helps greatly. Makes code easier to follow.
> How can I invest time and money in using a product if I'm afraid the founder will bail after a few months?

Would you rather a risk a much bigger one-off payment? For software? Sure, it works now, but it might never get updated, and eventually stop working altogether due to OS updates or other factors.

The one-time payment model is a much greater risk to the consumer than monthly subscriptions.
They do, it is called Sharepoint.
Seconding the parent's post on it looking amazing. I'm going to try it out now for our B2C app, we were looking to build some internal apps and you might be saving us a lot of time there.
Thanks. I would have written something with similar points, but your writing was better.
Thanks a lot! I am sorry to hear stories such as yours...this is indeed a massive problem in many research areas. FWIW: if you want to reach out, I'd be happy to give you my opinion and maybe some inside scoop on the Swiss/German systems if that is helpful.
3D-printed, microscopic gas sensors–painters’ pallets with o a hint of pigment
Any info regarding if Safari Web Extension will work with other browsers installed on IOS? I have edge and Chrome installed and wonder if the extensions will come to those browsers also. The articles I have read does not address this aspect.
This actually has a web backend.
Yeah, so I'd rather have 5 hours of light sleep than try to fall asleep for 2 hours and then wake up 4 hours later. Alcohol helps. Just not long term.
> a cop could give you a ticket here too.

But won't. Or probably won't. Unless it's a speed trap. And if they do, they're not in the wrong to do so, but it doesn't mean you were 100% in the wrong to slow down to 10% instead of stopping. So it doesn't necessarily mean you need to change your behaviour, except to be wary of speed traps. And in case of danger, being able to stop is important, but there could be situations where slowing down is safer than jamming the breaks. And you might be able to explain that to the cop, or the cop might see what happened and give you a pass.

Point is: situations can be complicated and nuanced, and AI is still very bad at this kind of social thinking. Personally I've come to the opinion that AI will never really be good at this kind of thing until it actually lives in and participates in society, whatever that may mean.
> To a mathematician I imagine this is immensely boring,

You obviously haven't met many mathematicians; they're building proof assistants that are even more “boring”, and loving it.
Well. I have a book that uses a minimal subset of Python as the illustrative language, and oh boy would the examples have been vastly improved if the author had gone the extra yard and added comprehensions into the mix rather than ploddingly building his transformed lists in loops like a Neanderthal.

Decorators though I totally agree; had some tooling at work that was gussied up to the point of impenetrability by gratuitous use of decorators. A colleague got so fed up with it he rewrote it in Perl, which was, shockingly, actually a maintainability improvement.
Author here; thanks for pointing this out! I think my focus on improving might be too myopic; so far, I have not considered alternatives to the current system at all (there are certainly some position in which you get a regular working contract similar to what you will find in industry positions, so maybe I should also be more specific when it comes to using the term 'tenure track').

As usual, it is exactly this type of comment that I appreciate in an HN discussion!
Tried "Mongolia" to "United States". My mind is blown; 222 paths with 2 degrees and the nodes look like an atom with a dark hole next to the nucleus.
The concept came over from Rust and Haskell.

The value of the concept really comes out when you start designing your types to be case...match-ed against. I am not the best person to explain this, but the value I mean is allowing more 'algebraic datatypes' to be used in python. This way you can have the structure of your data(types) more closely resemble your business logic. Making code more readable, and also making it harder to represent invalid states, which reduces the need to validate data. (I recall an article called "parse don't validate" the same idea applies here)

I think it will take a while for python users to start using this paradigm, but I expect it will be very useful for folks who know Rust, Haskell, or similar languages.
Database containing personal info of 106M visitors to Thailand exposed online
>Like, it's pretty normal for such services to demand phone numbers. Like Signal does.

>If you don't like it, you can use something else?

We can also demand that they keep using passwords. Signal, for example, is a complete non-starter for me because of that phone number requirement. As long as they have that requirement I will never use their service.

Also, that $10 security key is just a step away from being your national ID card. That's how bank logins work here. No passwords allowed.
So more or less abandoned already?
https://www.getmotoradmin.com/ uses it
SSD Advisory – macOS Finder RCE
Show HN: Classified.html, encryption solution that is just a file, web/terminal
There are plenty of reports of:

- Amazon predatory pricing

- Amazon trying to mistreat their workers (including AWS) as much as they can

- Amazon/AWS copying products, FOSS software, and messing up with companies that they invest into.

- Their complicity with all the scams going on their store.

- And a big, big etc

But, but, Amazon is not AWS! Amazon is retail and is a different environment! Yes, but it is under the same people.
It's optional for now - anyone who hangs around here must surely know how tech companies are prone to breaking things that work in the name of progress. Forced Windows updates, anyone?

If this idea gains traction then Microsoft will roll over the objections of those who can't/won't use it, and tough luck.
I kind of agree with him, despite being of the opinion that optional inline images should be allowed by the spec. Fetching favicons is going a bit too far for my tastes.
I would consider IOT trash any IOT device that demands/requires an internet connection to be functional. The same would apply to any smartphone that requires a sim on first start (or after factory reset).
Embedded devices should not even be alowed online.

Automatic updates I have mixed feelings about because they (sometimes) have a bad habit of breaking things and give me a ton of hassle.
So, two early cities were destroyed by meteorites in the Bronze age, when there were very few cities world wide.

And that's it, as cities kept poping out everywhere, this never happened again.
All software has a user, otherwise, what is the point of having the software in the first place? A server’s user is an operator, devops, or whatever the org calls it.
How to Design for a Global Audience
The Snake-Oil Salesmen and the Covid-Zero Con
So what's the option of Google not scanning every content you have on their devices (I mean they even scan all your emails in Gmail)?

With Apple's CSAM you have an actual option which is just to not use their iCloud photo sharing.
you say this with the assumption that your devices will all implement a good ipv6 strategy and not suck.

generally the ipv6 support in endpoint/iot devices really sucks.
NECA, Attorney-General Back Payment of Vat to FIRS
Part of me wants to disagree since some of these features make my code shorter, but I have to agree since they commit a sin of language design that I dislike - implicit magic. Decorators are useful because they can help you shrink code by letting the decorator generate boilerplate for you. The code gets smaller, but now it’s harder to know what’s going on since you need to know what magic happened behind the scenes due to the decorator. It feels very much like issues I ran into when I used C++ meta programming libraries - my code shrank, and at the same time my understanding of what it actually did also shrank. Same with the walruses - my code gets smaller because now there’s some implicit stuff happening.

Comprehensions are a little less magical - if anything, they are more explicit. If I want to create a list where each element is generated by some function over another list, I just say it. Doing so with loops is obscuring what I wanted to say in the first place. The problem with comprehensions isn’t so much the comprehension, but the obtuse ways people can use them to eke out performance by avoiding explicit loops.

I’m all for things that are closer to what a programmer means, but less keen on features that entail obscuring details that may come back to haunt the programmer later (I see this most often with decorators).
> Surely you understand why a school-owned and school-provided device is monitored by the school

Not at all, no. Ownership of the device (worth very little, maybe I'd feel different if it was a $100+K instrument on loan) should morally grant no spying rights whatsoever to the owner.

Privacy of the person, but particularly a child, far outweighs the importance of any cheap gadget.
The typical C compiler is a transpiler as well. It convert C code to assembly that is then converted by the assembler (another transpiler) to machine code.

As the sibling comment notes, transpiler is not a very useful term.
No, I'm saying I want to use NAT. IPv4 NAT is better than IPv6 NAT (less buggy). Therefore I want to use IPv4. It's pretty much only one point.

But I still haven't heard an advantage of IPv6. It would let me avoid NAT, which is why people tolerate a buggy NAT implementation. But I don't want to.

It's like telling a Yankees fan that one of the perks of his new job is season tickets to the Red Sox. (I hope I got the teams correct)
> The one-time payment model is a much greater risk to the consumer than monthly subscriptions.

Short term - yes. But long term? It seems there is no point in planning to use a software for years now. And I don't like to migrate my knowledge base to new tool, every 2 years. But is there a way other than mastering org-mode on weekends?