Shared posts

25 Jun 17:44

The NeXT Era Ends, the Swift Era Begins

I’m surely not the only person to think, all week long, that this WWDC marks the end of Apple’s NeXT era and the beginning of the Swift era.

The NeXT era began, of course, when Apple acquired NeXT, with its Unix-based operating system, amazing developer tools and frameworks, and its CEO, Steve Jobs.

Cocoa was so much better for writing Mac apps than the Mac Toolbox was. The Mac Toolbox had been a revolution — but this was more than just incrementally better. (Cocoa is NeXT’s application frameworks that had been adapted and evolved for the Mac.)

A common refrain of Mac developers at the time was that Objective-C wasn’t nice at all to look at — but it was a wonderful language for the ways its underpinnings allowed for these powerful and easy-to-use frameworks.

It was mind-blowing. Don’t underestimate how much so.

And then, years later, Apple created UIKit, which was a modernized version of Cocoa for iPhone, with its small screen and touch interface. It was Cocoa for devices you carry around with you.

Also completely mind-blowing.

Fast-forward to now, and note that millions of apps have been written using this technology which was born at NeXT, then brought to Apple and pushed so very far forward.

Even if you’ve been writing mostly in Swift the last few years, you’re still writing in a NeXT context. Your apps still live in that world, whether you know it or not. Your apps are still Objective-C apps in a very real sense.

Then this week happened

Before WWDC there was plenty of talk about Catalyst (which we had been calling Marzipan) which is a way of bringing UIKit (iOS) apps to the Mac. And this was indeed part of the news of the week.

But the future was never about UIKit being a better version of what we already had for Macs. In some respects UIKit is better, in other ways not. It’s just that there are so many more iOS apps than Mac apps.

Though I don’t discount Catalyst’s usefulness — we will get lots of apps new to the Mac — the real news this week was about SwiftUI and the Combine framework. This, finally, is a new way of writing apps, and it’s based on Swift and not on Objective-C. It’s very much not from NeXT.

It’s early. It has bugs. It’s not nearly complete. Sure. But it’s also how we’re going to write apps in the future.

And it’s mind-blowing. Apple’s marketing for this year’s WWDC had it right.

It may be a while before you’re running apps that use SwiftUI and Combine (and who knows what else still to come). We’re in a transition, and transitions take years. But we’ve all just had a glimpse of the next 20 years.

25 Jun 17:43

they always told me I had a face for radio

On a podcast with Katherine Druckman and Doc Searls at Linux Journal.

Some of the stuff we talked about...

advertising and signaling

Doc: The latest Firefox does block third party tracking. And that's a huge move. But there's a drift of the other browser makers in their own different ways are doing things. So and that's part of a larger trend. So maybe you could just sort of unpack that for us.

Me: Apple Safari got out ahead of the rest of the pack and a lot of interesting ways. And people certainly joke about the $999 monitor stand. But it's pretty clear that the people who buy that kind of high end equipment are also the people who are least trackable by conventional adtech. So if you want to reach the kind of people who can either afford a tricked-out Macintosh, or have a job where their employer will buy them one, then you really have to think about how do we place advertising in such a way that it doesn't depend on the kinds of creepy tracking that the Apple Safari developers have put so much effort into avoiding.

Doc: Katherine, maybe I'm wrong about this. But didn't we finally put the nail in the lid of the coffin of Google Analytics for our own website, when we found that as Don was just saying our readers block tracking for the most part?

Katherine: It was it was so far from being accurate that it was not useful anymore. Who doesn't block tracking? I'm kind of throwing this out there, but I want to say a good 60% of our traffic was blocking it.

Me: I've seen some numbers from web developer sites, and from blogs that focus on web development, and those are often showing a 30 to 40 percent block rate. But it's really interesting that Linux Journal readers are coming in at 60.

And so there are, right now, marketing organizations that are going out and trying to reach the kind of people who buy virtual private servers or software as a service products or developer tools. And if you do conventional data driven marketing, when you're going after that kind of audience, then you're really going to get a lot of fraud bots, and your marketing operation is going to be making decisions based on what bots like to read, not so much what those what those those high tech, or highly protected, users are interested in.

Doc: Have you seen a sign of that knowledge being generalized, beyond, you know, people like us talking about it, where it's becoming obvious to some people in the marketing side that the most valuable people are going to be the ones that are most protected?

Me: I'm cautiously optimistic because of the change over from targeting millennials to targeting Generation Z. I don't know if you've seen it, but marketing thought leaders are changing up all their slides. And they no longer say the millennials are different. Now millennials are boring, and Generation Z is all different. But it's really recycling a lot of the same millennials material. So there's a nice niche opening up for a marketing thought leader to scrap the generation-driven slides that everybody has already seen, and become the marketing thought leader of the tracking protected segment.

Doc: Today you get injected with all these third party cookies that get arranged like a DNA string that gets presented at every site you go to subsequently. Do you see any hope for either ending that or modifying it with the kind of things that are going on now or blocking the third parties? I guess the question is, are we stuck?

Me: I don't think we're stuck. I think that a lot of the talking points that we're getting from adtech and martech today are very similar to what email spammers were coming up with in the early days of spam filters. The early spam filters, of course, were done by technical early adopters, the kind of people who read Linux Journal and know how to write .procmailrc files. And when those people started rolling out their original, simple spam filters to the the less Internet skilled users, the spammers started started saying, hey, wait a minute, users like getting messages about opportunities for great savings on HERBAL VIAGRA, or whatever the latest spam campaign was.

The message from the email spam scene was really that privacy nerds are less in tune with the preferences of regular users than we the spammers are, so you should pay more attention to what spammers want, and less attention to what spam filter developers think is the right thing to do. And we really saw that not come across very well as as email spam moved from a niche issue for people who had had their email address out there for a long time to being a mainstream day to day annoyance. The general population of users turned out to be more like the privacy nerds than like the the way that the spammers predicted they would be.

Doc: I'm thinking that you could go into how people actually have a pretty good sense of behavioral economics, that they're good behavioral economists to some degree if you want to have any money left. For us, because obviously, we're we're all walking through a minefield that all of us understand in somewhat different ways. But I think one of your points is that people do become pretty adept even if they don't fully understand what's going on behind the surface.

Me: And you can't make the optimal decision for most of the decisions that you have to make in your economic life. I don't have the time to buy the optimal pair of socks. So what is a set of tools that I can use to get an adequate pair of socks in the amount of time that I have to make that decision? And of course, advertising isn't the entire story behind building brand reputation. But it sets up part of the information that people can use to evaluate a product or, or figure out the reputation of a brand. Brands are really interesting. Brands are a cognitive hack that uses our brains hard wired circuitry for evaluating each other's reputation.

What would be a really interesting piece of research would be comparing TV ad spend on cars to later Consumer Reports ratings. Are TV ad budgets a reliable leading indicator of how well that car actually does in the independent test? It's kind of like when Rory Sutherland at Ogilvy compared advertising to someone betting on their own horse at the track. If you go to the racetrack and see that the horse's owner is betting heavily on that horse, they've probably got more information than you do.

Open source and incentives

Katherine: I feel like I see growing resentment, and not just individual open source developers, but small companies and whatnot, just that are becoming more painfully aware of the inequality of, you know, fortunes being built off of what they perceived to be their own backs. And, and the consequences are well, unforeseen.

Me: It's not just a matter of resentment, there's also an element of risk there. One of the side effects of having good dependency management tools is that real world IT projects are building deeper and deeper dependency trees. So the success of your web site might depend on some software component three levels deep, whose maintainer is going to burn out, right as you deploy your site, but you don't know it. So there's this risk for anybody, depending on open source, that somebody's choice to stick with it just doesn't pencil out. And the people who you need to stick with it in order to have your thing be successful might be several hops away. There's still no good way of getting that information, propagating the developer pressureMaybe a market mechanism (PDF) could help? from the developer who's experiencing it to the leader of the project that depends on their work.

Listen to the whole thing.

Bonus links

Mark Ritson: Binet and Field’s research may not be perfect but that doesn’t make it wrong

Why we're relicensing CockroachDB

The Wrong Math

Digiday Research: Most publishers don’t benefit from behavioral ad targeting

When it comes to privacy, default settings matter!

economics-of-package-management/essay.md at master · ceejbot/economics-of-package-management · GitHub

Is High Quality Software Worth the Cost?

AT&T Explains Its Surveillance Advertising Hellscape

Privacy Preserving Ad Click Attribution For the Web

The Best Ideas Are The Ones That Make The Least Sense, by Rory Sutherland, Entrepreneur

25 Jun 17:43

Ton on Crafting {:} a Life, Day One

by peter@rukavina.net (Peter Rukavina)

Ton Zijlstra wrote about the first day of our unconference.

There’s too much for me to process right now to write more myself, other than this snippet, written to a friend last night:

I realized that, by being the organizer of the unconference, I wasn’t really able to “go to the unconference” myself. Which is not to say that I was disappointed at all, just that my experience was necessarily different. More the palpable thrill of catalyzing connections. And the frightening/joyful realization that it’s possible to tenaciously conjure good things.

We gather for day two, starting with a walk to the Charlottetown Farmers’ Market, in 90 minutes.

25 Jun 17:43

Things I Do While Waiting, Hopelessly, for the Dawn

by Dave Pollard


photo by Vahap Kìlüken from pxhere, cc0

The expression the dark night of the soul seems to resonate with a lot of people. It’s used as a metaphor for times of extreme personal, often existential, doubt, angst, hopelessness, depression, meaninglessness, purposelessness, aimlessness, sorrow, emotional and spiritual emptiness, and a host of other haunting, relentless feelings that, it is always hoped, will fall away and give rise to a new ‘dawn’, offering revelation, calm, inspiration, insight, joy, redemption and fullness of heart.

The expression is usually credited to a medieval Spanish mystic named St John who actually never used the phrase, but who wrote a poem (later turned into mostly-brooding songs by at least a dozen composers and artists) about his journey (on foot) into the night and his discovery of God/nature/oneness in that dark place. Most non-dualists from Eckhart Tolle to Adyashanti have written and talked about how this was for them, and most self-professed spiritual ‘teachers’ tell you what to ‘do’ about it, and promise deliverance, liberation, or ‘enlightenment’ on the other side of it. Gratefully, radical non-dualists like Tony Parsons and Jim Newman offer absolutely no guidance on dealing with it if and when it happens to you.

My guess is that, for most people, the ‘dark night’ is the romanticizing of depression, despair and/or grief. It’s indulging in the heroic myth that through suffering comes true realization and achievement, that “the darkest hour is always before the dawn”. In other words, the myth of progress, made personal. Hope is really important to most people (sadly).

I have no problems with that — whatever works for people is fine with me — but it’s very different from what I sense St John was referring to. At the end of St John’s night, I sense, is emptiness. Not an enlightened St John, but one who’s no longer there, but vanished into oneness with the night.

And the “night” is always, I think, actually much longer than one night.

For me, I think, this period of existential crisis has lasted at least a few years now, and while it could euphemistically be called ‘dark’ it has actually been the happiest period of my life. The realization, first, that whatever I may do with the rest of my life will make no enduring difference to the world after I’ve gone, and, second, that I have no free will, control, choice or indeed responsibility for what ‘I’ apparently do with the rest of my life or what happens to ‘me’, has actually been liberating in its own right.

The further realization that this long-suffering ‘self’ is just a concocted illusion, a spandrel, an evolutionary accident that believes itself within and in charge of this mind and body, helps ‘me’ to see this existential crisis (and to some extent this existential crisis is ‘me’) for what it is. And what it is is a psychosomatic misunderstanding of a model of what seems real, dreamt up by a furiously patterning brain and conveyed to an impressionable, reactive body, and then, tragically, mistaken for reality. Evolutionarily, it seemed like a good idea at the time.

