Skip to main content
 

Chat bugs

Reported a bug in Matrix chat. Bug filed.... Via chat.

Wish Hangouts group chat had this...

Of course we could do this for G+ too. Plus mention a magic page named +Buganizer on a post and you'll get a bug filed.. Problem is that syntax errors are harder to process...

 

Feature Request

Google Webmaster Tools lists links to all Chrome extensions that reference your domain...

Not sure which category id...

 

My new favorite way to manage home directories with git

My new favorite way to manage home directories with git

And you can avoid merge conflicts by adding entries to your .gitattributes file:

.bash_history merge=union

Original: http://www.1500wordmtu.com/2016/my-new-favorite-way-to-manage-home-directories-with-git

 

Social Network Standards...

A look to the past to guide us towards the future. This is a candid, level headed, and enjoyable talk about the way we've failed users.

_Harry Halpin and Blaine Cooke go through the history of standards for social networks and identity, and why they failed._

_The Augmented Social Network_ [1] 1995
RDF/FOAF
EmotionML
RSS -> Atom -> ActivityStreams
XRIs
XMPP
OpenID
OAuth
OpenID 2.0
OpenSocial
PubSubHubbub/Salmon
OpenGraph (HTML for Facebook)
ActivityStreams 2.0 (W3C Social)
Blockchains

[1] http://journals.uic.edu/ojs/index.php/fm/article/view/1068

http://redecentralize.org/conf2015/2016/09/07/13-ten-years-of-standards-failure.html

 

Slack no more. Why you should use Riot.im and Matrix.org

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  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:

A Matrix notification shown in an email browser window

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.

 

 

1500 Word MTU has a POSSE: Week 2 Update

I'm still pretty happy my indieweb publishing experiment.

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.

Tagged:

 

Achievement Unlocked*: Impersonated on Facebook.

*Good*: Facebook killed the profile 2 minutes after I reported it for impersonation. Also a great way to get in touch with old friends as they ask 'was that you?'.

*Bad*: the grammar.

*Ugly*: 19 people had friended that profile before it was taken down.

Be vigilant out there....

https://plus.google.com/photos/107786897865850743842/albums/6325073859824754257/6325073857645853762?...

 

What year is it?

Handwritten in pencil.

Yours truly,
Paul

 

 

1500 Word MTU Experiment: Day #1

End of day #1 with Known.  I'm quite pleased with the results.

Good Stuff

  • brid.gy is awesome.  Having +1's, likes and comments consolidated is so nice.
  • Webhooks!  I'm thinking of writing one to automatically archive pages to archive.org.
  • PuSH appears to be fully working.  Again, could extend things there..
  • Google+ renders images well.
  • The editor saves drafts.
  • Lightweight page editor should be useful.
  • AMP support is there (add ?_t=amp to any page)  Some validation issues, but works.
  • Real anchor tags and hyperlinks.  No more writing [1] [2] in posts with multiple links (like lynx)

Rough Edges

  • The built-in Photo type doesn't send the permalink to Twitter, so now I have a weird post without context.  Flickr, Facebook working perfectly, might try another setting.
  • I need to get to writing a Google+ outbound connector.  I'm doing those by hand now.
  • TInyMCE sucks.  It has always sucked!  If only Medium would open source their editor.  At least markdown is an option.
  • Looks like syndicated Google+ links are using profiles.google.com instead of plus.google.com.
  • Some profile pics cloned from G+ are coming back with size 0.  This shows as broken images.
  • Long status posts have extra long permalink URLs.
  • Built-in analytics are weak.  Would rather avoid using GA for that.
  • Limited import options.  Will need to convert Typepad export file to Wordpress format.
  • Bulleted lists line-height is tight, tight, tight.

Overall I'm pretty happy and excited about getting more content in place.

And who knew that a post on SSL/TLS certs would be soooo exciting?

 

Screenshot of a Known Post

 

Tagged:

 

Look at that upstream rate from the KMTel's (http://kmtel.com) $45 fiber plan.

