jb…

The Apple I Knew

Posted on September 16, 2014

As usual, John Gruber has the best take on the Apple Watch that I’ve read, and one sentence in particular stood out.

Rather, I think Apple Watch is the first product from an Apple that has outgrown the computer industry.

The Apple that is releasing that watch is not the same scrappy underdog from decades past. This is the new Apple, a massive powerhouse making the best products in the industries they enter. Computers, phones, tablets, and now, watches. This isn’t the same Apple that advertised their new operating system to Unix geeks.

Or, is it?

I don’t think the Apple Watch is a product designed for me, and that’s fine. I’m happy to see Apple grow and mature, as long as we keep seeing hints that they are still the same company with the same values, simply expressed in different ways. The Apple in the Unix ad above valued simplicity, beauty, power, and obsessive attention to detail. When I look at that watch I see the expression of those values in a new product.

The Unix ad above drew me to the Mac, and I’ve stayed because of the community. The community came together because we all shared the values we saw expressed in the products Apple made, and in their own statements. There are always going to be a few missteps along the way, some ham-handed attempts, and inelegant solutions. There will be times when Apple does things that are embarrassing, or just flat out wrong, but they’ve been doing that all along.

Sometimes they don’t pay quite close enough attention in their betas, which worries us:

Why am I worried about iOS 8? I keep seeing things like this: twitter.com/bradleychamber…
Dr. Drang (@drdrang) Sep 16 2014 8:50 AM

Sometimes we see trends with their software quality that worry us:

The sad truth is that EVERYONE is rushing software out the door because of Apple product releases.

Not a sustainable activity for ANYONE…

Craig Hockenberry (@chockenberry) Sep 15 2014 2:16 PM

But, really, these are things we’ve been seeing all along. In fact, it used to be common knowledge that a new OS X release would not be stable till at least the 10.x.3 release.

One of the endearing qualities of Apple is that their grasp almost always exceeds their reach. They are daring greatly, aspiring to do things that the tech industry simply doesn’t understand, and that they may or may not be able to pull off. Stretching a little further, a little wider, straining at times to accomplish their goal.

I think Gruber is right, he normally is, and that the Apple Watch will sell well. How the Mac, OS X, and the rest of the ecosystem evolve along with Apple will be exciting to watch.

Home Built Software and Systems

Posted on September 12, 2014

GigaOm is running an article written by Ralph Dangelmaier, the CEO of BlueSnap, claiming “We’ve reached the end of ‘build it yourself’ software.” It’s a nice thought, along the same lines as “We’ve reached the end of ‘host it yourself hardware’,” and “We’ve reached the end of you needing anything other than what someone else has already developed.” In the past fourteen years I’ve been in the industry though, the systems I’ve seen run the best are the ones hosted on our own hardware running our own code. Off-the-shelf software can be great for certain situations, but if you are outsourcing a core function of your business, what kind of value are you really providing?

Admittedly, building your own software from scratch is too much for most. However, if you use the building blocks of open source correctly, you gain the best of both worlds. Functionality and flexibility.

Dangelmaier’s claims center around an odd story of a company nearly sixty years ago who started building entire houses using an assembly chain technique. The company could spit out up to thirty homes per day; thirty identical homes. I’m sure they were affordable at the time, what I wonder is how many of those homes are still standing today. When applying that same thought process to software systems, the concept of being able to slightly customize assembly line software starts to break down as soon as the needs of the business start bumping up against the upper limits of the purchased software.

If you never need to run that Windows only application on anything other than a single server, you might be fine. As soon as you need to expand that system to provide high availability, failover, or disaster recovery, things start to fall apart, and costs go through the roof. The initial pain of developing the software yourself is made up for later by having the flexibility to modernize and adapt your system to changing times.

I’ve recently started looking at building out my own system based on FreeBSD jails. I’ve had a fascination with what I call the beautiful system for years, I think it’s high time I stopped making prototypes and built something worthwhile.

A Technical Education

Posted on September 12, 2014

I didn’t grow up with computers. They just weren’t a common thing in Montana in the 80’s. When my family moved to Texas for two years during my sixth and seventh grades, one of my friends had one in her room that we would play Oregon Trail on, but otherwise it was unremarkable. With the exception of video games and VHS tapes, my childhood was very much like the childhoods of the generations before me. If I wanted to see a friend, I’d have to walk over to his house. If I wanted to send someone a letter, I had to sit down and write it out on paper, scratching out misspellings along the way, then folding it up, stuffing it in an envelope, licking a stamp on it, and dropping it in the mailbox. And then, I’d wait. Sometimes for weeks, sometimes for months. In the past twenty years however, our world has changed dramatically.