So this night is not so dark, not for me anyway. What is left, in lieu of a slew of ghastly and debilitating negative feelings is (a) annoyance and impatience that this ‘me’ is suffering needlessly, and a sense it would be best (for me and the world) if my ‘self’ somehow quietly just fell away, and (b) a complete lack of any sense of what (as I put it in my last post) seems worth doing now.

There have been many times, especially late at night when, perhaps like St John, I’ve felt a desire to walk out into the forest (I am so blessed to live where I do) and/or down to the ocean, and then just sit or lie there until something that somehow seems more likely to happen there than in this safe shelter where I spend too much time, happens.

But I don’t actually do that. Too uncomfortable, and actually kinda silly. It’s a strong romantic fantasy, though. Could make a great next chapter for the ‘story of me’. But damn that story is boring.

I have less romantic types of fantasies, too, usually around excessive hedonistic activities that bring pure pleasure and (in my fantasies) endless fun into this ‘dark night’. Not going to happen of course, except in my dreams-within-this-dream. Passes the time to think about it though. Something to do while waiting, in the Eliotesque sense of the word.

And then there is play — most of it solo, these days — crosswords, games, jamming to good instrumental music with my keyboard and Garage Band, listening to new ‘recommended’ music, my creative writing (sometimes), rare conversations with very bright, curious and creative people, rarer bouts of painting, the occasional brief flirtation, looking at beautiful things and places (much safer than actually engaging with them personally, and 4K sure beats Kodachrome), a very few books and fewer films. There is no time, no life, no death, not really, so what harm is there in a little innocent play?

And sometimes there is a glimpse. But it never lasts.

Seems pretty ‘self’-indulgent, no? I have, it’s true, been too much myself of late. After many years of trying to be more present, I’m coming to think it would be better for everyone, including this creature ‘I’ presume to inhabit, if ‘I’ were instead more absent. This creature does just fine without ‘me’, and always has.

Of course ‘I’ have no say in any of this. So I guess I will just stick around, waiting, and occasionally doing other pretentious things, like writing in this blog. Sorry if you were expecting more.

25 Jun 17:43

Putting My World Back Together

I have not watched WWDC videos so avidly, and with so much glee, in a decade. The last time was probably with the iPhone SDK.

And now I’m putting my world back together in my head, a little bit at a time. It’s going to take a while.

One thing you should not miss: the SwiftUI DSL is not some Apple-only magic. We can define our own DSLs in Swift 5.1. Imagine what more Apple can do with this, and imagine what you can do with this.

See the What’s New in Swift video. Also pay close attention to property wrappers.

One thing I keep wondering about — because my apps tend to be about databases — is the SwiftUI of Core Data. In my app I use value types for most things stored in the database, which Core Data doesn’t support. So this means a whole bunch of custom code.

I would love to have defined my model using a Swift DSL and used an engine that (like Core Data) stores my data in SQLite.

25 Jun 17:42

Dear senior engineer, humble thyself.

Nothing robs a person like an unnecessary air of superiority. It robs you of pretty much everything.

17 years ago, I and a few classmates attended extra classes after school. We were all in the same class; SS2. We had another boy join us, Evare Odu Tom, he was a class our junior. Insanely brilliant dude.

One day, I was struggling with a Maths problem; Polynomials. I went to our tutor, Mr Chima Friday Okata and asked for help. He pointed me to the young chap and asked I go meet him to help me with the problem.

I was upset. Why will he send me to my junior? Mind you, I was a few months older than the boy. Chima flatly refused he wouldn’t help solve the problem.

I went home, upset, struggled some more with the problem and I returned to him, the problem still unsolved. He reminded me to go back to the boy, at this point, I was pretty tired. I had spent 1 full week on one Maths problem. This wasn’t me, I wasn’t necessarily a Maths genius, but I have never spent one whole week on a problem.

I swallowed my pride and went to the young man, he spent a grand total of 3 minutes, 5 minutes max on the problem. The same problem that kept me for over a week. I went back and thanked Chima, he sat me down and told me a story about humility and knowledge. Don’t blame me, I was 14.

The following year, WAEC repeated the exact same Polynomial question word-for-word. I smiled when I saw the question. Evare’s solution saved the day. I made a C4 in that Mathematics exams.

I have seen my tech colleagues exhibit this same attitude, people who parade themselves as a senior engineer and not willing to listen to those they consider their “junior.” In doing so, they rob themselves of the opportunity to learn.

Age or length of time has no correlation with knowledge, humble yourself and learn.

Selah.

25 Jun 17:34

IPFS, Again

by Tom MacWright

ipfs graphic

In 2017, I wrote how to decentralize your website with IPFS. I wasn’t able to do it back then.

Two years later, a few things have changed. Instead of 52 million dollars, Protocol Labs has about 257 more, bringing the total over 300 million dollars. The kind of money where you start giving money away and hiring top-tier talent. Two years of development have produced a multitude of open source repositories - 245 in the IPFS organization, plus another 67 under multiformats, and 168 under libp2p, and 102 under IPFS Shipyard.

So what should we expect of IPFS? At five years old, is this a project that’s usable ‘here and now’, as the homepage promised in 2017? Are all the parts in place, just waiting for web and application developers to see the light? Have the stumbling blocks I noticed in 2017 been smoothed over?

No

IPFS is still not usable for websites.

I tried, again, to make IPFS work. Where I ran into bugs, I reported them. I asked around in the forums, and hopped on a very informative call with a team from Pinata. When the process required scripting and workarounds on my side, I implemented what was necessary. I wrote & proposed fixes for many of the documentation issues.

I want something like IPFS to exist. I’m skeptical of the ‘crypto’ ecosystem that IPFS sits next to, but I also take the crisis of the web seriously. If blockchains prove to be useful, I’ll welcome them as part of the solution.

In other words, this isn’t a knee-jerk rant. I tried to make IPFS work until I had to call it quits. These are my notes, and some conclusions I reached.

The goal

The goal is the same as it was in 2017: make a decentralized version of macwright.org. A decentralized website.

macwright.org is the easiest possible kind of website to decentralize. It’s lightweight, has few external dependencies, no trackers, and a simple, customizable build process. If you can make any website work, you should be able to make this one work.

My only restrictions on this mission are:

I won’t use a service. It’s great that folks are creating services around IPFS to make it easy. But I’m evaluating IPFS, not a service, and by relying on something prebuilt, I’d likely insulate myself from knowing about the kinks. I also don’t want to host on, say, DigitalOcean or a cloud server at first. Decentralization means it needs to work in my house.

Updates need to be reasonable. This is a blog. I write new posts, and link those posts from Twitter. IPFS aims for immutability of content, but this blog isn’t immutable, so I need a mechanism of updating a pointer to the latest version.

It needs to be addressable. IPFS uses lots of hashes. You’ll see a lot of references to things like Qmc5cLBCY6fsWkxqpMS1RTovhERoXZSSDrjkjogrVfrDfJ. That’s perfectly great for architecture, but that’s not human-friendly. There should be a way for humans to find things.

The process

What follows are my notes from trying to build a system, step by step. I aim for little goals in increments.

Step 1: Install IPFS locally

In 2017, to get from ipfs.io to the ‘Download’ button, it took 4 clicks through redundant pages. This number has been reduced to 3. But the inconsistencies remain: macOS is referred to as darwin in one place, OS X in another, Mac OS X in another. And there are some new bugs: the IPFS desktop app is included in the installation instructions, but the link to it is broken.

The naming inconsistency is going to be a theme. One of the biggest problems with the Protocol Labs ecosystem is its carelessness with language. Jargon and acronyms are reproducing without need or limit, and producing a world of words that mean too much and too little at the same time.

Step 2: Browse your website locally

Okay, so I’ve got IPFS running. Let’s check out the simplest case: serving my website locally and browsing it locally. In my case - using Jekyll to build, this looks like:

ipfs daemon &
bundle exec jekyll build
cd _site
ipfs add -r

This prints a long line of output, ending with

added QmesFFG92JmyZsPfSrAtbEMSWELsfkPfADhhcg8FjxKB3z _site/resources
added QmTrLEV3NQBhgYM2ZiW52eoSdvVqwU36p3qsQvH4oTfYkM _site/simple-statistics
added QmbkWSVC1VqbswL6NCN4VSZZRoKPtvcBEfkfFbeWVnddGn _site/swift
added QmNb7T9sa3zgvpoRs1k92MQ1pNZxjk3FxaHDc6U9tGAPfj _site/talks
added QmP662VnQbyxK6tbnqhueTzJnPgkFBx7G6hwwTwAtAYyz4 _site/tmp
added QmR2eSRGdDhnnUHWYFvwwbyMDkAJ2gPVMJQZh4TQwKKJW4 _site/topics
added QmVwS9a5LYs3rU3nCyMkmbdHj2ZguE5PpbQy14gjeSytQt _site

Rather terse, right? No ‘success’ method to tell me whether it’s done or the process just died. No indication of which one’s the root entry, or how I might be able to get to it. Just a lot of hashes.

Now, this is a CLI, but it’s also the recommended route for getting a website set up. Some creature comforts might be worthwhile here.

You access this website by copy & pasting the last hash on that line, installing the IPFS Chrome Extension, and prefixing it with http://127.0.0.1:8080/ipfs/. So here we are:

IPFS

Step 3: Make links work again

Ready to publish it to the web? Not so fast. Clicking a link brings us back to my issue in 2017: the way that the IPFS gateway works will break your links.

Essentially, since you’re seeing your website rooted at /ipfs/HASH/, then any link you have that starts with / will go to the wrong place. And you can’t just add that prefix to all your links, because the hash comes from the content, and also because folks might be looking at your website from /ipns/hash or /ipns/domainname.com.

So, links don’t work. I posted an issue detailing this issue, and while I got an encouraging response that there’s a real solution planned, there’s no real solution. People use specific plugins just for IPFS, like this one for GatsbyJS, to get it to work.

I ended up writing make-relative, a script that rewrites my built site to use relative links. This is where the story about IPFS being useful here and now for web developers breaks down a little. I’ve done enough HTML-mangling and path-resolution in my decade in industry that writing this script was straightforward. But the knowledge required to do it is not all that common, and I think this is where a majority of web developers would call it quits, because IPFS’s ‘website hosting’ story would look broken.

And it is pretty much broken. The current way of using IPFS in a browser is a bad hack, just like it was in 2017. Websites will be broken by default by it, and it still has no semblance of the web security model.

Step 4: Give it a URL

So I’ve written a custom script and now have a browsable local website. I’ll want to have a local server that keeps this website online, but first I’ll dive into the URL problem.

Okay, so we rely on the web’s existing, working, good-enough addressing system every day. You’re on this page right now by typing in macwright.org, or clicking a link, and in the address bar is the domain name macwright.org. Domain names are things that you pay for: I pay gandi about $18 a year for the privilege of that name, and they split the money with Verisign, who runs .com, and ICANN, which runs the bureaucracy around disputes, renewals, and governance. Your browser then uses DNS, a decentralized naming system, to resolve that name to an IP address which is the IP address of the server that has this content.

Decentralized web projects have to decide whether they can replicate this system in a purely decentralized way (with no ICANN, Registrar, or company involved), or to rely on DNS to ‘bootstrap’ their systems.

The IPFS stack chose to implement all of the ways.

There’s DNSLink, a rather practical system that has you add another DNS record to ‘link’ it to your decentralized website.

There’s also IPNS, which is purely decentralized, but at the cost of being very, extremely, notably, slow. It also doesn’t produce pretty names – instead it gives you a long hash, just like the ones I saw with ipfs add -r.

Those are the fundamentals. Let’s add some detail.

So, an IPNS address looks like

/ipns/QmSrPmbaUKA3ZodhzPWZnpFgcPMFWF4QsxXbkWfEptTBJd

