Random Lessons while skiing

I recently wrapped up a weeklong ski trip with friends. For those who don’t know me that well, I really, really love skiing.

There’s something amazing about wearing uncomfortable boots with wooden sticks affixed to them and leaning side to side while traversing down a snowy hill. That’s a gross oversimplification of skiing; there’s so much more to it: The equipment, the speed, the terrain, the conditions, the visibility, and the technique.

There’s nothing more exhilarating than riding the rails down some fresh corduroy on a blue bird day (skiing with proper form down a freshly groomed run on a sunny day). Or cruising off-piste on untouched pow (skiing through the woods after a storm has left fresh powder and no one has been through yet).

 

Interesting insight

While skiing, I had quite the interesting insight: we humans always crave what’s new and fresh. It is just so exciting.

I want to ski on a trail or through fresh powder that no one else has skiied on.

And I will wake up at 6am to make this a reality. First tracks is a real thing. It excites me. It is new, it is shiny. There’s no better feeling than the rush that comes from a brand new experience. It is like that new car smell. And once you get it, you crave more.

However, for us to truly enjoy those new moments, we have to practice consistently on much less desirable conditions. Only then, when the moment comes, we are ready to “enjoy the shit out of it.” But without all of that practice, you will only have a mediocre experience.

I think that work follows the same pattern. Be patient. Work hard during the toughest of times; work on perfecting your skills; work on building systems. And then finally, when the moment comes, you are 100% ready to seize the moment.

Random A missed flight.

Logistics are everything. This is the first flight that I have missed in a long while. It’s really fascinating how one simple mistake can have resounding repercussions throughout an entirely well-planned day.

Yup. Missing a 6am flight totally changed the course of my Monday. I was 100% ready to get this day started right. Instead, I now sit here grounded. Waiting for standby without a guarantee that I will be able to continue my day in the manner in which I have planned it.

Announcement Disconnect. Then, reconnect.

Hi social media –

In late 2017, you were like a broken router. All of the messages that I received from you were garbled and distracting. I tried so hard to quit you. And on January 1st, 2018, I unplugged you.

It wasn’t easy and I struggled a lot. You may have noticed that I haven’t posted anything. I’ve also turned off all of your dopamine inducing notifications. To my friends and you, this may have made me appear a bit more oblivious.

I’m sorry. I just needed some space.

“FRIEND and 13 others have recently tweeted. Tap to see.”

“FRIEND has posted a new photo. Tap to see it.”

Damn it. You kept updating me on what is going on. It made it so hard to focus. It made it hard to be 100% present.

There have been times where I have been intently staring at my phone when amazing people are right there sitting in front of me. How have I let this shiny blue screen capture so much of my attention?

Only when I was brave enough to press the power button and the screen faded to black, did the people from behind the shiny blue screen emerge.

I was back. We were back. We talked, we shared ideas, we cracked jokes, and we laughed together. This glowing portal to the internet that I carry in my pocket is a tool, not a substitute for the people around me.

I’ve found myself 10 times happier in the past month and change.

I recently celebrated Chinese New Year with my family and my phone remained in my pocket (on airplane mode) during all our meals. It’s been a while since I have felt this relaxed; it’s been a while since I have felt this connected; it’s been a while since I have laughed this hard.

My goal for 2018 is to be more present. And by unplugging social media, I learned something important: it requires a lot of discipline to be present.

So I’m trying my hardest to change an old, bad habit. No more shiny blue screens when I’m surrounded by great people. I’m still human, so help me by holding me accountable.

And as I say this, I’m plugging back in my router. The lights are starting to blink. I’m back!

Design Pet peeve: Wrong year in the footer

One of the simplest things that most folks do incorrectly when creating a website is hardcode the copyright year in the footer. Ugh.

It’s a little thing, but it shows how attentive the developers or designers are to the little details. Can they write code that will stand the test of time? Do they think of all of the edge cases? Or are they more shortsighted with their coding approach? It is January 2018, you can easily surf around to your favorite sites and see which ones were lazy—their sites say “© 2017.”

Pst! It should auto-magically say”© 2018.” That’s the beauty of writing code. It should automatically work.

It’s a pet peeve of mine, so let me show you how best to do it in a few languages.

