Reading at Night

Posted on February 25, 2015

A couple years ago I started reading classic books to my boys before bedtime. We started with The Adventures of Tom Sawyer, then Adventures of Huckleberry Finn, followed unsuccessfully by Twenty Thousand Leagues Under the Sea [1]. Next, we read one of my all time favorite books, Treasure Island, the classic pirate story from which nearly all other tellings of pirates are cribbed. We might go back and read that one again someday.

We just finished The Call of the Wild and decided to follow it up with White Fang. Jack London was a brilliant writer; he brings his audience with him to the harsh northern lands, where the law of club and fang is the only law. I’m looking forward to White Fang. So far we’ve only read the first chapter, but it starts out strong with two men, pursued by wolves, are returning the body of a third man from the snowy wilderness with a sled and six dogs.

Besides the books I read with the kids, I have a few in progress of my own. I’m reading through The Maze Runner, mainly so I can talk it over with my younger daughter. I’m also reading The Rough Riders, the story of Theodore Roosevelt’s time in the calvary during the Spanish-American War. Next on the list is Hateship, Friendship, Courtship, Loveship, Marriage by Alice Munro. I picked this one up at the Half Price Bookstore because Munro’s name is on a list of books, and the back cover looked interesting enough.

I also have The Martian by Andy Weir, based on recommendation by The Incomparable. Finally, I plan on finishing Moby Dick before summer, the Herman Melville classic that’s been on my mind to read for years. After finishing the four other books on my plate, I’m going to give that one my full attention.

I’m always looking for new book recommendations. I just add them to the list as they come in. I don’t expect I’ll ever actually finish the list, it seems to grow faster than I can read, which is exactly what I want. I imagine myself as an old man someday, surrounded by books. [2] Sometimes the books are fantastic, sometimes they are duds, but they always enrich my life in one way or another.

I consider myself a lifelong learner. Reading is simply another aspect of my desire to constantly better myself.

  1. I’m a bit mystified by people who enjoy this book. My boys and I found it quite boring, and I wound up skipping large sections devoted to describing, in detail, the fish and other underwater life.  ↩

  2. Paper books. None of that ebook business. I like to own my books, and I’d rather they not run out of batteries.  ↩

The Long View

Posted on January 16, 2015

Computers as tools for creation are unique in that they change and evolve over time as software is updated. A hammer that you buy today can reasonably be expected to perform the same in twenty years, assuming that the tool is taken care of properly. Similarly, the bench that you build with the hammer will still be good to sit on, no matter what happens to the hammer that built it. Not so with computers and software. Not only do the tools used to create change over time and perform in sometimes unexpected ways, the artifacts of our creation are often subject to artificial limitation on use. How ridiculous would it be for a bench to only be able to be sat in if you were holding the hammer you used to build it? And yet, this is the arrangement we agree to with our software more often than not.

Creating documents with Word or Pages, storing precious family photographs in iPhoto, or locking your research away in OneNote or Evernote are all examples of a short-sighted view of technology. They work well for the near term, but taking the long view of technology requires a consideration of the nature of the format your data is stored in.

The amount one should care about the format their data is stored in and their access to their data is in direct proportion to how much one cares about the data. Proprietary file formats come with a built-in expiration date; unlike a gallon of milk though, you don’t get to know when your software’s expiration date is. Sooner or later, whoever controls that format will update it, and eventually leave your important data irretrievable. Are you sure you’ll be able to open that Pages document in twenty years? You may not be able to open a Pages document from three years ago.

Some of this argument may sound familiar to the open source community. Control and longevity of personal computing systems is at the heart of much of what open source stands for. What open source enthusiasts often miss is that the method of manipulating the data matters far less in the long run than ensuring that your data remains in a format that makes the best effort to be accessible in twenty, thirty, or a hundred years from now. That means not locking your important data in proprietary formats that may go by the wayside, but it also means using the best tools for the job at hand.