If my daughter wants to talk to someone, she pulls out her phone and sends a text. If she wants to send a longer message, she might, if pressed, sit down at her Mac and send an email. Then she waits five or ten minutes, tops, for a reply. More likely, during those ten minutes she’s sent a Facebook message and posted to Twitter. Computers and the Internet have changed how we interact with each other, and technology has improved faster than our culture and education system has been able to adapt to it.

What are these magic boxes that have intruded on our lives? How do they function? How can we best use them? How can we ensure that we become their master, and not the other way around? There are websites, games, and apps that have become very good at exploiting basic human psychology to extract our personal information, time, and money.

Education is the first and best defense against those who would use our ignorance against us. In the past twenty years, computers have barged their way into the spotlight of nearly every facet of our personal and professional lives, but they are not magic.

I’m starting a series of posts here where we are going to pull back the curtain and see that the wizard is, yet, just a man. We will examine the inner workings of the machine, the components that make up the whole. By the time we finish, you will be able to identify the basic hardware components of a computer and their function, explain what an operating system is and how the main options differ, have a basic understanding of what the Internet is and how it works, and make educated and informed choices about online services.

Reading this series won’t make you an expert on computers, but it is my goal to give you the basic knowledge required to operate computers confidently, and discuss the available options intelligently.

Look for weekly updates to A Technical Education right here.

Marked Down

Posted on September 04, 2014

If you really, really care about Markdown, Jeff Atwood of Coding Horror and Stack Exchange fame has a new project for you. Apparently, Jeff didn’t think Markdown’s original creator’s care of the code was quite up to snuff, and decided to build a new project to more accurately codify the syntax and implementation details. All good things, if, again, you really care about such details. If, however, you are using Markdown like the majority of us: to making writing on the web a bit easier, well, this all might go by unnoticed. At least, it probably would have if Jeff had named his project anything other than “Standard Markdown”.

Markdown has two parts. First, a very bare syntax that defines things like links, italics, and headings. Second, a small, but very clever perl script that parses the Markdown text and converts it into HTML markup. Over the years several other people have written their own parsers for Markdown text, which has led to a fantastic array of available editors and parsers for all platforms, which allows writers to concentrate on writing, and not get bogged down in the details of actually putting our text on the web. Jeff’s heartache seems to be that each of these parsers rendered HTML a bit differently. Gruber has no problem with that, and, for what it’s worth, neither do I, but it seems to bother Atwood quite a bit.

There is only one “standard” markdown, and it’s a perl script written in 2004, hosted at Daring Fireball. Everything else is a derivative work, and for Atwood to claim the name Standard Markdown is wrong. He did not create the syntax or the original parser, and that he is unsatisfied with the handling of the pair is immaterial. It doesn’t matter how he feels about it, he should name his project something else.

Gabe Weatherhead said it best on MacDrifter:

I actually don’t care all that much about whether there is a spec for Markdown. I use various aspects of the language all day every day. I use it on every computer I touch. That’s a statement against Jeff Atwood’s express motivation. I’ve never once cared about the project’s stewardship. I care that it is not complicated and it’s easy to read.

Gruber created something that he wanted to use, then put it out there for the world to use, and in the ten years since he last updated it, Markdown has become extremely popular. However, just because the idea became popular does not mean that anyone is entitled to demand anything more from the original creator. Markdown works for me every day, and I imagine it will continue to do so as long as perl works, no matter what the spec is.

Small Site Update

Posted on July 11, 2014

I’ve been publishing this site with Jekyll for several years. I’m not sure exactly when I switched over from Wordpress, but it’s long enough ago that I’ve forgotten when I started.[1] Over the past few weeks I’ve run into a few issues with Jekyll that have caused me to reevaluate if it was still the right choice for me. The short answer is no, the long answer is that this site is now published with my own Python script.

List of Grievances

Jekyll is popular enough with the geek crowd that there are probably reasonable solutions to everything listed below. However, that would assume that I’m reasonable, which I think we’ve established is not always the case. And besides, something Dr. Drang said the other day has been stuck in my head:

the great advantage of making your own software is that you can customize it to match your own idiosyncrasies.

Thus, 370 lines of Python. On to the motivation to move.

  • Dependencies

Strictly speaking, there are not that many Ruby dependencies for Jekyll, and the are all automatically installed when running gem install jekyll. To be able to compile the gems, you need to have either the full Xcode IDE installed, or at a minimum the Xcode command line tools. Not much, still more than I thought necessary to parse text and move files.

  • Lost Pages

One of the ways I used Jekyll was to build an internal site where I work. I use the site to keep coworkers updated with what I’m working on, but more importantly I use the site to publish reports. The reports are kept in a separate “/reports” directory under the site root, and Jekyll used to automatically compile the markdown to html in that directory along with the rest of the site. I’m not sure what happened, but at some point that stopped working, and when I rsync’d my site using the “–delete” flag, all my reports were gone. Luckily, I had a backup so I was able to quickly restore the reports, but once I realized what had happened I had to rethink my “modern living document”. [2] A process I was in the middle of when I encountered the next grievance.

  • Failure to Build Site

