> The leaders there once cared a lot about keeping GitHub available even in countries that were sanctioned by the US.
The link leads to a blog post saying how they mercifully unblocked the users in Iran, but that was some time after they first suddenly blocked those users without any recourse and any way to even download their data and private repositories hosted there, without any advance warning…
> At that time, the company was valued at $2 billion. Hello bubble. Then in maybe one of the best rug pulls of all time, in July they quietly changed their revenue projections to $500 million. A 75% cut in four months.
No, the author is just stupidly spreading misinformation. Looking through their other posts, it looks like he has an agenda to prove that we're in an AI bubble.
Yeah, there are tens of thousands of records referencing a PDS with a certain… controversial president's name in the hostname, which doesn't actually exist at all.
Also someone from Nostr made a tool that let you upload image files and encode them (split into parts) into plc directory records…
You're free to set up your own PDS (which is super easy) and use Bluesky through it, and it works just fine (or even better if the PDS is close to you)
https://www.blackskyweb.xyz - it's the black people community on Bluesky, they started first with some custom feeds and blocklists/labeller, now they have a PDS and relay, and they're planning to launch a forked version of the app and eventually have a full independent infra basically. With some extra features like option to make "internal" posts that aren't shared with the wider Bluesky but only with people on the PDS.
Hmm… Yeah, I guess each language does it kinda differently. At least Ruby also does it similarly like Python.
> I’m confused here. You established indexing is by UTF-8 code unit, then said it’s because of JavaScript which… doesn’t do UTF-8 so well?
It's not that UTF-8 is because of JavaScript, it's that indexing by bytes instead of UTF-8 code units is because of JavaScript. To use UTF-8 in JavaScript, you can use TextEncoder/TextDecoder, which return the string as a Uint8Array, which is indexed by bytes.
So if you have a string "Cześć, #Bluesky!" and you want to mark the "#Bluesky" part with a hashtag link facet, the index range is 9...17 (bytes), and not 7...15 (scalars).
When the encoding is UTF-8 (which it is here), the code unit is the byte.
They called the fields byteStart and byteEnd, but a more technically precise (no more or less accurate, but more precise) labels would be utf8CodeUnitStart and utf8CodeUnitEnd.
Sorry, I keep mixing these - bytes instead of scalars, which I think would be more natural to iterate over in most languages (at least the ones I use).
OK, checked and Ruby does seem to use scalars. Well, unless you mess with encodings. Then it’s messy. So it’s probably better and worse than Python 3.
You may not have seen this interesting article before: https://hsivonen.fi/string-length/. I agree with its assessment that scalars are really pretty useless as a measure, and Python and Ruby are foolish to have chased it at such expense.
But seriously, I can’t think of any other popular languages that count by scalars or code points—it’s definitely not most languages, it’s a minority, all a very specific sort of language. “Most” encompasses well-formed UTF-8 (e.g. Rust), recommended UTF-8 but it doesn’t actually care (e.g. Go), potentially ill-formed UTF-16 (e.g. JavaScript, Java, .NET), and total-mess (e.g. C, C++).
The link leads to a blog post saying how they mercifully unblocked the users in Iran, but that was some time after they first suddenly blocked those users without any recourse and any way to even download their data and private repositories hosted there, without any advance warning…