Look at that upstream rate from the KMTel's (http://kmtel.com) $45 fiber plan.

... as I sit here with 20% Comcast packet loss on my 30/7 for double the money.

An interesting article about this phenonemom:

http://www.yesmagazine.org/new-economy/tired-of-waiting-for-corporate-high-speed-internet-minnesota-...

 

Welcome to 1500 Word MTU

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.

 

Silos

Silos by Doc Searls / CC BY 2.0

Tagged:

 

New comment by lindner in "The Rise and Fall of the Gopher Protocol"

Regarding cuts, yes. We had to do with less year-over-year. From Hasselmo's 1991 State of the U address:

> """We lost at least 5 million to inflation, and 6 million through a base cut this year. In addition to a potential 5 million loss to inflation next year again, the Governor's vetoes of IT and systemwide special appropriations cut another 3 million in funding -- for which we are aggressively seeking full restoration."""

The mainframe teams had a harder time of things. For Microcomputers we were lucky - our hardware costs decreased and we had a deal with the University Bookstore to support their computer hardware sales.

That stuff was still expensive. Here's some educational pricing for a workstation with substantial education discount in 1994.

                                        list          discount   
  IBM model 25T                         495         400.00
         80Mhz upgrade                  500         $ 953.50
         64MB upgrade                   $             912.00
         2GB disk upgrade               $             463.00
                                                       -------
                                                      10728.50
 

New comment by lindner in "The Rise and Fall of the Gopher Protocol"

We liked Hyper-G because it had a bi-directional link model and the Harmony browser was able to render VRML.

Maybe 2016 will be the year VR takes off (again)

 

New comment by lindner in "The Rise and Fall of the Gopher Protocol"

This is so true. You have to remember that finances were really tight at this time. The University budget was getting cut left and right throughout the history of Gopher's evolution. At one point there were plans to outsource everyone to the Minnesota Supercomputer Institute.

Of course in hindsight obtaining grants or forming a partnership with a non-profit org or an academic department might have been a better choice, especially for all the professional services requests.

edit: Also you have to remember that computing was a LOT more expensive then. I have old quotes for SparcStations and RS/6000s that were in the 0-40k range, even with an educational discount.. The Mac IIci's were not cheap either ~k when loaded up with RAM.

 

Gopher 25 years on. Long fun, read

Twenty-five years ago, a small band of programmers from the University of Minnesota ruled the internet. And then they didn’t.

 Gopher Team 

Read more at The rise and fall of the Gopher protocol via MinnPost

Tagged:

On: Google+, FacebookLinkedIn

 

Hot Pockets

Hmm, I wonder what s/Node_Modules/blaze-bin/ would reveal..

PB for evil respect to anyone that can implement Hot Pockets example...

https://medium.com/friendship-dot-js/i-peeked-into-my-node-modules-directory-and-you-wont-believe-wh...

 

First Seven Jobs

Given all the posts going on I decided to see if I could find my first published source code. And lo and behold the Internet Archive FTW.

https://archive.org/details/1987-06-compute-magazine

As for 1st 7 jobs: Fish House Cleaner, Dock Boy, Rock Picker, Upholsterer Assistant, Commodore 64 hacker, Injection Plastic Press Operator, Library Book Shelver.

Cleaning up stinky crap and rote mechanical tasks? -- I'm your guy.

 

Webtorrent

WebTorrent one-off file sharing in the browser.

This link will die when the last person closes their browser tab..

https://instant.io/#120d24519a9789b9a0890ba3944e55ab2831b53b

mmm spaghetti

https://instant.io/

 

Orkut

Orkut.com is back. Promoting hello.com

Of course Orkut could probably retire just by serving ads on 404 responses.

http://orkut.com

 

Early Google - Linux restricts

I found my first email to Google. From the year 2000. Since then I've worked through five companies, but Joan Braddi is still here.

And since I'm on the inside now I was able to find the that cl referenced the work I was doing at the time, which was adding search to www.redhat.com. (Or Red hat, as you can see here)

https://critique.corp.google.com/#review/8802/depot/eng/clientwork/CompletedSites.html

