Oh, I see: you are fighting the services war.

This comment in MediaWiki’s task tracker really upset me. Instead of polluting the tracker with my rant, I decided to use my blog for its original intent: a nice rant.

Are insults like this really good to put in phabricator? I’m not fighting a war. If I were, I would be greatly outnumbered.

There are legitimate reasons for the Wikimedia’s engineering and operations teams to move bits of functionality out of the PHP core.

However, MediaWiki is free software and it has other users with other needs besides the Foundation.

For what its worth, the majority of my clients use services outside of PHP. For instance, I’ve set up and packaged Parsoid into RPMs for them and I’m currently working on creating RPMs for PediaPress’s PDF renderer (before I started, I looked at Offline content generator but wasn’t happy with where it was).

But, as a piece of free software, the ability for an individual to deploy mediawiki by themselves without the infrastructure provided by an IT department is vital for its adoption in organisations outside the WMF.

The WMF vision statement reads: “Imagine a world in which every single human being can freely share in the sum of all knowledge. That’s our commitment.”

Making MW free software that more people can can share their bit of the “sum of all knowledge” without relying on the WMF or Wikipedia’s editors to be the gatekeepers.

What is happening with MediaWiki?

There has been some recent active discussion in the MediaWiki (MW) (see “The end of shared hosting” on phabricator) and SemanticMediaWiki (SMW) communities (see this discussion on github) about Service Oriented Architecture (SOA) and the future of MediaWiki.

Part of that discussion revolves around shared hosting which is where many people have deployed their wikis.  I posted some of my thoughts on this for other people in the SMW community, but I don’t want to deprive anyone who loves to read my writing, so I’m copying it here.

I’m not sure I’m the best person to talk about the SOA approach that MW is taking. One thing is clear, though: A SOA approach does not work in shared hosting.

The best place to have this discussion is with Rob Lamphier and the MW architecture committee at the developer summit in January. I encourage anyone interested in this to find their way to San Francisco for that. That said, I do have some thoughts…

While the simpler, nostalgic past has meant that installing a wiki just required access to a single service (typically MySQL) the growing dependence on auxiliary services has made this “download and go” approach harder.

There are several objections to the SOA approach. Here are a few, but please be sure to add to the list:

  • Cost — shared hosting is relatively cheap.
  • Training — shared hosting means someone else is managing the server and you don’t need to have or maintain that skill.
  • Effort — shared hosting allows you to focus on the site, not the running a server.
  • Complexity — related to the previous two, shared hosting means you only need to be concerned with managing one aspect of your site.

These points are addressable, though:

  • Cost should be a relative non-issue. Amazon’s EC2 can be had for free or as little as $10 month. Linode has similar service, a little friendlier UI and other hosters like M5 and Rackspace are providing even cheaper alternatives.
  • I’ve been working on Ansible scripts to set up a server from scratch and James Montalvo and Daren Welsh have been working on Meza to help set up a MW server.
  • During a meeting with the Wikimedia’s Executive Director and leaders of the engineering department that Markus Glaser and I had last year, it was clear they were looking for someone to take a leadership role in developing new forms of distribution for MediaWiki.
  • Software like the Ansible or Meza, combined with new forms of distribution should address the problems of Training, Effort and Complexity.

SOA architecture was first pursued in core MediaWiki with Parsoid‘s node.js implementation. PHP 7 is removing the primary argument that Gabriel Wicke used for writing Parsoid on node.js — speed. Parsoid has a ton of tests and it would make sense to use those tests to rewrite Parsoid in PHP to make deployment easier.There was a really good presentation at Wikimania by Ed Sanders about adapting VisualEditor (VE) for other uses. He pointed to a couple of bits of example code. I haven’t had the chance to look at them yet, but these were apparently clear examples of how to use VE for things in MW besides editing the complete page.I have already been agitating for fewer services. The counter argument is that MW has grown into a monolithic piece of software and using services allows developers to isolate their work and control their interfaces better.That is a good thing, but there is no reason this sort of isolation and control couldn’t be accomplished using the same platform and easy deployment that PHP has offered to many users in the past.

