Skip to main content

Brandon Bohling

Category: technology

Disable Smart Punctuation

I believe smart punctuation is a new iOS 11 feature. Unfortunately it seems to be enabled by default, which if you use your iOS device for markdown, YAML, code, etc. you will need to disable the feature straight away under Settings > General > Keyboards:

DIRECTV NOW: Initial Thoughts

DIRECTV released DIRECTV NOW today and I jumped on their Go Big deal. For $35 (normally $60) you get over 100 channels; some you can stream live and some have on-demand content. I have not had cable for years and while we recently gained access to some local channels via an antenna the biggest thing that I have missed is sports. Every year I pay for MLB, MLS, and NBC Sports Gold (for cycling), but obviously that is still limiting.

Deploying Angular Using http-server, Nginx, and PM2

Since it took about an hour to put all the pieces together correctly I thought it best to document how I deployed an Angular (version 2) app using http-server, pm2, and nginx. In my case I deployed to an Ubuntu server hosted on DigitalOcean, but these instructions should work the same as long as you have the other components installed correctly. I am not an expert on this topic. Like most people, I am learning as I go.

A Useful Desktop with Ubersicht

Ubersicht is an OS X utility that allows you to display dynamic (or static) content on your desktop. In the screenshot below I have some static content for a color palette and Git commit standards; all text being selectable. Possibly more interesting though are the other widgets that are always changing. Take the two Strava widgets at the bottom of the screen. One widget allows me to quickly see how my 2016 cycling compares to 2015 and the other just displays some key data from the current year.

Forgotten Step

Even though I have probably set up a new Mac at least a dozen times in the last few years I keep forgetting the most basic step in the world of Terminal…creating a .bash_profile and adding an export path. This is key because it tells Terminal where to look for executable binaries. Hopefully writing the steps down will make sure I never forget this again. Open TextEdit (or your favorite text editor) Add export PATH="$HOME/bin:$PATH" on the first line Save in your home directory (~/) as .

Parallels and Visual Studio Issue

After months of experiencing Visual Studio 2012 (running inside Parallels on my Mac) hanging when trying to exit out of the app I took a few minutes to look for a fix. Within a couple of minutes I came across this thread which contained the solution to the issue. Based on the thread it seems like the root cause of this issue is that I am working on solutions that are stored on my Mac, \\psf\Home\pathToSoltion rather than working on solutions that are on the Windows (VM) C drive.

Android's Drop Down Bug

On and off for several days now I have been trying to fix an issue where a drop down list (<select> tag) seems to be disabled on old (version 2.x) Android devices. Apparently this is a known bug with plenty of suggested fixes. Not a single one (or combination) worked for me. I even came across this suggestion since we are using iScroll, but it did not help either. What was my solution?

An Event Apart

I just spent the last few days in sunny San Diego. Instead of enjoying the outdoor activities though, I was in a large room with hundreds of other people learning about the latest in standards-based web design. The conference, An Event Apart (AEA), had twelve top-notch speakers including Jeffrey Zeldman and Eric Meyer who started the conference. In my 18 years of being a professional web guy I have been to many conferences, but without a doubt AEA was my favorite…even better than WWDC.

OSX Disk Images

I wanted to create an encrypted disk image for my 2012 Tax Return documents, but unfortunately Disk Utility, which comes with OSX, does not allow image sizes (that are encrypted and journal HFS+) less than 10.5 MB. This seemed strange, so I looked for the command line equivalent. With the help of this article I came up with this: hdiutil create -encryption -size 5m -volname 2012Taxes 2012Taxes.dmg -srcfolder ~/Desktop/foo/ -fs HFS+J 5M = disk image size (5 MB) 2012Taxes = disk image name when mounted 2012Taxes.

Remove Day Part of Date in URL

Since everyone is talking about shipping these days tonight I took the plunge and released my modified blog on a new server. I have been dreading this day because a) the redesign is incomplete and b) there are so many steps in cleanly moving a domain between providers. Of course, immediately after “flipping the switch” I realized that my old website used URLs like /2011/09/25/Ellie/, but my new configuration was setup to use /2011/09/Ellie/ (notice I no longer have a day in the URL).

Underscore Your JavaScript This Moment

Up until last year it had been many years since I had been a full-time developer. After a year back in the code, I still do not feel as competent as I felt in my prime. So maybe what I am about to share is common knowledge among the developer community, but just in case… If you are developing solutions using JavaScript I highly recommend you check out two helpful libraries: Underscore and Moment.