I do have to wonder if Red Hat's slow payment of their 5k+ contract fees hurt the early Google, or what might have happened had Google gotten into the RPM search field as I suggested to them way back when...

And for a real blast from the past see the search stats that were emailed out monthly(!)

https://groups.google.com/a/google.com/d/msg/partner-reports/XiVcELeVONc/AtcwCeBS7uYJ

 

Lifelong learning, Servers

I asked an SRE intern if they ran their own server. Said no; but at least they had their own VPS. Made me realize how much I've learned by maintaining a home server for the past 16 years.

While I don't run my own email anymore I still have secondary DNS, NFS, Plex, Docker, IPv6 tunnel and local LAMP stack for projects.

I can highly recommend the Supermicro you see here. 20-30w at idle, super quiet, 8 cores, up to 128GB of RAM, 10GbE, NVMe and much more. I've been running this for 7 months now and it was a big improvement over the Rackable I used to run.

http://www.servethehome.com/supermicro-sys-5028d-tn4t-review-small-box-big-power/

 

Ello

Ello ships their version of Wanderland focused on their artist/creator content.

The interesting part is they let you flip between:

Discover, Followed and Starred

Worth a look.

https://ello.co/discover/all

 

Uninvited Guests

*Uninvited Guests* - Human Agency[1] vs Machine Agency.

I found this gem via a CHI paper. I think it covers a number of pitfalls that can be avoided by insuring that we're designing products that emphasize Human Agency. It also underscores how privacy (especially between the device owner and the device user) is critical.

Also consider if instead of grandchildren the devices were provided by the NHS or Medicare.

[1]https://en.wikipedia.org/wiki/Agency_(philosophy)

Ultimately it is our intention that this, at times comedic story, plays on and gives form to some of the growing tensions between human and machine agency. And in doing so, provoke questions about how we want to live and grow old in an increasingly technologically mediated word.

http://www.superflux.in/work/uninvited-guests

 

Analysis...

Interesting ideas that protocols can be monetized thus leading to more diversity.

I'm not sure I agree with the premise. Large players have many more levers to get their protocols adopted and defend their turf.

There's also the risk that all new protocols will _require_ monetization so governments and internet infrastructure orgs can extract rents/taxes from the activity on the network.

On the other hand if the Gopher Protocol was monetized I might be sipping drinks on the beach instead of toiling in the protobuf mines...

http://continuations.com/post/148098927445/crypto-tokens-and-the-coming-age-of-protocol

 

 

Radical UX'ers

Also there's this: _Diverse teams that design for themselves are able to address the needs of diverse audiences, as opposed to teams that design for ‘the other’_

https://ind.ie/ethical-design/

 

Tangles

Current status: detangling legacy code that uses fava extensions, modules and services wrapped in factories.

https://archive.org/details/p3telephonymanua00abbouoft

 

Algorithms

Lots to think about today:
- Everyday uses for the Optimal Stopping problem.
- Application of Ad Algorithms for Exploit vs Explore. [1]
- Sorting algorithms for unreliable comparators
- AI Ethics: Paperclip Maximization[1] and the Repugnant Conclusion[3]

All after watching this:

http://longnow.org/seminars/02016/jun/20/algorithms-live/

And I now have yet another book to put on my reading list....

[1] https://en.wikipedia.org/wiki/Multi-armed_bandit
[1] https://wiki.lesswrong.com/wiki/Paperclip_maximizer
[2] http://plato.stanford.edu/entries/repugnant-conclusion/

http://algorithmstoliveby.com/

 

Search, Results

Saw this generated byline recently and it really rubbed me the wrong way. It devalues Laurie as an artist in her own right and is certainly not how people present oneself to one another.

The byline is also unnecessary, the information is listed below in a more neutral way.

Reported at http://go/bad Need to also file a bug on the inability to report feedback on this text.

 

Mightybell

*Mightybell*: It's Ning for Mobile

About the only thing Recruiters are useful for is notifying me of the latest VC funded startups...

fyi to Steve Hardt

