Category Archives: Opinion

tabula rasa

Two Sentence Paragraphs are the Future

Attention spans are slim, folks. This is no surprise.

In order to keep readers/listeners/users/watchers engaged, introduce new concepts.

A lot of blogs on the internet, they’re much too long.

They spend word upon word elaborating, elucidating, compounding, expanding upon.

Let’s make things simple. Simpler than they were in school.

Say what you need to say, nothing more. And use spacing, damn it! No one likes walls of text!

Silence is a virtue.

4 sentences per paragraph is much too many.
Stick to two.

what this piece looks like as one paragraph, I challenge you to try and stay focused the whole way through!

Attention spans are slim, folks. This is no surprise. In order to keep readers/listeners/users/watchers engaged, introduce new concepts. A lot of blogs on the internet, they’re much too long. They spend word upon word elaborating, elucidating, compounding, expanding upon. Let’s make things simple. Simpler than they were in school. Say what you need to say, nothing more. And use spacing, damn it! No one likes walls of text! Silence is a virtue. 4 sentences per paragraph is much too many. Stick to two.

wow queue time smh

Week 1 – Regret Minimization Framework: Choosing a WoW Main

What you’ll be reading:

  • class choice regret
  • too many options
  • minimizing regret by optimizing variables

When you look back at the end of your life, would you do it all over again?

Heroes of Azeroth, WoW Classic is upon us.

It is time to retrieve our weapons, don our armor, and sound the horns of war.

After your 4 hour wait in the queue, you finally see it. The character creation screen.

You pick a Tauren Shaman, and grind tooth and nail killing wolves, accepting quests and learning new combat abilities to level 10. You decide to become an Enhancement shaman.

You continue your journey, entering a PvP zone. You get ganked by a rogue. Multiple times. You get upset. Why can his class turn invisible? Yours can’t.

You decide to enter a dungeon. You whisper a group looking for a DPS. They ask you to heal. Wait, you say. I don’t want to heal. That’s why I chose Enhancement. Tough butts, they reply, they’re not looking for your role. Better luck next time.

You head back to the character screen and select Undead rogue. You grind to level 10. You head into a PvP zone. A warlock fears and DoTs you. You die. You get frustrated. Repeat.

There are many different ways to approach WoW, from casual to hardcore. And while there isn’t one correct choice, there are many wrong ones. Let me clarify that point. A bad choice means you chose a class or a role that is considered “bad”. At its core, WoW is a group game. If groups don’t want you, you’ll have a lot less fun.

Barking up the wrong tree costs time, and time is an invaluable asset. If you get to level 30 and decide that you hate your class, you’ll have to start a new one at level 1.

Regret Minimization Framework to the Rescue

Instead of considering all potential variables for a class choice (and there are a lot), let’s instead ask one question:

In one year, will you regret picking your class?

Go through the selection screen, through all of the races and classes you may want to play and ask yourself this question.

As for me, I’m going druid. Or maybe rogue. Hunter? Damn, still some choices to be made. See you in game.

wall niche

The Niche Myth


Small Holes

When you think of a niche, an image of a penguin might come to mind. Penguins have mastered their frigid environment, huddling together in the cold, and sliding on their bellies doing badass backflips off of glaciers. An ecological niche is when an organism is well adapted for its environment.

“If you put a gun to my head and said, ‘You have to come up with a story for Happy Feet Three,’ I’d say shoot me.” – George Miller

Or, for you architecture buffs out there, you may think of niches’ second, and less commonly used definition, a shallow recess in a wall. I don’t know how frequently this applies to anyone, tbh.

Today however, we will be discussing the third definition of niche:

(n.) a comfortable or suitable position in life of employment

** N.B.: the English language loves to overload definitions

Comfortable or Suitable Position? The Heck?

To be fair, that definition is pretty sucky.

Organisms in general, prefer comfort over conflict. People are no different. So, let’s just define comfort as being in a comfortable state most of the time.

