Life

On My Actual New Venture

Yesterday, I wrote a post, On New Ventures and Making the Right Decisions. I received an unexpected amount of feedback because, well, it sounded like I was starting a new venture and was announcing it to the world.

Well, I am, but I didn’t mean to use that post for that. Darn.

To the many people who took the time to read the post and personally reached out to offer their support: thank you. A million times thank you to Dessy, Brian, Duane, Jay, Aleks, Rob, and Ray for being the kind and supportive souls that they are.

However, I figured I should probably elaborate a little more on what’s going on.

That sounds like a good idea.

The Next Three Months

Make no mistake, I am definitely starting something new, but a business may not sprout for the next couple of months.

The reason is that when I left my last job, I told myself that I’m going to take a serious crack at making a product. Never mind what, I needed a way to build it in the first place, so I’m taking the next three months to seriously learn development. Seriously.

I’m starting with Python because I’m familiar enough with it (thanks to first year university comp sci and Codeacademy) to get started quickly enough, and it’s a popular enough language now that there are plenty of resources to learn from should I get stuck.

So how will I be learning?

I will be creating small apps that solve little problems I have, or are just plain cool.

Yes, seriously. The first thing I’m working on is a script that connects to the Last.FM API to pull my entire play list throughout the years (approaching 50,000 plays over four years!) to categorize them by genre and separate by the year it was played in. I just want to visualize the change in my musical tastes over the years.

That’s it! Nothing entirely special, but it will give me a good foundation to start with using Python, including figuring out what functionality each piece of the script will need as well as the libraries I’ll need to import to even connect to an API.

I budgeted this week to code and design the main parts of the app, but I refuse to determine the app for the second week because I do not know exactly how much time I need for this. However, I will basically be building apps on a weekly basis until I get to the point where I can create a much larger scale project and feel comfortable taking it from start to finish.

In The Bigger Picture

Three months isn’t a lot of time to accomplish much (despite what my wallet thinks) but I figure it will also give me three months to create a project that I will be happy to work on for the foreseeable future and has a sustainable business model from the start. I’m not entirely sure what it will be yet, and that makes me a bit nervous, but we’ll tackle that problem when we get there.

These three months will be a time for the creation of a solid development process as well as a solid idea generation process. It would be foolish to think that an idea is just going to find me and smack me over the head.

At the end of the day, I just want to spend every single day of my life working on projects that excite and challenge me. This is the beginning of the foundation that I am building.

The unknown can be a tad frightening and intimidating. I can’t say I’ve made the right decision right off the bat, but I know that this is the decision I wanted to make anyway. Besides, what’s the harm in venturing into the unknown?

Let’s go exploring.

On New Ventures and Making the Right Decisions

For the past week, I’ve been struggling to verbalize (on paper, mostly) how I feel about making the plunge back into starting my own venture. It’s a life filled with highs and lows that always makes you question everything about what you’re doing, so it can be a bit difficult to write about.

Well, as with everything else in life, someone else wrote it better than I ever could.

In a thread on Hacker News where someone announces that they’ve done the scariest thing they can imagine: resigning from their job and starting their own company in the Netherlands, Ed Weissman posted this wonderful comment on what’s to be expected:

The good news: If you think you’ve done the right thing, then you have. Congratulations!

The other news:

  • Your runway is probably 50% of what you think it is.
  • Your task is probably 200% of what you think it is.
  • It will take 200% of what you expect to get your first customer.
  • Your wife will get scared before you do.
  • Some customers will take forever to pay.
  • You’ll probably have to backtrack on your design / architecture.
  • When you need to sell, you’ll want to code.
  • When you need to code, you’ll want to sell.
  • Your MVP will be missing something critical.
  • At some point, you’ll question your decision.
  • At some point, someone will discourage you.
  • You may need to pivot your entire business.
  • In a year, you won’t be who you are now.

I don’t mean to discourage you. I just want you to bottle that enthusiasm for later use. You’ll probably need it.

Best wishes!

Here we go.

A Cautionary Tale for PC Builders & A Sad Rant

Almost two months ago, near the tail end of June, I had made the decision to purchase all of the parts I would need to build a computer rig that would be strong enough to play the latest and greatest computer games that were coming out. That’s all I wanted out of it.

