After Facebook

I don’t have a great reason for not having a Facebook account, for deleting mine, as I did, a couple of months ago. But I’m okay with that. I’m not particularly interested in convincing other people to follow my lead, at least not right now.

But I do think Facebook is rather bad.

Here’s some nice anti-Facebook propaganda.

  1. Against Facebook
  2. Out to get you
  3. Ten Arguments for Deleting Your Social Media Accounts Right Now

(I haven’t read Jaron Lanier’s book yet.)

If I was going to join Facebook again, to take advantage of some of its merits while carefully moderating my usage somehow to avoid the known harms, perhaps I should promote more anti-FB messages, like those above. And perhaps write some of my own…

Would that be particularly useful? Questionable. When better systems arise or are rediscovered, smart people will just leave FB and just use the better stuff, right? Eventually. Facebook might fix itself in the meantime.

Facebook’s attractive features, as an ex-user: mainly its event system. Invitations, confirmations, calendar items. The tie to real-world identities.

I don’t need another chat system, so I’d avoid Messenger. I only just learned about the ‘see first’ feature, for making the newsfeed more useful. I’d make minimal use of the newsfeed, because that’s a bottomless pit, controlled by an engagement-maximising algorithm.

I don’t want my engagement maximised.

Better Facebook replacements

What’s the state of the art? Urbit? Holochain? Those are the alternative decentralised network toolkits that interested me for a while. I should look at them again.

What I’m doing here, under the Operating Space name, is building a space to publish my technology writing. It’s a WordPress blog now, nothing fancy. The next steps for its evolution are: an advanced category system that presents multiple hierchical taxonomies. WordPress plugins will be the basis, to start with. No fancy tech needed, I believe.

I’ll load in my tech-related Pinboard bookmarks that I’ve collected over the years, so I can start with some real live content. Two taxonomies I’ll start with are John Lange’s Challenges of the future (loosely transhumanism-related stuff) and the six layers of The Stack by Benjamin H. Bratton. I’ll also need some sensible scheme that includes space stuff, because of course I’m going to post about space science on a blog named Operating Space.

What about an AI-curated newsfeed? I think a simpler solution will suffice. RSS with basic filtering.

I think the multi-category thing will be generally useful, for various blogs and sites. So a WordPress plugin is a fine choice, for purposes of maximising reach. I’ll deploy it on at least two other sites, which will operate as microblogs. One for ‘life’ stuff, like Facebook. One for game screenshots and art. And I need a miscellaneous one, for everything else, perhaps? Maybe that’ll be the master database from which every other source draws.

Love in the age of decentralised personal computing

How will the distributed network revolution impact online dating?

Services like OKCupid, Tinder and Match.com operate on centralised, client-server models. Daters sign up to a service and give it some personal information: photos, biography text, age, sex, location, and preferences. The service stores the info, and gives the user an interface for checking out profiles of other, algorithmically-chosen, suitable daters and starting to chat with them. They typically run on revenue from advertising, and/or charge fees from users.

Commercial online dating services offer security, not through encryption, but being responsible for kicking out miscreants. They set and enforce rules for decent conduct, to tackle problems like fake profiles, inappropriate photos, scams, stalking, harassment, and catfishing. Bad offline behaviour, too, may be subject to their disciplinary measures: Facebook bans all sex offenders, and several dating apps (e.g Tinder and Bumble) require the use of a Facebook profile for identity verification. OKCupid banned some dude for involvement in neo-Nazi/alt-right activities.

The centralised structure of these services is not merely a technical implementation detail, but the basis for enforcing the social orderliness that makes these platforms worth using in the first place. That is, some degree of safety, through each of the platforms’ benevolent dictatorial oversight.

What would a distributed, decentralised platform for online dating offer? Secure, end-to-end encrypted messaging is a plausible feature. Assuming we want an alternative that appeals to an audience wider than a bunch of crypto-nerds, this isn’t enough to compete. How would it be made safe?

It’s a challenge! I think a decentralised system can tackle it. Eventually, it’ll even beat centralised ones.

I first started thinking about the shape of a possible solution in terms of Urbit. I more recently learned about Holochain, which also seems to have the right ingredients for a similar approach. Either of those platforms can straightforwardly support a peer-to-peer, free-for-all of unfiltered, encrypted communication. This is clearly insufficient as a protocol to support even dozens of strangers socialising. From Urbit literature:

Bringing people together is an easy problem for any social network. The hard problem is keeping them apart. In other words, the hard problem is filtering. Society is filtering.

I propose this decentralised dating approach: daters and matchmakers are peers on a network.

In a centralised dating platform, there’s just one matchmaker. It owns and runs the platform. Its job is to virtually introduce potential matches to one another, and keep the platform safe (by setting and enforcing rules).

In a decentralised system, any peer on the network can set themselves up as a matchmaker. Daters on the network would pick and choose one or several matchmakers, entrusting them with the sorts of responsibilities that users of OKCupid, Tinder, etc. do with those platforms. Namely:

  • Save a copy of my dating profile — perhaps one conforming to a provided schema.
  • Show me other profiles.
  • Put me in contact with other suitable people connected to you (–suitability as determined by some rules of engagement: profile info matching our expressed preferences. But the personal touch added by a personal matchmaker opens the doors to possibilities beyond algorithmic box-checking…)

Who are these matchmakers? Some could be unpaid volunteers, just there to help get dates for their friend: matching them with friends, or friends-of-friends. Or fellow hobbyists, or fellow churchgoers, or fellow professionals in some field, or associates of any other sort.

(Matchmakers, crucially, would not control the user interfaces. Users ultimately control their own UIs. They’re modifiable programs that sits on the users’ own machines.)

This system is also open to the possibility of commercial matchmaking operations. They’d compete on the basis of their respective reputations for offering a high-quality service, and differentiated target audiences. They could also co-operate, perhaps by merging together their respective pools of clients. One would expect commercial information-sharing of this sort to be regulated by data-protection laws. But what about when it’s a non-commercial operator? It seems that non-legislative means will be needed: protocols, filtering, and reputation systems for encouraging trustworthy matchmaking standards.

But perhaps much of this will prove unnecessary when we’ve got robust distributed social networking, one key factor being an identity system. Holochain is building its own distributed public key infrastructure. When you join Urbit, you get a new alien pseudonym. Probably a planet like ‘~mighex-forfem‘, which is a ‘permanent’ personal identity (and eventually, an asset with a price tag).

These potentially can serve as the basis for a range of multi-purpose reputation systems. They would provide assurances that could relieve some of the burdens from matchmakers, and users choosing matchmakers. And, perhaps, sometimes make dedicated matchmakers redundant? I suspect decentralised networking will make many centralised dating sites obsolete, but perhaps I’m too conservative in my estimations. It could make ‘online dating’ as such obsolete: absorbed into general-purpose social networking.

The system of ‘daters’ and ‘matchmakers’ could also be applied to non-dating contexts, e.g. professional networking. This is what one would expect from general-purpose social networking. Bumble has already expanded its functionality to include networking for business  and friendship. It may well try to grow and subsume the functionality of Facebook, LinkedIn, and Meetup.com. There’s no limit to the potential voraciousness of any of these platforms. For the as-yet most highly-evolved apex of this trend, see WeChat (video). WeChat is centralised.

Meanwhile in decentralised tech love

LegalFling. An app that records sexual consent on a blockchain. Ridiculous, sounds like a joke, but here we are.

Luna. A blockchain-based dating app. Seems more convoluted and centralised than the scheme I’ve outlined, but doesn’t seem completely stupid. Maybe it’ll work.

Marriage recorded on blockchain. This sounds like another joke, but it really makes sense. One can imagine a cryptocurrency that automatically reroutes funds sent to either of two wedded wallets into a couple’s shared wallet. And then, that wallet’s contents being split up according to a smart contract, when a divorce is marked on the chain. No lawyer required!

The decentralised social protocol Scuttlebutt explains itself with a love story (video).

 

Using nginx to give your Urbit page a nice URL

Here’s the newest component of my little media empire, a chat room:

chat.operatingspace.net

It runs on Urbit, which is a fascinating, complex project which I’ll sum up here as: a decentralised, programmable social network. This blog post is a tutorial for something I just learned how to do: set up nginx to give a nice URL to a page on my Urbit ship.

Prerequisites