Ok, how about suitable? That word is well…suitable. It acknowledges that no situation will ever be entirely ideal, but it can be suitable. In other words, “Meh, I’m ok right now.”

this is fine

Environment Envy

Arguably, one of the reasons the human species is so successful on Earth is how quickly we adapt to new environments. Hot, cold, mountainous, desert, or rainforest, you will find people all over the surface of the planet.

According to natural selection, success is determined by survival and continuation of the genes of an organism.

In business, success is defined as making more money than you’re losing. Whether you sell shoes, technology, or insurance, the goal is survival and growth.

The environment is an always changing system. The larger the environment, the harder it is to predict change.

Big businesses are harder to operate because they are less adaptive. For a real life example of this, decide what you’re going to have for dinner tonight. Now, ask a friend and decide together. Now, ask another. For every friend you add, the more complex the decision becomes.

Much like an environment, the market must be worked with, not against.

Success in a market is a combination of timing, a solid product, and the ability to sell. Without all three of these being present in some shape or form, a venture will be dead in the water. For a real life example of this, try to open a lemonade stand in December.

The Common Advice

People argue the importance of finding a niche, a hyper-specific use case for your skills/product/juggling talent. This advice is well founded. Many successful businesses we see in our day to day lives do something well enough to get people to part with their money. Even in a sea of competition, they continue to generate value and capture a percentage of that value.

However, I’d argue that the way most people go about finding their niche is flawed.

Better Advice

When choosing a niche to work in, set out to find your particular competitive advantage. If you don’t think you’re good at anything, what do you suck the least at?

Competition

Examine the competition. Monitor what makes the Taco Bell franchise successful, or why Apple has so many raving fans.

After you examine businesses you admire, throw out your findings. You are not Taco Bell. You are not Apple. Imitation will only get you so far.

Great artists steal, but their personality isn’t run over by the stuff they stole.

The Benefit of Staying Small

The smaller the better! Right? Well, kinda. Being small can actually be a bad thing, if you’re small in the wrong thing. For example, if your niche is making boots that are for moon walking, your audience is going to be pretty small, if not zero. Not that many people have been to the moon.

So I should go broad?

On the other hand, if your audience is too broad, it’s likely that your product won’t be good enough at solving a specific problem and you’ll disappear into the noise. For a real life example, look at most YouTube channels.

“WHAT IS UP YOU GUYS THIS IS ** insert channel name here ** !”

Strike a balance. Build something brand new, but make sure it’s something people actually want. People may say they want a live-action remake of Hey Arnold, but they probably don’t need it.

How do I find my niche?

Unfortunately, I haven’t found one answer. I spent weeks trying to narrow down into a niche for my YouTube Channel. I’ve tried podcasts, comedy styles, how-tos, video diaries and more.

I do have tips to share though.

The first thing is to make content that you enjoy. If you don’t enjoy the process, you’ll eventually burn out.

The second thing is that the content worth creating will signal back to you. People will come up to you and ask you about it. They love your neon chair lights, or your charisma on stage, or the way you make that dank soufflé. This shows genuine interest, and is a sign from “nature” that you’re on the right path.

Specialize in Adaptation

If you must specialize, specialize in adaptation. The environment isn’t static, so specializing in the traditional sense can cause more harm than good! If your soufflé business is going under, utilize your baking skills and pivot to the hot new dessert!

Handedness

When I first wrote this article, I wanted to examine the relationship between niche and handedness. It didn’t end up fitting the vibe, but damn it, I’m gonna address it anyway!

I’m left-handed. About ~10% of the human population are left handed.

Why is this important? Well, almost by definition, left handed people are more adaptive to the environment. We have to be. Tools, cars, written language; are all made for right handed people.

For a real life example of this, ask a left-hander to write anything with a pencil and have their hand not look like this when they finish.

the struggle is real

Unfortunately, we also don’t get to complain about it. The environment very clearly signals that righties are dominant. Lefties must find their small hole as it was. Sitting on the left side of dinner tables as to not bump any elbows. Using notebooks with rings on top, etc.