Output the current year in PHP

<?php echo date('Y'); ?>

Output the current year in Rails

<%= Time.current.to_date.end_of_month.strftime('%Y '); %>

Output the current year in Javascript

<script type="text/javascript">document.write(new Date().getFullYear());</script>

Happy new year (for many years to come)!

Photo by Freddy Marschall on Unsplash

Music How to rock 2018 and &Run

That isn’t a typo in the title. &Run is the name of the latest song by Sir Sly.

I like this song because aside from the sick ass beats, it provides a very clear theme song for 2018. Yes, technically, I think that it is a song about breaking up. But to me, it sounded more like a song about entrepreneurship the first time that I heard it. Maybe I was working too hard over the holiday break. Here’s three lyrics that really resonated with me and my current journey building Sonix:

1. It’s all about execution

We are just who we are; no time for “what if”s and “what if not”s

We are who we are. These are the resources that we have at our disposal. As entrepreneurs, we are both people and resource constrained. The feeling of starting a company is simple: too few people doing too many things with a shoestring budget. It’s not glamorous, but constraints spawn creativity.

It is all about execution.Let’s play to our strengths and find clever ways to solve for those skillset gaps. We are who we are. Let’s be very self-aware of our limitations. No time for “what if”s and “what if not”s. More doing, let’s spend less time brainstorming about the perfect idea. More talking to our customers, let’s spend less time talking about what we think they want.

2. There are many possible outcomes

Heavy as the setting sun
Oh, I’m counting all the numbers between zero and one

Everyone thinks of a startup as being either an utter failure or a penultimate success (please refer to Zero to One by Peter Thiel). The sun always sets with an inherent heaviness that feels inevitable—most startups will fail. Ironically, it isn’t as black and white as you think—there are lots of numbers between zero and one. There are so many possible outcomes in between those extremes. It’s really hard to become a one. There are many reasons why people choose to start a new venture; I’m excited about the current journey that I’m on with Sonix.

3. Let’s go!

Happy, but a little lost
Well, I don’t know what I don’t know
So I’ll kick my shoes off and
Run into the setting sun

That’s me in 2018. Happy, but a little lost. I don’t know what I don’t know. This whole journey is going to be a learning experience for me; those are the experiences that I enjoy the most. Get ready 2018. I’m going to kick off my shoes and run into that setting sun. Wish me luck!

 

Lyrics to &Run by Sir Sly:

You could be another face that I forget soon as I move along
Everybody makes mistakes; am I mistaken for the way I carry on?
You could show a little grace, but maybe things just went a bit too far
We are just who we are; no time for “what if”s and “what if not”s

Heavy as the setting sun
Oh, I’m counting all the numbers between zero and one
Happy, but a little lost
Well, I don’t know what I don’t know
So I’ll kick my shoes off and run (yeah)
Kick my shoes off and run
Kick my shoes off and run (run, we’ll be running barefoot)
Kick my shoes off and run
Kick my shoes off and

You could be a happy bride and we could still be blissfully in love
Instead of being 25 and already feeling like you have had enough
You could be my one regret, infinitely spiraling me down
Sometimes the world feels loud

Heavy as the setting sun
Oh, I’m counting all the numbers between zero and one
Happy, but a little lost
Well, I don’t know what I don’t know
So I’ll kick my shoes off and run (yeah)
Kick my shoes off and run
Kick my shoes off and run (run, we’ll be running barefoot)
Kick my shoes off and run
Kick my shoes off and

Run
Run, run, run
Run
Run, run, run

Heavy as the setting sun
Oh, I’m counting all the numbers between zero and one (run, run, run)
Happy, but a little lost
Well, I don’t know what I don’t know
So I’ll kick my shoes off and
Run into the setting sun

Run, run, run
Run into the setting sun
Run, run, run
I’ll run into the setting sun
Run, run, run
I’ll run into the setting sun

 

WordPress Easy way to hide PHP warnings and errors in WordPress

Sometimes you have a plugin or a theme in WordPress that has a php warning, but it is highly dependent on another piece of code that you cannot fix without doing some intricate code forking.

For example, earlier today, I got this warning message:
Warning: count(): Parameter must be an array or an object that implements Countable in /wp-includes/post-template.php on line 284