That’s right, I was joining the ranks of PC builders everywhere.

I chose to purchase practically everything from NCIX because they have convenient locations for me, their prices were great, and I’ve purchased some gaming-related peripherals from them before without any issues. Sure, there was that initial snafu of “your motherboard isn’t ready yet, so… wait a week, thanks” which was fine by me, I was off to Los Angeles for a week, so I could afford to wait.

I came home and picked up all of computer parts on July 11th, a day after I got back, and promptly assembled my computer. It booted up, I installed everything onto it, and it ran like a dream.

An hour after I finished installing all the right drivers, I was off playing the Counter-Strike: Global Offensive beta. Perfect.

Problems? Let’s get some.

Fast forward three weeks: I had been playing co-op Borderlands, when I started noticing some weird artifacting on the screen. I didn’t think much of it, maybe chalking it up to a one time glitch or the graphics card, an MSI Radeon HD 7950, may have been running hot that one time, so I slept on it.

I woke up, they were still present, to the point that my Flash player was no longer working and any sort of process that involved the graphics card could (and would) crash my computer. Checked the temperatures and the graphics card would run at 35 degrees MAX, so it wasn’t overheating or anything.

Crap.

Sent an email to my local NCIX to ask what the hell is going on, and they suggested bringing it in. I brought in my entire tower into NCIX on August 7th, being told almost immediately that my graphics card was defective (was showing artifacts ALL over the screen during testing) and that I could exchange it.

Fun fact: did you know that you can’t do a straight exchange without a box?

I did not know that, being used to just dumping my Apple computers onto the desks of those Geniuses at Apple Stores and being given replacements, so imagine how awful I felt after learning this and having thrown away the boxes the week before. Yes, exactly one week before.

After learning that fun fact, they said an exchange was still possible. Oh good, good good. The real problem: they didn’t have any MSI Radeon HD 7950 Twin Frozr cards in the store. Or in Ontario. D’oh!

Good news: they could take my card (as my 30 day warranty wouldn’t last until the cards came) and hand me a new one as soon as they got them in the store. Their predicted date was August 13th, as they had already placed their orders.

Awesome, I could wait five days. Five gaming-less days. No problem.

Oh, today is August 27th. Where has the time gone?

In the span of the 21 days that I have had a useless gaming computer, I spent 11 of those days (weekdays since the 13th) calling my local NCIX to check if they have it in stock yet (nothing in Ontario still!) and I have tweeted and have been in contact with their Customer Care department.

Nothing has happened. At all.

This week marks an interesting intersection in lengths of time: I have been able to use my gaming computer for just as long as it has been non-operational. I take full responsibility for not having the box (which prevented me from getting a replacement card) but I could have flown to Vancouver, picked up a new graphics card from NCIX, and flown back here to make the exchange.

So a few lessons for those of you who want to build a computer:

  • Do not throw away boxes. I had no idea this was an actual issue, but I guess when you’re just the retail part of a supply chain, you don’t have much say in the matter.
  • A 30-day warranty is not enough. If this graphics card failed after the 30 days that NCIX gives each purchase, you can definitely bet that I would be completely out of luck considering I had no box.
  • Customer Care cannot do a damned thing. They are all great people manning the phones, emails, and Twitter at NCIX, but all they can ever do is investigate. I have had zero progress through any of these channels.
  • Compensation wouldn’t mean much for this. Maybe my situation is a bit on the super-rare side, but I’m not even sure how to feel anymore. An apology would be nice, but I don’t think I could even ask for anything to compensate. What are they going to offer, the crappy AR drones their phone system keeps advertising?

If you plan on building a computer anytime soon, I hope you can avoid the frustration that I have had to suffer through. This isn’t a cautionary tale against NCIX, just an example of some of the stupid things that can happen.

Best of luck.

Why Can’t I Focus?

I take pride in being realistic in my abilities, my goals, and my confidence. I live my life with this knowledge: I am probably not smarter than you, I am probably not stronger or faster than you, but I make sure that I do my best to work harder than you. However, working harder than someone else doesn’t necessarily translate into doing better than them, or even doing better than mediocre levels of success.