Embrace your inner lefty. Adapt and utilize your strengths in any environment.

if youre happy youre successful

Fortune Cookie Wisdom

Today, I had some medium to poor Chinese food, but the fortune in the (stale) fortune cookie was very insightful.

“If you’re happy, you’re successful.”

Mindfulness is back in vogue recently, and a lot of people are realizing that keeping up with the Joneses’ isn’t any way to establish long lasting happiness.

I’ve been working on my entrepreneurial projects and a thought occurred to me. On the off chance I do succeed, I have to acknowledge the fact that I won’t be happier. Thanks to the Hedonic treadmill, we can pretty much guarantee the our baseline is where we’ll spend most of our life, no matter what events occur.

On the off chance I do succeed, I have to acknowledge the fact that I won’t be happier.

So I guess the only rational path to happiness is to fall in love with the journey, not the outcome. The outcome isn’t the prize.

fog

Next Steps

“Two paths diverged in a yellow wood…”

I just left my job.
Worse yet, I left my job to chase a quote-on-quote dream.
Even worse than that, my dream isn’t even well defined, isn’t supported by $10M seed funding, and doesn’t have the support of a university or company behind it.
And the worst sin of all? I don’t feel bad about it.

Some background

I’m very fortunate.
I’m extremely fortunate to have a functioning body, a functioning mind, and a network of family and friends that inspire me and care for me.
I have an education, experience in a field that taught me a lot about the world and to live in a city that taught me a lot about people.
I’ve learned a lot of life’s lessons early on in my life. Lessons of mortality, lessons of money or lack thereof, lessons of love and lessons of hate.

Reality

“The more in harmony with yourself you are, the more joyful you are and the more faithful you are. Faith is not to disconnect you from reality – it connects you to reality.”
– Paulo Coelho

I find that it’s important to be realistic. It’s important to list out as objectively as possible the things that are true. Things that are tangible: my height and weight, my favorite foods, places I like and places I don’t. Things that are intangible: the times of the day I’m most focused, the books that make me happiest, the songs that make me feel most alive.

I find it’s important to be realistic about death. How long, yet tragically short, life can be. I find it’s important to acknowledge one’s “dream”, and to mercilessly pursue your own meaning in this universe (because no one else will do it for you).

Insecurity

“I Am an Old Man and Have Known a Great Many Troubles, But Most of Them Never Happened”
Old Man

As a consistent journaler, I began to notice trends. Patterns in my behaviors, in my wants and needs. Things that rattle my nerves, and most importantly: my insecurities. Oh, my insecurities! So many and always changing, never fully healed and constantly tender, like open wounds.

My most tender wound? The feeling of renting out my time on something that I don’t own. I guess this insecurity can be blamed partly on my ideology, from being raised in a WEIRD household. The need to feel like an individual, and to feel I’ve left a legacy on this planet. For my life to feel bigger than it is, to feel longer than it is, and to be more meaningful than it is in reality.

And so, with time, effort, and a lot of self reflection I threw all of my realities and motivations into one “pot” and stirred. Stirred and waited. After a while, something emerged from the cloudy liquid. Then all I had to do is take whatever emerged seriously.

Permission-less Work

“Do you want to know who you are? Don’t ask. Act! Action will delineate and define you.”
– Thomas Jefferson

Can I? May I? Should I? We spend so much of our lives asking other people if we can do something. To a point, this is logical. Often, people will try to protect you, they care for your growth and safety, and value your comfort. The problem is, when you ask other people for feedback on your motivations, other people are really just granting permission for themselves, veiled as permission for you.
We can only perceive the world as we know it. If you ask me “Can I be a chef like Gordon Ramsay?” I may reply, “Yeah, I love the stir fry you made the other night! But aren’t you still set on med school?” Whether or not I truly believe you could succeed as a chef is irrelevant, in this moment my main concern is to maintain a positive relationship with you by telling you what you want to hear.

In the extreme, some people will refuse to act, and refuse to be, unless they have assurance from other people. They’ll assign their identity to their profession, the school they went to, or the town they grew up in.