So, what does this all mean for SMW?

I think it is obvious that the status quo isn’t going to work. For one thing, there is already poor communication between the MW and SMW developer communities. As the survey we recently completed clearly shows, many users of MW do not see SMW as a separate or even extra piece of software. I think it is a given that many end users of wiki sites see the functionality that SMW provides as just a normal part of their wiki.

That means we need to get developers who are familiar with SMW to interact with the developers at the Wikimedia Foundation. The developer’s summit would be a good place to start.

Working with the architecture committee — helping them understand the needs of users and developers outside of Wikimedia projects — would help them use their role as leaders of the MW developer community in ways that would help steer MW development so that projects like SMW could continue to depend on the MW platform.

Instead of pining for the past, we need to shape the future by making sure our voices are heard.

Brilliant twist on the advance fee fraud

I got the following in my email today.  This a brilliant twist on the scam:

From: "IMF Agent" <finance@do.daoudata.co.kr>
Reply-To: "IMF Agent" <fmb.agent@gmail.com>


 I am IMF agent attached to the World Bank office . I am very much aware of your ordeal towards actualizing the release of your long delayed payment.

 Not very long after the World Bank completed the acquisition process of all pending payments, I discovered that my boss connived with some top officials of the World Bank to divert funds already approved to settle inheritances, email lottery winners and international contractors.

 The World Bank has already given approval for the payment of your fund while they deliberately delay your payment and continue to demand fees from different departments mostly from Africa, the UK , Europe and Asia all in an attempt to enrich their private accounts. I wonder why you haven’t notice all these while. I am Christian and my religion does not permit such.

 Your fund was authorized to be paid to you through the World Bank accredited affiliate with a Key Tested Reference/Claim Code Number, which was supposed to have been issued to you before now.

 Upon your response to this message, I shall guide you and provide you with all you needed to contact the World Bank affiliate who will facilitate the release of your payment.

Truly Yours,

Kelly David
IMF/World Bank Agent 
This e-mail and any attachments may contain information which is confidential, privileged, proprietary or otherwise protected by law. The information is solely intended for the named addressee (or a person responsible for delivering it to the addressee).  If you are not the intended recipient of this message, you are not authorized to read, print, retain, copy or disseminate this message or any part of it. If you have received this e-mail in error, please notify the sender immediately by return e-mail and delete it from your computer.

This email has been checked for viruses by Avast antivirus software.

Thoughts on “The Geography of Thought”

First things first: I wanted to read this book because my wife is Vietnamese. I’ve spent 20 years married to Alexis and had time to observe how she handles things and I handle things. This puts me at a disadvantage. When she moved from Vietnam to New Orleans, she was five or six, so she has a good 14 or 15 years on me in observing differences and navigating her way in a culture that is different than the one she experiences with her immediate family. I wanted to do a little catch up.

She summed it up nicely when I asked if she wanted to read the book: “I’m sure it won’t tell me anything I don’t already know.”

The book’s shortcomings are apparent almost immediately:

I believed all human groups perceive and reason in the same way. … [I wrote a book] titled Human Inference. Not Western Inference (and certainly not American college student inference!), but human inference. The book characterized what I took to the inferential rules that people everywhere use to understand the world…

I’m a little more than a little surprised that someone could become an academic in human psychology and not understand that people from different cultures see the world in remarkably different ways.

Now, that aside, the book does have the some great insights that come from research the author and others have performed.

If you want a 30-second (or less) synopsis of the book, here it is:

People in the West see the world consisting of various parts. Understand how an individual thing acts and you’ll be able to make reliable predictions about how it will act in any situation.

