Startups, failure, and AWS

(I’m copying this from a long Facebook comment because I think it is worth a blog post, and I don’t really want to make a habit of giving FB only my valuable thoughts.  Because you know how valuable my thoughts are.)

A friend of mine pointed to this article on the failure of the photo startup Everpix.  He said he thought the failure could have been at least partly addressed by reducing their use of Amazon’s AWS. I’m not sure this is the case. From what I can see, AWS is priced very, very reasonably. For example, when I priced out Linode vs AWS, AWS was a lot cheaper and more flexible. And could replace my current colocated server at a fraction of the cost using Linode.  I’m working on moving my colocated server to AWS..

Further, bandwidth for this photo hosting on the scale they would need isn’t cheap. Using AWS they can get smaller amounts of bandwidth at a very cheap price and scale up to larger amounts quickly and easily.

Finally, AWS lets them avoid the overhead of all the negotiating that they would have to do to replace each of those services.

Instead, I would like to see a desktop version of the software that would let users use their algorithm to find those important pictures faster. And then, they could have a standalone Everpix appliance at home that would take eliminate all the bandwidth and storage costs that Everpix was incurring to run the service.

I would say what killed them was the insistence on running a web-based service without trying to use any network effects (at least, I haven’t seen anyone do anything like “Here’s a list of pictures I took on this day during the last 2-3 years, according to Everpix”).

They were in the web mindset and incurred the web’s costs for hosting and bandwidth without taking advantage of any network effects. It would have worked just as well as a desktop-only application and ended up being cheaper for them.

Propaganda, first take

I’m half way through Edward Bernays book from 1928 titled Propaganda. (Yes, I’m a slow reader.)

I first became interested in Bernays after seeing The Century of the Self — a documentary that I highly recommend. Bernays was Freud’s nephew and, after working as a propagandist during the first world war, he took what he had learned and developed what is now modern marketing. In 1928, after he had successfully used what he learned in the war to get women to take up smoking, he wrote the handbook for marketing (although he thought of it mostly as public relations) titled Propaganda.

A recent blog post from The Last Psychiatrist caused me to track down Bernays’ book and I’m finding it quite useful.

He makes it very clear that modern marketing is tied to mass production:

Mass production is only profitable if its rhythm can be maintained — that is, if it can continue to sell its product in steady or increasing quantity. The result is that while, under the handicraft or small-unit system of production that was typical a century ago, demand created the supply, to-day supply must actively seek to create its corresponding demand. A single factory, potentially capable of supplying a whole continent with its particular product, cannot afford to wait until the public asks for its product; it must maintain constant touch, through advertising and propaganda, with the vast public in order to assure itself the continuous demand which alone will make its costly plant profitable.

This (“supply must create demand”) is distasteful to me, but prior to reading this I had some romantic notions about why modern marketing developed. Here it is clear it wasn’t simply evil business men deciding to increase demand for their products, but that this was the result of the introduction mass production which allows more people access to more goods. (Of course, this could lead to a conversation about sustainability, but I’ll gloss over that for now.)

The other thing that I find distasteful is his view of the public as something to be influenced and directed.

This invisible, intertwining structure of groupings and associations is the mechanism by which democracy has organized its group mind and simplified its mass thinking. To deplore the existence of such a mechanism is to ask for a society such as never was and never will be. To admit that it easts, but expect that it shall not be used, is unreasonable.

He makes his case quite well and one can see quite clearly that he is tries very hard to use his “power” in an ethical manner, but it still leaves you feeling a little uneasy.

So, what can we get from all this? For myself, as I work on promoting the use of MediaWiki, I’m taking seriously what he says about listening to the “public” and making sure that they are not totally against what you’re producing. Many people see the popularity of Wikipedia and decide they want something similar. And, MediaWiki is available and (relatively) easy to set up. The problem comes after people run it for any amount of time. That is the bit we haven’t worked on. And that is the area that we’ve realized needs work. Figuring out what people think MediaWiki is going to do, but fails at, and then delivering that. That is the big area where we can win.