The documentation advises us that DNSLink is faster than IPNS and yields more pretty names. So here’s a DNSLink address:

/ipns/ipfs.io

Careful readers will notice that this address also begins with IPNS. But, as far as I can tell, it doesn’t necessarily use IPNS: it could be – and usually is – macwright.org uses DNSLink to indicate an IPFS address. Why would DNSLink use /ipns/ as a prefix if it’s often used instead of IPNS? I’m as confused by this as you are.

So, anyway, I set up DNSLink within IPNS, thinking that this must be what most folks do. Surely they don’t update their DNS records every time they update their website.

That was an incorrect assumption. IPFS-based websites do update their DNS records every time that they update their website, so that they can avoid using IPNS, because IPNS is just too slow.

This was a tough discovery, because it works against everything I know about DNS – a system that isn’t particularly designed to be fast or scriptable.

But, I had to forge on, so I wrote gandi-ipfs, a tool that would let me update my DNS records to use DNSLink. Reportedly other folks use CloudFlare and have their own scripts. I gleaned this information from a call with the very friendly and helpful Pinata team.

Step 5: Host it

To mark our point in the journey, here’s what my script is looking like now.

ipfs daemon &

echo "Jekyll building…"
bundle exec jekyll build

cd _site
make-relative https://macwright.org/
hash=`ipfs add -r -q . | tail -1`

echo "Root hash: ${hash}"
gandi-ipfs $hash

So I’m using my custom script make-relative to make all the links on the site relative, and the script gandi-ipfs to update DNS records.

But the server that I start with ipfs daemon stops every time I close my laptop’s lid. So the next step is setting up a server.

I decided to start with a Raspberry PI kit - the Pi-Hole in particular, which is intended to be set up as an ad blocker, but happens to contain all the parts I need for a simple server. I know full well that Raspberry PIs are small, low-power, low-memory computers and I might need something bigger for long-term performance, like an Intel NUC. But it should do the trick for testing.

Setting up the PI was pretty smooth, and it’s magic to just log into a tiny computer. It’s an ARM chip and runs a certain flavor of Linux.

Installing IPFS on the Raspberry PI was also smooth: just download the ARM distribution of go-ipfs and you’re set.

Unfortunately, once I started getting this set up as a ‘pinning device’, the fun stopped.

I tried running ipfs pin add with the hash generated earlier from ipfs add -r, but it just ‘hung’ - outputting nothing at all. After a while I realized that, like ipfs pin add, IPFS doesn’t communicate very well when it’s having a problem. So I figured out how to turn logging information all the way up, and then… I was never able to get past a ‘got error on dial’ failure, despite trying all potential configurations of the IPFS daemon, enabling logging, upgrading to the newest version, and so on. There are about 63 similar issues in the tracker, 21 of which are marked as bugs.


Epilogue

That’s as far as I got.

Like last time, I might have missed some critical step or made the process harder on myself. For ✨journalistic integrity✨, this post hasn’t been edited or reviewed by anyone. Hence the typos.

I tried to make the process documentation straightforward and fact-based, but couldn’t help but add some foreshadowing about the issues. And there really are issues.

Here are the problems

An overextended, under-documented, and unfinished constellation of projects. No single part of the ecosystem is truly finished and well-documented, and new parts are spawned every day. Projects that are almost universally avoided – like IPNS – are still included in the main documentation and recommended as if they’re usable.

The same goes for language: IPFS has a sprawling set of jargon that’s inconsistently used. Is it merkledag or merkle-dag? There are enough terms that there’s a glossary, but the glossary itself refers to both merkle-dag and merkledag. Is a node a peer or a piece of content? A low point was discovering two repos whose readmes referred to each other as the same thing.

And then there are the three big issues: usability, reliability, and performance. Do CLI commands have explanatory output? Are error messages informative? Can I count on tools working as advertised? Will the decentralized web have Bittorrent-like scalability, or will it be more like Bitcoin?

Here are the recommendations

First, make recommendations. I went down the IPNS rabbit hole because the documentation sent me, and only by a chance encountered did I learn that it’s almost universally avoided. There’s no shame in saying that a project’s not ready. Recommending unusable projects burns goodwill. Recommend paths that work.

Second, fix your words. Words are work, and that work is not happening. Finish a glossary, standardize usage and meaning, and cull unnecessary jargon. Treat new bits of jargon like technical debt, because that’s what they are.

Third, set realistic goals and make realistic statements. IPFS.io still has a web-centric message and promises that it’s useful here and now. It promises ‘fast performance’, and support for ‘huge datasets’. These are goals, not realities. An effort to put 300TB of data was met with mixed results and notes about adding and retrieving data being extremely slow.

Fourth, set a goal. This is a slightly different question than the last one. A core question is: is IPFS trying to be an internet? The website would say yes, and some of the documentation. But the 2019 goals punt the ‘decentralized web’ to 2020+, instead focusing on NPM on IPFS. Which then leads us to entropic, the most promising distributed package manager, which has a discussion about using IPFS that immediately brings up its performance problems.

Maybe I’m being too tough on IPFS. But this isn’t 2014. IPFS isn’t a new project, and it isn’t resource-limited. Protocol Labs has raised over 300 million dollars, and has been around for 5 years. That’s a lot of money to pay a lot of smart people.

So a few scenarios are possible. Maybe most IPFS users are using it for file storage and as an API backend, kind of like textile. I’m the odd one out expecting it to be useful for websites. Which would explain the haphazardness of DNSLink and IPNS, but not the performance issues. Or maybe I’m misjudging the arc of history – that Protocol Labs is a 20 year project, not a 10 year one. But really I suspect that some of the hype exists because folks are talking about IPFS but they don’t rely on it it. People excited about the potential of FileCoin and otherwise hyped on crypto technology want to imagine uses and combinations of technology without being tethered by the reality of what doesn’t work.

I hope that Protocol Labs sets a goal and achieves it. The IPFS future is exciting. But we aren’t there yet, and I’m not sure we will be.


Footnotes

Issues & PRs: docs/161, docs/162, multicodec/132, go-ipfs/6354, go-ipfs/6357, docs/173, forum thread

25 Jun 17:33

datasette-bplist

datasette-bplist

It turns out an OS X laptop is positively crammed with SQLite databases, and many of them contain values that are data structures encoded using Apple's binary plist format. datasette-bplist is my new plugin to help explore those files: it provides a display hook for rendering their contents, and a custom bplist_to_json() SQL function which can be used to extract and query information that is embedded in those values. The README includes tips on how to pull interesting EXIF data out of the SQLite database that sits behind Apple Photos.

Via @simonw

25 Jun 17:32

Still a problem, apparently

by russell davies

IMG_5176

It's a while since I've done a big, set-piece presentation on a big conference stage. The kind with anxious organisers and long-suffering AV people. This thread (and this fork) brought it all back and reminded me of the horror of presentation remotes. There's clearly still a market for something obvious yet satisfying.

I bet the problem is that they're also trying to make it 'discreet'. This is the bit of the battle they should give up on.

That's what the button was about.

Brendan had a similar thought

 

25 Jun 17:32

Meetings Are Not For You

by rands

One of the challenges with writing a blog for a long time is it possible to repeat yourself. I’m not talking repetitious themes; I’m talking word for word writing pretty much the same article. Again.

Meetings are on the brain again, so I quickly checked the Rands archives to make sure that I hadn’t already written this piece. During this search, I not only discovered how much I’ve written about meetings, but also that I tend to start those pieces with a single declarative negative statement.

There is deep Rands meeting baggage, but completing this research task, I proved I had not covered the following thought: “Meetings are not for you.”

Meetings Are a Privilege

So is management. It’s a unique set of responsibilities granted on a particular human. Someone somewhere decided that you, yes you, are now a manager that means additional responsibilities including, but not limited to, going to meetings.

Congratusympathies.

Given this article’s opening, you might be wondering why I am calling meetings a privilege. Much of my issues with meetings have to do with waste. It’s the classic engineering assessment of a meeting: _Do you realize how much money we’re spending here wasting all of these humans time? They could have been building something useful._This is why I’ve spent so much time writing about meetings – I desperately want them to be better… more useful… more efficient… for everyone.

The last article I list above triggered writing this one. A community member on the Rands Leadership Slack asked in the #ask-rands-anything channel whether the staff meeting habits I described in Gossip. Rumors and Lies should apply to all meetings.

Yes. Yes definitely. Yes, and why isn’t this obvious? Yes, you should:

  • Designate someone to take notes in the meeting.
  • Start by reviewing open items from the prior version of this meeting.
  • Close the meeting by repeating the decisions, the issues that remain open, and the owners of those issues.
  • Send the notes from that meeting to the broadest possible set of appropriate humans after removing confidential or sensitive topics.

If those four bullets don’t feel instinctively the right thing to do for every meeting then you’re like me for the first decade of my management career when I did none of them. My inner dialog was:

  • No one should take notes. They should give this meeting their full attention.
  • Everyone is an adult here. If we make decisions, they’ll communicate it. If they have a to-do, they’ll do it.
  • Finally, don’t worry, the significant developments and decisions of this meeting will organically find the right people in time.

The reality is that everyone in a meeting is experiencing a slightly different version of that meeting because they are all different people. What one human considers important about a conversation or a decision will differ from human to human. With this different interpretation, they – if they remember to do so – will tell their team slightly different things about the results of the meeting. In this somewhat different interpretation scenario, decisions that are meant to clarify a situation will muddle it. The creation of this entropy defeats a significant reason we had the meeting in the first place – to move forward together.

Meetings are a privilege, but the privilege isn’t that you get to go, the privilege is that you get to go to represent your team. This means you show up informed and capable of representing their interests and when the meeting is over that you deftly and capably communicate the results of the meeting to your team.

Worst Meeting… Ever.

I’ve been to all the bad meetings. There’s “This Manager Sure Likes to Listen to Himself Talk” staff meeting. There’s the “We’ve Had This Meeting Forever… and No One Knows Why” status report. Finally, there’s the Silence meeting.

In the Silence meeting, a collection of leaders gather to discuss the latest and greatest something. There’s a silence after someone in that meeting says, “This is a very complicated situation, and I don’t know what to do.” That silence is the humans in the meeting waiting for you, the leader and obvious owner of the situation, to raise your hand and say, “I got it.”

But you don’t. You, like everyone else in the room, know the situation isn’t complicated, it’s horrifically political and a no win scenario, so you choose silence.

Why are you here? You were invited to this meeting as a representative of your team. You are them, and while they are not here, they expect you to lead. You are not protecting your team by avoiding a complicated situation; you are damaging their reputation. They, like you, are now the team that avoids risky situations.

Leaders lead. No matter what.

25 Jun 15:35

Micromobility

This buzzword has been echoing round the corners of Net conversation, not loud yet but the voices are those that have seemed smart in the past. I joined in a few months back by acquiring a Super Commuter+ 7 e-bike from Trek Bikes. Count me among the converted. I concluded what will probably be the last episode of my Jaguar Diary with “It makes me happy… but a new car isn’t a life-changer”. Well, I’m here to tell you that an e-bike is. And I suspect this whole Micromobility thing has legs.

Trek Commuter+ 7 e-bike and Jaguar I-Pace electric car

Two electric vehicles.

I’ve biked to work intermittently since I started at AWS in late 2014. But I’m fickle and wimpy. My route home has a continuous sixteen-block uphill segment, and it really hurts if you’re not pretty fit. At my age, you lose fitness faster and regain it slower. So if I went on a road-trip or got a bad cold or we had heavy snow and I didn’t cycle for a few weeks, I was back in sixteen-blocks-of-pain territory.

My doctor and my wife both said they thought the e-bike would be a good idea, and then I kept reading things on the Net about dubious velo-heads being won over. Some of those discussions included the experience of inhabiting an older body that struggles for fitness. Everyone seems to think that the exercise benefits, while not up to those you get from real do-it-all-yourself-biking, are still significant.

