st jude

Mon 6/29 GoJGo


My friend Stephen Hackett has a son who could have easily become an archived medical record number at any major children’s hospital. At six months old, baby Josiah was diagnosed with a Glioma Astrocytoma (brain cancer). He was unable to use the left side of his body. The doctors believed that he wouldn’t be able to see out of his left eye, that he wouldn’t be able to walk, and that he would lose his battle with cancer before his 3rd birthday.

Today, thanks to God’s blessing and the dedication of the people at St. Jude Children’s Research Hospital, Josiah is more than just a number. He just celebrated 6th birthday. He is chasing his Uncle around the house. He is smiling in photos taken by his father. He is being held in his mother’s arms. And he is running with his sister through the laundry hanging on the line. Some people would say Josiah’s recovery is a miracle, but his fight for survival is a battle not yet won.

Josiah has undergone extensive treatment and care at St. Jude. He has been through brain surgery, shunt replacement, g-tube placement, port installation, 16 rounds of chemotherapy, countless hours of physical therapy, and a truckload of medications he must take every day for the rest of his life. As an outpatient, Josiah’s medical bills alone have reached over TWO MILLION DOLLARS. If it wasn’t for his proximity to St. Jude in Memphis, Tennessee, he would have spent the majority of his young life living in a hospital, and his family would owe even more for his transportation and stay.

As of today, Josiah Hackett and his family don’t owe a thing. St. Jude doesn’t charge a family any more than their insurance will cover. That means that my friend Stephen has not paid a CENT in over FIVE YEARS for his son’s treatment and NEVER WILL! St. Jude covers not just the cost of treatment, medication, and PT, but the price of transportation to Memphis and all of the living expenses including meals. Imagine what it costs to send a hospital full of young cancer patients and their families to St. Jude for treatment, housing, food, and care. It should be no surprise that St. Jude spends over 1.7 MILLION DOLLARS a day towards caring.

I am asking for your help in raising money for St. Jude and to save a child’s life. Cancer is not a number. It is a terrible disease that is robbing us of our children and stealing away our future. Even if you don’t see the face of Cancer every day, you know the smiles of children we can’t afford to let slip away.

Last year I reached my goal by raising $5,000 for St. Jude. This year I hope to do the same. I have already donated another towards Josiah’s treatment, and look forward to spending the next several months training for December 5th when I can fly down to Memphis and run 26.2 miles with Josiah on my mind. In the past I have run races for myself, but this time I am doing it for a little boy with brain cancer who needs our help. Please consider giving what you can. If not for me, Stephen, Josiah, or St. Jude, then to fight a terrible disease that is stealing our children’s future one smile at a time.

Mon 6/29 My Setup

System Profiler

The following interview was inspired by The Setup, a collection of nerdy interviews, asking people from all walks of life about the hardware and software they use.

Who are you, and what do you do?

My name is Thomas Brand. I work at MIT. When I am not leading a technical support team, I write Egg Freckles and run marathons for charity.

What hardware are you using?

Early last year I built a Hackintosh named Siracusa. I wanted the smallest desktop Mac possible with expandable storage and graphics. I can’t say my creation lives up to the expectations of its namesake, but maybe it comes close.

Siracusa includes the following components.

Siracusa is the fastest Mac I have ever owned. The whole setup cost me less than a $1,000, but setting up a Hackintosh is not for the faint of heart. I still keep last year’s quad core Mac mini around in case something goes wrong.

My other Mac is an Early 2014 11-inch MacBook Air. I use it for working with VIM, and email while commutting on the train. I keep it in a Twelve South BookBook case. People think I am carrying a Bible. I am not a religious man.

And what software?

With the exception of VIM these are the apps I use most on my Mac.

  • Acorn for image editing.
  • BBEdit for editing HTML, CSS, and heavy lifting.
  • Cinch for keeping my windows equally split.
  • Dropbox for getting my files from one computer to another.
  • EasyFind for when Spotlight fails me.
  • Fetch for FTP.
  • Firefox is my browser across Windoes, Mac, and Linux.
  • ImageOptim keeps my PNGs small.
  • Keynote is my preferred way to give a presentation.
  • Lightroom 3 for photo editing.
  • Mail for email. (I have a fantastic habit of deleting everything.)
  • Marked 2 makes sure my Markdown checks out.
  • OmniGraffle for looking smarter than I really am.
  • Twitterrific for Twitter, and trolling Ben Brooks.
  • VLC has replaced iTunes for playing music on my Mac.

How about mobile devices?

