A lot of the counter arguments people have made seem to be: "no one can choose whether or not to participate in the system, therefor it's serfdom".
I'm curious why people don't just extend this to everything then? In order to survive in the modern world (whether it's a capitalist or socialist economy): I'm required to work, I'm required to follow the law, I'm required to adopt social customs of my peers, I'm required into a certain language, I'm required to use utilities. So why the focus on "techno-feudalism", if all of you would describe _any_ system of requirements as feudal?
Feudalism isn't just defined by "lock in", it also describes the social structure of individuals, and how contracts were made.
It seems that the real reason for calling the current system "feudal" is because it comes politically loaded with "bad / coercion", not because it actually fits the description. It's the same as when people call capitalism "wage slavery". Rhetorically convenient, but intellectually lazy.
> I'm curious why people don't just extend this to everything then?
I think because there is a difference between being required to participate in systems controlled by a democratically elected government (or society in general in the case of cultural systems like language) that are at least purportedly put in place for your benefit compared with being required to participate in privately controlled systems that fundamentally prioritise extracting something from you.
Isn't "work or starve" just a fact of nature? In what system do people not have to work to survive? (aside from a system where robots do all the labor)
In what type of society do I not have to do that? Even if I live in a society where everything is collectively owned, I’m still forced to work for the collective (of which I have one share among the population, essentially giving me about as much control as a “vote”)
I think the fact that people can pick and choose which contracts to engage in, can back out at any time, and in many cases if you live in a rich country, opt out altogether. Even if there are "pressures" (either socially induced or biological) to work in some form, "consent" seems like a perfectly reasonable word to describe modern conditions.
Like, do we really, truly believe the current world is no different from the feudal past? Is that not hasty reductionism?
I guess one difference is, the factory workers pushed towards engaging in brutal labor actually had it rough.
It's unclear whether the current system bring "horrible conditions" that need addressing. I don't want 9000 email providers, and the centralization of platforms has probably made life better. The argument that it crushes innovation might be true, but the number of "startups" that seem to gain large amounts of VC funding is quite high (they must be innovating something).
My gut reaction is generally "centralization / monopolies = bad", which is probably the feeling of a lot of people here. But we should actually ask ourselves whether the natural tendency towards centralization actually makes sense economically, especially since many aspects of the internet (communication, email, AI, compute time, etc) are all looking more like "utility" markets (where naturalistic monopoly formation has long been accepted by economists).
"You can control the people of the entire world with computers. Their socialization, their education, their culture, their employment, the very flow of money, all of it is controlled by computers. It's easier than ever and you don't even need to commit violence. The lash is no longer literal but economic."
This feels like it rests on a belief that "nudging" and subliminal messaging are actually effective. The evidence on that stuff is pretty weak, and the evidence we do find has small effect sizes.
The reality is more likely that the "online world" is insanely complex and hard to control. Even with a tech oligopoly, the number of players and interests groups in massive. If companies had the power to completely control the entire world and every aspect of life, they would have (assuming they had the incentive, which I'm sure you believe they do).
When you say "weaponized to", it makes it sound like there's some actor attempting it. Don't ideological bubbles form naturally? (People like to hear what they agree with)
In the case of controlling election outcomes, how is the current situation different from the pre-internet era of tv/radio advertising? Aren't political agents always trying to "control" elections? The core argument I'm making here is: doing so is very difficult
"You're just worshipping the billionaires" is not a good rebuttal to the author's arguments. You haven't addressed
"Try getting a job without LinkedIn. Try buying a phone that doesn't run android or iOS." Your argument here would apply to everything then, why restrict it to "techno"? Try driving a car without buying gas from a small number of oil companies. Try using electricity without going through utility monopolies. Try using a credit card without going through... yada yada.
Does that mean we currently live in oil-gas-electro-feudalism? If you really think that, then your fundamental argument is: 'the social order is the same as it's always been', which just seems unnecessarily reductionist.
The term techno-feudalism is clearly politically loaded rather than empirically descriptive, and I think your response makes that pretty clear.
one benefit (idk if it applies here) is if the select/put/delete statements didn’t require loading the data in memory; so you could query massive data files with limited RAM and not have to solve that problem yourself for each data storage format you’re working with
I like the idea of using select/put/delete (sql-style syntax) to query non-rdb data storage. It sort of raises the question of, could there be 1 universal language to query relational databases, text file storage (json, csv, etc), and anything else.
Or put another way, is there any data storage format that couldn’t be queried by SQL?
That's basically SQL. Many SQL systems have lots of built in connectivity to various data sources.
DuckDB is a good example of a (literally) serverless SQL-based tool for data processing. It is designed to be able to treat the common data serialization formats as though they are tables in a schema [1], and you can export to many of the same formats. With extensions, you can also connect to relational databases as foreign tables.
This connectivity is a big reason it has built a pretty avid following in the data science world.
> Or put another way, is there any data storage format that couldn’t be queried by SQL?
Is your SQL Turing-complete? If yes, then it could query anything. Whether or not you'd like the experience is another thing.
Queries are programs. Querying data from a fixed schema, is easy. Hell, you could make an "universal query language" by just concatenating together this dasel, with SQL and Cypher, so you'd use the relevant facet when querying a specific data source. The real problem starts when your query structure isn't fixed - where what data you need depends on what the data says. When you're dealing with indirection. Once you start doing joins or conditionals or `foo[bar['baz']] if bar.hasProperty('baz') else 42` kind of indirection, you quickly land in the Turing tarpit[0] - whatever your query language is, some shapes of data will be super painful for it to deal with. Painful, but still possible.
> It sort of raises the question of, could there be 1 universal language to query relational databases, text file storage (json, csv, etc), and anything else.
Sure there could be -- any turing-complete language (which SQL is) can query anything.
But the reason we have different programming languages* is because they have different affordances and make it easy to express certain things at the cost of being less convenient for other things. Thus APL/Prolog/Lisp/C/Python can all coexist.
SQL is great for relational databases, but it's like commuting to work in a tank when it comes to key-value stores.
* and of course because programmers love building tools, and a language is the ultimate tool.
> could there be 1 universal language to query relational databases, text file storage (json, csv, etc), and anything else.
> Or put another way, is there any data storage format that couldn’t be queried by SQL?
We created PLDB.io (a Programming Language DataBase) and have studied nearly every language ever created and thought about this question a lot.
Yes, there could be 1 language to query everything, but there will always be a better DSL more relevant for particular kinds of data than others. It's sort of like how with a magnifying glass you can magnify anything, but if you want to look at bacteria you're going to want a microscope (and you wouldn't want a microscope to study an elephant).
Now it may turn out that there is 1 universal syntax that works best for everything (I'm sure people can guess what I would say), but I can't think of a case where you wouldn't want to have a DSL with semantics evolved to match a particular domain.
There are a lot of differences between storage formats. It would be incredibly difficult to create a universal query language. It would need to either a) change the storage formats so much that they're not really following their original standard, or b) create so many different versions of the query language that it's not really one standard.
Off the top of my head, SQL can't do lists as values, and doesn't have simple key-value storage. Json doesn't have tables, or primary keys / foreign keys, and can have nested data
> Or put another way, is there any data storage format that couldn’t be queried by SQL?
Depends on how keen you are on pure SQL. For example, postgres and sqlite have json-extensions, but they also enhance the syntax for it. Simliar can be done for all other formats too, but this means you need to learn special syntax and be aware of the storage-format for every query. This is far off from a real universal language.
From what I understand SQL is or at least can be made Turing complete so in that sense you should be able to query any data store using it. However, that doesn’t mean it will be efficient to do so.
I suspect for most data structures you could construct an index to make querying faster. But think about querying something like a linked list: it is not going to be too efficient without an index but you should still be able to write an engine that will do so.
If you have something like a collection of arbitrary JSON objects without a set structure you should still be able to express what you are trying to do with SQL because Turing completeness means it can examine the object structure as well as contents before deciding what to do with it. But your SQL would look more like procedural code than you might be used to.
> It sort of raises the question of, could there be 1 universal language to query relational databases...
Even if SQL and/or another query language could be Turing-complete, that doesn't mean that you can have 1 universal language to perform all possible queries in an efficient way. In basic computer science terms that means that your data structure is linked with the queries, and efficiency you want to achieve, and ad-hoc changes should be created for specific problems.
Tree and graph structures can be queried using SQL (with more or less difficulty depending on how you have chosen to encode and index them), but it's not a particularly simple and straightforward language to use for such a task.
interesting! that's a mathematically provable statement? or do you mean, most data can be represented as a graph? (I'm not asking antagonistically; I'm genuinely interested in the statement you made)
I will not address your question directly, but if you are interested in the mathematical treatment of equivalence between schemas, maybe category theory and the categorical query language (Spivak from MIT if I remember correctly) may be of interest.
If entries can be relations themselves it is not possible afaik. For example
User | Telephone Numbers
-----+------------------
A | 123, 456 <- not atomic; more than 1 number (i.e. a set)
B | 789
Now there are academic operators to convert to and from a purely relational system, but I don't think they are implemented/in the standard. I forgot what they are called, however.
In general you don't want a universal query language. Depending on the shape of the data you want different things to be easily expressible. You can, for example express queries on tree-shaped data with SQL (see xPath-Accelerator), but it is quite cumbersome and its meaning is lost to the reader. I.e.: It's fine when computer-generated, but there is too much noise for a human to read/write themselves.
I'd be glad to be proven wrong here, but as time has shown, there is no one size fits all for programming languages. The requirements for different applications just vary too much.
R has been part of my stack professionally for around 16 years and in that time I'd estimate maybe 15% of my code had anything to do with statistics. I've used it for numerical modelling, data viz, ETL pipelines, deploying APIs, building dashboards, amongst many other topics. To reduce R to statistics is doing it a disservice.
I'm curious why people don't just extend this to everything then? In order to survive in the modern world (whether it's a capitalist or socialist economy): I'm required to work, I'm required to follow the law, I'm required to adopt social customs of my peers, I'm required into a certain language, I'm required to use utilities. So why the focus on "techno-feudalism", if all of you would describe _any_ system of requirements as feudal?
Feudalism isn't just defined by "lock in", it also describes the social structure of individuals, and how contracts were made.
It seems that the real reason for calling the current system "feudal" is because it comes politically loaded with "bad / coercion", not because it actually fits the description. It's the same as when people call capitalism "wage slavery". Rhetorically convenient, but intellectually lazy.