Assuming it works the same way as their MySQL product, Vitess:
The usual way to run it is that you partition your db based on something like a user, so that single user gets a consistent DB, but anything cross-shard may not be.
I know when I worked at Block, Cashapp was using Vitess and getting cross-shard DB writes down and functioning correctly was one of the major blockers to adoption. (though I just did tls management for vitess and didn't write any workloads on top of it, so my impression might be a bit off)
The consistency guarentee assuming repeatable read or higher on each shard is parallel snapshot isolation, which is technically still higher than postgres read committed.
If you have serializable on each shard and you chop transactions so you have no cross shard transactions, the application is technically still serializable, it just behaves like two independent deployments of the application for different shards
I think "very straightforward" is vastly overselling how easy editing OSM is.
It feels like editing a database, without any affordances for easily making common updates.
If the hours of a store are wrong on Google Maps, I just upload a photo of their store, and it'll be corrected quickly.
On OSM, well, most things are out of date. There's no simple 'update this business' flow, just a database editor. And a map that feels like I could break anything by clicking in the wrong spot.
OSM is a cool project, but it isn't straightforward. And unlike Google and Apple maps, most of the businesses in my area are years out of date, so I can't effectively use it to find information either, so I just don't have any reason to interact with it. Plus no aerial/satellite/streetview imagery, which I understand is probably infeasible, but ultimately it just means OSM is a niche product that won't replace Google.
So yeah, I'm propping up Google, but I get way more benefit out of it than having an open data set used to power Amazon's delivery driver routes or whatever.
In OrganicMaps/CoMaps I click "edit place" > "Business hours" and get a nice vidual editor with checkboxes for each day it's open and boxes to put in times.
Same in OsmAnd, but editor looks a bit different.
Cartes.app has the "imrpove this place" screen where opening hours is one of the options, but it takes a few more clicks.
Openstreemap.org's web editor also does open hours quite well, but it does have a much complex submission process (it also asks for an edit message and edit tags).
Cartes.app has sattelite imagery as a "premium" option if you donate because they probably have to pay for it. OsmAnd also does, but I don't know if it's free because I paid for it years ago.
The real issue is local business know about google maps and are often happy to update schedules themselves. The effort for them to know/care about OSM is too high and the payoff low (most clients are on google maps).
I feel like I addressed this in my comment. On a laptop, someone who went through what OP went through would surely be able to click "Edit" at the top of https://www.openstreetmap.org, and add a SuperCharger. If they make a mistake, it is likely to get corrected, rather than rejected.
When it comes to fixing opening hours, https://streetcomplete.appdoes really make that about as straightforward as can be.
Edit: ah, I just noticed I forgot to prepend the * to my remark in parentheses. I did mean to emphasise that generic edits are only straightforward on a laptop, and only guided edits are straightforward using StreetComplete.
I daily drive CoMaps, and its UI for adding common things like businesses is excellent, just tap a point, tap "add place to OpenStreetMap", choose what you want to add (e.g. restraunt, parking, store, etc.) and fill in the relevant details. It's not a full database editor, it's got just what you need to quickly add things to the map.
I don't know how fast my CPU cores are in MIPS, but it's 4.5 Ghz and some random googling indicates that might be about 10 MIPS per Mhz, so 45,000 Dhrystone MIPS.
And assuming about ((32x32 core-hours) / 8766 (hours/year)) x 45,000 = 5256 MIPS-years.
So within the order of magnitude of the 1999 factoring! Of course, the MIPS number is kinda made up, so
That's a good point. I've added to the post. It's simple enough I'd expect anyone who wants to do it can follow the docs from CADO-NFS, which are very good, but I can write it down explicitly.
Install CADO-NFS per upstream directions.
Get the number you want to factor. I just did this in a python repl, something like:
from cryptography import x509
f = open("gold-server.pem", "rb").read()
print(x509.load_pem_x509_certificate(f).public_key().public_numbers().n)
That gets you the `n` to factor - The big number below.
Then pass it to CADO-NFS. The full invocation for the server root was:
Fascinating! My involvement in this space starts much later, so it’s always interesting to hear from folks involved at the time. The rumours about monetizing the root program is one I’ve heard repeated but never anything concrete.
These days with the CA/Browser forum, CCADB, and openly run root programs from Mozilla, Chrome and others, this is all much better documented than what went on in the early days, so I definitely have some strong historical interest in what came before.
At the time there were two root programs, Microsoft's and Netscape's. To get into them, for Microsoft you had to go through a painful third-party audit process, SAS 70 from memory, for Netscape you turned up in Mountain View with a suitcase full of cash (this was the informal description of the process). It cost about the same for both programs, again from memory $0.5M each.
I didn't use any GPUs, but Steve Weis (who factored the final key at the bottom of the post) did. He's posted about that factoring setup over on https://x.com/sweis/status/2095570645505700165
I agree to some degree, but it's not essential for what I wanted to do (which is find a 512-bit RSA key).
The biggest thing I'm afraid of is that the generated scripts missed some entries, or otherwise mis-classified them, in particular whether it got the trust bits right for each root. I would put the chances of that having some errors relatively high.
But there's too many roots across too many browser installers, so I'm not going to confirm the Netscape UI matches what the extracted data says.
I've written and worked on a few TLS implementations, so it wasn't terribly interesting to me. And I have to go to work tomorrow and solve real, modern CA problems :)
But in short, I wanted to use Go, and it doesn't support SSLv3, the SSLv2 Client Hello, or the 40-bit RC4-MD5 export-grade cipher suites which I wanted to support too.
I was more shocked that I managed to get stock OpenSSL to issue a certificate that worked. There's a number of things that didn't work there, too. You can find my scars in mkcert.sh in the repo. Perhaps all of this is worthy of a follow-up post.
I could have tried to get some old server running instead, but I wouldn't have wanted to deploy that on the internet, even on an isolated Fly VM.
I bet all the certificate metadata shown in the „View a certificate“ popup window is vulnerable to cross-site scripting. Back then you probably wouldn’t get a <script> tag through a CA's review process and I found such a problem in Netscape's image „About page“ popup.
If it were vulnerable to XSS, why would you even want it properly signed by a CA?
People almost never inspect the certificates of working websites, the only time they might look at it is when it fails validation.
I actually do like to view certificates of working sites, because it can be interesting to see what's listed in the Subject Alternative Names field. It can lead to some interesting observations about what sites are linked.
Strange seeing how people have such a hard time seeing others using AI and seem to want to complain about it instead of just, well, asking AI why something was likely done a way. It works both ways my dudes, experts don’t need to explain every last detail, prompt a bot with the context until you understand.
From my prospective, the outputs of a bot aren’t the interesting bits, it’s the input prompt that should warrant more attention.
reply