HomeLog InSource

notes.public

[View] [Short] [Hash] [Raw]

2017-11-27

To the Real Person on the Other Side of This Screen

One day I was tooling along at the bottom of the sea, overturning small rocks in search of interesting articles. In one article I hovered over a link and saw a familiar URL appear. A very familiar URL–my own blog, in fact. I was mildly alarmed.

In this case, things seem to have worked out alright. Let me say thank you to angersock, friendlysock, and everyone else whose posts have taught me so much over the decades.

However, this little episode could’ve been a drama if not a tragedy, if whatever thing I had written 3 years ago had been a little bit ruder, or Chris (whom I’ve never directly talked to) had been a little bit less reflective. In fact, let me also do a little bit of pre-emptive damage control by saying my blog is a record of how stupid I was at any given point in the past. That includes as recently as late this morning.

Perhaps the reason things worked out this time is that when I wrote some personal notes 3 years ago, which I later ended up posting on my blog, I managed to remember that the person I was writing about was a real person who, however unlikely, might actually end up reading what I wrote.

It turns out that the internet is extremely small, and if you write about someone they’re fairly likely to actually see it, sooner or later. In this case, it’s happened three times already: I saw angersock’s post about a project merely similar to the one I was working on; he saw mine about his comments; I saw his about mine. And now I assume he’ll see this one.

I have a theory that the reason people often become jerks on the internet (which I have done myself) is due to the sense of powerlessness that stems from feeling like nobody reads or listens to what one writes. It can become a vicious cycle: no one listens, so we become ruder. We become ruder, so no one listens. This sense can be reinforced not because the specific person we replied to didn’t listen, but because it’s all too easy to see the whole internet as a single person who never listens to us no matter how much we shout. We get into a pattern of saying the same things, over and over, because the internet seems to never learn, when in fact we’re getting ruder and ruder to a steady stream of new people.

Now, this theory may or may not be true. But nobody tries to become a Bastard Operator From Hell. It’s something we just slip into, usually without noticing. We must remember, or merely hope, that someone is listening: maybe the author, maybe a lurker, maybe someone in the distant future.

From the aforementioned article, there is something I’d like to highlight:

One of the other rather odd things I noticed was that, as I started putting those principles into practice, I became sensitive to posts by other users that didn’t follow these practices.

I found myself keying off immediately on people being overly negative or starting a reply off with some kind of grumpiness or just plain being impolite. Part of me wondered (wonders?) if that’s how folks read my own work.

Lately my thoughts about posting on Snacker News (sometimes called Yakker News) have been about making the site itself as respectable and welcoming to experts as possible.

HN is remarkable for the famous and successful (IRL) people in computing who sometimes deign to grace its pages with their comments. Often these comments add a big dose of real-world experience from someone who’s been there. Sometimes they’re grumpy or low effort, just like anyone else’s.

What concerns me is that people who are famous and successful (IRL) have no reason to put up with “internet randos” questioning their experience or giving them shit. In fact, no one has a reason to put up with that, but with some notable people, the loss is more obvious (if not necessarily greater).

It made me think of developmental stages of internet posting. Motivations for posting might be broken down into these categories:

  1. “what I think”
  2. “what will convince people I’m right”
  3. “what will make me look good”
  4. “what will make the site look attractive (intelligent and balanced) to other smart people”

I want to be clear that motivations 1-3 are not necessarily bad. However, I think they should all be tempered with a healthy helping of motivation #4. After all, if you post on an online forum, you probably also read it. Making the forum appealing to other smart people is in your best interest (unless you’re insecure, in which case work on dropping the ego first).

When you post a comment online, imagine that someone you respect will read it (which you should want!). Because they might.

I have some small suggestions to smooth out common interaction problems, particularly on threaded forums with voting (like Flobsters, HN or Reddit):

Comments being cynical or negative is actually normal and fine, up to a point. But keep in mind is that there is a real person who wrote the article or comment that you are replying to, and who is very likely to see your reply. If you’re going to publicly reject something someone else posted, please give them something constructive to go on.

Just to be clear, no, the internet does not need to be a giant hugbox. Personally I have a relatively thick skin (against rude individuals, not thermonuclear hate mobs), so I have the privilege of being able to tolerate assholes. I actually consider it part of my competitive strategy: I will make an effort to put up with almost anyone as long as I can learn from them. But I also recognize that others can’t or won’t do that, so it’s in my interest as much as everyone else’s if we can all be a little bit nicer to each other. (This can also be thought of as an example of Postel’s law.)

As the internet gets bigger and older, the culture seems to be fracturing into multiple groups who don’t like each other very much. I’m not sure we can do much about that, but I have a dream of permissionless collaboration, which to me means that even people who hate each other should be able to build on each other’s work. Sometimes I worry that if Einstein had been a bigger asshole, we’d still be stuck on Newtonian mechanics.

As an aside, I would highly recommend everyone read the n-gate.com Hacker News digest. It’s a little bit jaded (ha), but it can be helpful to have a mirror held up to one’s community every once in a while.

I’d like to leave you with a concerning comment from a very interesting thread I saw recently:

https://news.ycombinator.com/item?id=15624620
lsmarigo

It feels like intelligent and mentally healthy individuals have been opting to abstain from online discussions in general over the last few years in droves after realizing their time and energy and better spent elsewhere. Especially with the trend of comments being taken out of context to attack individuals employers/livelihood. That leaves the young, socially broken and depressed (myself included).

The incentives for posting online are very small. Most of us do it to have fun, or learn things, or even make friends. If someone lashes out at you, or downvotes you when you were trying to be constructive, the ROI can easily go negative. I’m afraid of what it would be like if we entered a “cultural ice age.” Perhaps in the future we’ll have to go back and read old archives from the golden age of online forums.

I think that would be really unfortunate.

Previously, a guide to posting on internet forums[#].

Keywords: internet forum culture

[View] [Short] [Hash] [Raw]

2017-11-18

Content-Addressable Storage versus Eventually Consistent Databases

Content addressing is, as far as I know, the best way to build an eventually consistent database. But it’s become apparent to me that there is actually not a lot of overlap between the two concepts beyond that.

My project StrongLink tries to be both. It provides content-addressable storage for files, and lets you find files by hash URI. It also tries to track file meta-data using what I called “meta-files”, which are files that store meta-data about other files.

This split personality ended up majorly over-complicating everything. Per-file meta-data ended up being a per-file eventually consistent database, with more complexity and less generality than a single large database would’ve been. Syncing was especially confusing, because you can use the meta-data in order to decide what files to sync (you basically end up needing two separate sync algorithms).

There are other differences and tradeoffs between content-addressable storage and eventually consistent databases. Content-addressable storage deals in files, which are likely to be large and mostly or entirely redundant, even during normal use. An eventually consistent database deals in commits or transactions, which are more likely to be small and rarely if ever redundant, except when healing after a network partition. A database needs to parse transactions into indexes; a storage system may need to break files into chunks (although I still maintain this is bad if your users rely on your hashes as part of your public interface, especially if they must be compatible between different storage systems).

If you want an eventually consistent database, building it on top of a general-purpose content-addressing system might not be the best fit, unfortunately. And if you want a pure content-addressing system, especially for performance, an eventually consistent database will be both overkill and slow.

It’s quite possible that this split simply mirrors the traditional dichotomy between file systems and databases. One is fast, dumb, and wide; the other is slow, clever, and deep. Don’t mix them up like WinFS did.

Keywords: tradeoffs

NewestNewerOlderOldest