What it’s like

It’s important to understand that you don’t sit there motionless and cruise along like on a scooter or motorbike. If you don’t pedal, you don’t go. If you pedal harder, you go faster. The power design is smoothly intuitive; you hardly ever actually feel the electric assist directly. But for any given amount of pedaling pressure, you go a lot faster than you would on an unassisted bike. Yeah, the uphills still hurt, but less; also the pain ends faster.

It’s got ten gears and four boost levels: Eco, Tour, Sport, and Turbo. I find myself leaving it on Eco, sometimes switching to Tour for those sixteen blocks, but using the gears a lot, maybe more than on a regular bike. There’s a nice little Bosch Purion computer, where by “computer” I mean a speedometer and boost control. The boost stops working at 35km/h, which is dead easy to hit on level ground or going downhill.

It comes with a 110V AC charger which I need to use every week or two. I have no idea how long it takes to charge, but the battery’s full in the morning. You can detach the battery and take it inside if that makes charging easier.

The write-ups talk about how you can cruise into work and arrive fresh as a daisy, no shower needed. I dunno, I get a little sweaty but then it’s geek-informal where I work, if a suit were involved a shower would be in order. On the long uphill road home, I get plenty overheated.

The Commuter+ 7 is a heavy thing with a bulging battery, a fat frame, and fatter tires, which make for a comfy ride and cushion pothole punishment. When you turn off the boost, it’s a klunker. Also, I have panniers on the back, I drop my computer into a sleeve and the sleeve into the pannier, and arrive at work sans backpack; an oddity in geekville.

Because of the panniers, I’ve given up taking the car on almost all local shopping trips. The bike gets there about as fast, I can park it right in front of any store, and with the panniers I can carry along quite a few groceries and still have room for some beers.

But how does it feel?

It feels wonderful! My commute, which is almost exactly 4km, takes me under twenty minutes from my front door to my desk at work, a bit more or less depending on whether I make or miss traffic lights. It helps a lot that Vancouver has pretty good (and getting better) bike-route infrastructure.

Vancouver bike map legend Central Vancouver biking map

Extracted from the official City of Vancouver cycling map.

My commute is between near the bottom center and near the top center on that map. There are only a few blocks where cars and bikes are sharing street space as “equals”: the two between my home and where I get on the bikeway, and one block that happens to be right outside the main central-city police station. The result is I feel safe. Having said that, the one time I got hit by a car — badly, with ensuing hospital time and surgery, in 2000 — was when a stopped car suddenly lurched forward into a crosswalk; so you’re never 100% safe.

The big safety problem is the cool downhill parts of the route, where I (and my cycling-commuter peers) go like hell. That route also includes leafy residential hoods and a bridge over the ocean. It’s really pretty awesome and, as in many other ways, I’m a lucky guy.

(I do experience a certain amount of guilt while blowing by people who are obviously fitter than me just because I’m e-assisted and they’re self-powered.) (But I can learn to live with it.)

The economics

An electric bike isn’t cheap - this thing lists at $3,800 US. There are cheaper e-bike choices, but also way more expensive ones. Public transit would cost about a thousand a year and takes nearly twice as long to get there. My car is electric and thus (ignoring capital cost) close to free at these ranges, but then parking is $150/month or so if you sign up for the whole month, and $15/day and up a-la-carte. Bike parking is so far one of life’s few free offerings.

Then there are the health benefits from 40 minutes of moderate cardio workout per day, and the emotional win of spending no time either squashed into a packed train or sitting alone in a traffic-jammed auto. When you’re biking you’re moving, except for those damn red lights; we hatessss them, my precioussss.

Micromobility

This is the broader category of which e-bikes are a member, but also includes scooter variations and then the variegated two- and three-wheelers, mostly electric, I saw in Beijing.

One of the voices arguing that all this is A Big Deal is that of Horace Dediu, a long-time commentator on mobile tech and Apple, who invented the term Micromobility and organizes conferences on the subject.

Is it really a big deal? It seems to scratch humans’ built-in get-there-faster itch while paving a whole lot less of paradise. And, also as Horace says:

Horace Dediu on Micromobility

My mind is open. I have a hunch that e-bikes will loom large among micromobility choices; compared to stand-up options like scooters and Segways, they’re a little safer and a little faster. Also, they embody technologies that’ve been refined since the dawn of the bicycle in the early 1800s, and continue to evolve.

Anyhow, if you’re an urban traveler I strongly recommend trying one out.

25 Jun 15:34

Increasing ocean temperatures, decreasing ice

by Nathan Yau

For National Geographic, Kennedy Elliot made a series of heatmaps that show the relative shifts in the ocean:

The oceans don’t just soak up excess heat from the atmosphere; they also absorb excess carbon dioxide, which is changing the chemistry of seawater, making it more acidic. “Ocean acidification is one simple and inescapable consequence of rising atmospheric CO2 that is both predictable and impossible to attribute to any other cause,” says oceanographer John Dore of Montana State University.

Great.

Tags: climate change, National Geographic, ocean, temperature

25 Jun 15:34

Teach, That's My Advice

by Eugene Wallingford

In Tyler Cowen's conversation with poet Elisa New, he asks closes with one of his standard questions:

COWEN: Last question. You meet an 18-year-old, and this person wants in some way to be a future version of you, Elisa New, and asks you for advice. What advice do you give them?
NEW: Teach.
COWEN: Teach.
NEW: Yes, teach the young, and yes, that's the advice. Because what teaching is, is learning to converse with others. It's to experience a topic as it grows richer and richer under the attentions of a community. That's what a classroom that really works is. It's a community that's ever rewarding.

New's justification for teaching has two parts. The first struck me as central to the task of becoming a poet, or a writer of any sort: learning to converse -- to express and exchange ideas -- with others. To converse is to use words and to experience their effects, both as speaker and listener. Over my years in the classroom, I've come to appreciate this benefit of teaching. It's made me a better teacher and, if not a better writer, at least a writer more aware of the different ways in which I can express my ideas.

New's second justification captures well the central value of teaching to an academic. To teach is to experience a topic as it grows richer under the attention of a community. What a wonderful phrase!

Some people think that teaching will steal time from their work as a literary scholar, historian, or scientist. But teaching helps us to see deeper into our discipline by urging us to examine it over and over from new vantage points. Every new semester and every new student creates a new conversation for me, and these conversations remind me that there is even more to a topic than I think -- more often than I ever thought they would before I became a professor. Just when I think I've mastered something, working with students seems most likely to help me see something new, in a way different than I might see something new through my own study.

This exposes one of the advantages of working in a graduate program or in an ongoing research lab: building a community that has some continuity over time. Teaching at an undergraduate institution means that not as many of my students will be able to work with me and one another on the same topic over time. Even so, follow-up courses and undergrad research projects do allow us to create overlapping communities with a lifespan longer than a single semester. It simply requires a different mindset than working in a big research lab.

So I heartily echo Professor New: teach, that's my advice.

25 Jun 15:34

My B2B Dream

by noreply@blogger.com (BOB HOFFMAN)

I had a B2B dream last night. I heard somebody say...
We want to become your customer experience partner. We'll help you architect cutting-edge systems, both human and virtual, from high-quality product provision to unique problem resolution through customized resource management solutions.

We are laser-focused on re-imaging customer experience and future-proofing your business. In doing so, we also provide hands-on training to keep your employees engaged, more productive, and up to date on all aspects of your integrated solution suite.

Regardless of what industry you're in, we have the answers for your resource and system needs. Our data-driven, turn-key deliverables protect your most valuable assets - your customer relationships! We have the ability to work with many different industries, quickly responding to changing applications and environments, while staying focused on quality and best-in-class performance.

We analyze your historical and forecasted needs to ensure high execution while reducing costs. 

Our experienced experts will visit your distributed work environments and evaluate your operating modalities to advise on enhancements that will improve your key measurables and create ongoing alignment with sales and engagement goals. They’ll deliver a detailed report and recommend solutions tailored to your toughest KPI challenges.

Here are some ways that our eBusiness solutions can benefit you:
    • Dynamic integration
    • Catalog extracts  
    • Process regeneration
We are committed to both innovation and speedy adoption of disruptive sales-side ecosystems.

Our highly-trained associates take your operating blueprint and provide you with a finished global solution. The final resource set will be of the highest quality and will be validated and delivered with robust support structures. Additionally, we will source and integrate these structures into your assembly per your stated requirements.

In short, we are inverting the traditional systems architecture and abandoning outmoded team structures in favor of high-octane solutions that supercharge opportunities for growth.

We want to be your total resource solutions partner!
I said, "Okay. But what the fuck do you DO?"

25 Jun 15:33

My Blogging Setup These Days

A friend of mine asked me about my blogging setup. I figured I’d blog about it. Definitely skip this post if it’s not the kind of thing you’re interested in.

inessential.com

This blog, inessential.com, lives on an inexpensive shared host. It’s all static files, generated by wildcat. The posts are stored in a Git repository.

Posts from inessential.com are also picked up by my Micro.blog account, where they appear to people who follow me there. Micro.blog also forwards my inessential.com posts to Twitter, to my @brentsimmons account.

Micro.blog

I have four additional blogs hosted on Micro.blog: micro.inessential.com, nnw.ranchero.com, xcoders.org, and microblog.omnigroup.com.

The Xcoders blog is owned by the Xcoders group; the Omni microblog is owned by Omni.

micro.inessential.com posts get forwarded to Twitter @brentsimmons. The NetNewsWire blog posts get forwarded to Twitter @netnewswire. The Xcoders blog posts get forwarded to Twitter @xcoders. The Omni microblog posts do not get forwarded.

Writing tools

I use MarsEdit for almost all of my blog writing. I use BBEdit + Marked for blog writing from time to time. (At work I also use iA Writer sometimes.)

I do all of my writing on a Mac. This is because I’m in front of a Mac when I’m working, whether it’s my day job or working on side projects.

(This is not a general comment on the suitability of iPad for work. It’s not there for me personally yet, but that’s fine. It’s making progress all the time, and I’m certainly encouraged by the news from WWDC on this front.)

How I decide what goes where

It’s pretty obvious, usually. Cat pictures go to the Omni microblog. :) Xcoders announcements go on the Xcoders blog; NetNewsWire announcements go on the NetNewsWire blog.

The one slightly tricky thing for my personal writing is deciding between my main blog and my microblog. Long things always go on my main blog. Very short things are also totally okay for my main blog — but they’re okay for my microblog too.

So, for short things, I just make a snap decision, go by feel, and try not to spend more than a second on the decision. Since I’m writing in MarsEdit, picking the destination blog is just a matter of selecting it from a pulldown menu in the compose window. (I can choose a destination, write the post, then change my mind about the destination before posting. Easy.)

I rarely just tweet something, unless it’s truly ephemeral (or a reply, obviously). I prefer to blog first and let Twitter get a copy. This is part of owning my own content.

Reading tools

I use NetNewsWire with Feedbin syncing. I use the Micro.blog Mac app and Icro on my iPhone. (The Micro.blog Mac app supports multiple accounts, which is very useful to me.)

For Twitter I use Twitterrific on my Mac — with five windows open at all times for my various accounts — and Tweetbot on iOS.

25 Jun 15:33

Myth of the impartial machine

by Nathan Yau

In its inaugural issue, Parametric Press describes how bias can easily come about when working with data:

Even big data are susceptible to non-sampling errors. A study by researchers at Google found that the United States (which accounts for 4% of the world population) contributed over 45% of the data for ImageNet, a database of more than 14 million labelled images. Meanwhile, China and India combined contribute just 3% of images, despite accounting for over 36% of the world population. As a result of this skewed data distribution, image classification algorithms that use the ImageNet database would often correctly label an image of a traditional US bride with words like “bride” and “wedding” but label an image of an Indian bride with words like “costume”.