Jekyll failed to build my site last week because of a UTF–8 error; it was all I needed to start looking for something else. Apparently there was a special character in the title of one of my posts. Again, this wasn’t anything new, that post must have been built before because I wasn’t building anything new at the time. Something changed, I don’t know what, and troubleshooting this error led me down a rabbit hole of Ruby bugs I didn’t want to go down.

Options

I evaluated, and discarded, several options.

  • Wordpress.com
  • Self-Hosted Wordpress
  • Squarespace
  • Ghost
  • Hakyll
  • Hyde
  • Hugo

I briefly looked at a few others, but these were the ones that received the most thought.


  1. There was, of course, Paragraphs, but I’m content to let that go. Making peace with your past, learning from your mistakes, and moving on older and wiser is the only way to live in peace.  ↩

  2. My term for an internal, corporate blog. I maintain it as a way to avoid emailing Word documents and PowerPoint presentations to each other. When someone wants something like that from me, they get a link to an HTML document.  ↩

What it Does

Posted on June 10, 2014

Our relationship with technology has become unexpectedly skewed. I was just reading through Sid O’Neill’s recent article, Losing Apple, and found myself nodding along on several points, particularly here:

How did it come to this? Time was I loved poetry, literature, art, music, cheap wine and the smell of an old book. Now my spare moments are spent rubbing glass: from the latest $AAPL share price, to the wildest speculative mockup, to the newest analysis. Levels upon levels of inconsequential meandering in flat prose that I’ve rolled and wrapped myself in like a musty felt blanket till I almost forgot the taste of fresh air.

I have watched the WWDC, and I was excited when all the new fancy was revealed, but a couple of days later I found myself wondering what exactly I was so excited about. I tried to recall a specific feature that I was looking forward to and momentarily came up blank. The new language sounds great, but I don’t have time to learn a programming language right now, or to develop a new app. I’m genuinely excited about the new look and feel of Yosemite, but I’ll most likely be waiting till the Fall to install on my daily driver at work.

I’m excited for the people I know at Apple who have done such great work and have been a part of something so big. I’m also happy that the developers of many of my favorite third-party apps are excited about iOS 8 and Yosemite, because it means that the apps I use every day will continue to get better. Thinking back on watching the CraigNote, I was excited because it felt great to see our team winning, it felt great to be a part of something, even if I was just a small, insignificant part. Being part of the Apple community for the past ten years, it’s exciting to see what we believe in succeed.

But, what else? Why do we become so enthralled by these machines?

I believe that whenever we choose to align ourselves with a particular product, brand, or organization, we do so because what we perceive as their values or the values they claim line up with our own. In the case of “Apple and related technologies”, those values are simplicity, beauty, and technical excellence. What burns some of us out, like what I believe may be happening to O’Neill, is that we focus far too much on how those values are expressed in the products, and far too little on the actual usefulness we get from Apple’s investment. In other words, it’s what they do that defines them.

What we love about Apple products frees us to get real work done. That’s one of the most interesting differences between Apple and Android advertising. Android ads, particularly the older Droid ads focused on what the phone was. Apple’s ads focus on what the device allows you to do. Play baseball, fix a windmill, conduct an orchestra, travel the world with a disability. Live. Live your life without worrying if your chosen tools are going to work or not. The promise that Apple makes, and the deal we make with Apple when we buy from them, is that we give them our money, and they give us devices that work.

We need Daring Fireball, Shawn Blanc, MacStories, MacSparky, Stratechery, and of course Dr. Drang. These writers inform and inspire us, they show us how we can do more with our machines, and they explore the details we appreciate. What we don’t need is an echo chamber constantly reverberating the same small set of words. If you have something to say, then say it, if you find joy and belonging in the community, then participate. But don’t let the obsessions of others get in the way of what your life is meant to be. Find your own passion, and pursue it relentlessly. Pick tools that you can rely on, and that reflect your values, and then get out there and do something great.

Responsibility

Posted on April 29, 2014

“UNLESS someone like you cares a whole awful lot, nothing is going to get better, it’s not.” – The Lorax

I believe that it is my responsibility to have an understanding of my impact on the world around me, and who and what I support, either implicitly or explicitly, by the products I use. Not everything easy is right, and not everything cool is good. I try to do the right thing whenever I can, balancing the needs of my family and the culture we live in. Sometimes, there’s no good answer, but sometimes, as in the latest case of sexism in the tech industry, the answer is clear.

