— Simpixelated

Over the past year I’ve spent more time writing JavaScript than doing just about anything else. I thought I would do a link-dump of some of the resources that I’ve been using to get better. I try to watch at least one Speaker Deck a week. I thought this one in particular on Test Driven Development was great:

I’ve also been doing a lot of reading:

Read More

With my job change and impending birth of my first baby, my mind has been focused on the future. I have a lot of interests: front-end development, design, usability, management, writing, etc., but regardless of the position/industry, there are two things that I’ve come to realize:

  1. There are very few jobs (outside of direct sales) where your salary scales directly with your effort and creative input.
  2. Robert Kiyosaki points out that rich people buy assets, not liabilities. They build wealth with those assets. Unfortunately, there are very few jobs that allow you to build and own assets.

Owners have assets, employees don’t. For a long time I thought being an owner meant taking a lot of risk, like getting a loan or spending money on an MBA. But through the internet, namely blogs like Unicornfree.com, iwillteachyoutoberich.com, smartpassiveincome.com, I’ve learned that there are an infinite number of other possibilities that just require time and effort, something that I have an abundance of.

Amy Hoy of unicornfree.com posted a great video today talking about building your empire brick by brick. You don’t have to go from zero to a million dollar company and she explains how no one else did, even 37signals, but you can get there by building up your own assets, brick by brick, until you have a massive wall. Each brick helps build onto the next one, creating assets that you can leverage for each following project.

Read More

I could have been sitting courtside, rubbing shoulders with Jack Nicholson and listening to bad Kobe Bryant jokes… okay more like editing bad photos of Kobe while sitting at a desk in El Segundo, miles away from every home Laker game. Still, ever since I realized that Lakers.com existed, I’ve considered it the white whale of webmaster jobs. I had no idea how much they paid, how much work was involved, or even where their offices were. I just knew that my passion for web development would be in perfect synergy with my passion for the Lakers, in a perfect union.

Well, recently, I had my chance at that job. I subscribe to the  NBA job listings and every week I opened the email hoping to see a Lakers position. I applied for a job with the Spurs about a year ago, but never heard back. Finally, after an entire year of hoping, an email was delivered with a listing for the Lakers “New Media Content Coordinator”. Based on the job description, I knew I could nail this if given the chance. I submitted my cover letter and resume through the terrible NBA application website, and hoped that I would make the cut.

About a week later, I received an email from Nick, with an @la-lakers.com email address. The Los Angeles Lakers wanted to interview me! What a rush. I think I read the email three times. I’ve never been more excited for a job interview. I was already imagining myself hanging out with Kobe and whipping up Lakers wallpapers all day. I knew the reality was that I probably never came in contact with the players and would be doing a lot of maintenance work, but I didn’t care! I was so excited just to have the opportunity.

The first phone screen went well, except for the devastating bomb that Nick dropped on me at the end: the salary for the job would be a 50% paycut for me. Yikes. Not only that, I’d be moving to one of the most expensive places in the country, with a child on the way. Given the chance 4 years ago, I would have jumped at this. Maybe I wouldn’t have had the experience in order to land the job then. Regardless, trying to support a family while taking that large of a paycut just wouldn’t work for me today.

Still, this was the Lakers we’re talking about. Would they fly me out for an interview with Pau? Maybe Mitch Kupchak would shake my hand. Hell, I’d settle for a glance at the towel bin at the practice facility. Maybe if I aced the rest of the interview process, I could haggle my way into Jim Buss’ office and negotiate a higher salary. I could work half time! Part of my me wanted to do anything just to get my foot in that purple and gold door.

By the second phone screen though, I started to realize that the ladder within the Lakers organization isn’t very tall, at least for the web team. There is no marketing team, so the webmasters are running the show. Pretty amazing for one of the most valuable sports organizations in the world. The person who I would essentially be replacing, had been there for over 5 “seasons” (they all count their time this way) and although he didn’t announce his salary, it didn’t sound like he was rolling in the dough either. “You don’t join sports to make it rich.” he said. I guess he’s not talking about the players.