Click through to check out the interactives that serve as learning aids. The other essays in this first issue are also worth a look.

Tags: bias, machine learning, modeling, sampling

25 Jun 15:30

All Politics Is Local

For the last 18 months, I’ve been deeply embroiled in a long, local political struggle. That struggle ended unexpectedly, Saturday morning, in a satisfactory compromise.

I’ve not written much about this here, because this fight was very local and most of my readers are not. It’s not obvious that scholars in Amsterdam or authors in Adelaide would be interested in a small political committee in a small American city. On the other hand, I think some aspects of this mess might have some general interest.

  • We’re at the start of a political campaign that will, more than any election since 1860, determine the fate of the nation and perhaps the planet.
  • All politics are local. Even if you live in Bergen, the details Trump’s defeat matter.
  • The story touches on social media and the Web, even though this is a party committee drawn from a small suburban city.
  • It’s a tale of community organizing in disarray, of local politics carried out through social media campaigns and coffee chats.

The problem: The Malden Democratic City Committee is elected every four years by voters in the Democratic primary. It had, for some years, been tiny and obscure if not secretive. More recently, it’s been the vehicle for holding two parties a year, and having nine Saturday morning informational meetings. It doesn't endorse candidates or take positions on issues or raise money for immigration lawyers or #BlackLivesMatter, for @abortionFunds or ACLU.

Efforts to change this foundered because the Committee almost never had a quorum, and because the Committee had misplaced its minutes and its bylaws. So new bylaws were drafted.

I felt the proposed bylaws set the quorum too high. Robert’s Rules says, sensibly, that the quorum should be the highest number of people who can be relied upon to attend every meeting, unless the weather is very bad. The proposal’s quorum might be reached once every year or two.

Why did it matter?

In the US, only two political parties can matter. One of those parties has gone nuts. We’re the other one.

The US stands today on the threshold of fascism. That seems incredible. It must have seemed pretty incredible in Kishinev back in 1903, or Berlin in 1933, or Vichy in 1942.

Today, we deplore those who did nothing. Yet we — the representative body for the Democratic Party of a city of 60,000, a city that should be a Democratic powerhouse, a city where swastikas keep popping up — we hold two parties a year.

So many reasons why

Why was this so important? Why would anyone care so much about a quorum proviso in a set of small-town bylaws?

At first, I wasn't sure why it mattered. On reflection, I found six million reasons. The shadow of Manzanar and Minidoka as well, of Gila River and Bosque Redondo. The graves of Camp Logan and Tulsa, the specters of Harlan County and Haymarket.

A country goes Fascist two ways: gradually and then suddenly.

But…

Perhaps it can’t happen here, and all this will blow over. We’ll tear down our concentration camps for toddlers, write reparations checks to the families we tore apart, make Pride a national holiday, restore science, replenish the courts, rejoin the Paris Accords.

Still, it is better to be able to act and find that you don’t need to, than to need to act and discover that you cannot do enough in the time you have.

The solution

Leadership wanted a quorum of 20%, which could be as high as 56. I proposed a quorum of 12. After a long and bitter fight, we wound up at 20 — a number that should be workable.

On the final morning, I fully expected to lose.

The consequences

I worked hard on this for a very long time. I wrote many memos, lots of emails, a newspaper op-ed, handouts and flyers. I ran a long, long Facebook campaign. I wrote three full-dress speeches. I got a haircut.

I lost friends. One neighbor who used to come to dinner all the time now calls me “jerk” and “asshole” on Facebook. A sign that I’m not cut out for politics is that this bothers me.

Aside: Facebook is bad for Democrats

Many local Democratic Committees rely heavily on Facebook. That’s a mistake.

  • Facebook is untrustworthy, and its sympathies lie with our opponents.
  • Facebook, like Twitter, profits by creating bar fights in comment threads, Fights boost their profits while burning out our volunteers and dismaying our supporters. It's win-win for Facebook and Twitter and a disaster for us.
  • We depend on Facebook because Democratic Party institutions rely so heavily on elderly activists and Facebook works well for old folks. This is bad tech shoring up bad tactics.
  • I’ve been saying for more than a decade: comments kill blogs. Comments kill Facebook pages, too.
  • My rivals held the keys to the Facebook group and used them with some skill, but at the end of the day you can’t moderate a Facebook page for an official party committee in the face of a competent opponent. You can make it hard: for a good chunk of time, I had to adopt the dissident Chinese tactic of advocating for an issue by talking about a different issue. It’s hard to block an elected member for outspokenly supporting the national party position on immigration.

This was unnecessary

Nobody seems to have done what seems to me to be the very first thing our opponents ought to have done: find out why the hell this mattered so much. In retrospect, I suspect they still don’t know, or understand why it would have been useful have found out. I don’t think the calculus is hard. I tried to tell everyone who would listen, and many who would not.

Limits

Once upon a time, six million tried to get along with neighbors who disliked them.

I’ve been very angry at some of these many meetings. This is bad politics: people don’t like anger. At the very beginning, the sage of the Malden Democrats took me aside. “It’s not that they don’t like your ideas,” she told me. “The problem is, they don’t like you.” She was not wrong.

Amity is a suspect quality, and we used to understand the limitations of being well liked.

All Politics Is Local
24 Jun 04:55

Why We Need Mayors on the Metro Vancouver Board

by Colin Stein

What’s the big deal about District of North Vancouver Mayor Mike Little’s decision to step off the Metro Vancouver Board?

Perhaps nothing, except that the only other local governments not represented by their top elected officials are Lions Bay and Bowen Island, representing 5,000 of the region’s 2.5 million. (Port Moody Mayor Rob Vagramov, currently on a paid leave of absence related to a sexual assault charge and pending court date, is still listed as a Metro Vancouver Board member.)

One could say the opportunity to serve on the Metro Vancouver Board is not just an honour, but a responsibility of some significance, perhaps moreso than most municipal committees.

Metro Vancouver is a federation of 23 municipal bodies responsible for the planning and delivery of regional services like drinking water, wastewater treatment and solid waste management, and for regulating air quality, as well as plans for urban growth, including affordable housing. Its Board of Directors governs this mandate, and consists of elected officials from each local government, proportional to their size.

And thus the number of Directors appointed to the Board depends on the population of the municipality (or electoral area, or First Nation). Furthermore, directors are allowed one vote for every 20,000 people in their jurisdiction, up to a total of five votes.

That means, the more populous you are, the more directors and voting power you have on the Metro Vancouver Board.

Does it make sense that the District of North Vancouver, in the midst of broad public scrutiny into its actions (or inactions) to address development and housing pressures, has just one representative on the MV Board for its 88,000 people, and that this representative is NOT the municipality’s elected leader?

Perhaps — DNV is just 3.5% of the region’s population. But once you remove Electoral Area A from the equation, DNV is almost 8% of the region’s total incorporated land.

The person responsible for representing this land is DNV Councillor Lisa Muri. In the same May 27 council meeting in which she was voted in to replace Little on the MV Board, Muri characterized the nature of her initial approach to local development applicant Darwin Construction as “keep your enemies close.”

Darwin, whose corporate principles reflect The Golden Rule and is known for its green building and social housing initiatives, was seeking council to green-light its proposed Maplewood Innovation District project, a mixed-use development, including rental housing, on an old gravel quarry to the east of the Ironworkers Memorial Bridge. (Muri’s response to Darwin’s project plan: “I felt like it was a party I wasn’t invited to.” She ultimately voted in favour of a motion, which passed 4-3, to defer the decision on the project to 2020.)

In this era of climate crisis and continued population growth in most of our cities — attributable to regional in-migration, as well as immigration — are planners and developers really the enemy? Land availability, land cost, and the politics of land development and real state speculation have all been the obvious determining factors as to whether we can meet housing demand and population growth projections.

So should we not be determining the leadership of our regional government on the basis of land, the precious resource in question, rather than current population?

Prompted by the this “District of No Vancouver” story, let’s understand the land associated with the balance of Metro Vancouver’s overall decision-making authority.

Here’s how we do things currently: # of Metro Vancouver Board Members by ‘000s of population:

Click on charts for larger versions.

Mini-munis Belcarra, Tsawwassen, Lions Bay, Anmore and Bowen Island get concessions (one member each for sub-5,000 populations); of the balance, DNV is the largest municipality (88,000 people) to have just one Board member.

In terms of # of votes per ‘000s, it’s a similar deal — the eight-smallest munis get a vote, and relative voting power ramps up from there:

But what happens when we look at land? Let’s first start with a baseline value — density, or # of people per square kilometre, which can be seen as a measure of residential land use efficiency.:

(Note the logarithmic scale, used in the following three charts for ease of depicting relative order of magnitude, as opposed to relative values).

Now we’re outside the realm of fair allocation of resources. Clearly, some municipalities (through careful planning or happenstance — take your pick) have taken on the lion’s share of effort on the efficient housing of people, at a baseline minimum rate of 1,000 people per square kilometre.

But these are not the same municipalities that have, by virtue of Board membership and votes, commensurate influence to shape the future of this region, at least on the basis of said land use.

Consider the area, in square kilometres, represented by a single Board member in each municipality:

We can call this ‘weight of responsibility’. And who has the greatest share? Metro Vancouver board members representing municipalities with simultaneously some of the lowest density, largest tracts of land, and populations still hovering in the large town (or small city) category — around 50,000-100,000.

These are cities with room to grow, but quite possibly the greatest expressed resistance to such growth, via their council decisions of recent years, or even since last October’s elections. These are municipalities seemingly failing to meet the weight of their responsibility — to provide more housing, including affordable and non-market/social, to the many thousands of people seeking it.

Now consider area by voting strength:

We can think of this as ‘authority’ — the relative power of municipalities, as represented by the weighting of their seats at the Metro Vancouver Board, to govern land use. The densest cities govern the least amount of land per vote, whereas some of the roomiest, most sprawling municipalities can use their votes to wield a disproportionate amount of authority over our shared land.

The upshot? The 13 municipalities with the greatest land area authority — representing 9 of the 12 least dense jurisdictions, 55% of the region’s population, and 85% of the region’s land mass* — hold unweighted Board majority, as well as weighted voting strength.

Councillor Muri, welcome to the Metro Vancouver Board.

*Again, not including Electoral Area A, which skews land area comparisons due to its vast tracts of unincorporated land.

23 Jun 15:50

“When, exactly, do abortion opponents think life begins?”

by Andrea

The New York Times – Opinion: Life Begins at Conception (Except When That’s Inconvenient for Republicans). “It’s almost as if abortion bans aren’t actually about “life” at all.” By Molly Jong-Fast.

“But what are we to make of what happened on Feb. 22, when a 24-year-old woman from Honduras went into labor at 27 weeks pregnant and delivered a stillborn baby at an ICE detention center? According to ICE, “for investigative and reporting purposes, a stillbirth is not considered an in-custody death.” Where were the cries of outrage from pro-life corners? Do some lives begin at conception and others don’t? Is an immigrant fetus less of a person than a citizen fetus?

Many pro-choice pundits make the argument that abortion opponents are hypocrites for their lack of concern about maternal health and early-childhood programs, and they are. But these inconsistencies about when “life” begins are far more revealing. The idea that fertility clinics should be allowed to end “life” in the pursuit of resolving infertility is wholly illogical; the notion that an in-custody stillbirth at 27 weeks is not a death, but that an abortion at six or eight weeks is a murder punishable by up to 99 years in prison, requires wild feats of mental jujitsu.

It’s almost as if the Republican Party considers “life” to be a completely arbitrary notion. It’s almost as if this isn’t actually about “life” at all.”

Link via MetaFilter.

11 Jun 17:24

Vancouver man wants city to regulate parking locations for car share programs

by Shruti Shekar

