An example of when ‘digital’ means ‘inferior’ and ‘wasteful’

I have to wonder how many millions of “partly used” batteries get needlessly tossed simply because of digital (LED) flashlights.

For the kids in the audience who don’t know about ‘bulbs’… as a battery starts to get low, an incandescent bulb simply gets dimmer. At some point, it’s too dim to be useful, so you replace the battery.

Digital, on the other hand is either “on” or “off”… there is no “dim” middle ground.

So, not hypothetically speaking, suppose you are riding your bike through a looooong 1.66 mile pitch-black train tunnel on the gorgeous Hiawatha trail near the Montana/Idaho border, and about half-way your LED flashlight’s batteries hit the roughly 60% full mark. Do the LEDs get dim? No. They go out.

Naturally, you have a spare flashlight and you use that.

But when you’re done, you toss a still-half-full set of batteries you mistakenly assume are dead because your digital flashlight told you so.

All Of Your American Express Extended Warranties will Evaporate when Costco Switches to Visa

If you are a Costco member with a Costco Amex card, and have made purchases assuming you will get Amex’s extended warranty protection, you will lose any such protection when Costco switches to Visa (in 2016).

I called Amex to verify and they confirmed that the extended warranty protection requires being a card holder at the time of a claim (not just at the time of the purchase).

If that coverage is important to you, you might want to arrange to get another Amex card (and of course verify that doing so will provide continuity of benefits).

Ghost (Still) Sucks as a Blog.

In my 30-something years as an engineer and product manager, I have never seen a better example of putting style over substance than ghost, the so-called blogging engine.

Yes, it looks clean and pretty. Yes it’s quick to write a post.

If your goal is to write, it’s all good.

But if you goal is to be read, you’re hosed, because Ghost has no way for readers to find relevant info on your blog such as “all post regarding heroku”.

No search. Still. And the Github thread discussing adding it is a joke. Let me summarize: “we can’t add ANY search until we find a way to incorporate a fancy query language, have a single-source solution that works for the (3 or 4) databases we support, that works well on Gigabytes of data.”

No Tag List. First, here’s what they say about their tag feature:

Ghost tags are intended to be a super-feature – a powerhouse of customisability for your blog. Tags are a single flexible and powerful concept of a taxonomy which should provide all the features a blog could need to categorise and list posts in interesting ways. (https://github.com/TryGhost/Ghost/wiki/Tags-101)

So, tags are important, useful, so you can tag a post. And if you happen to know a tag you can see all the posts with that tag via exampleblog.com/tag/heroku but… and yes, I know this seems far too stupid to believe… they did not add a url to list the tags.

In summary, the Ghost team seems to be so busy drinking the “easy to write” Kool-aid that they seem to have completely ignored the reader your blog readers cannot search for a post… not by a simple keyword like “heroku” nor from a list of available tags.

Product mis-management like that used to be a shooting offense in silicon valley.

(My blog is now using WordPress.)

Highly recommended: site-by-site cookie cleanup for Macs using Cookie

Russell, at SweetP Productions http://sweetpproductions.com, is the developer of Cookie, an outstanding $14.95 Mac app that lets you control and minimize the amount of hidden tracking that websites do.

The simplest setup is to tell the app to delete the cookies, flash cookies, silverlight cookies, and local databases for all non-favorite websites when you quit your browser.

For websites where you DO want to keep your cookie data (so you do not have to re-enter your username and password each time), perhaps Facebook and your blog, you simply check the “favorite” checkbox next to the website name.

There is also a handy pulldown menu added to your menubar to immediately wipe all non-favorite data.

There is a 14 day trial period so you can decide if it is your cup of tea or not, but having used it

To Speed up the First Time Machine Backup, Don’t Stop and Resume!

When doing the first Time machine backup to a network drive we saw average speeds in the 2-3Mbps range.

However, when we shutdown the Mac then resumed the backups, the speeds dropped dramatically (to 30-80 Kbps)… enough so that the estimated time to completion skyrocketed from 15 hours to 16 days.

Presumably, Apple does certain first-time back optimizations for speed, since the first backup is invariably large.

So the lesson is: do not stop the first backup. If you must, it is probably faster to just delete the partial backup and restart from scratch.

Recover User Data When Mac’s Filevault2 Won’t Boot

One of our Macbook Pros running Lion mysteriously stopped booting after a perfectly ordinary shutdown.

All of the advice online failed to help (such as trying Diskwarrior – which could not unlock the drive, running Disk Utility via the Recovery Partition, and even various adventures with Terminal, all of which indicated the System on the boot partition was corrupted).

The gist of advice online is that
(a) whatever is not backed up is lost,
and
(b) a full erase/system install will be required.

Turns out that (a) was not true at all… if (“when”) filevault corrupts your system, you can access/backup the user files via a different computer.

Removing the drive and plugging it into an external dock connected to another Macbook allowed full access to all User files. So we were able to copy all the files, erase the disk, then restore from an older backup, then replace the user files.

How to fix Time Machine when it confuses multiple backup drives

Being a “belt and suspenders” kind of guy when it comes to my data, I decided to start having Time Machine backup to two drives. But I wanted BOTH drives (TM1 and TM2) to contain the complete Time Machine history back to Day One.

If you simply connect a new drive (TM2) and add it to Time Machine’s list, the new drive’s backups will NOT contain all the history on the first drive. To get the history moved to the new drive, you need to copy the Backups.backupdb bundle from the first drive to the second drive before you enable the drive in Time Machine.

Finder does not seem to work for copying the Backups.backupdb to the new drive … in my case it took hours to “prepare to copy” only to subsequently refuse to copy them saying some items were “in use”.

SuperDuper, however worked fine to copy everything from TM1 to TM2.

The problem is, when I then added TM2 to Time Machine’s list, Time Machine was confusing the two drives. (TM1 would show up as both drives’ names, instead of TM1 and TM2.

The solution seems to be to do force one backup separately to each drive as the ONLY backup drive to “sync” the drive name and dataset, before enabling both drives.

Step by step (TM1 is the current Time Machine drive, TM2 is the new one):

  1. Turn OFF Time Machine
  2. Remove TM1 from Time Machine’s list (so Time Machine has no backup drives specified)
  3. Format the new drive, name it TM2
  4. Use SuperDuper to copy everything from TM1 to TM2
  5. Eject both TM1 and TM2,
  6. Physically disconnect TM2 so it will not mount automatically when you reboot
  7. (Reboot Mac just to ensure it’s in a fresh state)
  8. Mount TM1
  9. Leave Time Machine OFF, and specify TM1 as the backup drive
  10. In the Time Machine menu, do a manual backup “Backup Now”
  11. When the backup to TM1 completes, UNmount it.
  12. (IMPORTANT) Remove TM1 from Time Machine’s disk list
  13. Mount TM2
  14. In Time Machine specify TM2 as the backup drive (Time Machine is still OFF)
  15. Do a manual backup again, this time it will go to TM2.
  16. Mount TM1
  17. Add TM1 to Time Machine’s backup list.
  18. Enable Time Machine
  19. (to test, I then did two consecutive manual backups, ensuring that each time it picked a different drive)

If IE8 is displaying all Bootstrap columns full-width, here’s the fix

I see a lot of reports online that Bootstrap 3 is not correctly displaying on IE 8, for example two side-by-side columns get displayed full-width and stacked (instead of side-by-side).

If you’ve already added the required IE8 patch shown below, be sure you are adding that after the bootstrap.css file is loaded. (If you load it before boostrap.css it will not work.)

<!-- [if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.3/respond.min.js"></script>
< ![endif]-->

 

Getting Glyphicons to work with static Bootstrap 3 CSS and Rails 3.2

Glyphicons will not work correctly on production Rails apps in the default static Bootstrap 3 installation. The issue is that the compiled (static) Bootstrap CSS file has hardwired location ../fonts for the fonts that will not work with the default Rails asset pipeline. I’ve seen several solutions on the web that involve editing the Bootstrap CSS file, but I dislike that approach since it breaks the next time you install an updated Bootstrap unless you remember to re-make the same edits.

Copy the entire Glyicons /fonts folder to the app/assets/stylesheets folder, e.g., put the fonts in a fonts subdirectory of the stylesheets folder.

Add the following to bootstrap_and_overrides.css

/* Override Bootstrap 3 font locations */ 
@font-face { 
  font-family: 'Glyphicons Halflings'; 
  src: url('/assets/fonts/glyphicons-halflings-regular.eot'); 
  src: url('/assets/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
  url('/assets/fonts/glyphicons-halflings-regular.woff') format('woff'), 
  url('/assets/fonts/glyphicons-halflings-regular.ttf') format('truetype'), 
  url('/assets/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); 
}

We’re a fan – Filepicker.io

One of our web apps relies upon over a dozen third-party api-based services,  and none are more impressive than Filepicker.io, a service that gracefully handles the gnarly details of providing a user-friendly, sexy, full-featured UI for customers to upload images.

filepicker

Integrating Filepicker.io into our web app was a snap, due to their well-thought-out API and support for features such as upload-to-S3.

Their pricing has gone up quite a bit since the service was introduced in late 2013, but unlike some companies mentioned in this blog (yeah, I’m calling you out yet again, Zerigo) they grandfathered early adopters with a special plan.