Overriding resque spec

This is a reminder to myself mainly… It’s the second time in the last 6 months where I lose valuable time because of this error.

If you are using the Resque spec gem in an engine, make sure that you do NOT include it in the development dependencies of the “gemspec” file. Doing this overrides the default Resque send mechanism and prevents message enqueuing. Instead, you need to modify the “Gemfile” as follows:

group :test do
  gem 'resque_spec'

This seems to do the trick. I couldn’t find a more elegant solution. I could use the disable_ext option but that’s even more ugly.

Building Rostock 3D printer (Part 5  – Installing the extruder)

I found this to be the easiest part of the assembly process.   The extruder is the mechanical device that pushes the filament all the way down to the hot end.   The extruder proper is a simple stepper motor, attached to the top plate of the 3D printer and pushes the filament down a Bowden tube.

Here’s a picture of the extruder before I attached it to the top plate.

From the picture, you can see the motor and the extruder proper attached to the motor.  The filament is inserted at the top and is pushed at the bottom.

Here’s a picture of the extruder and the Bowden tube connected to the hot end. For display purposes, I have reversed the arms of the hot end.

That’s pretty much it for the extruder, quite easy.

Book Review: “How to build a billion dollar app”

A really great book. I found most of the advice in it to be highly practical. If I had had this book a few years ago, I probably would have made fewer mistakes in my selection of startups to work for and on my own startups. A couple of years ago, I read “The lean startup” from Eric Ries. I find that this book is a “practical” companion to Ries’ book. Where the Lean Startup is more on the theoretical side, this book is quite practical.

The book is divided into 5 parts (the million dollar app, the 10 million dollar app, the 100 million dollar app, the 500 million dollar app, and the billion dollar app). Each section covers the problems and solutions associated with that particular size. I have to admit to having being riveted for the first few parts but lost interest a little bit towards the end. The initial parts cover more of the mechanics of creating the app while the followup parts cover more the mechanics of running a large company. At the present time, I’m pretty far from having a billion dollar app but could see myself having a 1 million dollar app (rightly or wrongly) so it’s understandable that section 1 and 2 hold more interest to me.

The most enlightening part of the book is the importance of analytics. Obviously, it’s important but I never realized how important it is. Get Google analytics, get Mixpanel, and possibly others. You can have more than one analytics solutions. Mixpanel and Google analytics appear to be quite complimentary so start with those. Make sure you have a plan as to how you want to use analytics.

That being said, awesome book. Highly recommend it (4.5/5)

Here are some of my notes:

Part 1: The million dollar app

The first part of the book is about getting an idea, a proof of concept app, and a founding team in place. It also talks a little bit about getting some seed money.

  • You need to define which business model applies to your business. The author defines 5 of them:
    • Gaming
    • E-commerce
    • Consumer/Advertising
    • Software as a service
    • Enterprise
  • I am unsure as to the way the business models are broken up. It seems a little bit contrived but there’s no doubt that as an entrepreneur you should know where your revenues will come from.
  • It is possible to start a company by yourself but having a co-founder is a good idea to deal with complementary skill sets. The author recommends a number of ways to meet somebody (e.g. Developer meetups, startup weekends) and a number of online resources (meetup.com and angellist.com).
  • Online resources to find domain/company names:
    • Namestation.com
    • Sedo.com
    • Domainnamesoup.com
    • Instantdomainsearch.com
  • You should build an iOS version and an Android version but do one at a time. Though the author does not state which one you should start with, all of the examples seem to point to iOS.
  • The author recommends doing MVP (minimum viable product) from Lean startup approach.
  • Metrics are immensely important. Make sure you have some.
  • The author divides metrics into 5 categories:
    • Acquisition
    • Activation
    • Retention
    • Referral
    • Revenue
  • You should understand these categories and understand how they map to actions and goals.

Part 2: The 10 million dollar app