Using commercial software is perfectly acceptable as long as the tools either offer export of your data to an open format, or work directly with the open format[1]. For writing, I prefer plain text, HTML, and PDF. Occasionally, I may revert back to LaTeX if necessary to create a complicated document intended to be printed, but the need for that is less and less as time goes on. My files are organized in a filesystem, using logical file names and a simple folder hierarchy.

No company is guaranteed to be around forever. Nor are they guaranteed to always keep your best interests at heart. However, as long as there is a way to easily export your data to an open format, it makes sense to use the best tools available. In my opinion, the best computer on the market is a MacBook Pro, and the best operating system is OS X. OS X offers the best combination of usability, aesthetics, and power of any system currently available.

Much of my opinion on this matter comes from my own experience. Much of it was influenced by the writings of Dr. Drang and his series on text files, as well as Seth Brown and David Sparks. If you’d like to read more from people that have been bitten by proprietary formats and/or poor organizational methods, here’s a weekends reading list.

Dr. Drang

Seth Brown

David Sparks

The new and shiny always looks wonderful when new, and shiny, but you don’t really get your value from investment until the shine wears off.

  1. BBEdit is the best example of an outstanding commercial product that works directly with an open format: plain text.  ↩

The Best of What's Around

Posted on January 05, 2015

Marco struck a nerve with his latest post lamenting the declining quality of Apple software. The post was picked up by “analysts” and debated on television by a panel of “experts”. While I understand the frustrations of those affected by more serious bugs than I’ve seen, I can’t help but wonder if they really understand what the alternatives are like.

This whole débâcle reminded me of 2006 when Mark Pilgrim, Cory Doctoro, and Tim Brey left the Mac for Linux. Some of the same reasons were cited then, although for these three I think the openness of Linux meant more than software quality. But, as Daniel Jalkut pointed out, Apple’s software has always had bugs, and people have always been upset about it. It’s easy to look at the past through rose-colored glasses, but the truth is that there were some pretty terrible releases in the past.

We do seem to be at a low point in the ebb and flow of Cupertino software. I use Mail, Safari, Calendar, and iTunes daily, and from time to time I see bugs here and there. My personal pet peeve is that the Dock no longer automatically minimizes when I move a window to full screen mode. Instead, it just obstructs the bottom part of the window. An annoyance, to be sure, but it’s not the end of the world.

Overall Yosemite has been a fantastic release for me. I enjoy the new aesthetic, although I think the transparency could be toned down a bit, and the apps I use daily work great. I haven’t had the kind of problem that forces a reboot once a week, or to see iTunes crash once a day. I’m not saying it doesn’t happen, clearly it does, and I’m just one data point, but I just don’t see it.

Apple’s apps aren’t what make the platform great anyway. What makes the Apple ecosystem a great place to work and play is the abundance of very high quality third party apps. OmniGraffle, DEVONthink, Day One, Soulver, Quicksilver, TextExpander, Hazel, the list goes on. It was Apple’s platform and, more importantly, their taste, which encouraged the developers to build their absolute best. No other platform has this. I know, I’ve looked.

Linux is a mess from top to bottom. Windows is a hollow corporate shell trying to be relevant again. FreeBSD? Not a chance. Yes, it’s important to point out the flaws in the Mac and iOS platforms, and yes it’s good to remind Apple to stay on the path of light, but before we all decide to download the latest Ubuntu iso, let’s also take a moment to appreciate how fantastic these machines and their software really are. In comparison, nothing else even comes close.

PS. Apple, fix your bugs. Seriously, some of this is just embarrassing.

Marco and the Functional High Ground

Posted on January 04, 2015

Marco Arment takes Apple to task over the decline in their software.

Apple has completely lost the functional high ground. “It just works” was never completely true, but I don’t think the list of qualifiers and asterisks has ever been longer. We now need to treat Apple’s OS and application releases with the same extreme skepticism and trepidation that conservative Windows IT departments employ.

Jump to Post

The canary in the coal mine?