And Bernays has helped me think about practical ways to do that. It isn’t a long book, but I’ll be re-reading it to write some notes for myself about how I can do things differently.

Autistic like me

The Reason I Jump is the first book of its kind: a first-person account of the experience of autism written by an autistic 13-year-old boy.

Reading it, I was impressed by how the struggles he has are the same as everyone else’s, but how much more in-tune he is with the discomfort that he causes others.

For instance, his answers to questions like “Why do we have to tell you things over and over?” or “Why don’t you remember what we’ve told you” almost always include a plea to “stick with me” after attempting to explain why he does something incomprehensible or irritating.

I could see him struggling to be understood, realizing that the things he did irritated people and feeling despondent because of how these things affected those around him. But he couldn’t stop as easily as I can.

Despite this — or because of this — he seemed more motivated than I am to figure out how to control his involuntary actions.

It left me feeling a little guilty — like how I felt about myself when I heard about the dyslexic lawyer who was motivated to develop ways of learning and remembering that I’ve never even bothered with.

Let Obamacare fail on its own Merits.

Heal the sickAs October 1st and the possibility to sign up for Obamacare gets closer, the world has had the dubious pleasure of watching American politicians fight over the best way to care for the those who can’t afford medical care.

The great thing about America is our federal system: As a federal program, Obamacare depends heavily on each state’s implementation of it. States whose legislatures and governors are politically sympathetic to the program (i.e. mostly Democrats) are doing everything they can to help it succeed. They’ve accepted increased Medicaid funding, set up state-run exchanges, and hired navigators to get things done.

But legislatures and governors who aren’t so politically sympathetic to Obamacare (i.e. mostly Republicans) aren’t content to let the program fail on its own — though many are convinced that it would. Instead, they are trying to block implementation at every step.

They often use the argument that the federal government can’t do anything right, but then, when Obamacare offers states the more Medicaid funding and the chance to run their own insurance exchange — after all, something run by the states is better than if it is run by the feds — they balk and leave their citizens to rely on the Federal implementation.

Obamacare recognizes that people will need help figuring out the new system, so part of it is the implementation of navigators in each state. In Florida, though, the state has passed legislation saying that navigators do not have access to their county health facilities.

I understand that some people don’t want Obamacare to succeed. Heck, they don’t even want people to get any benefit, because “when people get an entitlement, they never give it up, so let it burn.” I get that.

But trying to create failure by blocking access to Obamacare creates “bad optics” at the very least. Thankfully, some counties in Florida have found a way around the state’s ban on helping people enroll in Obamacare, but this only adds to the drama. It may even, indirectly, make the point that those closer to the individual are better able to serve than “those bureaucrats in Tallahassee”.

(Photo credit: Tabitha Kaylee Hawk)

Pasting text into the wiki

A client asked me if I knew of a way to remove the spurious line feeds in a text that you copy from, say, a PDF into the textarea editing box for the wiki. The problem, which you may have seen, is that highlighting a couple of paragraphs of text in the source document and then pasting them into a textarea in your browser will end up with funny, unintended line breaks.

For example, copy the first paragraph of the second section of this paper and then pasting it into a textarea using Firefox gives this result:

The text should be divided into sections, each with a
separate heading and consecutive numbering. Note, how-
ever, that single secondary, tertiary, and quaternary sec-
tions remain unnumbered. Each section heading should be
placed on a separate line using the appropriate L
X com-
mands. For more detailed information on different sections
and their formatting see the Authors’ Guide.

After looking around a bit, I found lots of people talking about pasting problems, but no one offering a solution that would work in the browser instead of just on one particular web page.

After reading about JavaScript and pasting, poking around in the Firefox addons, I figured I knew enough to address the problem with GreaseMonkey.

