The consistent increased risk of diabetes after Covid across all age groups, highest in the first 3 months after infection, from a systematic review of 9 studies, ~40 million people
https://bmcmedicine.biomedcentral.com/articles/10.1186/s12916-022-02656-y
(Obviously none of what say here will be useful to Mastodon admins fighting fires this week.)
Maybe needing multiple machines with gigabytes of RAM to support only 75,000 users suggests that a more efficient reimplementation of #ActivityPub would be helpful. Maybe not using Ruby and using enough backpressure to handle overload conditions gracefully would help.
I don't know, how effectively can ActivityPub implementations apply backpressure? Does the protocol itself make it difficult? Can failed deliveries get reattempted after a short time if deferred due to overload?
How much total bandwidth are we talking about for this number of users? Back of the envelope? This is super stupid because haven't even read the protocol spec, so please let me know if I'm making totally wrong assumptions here.
First, the inter-server traffic. I'm thinking media attachments aren't included in the activity stream itself, but thumbnails are; those are typically 100K; everything that isn't a media attachment is of insignificant size; users typically subscribe to 100 other users on other instances, who each post 100 posts a day; one post in five has a media attachment; and on average each remote user has two subscribers on your instance, so the 10000 incoming posts a day per user gets reduced to 5000, which is 100 megabytes per user per day. Is that about right?
100 megabytes per day is about 9600 baud, so a gigabit pipe should be adequate for the inter-server communications for around 100k people.
But then you actually have to serve those posts to them, which means at least twice as much bandwidth, and maybe more if they reload the page and you can't force their browser to cache those stinky thumbnails forever.
In terms of messages per second, 5000 incoming posts per user per day is about 6000 posts per second for 100k users. That's about an order of magnitude below what RabbitMQ can do (on one machine!) and two orders of magnitude below ZeroMQ. So the bandwidth thing rather than CPU is really probably the crucial limiting factor (though not, of course, with Ruby).
9/ Anyway, code is increasingly generated in so many ways that we're moving from "writing lines of code is hard" to "the hard problem is determining whether a chunk of code is fit for purpose" (this motivated Joe Politz's dissertation a decade ago!).
10/ The next generation computing problems will not be about writing 80s style 5-line for-loops. It'll be about properties, specification, reasoning, verification, prompt eng, synthesis, etc. How will we get there?
"Vox populi vox Dei" is from a quotation saying the opposite of voice of people is voice of God:
"...riotiousness of the crowd is always very close to madness"
--Alcuin 8th C AD.
I find this twitter poll interesting: https://twitter.com/danielerasmus/status/1594468482829139968
From Brink Lindsey's [The Anti-Promethean Backlash](https://brinklindsey.substack.com/p/the-anti-promethean-backlash):
"*No, the revolution I’m talking about can be described as the anti-Promethean backlash — the broad-based cultural turn away from those forms of technological progress that extend and amplify human mastery over the physical world. The quest to build bigger, go farther and faster and higher, and harness ever greater sources of power was, if not abandoned, then greatly deprioritized in the United States and other rich democracies starting in the 1960s and 70s. We made it to the moon, and then stopped going. We pioneered commercial supersonic air travel, and then discontinued it. We developed nuclear power, and then stopped building new plants. There is really no precedent for this kind of abdication of powers in Western modernity; one historical parallel that comes to mind is the Ming dynasty’s abandonment of its expeditionary treasure fleet after the voyages of Zheng He.*"
The thing about Twitter is that it really lacks a lot of the features you'd expect from a true Mastodon replacement.
For example, there's no way to edit your toots (which they, confusingly call "tweets"—let's face it, it's a bit of a silly name that's difficult to take seriously).
"Tweets" can't be covered by a content warning. There's no way to let the poster know you like their tweet without also sharing it, and no bookmark feature.
There's no way to set up your own instance, and you're basically stuck on a single instance of Twitter. That means there's no community moderators you can reach out to to quickly resolve issues. Also, you can't de-federate instances with a lot of problematic content.
It also doesn't Integrate with other fediverse platforms, and I couldn't find the option to turn the ads off.
Really, Twitter has made a good start, but it will need to add a lot of additional features before it gets to the point where it becomes a true Mastodon replacement for most users.
I really can’t believe how far #3dprinting has come since I started with my first #reprap. I’m printing this #DarkSaber and the QUALITY coming out of a $700 #Prusa is bananas. And the fact that I BUILT IT MYSELF FROM A KIT is mind blowing. And using #OctoPrint by @foosel and OctoEverywhere to monitor remotely? It’s Star Trek levels of awesome. #Irony
Tonight, Artemis Orion will sail past the moon's orbit and then fall back towards the moon, getting as close as 100 km to the lunar surface. At 07:44 ET tomorrow morning, thrusters will be fired to further accelerate Orion and send it towards the DRO insertion point. 4 days later, the DRI burn will insert Orion into DRO proper.
https://eyes.nasa.gov/apps/solar-system/#/sc_artemis_1?rate=0&time=2022-11-21T13:10:00.000+00:00
6/n
@howard and even the defun sometimes gets saved for later, as I often make things in a scratch buffer or src block in the process of figuring out my actual intention (and thus the function name and parameters). Sometimes I even leave things unnamed. :)
Experimenting with 3D modeling using mathematical functions to define a surface using Python in @Blender. A bit different than my usual go-to modeling tool @FreeCAD, but works really great! #3dprinting
Touché.
The last thing I learned was TypeScript and the Playwright framework for automation and testing. I learned it because I found it a sound, useful, and innovative new technology.
In the past 27 years, I have seen lots of fancy whiz-bang technologies come and go. At the launch, during the early adoption phase of the technology it seems like, "THIS is IT! The next BIG THING. It's going to be super popular." Then, it runs into problems. and quietly fizzles out.
Use discernment.
I was looking around to see what open-source alternatives to GPT-3 there are, and I came across something called "GPT-NeoX-20B". Apparently you need a pair of GPUs and 20 gigs of VRAM to run it?
Responses to some frequent comments:
* I'm certainly not suggesting that algorithmic feeds should be imposed on everyone! Choice is great. I recognize that many, perhaps most current Mastodon users like chronological feeds.
* "Reverse chronological" is an algorithm, albeit a simple one. It's currently the only option. Chronological feeds are not normatively neutral. There is, unfortunately, no neutral way to design social media. https://mastodon.social/@randomwalker/109308664849924122
@scottjenson @jeffjarvis Also if you're running your own instance you can afford to deploy staggering amounts of CPU power. Like, you could plausibly run GPT-NeoX-20B on your own dual-GPU rig to try to guess which Fediverse posts you'd be most interested in seeing.
The NSA can do this with Twitter, but you're not allowed to.
I was giving a computing ethics lecture about #FOSS and #antifeatures around 2014. Lots of folks there had never even heard of #FDroid. Maybe it's still not well-known?
F-Droid is a repository and platform for FOSS on Android. Their app can manage your other apps, much like you do with the Google Play Store.
When I need an Android app for something, I always check F-Droid first, just because the apps are trustworthy.
I'll reply with a few of my favorite apps on F-Droid... 🧵
Greetings. I'm an armchair student of history (not just tech history), but given that I've been involved in the development of the Internet continuously since the early DOD ARPANET days (so, technically before there *was* an Internet) I'm watching the Twitter->Mastodon migration (and the nightmarish, shameful disintegration of Twitter itself) with considerable interest indeed. There is no historical precedent that I know of, and what's happening is even more remarkable given that it has been precipitated by a single chaotic individual in a matter of weeks.
The high speed with which I see social graphs rebuilding here is fascinating, and we can be sure that there are a bunch of PhD theses and books in the future that will attempt to explain all of this for future generations.
Sometimes when you're living through significant historical events it's not obvious except in retrospect, often many years later. What we're living through now with Twitter is clearly significant history, from technology, business, social, and other standpoints.
And even if Mastodon turns out ultimately to be a steppingstone on the way to other social media models able to scale far upward more easily, it is playing a crucial role now in providing a "lifeboat" for Twitter users who are unable to stomach what is happening to that firm with every passing day.
For all its many faults over the many years, we built the Internet to be resilient. And what we are seeing today is that not only has the technology met that goal from ARPANET onward, but thanks to the Internet's vast numbers of dedicated and caring users, even a monstrous train wreck like Elon's Twitter can't bring it (or us!) down.
Thank you all! -L
Turns out you can skip the distance estimate (hard calculations) by considering axis-aligned bounding boxes with a long case analysis of possible box positions (e.g. if all corners are in the cardioid, check if the box crosses the axis and if the right edge of the box is the to the right of the cusp).
There are some irrational coordinates, but nicely you can just square both sides to get a dyadic rational that can be compared exactly.
And you can apply perturbation theory to the implicit cardioid test, provided you have enough precision in the low precision type (24 bits (float) is not enough, 53 (double) seemed ok in one brief shader test, I'm using 64). This increases the cost of the test, so it's good to be able to skip these for the whole view via AABB checks.
If using fixed point (instead of floating point) for high precision reference, you need 4x the fraction bits for intermediate calculations to avoid underflow / truncation error.
Symptoms of the problems were false positives (leading to bad images with too much interior) near the cusp, and some false negatives near the cusp too (correct image but takes longer than necessary).
excellent mastodon features you'll quickly wonder how you lived without: temporary mutes
on the web interface, hit the three-dots menu on a post, then "mute <whoever>" and you can select a TIME PERIOD to mute them for!
friend posting about a tv show you haven't seen? mute 'em for an hour
someone clogging your local feed with current events you don't care for? mute 'em for a week
lucky won't stop talking? mute 'em indefinitely
it just works
Is at once hopeful and terrifying. A company that doubles in three months usually loses its culture. Hopefully won't happen here.
I read a lot. Sometimes I learn things. I like making things. I think reading and doing are complementary.