This part of the book covers product-market fit (PMF) and series A funding.

  • It’s pretty simple, you need to build something that people like, or rather love. It’s easy to say, quite hard to do.
  • Analytics should help. Make sure they are present from the start. (Look into using more than one of them e.g. Google Analytics and Mixpanel)
  • Having analytics is key to finding Best PMF but also to get proper funding. If I have good analytics number concerning acquisition and retention, getting money is a lot easier.
  • Agile and continuous development recommended
  • CrunchBase is a free site that allows you to find valuation of companies that may be comparable to yours.
  • It takes time to get money. On average, in 2013, it took close to 600 days. This is awfully long when you have a team living on the initial seed money.
  • VCs will normally look for three things, the ability to maintain their ratio in the company, the ability to sell before anybody, sit on the board.

Part 3: The 100 million dollar app

Here we work on improving the business model. Fine tune revenues, start working on growth

  • Find head of marketing, get a marketing team in place
  • Look at Fiksu for marketing, seems interesting
  • Analytics still play a huge role here
  • On page 282, there’s an interesting equation to measure virality
  • User retention is important. Fred Wilson has this ratio (30:10:10). I am intrigued by these numbers. Need to find out more. Here’s the breakdown:
    • 30% use the app each month
    • 10% use the app daily
    • 10% of daily users represent a maximum number of users present at any time.
  • OKR (Object Key Results) method is a good way to focus a company. Every quarter goals are set, measure metrics are defined and results are obtained at the end of the quarter. Used by Google. Created at Intel.

Part 4: The 500 million dollar app

Hire well, might be time to find somebody who is used to managing/guiding a business of this size. Might want to take a backseat. (Paraphrasing here).

Part 5: The 1 billion dollar app

It’s all about people. Hire well.

Building Rostock 3D printer (Part 4 – Putting the towers in)

Ok, the base is built.  It’s a good start but it still doesn’t look like much of a 3D printer.  The next step consists in assembling the “towers”.  The towers are the metal rods on which the printing arm chariots are installed.  They also are used to carry the electric wires.  Each one of the towers carries part of these wires, there’s a lot of them and they do a lot of stuff:

  • supply power to the hot end
  • supply power to the extruder motor
  • supply power to the two fans used in the hot end assembly
  • carry stop end signal back to the controller
  • carry hot end temperature from the hot end to the controller

The towers are named X, Y, and Z.  Here’s what they look like once installed:

As to the chariots, version 4 of the Rostock Max V2 makes them look very very good using a transparent casing with blue rollers…

Things are starting to take shape!!!

Building Rostock 3D Printer (Part 3 – Assembling the base)

I did the prep work of both the heating plate and the heating element last week.  This week, I’ll do the initial assembly of the printer’s base.  On the Rostock model, the base contains the power supply, the motors, a cooling fan, and the power switch.  It also houses the computer but this won’t be dealt with for a little while longer.

The base is made out of melamine boards that need to be removed from the cut-out sheets.  There’s quite a bit of satisfaction in seeing the thing take shape.  Here’s what the base looks like once the boards are installed.  Note that at this time, the construction is a little bit flimsy, as nothing is glued in and the top board is not installed yet.

The Rostock kit contains four stepper motors.  Three of these are used to control the extruder (the last one is responsible for pushing the filament down…  More on this in a future post).   The three motors used here each require a casing and a gear to be glued on.  The casing is constructed out of some other melamine components.  Note that I initially installed that gear the wrong way… Thankfully, somebody made me realize this and the problem was easily corrected).  Here’s a picture of the three motors.

After this step, it’s back to the base assembly where the power supply and the stepper motors now need to be screwed in.  This brings some more robustness to the overall structure.   Note that there is still quite a bit of space left in the base, which is going to be filled up when we finally put the electronics in there.  Here is what the printer looks like after this part of the installation.

(Note that on this picture, the gears are still installed the wrong way).

The last step consists in closing off the base by putting the top melamine board.  Now, this sounds easy but it took a fair bit of work to correctly align everything.   In the end though, here’s what the whole thing looks like: 

Very happy with the result!  It’s solid and the wiring is decent.