I do not carry an iPhone. All of my mobile phones since the original iPhone have been unlocked, and cost less than $200. Today I am carrying a Amazon Fire Phone. Tomorrow my phone might be something different. I enjoy the freedom of switching SIMs, swapping phones, and not having to worry about a $650 computer in my pocket. T-Mobile gives me unlimited data and 100 minutes of voice for $30 a month. I do not talk on the phone very often.

I keep a Newton MessagePad 2100 on my desk for keeping notes, jotting down ideas, and distraction free writing. I sync what I write back to my Mac over email using a wifi PC Card. My Newton can run for weeks on four replacable AA batteries.

On my wrist I wear one of three watches depending on my mood.

The Omega, was a wedding gift I bought for myself second hand. It is the nicest of the three, and the most expensive. I cringe everytime I hit it off a door jam. As an automatic it is powered by the movement of my wrist, but I can’t say it keeps better time than a quartz watch. The Apple Watch seems like a nice to have, but I still can’t see a compelling reason to own one.

I also have the original iPad mini from 2012. The one with the A5 processor developers love to complain about. I have given up using it for anything but Twitter, email, RSS, and podcasts listening. The iPad mini is my second iPad, and it may be my last.

What would be your dream setup?

I used to say I would never work at a company that wouldn’t let me use a Mac. But I don’t think that is true anymore. Mac, WIndows, Linux, they all suit me just fine. Different choices with their own advantages and disadvantages. I could not work at a company that wouldn’t give choice. The freedom to change is my dream setup. Change keeps me interested in technology.

Thu 1/8 Fire Phone

Fire phone

For the past month I have been the owner of an Amazon Fire Phone. The mythical device whose name is adhered upon many an Amazon shipping container, but whose visage is rarely seen in public. For the past month I have grappled with a decision. Should I accept the Fire Phone as my primary digital companion, or send it back to Amazon in the cardboard box that bears its name? As a instrument of suspense, I will leave my ultimate decision until the end of this review. In the meantime here are some of the factors that led me to my decision.

At $199 the Fire Phone is a steal. That is the price I paid on Black Friday, when the 32 GB Unlocked Fire Phone went on sale. Had the price been $249, $449, or $649, I would not have bought it. Even at $199 the price is deceptively high. A Fire Phone at any price comes with one year of Amazon Prime, a $100 dollar value. As a regular Amazon Prime subscriber you could say my 32 GB Fire Phone cost me the same as a 16 GB storage upgrade on a iPhone 5s.

Unboxing the Fire Phone was a real treat. Straight out of Apple’s playbook, each fold of the box revealed a new discovery. From the carbon fiber texture of the packing materials, to the way the micro USB cable, charger, and earbuds came tucked away in their own separate compartment. Everything felt luxurious.

Even setting up the Fire Phone was a delightful experience. Upon pressing the power button, I was greeted by name. My Fire Phone had been preregistered with my Amazon Prime account, Amazon Music, and Amazon Cloud Drive. Imagine if your next iPhone came preregistered with your iCloud account, apps, and the latest software updates. Amazon gets a head start over its competitors by having Fire Phone come preregistered out of the box.

The phone itself resembles a super-sized iPhone 4, Gorilla Glass front and back, except the metal band has been replaced by soft touch rubber. Thicker than the iPhone 6, the Fire Phone really feels good in the hand. There is a weight to it that I associate with high-end electronics. Some people might say the style, thickness, and heft of the phone make it appear old. But I would rather hold a comfortable phone in my hand, than watch a slippery slice of glass and aluminum shatter on the floor.

Fire Phone is adorn with the usual ports and buttons. A power button and headphone jack on the top, micro USB port on the button, volume rocker, dedicated camera button, and nano SIM card slot along the left side. Because the low volume and camera button feel similar, I find myself sometimes taking a picture of the inside of my pocket by mistake. Fire Phone has paired speaker grills along its top and bottom; giving it Dolby stereo sound when held in the portrait orientation. The volume of the speakers is better than most phones. As a nice touch, the Amazon logo and regulatory information have been etched into the back glass. A noise canceling microphone, 13 megapixel camera, and LED flash bring up the rear. Photos are on par with an iPhone 5 or 5s, but not an iPhone 6. It is not until we get to the front of the phone that things start to become interesting.

On the face of most phones there is at least one camera staring back at you. Fire Phone has five. In addition to the usual proximity and ambiant light sensors, Fire Phone tracks your eye movement and viewing angle with the use of four low power cameras. (A 2.1 megapixel front facing webcam is available for selfies.) Amazon calls this feature Dynamic Perspective, and it gives the user interface a third dimension not usually associated mobile phone displays.

Fire phone