Configuring Homebrew in a Multi-User Setup

My MacBook Pro is setup with two user accounts: one for personal and one for work. This is certainly not my setup of choice, but if I want to use my own MBP (which is retina) at work then I have to abide by this rule. Anyway, this setup caused an issue when I went to do something that required Homebrew. After a little research and testing Leif Hanack had the best answer.

Hazel and ImageOptim for Easy Image Optimizations

ImageOptim is a fantastic utility to reduce the size of your images without impacting image quality1. I use it both for my web and iOS work, but it was not until today that I made it even better. My Old Workflow Save whatever image I was working on to some folder Open ImageOptim Drag the image onto ImageOptim canvas ImageOptim does its work I move the optimized image to its final destination My New Workflow Save whatever image I was working on to an “optimize” folder Hazel automatically moves to an “optimized” folder Hazel automatically kicks off ImageOptim and it optimizes the image I move the optimized image to its final destination My responsibilities went from four steps to two; a 50% reduction.

Count Lines of Code in a Visual Studio Solution

At work I was wading through a very old code base and was curious how many lines of code it contained. Not wanting to open the seemingly endless list of files in the solution, I went looking for a quick-n-dirty way to count the lines of code in the solution. Preferring a command-line approach than installing a utility that I would likely rarely use, I found this simple powershell snippet:

Buy the MacBook Pro with Retina Display or new MacBook Air

If you are lucky enough to be in the market for a new notebook, Apple just made your choice a lot more difficult. Last year I gave up my MacBook Pro and switched to the MacBook Air and have not regretted it one bit. I use my Air primarily for photography1 but from time-to-time I do use Final Cut Pro X to create small family videos. I still use a MacBook Pro for work which is a major bummer because it really isn’t any faster but feels like a giant brick.

Making UISwitch Useful in a UITableView with Groups or Sections

I just had a progasm1. I was creating a UITableView that had multiple groups with multiple rows in each group. Each row had a UISwitch. The intent was to update a price label every time a UISwitch value (on/off) changed. However, figuring out which row and section, trigged the event was not straightforward. After doing some research it seemed like most people were using a hack where they would set the UISwitch tag property to the indexPath.

How the Canon 5D Mark III Killed my iPhone 4S

Nearly two years ago I wrote about how the iPhone greatly impacted the usage of my Canon 5D Mark II. A quick summary: the iPhone camera got to be so good that I used it instead of my DSLR not only because of the photo quality but because of how easy it was then to post photos online. Fortunately technology changes. Canon 5D Mark III + Eye-Fi = AWESOMENESS I have had my eye on the Eye-Fi for years.

Network Throttle for iOS Development

All iOS developers must know about this handy-dandy tool by Mike Schrag: speedlimit is a Leopard [works on Lion too] preference pane for limiting your network bandwidth to one of a couple different speeds—768k DSL, Edge, 3G, and Dialup. This is really handy for testing your iPhone app under normal Edge network conditions in the iPhone Simulator. The new version allows you to restrict the slowdown to only a specific set of hosts.

Jekyll Link Posts with Keyboard Maestro

This has been a big week of knocking down the Jekyll publishing barriers. Automating the Jekyll publishing process was the first big one. As I stated in that post, it still is not perfect, but much, much better than the default Jekyll behavior. Next, I tweaked Jekyll so I could publish link posts, but what good is that feature unless I can publish them lickety-split? Luckily I remembered that Ben Brooks posted on this topic recently (turns out it was just over a year ago).

Link Posts with Jekyll

Now that I have Jekyll publishing automated, why not do link posts? For one, Jekyll does not support link posts out of the box. However, Tuan Anh figured out how to tweak Jekyll to support link posts: Posting Link Post in Jekyll by Tuan Anh Tran. This is the code I used to modify my post.html file (in the _layouts directory): {% if page.link %} <h2><a href=”{{ page.link }}">{{ page.title }}</a></h2> {% else %} <h2> {{ page.

Automating Jekyll

March 06, 2012, marked the one year anniversary of this site being driven by Jekyll. I will not rehash my reasonings here as I explained myself already in the Text File Revolution post, but I do want to reflect for a moment… Since switching to Jekyll I have written a mere 28 times; a personal worst in my 9 years of blogging1. I would love to blame it on a busy life2, but that is a cop-out.