A Vancouver resident wants there to be a city limit to the number of car sharing vehicles that are parked in residential parking spots.

Dan Pressler, who lives in a condominium a block away from the Pacific National Exhibition, said the number of cars being parked in his residential parking lot has increased exponentially in the past few years. He said the biggest increase was during the Craft Beer Festival which just occurred over the weekend.

The PNE hosts an annual 17-day summer fair, and other events are also hosted in that specific area.

He added that cars during the past weekend had filled the entire lot and were even kept overnight.

In that particular parking lot area, lots are reserved for residents as well as drivers using car services like Evo and Car2Go, the CBC reported.

“It’s definitely amped up over the last decade,” he said, noting that he would like for the city to regulate the overload. He added that the services are good for the environment but there needs to be some sort of oversight in terms of parking.

Pressler told the CBC that there are events at least once a month in the area, drawing many vehicles, ultimately forcing him to try and find parking elsewhere. He noted that this has become standard practice for now and is incredibly frustrating.

The City of Vancouver told the CBC that it supports car sharing programs and said that it works with them to find dedicated parking spots.

“In instances where cars bunch together, the City works with car sharing organizations to provide dedicated on-street space to draw demand away from residential areas,” the city said.

Source: CBC

The post Vancouver man wants city to regulate parking locations for car share programs appeared first on MobileSyrup.

11 Jun 17:24

Sony reportedly working on phone with six rear cameras

by Aisha Malik
Sony logo

Sony is reportedly working on a phone with six rear cameras and a dual selfie camera pairing, according to a prominent Twitter leaker.

The six cameras in the back along with the two cameras in the front total eight cameras on the alleged Sony Xperia phone.

The Nokia 9 PureView currently holds the record for the most number of camera sensors on a phone, but perhaps Sony will take the lead in the future.

The report comes from a tweet by Max J, a leaker and editor of AllAboutSamsung, a German news site.

 

If the report is accurate, we will be hearing more about this phone in the future.

Source: Twitter  

The post Sony reportedly working on phone with six rear cameras appeared first on MobileSyrup.

11 Jun 17:23

Foxconn says it can make U.S. iPhones outside of China in case of trade war

by Igor Bonifacic
iPhone XS Max

Should tensions between the U.S. and China escalate to an all-out trade, Foxconn, Apple’s main assembly partner, says it has enough manufacturing capacity outside of Mainland China to protect the tech giant against punitive tariffs.

“Twenty-five percent of our production is outside of China and we can help Apple respond to its needs in the U.S. market,” said Foxconn semiconductor division chief Young Liu during an investor briefing on Tuesday, according to Bloomberg.

With the exception of a couple of older iPhone models Apple sells in developing markets, Foxconn builds all of the company’s flagship iPhones at its Longhua Science and Technology Park in Shenzhen, China.

Should U.S. President Donald Trump follow through on his threat to impose additional tariffs on Chinese goods, the cost of Apple products, including the iPhone XS and XS Max, will increase in the U.S. and across the board

Bloomberg reports Foxconn has just enough capacity outside of China to meet U.S. demand for the iPhone and iPad. While Apple has yet to ask Foxconn to follow through on its promise, the move could lead to India becoming a major manufacturing hub of Apple products.

In fact, even before this latest episode in Trump’s trade war, Apple was, according to a Reuters report, was already exploring the option of moving the iPhone assembly to India.

Source: Bloomberg

The post Foxconn says it can make U.S. iPhones outside of China in case of trade war appeared first on MobileSyrup.

10 Jun 23:25

Do we really want driverless buses?

by Stephen Rees
Image taken from original article in Smart Cities Dive

A consortium has been formed of US transit agencies who want to try out driverless buses. The idea is that the cost of getting into this new technology will be lower if it is shared.

I think the idea of a consortium to try out new technologies is a good one, and one that has a long history in transit. What worries me is that this is starting with a technology that I do not think needs to be the first priority. It is understandable, given the high percentage of overall operating cost that is due to driver’s wages and benefits. We have had driverless trains in this region for a long while. SkyTrain has also had significant numbers of people committed to patrolling the system to ensure passenger safety and security.

Recently an incident on the top deck of a British bus has awakened concerns here about passenger security on the double deckers shortly to be introduced here. (Hint: the driver has either a periscope or camera to see what is going on upstairs.) While assaults like this are relatively rare, bad behaviour by passengers is not. For this reason, bus operators are now getting protective screens on the new buses when they enter service. Equally, it is not unheard of for bus drivers to be the first responders in other cases of emergency. And one thing that we have probably all seen for ourselves is the reluctance of other people to get involved when someone else needs assistance. The response time to someone pressing an alarm on SkyTrain has also been an issue on occasion.

While a bus operator may not have all the skills and knowledge of a paramedic or a police officer, they are trained in what to do in an emergency. And often the interpersonal skills that they do have (and are now selected for) have been used to effectively reduce the tensions which can lead to rapid escalation.

There are autonomous buses in operation in France and elsewhere, but so far they have been limited to low speeds, short distances and relatively traffic free areas.

“The consortium [on the other hand] is expected to purchase 75 to 100 full-sized, autonomous buses that will run at full speed in real service environments.”

This seems to me to be unnecessary at this stage. And one of the things that has been improved in this region since I arrived has been the atmosphere on board buses since the emphasis in selection changed away from “has an air brake license” to “has people skills”. In general, the attitude and welcome you get on boarding the bus has been one of the best features of the ride. It would be a great shame to lose this. I also wonder how an autonomous bus would be alerted to the need to lower the ramp at a bus stop for a passenger with a disability – or delay starting until they were safely in place on board.


10 Jun 23:24

Data Science is Hard: Validating Data for Glean

by chuttenc

Glean is a new library for collecting data in Mozilla products. It’s been shipping in Firefox Preview for a little while and I’d like to take a minute to talk about how I validated that it sends what we think it’s sending.

Validating new data collections in an existing system like Firefox Desktop Telemetry is a game of comparing against things we already know. We know that some percentage of data we receive is just garbage: bad dates, malformed records, attempts at buffer overflows and SQL injection. If the amount of garbage in the new collection is within the same overall amount of garbage we see normally, we count it as “good enough” and move on.

With new data collection from a new system like Glean coming from new endpoints like the reference browser and Firefox Preview, we’re given an opportunity to compare against the ideal. Maybe the correct number of failures is 0?

But what is a failure? What is acceptable behaviour?

We have an “events” ping in Glean: can the amount of time covered by the events’ timestamps ever exceed the amount of time covered by the ping? I didn’t think so, but apparently it’s an expected outcome when the events were restored from a previous session.

So how do you validate something that has unknown error states?

I started with a list of things any client-based network-transmitted data collection system had to have:

  • How many pings (data transmissions) are there?
  • How many measurements are in those pings?
  • How many clients are sending these pings?
  • How often?
  • How long do they take to get to our servers?
  • How many poorly-structured pings are sent? By how many clients? How often?
  • How many pings with bad values are sent? By how many clients? How often?

From there we can dive into validating specifics about the data collections:

  • Do the events in the “events” ping have timestamps with reasonable separations? (What does reasonable mean here? Well, it could be anything, but if the span between two timestamps is measured in years, and the app has only been available for some number of weeks, it’s probably broken.)
  • Are the GUIDs in the pings actually globally unique? Are we seeing duplicates? (We are, but not many)
  • Are there other ping fields that should be unique, but aren’t? (For Glean no client should ever send the same ping type with the same sequence number. But that kind of duplicate appears, too)

Once we can establish confidence in the overall health of the data reporting mechanism we can start using it to report errors about itself:

  • Ping transmission should be quick (because they’re small). Assuming the ping transmission time is 0, how far away are the clients’ clocks from the server’s clock? (AKA “Clock skew”. Turns out that mobile clients’ clocks are more reliable than desktop clients’ clocks (at least in the prerelease population. We’ll see what happens when we start measuring non-beta users))
  • How many errors are reported by internal error-reporting metrics? How many send failures? How many times did the app try to record a string that was too long?
  • What measurements are in the ping? Are they only the ones we expect to see? Are they showing in reasonable proportions relative to each other and the number of clients and pings reporting them?

All these attempts to determine what is reasonable and what is correct depend on a strong foundation of documentation. I can read the code that collects the data and sends the pings… but that tells me what is correct relative to what is implemented, not what is correct relative to what is intended.

By validating to the documentation, to what is intended, we can not only find bugs in the code, we can find bugs in the docs. And a data collection system lives and dies on its documentation: it is in many ways a more important part of the “product” than the code.

At this point, aside from the “metrics” ping which is awaiting validation after some fixes reach saturation in the population, Glean has passed all of these criteria acceptably. It still has a bit of a duplicate ping problem, but its clock skew and latency are much lower than Firefox Desktop’s. There are some outrageous clients sending dozens of pings over a period that they should be sending a handful, but that might just be a test client whose values will disappear into the noise when the user population grows.

:chutten

10 Jun 23:24

Salesforce to acquire Tableau

by Nathan Yau

From Tableau CEO Adam Selipsky:

In 2003, Tableau set out to pioneer self-service analytics with an intuitive analytics platform that would empower people of any skill level to work with data. Our customers grew with us to form the strongest analytics community in the world. And today, that mission to help people see and understand data grows stronger.

I’m excited to announce that Tableau has entered into an agreement to be acquired by Salesforce in an acquisition that combines the #1 CRM with the #1 analytics platform. By joining forces we will accelerate our ability to accomplish our mission. Together, Salesforce and Tableau share a deep commitment to empowering their respective communities and enabling people of every skill level to transform their businesses, their careers, and their lives through technology.

I’m an outsider looking in, so this surprised me, but maybe it was expected for those closer. Tableau sponsored this little site of mine for nearly a decade, so I think it might have appeared smaller to me than it actually is.

Anyways, it’ll be interesting to see where Tableau goes from here, especially for those who worked with the software outside a marketing context.

Tags: acquisition, Salesforce, Tableau Software

10 Jun 23:24

How to Set and Achieve Business Goals with Radix

by Guest Author

If you’re starting a business, you want it to be a success. No entrepreneur has ever started a business with no intention of making it a mega-success. Also, no serious entrepreneur (such as yourself) has ever achieved any success without clearly defining his or her purpose and business goals.

Well-set, strategic goals represent important achievements in your organizational strategy. They are goals that need to be achieved over the next one or five years. These goals determine where you’ll put your efforts every day and what your quarter on a quarter plan will look like.

Having clear and well-defined goals can:

  • Give you a sense of direction
  • Improve collaboration and teamwork
  • Motivate you to keep working towards something
  • Help everyone understand the direction the business is heading in

NOW is a great opportunity to sit, reflect and review the progress your business has achieved so far. This will help you evaluate the effectiveness of your strategies so far and will help you set your sights on new goals and objectives for the year ahead. Your goals are a part of your business plan; they are your business objectives.

Before setting any business goals

Before you start to write down your goals, you need to understand the areas where your business needs improvement. While you may have an idea of the key areas, it helps to reflect and review every few months to gauge whether progress is being made in those areas or not.

Use these strategies and tools to assess the present standing of your business:

  • Market research: do your homework on a timely basis to identify new customer needs, any changes in trends, or changes in the technology. This will help you stay up to date.
  • SWOT analysis: every time you sit down to reflect and review, jot down your business’ strengths, weaknesses, opportunities, and threats. This will give you a clear understanding of where you stand and how to plan your next move.
  • Benchmarking: Research similar businesses in your industry or your geography and compare your growth and resources with them. This can help you assess how your business is performing and in which direction should you move.

Setting your business goals

Use the SMART (specific, measurable, achievable, relevant and timely) technique when you’re setting goals. This will help you gauge whether your goals are realistic or not. It’s a good practice to write down your business goals in your business plan to help keep you on track to achieve them.