Think of Dynamic Perspective like the gyroscope-driven parallax effects in iOS 7, only turned up a notch. You might call it a gimmick, and I would not say you are wrong. Just like the gyroscope in the original iPhone, Dynamic Perspective doesn’t have much value until developers take advantage of it. The only problem is that unlike the gyroscope in almost every modern smartphone, the Fire Phone is the only phone with Dynamic Perspective, and it will probably stay that way for a some time. I quickly learned to turn off Dynamic Perspective to save battery life.

A 720 x 1280 pixel, 4.7 inch (~312 ppi pixel density), IPS touchscreen dominates the face of the phone. The screen is super bright. So bright in fact, that I have its brightness set to one of the lowest settings, and it still outshines most other phones. With this settings, and Dynamic Perspective turned off, Fire Phone’s battery gets me through the average day with charge to spare. Below the screen is a raised rectangular Home button. It gives you a little extra grip when pulling Fire Phone from your pocket.

Because Fire Phone doesn’t have any other hardware buttons, the Android-powered user interface is navigated with gestures. They aren’t as complicated as gestures on the BlackBerry Z10 I tried a couple months ago. Just the usual swipe left, swipe right, and swipe up, but they can be confusing for new users. Amazon provides a tutorial to get you started, but even I found it confusing that many Amazon apps stick to the prescribed swipe left and right to reveal hidden menus, while most Android apps from the Amazon App Store do not. At least you can always rely on a swipe up from the bottom of the screen to bring you back, and if all else fails the Home button returns you to the Home screen and a grid of icons.

Since the interface on every Android phone is a little different I can’t say the Fire Phone is unique. The large Coverflow inspired carousel of recently used apps works for finding your last launched applications. Below that a dedicated dock of four apps keeps your favorites close at hand. While swiping up from the bottom reveals a grid of icons, familiar to any iPhone user. The combination of all four user interface elements means I can always find the app I am looking for. Some apps even show additional real-time information below their enlarged carousel icon, but often Amazon just uses this space to sell you something.

Fire phone

Just like on Google’s Android Double tapping the Home button brings up the multitasking switcher, holding it down brings up voice command. Unlike Google’s Android, the voice commands are not powered by Google Now, and there is no Google Maps, Play Store, or Gmail to be found in Fire Phone’s App Store. Apps can be side-loaded of course, but if you are looking for the Google experience on Fire Phone, look somewhere else.

I did find most of the apps I wanted from Amazon’s App Store, and the built-in Android apps took care of my Exchange email, contacts and calendars. I come from using Windows Phone where a diverse choice of applications are hard to come by. I might be satisfied by Amazon’s offering, and the option to side-load apps, but I feel most iPhone user’s will be disappointed.

I am keeping my Amazon Fire Phone. As I said before, it is a steal at $199; even without the one year subscription for Amazon Prime. The hardware is top notch and the software, although limited, does everything I want a smartphone to do. Fire Phone may not be right for you. If you base your choice of phone on carrier subsidies, or are heavily invested in an existing phone ecosystem Fire Phone should not be you first choice. But Fire Phone makes a pretty good unlocked spare GSM phone, even if you don’t plan on shopping with Amazon.

Mon 12/29 Fat Binary

System Profiler

A Fat Binary is a computer program which includes code for at least two different computer architectures in a single executable. The usual implementation includes a version of machine code for each computer architecture, preceded by operating system code designed to execute a jump to the appropriate version. The result is a "fat" executable, larger in size than the normal single-architecture binary file, that can run on more than one type of computer architecture.

Starting February 1, 2015, new iOS apps uploaded to the App Store must include 64-bit support and be built with the iOS 8 SDK, included in Xcode 6 or later.

This is not the first time Apple has relied on Fat Binaries to bridge the gap between processor architectures. In 1994 Fat Binaries smoothed the Macintosh’s transition from 68k to PowerPC microprocessors. These Fat Binaries were made by packaging both a 68k, and a PowerPC version of the same program into a single hierarchal Macintosh application file.

It is very easy to build a fat application to run PowerPC code and classic 68K code, because you can place the PowerPC code in the data fork of an application file, and the classic 68K code can be placed in ‘CODE’ resources in the resource fork of the same file. If the application is launched on a PowerPC-based Macintosh computer, the Process Manager recognizes the ‘cfrg’0 resource and knows to execute the PowerPC fragment in the data fork of the file. The PowerPC Process Manager simply ignores the ‘CODE’ resources in the resource fork. If the application is launched on a 68K-based Macintosh computer, the Process Manager ignores the ‘cfrg’0 resource and executes the ‘CODE’ resources in the resource fo