My favorite thing about our current era, the Information Age, is the driving force of social evolution, and how anyone, anywhere, can create something that creates immense wealth for society (e.g. Google, Uber, Facebook, etc.) in less than a lifetime. In this world you can be whoever you want to be.

Say it with me: you can be WHOEVER YOU WANT TO BE.

The barrier of entry is much lower. You no longer need to take a physical risk to extend influence and to create something that matters to you. In this day and age, opportunity is abundant for those who are willing to look for it. People all over the world are meeting each other for the first time every second of every day, most over a screen. Their words enter your mind, and their feelings enter your heart. Even now, this post is my feeble attempt to join in on this great game, to meet and hopefully help people who I’ve never seen before.

I guess, in a way, I’m setting out to test this hypothesis. I’m setting out to find out if everyone is right about the way the world is supposed to work. If we’re meant to consign ourselves to doing things we don’t enjoy in this world, because “that’s just the way things are, and that’s the way they always have been and always will be.”

Calculated Risk

“Between calculated risk and reckless decision-making lies the dividing line between profit and loss.”
– Charles Duhigg

I’ve been thinking a lot recently about risk. Taking on risk is well… risky. Why expose your feelings by asking out the person you’ve been secretly crushing on the past five months? Why bet your life savings on a startup? Why move out of the city you know, with people who love you, with $20 in your pocket to go and pursue an idea you had at 5am one night?

The obvious answer is reward. Reward can technically be unlimited. The greater the risk, generally correlates with a higher reward. This is due to the increased accountability in the endeavor. It was a major risk to be the first people to fly to the Moon. The reward is being known as the first people on the Moon forever.

With increased risk comes increased chance of failure. Some failures are minimal, and wounds can be licked. Others are earth shattering and catastrophic. If startup culture has taught me anything, it’s that it’s better to fail forward, tripping a little bit each day, rather than to succeed for a consistent period of time and then suffer a major setback.

I’m a firm believer that empty platitudes don’t do anything. That it’s better to make mistakes of ambition rather than mistakes of sloth. That failure is a healthy and integral part of growing up and creating something that matters. That improvement is a continuous process with peaks and valleys, but trends upwards if you put in the effort.

So What Projects Are You Gonna Be Working On?

At this moment in time, I am driven solely by my obsessions. Tasks that intrinsically motivate me, that make me feel alive.

These obsessions are: music, coding, acting, writing, reading books, and public speaking.
Tomorrow my obsessions may include cooking or skiing, who knows. People change, value calculations change with new inputs, the things that are important to us today may not be important tomorrow.

I’ll be working on this blog, on my music, on more open source projects, getting involved with the tech community at large, and some projects that I hope to make money from.
I’m going to continue uploading to my YouTube channel about rapid skill acquisition, and my videos will continue to get better, because I will get better. I want to spin a podcast off of the channel as well, interviewing experts and trying to hone in on what sub-skills people should focus on to grow rapidly.

P.S. reach out to me through e-mail if you are an expert in your field, I’d love to interview you.

Most importantly, I’m not gonna ask anyone or wait for someone to tell me yes to make something I want to make. I’m just gonna do it.

Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, you’ll know when you find it.
– Steve Jobs

What am I worried about?

Bye bye paycheck (for now)

There is a certain standard of living one gets used to after making consistent money, but that is no longer the case for me currently. I’m hoping Seneca is right about our relationship with daily comforts and fortune; that it’s out of my control in the first place, and I should be grateful for what I had and what I have now:

“Remember that all we have is ‘on loan’ from Fortune, which can reclaim it without our permission—indeed, without even advance notice. Thus, we should love all our dear ones, but always with the thought that we have no promise that we may keep them forever—nay, no promise even that we may keep them for long.”
– Seneca

My own self doubt + other’s doubt at the same time

It’s one thing to have to battle your own demons, it’s another altogether to have to fend off family and friends from the quote-on-quote poor decision making I’ve done around this. 😉