First of all, that is quite possibly the most poorly written warning/error message. No one can easily understand this message without immediately copying and pasting it into Google. Which is what I did. Luckily, I found a simple solution for hiding warning messages like this.

Add this to your wp-config.php file:

define('WP_DEBUG', false);

Here is a way more aggressive version if that doesn’t work:

define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );

That’s it. w00t!

Design Why you need to change strategies for your audience

I recently came across this article about Jérôme Brochot, a French chef based in Montceau-les-Mines, France, who won a Michelin Star, but decided to give it back. It must have been a difficult decision to forego the honor that comes with attaining a Michelin Star, but it also shows a clear constraint that Jérôme established—he identified the audience that he wanted to serve.

Food at Le France Restaurant by Jérôme Brochot in Montceau-les-Mines, France.

By maintaining and growing a Michelin Star restaurant, Jérôme would have continued investing in high quality ingredients and techniques to cater to a wealthy clientele. However, since the surrounding town was slowly declining and its residents unable to afford the luxurious cuisine, it became increasingly difficult to keep the restaurant full. I would imagine that it is extremely difficult to continuously acquire new customers for high end restaurants; especially when local residents cannot afford such extravagance.

Sometimes being too fancy is a detriment. A simple cuisine that encourages regular customers might be the best strategy for building a sustainable business—especially since convenience might trump uniqueness. This usually explains why most restaurants cater to the tastes of local residents.

Clearly defining and understanding your audience is a key skill that I am working hard to improve. A while back, I wrote on Medium how Michelin stars are a great mental model to use when thinking about design. And this article made me re-think some of my original thoughts. I’d like to add a new caveat.

Everything does not need to be a 3 Michelin Star experience

I think that a lot of first time designers and product managers get caught up trying to make every feature “special.” And while this is a noble goal, I would counter that everything doesn’t need to be unique. It’s okay that a feature simply follows the styleguide that we have established.

The second order repercussion that junior PMs and designers do not easily recognize is simple: By having so many unique features, it will be difficult to establish clear user flows and a design paradigm that is consistent across different features/product lines. Paradigms and standards exist for a reason—they simplify the development of ancillary features and options.

Use the 3-Michellin Star experience for core, differentiated flows that make you 10x better than the competition. For other features, sometimes the simplest solution is the best solution because it is consistent, simple, and familiar for your audience. Don’t let your ego get in the way of quickly presenting a simple solution to your intended audience.

Music 3 reasons why I love “Walk on Water” by Eminem

This is my favorite song of 2017. I like how it is both reflective and honest. There is a new sense of self-awareness and humility from Eminem that emerges from the angry and rebellious version of him (aka Slim Shady) that we fondly remember.

2017 has been a highly introspective year for me full of change and acceptance. I’ve changed a lot over the past year more-so than I realized. I’ve also accepted a lot of my shortcomings. No one is perfect, even though we all strive for perfection. Plus, we all have critics—people who judge us or criticize us for those shortcomings.

Eminem’s song is a verbal assault directed at those critics and a plea for others to just accept him for who he is. It’s easy to criticize others who are taking action, but really hard to take action ourselves.

This song captures my 2017 so very well. It’s easy to sit on the sidelines and critique. A respected mentor of mine always discussed the difference between talkers and do-ers. 2018 is going to be an incredible year of do-ing.

There are three main sections of this song that resonated deeply with me:

1. I’m only human

(Beyoncé:)
I walk on water
But I ain’t no Jesus
I walk on water
But only when it freezes

‘Cause I’m only human, just like you
Making my mistakes, oh if you only knew
I don’t think you should believe in me the way that you do
‘Cause I’m terrified to let you down, oh
If I walked on water, I would drown

Beyonce’s choruses throughout the song build up to this final and full chorus as she highlights the imperfection of being human.

We aren’t god-like, we are humans. I am far from perfect. I know this. I have made my own share of mistakes. But there are so many people who believe in me so much. And I thank them for that, but I’m so scared of messing it all up and letting them down. It’s what fuels me, but keeps me a bit anxious at the same time.

I love how Beyonce’s harrowing words and beautiful voice paints a gloomy, yet etherial portrait of those unachievable expectations that other people place upon us. Ironically, from my experience, trying to meet the unreal expectations of others often causes me to make mistakes.