jsfiddle provided a nice REPL for testing my code and it wasn’t too hard after that to put this together in GreaseMonkey and upload the result to (after I recovered the password to my long-dormant account).

So, after all that, here is the result of the previous paste:

The text should be divided into sections, each with a separate heading and consecutive numbering. Note, however, that single secondary, tertiary, and quaternary sections remain unnumbered. Each section heading should be placed on a separate line using the appropriate L A T E X commands. For more detailed information on different sections and their formatting see the Authors’ Guide.

Hopefully this will be useful to others.

In which I sound like a cranky ingrate

Scenes from Matanda, Malawi
This girl is going to have to walk 1km home. Photo from kym54 on Flickr.

This week, if you’ve seen any of my action on Twitter or Facebook, you probably know that I was admitted to the hospital on Monday for blood clots in my lungs. Three years ago I had a pulmonary embolism while I was in the hospital. To avoid the out on my third strike, I’m going to have to live the rest of my life regularizing my leafy green intake and taking Coumadin.

So, fine. I had a blood clot (again!) and I could have been one of the 100,000 Americans that die every year (one every 5 minutes) from a blood clot.

But I’m not. I survived. I’m very happy to be alive. I don’t really know how I would feel if I hadn’t survived this, but I know that my wife and children were quite upset when they came to see me in the hospital — their lives would be completely different had I not survived. And so, I’m happy for them that I’m sitting here in my back yard listening to the cicadas while my daughters play with the bugs they’ve caught today.

If the blood clot didn’t result in brain damage (i.e. a stroke), then the inconvenience of Coumadin is probably the most debilitating long term effect that most people suffer. There are even (very expensive) drugs available that take care of thinning the blood without being affected by diet. I’m on one now because the Heparin I was in the hospital for wasn’t getting my INR up quickly enough. But it costs $40 per dose. Paying $280 per week for preventative medicine doesn’t really work for my budget when there is a cheaper alternative (Coumadin) that has been working for 60 years.

But now when I tell people I’ve had two blood clots, they tend to freak out. “That sounds scary!” Or “I‘m praying for you.”

I understand this. When a friend of mine showed me a clot that he had in his leg, I was pretty surprised that he was up and about and not falling over in front of me. “Shouldn’t he be more worried?” I thought.

But now I think I understand his point of view a little better. People die from blood clots. Like I said, an American dies once every five minutes from one.

Maybe it is just that those of us who have had one (or two!) of them and survived realize that we are past the deadly part — we’re alive and life keeps happening.

I appreciate that the possibility of death looms every second that I’m alive. I appreciate the prayers of others for my health and my family’s well-being. Really, I’m grateful!

But I’m also grateful for drinkable running water. Water is essential for living, but most Westerner’s don’t spend time thinking about how blessed they are that they don’t have to walk to a communal well every day to get their water. And I don’t spend time telling them how lucky they are to have running water.

Death looms, but I’m alive.

It takes a lot of infrastructure and work that we don’t usually see to get plenty of fresh water, but I can take a nice long shower.

I’m lucky to be alive. There, I’ve acknowledged it. Can I just get on with living?

Someone I respect read my blog!

[photocommons file=”Asian food.jpg” width=240]Last night, I ate dinner twice. The first time I got an education about Israel’s wars in 1967 and 1973.

But at the second dinner, Amir told me he read my blog. So, of course, this post is about the discussion I had with him then.

He asked me why I make a point that I am Orthodox when I talk about my Christianity here. I suppose that from the outside, these differences look sort of petty. Yep, you’ve got bells and smells and they have a praise band. So what?

The first part of my answer was from Stuff White People Like: It is different than my parent’s religion. I remember when my wife and I were looking at Orthodoxy some 15 years ago. There were a lot of heated discussions with my parents — especially my dad. That made an impact on me and, even though the differences don’t mean much to someone who isn’t a Christian, they mean a lot to me. It is a distinct part of my identity. The point is not that if you’re the wrong kind of Christian (let alone an atheist) you are going to hell. Instead, it is simply a restatement of my identity.