Loneliness

I don’t mind being alone in a room for hours on end. My books and work keep me company enough. That said, it will take more effort now to meet people who will inspire me and help me to grow, and I’ll need to take a much more active role in my social development.

Managing my own discipline

Discipline is never one of those things that is truly “solved”. It’s very dependent on mood, motivation, and physical state. There are great tools out today that can increase productivity, but I can’t imagine it will be easy.

People are less effective solo than on a team

There’s honestly only so much output one person can do in any given day, and honestly, it won’t be as high quality as what a team is able to produce. I’m excited to push my boundaries with the resources and skillset that I have, but I do worry about “not being good enough.”

Uncertainty

By and by, I have no idea what’s going to happen. That sucks, let’s be frank.

Where Do You See Yourself 5 Years From Now?

I’m not sure what I’ll be doing one year from today, or even scarier, who I’ll be. Will I have to go back to a full time job? Will one of my family members get sick? Will I get sick? Will I make zillions of dollars, win a Nobel Prize and be the first man to successfully bake a souffle on the moon? Probably not.
None of us can predict the future, but I think that future vision might suck the fun out of life. Spinning the wheel is only fun if you can’t predict the outcome after all.

All I can see, all I can do, is take the next steps.

Mailing List (Newsletter every sometimes)

Lexical Scoping and Improv

Summary

  1. What is lexical scoping?
  2. What are closures?
  3. Lexical scoping is a technique used in improv
  4. Comedic callbacks and Rule of Three

What is lexical scoping?

Lexical scoping is a computer science concept used to manage and read variables. Lexical scoping is used by the parser (the interpreter of our code) to determine which variables belong to which scope. This is best illustrated with an example:

Some key words:

  • variable: a value that can change over time, not constant
  • function: a block of code that can be run by a computer by “invoking” it using parentheses, like putOnPants()
  • closure: we’ll get to that soon 😉

example courtesy of Mozilla

You can run this in your Console too! On Chrome you can hit ⌘-Option-J (Ctrl-Shift-J on Windows) and copy pasta the code above. Feel free to have it say your name instead!

What are closures?

Closures are similar to lexical scoping, but provide us different benefits. Above, we called displayName immediately. However, in Javascript, functions are considered as first class objects. All this means is that we can treat functions as objects (an object is a complex topic, but it’s easiest to think of as an entity, like a person or a car). Lets modify our example above a bit:

Key Terms:

  • return: a return statement is the final line of code in a function. It basically returns the computation done

What’s happening here is that we’re setting up two separate lexical scopes. These scopes are unique, and both have a different idea of what name evaluates to. In sayBram name = Bram, but in sayBradPitt name = Brad Pitt. Feel free to try these out in your console!

Fight Club
First rule of closures: don’t talk about closures

What does this have to do with improv??

I agree, that’s enough code, let’s focus on comedy here. In improv comedy, the structure usually goes as follows: the audience gives your team a word or a phrase, you spend 20-30 seconds coming up with scenes about it, and then you go wild. The great thing about improv is that it’s all based on Yes, and, which means that everything your team members say is “true” for the scene.

Okay, so let’s say the word is typewriter. I might come up with a scene about how I work at a 1950’s news company, Mad Men style. My partner and I would act the scene, and pay attention to which bits get laughs. We then would store those away with the character for later.

Example:

Scene 1: (Me and one other person) I’m a distraught house husband whose novels aren’t taking off because they’re really bad. However, my wife doesn’t want to shatter my confidence so she tries to stifle her laughter as she reads my book.

Scene 2: (Two other people) A completely different timeline where typewriters are falling from the sky, causing mass hysteria. Kind of like Fahrenheit 451 meets dinosaur asteroid extinction.

Scene 3: (Me and someone from scene 2) We both narrow in on what went well with the audience the last two scenes and really send those jokes to the moon (as in, we make them even bigger and crazier)

What we’re doing here is lexical scoping! We’re remembering who our characters were and what they did, and then were invoking them later, like tellFunnyJokeFromEarlier(). I won’t act as someone else’s character and use their jokes, and they won’t use mine!