Adopting BBEdit Scripts for Vim

Posted on January 04, 2015

In addition to my experiments with the design of this site, I was also testing out BBEdit as my main writing and programming tool. BBEdit didn’t stick, but I did like some of the scripting the good Dr. Drang has done, and wanted to adopt a few for MacVim. I started with three of his scripts today, one to paste and select text in one command, one to convert a tab-separated table to Markdown, and another to even up the Markdown table so it’s easier to read in plain text.

Since Dr. Drang’s scripts read from stdin and output to stdout[1], converting them to Vim was very easy, once I found the right syntax for my vimrc file[2]. My first thought was that I would be able to copy the same syntax I use for calling the outstanding formd by Seth Brown, but formd is meant to parse the entire text of the file, not just the selection. Eventually, I found my answer on StackOverflow.

My vimrc file now has the following lines:

" Even up a markdown table
vmap <leader>mn <esc>:'<,'>!~/Unix/bin/Normalize-Tables.py<CR>

" Convert a tab separated tabel to a markdown table
vmap <leader>mt <esc>:'<,'>!~/Unix/bin/Tabs-to-Markdown-Tables.pl<CR>

The first word, vmap, maps the shortcut to visual selections in Vim. Next, <leader>mn creates the shortcuts ,mn for Normalize-Tables.py and ,mt for Tabs-to-Markdown-Tables.pl.

The next part <esc>:'<,'> grabs the selection and passes it to the command, which starts with an exclamation point[3] and ends with <CR>, which stands for “Carriage Return”.

I need to spend some time in my vimrc file to sort out the naming convention for all the key maps, but for now, I’m thinking “,mn” for “markdown normalize”, and “,mt” for “markdown from tabs”.

For the third part I’m borrowing from Dr. Drang, I wanted to paste and select text at the same time. Once again I had to turn to StackOverflow, and now have this mapped in vimrc:

nnoremap <leader>sp :set paste<CR>:put  *<CR>:set nopaste<CR> <Bar> `[v`]