https://mightybell.com/

 

The Red Queen Principle

_...in this place it takes all the running you can do, to keep in the same place._

If a Google project doesn't have enough headcount to keep up with the constant churn you can bet that it will eventually go extinct.

[Also of note, suboptimization[1]; given our recent strategy with messaging clients...]

[1] http://pespmc1.vub.ac.be/SUBOPTIM.html

http://pespmc1.vub.ac.be/REDQUEEN.html

 

Indieweb

*Updates* - Indieweb

And since Ade mentioned IndieWeb, here's a good writeup of what's going on in that community.

I did get to chat with Tantek a bit at the Decentralized Web conference. We bemoaned the lack of UX voices.

Fun fact: My first project at Google was supposed to be a SWAT0 implementation.

http://tantek.com/2016/190/b1/state-of-indieweb-summit

 

Dweb Reference

This is a good primer on technologies used to turn centralized into decentralized.

https://blog.mousereeve.com/technologies-of-the-decentralized-web-summit/

 

Dweb Critiques

An insightful read. Interesting commentary too.

_Stripping out the “smart” aspects of a Smart Contract, it is still a contract, albeit wrapped in a new-and-improved packaging of object-orientated programming and cheap, distributed computing power. Contracts are not new. And neither are their limitations._

http://www.nakedcapitalism.com/2016/06/ethereum-and-smart-contract-unicorn-woo-woo-there-should-be-a...

 

Layer 8

One of my favorite terms. Assumes knowlege of ISO Networking Layers. Also for a future googledictionary.com

https://en.wikipedia.org/wiki/Layer_8

 

Big Ball of Mud

http://www.laputan.org/mud/

A classic worth revisiting occasionally...

 

Feedburner...

*Feedburner* on the chopping block? Surprised it lasted this long.

The code is oooold, I tried upgrading it's usage of Apache Commons v2->v3 a while ago and owners were reluctant to allow even that level of cleanup....

https://docs.google.com/document/d/1mwQfraSAROtYsDIq9f-JGZeocSDkObYMj1LgE_yiO8E/edit?_escaped_fragme...

 

Oz Deprecation

☠ Annoying Oz Deprecation warnings coming soon. ☠

1. Gather list of build targets used outside of Oz.
2. Write witty sayings
3. Pipe targets to buildozer shell script

#!/bin/sh
while true
do
read line || exit
buildozer "set deprecation ☠\ \ Quitting\ Oz\ Now\ Greatly\ Reduces\ Risks\ to\ Your\ Code\ Health\ ☠\ "
read line || exit
buildozer "set deprecation ☠\ \ Oz\ Causes\ Code\ Bloat and May Complicate Pregnancy\ ☠\ "
read line || exit
buildozer "set deprecation ☠\ \ Oz\ contains\ Carbon\ Monoxide ☠\ "
done

 

Decentralized Web Summit Trip Report - June 8-9, 2016

It's been a week, so time for a writeup of what went down at DWS. The press below covers some details, but I'm going to talk about the _feels_.

tl;dr - Electric atmosphere, technology on the cusp, very unclear future.

I found out about this too late to attend the first day, but I followed along via the live stream while reading up on the underlying technologies and chatting with attendees using federation features of Slack.

I went in person for day 2 and immediately felt the deja vu. O'Reilly FOOCamp meets early Google I/O meets the original GopherCon. You had wise sages (or as Wendy Hanamura put it _Orignal Gangstas_) working side-by-side with the new blockchain Gangstas. The only thing missing was a game of werewolf.

The breakout sessions were tech heavy but the crowd didn't need their hand held to pull down git repos and run/modify code. Many quick demos were created.

Lightning talks (available online) had thoughtful live questions and were broad enough to cover both the underlying technology and the potential results of applying it to society. I appreciated the inclusivity and diversity.

That said the ghosts of breathless tech conferences past were all there:

*Mobile* No real demos on phones. Many talks started with 'enter this on the command line'. That said most of the p2p systems on display have really good mobile properties: eventual consistency. offline sync, etc.

