Sit back a spell and let me tell you a story about the Association of Concerned Employees (ACEs).

Back in 1991 the academic computing teams at the University of Minnesota were set to be laid off and we could "apply" for a job with the new quasi-private sector outfit the "Minnesota Supercomputer Center" (MSC).So none of us liked that. Over 300 of us set up an effort to stop it. The VAX/Unix/MVS/Unix/PC/CDC units stopped fighting for crumbs and joined forces. Letters to the editor were written, politicians where contacted, petitions were circulated.

Mailing lists, and even a BBS were put into use to coordinate.

Even, ahem, a listening device was placed in the Board of Regents office.

We were not in a union but AFSCME supported our demands and upped the pressure.

The efforts worked. The privatization was called off. There were job losses, but we had a voice that we used to make the best of the situation. We had input into how we could reorganize the units and better support the students and faculty.

Intense pressure from many of the 330 civil service employees who operate the University of Minnesota's computer systems apparently has forced school officials to back away from a plan to privatize computer services and place them under the Supercomputer Center.Ettore Infante, vice president for academic affairs, who announced the privatization plan last week met with computer workers Tuesday. He told them that because of concerns regarding his original plan, a reorganization of computer services would occur "without the involvement of the Minnesota Supercomputer Center or a subsidiary of it." Instead, Infante said, an outside consultant will be hired to determine the best way to consolidate and reorganize the university's several computer service centers. About half of the 330 computer specialists would have been laid off at the end of the year under Infante's privatization plan. There will probably be layoffs under any new plan, but how many and when hasn't been determined.

Infante's privatization announcement caught the computer specialists by surprise last week, but they quickly used a computerized electronic mail network to organize their opposition. Their main objection focused on the involvement of the Supercomputer Center. The center, a quasiprivate corporation partially owned by the university, is not subject to public accounting. Gov. Arne Carlson recently cut $8 million in state funding from the center's budget, and many of the computer specialists believed that Infante's move was simply a way to funnel new funds into the center. Infante denied that charge and cited the inefficient, outdated computer systems and networks throughout the university as his reason for consolidation. His move yesterday was welcomed by most employees, but many remained skeptical of his motives. "I was encouraged that they seem to be backing down," said Cheryl Vollhaber, a specialist with academic computing services. The employees demanded to be involved in the planning for consolidating the computer systems, something most agree is badly needed. However, Infante was noncommittal about employee participation. The computer specialists said that they have been calling for a consolidation and reorganization of computer services for a long time, but that the administration has ignored them. They are frustrated, several said, because although they are the computer experts, they are not being consulted. "Our focus will be having an employee representative on the planning board," said Stephen Collins, of the university's micro-computer center.

Today the simple pong game is now the multilayered technological environment we interact with on a daily basis. Instead of red/green paddles with 1 bit of data we carry phones that generate a wealth more. These devices also provide the aural/visual and haptic stimuli. With that our collective actions power all kinds of "games" today:

Aggregated likes, views and interactions with content power trending data and even news and politics.

As technologists we need to remember that by controlling the game, we are indirectly controlling the players. The choices we allow (and forbid) define the behavior. The game "plays" the player. And often the only way to be free is to not play at all.

Except that is if maybe, just maybe, the people start playing a different game than the one we designed. In the giddy demonstration it was assumed that people wanted to win at Pong. But we didn't play long enough for abuse or scheming. It would have only taken a few people to cross over to sabotage the other side, or for trolls to have changed the outcome.

Finally this level of power and control demands great responsibility. The only thing worse than control used for malicious purposes is control wielded without thought, without thinking of the consequences. So the next time you're designing a product think about the whole system and all the inputs and ask "who's really in control?".

h/t to the General Intellect Unit podcast and their Machines of Loving Grace episode for reminding me of this unsung moment in history.

Do you want a better internet? One that balances the needs of creators and consumers? A more democratic internet? I do. That's why I'm investing in a music coop: Resonate.

Stream to Own

I've been a member-owner of Resonate for a while, and listen every day. It provides an eclectic mix similar to a high quality college radio station. At first glance Resonate is a streaming service like Soundcloud or Spotify. But dig deeper and the you'll find major differences:

And I own more than just tracks. My member share means that I own a portion of Resonate, I can vote on how the business is operated and at the end of the year I can share in the profits.

Over the past year Resonate has added more content, more features, and most importably a sustainable organization where fans, musicians, employees and labels can work together towards common goals. This is the kind of “cooperative internet” that I always imagined would emerge back in the pre-web era.

“Purpose above Profits”

"Purpose above Profits" was the slogan at REI as I shopped for the holidays. It’s a reminder that the REI is a Member Cooperative. With my $20 lifetime membership I get dividends based on my purchases while supporting outdoor and environmental causes. In 2016 REI gave back 70% of profits.

This is but one example of how Coops can offer sustainable services for the communities they serve. Growing up I had electric power from an Coop. When I lived in Switzerland there’s a huge retail chain literally named “Coop”. I currently use and support my Credit Union.

Overall Coop businesses are more sustainable, and are oriented to the long term interests of their member-owners.

But the growth of the Internet and the Web bypassed the cooperative model. This despite the fact that open source and much of the shared internet infrastructure are structured like coops. It wasn't until 2014 that the concept of Platform Cooperative was coined. The rise of pseudo-"sharing" platforms like Uber and AirBnB and the rise of decentralized technologies like blockchains were two key reasons that many now embrace the concept.

Early Stage Capital

But a problem emerges, how do you bootstrap a Cooperative where there are significant barriers to entry? That’s where Supporter Shares come in. Anyone can invest in these shares. Each year the co-op sets aside 10% of profits and issues dividends to Supporter Share owners.

But remember that Supporter Shares don't get you extra voting power. A cooperative is still one-person, one-vote. The upside is that there are no leveraged buyouts, no dual share structures or non-voting shares.

The Future Internet

The Internet I want is a democratic one where creators, consumers, supporters and employees can work together towards common, sustainable goals. By using and investing in Resonate I hope to advance those goals. Liz Pelly captured the sentiment in "Protest Platforms" that "Resonate is particularly interesting for the way it advocates for broad decentralization of data, power, and money in music".

The Resonate Project Map details where the project is going and the plan to achieve it. I’ll admit that the content catalog is small, (but growing!) and the technology is very beta (but improving!). I still use and enjoy it every day.

And finally, I hope that you'll consider supporting a new generation of online platforms that include the same kind of values that Resonate promotes. All while listening to and supporting the artists we love.

So the +1 button on the web is riding off into the sunset. But you can still make good use of the data that you've collected over the years via Google Takeout! I like to keep my bookmarks in Pinboard, so here's how I did it and you can too.

Some kudos to the US Postal Service. I sent Express Mail to a PO Box for Saturday delivery. Saturday comes and I realize that the post office is only open from 8 to 10:30, but delivery is only guaranteed by 3pm. Oops.

So I look up the Post Office and notice that a local number is available. With skepticism I called the local number. 3 rings later I'm talking to a small-town Postmaster. She knows the recipient, takes the tracking number and promises to call back. 15 minutes later she has found out where it was and promised to receive it after hours and deliver it.

Shocked I ask her what can I do to thank you. Her response is simple - "The mail must go through!".

Yeah, I was there... Back in May of 2006 Typepad, LiveJournal and TuCows got taken down by a massive (at the time) DDoS. I recall it was 2-4 GBps of reflective DNS traffic. Scott Berinato covered it pretty well in the Wired article Attack of the Bots.

For the record we were able to get back up using Akamai DNS Hosting, MCI/UUNet DDoS mitigations, and a cleverly placed GRE tunnel. Oh and a bunch of great Ops work from Lisa Phillips, Matt Peterson, Peter Wohlers and others. I think I still have the commemorative t-shirt we did with TuCows.

And here we are 10 years later. Same stuff, yet in many ways worse.

It's high time we get to fixing the underlying protocols and infrastructure to make these types of attacks a thing of the past. It's time to Redecentralize.

Reading this passage from Ready Player One1 I was reminded of a major influence that I had all but forgotten:

It was a Friday night, and I was spending another solitary evening doing research, working my way through every episode of Whiz Kids , an early-’80s TV show about a teenage hacker who uses his computer skills to solve mysteries. Ready Player One, Ernest Cline, Chapter 18.

So I was prepared when I was recently asked "What brought you here?" (in relation to technology). My answer? ... The Whiz Kids. I can directly trace my interest in online services to that white-hat hacking, war dialing, speech synthesizing, BASIC programming gang of kids2. I can only hope that today's teens have something as good or better.

Trying to find the video also made me realize that Youtube is providing a vital preservation service. You see the Whiz Kids episodes were never released, not on DVD, not even on VHS. You won't find them in any library. Anywhere. But there it is, in 10 minutes chunks3, captured and uploaded off a grainy, noisy videotape recording.

There's been a trend where open source projects start a Slack for team communication. I understand why. The Slack UI is refined, you get searchable, synced conversions on all devices and even emails when you're away. Nice! Except the price you pay is vendor lock-in and a closed source code base. Plus aren't you fed-up with creating dozens of slack accounts for each projects? I know I am.

What if I told you there was an open alternative? One that even included access to your favorite IRC channels? Well there is. For the past month I've replaced Slack usage with Riot.im (aka vector.im) and Matrix.org and I am very, very happy with the results.

Let's start with the UI. Here's my Web UI right now:

On the left: rooms/channels. I've customized mine into high/low priority with full control over notification settings.

In the middle: the #ipfs IRC channel on Freenode. Read/unread state is maintained on the server so I can easily switch to the Android or iOS app and participate there.

On the right: the member roster. You can hide it, or use it to Initiate direct messages.

And look, here's the same UI, on Android showing the Matrix HQ Room:

As you can see Riot supports video/audio calls using WebRTC and file upload too. Works really well!

Did I mention that these super high quality clients are all open source?

So what about the underlying service? Well, we're in luck. The matrix.org service is also well designed, fast, interoperable and open. So what exactly is it? From their FAQ:

Matrix’s initial goal is to fix the problem of fragmented IP communications: letting users message and call each other without having to care what app the other user is on - making it as easy as sending an email.

The longer term goal is for Matrix to act as a generic HTTP messaging and data synchronisation system for the whole web - allowing people, services and devices to easily communicate with each other, empowering users to own and control their data and select the services and vendors they want to use.

Bold and ambitious, and the FAQ has answers to some common questions like why not XMPP and more.

What all this means in practice is that anyone can run Matrix protocols using their own servers. Want your own private internal system? Run your own server disconnected from the network. Want your chats to stay on your own server? Run your own; with the benefit of interoperating and communicating with other servers in the mesh. Want to bridge to another chat system, like IRC? Yes, you can.

And the IRC integration is very, very good. As you saw above identity and channel state is carried through, direct messages are supported. Offline for a while? Scroll back to your unread indicator. Or just check your email:

So there you have it. An open system that enables chat. A highly polished front end. Full support for one to one and one-to-many conversations. Yes, it's beta, so there are some rough edges.

Give it a try. You can find me at @lindner:matrix.org or just drop into some IRC channels, my nick is plindner.

Content is flowing in all the right ways. Posts end up as Posts. Photos are uploaded native with backlinks. POSSE via brid.gy just works. You can see that Brid.gy polls Google+, and then saves what it finds back to the original post by sending Webmentions. The result is a full archive of activity around this content.

Oh and cross posting to SoundCloud worked perfectly. And so do embeds..

After a fix from the Known Team WebHooks are working. I get a POST whenever content changes. To test this out I send the URL to the Internet Archive Save Page. Voila! Instant archiving of my content. [Next up, backups in IPFS]

I was able to set up the Known open source software on my own server. Next step is to pull a backup from the hosted version I'm using so I can experiment further and contribute back to the project.

Mobile Posting via Chrome on Android is working well. You can access the Camera and a rudimentary file picker. HTML editing is workable, but not great. I installed the Url Forward app so I can also have native sharing intents.

Bumps

Of course there are some issues encountered...