The first part sets the mapping, ,sp, which I’m thinking of as “select paste”, and then pastes the text from the OS X system clipboard. Next, the <Bar> entry strings two mappings together in Vim. Finally, \[v`]` performs the selection on the last change to the text.

So, now I can take text from Excel like this:

Left align  Center align    Right align
This    This    This
column  column  column
will    will    will
be  be  be
left    center  right
aligned aligned aligned

paste and select it with ,sp, followed by ,mt to convert the table to Markdown.

|Left align|Center align|Right align|

and finally ,mn to even the table up nicely:

| Left align | Center align | Right align |
| This       | This        | This         |
| column     | column      | column       |
| will       | will        | will         |
| be         | be          | be           |
| left       | center      | right        |
| aligned    | aligned     | aligned      |

As always, my thanks to the good Doctor for scripts and inspiration.

  1. As God intended.  ↩

  2. Someday, someone will create the perfect app for managing your vimrc file, but today is not that day.  ↩

  3. Or a bang, if you’re an old Unix guy.  ↩

All Mine

Posted on January 03, 2015

I’ve been experimenting with the design of this site for the past couple weeks. First, I used a default Jekyll template, slightly modified to my liking. Next, I tried out a very nice theme that made good use of hero images and included nice typography. I changed the name of the site to “INTERACT”, and briefly considered leaving it at that. Unfortunately, the more I looked at the site the more it looked like it belonged to someone else.

Something reminded me of Merlin Mann and John Gruber’s South By Southwest panel where John said he wanted to own every pixel of his site, from the top left to the bottom right. I agree. This little part of the Internet has my name on it, it’s jonathanbuys.com, and I want to be able to point at this site and say “I built this”.

It’s not much, I’m not a web designer. I’ve tried to optimize the site to make it easy to read, and easy to port between hosting companies. I’m back to using my own Python script for generating the site, so there might be a few inconsistencies or characters that are missing or not rendered correctly. I’m going to work on that.

In the meantime, once again, I own every pixel of this site. From the top left, to the bottom right.

Cellular Options

Posted on January 02, 2015

I pulled into the gas station on my way home after a long day, picked up my phone in my left hand, intending to put it in my pocket, and opened the door of my pickup. While pushing the door of the truck open, the phone slipped out of my hand and fell face down on the pavement, shattering the screen.

I’m not the type who can carry around a broken phone for months, so the next day I called US Cellular to see what my options were. I was one year into a two year contract, so the prospects of actually getting anything out of my carrier were grim. I was right. The support person on the phone said that since I didn’t opt into the US Cellular insurance program, I either have to look into having the phone fixed, or buy a new phone at full price. Turns out, there are several options.

Buying a new phone at full price is the most expensive up front, and the option where I received conflicting information from the support people. Since the only iPhone 5C carried by US Cellular is the 8GB model (which should be an embarrassment for them and Apple), I was looking to buy a 5S, or possibly a 6. The 5S retails for $549, and the 6 for $650, but when considering the benefits of paying for the phone up front I became confused. The phone is not of much use without the cellular contract to go with it, and US Cellular charges a $40 “connection fee” for each line attached to my $70 per month plan. My question to US Cellular was what is the benefit from buying my phone up front if I still have to pay the connection fee?

Faced with a $650 charge for a new phone, I pulled the ace from my sleeve and said the magic words: “I think I might cancel my account.” The cancellation fee is $350, which some carriers might pay for you, which would bring my out of pocket costs down to $200, or maybe $100 to get into a new phone. Albeit with a new carrier and a complicated situation with the rest of my family still on the old plan. I didn’t think it was a serious option, but mentioning the cancellation was enough to get me pushed through to another level of support, who was happy to move my upgrade eligibility up an entire year to keep me with the company.

So, now my options were a little better. I could buy a new phone at full price, buy a new phone at the discounted rate, I could finance the full price of the phone over two years (which is a new option I wasn’t aware of before), or I could keep my phone and fix the screen.

The question remained though, why would I ever buy a new phone at full price? The source of my confusion centered around the $40 connection fee. One representative told me that the fee was there so the company could recoup the cost of the subsidized phone. If so, they are making a healthy profit off of each phone sold; $40 per month over two years comes out to $960. Another representative told me that no matter what, if I owned my phone or if I bought it at a discounted price, I had to pay the connection fee. The only way not to pay the fee was to finance the phone.

If I financed the phone for two years they would wave the fee, but in place of the fee I would be paying $32 per month on an interest free twenty month loan. Also, financing the phone would make me eligible to upgrade to a new line every eighteen months, if I was willing to pay the remainder of the phone off, or trade in the phone for a new model. This seemed interesting, but it also seemed like a way for me to remain in debt of one kind or another continuously. Even though the total paid out seemed to make more sense over time, financing did not appeal to me.

So, I decided, grudgingly, to buy a new phone at the discounted rate. I found the nearest US Cellular store, and went in to buy an iPhone 5S. While I was talking to the representative I asked her again about the connection fee. This was at least the third time I’d talked to someone at US Cellular about the fee, and this time the answer was different. If you own your phone, and you are not under contract, there is no connection fee. This changed things for me. If there was no fee for my phone that I had now, the best course of action I could take would be to fix the phone. I told her about my change in plans, and the conflicting information I’d gathered. To make her point she removed the fee from my account while I was sitting there.

I left the store without a new phone, went back to my desk, and ordered a $35 replacement screen and toolkit from Amazon. In two days the screen arrived, and I spent an hour and a half replacing it. Now my white iPhone 5C has a white face on it, and a black button, giving the phone some character. Also, I’m not under contract with US Cellular. I think for my next phone, whenever that happens to be, I’ll be paying full price for it, and staying out of contract lock-in from here on out.

The Million Monkeys

Posted on January 01, 2015

Computers, the bicycles for the mind, the idea engines; when we work at a computer we open the door to limitless avenues of creativity. Cracking open the lid of a laptop can be the first step to writing a novel, starting a new career, or getting in touch with long lost friends. But, when the machines misbehave, when they don’t perform as expected or present their interface in ways that are difficult or impossible to decipher, even the most mundane of tasks become a chore. The possibilities for the future melt away under the perception that computers are difficult and unreliable, our untrustworthy opponent to getting things done.

I use a Mac because every time I need it it works, and it has a consistent interaction language. That is, the main tools all recognize a similar set of common keyboard and mouse commands. Cut, copy, paste, click & drag, swipe to go back, etc… in a well designed environment each application operates nearly indistinguishably as part of the whole. The Mac is everything I wanted from a Linux or BSD desktop: all the power of Unix under the hood, and a well designed GUI on top of it. As great as I’ve always thought open source is, after waiting for fifteen years I think it’s safe to say that the year of the Linux desktop is never going to happen.

I remember when I first learned about OS X and the FreeBSD underpinnings. I was overseas, stationed in England in the Navy. I spent my days building firewalls and web servers with OpenBSD, and my nights loading every version of Linux I could get my hands on into this beige IBM PC. I resolved that as soon as I got back to the states I’d get a Mac. At the time, desktop Linux was rough, I mean really rough. Most of the time the modem wouldn’t work, there was no broadband, some of the devices (like the sound card) would work, some wouldn’t. You might be able to get native resolution on your monitor, you might not. You could download and compile a new driver for your CD player to listen to music, but that might drop you into dependency hell.

Things have cleaned up quite a bit in the open source world since then. Package managers like yum and apt make installing applications a breeze, while automatically handing dependency issues. However, the overall quality of the systems still can’t compare to OS X in either application fit and finish, or in system reliability. I challenge anyone to come up with a desktop application that debuted first on the Linux desktop, I mean something that is truly original happening first on Linux. That’s simply not where the innovation in the field is happening.

I should stop for a moment to say that I believe open source takes two forms: consumer code and server. Server side open source has been advancing at a breakneck speed, pushed by major influx of talent and money by big companies like Google and Amazon, as well as entrepreneurs building on Linux to deploy their applications. The best tools for the server are being built for open source, the best software for the consumer is being built by independent Mac developers.

Years ago some thought that open source would eventually take over everything, we were always just one release away from Linux being great. After all, the open source desktop had thousands of developers all over the world, all donating their time and talent for free, because they believed in what they were doing. What has actually happened is that the Linux desktop has become just good enough for some limited day to day use in specific scenarios. Why haven’t the thousands of programmers been able to surpass OS X after all these years? Why isn’t the Mac playing catch up to PCs running Ubuntu, instead of the other way around?

Part of it has to do with how Apple controls both the hardware and the software of their systems. Part of it has to do with how Apple has been able to pay good wages to talented developers for a very long time. Part of it has to do with the hierarchy of designers within the company, all working towards a common goal and an overarching theme. Linux has thousands of developers, but it doesn’t have a single unified vision for what the system should be. Instead, they have massively distributed groups, each working individually on their own component, each defining how their part should work.

Linux has talented developers, and pockets of designers, but until they are all under one roof they won’t be able to compete with Apple. Apple has nearly 40 years of experience developing personal computers, that’s tough to compete with for anyone.

As for Linux? A million monkeys typing endlessly may someday create the entire works of Shakespeare, but in the meantime, they are going to write a lot of junk.

Merry Christmas

Posted on December 24, 2014

It’s nearly midnight on Christmas Eve. I’m the only one awake, perhaps with the exception of my dog, Oliver, although as the minutes tick by I’m less sure of him. Tomorrow morning the kids will wake us up earlier than we’d like, and we will tear into the presents, eat a wonderful breakfast, and have a fantastic day enjoying each others company.

Merry Christmas everyone, and have a happy new year.


Copyright © 2007-2015 Jonathan Buys

ISSN: 2161-8119