Book Update: Thrawn

I’m only a few chapters into Thrawn (Star Wars) and REALLY enjoying this book so far.  It just came out today so I’m not very far in, but even from the first chapter, I was encouraged to walk a little extra during my lunch hour…

A couple characters have been mentioned / brought in from other parts of the universe, and I am eager to see how they fit into the puzzle. Even a planet prominently featured in Star Wars Rebels has shown up, and also some wonderful synergy with how the Aftermath Trilogy ended.

Book Report: Master of Formalities

I enjoyed the humor in this book.  It was filled with a constant barrage of unfortunate situations capitalizing on all the comedic opportunities.  The story itself didn’t grab me as strongly as the Magic 2.0 books did, but I slogged through it.  There wasn’t anything that I would say was wrong with the book, but I think I found the unfortunate situations to be somewhat frustrating and I empathetically shared in the disappointment the characters experienced rather than laughing at their misfortunes.

The audio performance was fantastic though.  Some of the more egregiously offensive characters were made lovable through stellar vocal work.

I worked through the book pretty quickly, which is usually a sign of how much I am enjoying it.  Though, it’s possible that I was just trying to get through it so that I could fit another novel in before Thrawn comes out later this month.

Review: Powerbeats 3 headphones with Apple w1 chip


Overall, I am a huge fan of these headphones.  The only issues I’ve run into are fairly minor and probably won’t impact most people.  They sync to my iDevices quite quickly in all cases but one.  I’ve only had issues when switching from one iPhone to the other (personal vs work) where I’ve been forced to turn the headphones off and back on again before they will pair successfully.  This usually fixes it.  I’ve run into similar issues when trying to switch from iPhone to laptop, which tends to be a bit more of a challenge to resolve.  It took me a few tries to actually understand that the most efficient way to pair them is to have them in a “powered down” state and then hold the ‘button’ down and stare at my iOS device until the pairing window pops up on my phone.   In my experience, it works just as well if the iOS device is locked or in an app.

Let me also say that I am constantly losing headphones… the same applies for sunglasses. Anything that doesn’t have a nice neat-and-pocket-friendly container will quickly disappear or be left behind somewhere.  In the case of these headphones, I decided I’d attach a Tile tracker. This works really well, however, whenever I’ve got the headphones resting on my shoulders (instead of in my ears) I am inevitably stopped by a helpful friend to tell me I’ve got a tag sticking out of my shirt. (I may end up spray painting the tile black to address this because I don’t want to give the impression that friends shouldn’t tell me when I do actually have a tag sticking out.)  This only becomes a frequent thing because the headphones rest so naturally on your shoulders when you take them out, that you forget you’ve got them there.

The headphones are quite comfortable for many hours of use, and with the ear grabby things, they are unlikely to ever come off accidentally.   These grabby things Grappling Hook Clip Artdo mean they tend to anchor themselves to every other cable in your backpack like a grappling hook.  They come with a soft rubbery carrying case which wouldn’t protect them from the kind of roughness that happens to things once they get stuffed into my pockets, so I don’t use the case.

It would be nice if they used the lightning adapter instead of micro-USB, but I have plenty of both types of cables plugged in at various charging locations, so it’s more about the USB cables always being oriented the wrong way than anything else.

These headphones are quite good at noise cancelling, so when I’m wearing them at work, I am able to isolate out the conversations and noise around me.  I have to be a little careful though when I’m out and about in the neighborhood because it means I’m not going to hear cars, bikes, or other pedestrians around me.  This is both handy for people who would otherwise interrupt me mid-thought and dangerous for faster moving (and more massive) vehicles.

I also use these frequently for calls, and I’ve found that when I have the cable which connects each end located behind my head, it is often difficult for the other person to hear me if I speak at a normal volume.  Relocating the inline mic to the front (so that it dangles under my chin like a paper birthday hat) seems to reliably fix this.


  • Great sound
  • Trivial to connect to a device
  • Comfortable in your ears or around your neck
  • Good for making calls (as long as the mic is in front)
  • Easy to attach a Tile so you don’t lose them
  • Good isolation from environment noise
  • MicroUSB instead of Lightning
    • Both a pro and a con because you probably have other devices that use microUSB already


  • Challenging to un-pair and repair in a hurry depending on the device
    • Still much easier than normal bluetooth devices though
  • Carrying case isn’t going to protect them
  • MicroUSB instead of lightning


 Yep, I’m happy with my purchase

Why Test Driven Development saves time and money

Often times developers insist that writing code first is the quickest way to get your product launched. For the most part this is a fallacy. Test Driven Development may result in slower ramp up, but that really means more investment in well designed and well structured code. Carpenters call this “measure twice and cut once.” Many developers go with the “measure, cut, measure, cut, measure, cut, glue, measure, get a new piece of wood” approach. Using a testing framework like Jasmine will reduce the overall costs (time and money) and improve the overall product.

TDD is also a great learning tool for newer developers. It helps encourage code reusability and encourages better design by reducing the reliance on monolithically giant functions/methods.

There’s a great write up I just came across that details several more benefits and explains how it improves the quality of the product while simultaneously reducing the overall time to market.

NSA code in Android OS

I thought the comic from the Joy of Tech was fairly cute and didn’t expect it to actually be true. After a bit of searching, it seems to be fairly well corroborated:

I found this quote from Business Week to be particularly interesting…

Through its open-source Android project, Google has agreed to incorporate code, first developed by the agency in 2011, into future versions of its mobile operating system, which according to market researcher IDC runs on three-quarters of the smartphones shipped globally in the first quarter. NSA officials say their code, known as Security Enhancements for Android, isolates apps to prevent hackers and marketers from gaining access to personal or corporate data stored on a device. Eventually all new phones, tablets, televisions, cars, and other devices that rely on Android will include NSA code, agency spokeswoman Vanee’ Vines said in an e-mailed statement.

Naturally, this made me wonder if the code does anything more than just make the devices more secure. I’d be curious to know if anyone in the Android community has actually examined the code to see if it has any hidden surprises. It also looks as though Apple doesn’t accept source code from government agencies… so there’s that.

I’m a big fan of open source for situations where it is appropriate — and many great technologies are developed this way. WordPress and its vast plugin community is a perfect example. The main core functionality is meticulously curated by a single organization; yet anyone can contribute to the project. Code contributions are considered, integrated, tested and then potentially approved into the platform (or not). This “Linux-like Benevolent Dictator” approach works well because there exists one ruling body to enforce and control a universally consistent distributable version of the software.

This approach breaks down if core code is modified because responsibility for upkeep of the code base transitions to the party modifying it. Updates cannot be deployed without merging or reapplying expensive changes. Developing for a branched version is no longer standard and when left unchecked, complicates the entire landscape for developers because of the potential for mind blowing fragmentation. While orthogonal updates are good (plugins/apps), taking ownership of a vast codebase is generally not so good; especially from a cost perspective where unanticipated support costs can easily outweigh the revenue and make it cost prohibitive to keep the branch up to date. In the case of WordPress, this happens when a developer doesn’t respect the boundaries with core code — these folks are pretty universally considered sloppy. With Android, these are the phone manufacturers that alter the core OS for their devices and subsequently fail to maintain the software. The OEMs have little choice but to take ownership of the support since tent-pole features like Email and Calendar are not even included as part of the core Android Framework.

An environment that requires each manufacturer assumes such a level of support for a framework they didn’t create leads to a fragmented, unmanageable ecosystem which punishes application developers and end users alike. In this muddied landscape, the NSA has just as much right and reason to contribute to the codebase as any other organization — and hey, at least they’re contributing, right? Just make sure you understand that when choosing your next mobile device.

The Force, or Not The Force

“The story of Star Wars, as originally written by William Shakespeare – in glorious iambic pentameter! Re-imagined in glorious iambic pentameter – and complete with twenty gorgeous Elizabethan illustrations – William Shakespeare’s Star Wars will astound and edify Rebels and Imperials alike. Zounds! This IS the book you’re looking for. $14.95”

Now available on Think Geek!