Spelling errors mean you Publish Once, Edit Everywhere. Or if you messed up the URL, Publish Once, Delete Everywhere

I tried using a native web mention to reply to another post, but it didn’t appear on the target site. There wasn't any visible UX feedback.

I found that there’s no UI support for backdating posts. Okay, I’ll try Micropub to post. Nope, very rough implementations, but Quill seems nice. Eventually I wrote a stub post in Wordpress, exported, imported and edited. Phew!

But.. it appears that brid.gy doesn’t syndicate to old posts like this. Even when I went back and pointed links at each other. I’ll have to followup on that.

Also, I lost the first version of this post due to a CSRF error since I left it sitting too long in the browser. Oops.

TinyMCE still is a pain and loves using &nbsp; and CMD-9 is bound to <address>.. I might have to use Markdown instead.

I miss @ mentioning people, and wish there was a UI for that.

Native Google+ support in brid.gy needs an API.

But still overall quite happy with the way this is going. I hope you're enjoying the journey with me.

This is an experiment. Can I take control of my online life and move it to a place where I have more control? Can I pull my content out of multiple silos? And can I import existing content from other platforms and keep it (somewhat) synced over time so I have a full record of my public online life?

We're going to find out..

The trigger for me was an article about my early days working with the Internet Gopher Community. I had saved most of the email from back then and it was quite easy to reconstruct and remember what happened. I don't think I'll have the luxury for much of what's happening recently. The digital ephemera is spread out too far and wide to reconstruct and reflect.

To get there I'm experimenting with the hosted version of Known, a publishing platform that supports the things that matter to me. I like that it's open source, interoperable and respectful of human effort -- it also supports a number of Indieweb technologies out of the box like WebMention, and brid.gy to pull back content from the Silos.

So.. you're going to see more content in more places as I'll be syndicating out to Facebook, Twitter, LinkedIn and Google+. And I'll be sharing more as I document this process.

Do you create content on the web? Do you want to make that content eligible for inclusion in Google's new social search? Of course you do!

Read on for the first part in my series of tips and tricks on how to make social search work better for your content.

1: Connect All the Accounts.

Social search uses your Google identity plus your extended social graph to help you find personalized content. The extended social graph is found via links everyone adds to their Google+ profile. More links means more personalized data.

Connect and Verify the accounts you use across the web on the Connected Accounts settings page. Then add these and other profile links on your Google+ profile. Remember to add links to accounts across the web, places where you actually create content: your postings, comments, photos, videos and so on.

The best results come from two-way links so consider adding links back to your Google+ profile. For best results paste in your Google+ profile and remove the /u/# and suffixes. Your profile link should look like this:

And for those of you self-hosting your own blog or site you can manually put a link back to your Google+ profile by editing your HTML markup to include a link to your Google+ profile. Here's a simple example:

<a rel="me" href="https://plus.google.com/117259934788907243749">

My Google+ Profile

</a>

The important part is the rel="me" That tells Google that the linked page is your profile.

That wraps it up for Part 1 -- stay tuned for Part 2 where I go over how to mark up authorship for your content! Thanks for plussing!

I've been very fortunate in my career. I've had many opportunities and been successful in making the Internet a better place for end-users and developers. From the early days of Gopher to the mainstreaming of open-source at Red Hat to the rise of blogging at Six Apart and on to forming the social web with Opensocial -- I've been a part of many game-changing technologies first hand. It's one of the most satisfying parts of my work.

That's why I'm happy to announce that I'm joining Google today. My gut tells me that this is the right company, the right team, and the right time to contribute to and help define another major change that betters the internet and the entire world.

The decision to work for Google did not come easy. My time at LinkedIn has been truly amazing. The people are smart, the technology is stellar and the opportunities to learn and contribute are limitless. In the past year and half the company doubled in size while the Platform team launched dozens of great new products and enhancements. I'm especially proud of the small parts that I played in helping launch LinkedIn's open developer program and am equally excited about a number of future projects that will launch in the near future. I cherish the friendships and knowledge gained and will miss everyone there greatly.

I look forward to the exciting things that I'll be able to accomplish soon. Here's to the next evolution and revolution!