Show newer

Operating systems like iOS and Android are designed as media consumption devices (e.g.: for watching TikTok or Instagram). They are barely usable as a general purpose computer.

Several libre mobile operating systems aspire to imitate iOS and Android. With good intent: so that user familiar with these are familiar with the new libre OS.

The downside is that these new libre platforms are not well-designed mobile computer operating systems; they're mostly imitations of media consumption devices.

⟨ " Our economy is dominated by five aging tech giants – Alphabet, Amazon, Apple, Meta, and Microsoft. In the last twenty years, no company has commercialized a new technology in a way that threatens them. Why?

We argue that the tech giants have learned how to coopt disruption.

They identify potentially disruptive technologies, use their money to influence the startups developing them, strategically dole out access to the resources the startups need to grow, and seek regulation that makes it harder for the startups to compete. When a threat emerges, they buy it off. And after they acquire a startup, they redirect its people and assets to their own innovation needs.

These seemingly unrelated behaviors work together to enable the tech giants to maintain their dominance in the face of disruptive innovations. " ⟩

In addition to the tactics noted in the paper, the manner in which incumbents use standards development organizations and industry consortia to slow-roll anything that disrupts their existing product lines, and try to re-direct anything disruptive to something that they can (barely) incrementally implement is something that is not appreciated enough!

H/T to @pluralistic for his essay which provided the pointer to this paper. Link to essay @ pluralistic.net/2024/02/08/per

papers.ssrn.com/sol3/papers.cf

#Competition #startup #bigtech

Honestly I wish I had more use for my knowledge of the source code.

Anyone wanna pay me to get web extensions working on mobile chromium?

@pry Merkle Search Trees are way more complicated to deal with and implement in my experience. I wrote up a spec for the prolly tree impl I use here: github.com/ipld/ipld/blob/776b

It talks about how merging works.

The tl;dr is you traverse the merkle tree and where you see a diff, you add in keys from there, you can quickly skip places where the data is the same. You could treat it like an eventually consistent system in that way. Also could merge just subsets of the tree according to the keyspace

@pry The other cool part is that compared to other DBs like hyperbee from holepunch.to Prolly Tree based databases can be determenistically merged without much hassle so you can have communities merging datasets into larger and larger indexes without having to fully replicate all the data, just the parts at boundries.

@pry Right now most p2p data things use some variation on an "oplog". As your data grows it gets slower and slower for a peer to get the state of the data and it makes it hard to do "sparse replication" of just the data you want.

Using an indexed database as a building block means you can replicate just the data you need for a particular db query. This means you applications get more speedy and you use less data overall. You can still do full replication in the background.

Google PR sure is taking its sweet time getting back to me about the finding that Chrome has a hidden extension that allows all *.google.com domains to monitor your CPU usage and other private system info. I'm sure they're working just as fast as they can.

simonwillison.net/2024/Jul/9/h

High on my todo list is HTTP over app messages with a local daemon that can act as a proxy.

- Register veilid service
- Run local daemon as a proxy (optionally tell it to make a safety route)
- Curl to a unix socket the daemon is listening on
- `Host` header set to the public key for the service
- Encode request as app message to the service
- Response gets sent as an HTTP response down the socket

Bad for large files, good for locally run services / automation.

Show thread

@KatS Oh good, I think back when it first came out there was a max size limitation. Glad my knowledge is out of date on that!

@pry Oh! Have you seen my blog post on peer to peer databases by any chance? blog.mauve.moe/posts/peer-to-p

I'm less into realtime document sync and more into optimizing for sparse replication of views. CRDTs are cool but they often share the same issues as oplogs. I think the latest version of automerge is pretty speedy though.

@pry @yala @quinn IIRC the datamodel and execution is similar to datalog? I'm mostly interested in "local-first" daabases so you can merge data from multiple sources as you network connectivity grows with local data being available.

Datalog over might also be cool to do some day.

@KatS Nice. Yeah I was considering just using Neo4j but I wasn't sure if the max node limit would be something I'd run into. I think my matrix server data alone leads me to at least a few million records.

@pry @yala I think the work @quinn was doing on Rhizomatic seems relevant. Unsure what the state of it is.

youtube.com/watch?v=vkMXbk7Pn_

@KatS Do you have any example projects building on it out there? Sounds relevant to what I'm into.

@yala @pry I looove datalog. Have you seen any good impls out there other than datomic? I also don't think I've seen any "live query" options out there yet.

I was thinking wrapping stuff in HTTP with an EvenSource endpoint would get pretty far towards easy to use interfaces.

Show older
Mauvestodon

Escape ship from centralized social media run by Mauve.