02 May

Working for Me: First Month Report

In early April, I left my job with a very ambitious goal in mind: never work for anyone else but me. This includes contract work.

I had similar aspirations in 2009 when I gave a shot at startups with Talker. My focus, at that time, was more on building a startup and not on profitability. Although Talker turned out well in the end, it failed to support me financially and to provide the lifestyle that I wanted.

I took a lil’ more than a year to reflect on my errors, and spent a lot of my time studying marketing, advertising, business and sales.

So now I’m back at it. I’ve been working hard during my first month, trying to find something I love doing that would support me and my family, and that would help others.

How did I do? (Show Me the Money!)

So how did I do on my first month? :) I must say, this is way beyond my expectations.

For the month of April, I generated close to $12k in sales. Even more amazing is that I took about two weeks of vacation at the beginning of the month.

Here’s the split:

Of course that is not 100% profit. One of my strongest strategy for generating sales has been affiliate marketing. A great percentage of my sales go to affiliates. That leaves me with a profit of about $9400 in a bit more than two weeks (two weeks for generating the sales, not building the products of course).

It feels incredibly good to know I’ll be able to focus all of my time on my products and that all those people have trusted me enough to give me their hard-earned money.

Holy crap! How did you do this?

Although I am very surprised by my results, this is surely not an accident. The time I spent learning about marketing and sales is paying off. But, the hard part was not learning, the hard part was opening my mind to be ready to learn about this stuff.

To explain what I mean by opening my mind, here’s a brief story from a book a read recently:

A women who studied writing for most of her life had the chance to meet with one of her idol, a best selling author.

She asked the best selling author: “How do I become a best selling author? I studied writing for years. I wrote a few important publications, each very well received. Yet, I can’t become as successful as you are.”

The best selling author asked the women who was taking some notes: “what did you write under my name?”.

She replied: “best selling author”.

He replied: “that’s right: best SELLING author, not best writing author. If you want to become a best selling author, learn about sales”.

The women’s face became all red, she was furious: “I have a PhD in literature and you’re telling me I should take a sales class?”

I had that same exact mentality.

Affiliate marketing can be very ugly. Some people are doing shady stuff there. But at the same time, it amazes me how those shady people manage to sell crap, imagine what you can do with a good product! Big companies like Amazon and Apple are relying on affiliate marketing too. No one reads long sales letters right? Well… long copy sales, that’s a fact. You have to learn how to present it and when to use it. And… you’re still reading, right? ;).

Marketing and sales are backed by numerous scientific researches in the psychology of influence and persuasion. It is a fascinating world. But, it is extremely counterintuitive for most people.

There’s more …

Now, if you’re ready to open your mind like I did, join my newsletter and I’ll share all the details on what I learned, what I’m learning making a living with my products and of course you’ll know about my new products before everyone else ;).

27 Apr

Owning Rails: an Online Master Class

I initially learned Rails with the book Agile Web development with Rails, but the thing that made Rails click for me was not building a sample app, it was seeing all the design patterns I studied long and hard before being applied and playing well together. It didn’t take me long to pick up Rails and master it. And I know this is because the architecture and design choices behind it made so much sense to me.

Seeing all the Rails tutorials popping-up, I feel they are taking the wrong approach. I don’t think you can deeply understand Rails by playing with it’s APIs, building a simple app in a few hours. I think you need to understand how it works and everything will fall into place. Once you do, you are no longer feeling stuck in the framework.

So a few weeks ago, I was inspired by Amy Hoy and Thomas Fuchs’ Javascript Master Class in launching my own online class to teach Rails. I’ve always enjoyed teaching people about Rack, EventMachine, Thin, programming language creation and virtual machines at conferences and user groups. But I know the most useful thing I can teach is Rails. I truly believe that once you know enough about Rails you enjoy web development much more. But this is hard to understand until you actually do… know enough about Rails. And what is “enough”?

Well, from my experience, “enough” is understanding three key things:

  • the design patterns behind Rails
  • the naming conventions
  • the coding style

And you don’t need a CS degree to understand any of these and you certainly don’t need to know by heart any of the APIs.

