Profile picture
Gary Bernhardt @garybernhardt
, 14 tweets, 4 min read Read on Twitter
I still occasionally try to use my iPad Pro for more than just watching videos. I estimate my maximum possible speed as about 10% of what it is on a real computer due to unavoidable animation, lack of keyboard shortcuts, and (!) inherent unreliability of web apps I'm forced into.
I imagined a future where I could say `Graph.new(FLIGHTS.map { |f| [f.src_airport, f.dst_airport, f] }).all_paths.select { |p| p.edges.map(&:best_price).sum < 3000 }.sort_by { |p| p.nodes.map(&:country_code).count }.fetch(-1)`.
In English: "What series of flights touches the most countries, with the total price being less than $3,000?" All of the information to answer this has existed in computers since before the web existed, but this kind of query is still impossible in almost every domain.
Instead of writing that query in 30 seconds, the only solution is to spend multiple hours clicking through websites and manually constructing an approximate answer in a spreadsheet. But when you go to book, you'll find that those advertised rates aren't actually available.
Flights aren't special; everything is like this. The data is in computers, but only computers owned by for-profit entities that hoard it. This is true even for data about critical aspects of our shared world (flights, maps, commodity and stock exchange prices, etc.)
Oops... I forgot to connect the iPad Pro thing to the flight thing. I'm distressed that we're continuing to move farther away from an easily-queryable world. Computers continue to become more like TV: passive consumption portals fed by a small number of content producers.
Sometimes there are APIs offered by a few massive, dangerously powerful companies (Amazon, Microsoft, Google, etc.) First of all, that's the for-profit-hoarding problem again, but with additional bureaucracy. And second, querying one of those takes longer than the spreadsheet!
Programmers love to view the world in black-and-white terms: "you said you wanted a flight API and there are flight APIs." As if the two words "flight API" carried all information about the thing, and there are no other details to consider.
Several people have replied mentioning open data initiatives. This type of problem has no technical solution without political changes first. E.g., it is *illegal* to publish stock market price data without licensing it properly. businessinsider.com/stock-exchange…
The same thing notoriously true for maps. Apple, Google, etc. have map databases. You can't just copy them and publish them in the open, though; it would be infringement. (But with maps, at least you could theoretically map the world and make it open... if you had $1B to burn.)
Again: yes, sometimes there are APIs, and even sometimes open ones. OpenStreetMap a heroic effort backed by people who are trying to do the right thing... and its data is so much worse than commercial alternatives that I've literally never used it or anything built on it.
"You wanted an X API so here is an X API" does not address the question. If it's worse, or it costs money, or is only available to certain groups, or is prohibitively difficult to query, or (frequently) all of these, then it's not comparable to my imagined flight query above.
If I'd written these words fifteen years ago, they would've been shouted down because the semantic web was just around the corner. Any day now! It will fix everything! Reality: I bet that most programmers minted in the last five years have never even heard of the semantic web.
I haven't done a talk in over year. Maybe there's a talk in this somewhere. But it might have to contain an lies, like destroyallsoftware.com/talks/a-whole-…!
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Gary Bernhardt
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!