Rule of Three

I want to close this out discussing the rule of three. The rule of three basically states that jokes are really funny if you use them three times. The rule of three also applies to photography in the Rule of Thirds (another post for another day), and slogans like Stop, Drop and Roll. Three is just a really memorable number. So using what we’ve learned above we can write improv comedy as code like this:

Books I Read [September]

For this month, I wanted to branch out a bit. I generally read a lot (only?) non-fiction, so I made sure to pick up one autobiography and one historical fiction book this month. I’m pleased to report that they didn’t disappoint! In fact, Beneath a Scarlet Sky was my favorite read this month! Join me below for quick reviews of these books!

Disclaimer: The links are affiliate through Amazon

Beneath a Scarlet Sky

Beneath a Scarlet Sky is a phenomenal read.It’s emotionally gripping, and shows a perspective of World War II that I’ve never seen before. The story follows Pino Lella, a 17 year old who gets caught up in the middle of World War II. Through his bravery, wit, and unshakeable morals, Pino changes the entire tide of the war. Really humbling piece.

The Life-Changing Magic of Tidying Up: The Japanese Art of Decluttering and Organizing

I really enjoyed the takeaways from this book. I’ve always lived pretty minimally, but I’ve never really anthropomorphized my stuff before. This book is built around the concept that the only items you keep should be the items that bring you joy. This can be done with one massive “cleanup day”, and you’ll only be left with items that make you happy. The second main concept is that every item has its place. When treated well, items will have a longer shelf life, and be able to serve you better. I like books that acknowledge that there isn’t a one size fits all approach to every person, and this book is about as flexible as it gets, since you’re only keeping the stuff you like!

The Richest Man in Babylon

Save 10% of your income (pay yourself first). Don’t speculate with those who will lose your investments. It’s pretty unreal to see how advice written on cuneiform tablets 2000+ years ago have advice that is still accurate today. This book is a collection of stories from those who have changed their lives drastically by following the rules of money. Very short read, and very inspiring.

The Power of When

In my opinion, this book isn’t good. It could honestly be a blog post. There are a few interesting tidbits about circadian rhythms in here and how they vary for different people (doing creative work before noon is better for “bears” rather than “wolves” for example), but by and large this book is pretty dry and unhelpful.

Burn the Fat, Feed the Muscle: Transform Your Body Forever Using the Secrets of the Leanest People in the World

Burn the Fat, Feed the Muscle taught me many things about weightlifting that I didn’t know prior. It shed a lot of inconsistent ideas that I held about nutrition, weightlifting, cardio and goal-setting in general. For me, the most important take away the book was how to align our physical goals with a life that’s not hyper restrictive. Whereas a lot of other material I’ve looked at is either promoting some sort of fad diet or crazy workout routine that doesn’t work, this book is very straightforward. I think the most interesting thing about this book to me was that it was targeted at people who are attempting to become bodybuilders. Therefore anyone with less “moonshot” physical goals should find this book to be very valuable.

The Untethered Soul: The Journey Beyond Yourself

This book has some amazing ideas, but they are unfortunately wrapped up in a lot of repetitive wording.
The book has a few central themes, but most revolve around the idea of acceptance, mindfulness, and equanimity. The book stresses the importance of keeping your heart open always. The arguments the author laid out were very logical, and I intend to keep my heart open when possible, or at least be aware of why I feel the need to close up when I do. Worth a read if you’re looking to incorporte mindfulness into your day to day life.

Not Forgotten: The True Story of My Imprisonment in North Korea

I’m not particularly religious so when I read not forgotten the story in North Korea by Kenneth I didn’t really know what to expect. Kenneth Bao is a vivid author, and I could really feel his faith come through his words. This book taught me a lot of really interesting knowledge about both North Korea and religion. I was particularly impressed by the strength of spirit Kenneth had when faced with insurmountable odds. This book maybe for you if you’re interested in learning about North Korea-US geopolitics religion or the struggle that people can go through to fulfill their purpose.