That is why I’m using the same approach I’ve been using for years for teaching: with code. Not only with live coding sessions, but with code samples, straight from inside Rails, explaining how stuff work. I want to teach you how to read Rails code, and believe me, it’s way easier than some people think.

Register now for the May edition or my Owning Rails online Master Class!


18 Apr

RefactorMyCode new home

Holy cow wow! RefactorMyCode has found a new home. But mostly, a new team working on it and giving it the love it deserve.

And not just any team:

Can’t wait to see where they bring it next!

25 Feb


On September 26th 2007, I announced RefactorMyCode.com, a side project of mine. It became very popular very quickly.

The site still has an active community of passionate programmers dedicated to making everyone’s code better. But it’s simply going nowhere since I have no time and interest to dedicate to it.

My hope is to find someone who is interested in doing something with it that will please the community.

RefactorMyCode is:

  • 872,219 Visits total
  • 681,559 Unique visitors
  • ~ 25,000 Visits / month average
  • 1,596,252 Pageviews
  • Google Page Rank of 5 (StackOverflow has PR of 6)
  • 2611 registered users
  • 8517 posted refactorings
  • Backend/server maintenance is entirely automated

Contact me if you’re interested.

05 Jan

Dresssed Survey Results

As you might have guessed from the landing page on dresssed.com, there’s not much to see for now. I’m still validating the idea and some of my assumptions about it. This is the second step for me in my process to validate the idea after talking to a few people and building a fake buy page and driving traffic to it with AdWords like I did for my ebook.

So far the response has been pretty amazing to say the least. Tweets and posts on two Montreal tech news sites: Montreal Tech Watch and NextMontreal are all saying very nice things about it. I also received a few emails and messages from people wanting to be my first customers right away!

Those of you that subscribed to the Dresssed newsletter have noticed that I carefully placed a small survey as the confirmation page. The purpose of the survey was to validate the market and confirm some assumptions I had.

My first surprise was that more people than I expected are already buying themes or considering it (52.1%). Also a little more than half respondent hired a designer (58%). The Interest chart shows that the decisive factor will be the quality of the themes, which is exactly what I expected.

The survey also helped me decide which template engines my themes will focus on. I wanted to offer the themes in various HTML templating languages (HAML, ERB) but not the stylesheets, so a decision had to be made.

As I expected HAML & ERB are the clear winners. And SASS for CSS, since plain CSS is not an option and the new SASS syntax is very similar to plain CSS.

I also wondered if I needed to make the themes backward compatible with Rails 2.×. Since the large majority (94%) is using Rails 3.x for their next project I don’t think this is needed.

You can see the full report: here.

04 Jan

Announcing Dresssed.com

Imagine making a Rails app, diving straight into code and launching with a jaw-dropping design in just a few days. Forget about the scaffold stylesheet. Dresssed is my new project giving everyone access to high quality Rails themes made by a talented designers.

If you’ve created a few Rails apps and took care of some of the design, you know how time consuming this can be, how your CSS can get messy pretty fast and how hard it is to keep your design consistent when everyone is touching those precious stylesheets adding stuff as they go. The trick is to start with a good foundation, and this is exactly what Dresssed will offer. A foundation that will ensure you start on the right foot, but also that your app looks awesome right from the start.

Designing is hard, lets go shopping … for themes

Dresssed will offer a variety of themes designed by professionals, in similar fashion to WooThemes, but for Rails. Each theme will style most elements of a common app and popular UI patterns. All of this, backed by the most awesome documentation you’ve ever read.

I need your feedback

How does that sound? Let me know your thoughts. Do you think premium Rails themes would be useful for your next project? How would you like a theme to work, what should it include? Post your comments bellow or send me an email and subscribe to the newsletter to know more and contribute to the making of the first themes.

15 Aug

Bill Bernbach

Bill Bernbach is an advertising legend. If you don’t know him, you might know his work. But one thing is for sure, you’ll recognize his style.

Not only was he devoted to simplicity, he was also known for his offbeat themes.


Logic and over-analysis can immobilize and sterilize an idea. It’s like love — the more you analyze it, the faster it disappears.

You can read more about Bill Bernbach here.

10 Aug

The Zero Dollar, 5 Minutes Market Research