To borrow from Tom Morris post on identity embracement, I’m an Orthodox, freetarded capitalist, and a straight, white, American father of four. When I post about an area where I feel like my identity is in the minority — like being an Orthodox Christian American — I dwell on it a bit more and that is reflected in what I write.

(Photo credit: No, that isn’t my dinner.  It is from John Martinez Pavliga and used under the Creative Commons Attribution 2.0 Generic license.)

Hong Kong (and MediaWiki)

Flu in Hong KongIt has been a while since I posted anything here and I’m only posting now to tell you that I’m in Hong Kong.

After Markus Glaser and I won the contract for MediaWiki release management from Wikimedia, he suggested that I come to Wikimania so that we would have a chance to talk to developers.

Markus has been busy in chapter meetings, so I’ve been spending some time talking to developers and getting ready for the MediaWiki architecture discussion later today.

A quick hack to hide a page from anyone who can’t edit it in MediaWiki

Today, a client asked for a way to hide the content of one page from casual browsers. I came up with the following:

$wgHooks['BeforePageDisplay'][] = 'stopDisplay';
function stopDisplay( $output, $skin ) {
        if( 'Passwords galore' === $output->getPageTitle() ) {
                global $wgUser, $wgTitle;
                if( !$wgTitle->userCan( "edit" ) ) {
                        $wgUser->mBlock = new Block( '', 'WikiSysop', 'WikiSysop', 'none', 'indefinite' );
                        $wgUser->mBlockedby = 0;
                        return false;
        return true;

There may be another way to do this and this is certainly not secure against all attempts to read page content. For instance, if you want to hide a Wiki page like [[Passwords_galore]] from people using this technique, all they would have to do is include it using a template to get around this hack: {{:Passwords galore}}.

I’ll be looking at more ways to access the page and more ways to block it soon.

Remember: Life sucks and it isn’t fair

This is just a general reminder that life sucks, not a navel-gazing, self-pitying examination of my own life. I’ll save that for another day. This is just a rambling rant that I felt the need to write down.

Most of us who don’t live in war zones get complacent. We like safety and comfort. We like predictability. We want tomorrow to be only moderately different than today. Not exactly the same, mind you. We saw Groundhog Day already and are pretty sure that would be a nightmare.

Even if we do like to mix it up some — Skydiving, anyone? — we are still looking for exciting, exhilarating life experiences, not life changing catastrophes.

But the reality is that life is filled with pain and heartache. The reality is that danger is ever-present and tomorrow, let alone the next second, isn’t guaranteed.

Too often, we come up against this hard reality and we wonder “Why me? What did I do to deserve this?” Yes, something you did probably contributed to how your life sucks, but even if you lived perfectly and we can find nothing to fault you with, life sucks and, worse, it isn’t fair so your life will suck or, if you’ve somehow been able to live a life of pure bliss in which you did nothing wrong (ha!), you are still going to die.

But that isn’t all. Before you die, you’ll see people you care about, even those you love, having a sucky life and dying.

So, yeah, your life will suck. You’ll end up miserable and experiencing more pain than you deserve.

Instead of asking “Why me?” — instead of thinking that you shouldn’t have to live in misery and fear, remember that everyone’s life sucks. If you spend a little time reflecting on it, you’ll probably realize things could be worse. At the very least, you should realize that your misery isn’t unique. Everyone else’s life sucks at some point, so a better question is “Why not me?”

Instead of looking at the person you despise who is in misery and feeling smug or thinking “Well, that person deserved it!” try asking yourself “Why not me?” If you do that right — if you realize there really is little reason for you to escape suffering for what you’ve done while that person is in misery — you’ll find yourself hoping that the person you despise quickly recovers.

Yes, life sucks. Yours, mine, and everyone else’s. There is no escaping it. Misery and suffering are inevitable.