The sum of all fears

Update 5/25/2017: This is a post I started over a year ago.  In the interim Ubuntu has officially dropped the plan on a convergent desktop.  Mark Shuttleworth might argue that convergence will eventually happen but ultimately that doesn’t matter.

“In business being early, or being late, is the same thing as being wrong.”

Outstanding article over at TechRepublic discussing the lack of momentum that Ubuntu has had as of the last couple years.  The basic rundown is that the author believes that the long term goal of “the convergent desktop” is causing other less important goals to slip.

For those who haven’t heard of the convergent desktop (or simply convergence) it is the idea currently being chased by both Microsoft and Canonical (the company behind Ubuntu) whereby your phone/tablet can also be your desktop/workstation.  Sometimes this is associated with a seamless user experience that “transcends” both use cases (i.e. is the same environment on both platforms) but more often is based on some kind of modal shift when device size changes.  So for Windows 8, it become more Windows 8’y when on a phone, but feels a little more like Windows 7 when on a 22″ monitor with mouse.

Google is, of course, more concerned with turning everything into an extension of the web via Chrome and/or Android.  This means that they ultimately don’t care if it is a desktop or a phone running applications; as long as the data is stored in their cloud or provided by one of their services.  So what is Apple’s strategy concerning convergence?  Ahhh, now you get to the meat of the problem.

Apple, always laser focused on user experience, figured out a while ago that convergence SUCKS.  It really really does and here is a brief explanation why.

A great desktop experience is going to be focused on use cases where people are going to use desktop applications.  I call these users “creators” because they primarily use their computers for creative endeavors.  Think software development, editing photos, writing books, mixing music,  making spreadsheets, etc.

In this vein, the tools for creating are centered around the ability to produce new material.  Keyboards are spectacular input devices for creators.  I can type faster than I can write. Even though my ultra-book has a touchscreen, I never use it because my ten fingers are faster for creating things that a single pointing finger is.  When a fine grain control inside a two dimensional canvas is needed, a mouse is significantly better than either a touch screen or a touch pad.

A great tablet experience is going to be focused on use cases where people are not going to be creating.  I call these users “consumers”.  When using my tablet I am almost solely relegated to the role of consuming information.  Reading emails, watching Netflix, looking up receipts on Google, etc.  Consuming requires less functionality than production and added interface utilities for these edge usage cases would just take away from the user experience.

Now obviously most users spend some time during the day being both a consumer and a creator.  This is not a statement of the value of how a user uses their technology but an implicit realization that different use cases should be centered around how best to actually use their system.

It is hard to make a really functional sports car that can also be a useful pickup truck.  Trying to make one into the other generally causes you to have a tool that is good at neither.

My Creed

Over the course of the last couple years of I have been putting more thought into some of the core beliefs I hold about things other than faith or family.  How do I see the world and how does such beliefs affect my decisions and opportunities.  Piece by piece I have been writing these down and although I am certainly NOT done, have decided it is time to actually “say” them out loud.

I believe in actions and distrust intentions.  Every man believes in the cause of his behavior even when that behavior brings about pain and suffering.  Those who created socialism believes they were bringing about an egalitarian utopia and inquisitors believed they were saving the souls of men.

Concentrated power is not rendered harmless by the good intentions of those who create it. –Milton Friedman

The evil that is in the world almost always comes of ignorance, and good intentions may do as much harm as malevolence if they lack understanding. –Albert Camus

The logical corollary to my first belief is that I believe that the ends almost never justify the means.  Partly because, I believe that there is no ultimate good that springs magically from a “necessary” string of injustices and evil.  But also because we become what we do and our actions ultimately sculpt us into the object of our behavior.

…let a prince have the credit of conquering and holding his state, the means will always be considered honest, and he will be praised by everybody because the vulgar are always taken by what a thing seems to be and by what comes of it; and in the world there are only the vulgar, for the few find a place there only when the many have no ground to rest on.  –Niccolò Machiavelli

I believe those who desire to “throw away and start from scratch” dramatically underestimates the complexity of a given problem.  Real change happens through evolution over time, through trail, through error, and through the accumulated power of experience to reinforce decisions.  Throwing away history for no reason other than frustration with having to deal with it, most often causes one to repeat it.