Although the implementation was simple, Fat Binaries were not universally adopted by early Macintosh developers.

  • Almost all 68k applications ran transparently on a Power Macintosh using an evolving emulation layer. The emulated code always ran slower than native code, but no additional development was required.

  • It didn’t help that Apple continued to sell new 68k Macs for more than two years after the introduction of the PowerPC. Or that most emulated code ran faster on a PowerPC Mac, than native code on a new 68k Macintosh.

  • Back in 1994, when hard drives were measured in megabytes, every extra bit of storage space counted. Fat Binaries took up more storage space than flat single-architecture 68k applications, and were more expensive to distribute on floppy disk.

  • Even Apple’s own Macintosh development suite, Macintosh Programmer’s Workshop, had a hard time creating Fat Binaries. 68k code would continue to be part of Mac OS until the release of Mac OS X.

For these reasons many Mac developers continued to release 68k applications into the late nineties.

Starting with NeXTSTEP 3.1, Fat Binaries became a feature of NeXT’s operating systems. In NeXTSTEP, Fat Binaries were called "Multi-Architecture Binaries." Multi-Architecture Binaries were originally intended to allow NeXTSTEP software to run on both Motorola 68k and Intel x86 hardware, but were later used to allow OPENSTEP applications to run on the various RISC-based platforms OPENSTEP supported.

Apple Computer acquired NeXT in 1996 and continued to develop the Multi-Architecture Binary technology. Under Mac OS X, Multi-Architecture Binaries were used to support different versions of 32-bit code optimized for the PowerPC G3, PowerPC G4, and PowerPC 970 generations of processors. Multi-Architecture Binaries were later used to support multiple architectures, such as 32-bit PowerPC, 64-bit PowerPC 970, and Intel x86 CPUs.

In 2005 Apple announced the transition from PowerPC processors to Intel x86 processors, and the distribution of new applications that support both PowerPC and x86 natively using Multi-Architecture Binary format. Apple called these programs "Universal Applications" and called the file format "Universal Binary."

Applications designed for the Macintosh operating system (Mac OS X) that run natively on both PowerPC- and Intel-based Macintosh computers are called Universal applications.

The Universal Binary format was not required to use pre-existing native PowerPC applications on new Intel Macs. For this role, Apple supplied Rosetta, a dynamic binary translator for Mac OS X that allows many PowerPC applications to run on early Intel-based Macintosh computers without modification. However, Rosetta had a fairly steep performance overhead. Developers were encouraged to offer both PowerPC and Intel versions of their software, using Universal binaries.

Starting with the release of Mac OS X Snow Leopard, Apple dropped support for PowerPC-based Macs, and the need for new applications to be compiled for PowerPC. Starting with the release of OS X Mountain Lion Apple dropped support for 32-bit Intel-based Macs, and the need for new applications to be compiled for 32-bit. Today, Fat Binaries are only being distributed for Mac software designed to be backward compatible with older Macintosh hardware.

But Fat Binaries live on in iOS. For example, a multi-architecture binary for iOS can have over 6 instruction set architectures,

Conserving cellular bandwidth, and the storage space on customer’s iOS devices has never been as important as the delivery of a seamless user experience. Fat Binaries help simplify the App Store by offering customer’s a single app for all supported devices, instead of separate apps for each device. If Apple ever makes the transition to a new processor architecture, Fat Binaries will be there to bridge the gap.

So why haven’t more companies taken advantage of Fat Binaries? Because very few companies control the whole widget. From CPU, to development tools, and the operating system, only Apple controls all aspects of a computer’s design required to make Fat Binaries possible.

Fri 12/12 ImageOptim


The old UNIX adage "do one thing well," is alive and well in one of my favorite Mac OS X utilities, ImageOptim.

ImageOptim is a free app that makes images take up less disk space and load faster, without sacrificing quality. It optimizes compression parameters, removes junk metadata and unnecessary color profiles.

But instead of just one tool, ImageOptim seamlessly integrates the best command-line image optimization tools: PNGOUT, Zopfli, Pngcrush, AdvPNG, extended OptiPNG, JpegOptim, jpegrescan, jpegtran, and Gifsicle into a single easy-to-use graphical user interface.

I run ImageOptim on all of my graphics before they are published to the web. Simply drag’n’drop images or folders into ImageOptim, and they’ll be optimized in-place without a loss in quality. There is also a command-line tool for making automated optimization easier. The savings can easily add up to hundreds of megabytes, even after running Photoshop’s "Save for Web" command.

With all of ImageOptim’s preferences configured to the maximum optimization level, it is easy to see why having a Intel CPU with HyperThreading is desirable. ImageOptim will use every core your computer has to offer when optimizing a folder of images. It may take a slow computer several minutes to slim down a folder of large PNGs, but the savings is worth it in the speed a user will receive visiting your website.

Do not fall for "knock-offs" in the App Store. ImageOptim is free software, available from the developers’s website..