Seth Holloway

More joie de vivre than savoir-vivre.

SXSW 2016 in Review

SXSW 2016 was great! I’m enjoying the conference more every year. I think last year’s presentations were more thought-provoking, but there were several good talks this year too.



  • NativeScript: The Future of Mobile App Development – Wanna write a single JavaScript program that can run on iOS, Android, and Windows phone? Then NativeScript is for you! It’s a neat idea, and I think the fact that we keep seeing write-once-run-on-any-native-platform projects shows how valuable such a project would be.
  • The Future of Media Companies – Hard to believe that a BuzzFeed speech would have a click-bait title, right?!
  • Daring Greatly – To summarize: breathe. I’m being flippant. Brene Brown is amazing and her keynote was no exception. One of my favorites.
  • Unstoppable Trends that are Changing the World – Max, the co-founder and CTO of PayPal, is staggeringly smart. The presentation was good. The Q&A was great. In the time it took to read a question, Max could come up with a brilliant, self-assured response that was delivered with precision. He invoked the idea of a shrewd, genius VC.
  • The Linguistic Secrets Found in Billions of Emoji – I thought I could buy some nerd-cred with my wife with this one. I don’t use emoji like most people use emoji :–\



Android vs iOS

As I work on Android and iOS I’m refining my opinions. Below are my current thoughts about the two ecosystems and underlying languages.

Objective C vs Java

Note: I haven’t used Swift enough to fairly compare Swift to Objective C. The presence of Swift calls into question the future of Objective C; however, I think Swift eliminates a lot of my gripes with Objective C.

Objective C wins

  • Apple docs are generally more pleasant than JavaDocs.
  • You can pass messages to nil without a NullPointerException.
  • nil is false, which fits how I generally think about problems and saves some typing (if (foo) is not as explicit but explicit null checks are noisy and easily forgotten).
  • Method names can be more expressive: stringWithCString:inputString encoding:inputEncoding is more clear to me than String(String inputString, String encoding), which, in practice, is often more like String(String s, String e). As the signature expands the problem becomes more pronounced. Objective C essentially forces named arguments.
  • Drama surrounding Java’s future under Oracle; for example, Android Dalvik is definitely not Java

Java wins

  • In wide use outside mobile development, so Java is well known and understood
  • Simpler memory management, which decreases the amount of syntax and leads to fewer bugs. This combined with the fact that Java is more widely used means that people can more easily ramp up on Android.

iOS vs Android

Android wins

  • Easy and inexpensive (a one-time $25 fee) to create and publish apps.
  • Registering to open URLs. In Android an app can register to open specific links, like or seth://foo. This improves the user experience by operating on the link in the best app: if you have the YouTube app, open the video in the app, otherwise fall back to the default browser. iOS achieves a similar effect but cannot register for https:// schemes. In practice it works well enough, but custom schemes aren’t as ubiquitous as HTTP(S).
  • Strings and localization. Android forces you to use a message catalog, which has several advantages: (1) it’s better for reuse; (2) it makes it easier to refactor; (3) it centralizes text so docs and translators can engage more easily; (4) the toolchain is more stable—Xcode crashes a lot when working with localization and it doesn’t update text changes made through interface builder

iOS wins

  • One true way to do most things. iOS is pretty strict, but it’s easier to find the proper way to do things and leads to greater consistency.
  • More stable platform.
  • Higher quality apps and community, on average. While Apple’s approval process is a pain and their developer program fees are steep (compared to Android’s $0 cost), this probably leads to higher quality.

Notes from Medical School for Everyone

Medical School for Everyone: Grand Rounds Cases (Great Courses) by Roy Benaroch, M.D.

  • Diseases like Down’s syndrome and Ménière’s disease are shifting to drop the possessive noun, so you might hear Down syndrome, Ménière disease, Alzheimer disease, etc.

  • Doctors listen to symptoms then make a “differential diagnosis”, which is essentially a working theory. They then test the theory to confirm the diagnosis. (A “differential diagnosis” differentiates one particular disease from other diseases that present similar symptoms; e.g., “it could be brain cancer or a stroke—differential diagnosis is stroke.”)

  • Doctors should start with the most specific symptoms. For example, “stomach ache” could be caused by hundreds of conditions while “a large lump in my abdomen” has fewer causes.

  • Modern CPR recommendations are to lay the patient flat and begin aggressive chest compressions—no rescue breaths—while getting others to call 911 and seek an automated external defibrillator (AED). AEDs are becoming more common. They instruct laypeople how to proceed and administer shocks as needed.

  • Unexplained weight loss means your body is not absorbing nutrients properly or is burning calories in an unexplained way. Diabetes and cancer are common causes.

  • Don’t assume that your doctors are communicating. Make sure that records are shared between them and that they know about one another.

  • In emergency situations doctors use their A, B, Cs: Airway, Breathing, Circulation, Disability, Exposure. These are handled in sequence. The technique is meant to make a complex problem more tractable. If a patient has a blocked airway, they first intubate (or whatever is appropriate); if airway is clear they ensure the patient is breathing, then that the patient’s heart is working and the patient is not losing blood. Disability assesses the patient’s general competency, usually using the AVPU method, where the patient is graded as alert (A), voice responsive (V), pain responsive (P), or unresponsive (U). This is an alternative to the Glasgow Coma Scale, which uses six levels of eye, verbal, and motor (EVM) responses. Exposure is about a more general physical exam, looking for signs of trauma.

  • They think King Tut died of sickle-cell disease (a.k.a. sickle-cell anemia). Sickle-cell carriers are resistant to malaria, so it’s a great trait to have in places where malaria is a leading cause of death; however, sickle-cell is more likely to kill so the benefits are lost if a child inherits. (Sickle-cell is inherited in an autosomal recessive pattern where two carrier parents have a ¼ chance for the child to be unaffected, 2/4 chance for the child to be a carrier, and ¼ chance for the child to have sickle-cell.)

Books Read in 2016

Below are the books I read in 2016 categorized as fiction or non-fiction.



Want to squeeze in a few more books per year? I read a fair amount of physical and ebooks, but I rely on audiobooks to double my monthly reading. I use and love Audible. If you haven’t tried it, try a free audiobook on Audible (affiliate link).

My favorite reads in 2015

Different books give me different things, so it’s hard to rank them. But here are a few books that stand out from this year’s reading list.

  • The Stormlight Archive books 1 and 2 by Brandon Sanderson: The Way of Kings and Words of Radiance. I read seven Brandon Sanderson books in 2015, so it’s fair to say I enjoy his writing. This is set to be a 10-book epic fantasy series in the vein of The Wheel of Time, which Sanderson finished with aplomb. I hate having to wait so long to reach the conclusion, but I’m prepared to do so because the first two were so good.

  • Trust Me, I’m Lying by Ryan Holiday. The media is bullshit—read this book if you don’t believe me. Ryan Holiday talks candidly about the tricks he and so many others use to generate traffic.

  • So You’ve Been Publicly Shamed by Jon Ronson. Between this and Trust Me, I’m Lying I was really sad about the state of media and the rise of outrage porn. Real lives are ruined and only the media wins.

  • The Art of Asking by Amanda Palmer. Another book with ties to shame and acceptance. Amanda Palmer has a confessional style that is really disarming. People have been really mean to her, so her message of love and empathy is that much more amazing.

  • Radical Acceptance by Tara Brach. A breath of fresh air among the negativity in some of my other notable reads from the year. Reading this book made me feel better about myself.

  • Contagious by Jonah Berger. Contagious sheds light on why some things are shared and others aren’t, which was particularly interesting in the context of shame and media manipulation.

  • Things to shout out loud at parties. by Markus Almond. I love the style of this book. It’s a collection of no-more-than-one-page stories and thoughts so it’s very approachable. I think everyone should aim to write a similar book.

  • Jesus’ Son by Denis Johnson. Another book with a unique style. This one is a collection of stories about a junkie stumbling through life where the writing is as stark and jumpy as you’d expect from a junkie.

  • Becoming a Technical Leader by Gerald Weinberg. This book is unlike any other ‘how to be a leader’ book that I’ve read. It’s full of great ideas like, ‘maybe poor personal hygiene is about poor self-confidence so be mindful when offering advice’ and Satir’s interaction model. I highly recommend it for anyone who is becoming a technical leader.

  • The Phoenix Project by Gene Kim, Kevin Behr, and George Spafford. A modern version of The Goal, which helped reinforce past learnings about project management and software deployments.

I hope 2015 treated you well! I look forward to a similarly stimulating 2016.

Daily Checklist for Success

Personal rituals are fascinating to me. I’ve encountered them repeatedly in books, blogs, podcasts, and conversations. They’re generally boiled down to 1-60 minute morning rituals, but I chafe at the idea of an immutable hour-long routine because I have at least four different types of days (calm weekday, rushed weekday, calm weekend, and rushed weekend). It’s easier for me to think of the idealized morning routine as a daily checklist that I can achieve in whatever order during any waking period.

This year I’ve focused a lot on my own health and happiness, paying special attention to what drains me of my energy. Through reading and experimenting I’ve come up with my own checklist. These are the things that I shoot for every day (in no particular order):

  • smile for one minute – Smiling feels good, and there’s always something worth smiling about. But I rarely smile. I’m generally happy, but I tend to suppress the physical representation of my emotions so I don’t smile nearly as much as I’d like to. I’m working on making my outside match my inside more often.
  • journal 3+ things I’m grateful for – I try to smile while thinking of things I’m grateful for. It would be easy enough to say, “my wife”, “my health”, and “my job”, but I try to get more specific. Practicing gratitude has been very helpful for me.
  • journal anything I’m proud of myself for – I struggle with self-confidence and self-compassion, so this running log of goodness helps me feel better.
  • breathe from the diagram, trying to take only 4-6 breaths in one minute – It’s amazing how calm I feel after slowing my breathing—it’s like telling your body, “relax” and having your body listen.
  • sleep 7.5+ hours – Sleep is generally the first thing to go when I get busy; however, I’m finding that sleep really sets the stage for the day, so I’m trying to sleep more.
  • stand 2+ hours – On my laziest day I could stand for less than five minutes, which is bad for my mood and my metabolism. I installed a flip-up table so I can work standing up. I’m trying to stand once an hour (drinking a lot of water helps motivate me). I’ve also been doing a lot of housework recently, so I’m standing more.
  • walk at least 3,000 steps – You know that laziest day where I hardly stand? I definitely don’t walk much those days. For reference 3,000 steps is roughly 1.5 miles and 30 minutes moving around. Since I made 3,000 steps a goal I’ve been able to do it almost every day.
  • exercise until sweating – Typical exercise guidelines recommend around five hours of exercise per week, but most Americans are barely getting two hours, so I try to be realistic. I think “until sweating” is a better goal than any specific time. Get the blood moving and enjoy.
  • have sex – I never see this in people’s daily routines, but I think it’s very important so I had to include it. That said, this is probably my most skipped routine.
  • get some physical contact with loved ones (including pets) – Positive physical contact releases oxytocin, which makes us feel connected and warm. Blood pressure drops and we feel a sense of well-being. Pretty powerful stuff. I’ve read various studies saying it takes from one second to two minutes, so I shoot for one good purposeful spouse-hug and a minute of cuddling with the pets.
  • take a probiotic – Get your shit straight. For real.
  • eat some fiber – See above.
  • fill in vitamins and minerals you have missed or will miss from your food and drink – I generally eat well for 3/5 feedings (traditional meals plus snacks), but I still miss a lot of nutrients. Vitamin D, which is usually provided by exposure to the sun, is chronically low among programmers. If I can’t go for a little walk in the sun then I take my vitamin D.
  • drink 64+ oz of water – Studies refute the biological need for 8 cups of water, but I’ve found that it’s fairly easy and it makes me feel better.
  • brush your teeth twice – Your mother will be proud.
  • make your bed – For me, this helps set the stage for a productive day. I don’t do anything fancy—just straighten the sheets and comforter and pull them up over my pillows.
  • stretch – My flexibility sucks. I think some of my body aches come from poor flexibility, so I’m working to improve my general mobility.
  • communicate with someone important to me (preferably someone that I don’t work or live with) – Relationships mean a lot to me, yet I’m historically bad at keeping in touch. While far from perfect now, by focusing on it every day I’ve been able to keep up with more loved ones.
  • meditate – I try to meditate every day, but “meditation” is a really open-ended idea. I’ve found success in short mindfulness breaks. Focusing on breathing from my diaphragm, clearing my mind with intense exercise, and recognizing the blessings around me all achieve a similar effect for me.

If you’re on the fence about any item, run the experiment and see how you feel after trying it.

So, what’s your daily checklist? What works for you? What percentage of your tasks do you normally complete?

DEFCON 2015 in Review

DEFCON 23 was my favorite DEFCON experience so far. There were a lot of great talks and fun after-hours events. Below is a list of talks that I attended, for posterity’s sake.





Books Read March 2015

A couple long books this month.

Anathem by Neal Stephenson. Hmm. I love Neal Stephenson—Diamond Age is one of my favorite books ever—but this book didn’t do it for me. I didn’t get it. It was intelligent and well researched—it just wasn’t for me.

The Well of Ascension by Brandon Sanderson. Book Two of the Mistborn trilogy. It started slowly, but ended well. Let me expand on that a bit: the first book—to me—was about a rebellion in a novel low-magic world. The second book has to pick up the pieces of that rebellion, so it’s more about government and interpersonal conflicts.

SXSW 2015 in Review

I enjoyed myself a lot at SXSW 2015. I made it to a lot of sessions that were interesting and thought-provoking.






Books Read February 2015

One really long book dominated my reading this this month—I only finished two books, but they were both very good.

The Count of Monte Cristo by Alexandre Dumas. This book is a classic for a reason. I prefer modern books, but I decided to give Count of Monte Cristo a try, and I’m glad I did. The story was really good.

Warbound by Larry Correia. I’m really enjoying Larry Correia. He has the adventure fantasy story down. His novels are fun and well-paced with memorable characters, and they feel like the right amount of story per book. Warbound concludes the Grimnoir Chronicles, providing a fitting finish.