It’s important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time. First of all, you probably don’t even have the same programming team that worked on version one, so you don’t actually have “more experience”. You’re just going to make most of the old mistakes again, and introduce some new problems that weren’t in the original… –Joel Spolsky

I believe people are most truly defined by the parts of ourselves that we say NO to.  I don’t drink, I don’t borrow money, I almost never drive a car, and I won’t have sex until I am married, say more about a person (good or bad) than the 10,000 things everybody does or everybody wants to do. Saying yes implies we are like everyone else, that you capitulate to the will of society.  Saying no is self sacrifice and a dramatic statement of individuality.

Be who you are and say what you feel, because those who mind don’t matter, and those who matter don’t mind.  –Bernard M. Baruch

If then follows that I believe great acts take great sacrifice and the only sacrifice this is truly great is self sacrifice.  While it may sometimes be necessary to force others to sacrifice, there is never anything admirable about it.  No man should be held in esteem for giving something that he took from someone else.  Sacrifice is not sacrifice when forced upon.

A man who was completely innocent, offered himself as a sacrifice for the good of others, including his enemies, and became the ransom of the world. It was a perfect act. –Mahatma Gandhi

The really important kind of freedom involves attention, and awareness, and discipline, and effort, and being able truly to care about other people and to sacrifice for them, over and over, in myriad petty little unsexy ways, every day. –David Foster Wallace

I believe, and can categorically prove, that the free market is the greatest vehicle for eradicating poverty, hunger, and disease that has ever existed.  Nothing, no government program, no charity organization, no religious denomination has come anywhere close to the success that the free market and capitalism has at improving the corporeal lives of the human race.

Commerce [and] entrepreneurial capitalism take more people out of poverty than aid. We need Africa to become an economic powerhouse. –Bono

It is not from the benevolence of the butcher, the brewer, or the baker that we expect our dinner, but from their regard to their own interest. –Adam Smith

This is how the world end

I have a family member who recently said to me that if I posted pictures of them on Facebook, they would stop speaking to me.  This, entirely understandable, concern stems from their conscious concern that personnel information collection by large companies has a tendency to be abused.  Once you have surrender your privacy it is nearly impossible to get back.

What made the conversation stand out to me wasn’t their “fear” of business; but that this particular family member is one that inherently trusts government to solve this (and many other) issues.  There seems to be a fundamental disconnect between the perceived danger from business and the real danger of government.

Coca-cola cannot force my soda consumption (or limit the size of my cup.)  Google cannot regulate which sites I am allowed to visit, or what the content of those sites can be.  Phillip-Morris is entirely unable to limit the extent of my free speech by defining who is, or is not, a “legitimate” reporter.  And while Facebook may want to use your personnel information to sell you crap, or profile you activities; it doesn’t have the ability levy punitive damages, listen in on any phone conversation you have ever had, or target you with a drone strike.

One’s personnel privacy should certainly be protracted, but a healthy fear of the abuse of capitalism should always be tempered with a real fear of the only institution that has the ability to use force against us.  An institution that has demonstrated time and time again that it abuses that force to the detriment of both our privacy and our liberty.

The evils which have never happened

I found this stupidly useful shortcut inside of cron.  Generally crontab entries look like this:

* * * * *  username dosomething

With the * corresponding to minute, hour day of month, month, day of week.  But cron also has a couple shortcuts that are useful for general system maintenance.  Specifically @reboot which replaces  ALL of the “*”‘s and will be run after each system reboot.  There is also a system wide directory under  /etc called cron.d which is wonderfully useful for package management because you can drop custom package cron jobs into the directory without directly editing the crontab file.

All of this information is well know among the Unix community as a whole and fairly well mentioned is about 10,000 different places.  Here is something that isn’t quite as easy to find but still ends up being pretty important…

File entries in cron.d cannot have a period in their name…. no file extension… no period separator… NOTHING… otherwise cron simply doesn’t run the file!!!

I just about killed myself debugging this one over the last two days. </crying>  Now if you will excuse me, I am going to drink my body weight in beer.

Frittered away by detail