*UX* Little to no focus on UI/Usability problems. There was some discussion on the "Why PGP failed" talk, and passing references here and there. But very little about how this tech would be better for users.

*Economics* This new tech is competing with dirt-cheap VPS hosts out there and a generation of software designed for centralized client-server. Privacy and long-term effects on the ecosystem are low on users feature list. With the fintech bubble about to pop, who's going to fund the development; let alone the ongoing governance. Will new bitcoin funding models be the solution? Will the incumbents embrace or reject?

*Complexity* writing cryptographic serverless code is difficult and it's easy to make mistakes. libp2p is a good start, but the tooling isn't there yet.

Despite these serious issues this is the most excited I've been about our technology space in a long time. The electricity and optimism about what might emerge from this soup of technologies was palpable. I have hope that people won't want to repeat past mistakes, and that the new stack can achieve some 10x gains. Here's some initial thoughts:

- What if your phone could pull down entire sites for use offline and have deltas propagated when connected?
- How about having all of your physical devices syncing between themselves instead of up and down to the cloud.
- How about a better UI for managing your identity public/private keys?
- What about your OnHub being your persistent home on the network?
- What about being able to archive and 'play back' entire web sites like you would a git repo?
- How about having easy micropayments as a way to break free from our current ad-supported mess?
- How about Android APKs that travel from device to device with the security of knowing that you're running the exact same code as everyone else.

... more to come.

http://spectrum.ieee.org/view-from-the-valley/telecom/internet/the-fathers-of-the-internet-revolutio...

 

Technology - Webtorrent

Go ahead and load up http://webtorrent.io/ and amaze at what WebRTC in the browser enables.

Paul Kinlan's article shows how you can roll your own serverless podcast site using WebTorrent. Of course there are serious privacy, legal, and wipeout issues involved to consider. Will talk about those in future Policy posts.

https://paul.kinlan.me/serverless-sync-in-web-apps/

 

Highly recommended watching.

Highly recommended watching.

Hyperbolic discounting of future costs and Ulysses pacts are apropos to many situations. For example, technical debt.

 

Portmapper

Comcast called me. Said I was running UDP portmapper on my external IP. Oops.

This was leftover from an experiment running NFSv4 across the net. [it sucked, used sshfs instead]

Also for those who've never experienced a reflection attack it's NASTY. Attacker sends forged source-address UDP packets so all responses go to the victim host. In the past NTP and DNS provided the vectors. Back in 2006 it was PharmaMaster and Blue Security:

http://www.securityfocus.com/news/11392

http://blog.level3.com/security/a-new-ddos-reflection-attack-portmapper-an-early-warning-to-the-indu...

 

Hyperbolic Discounting

So here's my small request to all Googlers, watch this. Then think about all the benefits that you're discounting hyperbolically[1].

For example, technical debt is hyperbolically discounted compared to immediate features/launches.

https://en.wikipedia.org/wiki/Hyperbolic_discounting

http://boingboing.net/2016/06/09/how-will-we-keep-the-decentral.html

 

Vector

This feels like something Google would have created back in the day. Impressive.

- Cross Platform
- Interoperable
- Clients on Web/iOS/Android

Wow.

https://vector.im/

 

Attending day 2 of the Decentralized Web Summit. Hope to see some familiar and new faces.

Attending day 2 of the Decentralized Web Summit. Hope to see some familiar and new faces.

 

Decentralized Web Summit

Attending the Decentralized Web Summit day 2. Hope to see some familiar and new faces.

http://www.decentralizedweb.net/

 

 

 

 

Owners of OWNERS

Want to know who owns your code?

cs -l -local "case:yes f:my/google3/path/.*/OWNERS\$" \
  | xargs -n 1 g4 owners \
  | sed -e 's/ included.*$//' -e 's/,$//' \
  | grep -v '^//' \
  | grep -v piper-group-eng \
  | egrep my/google3/path \
  | sort | uniq

Sample output

https://x20web.corp.google.com/~plindner/cargocult-oz/owners_all.txt