Consider the below factors when writing down your goals:

  • Specific – be crystal clear about what you want to achieve.
  • Measurable – make sure you can measure your goal so that you can keep track of the progress and know when you have achieved the goal.
  • Achievable – ensure you have the necessary resources (time, finances, manpower, etc) to meet the goal you are setting.
  • Relevant – ensure your goal is relevant to the direction where you want your business to head. For example, increasing brand awareness, growing the team, etc.
  • Timely – each goal should have a deadline, or you’ll be forever working to achieve it.

What a SMART goal looks like

Final goal: I want to grow my cake business

Specific: I will gain five new returning clients for my business

Measurable: I will measure my progress by keeping track of many new inquiries come and how many converts while maintaining my current client base

Achievable: I will stick to gaining five new clients because I have resources for only that kind of increment

Relevant: Adding more returning clients to my current base will allow me to grow my cake business and open my own bakery

Timely: I will get five new customers over the period of next three months

SMART Goal: I will gain five new clients for my cake business within a three-month period while maintaining my current client base. This will allow me to slowly grow my business and open my own bakery.

Working towards achieving your goals

Once you have your list of goals in place, you’ll need a plan to achieve them. Here, it is crucial that you stay realistic about what you can achieve, or you might set yourself up for disappointment. A good strategy is to break down the steps into smaller chunks.

Here are a few factors you can consider when making your plan/strategy to achieve your goals:

Actions – describe the actions you are going to take in detail

Time frame – how long do you anticipate a task will take to complete (include a start and finish time)

Responsibilities – jot down which team member will be responsible for what task/action

Resources – make a clear and detail list of all the resources you will need to accomplish the goal. This includes your budget, staff, any other supplies

Desired outcome – describe what you expect to achieve from your actions and how will you know whether you’re making any progress towards the goal or not.

How do you decide whether you have achieved your goals or not?

Put a timely system in place to track the progress of your goals. This will keep you on track. This can be a weekly meeting with your team members to check where each one is with their tasks. Or it can be as simple as ticking off a completed task from a list.

Make sure you reward yourself and your team every time a goal is achieved. This will help build morale and keep everyone striving for more.

 

ALISHA SHIBLI – CONTENT MARKETING SPECIALIST, RADIX

Alisha is a Content Marketing Specialist at Radix, the registry behind some of the most successful new domain extensions, including .STORE and .TECH. You can connect with her on LinkedIn.

10 Jun 23:24

Tech and Antitrust

by Ben Thompson

Four years ago I wrote Aggregation Theory, which argued that technology companies, uniquely enabled by zero marginal costs, were dominant by virtue of user preference driving suppliers onto their platforms, creating a virtuous cycle. Then, one month later, I predicted that the end state of Aggregation Theory would be increased demands for antitrust action. From Aggregation and the New Regulation:

This last point is key: under Aggregation Theory the winning aggregators have strong winner-take-all characteristics. In other words, they tend towards monopolies. Google is perhaps the best Aggregation Theory example of all — the company modularized individual pages from the publications that housed them even as it became the gateway to said pages for the vast majority of people — and so, given their success, perhaps it shouldn’t be a surprise that the company is under formal investigation by the European Union.

There was a second more subtle point in that article, though:

In other words, the regulation situation for these massive winner-take-all companies is not hopeless, but it has changed: their strength derives from the customer relationships they own, which means quiet backroom deals and straight-up arm wrestling of the Google and Uber varieties are liable to backfire in the face of overwhelming public opinion; it is in shaping that public opinion that the real battle will be fought. And while it’s true that the direct relationship aggregation companies have with their users is an advantage in this fight, the overwhelming power of social media is the new counterweight: it is easier than ever to reach said users with a report or column that resonates deeply. Your average writer or reporter has more (potential) power, not less.

This seems like the best explanation for how we have arrived at the current moment; Reuters reported last week that the U.S. Department of Justice and the Federal Trade Commission were divvying up tech companies for potential antitrust investigations — Google and Apple to the former, and Facebook and Amazon to the latter — a seemingly natural endpoint to what has been a mounting drumbeat for regulatory action against tech.

There’s just one problem: it’s not clear what there is to investigate.


I should state an obligatory caveat: I am not a lawyer or economist, which is relevant given that U.S. antitrust cases are adjudicated in court and largely driven by expert testimony. That reality, though, only underscores the point: any case against these four companies (with possibly one exception, which I will get to momentarily), will be extremely difficult to win.1 To explain why, it is worth examining all four companies with regards to:

  • Whether or not they have a durable monopoly
  • What anticompetitive behavior they are engaging in
  • What remedies are available
  • What will happen in the future with and without regulator intervention

In addition, for comparison’s sake, I will evaluate late 1990’s Microsoft, the last major tech antitrust case in the United States, along the same dimensions.

Durable Monopolies

The FTC defines monopolization as follows:

Courts do not require a literal monopoly before applying rules for single firm conduct; that term is used as shorthand for a firm with significant and durable market power — that is, the long term ability to raise price or exclude competitors. That is how that term is used here: a “monopolist” is a firm with significant and durable market power. Courts look at the firm’s market share, but typically do not find monopoly power if the firm (or a group of firms acting in concert) has less than 50 percent of the sales of a particular product or service within a certain geographic area. Some courts have required much higher percentages. In addition, that leading position must be sustainable over time: if competitive forces or the entry of new firms could discipline the conduct of the leading firm, courts are unlikely to find that the firm has lasting market power.

There are (at least) two major questions that arise from this: how is the relevant market defined, and what does it mean for market power to be sustainable over time?

1990s Microsoft: Microsoft was found to have a monopoly on operating systems for personal computers, and that advantage was found to be durable because of the lock-in created by the network effects between developers using the Windows API and users. Both conclusions were reasonable.

Google: Google certainly has a dominant position in search, but the real question is around durability. Google has long argued that “Competition is only a click away”, which has the welcome benefit of being true.

The European Commission handled this objection by arguing that Google also enjoys network effects:

There are also high barriers to entry in these markets, in part because of network effects: the more consumers use a search engine, the more attractive it becomes to advertisers. The profits generated can then be used to attract even more consumers. Similarly, the data a search engine gathers about consumers can in turn be used to improve results.

This is certainly a much more tenuous lock-in than the Windows API, but I think it is a plausible one.

Apple: There is no company for which the question of market definition matters more than Apple. The company is eager to point out that the iPhone has a minority smartphone share in every market in which it competes; even in the U.S., Apple’s best market, the iPhone has 45% share, less than the 50 percent of sales the FTC suggests as a cut-off.

In Europe, Apple is likely in trouble when it comes to the European Commission’s investigation of Apple about Spotify’s complaints about the App Store. In the Google Android case the European Commission determined that “Google is dominant in the markets for general internet search services, licensable smart mobile operating systems and app stores for the Android mobile operating system.” That last clause leaves room for Apple to be found dominant in app store for the iOS mobile operating system, at which point taking 30% of Spotify’s revenue (or else forbidding Spotify to even link to a web page with a sign-up form) will almost certainly be ruled illegal.

I strongly suspect the Department of Justice will have a much more difficult time convincing a federal court that such a narrow definition is appropriate, but at the same time, I’m not certain that “smartphones” are the correct market definition either. Suggesting that users changing ecosystems is a sufficient antidote to Apple’s behavior is like suggesting that users subject to a hospital monopoly in their city should simply move elsewhere; asking a third party to remedy anticompetitive behavior by incurring massive inconvenience with zero immediate gain is just as problematic as making up market definitions to achieve a desired result.

Facebook: Here again market definitions are very fuzzy. Most people have multiple social media accounts across both Facebook and non-Facebook services, which means any sort of workable market share definition would have to rely on “time-spent” or some other zero-sum metric. Moreover, it’s not clear what is or is not a social network: does iMessage count? What about text messaging generally? What about email?

There certainly is an argument that Google and Facebook are a duopoly when it comes to digital advertising, but it is not as if either has the power to foreclose supply: there is effectively infinite advertising inventory on the Internet, which suggests that Google and Facebook earn more advertising dollars because they are better at advertising, not because they foreclose competition.

Amazon: There really is no plausible argument that Amazon has a monopoly. Yes, the company has around 37% of e-commerce sales, but (1) that is obviously less than 50% and (2) the competition is only a click away! Moreover, it’s not clear why “e-commerce” is the relevant market, and in terms of retail Amazon has low single-digits market share.

Anticompetitive Behavior

But for a few exceptions, everything that follows is moot if the company in question is not found to have a durable monopoly. After all, “anticompetitive behavior” is simply another name for “driving differentiation”, which no one should want to be illegal for any company that is not in a dominant position; it is the potential to make outsized profits that drives innovation.

Still, it is worth examining what, if anything, these companies do that might be considered problematic.

1990s Microsoft: Microsoft was found guilty of illegally bundling Internet Explorer with Windows and unfairly restricting OEMs from shipping computers with alternative browsers (or alternative operating systems). The first objection is particularly interesting in 2019, given that it is unimaginable that any operating system would ship without web browser functionality (which, at a minimum, would obviate an essential distribution channel for 3rd-party software). The second is much more problematic: as I wrote in Where Warren’s Wrong, competition-constraining contracts from dominant players should be viewed with extreme skepticism, as their purpose is almost always to extend dominance, not increase consumer welfare.

Google: Again — and note a developing theme here — Google’s anticompetitive behavior is relatively clear. First, the company consistently favors its own properties in search results, particularly “above-the-fold” — that is, results that are not actually search results but which seek to answer the user’s query directly. A partial list:

  • Google by-and-large removed video segments from competing properties in favor of YouTube videos
  • Google offers local results from Google Maps above search results that tend to favor Yelp, TripAdvisor, etc.
  • Google offers hotel and flight listings above search results that tend to favor Booking, Expedia, etc.
  • Google displays AMP-enabled websites (a Google technology) above search results that are agnostic about how a web page is displayed.
  • Google displays tweets for individuals (thanks to a beneficial relationship with Twitter) above search results that tend to favor LinkedIn, Facebook, etc.

Of these local is probably the most open-and-shut case (although Google’s efforts around travel and hospitality are on the same track): Google Maps results were worse, got better when Google scraped data from competitors (which it stopped doing after an FTC investigation), and now is somewhat competitive by sheer force of exposure to customers defaulting to Google search.

Then, of course, there is Android, where Google leveraged the Play Store to force Android OEMs to feature Search and Chrome, and further forbade said OEMs from shipping any phones with open-source Android alternatives (a la Microsoft). This is one case the European Commission got exactly right.

Apple: As I argued in Antitrust, the App Store, and Apple, Apple is leveraging its position in the smartphone market to earn rents in the market for digital goods:

To put it another way, Apple profits handsomely from having a monopoly on iOS: if you want the Apple software experience, you have no choice but to buy Apple hardware. That is perfectly legitimate. The company, though, is leveraging that monopoly into an adjacent market — the digital content market — and rent-seeking. Apple does nothing to increase the value of Netflix shows or Spotify music or Amazon books or any number of digital services from any number of app providers; they simply skim off 30% because they can.

For this to be illegal does not necessarily require that Apple have a monopoly: tying (i.e. iOS users must use the App Store) is per se illegal in theory, but in practice the Supreme Court has dramatically constricted the definition of tying to include a requirement that the tie-er have market dominance; the Supreme Court also declined to review the Court of Appeals decision in the Microsoft case, which held that courts should use a rule of reason test for software specifically that also considers the benefits of tying, not simply the downsides.

I would certainly argue that the requirement that digital content use Apple’s payment processor (and thus give up 30%) has downsides that outweigh the benefits, but the truth is that this is a case that, under U.S. antitrust law, is harder to make than it was 20 years ago.

Facebook: There are certainly plenty of reasons to be upset with Facebook when it comes to issues of privacy, but the company has not done anything illegal from an antitrust perspective.