See you next month with some more books! ^_^

Minimalism in Programming

The topic of minimalism is pretty large, so this topic may span multiple posts.

Recently, I’ve been really caught up in the idea of minimalism, and of simplicity in general. I’m subscribed to a guy named Matt D’Avella on Youtube. His ideas on creativity and his simple, straightforward style got me really excited to dig deeper into the idea of minimalism. Then I found out he directed a Netflix documentary called The Minimalists. Their doc really got me thinking about not only the material items I keep in my life, but the mindset I have as well. In order to be deliberate, sometimes we must take a step back and examine our previous assumptions. A mindset of minimalism will allow us to do just that.

Hello World is misleading

The simplest programs usually consist of “Hello World”. Here’s that program in three separate languages (Javascript, Ruby, Java respectively):

Unfortunately, these programs are misleading. Often, you’ll be looking to solve a bigger problem, and Hello World ain’t gonna cut it. Depending on your goals, the problem can get out of hand VERY quickly.

When the problems become larger, so does their solution space. Often, you’ll need to integrate libraries from external developers, weigh the pros and cons of similar technologies, and write feature after feature while stomping bug after bug. Code becomes an entangled mess, with different parts of the code base inexplicably relying on other parts, etc.

In the production world, the solution to this problem is often microservices. Microservices give us a smaller, deployable solutions to subproblems. This allows for developers to focus on smaller parts of the pipeline. This design pattern works well for certain types of applications but it doesn’t work for all applications.

When we approach writing code in a minimalist mindset, we strive to have clean code. Let’s take a tip from literary minimalism.

Literary minimalism is defined as:

Literary minimalism is characterized by an economy with words and a focus on surface description. Minimalist writers eschew adverbs and prefer allowing context to dictate meaning. Readers are expected to take an active role in creating the story, to “choose sides” based on oblique hints and innuendo, rather than react to directions from the writer.

The important bit is an economy with words and a focus on surface description. Following similar rules in our code, we should strive to be as terse as possible. We should find solutions that are simple and thorough.

Occam’s razor

Occam’s razor is a principle that states that the simplest solution tends to be the correct one.

As put in this amazing video from 1979, computers are meant to eliminate tedium in life. If the problem you’re solving requires a computer, chances are that you’re looking to solve a tedious problem. We can use this to our advantage! Instead of over engineering solutions, we should all strive to solve problems with as little coding kung-fu as possible, favoring readable and understandable over elegant.

Here are a few tips that are language agnostic, to help you code in a more minimalistic fashion.

  1. Avoid comments. Comments equate to clutter generally, as they become less useful over time
  2. Avoid side effects. Easier said than done in the scope of web programming especially, but libraries like Redux can help us centralize our side effects.
  3. Ask yourself if your solution is over engineered! A good way to tell if the solution is too complicated is by using rubber ducking
  4. Read Clean Code

The Million Dollar App Idea

Disclaimer

I haven’t created a million dollar app yet either, so you can take or leave my opinions. This post arises from multiple conversations with friends at different stages of life who all have different ideas about technical solutions they’d like to see in the world.

Summary

  • The glorious idea
  • The bleak truth of “good” ideas
  • The success of the “Yo” App
  • Overly complex ideas
  • Building your team
  • Finding a balance
  • Quantity vs quality

Mr. Krabs, I have an idea!

spongebob has a great idea

We’ve all been there.

Inspiration strikes us in the night while we sleep, and we jolt up, face riddled with an excited exasperation. We’ve discovered an idea too good to fail. We rush to the nearest piece of paper and write it down, before it disappears from our thoughts like a leaf drifts down a river. For some, this idea has been simmering for months, playing around with different forms and variations, occasionally being forgotten and replaced with a need to eat or do something else. For others, it actually is a bolt of lightning. A colleague says something to you, or you’re out for a jog, or eating a donut.

But is this idea actually any good?

In the bleak midwinter

