I have been writing a couple of mobile apps in Flutter for the past few months, and as I neared feature-complete ready-for-internal-beta I started getting frustrated by the framework’s limitations with the app stores. The build system won’t build an artifact that the Google Play Store will accept come August, and the iOS build has problems, too. I gave up and started working on a simple web game using flutter_web, only to find that it wouldn’t let me make a user interface that didn’t suck for typing. So, fine. I’m going back to Java. At least I can build and release a Java application that works right.
Yeah, so I’m listening to Surveillance Valley (see previous post) and it’s got me thinking all paranoid and crotchety, as one might expect. So now I’m reminiscing fondly about UUCP, UseNet, FidoNet, and RumorMonger/LACS. Thinking about how, if I were going to try to come up with some sort of communication network that was hard to spy on, I’d have to start with the idea that any participant can show up anywhere at any time.
This is sort of like when engineering management got all us developers in a room at Netflix after we had yet another database outage that cost the company gobs of money and cause much customer unhappiness. They told us, “Look, we can’t stand having our business vulnerable to single points of failure. We’ve gotta be redundant. So we’re going to the cloud. Amazon’s cloud. And you’re going to make it happen. How you do it is up to you, but that’s the fundamental truth. You also need to be aware that your head is on the block if your system fails. And here’s another truth: any single server in ‘the cloud’ can die, at any time, for, like, no reason. Get happy about that.”
Okay. So, what does that kind of network look like? Any message sender/consumer can appear at any time, at any place. Imagine a world where that is the thing that got built, instead of the Internet. Is that better?
A five hour flight is enough time to write several unit tests. So, yesterday I started working on the band sets for 2019 and I wrote tests and new library functions and fixed a latent bug in an old library function. And now we’re in Hawaii!
- I’m a jerk.
- Dogs are awesome, and also jerks.
- Siri is useless for my life.
It’s creature dinner time, so I’m getting out the dishes and the food and starting to portion out everybody’s share. Some of the creatures are old and sedentary, some are young and boisterous, and not all are of the same species. Thus, portions are specifically assigned. And what am I thinking as I do this? That’s right: “Okay, who’s ready for dinner? Are all of my dogs who are good dogs going to get a dinner? Yes, yes they are!”
You know what I love about programming? The part where I get to solve interesting problems. You know what isn’t interesting? solving the same problem over and over again. Even less interesting is having to solve a problem that I know someone else has solved but where I can’t copy the answer. That’s not only uninteresting, it’s frustrating.
So, I’m writing a tool in Java and I need for it to allow the user to input styled text (simple typeface stuff – italics, bold, strikethrough). We’re not changing font family and we’re not laying it out for print; we just need to be able to capture this style stuff. And then persist it. Ultimately, it’s going to be stored as XHTML. So I look around, and sure enough, JTextPane turns out to be the thing I need to be able to display the text. Pretty soon we’ll want to have inline images that the text can flow around, and that component can handle those things. So, that’s great.
So, Lise is off in Minneapolis for AWP. Neither one of us sleeps particularly well when we’re apart anyway, but she’s out there to talk to lots of people (not her favorite activity) and get them excited about Lithomobilus. And in the frenzy of packing, she remembered earplugs but forgot melatonin. The love of my life, on day 3, had slept for maybe 8 hours out of 72 and she was not doing well. This is where the Internet, the telephone, and modern banking combined to make me look like the best husband ever in the history of business travel.
I know that Trader Joe’s sells melatonin for not a lot of money. I know they’re a national chain. So I used Google to find out that, hey, in Minneapolis there are three Trader Joe’s stores, each less than half an hour’s drive from the hotel.
But wait, Lise is stuck on the book fair floor; she doesn’t have time to run off to TJs! The hotel concierge isn’t answering the phone! Oh noes, what do I do?
Google “personal concierge minneapolis” and come up with Twin City Concierge. Call ’em up, “Hey, my wife is in town for a convention and forgot to pack melatonin. Could you hit Trader Joe’s, get a bottle, and drop it at the hotel for her? Sure, just sometime before tonight. Sure, here’s my credit card info. Thank you so much!”
Boom. Lise was nearly in tears with gratitude (chalk that up to sleep deprivation) and was kind of surprised when I mentioned how reasonable the cost was. She pointed out that many people would not even consider making that call, assuming that it would be too expensive. This, she said, is an unseen privilege of money. We have enough money that, sure, we’d rather not spend money we don’t have to, but we have a different definition of, “have to,” than we did when we were broke, and that gave us the confidence that let us find out that this kind of personal service is way more affordable than we thought.
Lise told me that now I am:
- famous at AWP as the best husband ever and
- hated by all the other husbands for making them look bad.
To this latter point I can only say, dudes, that didn’t take me; y’all had that down all by yo’self.
Oh yeah, the title of this post. There are a zillion ridiculous quizzes on the web, which Harry Potter character would you invite on your dragon, and what would your job have been in which century should you have lived?
Telephones. Modern medicine. Lightning fast access to useful information about exotic and remote places. Currency that spends just fine 2,000 miles away. Currency that travels 2,000 miles faster than you can say the words, “two thousand miles.” Consumer protection laws and food and drug safety regulations that mean I can trust, sight unseen, that the pills are what they purport to be and do what they claim. You know what? Now. Now is good.
As we now know, organic food isn’t a health issue for the consumer but for the producer, but back in the 1970s only a very few people were hip to that. Back then, “organic,” vegetables meant that they were:
- more expensive
- weird looking
- only available at the hippie stores
Nowadays, you can find organic vegetables in Safeway. I’ve noticed that some stores (Nob Hill Foods, for one) only carry certain things in the organic section and don’t offer a pesticide and fertilizer version (which, by the way, is fine with me). Heck, even Costco has a huge organic section. It’s gone mainstream, and that’s probably good for the long term. The price markup is dropping a bit, too. So where are the retailers making their huge bucks off the hippies? “Gluten-free” and “artisanal”. I swear, I saw a package of meat that was labeled gluten-free. Whew! That’s a relief!
So yeah, my hypothesis is that today, things are labeled, “artisanal,” and what that really means is that the artisanal product is:
- more expensive (see packaging, below)
- lumpy in unexpected places
- small (but probably hand-wrapped in tissue and tied with raffia)
- only available at stores where rich people shop (if it’s at a little corner market, it’s not artisanal, it’s just fresh made by the owner, same as it has been for years; do you want that pupusa or are you just gonna take a picture of it?)