The grim truth was starting to formalize. I knew I still wanted to make an impression. Maybe in another year or two, they would get a bigger budget, or need to hire a more senior developer, and they would remember me. They wanted to keep moving forward with the process, but asked again if I was still interested despite the salary. I felt like I had to be honest with him, I didn’t want to waste any more of their time. So I pulled out a virtual briefcase technique and gave him about 10 suggestions for improving the Lakers website and social media campaigns based on research I had done. I also told him my situation and that I just couldn’t afford to support a family on that low of pay. He responded that he understood, he appreciated my suggestions and felt that they were all valid ideas that they had come up with on their own as well and wanted to try. And that was it. My interview with the Lakers was over.

Read More

A lot has been going on in my life lately. Just in this past year, my wife and I celebrated our 1st anniversary: we traveled to the Bahamas on a Disney Cruise for 7 days straight. We visited San Diego, CA just before my parents started their move to Orlando, Florida. I left SiteGoals after almost 4 years for a position as a UI Engineer at Incisent Technologies. We moved, I sold my GTI and I am now walking to work. The biggest news of all: Karen is pregnant and we are expecting our first child in late February!

I don’t feel stressed, but I think the stress has manifested itself as the worst acne breakout of my entire life. I may also have a gray hair or two. A terrible combination when I’m only 28.

At work I am learning a lot about JavaScript by working with it pretty much all day, every day. I do take breaks to create some wireframes in Balsamiq or designs in Photoshop, or cut those up into CSS, but that is probably 1/3 or less of my time. The rest is devoted to writing or troubleshooting JavaScript code. This is great, because I used to feel weak in JavaScript, but I am getting better and enjoying the challenge.

Before I settled in at Incisent, I was looking at a lot of different career opportunities. I even had an interview with the Lakers, for a position updating Lakers.com and their various social media accounts. Although it has been my dream to work for the Lakers, it wasn’t meant to be. Once they told me I would need to take a 45% pay-cut in order to work in one of the most expensive areas of the country, I had to stop the interview process.

Without the distraction of a job search, I feel very comfortable at work: I like my coworkers, the company is stable and growing, and I’m looking forward to calm seas for the next year or more. Now I’m focusing my after hours on creating assets for the long term. I’m working with a friend on a SaaS for farmers market vendors and I’m still considering turning my blogging posts into an info-product.

I’ve been soaking of tutorials and blog posts on how to build software, blog for money, and market yourself and your products online, but up to this point I haven’t done much besides my blog about the Fiat 500 Abarth. So to help kick-start myself, I’m getting back into the habit of writing 500 words a day again. Karen and I tried this before, but we fizzled out after two weeks.

Part of the problem is that we didn’t tie it to any kind of reward, or value. I had over 20,000 words, but nothing to show for it; no blog posts, no increased advertising revenue, nothing. By not giving myself a goal of also publishing content, I just had a bunch of rough drafts. So this time around I’m making a new goal: write 500 words a day, and publish 1 post per week.

I came up with a list of blog topics that I want to cover in the future. Hopefully having this list will make it easier to pick something to write about.

  • my interviews with the Lakers
  • customizing Highcharts.js
  • designing and building a SaaS for farmers market vendors
  • thoughts and reviews of 30×500, Earn1k, and Foundation.io
  • status of my current blogs: success or failure
  • why I think Evenflowpro.com isn’t successful
  • my idea for a consulting business for connecting businesses with web design firms
  • how I used the briefcase technique to land multiple job offers
  • the job offers I’ve received and why I turned them down
  • examples of great web app. signup design
  • examples of great portfolio/blog design
  • why don’t people do more research for job applications, web design, having kids, or anything else
  • how I’m more productive using the Pomodoro technique
  • Pivotal Tracker vs Fogbugz
  • a review of the Nexus 7 (I love it)
  • books I’m currently reading/just read
  • podcasts that I listen to
  • programs I use to design/develop: Balsamiq, Photoshop, SublimeText, PomodoroApp
  • a few positives about living in Austin, Texas