How to “View Source” from Safari on an iPad or iPhone

How to “View Source” from Safari on an iPad or iPhone from Ole Michelsen: Add this (or any other) page as a bookmark Then click here to see the bookmarklet code and Select All → Copy Now edit that same bookmark, paste the code you just copied into the URL and name it something like “View Source” This will most certainly be used. Thanks Ole!

How to find the hidden files on Mac OS X

This has to be the best tip I have found sound far in 2012: How to find the hidden files on Mac OS X The Mac OS X operating system hides important system files to protect your computer. This is a measure meant to prevent you from modifying files that shouldn’t be modified, or deleting files that your computer needs to run correctly. Occasionally, you may need to find a file that Mac OS X hides.

Jekyll Automated: First Test

This post is testing a new feature that I have added to my Jekyll workflow. I have created an Automator workflow (that is actually a folder action) that assists in auto publishing my blog posts. This new setup not only removes steps in my blogging workflow, but also allows me to post from my iOS devices as well. Additionally, I am testing the use of dictation on my iPad to see if it will further reduce the barriers of blogging.

Final Cut Pro X on the MacBook Air: A Follow-Up

My post, Final Cut Pro X on a MacBook Air, has received a surprising amount of traffic. So I thought I would provide a brief follow-up that covers why I purchased FCP X and how it has been performing on my MacBook Air. FCP X vs. iMovie Like I mentioned before, I am no videographer and I probably have no real reason to spend $300 on video editing software. iMovie is incredibly simple to use and can make great videos fast, but it seemed hard to do simple tasks I wanted to do and lacked features I was after.

Final Cut Pro X on a MacBook Air

When it comes to video editing I am a complete novice. A few supporting facts: I have been a Vimeo Plus member since November 2007 yet I have only posted 65 videos. All have been posted with the simplest of tools: iMovie, iMovie for iOS, Vimeo for iOS, etc. I purchased Final Cut Pro X on July 2 and today was the first time I used it. Today I used about 0.

Installing Jekyll on Mac OS X

In March this year I once again changed blog engines I was using. I switched to Jekyll after reviewing all the usual (and unusual) suspects. I describe most of my reasons1 in my post, Text File Revolution so I won’t rehash again, however, I did want to write a little tutorial on how to get Jekyll up and running on your Mac2. Pre-Requisite: XCode The easiest way to get a hold of XCode is to download from the Mac App Store.

Apps on MacBook Air 30 Days Later

In my previous post, Apps I will install on New MacBook Air, I highlight the apps that I intended on installing on my new MacBook Air. It has now been 30 days since I first laid hands on the new system, so what better time to report what I REALLY installed. Before Dropbox it could take a couple of days to get a new computer set up with all of your goodies.

Apps I will install on New MacBook Air

In a previous post, What Would You Buy First?, I highlight the apps I would buy first if I had to start all over today. In this post I will outline the apps I will be installing on a new MacBook Air that arrives today. One data point to note: I am cutting my drive space in half (to 256GB), so this list may be slightly different if it were a new iMac.

Evolution of Change

The tech world has generated a ton of content about WWDC since the Monday. If you want to know what the really smart people are saying about the event I suggest you start by reading Ben Brook’s WWDC: The Big Stuff or simply catch the video highlights of the 117-minute keynote in 8 minutes. I would like to share my thoughts on iCloud and its implications in context of the evolution of the file system.

What Would You Buy First?

Today Ben Brooks posted his list of apps he would buy first if he had to start all over again. So why not join in on that fun? My list of apps I would buy first: Dropbox - duh Backblaze - backup computer and 2 Drobos 1Password - manage all passwords Aperture - photo management and editing OmniFocus - manage my tasks OmniGraffle - draw pretty pictures (I’m a software architect) Sparrow - Gmail client Reeder - RSS reader TextMate - robust text editor FontCase - manage my font fetish LittleSnapper - take/manage screenshots Acorn - cheap, lightweight image editor (I no longer use Adobe Photoshop even though I have CS5) Alfred - launcher/productivity app TextExpander - excellent timesaver, just get it SuperDuper!

The Power of Lazy Photo Editing

We are all very, very busy these days. We fill our time with work, friends, and family. Any spare time we fill with hobbies, TV, and of course the Internet. Many of these activities lead to consuming and generating copious amounts of digital content as I have mentioned before. It is the generating of so much digital content that is overwhelming to me. It leads to more time to manage the content.