I’ve removed my site and all code from Github, and deleted my account. Based on the report by Julie Ann Horvath, the vague response by Github, and the storm of coverage that has followed the issue, as well as resurfacing of past stories, I’ve decided not to do business with the company. I’ve had an account on Github for years, and used Jekyll and Github Pages to host this site for at least the past three years. As of yesterday, I’ve moved the site to Nearly Free Speech.net. I’ll be considering switching from Jekyll to another static blogging engine. In fact, I built one that I might resurrect.

My actions are small, and completely inconsequential to Github, but they mean something to me. I cannot, in good conscience, continue to support an organization run by an immature boy’s club. There is a sickness in the industry, something that has been pervasive in geek culture for years. The objectifying of women in the industry and our culture is damaging to everyone involved. One might not think that one woman getting harassed at a silicon valley darling is that big of a deal, not worth starting a tempest in a teapot, but is it? Is it really?

It is wrong to have business meetings at strip clubs. It is wrong to yell out sexual jokes across the office. It is wrong to treat women as being anything other than equals. Treat them as you would wish to be treated.

Culture is made up of who we are together. One person making a change might not matter, but it’s a start. Perhaps soon it’s one, then another, then another, and another, and eventually those who care become the majority, and the culture has changed.

Site Design Non-Update

Posted on March 23, 2014

The site design of jb was very nearly upgraded tonight. Well, upgraded is not quite the word for it. Changed is more accurate. Even though I’m quite happy with the look and feel of the site, from time to time I get frustrated with one aspect of it or another. I’ve spent more time that I want to admit thinking about readability, fonts, font sizes, spacing, kerning, and the like, but occasionally I’ll look at another site and think “that looks good”. And then mine looks like crap for a day or so.

The most recent bout of site envy came while reading a recent post by the brilliant Dr. Bunsen[1]. His entire site is worth reading, some posts several times. I decided to do a bit of HTML spelunking and see what the source revealed, and saw several references to the Pure CSS framework. I hadn’t heard of this one before, so I downloaded it and set up a new Jekyll powered site with the base blog layout. It looked fine, it works as advertised, but it would obviously take a lot of work to tweak it to look just the way I wanted it to.

After running through this exercise I went back and thought about what I don’t like about my site right now, and realized that it is not the overall look of the site that I’m not happy with, it is a few details that are nagging at me. For one, code syntax highlighting is not working, and for two, the Bigfoot footnotes were not lining up properly on the home page. I solved the latter problem by only showing only one post on the home page at a time, but the former is still bothering me.

The funny part of it is that one of the reasons syntax highlighting is not working is that I’m not using the default Jekyll Markdown converter. In order to get footnotes to work the way I want them to, I’m using Kramdown, which doesn’t use Pygments, but can be configured to use Coderay. I have the settings for Coderay, but so far they don’t seem to be doing anything. None of my inserted code is rendered with anything but “code” and “pre” tags. Ah well, this site remains, as always, a work in progress.

It’s always a good exercise to try out a completely different way of doing things. Even when I decide to scrap the work and keep things the way they are, I still count it as progress made.


  1. Whom, if you are not following, you certainly should.  ↩

For The Fun Of It

Posted on March 01, 2014

I still need an anything bucket, and nothing fills that gap like my old friend Yojimbo. I was an early adopter of Yojimbo, back with version one, and I upgraded faithfully for version 2 and version 3, but I held off for a long time on version 4. In the mean time I tried Evernote, DEVONthink, Pinboard, and just the file system to fill the void that Yojimbo filled so gracefully. No more, I’ve come home, and it feels great to be here.

Back before I used a Mac for work, I used it for fun. It was fun to grab random stuff off the web that I wanted to keep and save. I like collecting things, mainly maps, pictures of old 60’s era Volkswagens, and British motorcycles. I also like to grab quotes I’ve found inspirational, designs that I love and want to go back to, funny pictures of cats and dogs, and whatever other random thing catches my eye.

When I bought my first iPhone, I found that I wanted to be able to collect things on the go as well as on the web. Pictures of artwork at a store, or a quick note about a blender. Without a proper Yojimbo client for iOS, most of that stuff was lost. I tried to use Evernote or DEVONthink To Go, but neither tool really clicked with me.

Nothing else works like Yojimbo. The web clients like Pinterest are too slow, and Pinboard is too basic. I can’t just browse through pictures of things in Pinboard. I really don’t like having to rely on the web. As long as I have a Mac I can get to my Yojimbo database, one way or another.

Yojimbo feels right. Not for work, not for a project management system or detailed information store. That’s not what I use it for; I have a system for that. Yojimbo is for everything else, all the fun stuff that I find and want to keep. In the end, Yojimbo 4 works great, and recaptures some of the magic that made me fall in love with the Mac. I keep it just for the fun of it.