My first reading of the http 2.0 draft proposal left me with the feeling that they were trying to address issues that are not really problems.  At least, not a problem unless you happen to be someone like Google or Cisco.  Part of what has made the internet so ubiquitous is the easy ability for people to see and understand the basic underpinnings of how everything works.  For example, I challenge you to find a developer who didn’t start their career by right-click -> View Source’ing a website. This is the very same reason that exceedingly popular web specifications are commonly NOT industry specifications. For example something like XML is so obnoxiously complex and excessive that it often seems like the only companies using (and making money) of such technologies are large institutional players like Oracle and IBM.  Instead start-ups, innovation creators, and entrepreneur continually choose things like JSON because it is simple and easy to make robust.  Honestly, I don’t know a single developer using AJAX that actually uses XML (the X in AJAX) because all it does is add size and complexity.

If you get the chance please read this great post by The Accidental Businessman.  It does a good job of explaining some of the issues I see in http 2.0 and what we are loosing by making a more “computer focused” internet.

That Time Does Not Reveal

A democracy cannot exist as a permanent form of government. It can only exist until the majority discovers it can vote itself largess out of the public treasury. After that, the majority always votes for the candidate promising the most benefits with the result the democracy collapses because of the loose fiscal policy ensuing, always to be followed by a dictatorship, then a monarchy.

Between the NSA, the IRS, the AP, and the US Embassy, it is looking like a tough time for Democracy.  Unfortunately any current scandal is simply an extension of a government refocused towards a propensity to redact the freedoms people before us fought to give our children.  At this point can Syria turn out any better than Afghanistan?  Than Iraq?  For the last 80+ years, slowly, steadily, we have been building a government that can solve all our problems; we cannot act surprised that it tries to.

For those that know history, it is hard to not see what is happening as the slow silent exhale of the last breath of democracy.

The America of my time line is a laboratory example of what can happen to democracies, what has eventually happened to all perfect democracies throughout all histories. A perfect democracy, a ‘warm body’ democracy in which every adult may vote and all votes count equally, has no internal feedback for self-correction. It depends solely on the wisdom and self-restraint of citizens… which is opposed by the folly and lack of self-restraint of other citizens. What is supposed to happen in a democracy is that each sovereign citizen will always vote in the public interest for the safety and welfare of all. But what does happen is that he votes his own self-interest as he sees it… which for the majority translates as ‘Bread and Circuses.’

‘Bread and Circuses’ is the cancer of democracy, the fatal disease for which there is no cure.

We have been betrayed by both

I know this is basically a rant but, there seems to be a fundamental disconnect between people’s understanding of economics and reality.

Just to be absolutely clear, undue political influence by corporations is directly related to the power, breadth, and size of the government they work to influence. This means that, by its very nature, the enlargement (and especially centralization) of government works as an agent for the expansion of corporate influence and NOT, as many progressives hope, a counterbalance to it.

Corporatism is a symptom of the problem, not the cause. Any regulatory attempt to alleviate the pain caused by that symptom only acts, ultimately, to aggravate the problem.  While attention and public outcry may temporarily hide the influence of business; capital never looses attention and will quickly take over when politics has moved on.

Before some conservatives start yelling hallelujah from the roof-tops, understand the implications of this.  The opposite of supporting government is NOT support business because being pro business is effectually the same as being pro government. Ultimately business will work to extend its competitive advantage at the cost of consumer independence and there is no better way to extend a business advantage than to legislate one.  Remember, every monopoly throughout history was created by an act of government legislated preference.

The only solution to corporatism and socialism is capitalism, a real free market.  The free market is not just the only way to limit government influence, but it is the only way to limit corporate influence as well.

Geniuses remove it

I am starting to believe that in the Poettering household, simplicity was considered a cancer that must be tortured and destroyed with extreme vigor.  Systemd is quickly becoming thoroughly ubiquitous in Linux systems everywhere.  While Systemd tries to do everything for everybody (it is supposed to eventually replace sysvinit, chkconfig, automount, logging, cron, and a whole host of other things) ultimately the primary intent of Systemd is to speed up the boot process.  It does this job exceedingly well.  This concern about boot time is a direct response to the speed of which other Unix based OSes boot and reference material even explicitly points to Apple as a reference.