Also I promise to stop posting these “status” updates and start posting actual, interesting content.

Read More

Between November 2011 and June 2012, I only published two posts: my introduction to blogging tutorials part 1 and part 2. It may seem like I fell of the edge of the world, but I was actually fairly busy. Now that I look back on it, I accomplished a lot in that short span of time.

I created some apps.

My wife and I have been thinking about moving back to California basically since we moved to Austin. The problem is that California is really expensive. So for awhile we were looking at places in Oregon, Colorado, and everywhere else west of Texas.

When you don’t have a job or family to move for, it is actually really hard to just pick a place. So, being a developer (not a programmer), I wrote up a small app in PHP and CodeIgniter to rank different cities on a range of criteria.

For the data I used city-data.com, a brewery directory, localhikes.com, weather data, etc. The factors I looked at were population, density, climate, average cost of living, well-being index, the number of breweries per person, number of hiking trails, etc. Oh it also gave bonus points for being near to Costco, an airport, and Trader Joe’s. I came up with a really complex rating system that was a lot of fun to build, but ended up not being so useful.

The problem was that I could continually tweak the formula to make one city end up better than another. Just favor low density and suddenly mountain towns far away from everything shoot to the top. Or favor cost of living and all the cities in the midwest rise above everything in California. Ultimately it didn’t help us decide anything, but every time we hear about a new place to live, I add it to the database to see how it compares. The code is pretty terrible (I skipped using a model), but I might someday put it up on GitHub at least.

I also made a similar app for cars, but to measure a very specific stat: horsepower to weight ratio. The “app” lets you rank them based on that output. I also threw in the dollar amount per unit just for a fun comparison. I used this for comparing hatchbacks. Although at first it seems interesting, it quickly becomes obvious that yes, with a few notable exceptions, you generally pay a premium for diminishing returns in performance. No duh.

I took some online courses.

After debating it for months, a coworker asked me if I wanted to split a course taught by Ramit Sethi called Earn1k. It is supposed to teach you how to earn $1,000 in a side business, with a heavy focus on freelance consulting.

Although I had already had some mild success with that, I never devoted enough effort to earn more than a couple hundred dollars a day. Part of the reason was that I always hated having deadlines looming over my head and doing freelance while still working a full time job is pretty draining. Earn1k was great though because it gave me a lot of information on dealing with clients that I was able to use at my job at SiteGoals; both with my bosses and with actual clients.

At the time I was working heavily on Evenflow, so it also helped shape some of the strategy both for the production and the marketing of that app. In the end, I felt like the course was worth it and I hope to go back and follow it more rigorously sometime in the future.

Read More

I come across great content on a daily basis. Twitter and Google Reader are my modern replacements for the newspaper, which I read every morning with coffee. But instead of just consuming, filing, and never coming back to it, I wanted to start writing about some of the best stuff. So here are my links of the week:

  • There are already lots of great CSS3 generators, but none as good looking as CSS3.me. Kudos to the developers, because the interface is very snappy. There’s no delay between adjusting settings and the preview being updated. Feels like a desktop app. Lots of fantastic little details in this one, like the little diagrams to the left of each property or the version history when you rollover the version number on the bottom right.
  • TexasJS, a Javascript conference held here in Austin, posted high quality videos of some (maybe all?) of their tracks. I love it when a conference does this, because it allows everyone to appreciate these speakers, even those who couldn’t attend the event. This is something I might donate to in order to keep it going. I would pay a couple dollars to watch these videos.
  • Chris Coyier of CSS-tricks.com responds to CSS questions in a mailbag on Smashing Magazine. Great for new and advanced CSS authors alike.
  • Now for something completely different! I read ths interesting article that tries to dispute, using statistical analysis, that congestion hurts the economy. I think the variables used are a bit flawed, as the author admits, but it does make for an interesting read. Regardless, I’m glad more thought is being put into the costs of traffic.
  • Finally, a great quote from Chris Guillebeau ($100 Startup): “The most important competition is against inertia.”

 

Read More