I am, to be clear, distinguishing anti-competitive behavior from anti-competitive mergers. I have made the case as to why Facebook’s acquisition of Instagram was so problematic, and this is the area that needs the most urgent attention from anyone who cares about competition. The single best way to maintain a dominant position in a market as dynamic as technology is to use the outsized profits that come from winning in one market to buy the winner in another; it follows, then, that the best way to spur competition in the long run is to force companies to compete with new entrants, not buy them out.

Amazon: Make no mistake, Amazon drives a very hard bargain with its suppliers. Those suppliers, though, have a whole host of alternatives through which to sell their product. Meanwhile, those hard bargains accrue to consumers’ benefit.

Similarly, it is very hard to see why Amazon can’t offer its own branded goods; this practice is widespread in retail, and for good reason: consumers get a better price, not only on the store-branded goods, but also on 3rd-party goods that can be priced more competitively since the retailer is making its margin on its own goods.

In short, more than any company on this list, the arguments against Amazon fall apart on the first point: Amazon simply isn’t a monopoly.

Remedies

Remedies by definition come last: there has to be something worth remedying! Still, it is interesting to consider what the appropriate remedy for each company would be if they were indeed found to be a monopoly engaged in illegal anticompetitive behavior.

1990s Microsoft: Microsoft was originally ordered to be broken-up, although this remedy was overruled on appeal. The idea was that Windows would better serve all 3rd-party software suppliers if it weren’t incentivized to favor its own offerings. Ultimately, though, the company agreed to open up its API, although critics argued that the specifics simply cemented Windows’ dominance, instead of making it possible to build a Windows alternative that could run 3rd-party Windows applications.

The European Commission went further both in terms of requiring interoperability and also presenting users with choice in terms of both browsers and media players. In both cases 3rd-party competitors actually won in the long run — but they won because they were clearly better (first Firefox and then Chrome, and iTunes).

Google: An effective Google remedy would likely be more about constraining Google behavior than it would be about restructuring Google itself. Google might be forbidden from offering its own results for things like local search, or be forced to feature results from competitors according to an algorithm overseen by a court observer. There would also likely be a large fine.

Apple: The obvious remedy for Apple would be allowing 3rd-party payment processors for apps; frankly, I think this might go too far, as there are real benefits to Apple controlling everything API-related on the iOS platform. I would be satisfied with Apple allowing apps to launch web views for payment processing that is clearly handled on the app’s own webpage.

Alternatively, Apple could be forced to significantly reduces its App Store take rate, but I would prefer that Apple be forced to compete for payment processing business, which would achieve a similar result.

Facebook: Facebook, fascinatingly enough, given its lack of anticompetitive behavior, has the most obvious remedy: break apart Facebook, Instagram, and WhatsApp. I do believe this would be beneficial for competition: Instagram being an independent company would not only add another competitor for digital advertising, but would also make other companies like Snapchat more competitive by virtue of forcing advertisers to diversify. Again, though, this is more about a failure in merger review.

Amazon: Amazon has made anti-competitive acquisitions of its own, like Zappos and Diapers.com. Those platforms are gone though, making any sort of breakup unrealistic (this is likely at least one factor in Facebook’s plans to integrate messaging across its platforms — that will make a breakup that much more difficult). And as far as selling its own products goes, not only is that probably not a problem, but there is little evidence 3rd-party sellers are being hurt by Amazon’s policies, and plenty of evidence that they are helped by having access to Amazon’s customers. Moreover, highly differentiated suppliers have found success prioritizing other retailers if Amazon squeezes too hard.

The Future

Ideally, an antitrust action is not simply about punishing bad behavior in the past, but also about ensuring competition going forward. To that end, it is worth considering whether the upheaval that would result from any sort of investigation would actually make a long-term difference.

1990s Microsoft: Here the Microsoft case is particularly pressing. It is my contention that Microsoft failed to compete on the Internet and in mobile because the company was fundamentally unsuited to do so, both in terms of culture and capability.

The implication of this conclusion is that the antitrust case against Microsoft was largely a waste of time: the company would have been surpassed by Google and Apple regardless (and that the company only returned to prominence when it embraced a market that suited its capabilities and transformed its culture).

Many disagree to be sure, arguing that the antitrust case prevented Microsoft from foreclosing Google, although it is never clear as to how Microsoft would have done so (nor any explanation as to why Microsoft failed in mobile, where they were not constrained). A better argument is IBM: the government may have ultimately failed in its antitrust case against the mainframe behemoth, but IBM did voluntarily separate its software sales from its hardware sales, setting the stage for its own disruption; then again, the bigger factor was that IBM simply didn’t care enough about PCs to lock them down effectively.

Google: I wrote that we had reached Peak Google in 2014; clearly I was wrong, at least as far as the company’s results and stock price were concerned, but notably the company is ever more dependent on search advertising. One of my biggest mistakes was underestimating the degree to which Google could monetize mobile, not simply through increased adoption but also stuffing results with ever more ads (which, in the limited viewport of smartphones, are even easier to tap on).

That, though, is also an argument that my mistake was one of timing, not thesis (still a mistake, to be clear). For all of Google’s seeming advantages in machine learning, the company has yet to come up with a true second act in terms of driving revenue and profits (with the notable exception of YouTube, an acquisition).

Frankly, I suspect this is why Google is the most at-risk in this analysis: when a company is growing, it has no need to engage in anti-competitive behavior; it is only when the low-hanging fruit is gone that the risk of leveraging one market into another becomes worth it.

Apple: That analysis applies to Apple as well: the company introduced the “Services Narrative” in the 6S cycle, which in retrospect was when iPhone growth plateaued. Suddenly the rent Apple collected from apps was not simply an added bonus to a thriving iPhone business but a core driver of the company’s stock price.

At the same time, it is not as if iPhones are disappearing: there is still an argument to act for the sake of all of the businesses that will be hurt in the meantime. The same argument applies to Google: just because antitrust action isn’t necessarily causal when it comes to a company being eclipsed doesn’t mean it can’t be an important tool to maintain competition in the meantime.

Facebook: As I noted above, Instagram bought Facebook another five-to-ten years of dominance. That, though, is itself evidence that social networks are not forever. Each generation has its own preferences, and as long as acquisition rules around network-based companies are significantly beefed up, the best solution for Facebook, at least from an antitrust perspective, is simply time.

Amazon: This probably deserves a longer article at some point, but I think there is reason to believe that Amazon’s consumer business has also slowed considerably. The company is pushing more into ads, squeezing its suppliers, and driving customers to 3rd-party merchants with their attendant higher margins (for Amazon). This makes sense: there are certain categories of products that make sense for e-commerce, and Amazon does very well there, but will — and perhaps has — hit a ceiling as far as overall retail share is concerned.

Indeed, a mistake many tech company critics make is assuming that graphs that are up-and-to-the-right continue indefinitely; nearly all of those graphs are S-curves that will flatten out, and it is dangerous making regulatory decisions without some sort of insight as to when that flattening will occur.


Ultimately, when it comes to antitrust actions against tech companies in the U.S., there really isn’t nearly as much there as all of the attendant fervor would suggest. Google is absolutely vulnerable, Apple somewhat less so, and it is very hard to see any sort of case against Facebook or Amazon.

And again, this is probably a trailing indicator: Google and Apple have maximized their gains from their most important products, while Facebook and Amazon (particularly AWS) still have growth potential. I don’t think this alignment is a coincidence.

That is not to say that tech deserves no regulation: questions of privacy, for example, are something else entirely. Nor, for that matter, is antitrust irrelevant in the United States generally: concentration has increased dramatically throughout the economy.

What is driving that concentration matters, though: at the end of the day tech companies are powerful because consumers like them, not because they are the only option. Consumer welfare still matters, both in a court of law and in the court of public opinion.

  1. I will mention the European Commission’s different standards in passing; I addressed the differences between U.S. and European approaches more fully in 2016’s Antitrust and Aggregation
10 Jun 23:22

Liberating Structures Immersion in ATL September 18-19

by Nancy White
Tired of unproductive meetings, stifling hierarchy, exclusion, mistrust and disengaged people? It’s time to jump into Liberating Structures for your life and work. To instigate more of this fun,  I’m heading South! Nadine Doyle and Robin Muretisch and I (and who knows, maybe some special practitioner guests if they can be convinced!) are hosting a two … Continue reading Liberating Structures Immersion in ATL September 18-19

Source

10 Jun 23:22

18 year old Princess Elizabeth during her time in the military, where she drove and repaired heavy vehicles, 1945. pic.twitter.com/tS0qhvkoTw

by moodvintage
mkalus shared this story from moodvintage on Twitter.

18 year old Princess Elizabeth during her time in the military, where she drove and repaired heavy vehicles, 1945. pic.twitter.com/tS0qhvkoTw



Posted by moodvintage on Monday, June 10th, 2019 8:15am


175 likes, 54 retweets
10 Jun 23:21

Philippines overflows with millions of mangoes as El Niño takes effect | World news

mkalus shared this story from The Guardian.

The Philippines is struggling under the weight of a sweet but troublesome burden: a glut of 2m mangoes.

The agriculture secretary, Emmanuel Piñol, said mango farmers had reported an “unusual increase” in the harvest, which they had attributed to El Niño, the climate phenomenon that has led to unusually hot, dry weather this year.

One the Philippine island of Luzon alone there is a surplus of about 2m kg of mangoes, according to Piñol, an oversupply that has led the price to drop from 58 pesos (88p) to as low as 25 pesos (38p) per kilogram.

Piñol stressed the urgency of dealing with the glut before the fruit went to waste and sent the price of mangoes crashing further, hurting farmers. “We need to do something about this in the next two weeks,” he added.

In a bid to make sure that the excess mangoes do not rot, the agriculture department has launched a marketing campaign, dubbed “Metro Mango”, to try to shift a million kilograms of the fruit in Metro Manila, with stalls selling mangoes to be put up all around the capital throughout June. The fresh mangoes will be sold at 25 pesos (38p) to 50 pesos (75p) a kilogram to entice buyers, who will get the low prices only if they buy in bulk.

The department has also launched cooking classes to teach people how to cook with mangoes and will be holding a mango festival in mid-June in a bid to drum up excitement and demand for the fruit.

Some farmers in Luzon, where the oversupply is concentrated, have taken to giving away their mangoes free, hanging bountiful bags of the fruit outside the gates of their farms.

Foreign interest in the cheap mangoes is helping ease the burden. A Japanese fruit importer has pledged to purchase 100,000kg of the mangoes, though this still leaves 1.9m kg to shift. Piñol said it were also hoping to increase daily mango imports to Hong Kong and Dubai.

… in our natural world, we refuse to turn away from the climate catastrophe and species extinction. For The Guardian, reporting on the environment is a priority. We give reporting on climate, nature and pollution the prominence it deserves, stories which often go unreported by others in the media. At this pivotal time for our species and our planet, we are determined to inform readers about threats, consequences and solutions based on scientific facts, not political prejudice or business interests.

More people are reading and supporting our independent, investigative reporting than ever before. And unlike many news organisations, we have chosen an approach that allows us to keep our journalism accessible to all, regardless of where they live or what they can afford.

The Guardian is editorially independent, meaning we set our own agenda. Our journalism is free from commercial bias and not influenced by billionaire owners, politicians or shareholders. No one edits our editor. No one steers our opinion. This is important as it enables us to give a voice to those less heard, challenge the powerful and hold them to account. It’s what makes us different to so many others in the media, at a time when factual, honest reporting is critical.

Every contribution we receive from readers like you, big or small, goes directly into funding our journalism. This support enables us to keep working as we do – but we must maintain and build on it for every year to come. Support The Guardian from as little as CA$1 – and it only takes a minute. Thank you.

Accepted payment methods: Visa, Mastercard, American Express and Paypal