Meanwhile, people in the East see the world more like an interdependent system. Making predictions based on how you’ve seen something (or someone!) act in isolation is foolish since context is the determining factor in what will happen now.

Of course, when you divide the world up this way, you run into the problem of over-simplification. And, as he makes apparent by comparing populations, the Eastern and Western modes of thought are not a binary system. Asian-Americans, people from Hong Kong and sometimes Germans regularly straddle the East/West divide.

The people who are the penultimate Westerners are Americans, followed by Canadians and the British. Meanwhile, Easterners start with the Chinese and Japanese and move from there.

In the first part of the book, he talks about Aristotle and Confucius and how they created two different systems of thought. The origins of these two modes of thinking, then, are presented as Greek vs Chinese.

What interested me was that Western thought later became more clearly Protestant thought – the connection to Greece was in its generation, but not the “best” modern form. In fact, a lot of my exposure to Orthodox thought has shown that there are sometimes more similarities with Eastern religion than with American Christianity.

Overall, even though this book provided some good food for thought and the studies performed were useful, I was put off by the author’s acknowledgement that he was relatively unaware of thse differences until relatively late in his career.

MediaWiki Hackathon 2015

I am back from the MediaWiki hackathonRichard Heigl leads a discussion after the #MWStake meeting about actually implmenting our ideas this past weekend.

This is the first time we had some really good participation from non-WMF parties.

A couple of active developers from MITRE, a government-focused NGO, were there. I was also able to get the WMF to pay for a couple of engineers from NASA to go. The organiser of SMWCon Spring 2015 (Chris Koerner) was also there because I encouraged him to apply to get his attendance paid for by the WMF’s scholarship program.

I had planned to spend the hackathon finishing up the HitCounters extension so that we can it would be ready with MediaWiki 1.25 was released. Unfortunately, the conversations with the non-WMF MediaWiki users ended up being too productive. As a result MediaWiki 1.25 was released on Monday without the page view counter functionality. I should have this extension finished by the end of this week.

As an added bonus, I introduced Darren Welsh, one of the engineers from NASA, to the VP of Engineering at the WMF. Our friends at NASA have been doing some really great things to improve the usability and usefulness of a user’s watchlist.  I hope that some of their work shows up on Wikipedia because of this introduction.

Overall, it was a wonderful way for those of us who use MW outside of the Foundation to coordinate our work. I hope to see a lot of good things coming from these sort of meetings in the future.

Brief review of Farewell to Alms

Since all I can manage are brief reviews with a pointer to the quotes I excerpted to Twitter, here is my take on Farewell to Alms:

I loved it. At least, it made me feel like I was getting enough out of it to keep on reading.  It also helped me get a better view on our modern world and how new it really is.  That, and I gained a much better understanding of how little transport is when it comes to the total cost of goods.  Why does “Made in America” not matter?  Because the real cost to ship to America is practically nothing.

(P.S. I should mention that I read this because Dan Lyke recommended it when I saw him in SF last January.  See? It only took me a year!)

Zombies and Morality

Over the past few years, old farts like myself have watched with some confusion the emergence of zombies in popular culture.  In one sense, I get it — zombies are a trope, a device that can be easily reused for story telling, just like space ships or time travel in much of science fiction.  But what makes them so popular?

And then, while reading through the comments on Fr Stephen‘s post titled “Sin is not a moral problem” (always read the comments on his blog posts), I came across this gem:

There’s a book called “I, Zombie”, in which the experience of being a zombie is told from the point of view of various people still conscious, but trapped within a body that has its own needs and does horrific things. Some people grow to enjoy the experience; some people struggle against it; some people find that while they have no control, they can exert a subtle influence. All the while their bodies are decaying around them. This is as close as I can come to an understanding of the sin problem.

This synopsis is as close as I can come to an understanding of zombie fiction.  It’s the first time I’m actually interested in a book about zombies.  I’m going to have to add this one to my reading list.

Brief review of Why I am an Atheist Who Believes in God