That said, sysvinit did have one thing going for it… IT WAS SIMPLE.  Heck, just getting a list of available services is a pain in the ass now and generally requires looking up documentation just to remember how to do it.  Simple actions in systemd are annoyingly complex with a cheat sheet that looks like it was written by a Perl regular expression programmer on acid.  I will be the first to admit that systemd-analyze plot is pretty awesome and, considering that systemd was designed by the same guy who created PulseAudio, we should probably be thankful that it isn’t even MORE complex.  But still, something just seems wrong about using an all-for-everything program on an OS that was designed to be simple and efficient.

A Part of the Maine

Even if I knew that tomorrow the world would go to pieces, I would still plant my apple tree.
-Martin Luther

While checking one of my WordPress sites I noticed an update for one of my favorite plug-ins, The Events Calendar.  Everything was broken after the update so I when to the support site to get things running.  Long story short, I got the site working again based on the support recommendations they had but regardless, some functionality was still missing.  The reason for this was related to a huge shift in the underlying focus of the WordPress post design.

the issue you state about other plugins integrating has more to do with WordPress being in a period of flux between having everything be either posts or in its own table and authors fully adopting custom post types. The core WordPress team is placing a heavy emphasis on CPTs and most major plugin authors are moving over… As more and more plugins make the move, the integration you want to see will return in a much more powerful and controlled manner.
–Shane Pearlman

The Events Calendar has converted over to a new design method called Custom Post Types (CPT) whereby individual modules can define their own post “types” instead of adding functionality to default post type already available in WordPress.

This drew my attention because the new version of The Event Calendar provides a “Professional” version, with more functionality, that can be purchased. I haven’t actually seen much software in the WordPress universe that followed this model (and I don’t believe The Event Calendar did until this new update occurred.)

My concerns were confirmed with some web searching:

Custom post types aren’t really meant for that use […] Custom post types are great for things that are more or less catalogued: products (in an e-commerce site), listings for a real estate site, etc. For regular content creation as described [by Chris], you can already do [that] by using custom taxonomies and/or stylesheets to make post templates.

Some part of the WordPress team has been pushing these these CPT’s and it looks like they have been doing it primarily to capitalize on the success of a Free Software program. I suspect that most developers who are interested in focusing on this kind of feature set are probably not Free Software developers but are, instead, quasi-open source developers running Macs who would be making iPhone apps if they knew something more useful than PHP.

This kind of monetizing has become massively popular with the success of Apple’s App Store and Google’s Market. A significant number of developers who have built very popular software stacks on top of Open Source applications are looking for ways to turn that work into cash flow, and I don’t blame them. That said…

…I really don’t like something about it. Maybe it is because I left a “free” blog application because it stopped being free (I learned a valuable lesson between Free Software and free software and I still have a bad taste in my mouth about it.) Maybe it is because I have actually contributed work to a number of WordPress plug-ins and would NOT have done so if I had known my efforts were going to help someone else make money. Maybe it is because the new version of The Events Calendar actually broke a lot of functionality in the name of changing their platform model to a for-profit design and now I have to use an unsupported version of the software until I find another or I write one myself.

Whatever the reason, Open Source software is loosing something of itself if this is actually the intent of their focus, and we are all the less because of it.

I am sure the grapes are sour

I am just documenting a couple Firefox settings that need to be fixed.  These settings can be modified in the about:config section of the browser.  Why Firefox seems to think they need to copy everything Chrome and Safari do is beyond me but they keep changing things anyway:

browser.tabs.insertRelatedAfterCurrent, false -Changes the default behavior in FF4 to that of FF3.6 when it comes to opening tabs. After the change tabs will open at the END of the tab bar as GOD intended them to.

browser.tabs.closeButtons;3 – Places the close button at the end of the tab bar by itself instead of on each individual tab.  When clicking the close button the currently viewable tab will be closed.  This is a simple user interface standard that Firefox has botched-up back in version 3.  Close buttons per tab break good UI design because the tabs shift as they close and the close icons (when on the tabs) are NEVER in the same place.  Additionally, it is simply easier to close multiple tabs if you don’t have to move your mouse to close them.