To examine if an idea is good or not, conventional wisdom suggests to look at your predecessors. What has worked in the past? Why did it work? Will my idea generate similar traction? Why does this type of app succeed, while this one failed?

Fortune claims that around ~60% of startups fail to provide their investors a 1x return. On paper, that seems like a good sign. Our odds of starting a successful business of our own are almost 1 in 2! But, let’s unpack this one more level and see if that’s actually the case. According to Entrepreneur, only 0.05% of startups get funded by VC’s in the first place. Indeed, most startups are run out of the pockets of the creators and their family and friends.

In that case, we want to make sure that our idea is good. Like, really good. Good enough that we will be able to execute, market, and most importantly get a positive return on our idea. Unfortunately, most ideas that sound good to you, don’t sound good to others. Back when I first started doing web dev, one of my mentors told me that it’s vital to ask yourself: “Is this something that I want, or will it give others value?”. This question can save you countless hours of working on a product that no one will ever use.

Yo App

Yo is an app that is extremely simple at it’s core. I send you a “Yo”, you send me one back. Thats it. In 2014, Yo was valued between $5 and $10 million dollars. Surely not as valued as a unicorn like Uber, but a phenomenal return on such a simple idea.

This is where I think the greatest divide between apps that succeed and apps that fail exists. Some ideas are too big in magnitude, too hard to implement, and fail before they can get off the ground.

Two worlds

Let’s consider two scenarios:
1. You come up with an idea that will help users find clothes that fit them perfectly, are stylish and affordable.
2. You come up with an idea that sends users a funny text at a specified time during the day.

In scenario 1, we have a thick idea. To get this idea to market we would need machine learning for a recommendation system, machine vision to capture the physical specifics about a user (or a really detailed form, I guess). We need a marketplace where users can buy clothes, a relationship with fashion vendors, a relationship with a shipping vendor, etc.

In scenario 2, we have a thin idea. This idea is effectively it’s a database with two tables. One of funny quotes, the other of users and their specified times. We write some code to link the two and send a notification to users.

While the idea in scenario 1 is super cool, it’s extremely difficult to implement correctly. Also it’s more costly, and more risky. Scenario 2 can be built super quick, and you can get your idea in front of users in much less time, and for much less capital.

It’s often worth it to split larger ideas into smaller ones, if your heart is set on a thick idea.

News Team, ASSEMBLE

mo money mo problems

In the infamous words of The Notorious B.I.G: “Mo Money, Mo Problems”

I think it’s also important to discuss the people you’ll need to make an app a reality. If you need 3 PhD’s on your team, 5 engineers, and 3 sales people before you have a POC, your idea is probably a bit too unrealistic. Try to find ideas that are simple in nature, so you’ll be able to go farther with a smaller team.

Balance

guy balances on chairs

Survivorship bias is a hell of a drug. When looking at major companies like Amazon, Facebook, and Google, it’s easy to assume that with the correct mix of gusto, hard work and ingenuity, everyone can create a multi-layered complex organization. As with all of the logical fallacies though, this is a mistaken belief. These companies have visibility, and we don’t ever see the hundreds of similar companies that have failed around them.

For any good idea to bubble up, you need to strike a balance between realism and aspiration. If you believe your app will be able to compete with the top 10 in the app store three days after a 1.0 release, you’re going to feel disappointed. However, if you meter your expectations, and really narrow in on a straightforward value you can provide to your users, you’ll be able to iterate quicker and see measurable results.

Quality vs Quantity != Yin vs Yang

So is your app idea good? That’s hard to tell. Is there a market you’re inserting yourself into? What value does your app provide?

Personally, I’d much rather try three smaller ideas, and whisk them off to market and have them all fail rather than put all of my eggs into one proverbial basket. It’s important to not let your idea cloud your success, especially on a market like the App Store, where competition is tough, and it’s very hard to get visibility. Don’t be afraid to pivot, don’t be afraid to fail, and don’t be afraid to make small projects. And most importantly, remember to make stuff that provides value.

Follow for more kewl coding stuff