Details for getting here are beyond the scope of this post, but here are some helpful links:

  • We have some cloud hosting (I use a 2048 MB server on Vultr)
  • We have a domain name (I use Hover) pointing to our server
  • We’ve got an Urbit ship running on our server (see: Install Urbit)
  • We’ve got an nginx server running there too
  • The Urbit ship is serving a web page

(Those first two links are affiliate links.)

So we’ve got two servers, nginx and Urbit, running. We can see our urbit’s web interface by going to http://$ourdomain.net:8080. We can get to the page of interest by appending /pagename or /page/path to that url.

E.g. operatingspace.net:8080/chat/

Goal: get rid of the ‘:8080’ there, and use ‘chat’ as a subdomain instead of a path.

Procedure

We need nginx to be listening on port 80, the standard web port (so there’s no need for any port number to be used in our url).

Edit the nginx config file, which is at /etc/nginx/nginx.conf.

Inside the http block, add a server block like this:

http {
  # (There'll be some stuff already here. Ignore it.)

  # (add this:)
  server {
    listen  80;
    server_name  nice-subdomain.your-domain.net;

    location = / {
      proxy_pass  http://localhost:8080/your-page;
    }

    location / {
      proxy_pass  http://localhost:8080;
    }
  }
}

Substitute ‘nice-subdomain’ with your preferred name, and substitute ‘your-domain’ and ‘your-page’ with the appropriate names according to your setup.

Save the file and reload nginx with our new config:

$ service nginx reload

That should be all. Getting here was a lot of trial and error for me, so I hope this post saves someone all that trouble. I am informed that a future Urbit update will make this all quite unnecessary, but some of us like to be early-adopters 🙂

If following these steps hasn’t worked:

If I’ve missed something, please let me know so I can fix this post (while it’s not yet obsolete). Feel free to contact me — pop into the op-space chat room!

Bonus: secure the connection with SSL

For maximal coolness, ensure a secure connection between client and server. You can get a free, automatically-updating certificate, and enable https on your page, with Let’s Encrypt. The process is very streamlined with Certbot.

Notes on the Bitcoin scam

1. Why call Bitcoin a scam? One could appeal to a commonsense notion like the impossibility of making money out of nothing, which is what this system looks like it’s doing. This is, of course, a very simplified picture. To argue in this way is to invite accusations of ignorance of important details.

2. Those with an investment to protect are motivated to counter claims that would undermine it. Criticism of any sort of technology can undermine its market value. Bitcoin isn’t unique in this aspect, but it exemplifies it strongly. It’s a peculiar sort of technology, because it’s useless unless it’s considered valuable.

3. Bitcoin is a simulation of money, implemented as a decentralised internet protocol. It simulates a particular kind of money, one that’s ultimately limited in supply, like gold. Bitcoin is supposed to be, in some ways, a superior sort of money, accessible to anyone with a computer and internet access, outside of the control of governments and banks.

4. Unlike gold, Bitcoin has the feature of being transferable over the Net. Those of us who are privileged to have access to modern financial institutions are accustomed to this kind of convenient feature, using ordinary money.

5. Bitcoin’s implementation is based on cryptography. Owning Bitcoins means having access (by means of a cryptographic key) to a ‘wallet’ (an identity, named or anonymous or pseudonymous) on the system, and that wallet having some amount of coins assigned to it. Each wallet’s assignment of coins is determined by the transaction history (coins sent and received) recorded in the distributed ledger called the Blockchain.

6. The Blockchain is duplicated across many entities in the Bitcoin system. No one entity controls it. It’s public information, and that’s the system’s whole transaction history (so much for privacy). People can earn Bitcoin rewards through a process called ‘mining’, which is a competition for securely adding new transaction information to the Blockchain. The mining process involves computationally-difficult calculations. This means it consumes lots of energy. This cannot be made more efficient. That’s how it was designed. It’s designed to require greater and greater sacrifice.

7. The energy/environmental implications of mining is one major target for fundamental criticism of Bitcoin. See: Charlie Stross’s arguments. He also, alongside Jamie Dimon, CEO of JP Morgan Chase, likens it to a ‘distributed Ponzi scheme’. He predicts a burst of the bubble.

8. Stross’s criticism of Bitcoin has been longstanding. Here’s a response, defending Bitcoin and attacking Stross as ignorant and unimaginative.

9. Falling confidence in government institutions seems to be correlated with rising Bitcoin value. See:

To be continued …