Why I am an Atheist Who Believes in God: How to give love, create beauty and find peaceWhy I am an Atheist Who Believes in God: How to give love, create beauty and find peace by Frank Schaeffer
Originally written on goodreads while 30,000 feet over the east coast.

Like someone else said, the book is full of one liners. As I tweeted my way through the book, you could see how offended dogmatic people were by the title.

If you can make it past the title, though, you will find that he has written an book full of honest uncertainty, one that shows how you can give up on the certainty of youth without becoming lost in cynicism and bitterness.

2014 Summer of Code

Google Summer of Code has ended and, with it, my first chance to mentor a student with Markus Glaser in the process of implementing a new service for MediaWiki users.

At the beginning of the summer, Markus and I worked with Quim Gil to outline the project and find a student to work on it.

Aditya Chaturvedi, a student from the Indian Institute of Technology (“India’s MIT”) saw the project, applied for our mentorship, and, soon after, we began working with him.

We all worked to outline a goal of creating a rating system on WikiApiary with the intention of using a bot to copy the ratings over to MediaWiki.org.

I’m very happy to say that Adiyta’s work can now be seen on WikiApiary. We don’t have the ratings showing up on MediaWiki yet (more on that in a bit) but since that wasn’t a part of the deliverables listed as a success factor for this project, this GSOC project is a success.

As a result of his hard work, the ball is now in our court — Markus and I have to evangelize his ratings and, hopefully, get them displayed on MediaWiki.org.

Unlike some other projects, this project’s intent is to help provide feedback for MediaWiki extensions instead of create a change in how MediaWiki itself behaves. To do this, Aditya and I worked with Jamie Thinglestaad to create a way for users to rate the extensions that they used.

We worked with Jamie for a few reasons. First, Jamie has already created an infrastructure on WikiApiary for surveying MediaWiki sites. He is actively maintaining it and improving the site. Pairing user ratings with current his current usage statistics makes a lot of sense.

Another reason we worked with Jamie instead of trying to deploy any code on a Wikimedia site is that the process of deploying code on WikiApiary only requires Jamie’s approval.

The wisdom of this decision really became apparent at the end when Adiyta requested help getting his ratings to show up using the MediaWiki Extension template.

Thank you, Aditya. It was a pleasure working with you. Your hard work this summer will help to invigorate the ecosystem for MediaWiki extensions.  Good luck on your future endevors.  I hope we can work together again on MediaWiki.

A freetard apologizes for Google

(For those not familiar with the term “freetard“, it is a derogatory term that Fake Steve Jobs coined for free software fanatics like myself.  I’m reappropriating it here.)

A friend of mine posted a question on facebook about backing up his Mac, asking what would happen if he decided to switch to Windows later.  Instead of answering his question, I picked up on the bit about photos and failed to respond to his question with the following bit:

Give your life to Google. My phone is my camera and it syncs all photos automatically to “the cloud”. Everything is on the web, of course, and sometimes Google will surprise me with bits of scrap-booking that its bots send me.

For example, here is a movie made out of one of the breakfasts we had in London a few weeks ago.

And here is the “story” Google’s bots made of our whole trip to London.

So, yeah, Google is a multi-billion dollar corporation, but so are Apple and Microsoft. The difference is that Google’s doesn’t care if you are on a Mac or a PC.

But they would prefer you to use an Android phone, I’m sure, instead of an iPhone. Even there, you have more options because, like Microsoft, Google isn’t focused on controlling the delivery of their software to the same degree that Apple is.

This means you can have a crappy Android device, just the same way you can have a crappy PC. So, yes, there is a higher chance you will be dissatisfied, but it also means that you are less limited than you are on an IOS device and that, as a result, more people will be able to contribute to providing you with a better experience via software or cloud services because Google (like Microsoft on Windows) doesn’t exert the same control over the Android ecosystem that Apple does on the IOS ecosystem.