Jekyll 30 Days Later

It has now been over a month since I started my Text File Revolution using Jekyll as my vehicle. This will be my seventh post using Jekyll and my still evolving workflow. So why not share my experience so far? Jekyll Out of the Box Jekyll is not your normal blogging system where you can simply write your post in a browser or use a blogging tool like MarsEdit. Jekyll does not store your posts in a database nor does it serve content dynamically.

Lessn and Comments

I really like how Jon Hicks handles comments on Hicksdesign. Instead of allowing direct comments on his blog he provides a link that pre-populates a tweet. I’m not a fan of blog comments and many agree. Alex Payne states why best: For most sites, though, comments are worse than useless. The anonymity of the Internet inspires hit-and-run attacks, unintelligible ramblings, and truckloads of spam. So I wanted to implement a similar feature on this site.

Text File Revolution

I am like any other technologist (ok, geek) out there…I love tinkering with new stuff1. For the most part I wouldn’t change this about me; it generates intense passion in my daily life as well as serving me well in my career. However, there are certainly pitfalls I inevitably fall into time and time again. The most prevalent is my constant tinkering with my online presence. A Brief History of My Online Life Since 1995 I have had some sort of website.

How to Keep Your Husband Engaged in Furniture Decisions

We have lived in our house for over five years now and yet we still do not have a proper living room. Of course, we have a living room, but not one that entices people to sit down and relax. This is horribly unfortunate since the room has a huge picture window that has a fabulous view of the Coast Range; one of the two main selling points of the house (huge kitchen was another one).

How My iPhone 4 Killed My Canon 5D Mark II: Take 2

Note: this was originally posted here. Denise and I received our iPhone 4s on Day 1. The very day we left for a long weekend at Crater Lake. And the weekend after that we spent 10 days on in Door County. In a typical month this year we take around 800 photos (and that is WAY down from previous years) with our Canon 5D Mark II. On vacations we typically take 1000+ photos.

My iPhone 4 Killed My Canon 5D Mark II

I am so very frustrated right now. I just spent 30 minutes typing up this post on my iPad and only the photo came through…NONE of the text. Well now I have a new post, “Why I Threw My iPad Out the Window!” I’ll try to rewrite about this topic later. It only took me a month to write it in the first place. It will probably take another 2 months for me to muster up the will power to rewrite about this.

Is it best to leverage social networks

For years I have been developing my own web sites and hosting my own content (text, photos, and videos). I guess I took this approach mainly so I would have full control over everything…us developers can be a little power hungry at times. Sometimes I have different sites (URLs) with specific content for each and sometimes I cram everything together, but before I go into any further details, let’s look at some of the purposes of my site(s).

Online Photo Sharing and Common Craft

As I have mentioned in the past, I have typically taken full control over both web presence and content management (mainly photos). However, I am exploring the notion of leveraging photo sharing sites mainly for backups and video sites so I don’t have to take up a lot of hard drive space. I will have a much more in-depth post soon on this topic, but I came across this video from one of my favorite tutorial websites, Common Craft, that I just had to share.

Got ExpressionEngine? Need a sitemap index?

If you have been developing web sites for a while you already undoubtedly know the importance of sitemaps. Most blog software, such as Wordpress, provide plugins to auto generate sitemaps, but I could not find one for ExpressionEngine so I am here to explain how to auto generate your own with ExpressionEngine. To create a simple sitemap for a SINGLE blog in ExpressionEngine you can follow the instructions explained here. However, our site has multiple blogs so I needed to use a sitemap index, which required a bit more effort.

ExpressionEngine, AN Hosting, and Customer Support

Most often I am willing to pay a premium for a product or service that has excellent customer support. This is one (of many) reasons I buy Apple products. On a couple of occasions I have had a small issue with one of their products, I walk into a store, and they have immediately replaced it with a brand new product…it doesn’t get any better than that does it? For the last several months I have been working on this web site as well as switching hosting providers.

How We Got Here

Much has changed on the Web since I created my first web site in 1995. If only I would have taken screenshots my first site (or any of the hundreds that came after). Oh the days of the simple HTML tags: H1, p, img, br, etc. No Javascript, no CSS, no tables that I remember. Now, over a decade later, there are so many technologies a web developer/designer can use! There are hundreds (thousands?