A common subject on Hacker News and other entrepreneur communities is how to find business ideas. There’s the usual:

  • Scratch your own itch
  • Ask people what they want
  • Copy

Scratching your own itch is the most fun, but being too passionate about something might blind you from real business opportunities. Asking people is good but more often than not, they can’t tell you what they want. You don’t want to build what people want, you want to build what they need. If Henry Ford asked people what they wanted, I’d be sitting on a (faster) horse today. Copying is good, but you don’t want to copy something that is not successful.

What I want to show you, is a quick technique to find markets where people are looking for something and willing to pay for it. It’s not 100% accurate but it’s a good start, costs nothing and takes only 5 minutes to do.

1. Find What People Are Looking For

Go to Google Search-based keyword tool and browse the categories on the left. You’ll see how much traffic, competition and how much people are bidding for those keywords. What we’re looking for is medium-to-high traffic, low competition and bid. But not $0 bid, if nobody is willing to pay for ads for that keyword, it often means nobody is willing to pay for the products in that market.

Here I found something interesting, “flv converter”, with very high traffic, low competition and bid.

2. Look at The Competition

Next thing you want to look at is who is buying ads for those keywords and what are the top results:

You can see there’s lots of results, that means big SEO competition, but only two ads. If there’s money in that market you could buy ads to get on top before building up your Page Rank. You can also contact owners of the sites in the top results to see if they are interested in promoting your product or service.

This is also a good place to look to see what the competition is doing. Maybe they are missing something. Maybe you’ll see some forum posts about people complaining about their problem.

3. Where’s The Money?

Now the big question is: will people pay. If bid is low and there’s no competition that could mean two things: people searching for those keywords are not looking to buy stuff or that this is an unexploited niche.

Microsoft AdLabs built a tool to guess if people searching for specific keywords have commercial intention.

This tells you that people searching for “flv converter” have a 50% chance of being in buy-mode.

It’s also a great tool to refine your niche, eg.: “flv converter mac” has 0.54 probability, “flv converter windows” has 0.62 and of course “buy flv converter” has 0.97, but no traffic.

Don’t base your whole business on this, but this is a good indicator to start from and better then wild guesses or slanted surveys.

09 Aug

Will Smith's Wisdom

Greatness is not this […] god-like feature that only the special amongst us will ever taste. It exist in all of us. It’s really simple: This is what I believe and I’m willing to die for it. […] You might have more talent than me, you might be smarter than me, but if we get on the treadmill together, there’s two things, you’re getting off first or I’m gonna die, it’s really that simple.

I’ve never seen myself as particularly talented. Where I excel, is ridiculous, sickening work ethic. While the other guys are sleeping, I’m working. While the other guys are eating, I’m working.

Being realistic is the most common road to mediocrity.

(Via Mass Control)

23 Jun

Feed Subscribers Without Feedburner

Here’s how to show the number of feed subscribers on your blog without going through FeedBurner or any other service, all in javascript.

First, most feed fetcher bots pass the number of subscribers in the User-Agent header, you can get this in you web server log: - - [23/Jun/2010:11:36:45 -0700] "GET /blog.atom HTTP/1.1" 304 169 "-" "Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; 540 subscribers; feed-id=8309483740725605993)"

Here’s a dirty script that will parse the Apache log file and extract the number of subscribers and add them up:

# Path to your Apache log
LOG_PATH = "logs/macournoyer.com/http/access.log"

cmd = "grep subscribers #{LOG_PATH} | " +
      %q{sed -rn 's/^.*GET (\/.*) HTTP.*"-" "([A-Z].*) .*; ([0-9].*[0-9]) subscribers.*$/\2\1--\3/ p'}
      # outputs BotName/URL--<# of subscribers>

counts = Hash.new(0)

`#{cmd}`.each_line do |line|
  ip, count = line.split("--")
  counts[ip] = count.to_i if count.to_i > counts[ip]

puts counts.values.inject(0) { |sum, i| sum += i }

Next, create a Cron job to run this each day and save it to a file accessible online:

0 0 * * * ruby feedcount.rb > PATH_TO_YOUR_SITE_ROOT/feedcount.txt

Finally, you want to update the info on your site using jQuery: