Disneyland 2018

Up until this vacation, the Powers Family had been on the run, basically driving in the sun, looking out for ourselves (that's number one!). But then, we made a decision, to head back to California, right back where we started from.

And it was epic. We did two days in Anaheim at Disneyland and then a week in Laguna Beach at the Ritz! Here are some of the more choice moments.

A welcoming gift from our awesome travel agent: two delicious Mouse-themed cakes. These were waiting for us in the room when we checked in.

Continue reading...

I've long thought that "Lost in Translation" had the all-time best ending to any film. That said, I just saw "Call Me By Your Name" and I may need to change my answer.

Without any context at all, below are both endings. Both are gutting.

I finished Netflix's revival of The Staircase and it was excellent. What struck me throughout was how unsentimental, unstylized, and overwhelmingly grounded the series was. It felt less like a long documentary series and more like I was an invisible member of the Peterson family, silently going through the events with them. There's tons of minutiae and detail -- the series isn't afraid to show you long and mostly uncut courtroom scenes or legal strategizing scences, or even just scenes of the family hanging out in silence, anxiously day-dreaming.

After I finished the series I came across The Owl Theory, covered many places on the Internets, including in this Wired article and in the YouTube video below:

Much like Making a Murderer, I don't claim to have an informed opinion on whether the series' subject is innocent or not. I do, however, feel strongly that Peterson is not guilty. And not guilty and innocent are two very different classifications -- a point that I've only recently come to appreciate.

I have no topical reason for posting three The National videos today -- it's just something that I feel compelled to do. I find myself returning to these videos over and over -- this band is devastating.

Of note: The first video (above) features Sufjan Stevens singing backup. Also related to that same video: I was convinced for a few minutes that Eric Clapton was playing the weird harmonica/piano-hybrid thing.

Learning Ruby on Rails: Part I - The Language

Most of my programming experience has been in PHP, JavaScript/JQuery, and VB.NET. When I worked in Support at Code Climate, it became obvious to me that I had picked the wrong languages, and that Ruby was the better choice. With its super simple and legible syntax, Gem support, and stellar framework, I was excited to dig in!

A few years back I dabbled in trying to learn Ruby on Rails, but I made the mistake of trying to teach myself both the language and the framework at the same time. That led to mostly confusion and frustration. I've heard many different opinions on this subject, but I now strongly believe that you should have a firm grasp of the language before trying to learn one of its frameworks.

For the past year or so I've been focusing solely on Ruby, primarily by consuming Team Treehouse's Learn Ruby track. It's a 20-hour course in all and I'm stoked to have finally completed it! Next up: Rails!

While moving through the Ruby course I took copious notes. I thought it would be helpful to share those notes here. Enjoy!

Continue reading...

A buddy of mine did some UX work for Hornet, the gay social network. Having no idea that such a network existed, I checked out their website and became immediately fascinated with their documented guidelines around images uploaded to the platform. The specificity here is unreal.

  • A partial nude ass shot (full nude ass shot is a serious violation).
  • Photos that aren't you (celebs, your ex, that guy you hate, your mother-in-law etc). 
  • Genitals covered up by a towel, hat, tea cup, thimble, bed sheet, emoji, your hand, etc.
  • Grabbing/holding or touching genitals or genital area. That includes through your shorts.
  • Erection or outline of genitals through clothing. This is a subjective one. We allow a 'genital bulge'. But, if the outline shows the shape of the penis and testicles, then it will be rejected. This can be affected by how tight the clothing is and/or how big a boy you are. 
  • Sex toys or props. 
  • Pubic hair or the area of the groin where pubic hair normally grows.
  • Photos with underpants visible. 
  • Photos of any obscene gestures and/or lewd behavior. (Flippin' the bird, the finger etc)
  • Illegal drug use or drug paraphernalia (if it looks dodgy, it's a no-no, such as a 'roll-up' cigarette). Also includes drug use in a State or Country where it may be legal. 
  • Depictions of underage drinking (as we aren't Interpol and don't know the legal age for drinking in each country, anyone who looks young will have the photo rejected). 
  • Drawings, painting, cartoons, artwork or overly stylized photographs
  • Image used to advertise services, goods, events, websites or apps (your profile may be suspended for being commercial).
  • Copyrighted or photographer marked images or illustrations
  • No profanity or curse words on a photo. Includes holding up paper with curse words written on it. 
  • Photo of just the crotch: front, side, back, pixelated, clothed, whatever. This would include a photo taken from the waist down. Just because your legs are in it does not mean it isn't a crotch shot. If the main focus is of the crotch, it's not allowed. As a general guide, if your head is not in the photo, then it is more likely to be considered a crotch shot. 
  • Extreme close-up photos, photos where it is unclear what the photo is of. This includes single color photos.
  • Photos with only, or mainly, text. As a general rule, one word or one line of text superimposed on a photo is acceptable (unless the font is large and dominates the photo). 2 or 3 lines of text will likely result in a photo being rejected. 
  • Photos which are gross, disgusting, nasty, yucky, terrible, abhorrent, repugnant. For example, a person vomiting, or a photo of vomit. 

What I would give to be a fly-on-the-wall in the internal meetings that it inevitably took to document these rules.

I finally found a calorie counting iOS app that I like. It's called CalorieCalc.

It's crazy dead simple, which is what I prefer. Don't give me a giant food database to pull from, don't try to track my exercise, and don't ask me to care about micro-nutrients. Just let me tell you my calorie limit for the day and then allow me to burn down from that limit by manually entering calories for each meal/snack.

I suspect that I'm in the vast minority in wanting such a limited calorie counting app.

OMG! A new single from the utterly flawless Hayden James.



One of my more favorite moments in life: The day Hayden James retweeted me.

Having Rubocop tell me that my Ruby code is stylistically flawless makes me feel very good. No, really.

I did some iPhone house cleaning today, and I'm surprised by how refreshed it makes me feel.

I changed my "lock screen" image:

Best of all, by categorizing all of my apps I forced everything onto a single page.

It's the little things...

How to Rob is a 1999 song from 50 Cent (that I just discovered). It's apparently what initially put 50 on everyone's radar. 

Aside from being a great track, its approach is interesting: 50 envisions himself robbing the world's biggest hip hop and R&B artists (at the time), one by one. The song's Wikipedia page even lists out each artist that 50 targets (in the order in which they are mentioned):

  • Lil' Kim
  • P Diddy
  • Bobby Brown and Whitney Houston
  • Brian McKnight
  • Keith Sweat
  • Cardan
  • Harlem World
  • Mase
  • Ol' Dirty Bastard
  • Foxy Brown and Kurupt
  • Jay-Z
  • Case
  • Trackmasters
  • Slick Rick
  • Stevie J
  • Big Pun
  • Master P
  • Silkk The Shocker
  • Will Smith and Jada Pinkett Smith
  • Timbaland and Missy Elliott
  • Joe
  • Jermaine Dupri and Da Brat
  • DMX
  • Treach
  • DJ Clue
  • TQ
  • Raekwon, Ghostface Killah and RZA
  • Sticky Fingaz
  • Fredro Starr
  • Canibus
  • Heavy D
  • Juvenile
  • Blackstreet
  • R. Kelly (though not by name, is referenced within the lyrics)
  • Boyz II Men and Michael Bivins
  • Mike Tyson and Robin Givens
  • Mister Cee
  • Busta Rhymes and the Flipmode Squad
  • Kirk Franklin

My favorite two lines turn out to both be fat jokes (which I normally don't condone). On Big Pun:

I'll rob Pun without a gun, snatch his piece then run
This n____ weigh 400 pounds, how he gonna catch me, son?

And on Missy Elliott:

Run up on Timbaland and Missy with the pound
Like, "You, give me the cash; you, put the hot dog down"

The song apparently won 50 both a bunch of admirers and a slew of enemies, which is not surprising. All of the lyrics are on Genius.

Today I finished the Mogul: The Life and Death of Chris Lighty podcast. I enjoyed it.

If you're not familiar with Lighty, he was a "500 pound Gorilla"-level manager of major hip hop artists. When I started the podcast, I didn't think I had heard of him, but it didn't take me long to recognise him as A Tribe Called Quest's manager that is a talking head in Michael Rapaport's outstanding documentary Beats, Rhymes & Life: The Travels of A Tribe Called Quest (I vividly remember Lighty from that documentary, because he used the term "esoteric" in his interview in referring to Q-Tip, and I remember that was the first time I had heard that word used before). Lighty's was a true rags-to-riches story, which ends in a tragic suicide.

Aside from being a well-produced, thoughtful deep dive into an interesting subject, I was struck throughout the podcast by how wonderful it is that someone would take the time to tell this story. Lighty isn't a big enough name to carry a film documentary, and that's where the podcast medium really shines. It allows you to do deep dives into subjects that have (seemingly) small audiences, but using a richer medium than long-form written journalism.

Below is a trailer of the podcast.

Childish Gambino's new music video This is America is something special, to say the least.



Provocative, disturbing, and dense...while somehow still catchy. Donald Glover continues to surprise me.

I quickly surged through the entire Heaven's Gate podcast. I had obviously heard of the group before, but I only knew the big broad strokes. Below are three new things that I learned from the podcast:

  • While Herff Applewhite was the face of the group (and the face that I remember from news coverage), the group's dominant leader/founder was Bonnie Nettles (who died 12 years before the mass suicide). Nettles and Applewhite were known as Ti and Do, respectfully
  • A number of the male members castrated themselves while in the group. From a Rolling Stone article:
    Applewhite and other members underwent the procedure to help ensure they remained celibate. Applewhite, who had been fired as a music professor at the University of St. Thomas in 1970 after administrators learned he had sex with a male student, sought cures for his homosexual urges. He wanted to find a way to have "platonic relationship where he could develop his full potential without sexual entanglements," said one reporter who infiltrated the group in 1975. Castration, Applewhite believed, could make that easier. Ultimately, the group instituted a strict "no sex, no human-level relationships, no socializing" rule.

    Though decisions like this were always left up to the members, eight followers were castrated voluntarily, including Applewhite. "They couldn't stop smiling and giggling," former member DiAngelo told Newsweek. "They were excited about it."
  • While 39 members committed suicide as a group in March 1997, four additional members (who weren't present during the group suicide) killed themself later, on their own.
Below is a trailer for the podcast. I recommend it.

Below is a good example of someone brand new to Ruby (me!) and someone with Ruby experience (not me!) solving the exact same problem. These two methods have the same goal: accept a string, reverse and return it.
def solution(sentence)

  sentence_as_array = sentence.split(" ").reverse!

  reversed_string = ""
  sentence_as_array.each do |x|

    reversed_string = reversed_string + x + " "

  end

  return reversed_string.chop

end

def better_solution(sentence)

  sentence.split(" ").reverse.join(" ")

end

It's crazy how much more elegant the second method is.

I enjoyed the Chef's Table episode on Christina Tosi and her Momofuku Milk Bar. Her menu is fun to look over, especially Cereal Milk Soft Serve, which is, "Made with milk, cornflakes, brown sugar and a pinch of salt, it tastes just like the milk at the bottom of a bowl of cornflakes!"

Parkinson's Law claims that:

  • Work expands so as to fill the time available for its completion.
  • If you wait until the last minute, it only takes a minute to do.
  • The demand upon a resource tends to expand to match the supply of the resource (If the price is zero).
  • The amount of time that one has to perform a task is the amount of time it will take to complete the task.
I'm scared to admit that this is very likely true, especially with things that I work on. When I'm sometimes forced to push something out with very little time and under pressure, I'm often surprised (and secretly bummed) that no one notices. Time boxing and forcing mechanisms are probably good things, in many cases.

Reverend Carlton Pearson was a popular and traditional Evangelical leader; a mentee of Oral Roberts. And then one day, he realized that he no longer believed in hell. He now believed that God saves all, through universal reconciliation.

When my little girl, who'll be nine next month, was an infant, I was watching the evening news. The Hutus and Tutsis were returning from Rwanda to Uganda. And Peter Jennings was doing a piece on it. Now, Majesty was in my lap, my little girl. I'm eating the meal, and I'm watching these little kids with swollen bellies. And it looks like their skin is stretched across their little skeletal remains. Their hair is kind of red from malnutrition. The babies, they've got flies in the corners of their eyes and in their mouths. And they reach for their mother's breast. And the mother's breast looks like a little pencil hanging there. I mean the baby's reaching for the breast. There's no milk. And I, with my little fat-faced baby, and a plate of food, and a big screen television -- and I said, God, I don't know how you could call yourself a loving, sovereign God, and allow these people to suffer this way, and just suck them right into hell, which is what was my assumption. And I heard a voice say within me, so that's what you think we're doing? And I remember I didn't say yes or no. I said, that's what I've been taught. We're sucking them into hell? I said yes. And what would change that? Well, they need to get saved. And how would that happen? Well, somebody needs to preach the gospel to them and get them saved. So if you think that's the only way they're going to get saved is for somebody to preach the gospel to them and that we're sucking them into hell, why don't you put your little baby down, turn your big screen television off, push your plate away, get on the first thing smoking, and go get them saved? And I remember I broke into tears. I was very upset. I remember thinking, God, don't put that guilt on me. I've given you the best 40 years of my life. Besides, I can't save the whole world. I'm doing the best I can. I can't save this whole world. And that's where I remember -- and I believe it was God saying, precisely, you can't save this world. That's what we did.
This realization eventually sent his career into a death spiral.

This American Life covered this story in 2005, but re-ran it again recently in promotion of their upcoming Netflix series "Come Sunday."



I haven't watched the show yet, but the podcast was moving. I found myself rooting for and sympathizing with Pearson. He seems like a genuine and brave man that is following his heart despite the costs.

Fortune has a solid piece on Mark Karpelès, the former owner of Mt. Gox. If you haven't heard of Mt. Gox, it was once the world's largest bitcoin exchange, which flamed out in epic fashion after mysteriously losing 850,000 of its customer's bitcoins. But wait, the plots thickens.

It wasn’t until his lawyers had gone home for the day that Karpelès could retreat to his computer, and that’s when he noticed the shocking number on his screen. Following his company’s collapse, he’d spent days methodically double-checking Mt. Gox’s old digital wallets, where the secret alphanumeric keys for accessing Bitcoins are stored. One after another—a dozen so far—the wallets had come up empty. But this time, when the blockchain-scanning program finished running after six hours, it had silently served up an unexpected result: He’d found 200,000 Bitcoins, stashed away in an archived file in the cloud—apparently forgotten and untouched for three years.
So great, you're thinking: he found 200,000 of the 850,000 missing bitcoins. Yes, but also, by that time the price of a single bitcoin had sky-rocketed. This meant that the 200,000 re-discovered bitcoins were worth ~10x more than lost bitcoins. Now what?

I'm constantly re-using the same exact code snippets, for which I never remember the exact syntax. Today I found the free and awesome Snippet Bar, which lives in my macOS menu bar and will prevent me from having to re-look up each code snippet's syntax every time that I need to use it. Win!