2. This used to be fun

It’s true, I’m a Rubik’s, a beautiful mess
At times juvenile, yes, I goof and I jest
A flawed human, I guess
But I’m doin’ my best to not ruin your expectations and meet ’em, but first
The “Speedom” verse, now Big Sean
He’s going too fast, is he gonna shout or curse out his mom?
There was a time I had the world by the balls, eating out my palm
Every album song I was spazzin’ the fuck out on
And now I’m gettin’ clowned and frowned on

I love the first three lines. I’m a mess, I goof and I jest, and a flawed human, I guess. What a great lyric and rhyme.

I have tasted success, but now I have to go through the painful process of building myself up again. With each new journey, you learn about a new space/a new industry and you inevitably have to start at the most logical position: the bottom.

It used to be fun, because I was lucky. I hope that luck strikes again, but at the same time, it isn’t too fun being at the bottom. I know that the journey up is fraught with obstacles. And I will make every effort to climb out of it. This used to be fun. But now, others have such high expectations of me.

3. Speaking of high expectations

(Eminem:)
Why are expectations so high?
Is it the bar I set?
My arms, I stretch, but I can’t reach
A far cry from it, or it’s in my grasp, but as
Soon as I grab, squeeze
I lose my grip like the flyin’ trapeze
Into the dark I plummet, now the sky’s blackenin’
I know the mark’s high, butterflies rip apart my stomach
Knowin’ that no matter what bars I come with
You’re gonna harp, gripe, and
That’s a hard Vicodin to swallow, so I scrap these
As pressure increases like khakis
I feel the ice cracking

The curse of high expectations is that they are oftentimes unreachable. The curse of low expectations is that they oftentimes result in mediocrity. Which would you rather have?

I personally choose high expectations. But that means that I have to be okay with knowing that these expectations will be just a bit out of my reach. And that there is a possibility that I will fail. That I will reach out and feel those expectations slip out of my grasp.

But it is okay. Because as I plummet, I know two things. 1) that I’ll probably be screaming the whole way down and 2) that the true friends that I have will be there with open arms to catch me. They usually are the ones who cheer for me to succeed and they are the ones who pick me up when I fall.

I’m excited for 2018. I fell down quite a bit in 2017. I wandered a bit aimlessly trying to find a problem that would interest me. To all of those folks who messaged me, who wrote me emails, and who graced me with a cup of coffee or a glass of wine, thank you. I made it through 2017 because of you. I felt the ice cracking, but I also felt your outstretched hands.

I walk on water only when it freezes and with great friends by my side.

 

“Walk on Water” by Eminem full lyrics:

(Beyoncé (Eminem):)
I walk on water
But I ain’t no Jesus
I walk on water
But only when it freezes (fuck)

(Eminem:)
Why are expectations so high?
Is it the bar I set?
My arms, I stretch, but I can’t reach
A far cry from it, or it’s in my grasp, but as
Soon as I grab, squeeze
I lose my grip like the flyin’ trapeze
Into the dark I plummet, now the sky’s blackenin’
I know the mark’s high, butterflies rip apart my stomach
Knowin’ that no matter what bars I come with
You’re gonna harp, gripe, and
That’s a hard Vicodin to swallow, so I scrap these
As pressure increases like khakis
I feel the ice cracking, because

(Beyoncé (Eminem):)
I walk on water
But I ain’t no Jesus
I walk on water (shit)
But only when it freezes

(Eminem:)
It’s the curse of the standard, that the first of the Mathers disc set
Always in search of the verse that I haven’t spit yet
Will this step just be another misstep
To tarnish, whatever the legacy, love or respect
I’ve garnered?
The rhyme has to be perfect, the delivery flawless
And it always feels like I’m hittin’ the mark
‘Til I go sit in the car, listen and pick it apart
Like, “This shit is garbage!”
God’s given me all this, still I feel no different regardless
Kids look to me as a god, this is retarded
If only they knew, it’s a facade and it’s exhaustive
And I try not to listen to nonsense
But if you bitches are tryin’ to strip me of my confidence
Mission accomplished
I’m not God-sent
Nas, Rakim, Pac, B.I.G., James Todd Smith, and I’m not Prince, so