I think that most people are driven to succeed. They want to provide for themselves and their family, and feel proud of their accomplishments at the same time. Myself included. However, we also want to create balance for important aspects of our lives like family, friends, love, and extracurricular activities like sports and hobbies.

Given that we usually use 8-10 hours a day for “work,” how can we maximize what we accomplish within those hours?

Throughout my years of attempted greatness, there has been one thing that people tell me to do, every single time without fail: focus. It usually comes in a few different flavours: hustle, stop slacking off, be relentless, focus on one thing and one thing alone. You get my drift.

Every time I hear this, I cringe and remember why I don’t succeed at a lot of things: too much aimless focus. I have an idea, get really excited about it, pour on lots of energy into building the foundation for it and simply fizzle out as soon as the work starts to happen.

Sound familiar?

If I were to go back in time and have a talk with younger me, I would tell him this: everyone will tell you to focus, to put your head down and get shit done. It’s important that you do, but the step before focus? Planning.

You can focus all you want, but remember that if you have nothing to focus on, you’re basically ramming your head into the wall and hoping that something comes out for you to focus on. You need to be able to wake up in the morning and say “Alright, today is awesome, here’s what I need to do for today.” because you’ve planned the entire thing out months and months (maybe even years) in advance. After all, how can you put your head down and focus if you’re just making it up as you go along?

Time Management from xkcd
From: xkcd – Time Management

I recently left my job (despite my short time there) with one goal in mind: build something. As vague as that sounds, I wanted the freedom to work on something fun and challenging, that puts food on my table, at my own pace, my own schedule, on my own terms. That’s the long term goal.

To get there, however, I need three things: the ability to build, the ability to design, and the right ideas to build. Given that, I’m in the process of creating a three month curriculum for myself to become a better developer (I’m currently terrible), a better designer (couldn’t design my way out of a box), and to spend ample time creating a process to brainstorm the right ideas to build. In addition, I’ve set a demanding set of goals that I must accomplish by September of 2013, exactly one year from when I start my curriculum.

The important part of this whole process is that given the long term goal (build something fun and challenging, put food on the table), I created a goal for the medium term (one year), and then I created a month-by-month set of goals that incrementally get me to the goals I set for one year, which then spawned a week-by-week set of goals that get me to the monthly goals.

At the very worst, I will have given myself plenty of time to learn new skills, hone my craft, and take a serious crack at “building something.” After all, now that I know what I need to do for the next year, the next logical step?

Focus.

On Saying Goodbye

Tonight, I found out that my grandmother has passed away.

I’ve mentally prepared myself for this since I visited her in the hospital in San Francisco with my family, and yet this is not any easier. I’ve never had to deal with this in my life, so to put it bluntly: this is not easy.

While standing by her side in that hospital, I realized that I was getting angry. Very angry. Angry at the world. Angry for taking a loved one and putting them under such duress. Angry for bringing concern and worry to the lives of her children. Angry for bringing an entire family to tears.

How could the world do such a thing?

And then I took a look around and realized: my grandmother is a part of each and every single member of my family. Her children, nieces, and nephews have all created wonderful families. Each of us possesses a bit of her in our blood, in our minds, and in our hearts, and that will never change.

You are a part of all of us, grandma, and that gives me peace. Please say hello to grandpa for me.

I love you.

Rest in peace, Elisa Q. Lim.

Money, Evil, and Pragmatism

Why not worship money?

At least its rewards are obvious and immediate. But no, that was simplistic. [Their] worship was more subtle, its ethics bound to those traits and habits that well served the acquisition of wealth. Diligence, discipline, hard work, optimism, the personalization of glory.

And the corresponding evils: sloth, despair and the anonymity of failure. The world was brutal enough to winnow one from the other and leave no room for doubt or mealy equivocation.

In this way, worship could become pragmatism, and pragmatism was a cold god.

From: Udinaas, Midnight Tides: Book Five of The Malazan Book of the Fallen, Book 5

30x25m lengths by the end of March – Achieved!

I lead a rather sedentary lifestyle, being glued to a computer for most of the day (and night!) while not really changing my eating habits. Neither of those facts about my life have helped my body in any way.