Part of my One Step At a Time program is to write something everyday. Produce instead of consume. Karen and I have set a goal of writing 500 words every day. I was inspired by this TED talk:

To me, the hardest part of writing is just getting started. Once you have a topic, writing should be as easy as thinking. The problem for me in the past was that I edited myself too much. I’d think about every word before I wrote/typed it, because I wanted perfection from the first draft. By forcing myself to write 500 words every single day, I usually have to resort to writing a stream of conscious. Using Write Or Die also helps with that, because you can’t stop to think.

We mark each day off on a big calendar in our office, which is a nice visual reminder to not break the chain. I’ve been saving most of what I write as blog post drafts, but I don’t know which ones will ever see the light of day. They definitely need some editing.

Read More

Crickets of the house Gryllidae, true crickets indeed, are in the late stages of a full scale invasion of our apartment. They are practically streaming in through every orifice of the building. We’ve closed off access to through the back door with duct tape, but that has only served to detour their attack route.  Six-legged Santas now come happily chirping down our chimney.

I will not call it war, because despite their numbers, it is a rather one sided battle. I don’t coddle or shoo them out the door. That would be a day job. Instead, I rain down on their stupid heads with objects the relative size of sport utility vehicles. I push until I hear their exoskeletons crushed underneath. It does not bring me joy, merely relief. I do it to protect my wife from jumping completely out of her own skin.

Last night my wife woke up from a nightmare to the sound of their infernal chirping in close proximity to her head. Two of them, likely mating, had crawled from who knows where, to the head of our bed. Like Romeo and Juliet, I ushered the young lovers to an early death.

They are literally in the walls now. We hear their “song” coming from the attic, from the air conditioning vents, from the electrical outlets. Their wiggly little antennae poke out from sink drains.  I can only imagine the amount of scurrying they must do. My skin crawls.

We put serious thought to owning a bird that could swoop down from the mantle to feast on our enemies. That seemed like it would create an entirely new set of problems. A dog is out of the question. We found a lizard and decided to let it live on, inside our home, and pleaded for it to join the circle of life.

In just a few more days, we will be abandoning ship, moving to a new location, hopefully cricket-free.

 

Read More

Too often I get caught up in lofty goals which are impossible to achieve. I set the bar so high that I give up before taking a single step (I know, I’m mixing metaphors left and right). On top of that, I spend way too much time consuming and not enough time producing. I’m addicted to Google Reader. I have too many subscriptions. I can’t tell you how many amazing tutorials and articles I’ve read, bookmarked and stored for later, that I’ve never come back to. What good is that information? Well instead of storing that knowledge up like a chipmunk, I’m going to start producing again.

I’m going to plan less, or at least plan for shorter and smaller goals. I want to be proactive and not plan so far ahead that I never reach my goals. Really my checklist is very simple. Every day I want to learn something, build something, and write something. I’m hoping each one leads to the next. We’ll see how I do.

Read More

I’ve never considered myself a programmer. Developer yes, coder, sure, but not a programmer by any means. Although I took some computer science classes in college, I never learned the basic tenets of programming and instead always learned just enough to get by. Focusing on HTML, CSS, and jQuery has always been enough. With my new position at Incisent, I’ve had to dive into the deep end of some very complicated, custom Javascript. This code has huge custom classes, uses Underscore, fastFrag, and Lawnchair (three JS libraries I’d never heard of). Although it’s easy to fix bugs, given enough time, adding new features the “right way” requires a bit more knowledge.

A few weeks ago I saw this post: learning object oriented Javascript in 15 minutes or less and I knew I needed to walk through it. So I finally did. The best thing about this is that it was short. Like the title says, it took less than 15 minutes and I was able to understand some concepts that were always at the edge of my knowledge. So it was definitely successful.

From there, in the comments, someone linked to this short collection of OO JS articles. These obviously go more in depth and are helping to take my knowledge to the next level. Armed with this new information and I’m starting to really enjoy the challenges at work and I hope to apply what I’ve learned for some of my own after hours projects.

Read More