(Beyoncé:)
I walk on water
But I ain’t no Jesus
I walk on water
But only when it freezes

‘Cause I’m only human, just like you
Making my mistakes, oh if you only knew
I don’t think you should believe in me the way that you do
‘Cause I’m terrified to let you down, oh

(Eminem:)
It’s true, I’m a Rubik’s, a beautiful mess
At times juvenile, yes, I goof and I jest
A flawed human, I guess
But I’m doin’ my best to not ruin your expectations and meet ’em, but first
The “Speedom” verse, now Big Sean
He’s going too fast, is he gonna shout or curse out his mom?
There was a time I had the world by the balls, eating out my palm
Every album song I was spazzin’ the fuck out on
And now I’m gettin’ clowned and frowned on
But the only one who’s looking down on
Me that matters now’s DeShaun
Am I lucky to be around this long?
Begs the question though
Especially after the methadone
As yesterday fades and the Dresden home
Is burnt to the ground, and all that’s left of my house is lawn
The crowds are gone
And it’s time to wash out the blonde
Sales decline, the curtains drawn
They’re closing the set, I’m still poking my head from out behind
And everyone who has doubt, remind
Now take your best rhyme, outdo it, now do it a thousand times
Now let ’em tell ya the world no longer cares or gives a fuck about your rhymes
And as I grow outta sight, outta mind, I might go outta mine
‘Cause how do I ever let this mic go without a fight
When I made a fuckin’ tightrope outta twine?
But when I do fall from these heights though, I’ll be fine
I won’t pout or cry or spiral down or whine
But I’ll decide if it’s my final bow this time around, ’cause

(Beyoncé:)
I walk on water
But I ain’t no Jesus
I walk on water
But only when it freezes

‘Cause I’m only human, just like you
I’ve been making my mistakes, oh if you only knew
I don’t think you should believe in me the way that you do
‘Cause I’m terrified to let you down, oh
If I walked on water, I would drown

(Eminem:)
‘Cause I’m just a man
But as long as I got a mic, I’m godlike
So me and you are not alike
Bitch, I wrote “Stan”

Songwriters: Beyonce Giselle Knowles / Marshall Mathers / Miguel Sijbers / Skylar Grey / Walk on Water lyrics © Warner/Chappell Music, Inc

Announcement Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

Yes, that’s the default first post by WordPress. I’m going to keep it here as an homage to how great projects start… with a simple “Hello world!”

After evaluating a variety of different publishing platforms, I finally settled on the familiar. I used to do a lot of my writing on Medium, which you can still see, but I think that it is time to migrate to a new system.

There are a lot of pros and cons to having your own site like creating my own WordPress theme — and yes, this was hand-coded by yours truly. Two main considerations went into this process:

  • SEO & Control
  • WTF are “Claps”

SEO & Control

There’s not that much that you can do with Medium. It’s great as a way to start writing for someone who doesn’t know either how to code or how PageRank works. Don’t get me wrong; Medium does have two great things going for it: Ease of use (getting started takes about 2 minutes), and distribution (there’s a built-in audience that’s engaged).

But I can code. And I love numbers and data. And I want to customize the hell out of my writing platform. And since I’m planning on dedicating a lot of time to writing over the coming years, it is time to level up and host my own content.

Rand Fishkin from Moz has a detailed breakdown of why you should host your own content.

 

Claps

Maybe I’m a purist, but I loved hearts. One heart, one person. It was a simple concept just like one vote, one person.

On August 10th, 2017, Medium introduced Claps. Maybe this was a way for them to create a metric to adequately pay customers or maybe this was a way to increase overall engagement or maybe this was a way to provide grade inflation on individual posts. A single person can give an article a maximum of 50 claps, by holding down the mouse for 25 seconds over the clap button.

Regardless, I didn’t particularly like it. Even the conversion was wonky. Old articles with 100 hearts by 100 people were now equal to articles with 100 claps by two people. It wasn’t just me, but a lot of folks have routinely criticized this new clapping paradigm.

I don’t want to write for the claps. I want to write for my audience—to give them information that they would find interesting and compelling. I want to write for myself—so I can practice and be a better writer.