I decided to shake it up a bit in March: I signed up for the YMCA, I vowed to swim every morning that I could, and I would change my eating habits. At the end of the day, I wanted to get back into better shape, have more energy throughout the day, and just feel good about myself in general.

One of the short term goals I wanted to hit was to be able to swim 30 lengths in the pool by the end of March, and it seemed really far off especially considering I started with 10 on March 5th. However, I decided to set as blistering of a pace as possible and increase that number by two lengths every day, as well as changing the number of consecutive lengths I would swim before stopping to rest.

I am proud to say that I hit 30x25m lengths today, March 22, 2012, well ahead of my goal by 9 days. I think I’d love to hit at least 40 by the end of March, but I may also stick with 30 and just increase the number of lengths I swim consecutively to build my endurance.

As a result, I feel lighter on my feet, I (usually) get better rest, and I am absolutely pumped as soon as I finish exercising.

It can only get better from here.

Below the log of my swimming activity up to today, if you are so inclined.


Date

Number of Lengths

Weight (lbs)

Weight Change (lbs)

3/5/2012 10 188.6 0.00
3/6/2012 12 186.7 -1.90
3/8/2012 14 185.6 -3.00
3/9/2012 16 184.7 -3.90
3/12/2012 16 186.5 -2.10
3/13/2012 18 185.9 -2.70
3/15/2012 20 184.2 -4.40
3/16/2012 22 185.8 -2.80
3/19/2012 24 185.9 -2.70
3/20/2012 26 184.6 -4.00
3/21/2012 28 182.7 -5.90
3/22/2012 30 183.6 -5.00

Don’t worry about detours.

Imagine this: you’re driving in your car and you drive right past the street you were supposed to turn on. Many people, myself included, have probably panicked and attempted to haphazardly correct their error without any regard to safety or proper driving techniques.

Just today, I watched a man in the passenger seat of a car yelling at the (rather young looking) driver for being in the right turn lane when he should have been going straight. He almost caused a severe accident in the middle of a very busy intersection.

As I stood there, mouth agape from almost witnessing an accident, I thought to myself: the potential price of immediately correcting an error doesn’t seem to justify the time saved by having to take the detour. In this particular case, would saving two minutes making a few left turns to get back to the correct direction be worth taking a rather damaging impact to the driver side of your car?

That thought caused an entirely different tangential line of thought to bloom: why should I push so hard to be right all the time, the first time?

You see, I absolutely hate when I miss goals and/or expected performances. I can’t take it. I need to meet and/or exceed damned near everything that is asked of me, especially from myself. I get sick in the stomach and disappointed should that not be the case.

And yet here I am, thinking about how trivial it would be to take a detour. To not feel like you must correct an error at the point where it occurs. Pot, kettle, black, etc.

I am pretty sure it stems from a lack of patience. “If I can’t have it now, it’s completely ruined!” is what my brain is thinking, and that has been the case for as long as I know.

Well, no more, silly brain.

I am determined to fix this weird behaviour (starting with myself) that we need to be on the right path from the start. We all want to end up somewhere in particular, but does it really matter that you have to take a different route to get there? Does it really matter that you’re going to get there a little later than you had intended?

Don’t be silly. It will still be there when you do arrive.

(Unless it’s a limited edition Pokemon card.)

Safe Travels, Andrea

I’m not good at expressing how I feel about people. I love many people, and I hate when any are gone for a long period of time. That’s about as far as I go with expressing myself.

Imagine my dismay upon learning that one of my favourite people in the world, Andrea Liew, was going to be spending a year in Guyana. Seriously, a whole year.

I am not a patient man. A year is forever.

My own selfish feelings (and silly post intros) aside, Andrea is going away for a year to help indigenous women in Guyana improve their agriculture and craft-making businesses with accounting, finance, marketing and product development. In other words, she’s making the world a better place.

Andrea is going as a volunteer of Cuso International, and we should all show her our support: Donate to Andrea & Cuso International!

She’ll be gone for a while, and my blog will be counting the days that she has spent making the world a better place.

Safe travels, Andrea. I love you, I’ll miss you, and I am tremendously proud of what you are doing.

So long (for now), and thanks for all the fish.