My friend and former student David Ancor came up with this ingenious strategy for promoting his startup ( post promotional stickers on lamp posts in public places.

I like this because it is a fairly un-advertised space so people haven’t gotten used to it. In particular, I like the fact that I can place the stickers specifically near the McGill residences to target specifically first-year students. I’ve previously wrote this about the main challenge faced by Minireference Co. right now—reaching my target audience of freshman students.

So here is what I’ll be posting:

I decided not to go for a URL because I think showing the full domain is cleaner. It would be nicer to “test” the effectiveness of this strategy, and A/B test different designs, but I find showing the real destination is a respectable towards people.

Also, if you have any ideas about what I should use as the pitch. If you’re a freshman or a freshwoman, what would line of text would convince you to check out this book?

Marketing problem

I have a marketing problem. My company’s product is perfect for an audience of university students (a math textbook that explains concepts clearly, concisely, and affordably), but students can’t recognize the value of the product.

My current readers are of a different audience: the adult technical crowd. These readers have often already taken calculus and mechanics courses in their university days, and can instantly recognize that all the material they learned in class is covered in the book. They’re not alarmed by the short format—in fact they like it because they wouldn’t have the time to go through a mainstream textbook.

The problem

How can we convince first-year university students to buy the book instead of the calculus and mechanics textbooks chosen by their professors?

The trust problem. Who the hell am-I to be teaching these advanced subjects? Isn’t the mainstream textbook written by a professor guaranteed to be better. Professors often have full-hair loss and I have only partial hair-loss so surely professors are much smarter than me?

In all humbleness, I can say that most of my explanations are better than the ones in mainstream textbooks because (1) I’ve experimentally tested each of them with students during 13+ years of private tutoring, (2) the fact that I’m not old is actually a feature—the conversational coverage of the material leads to better engagement.

While good, these points are difficult to get across in marketing copy. Too much explanation is required, tutoring experience, alternate explanations, trial-and-error, explaining of connections between topics, etc. Also I can’t tell you the tone of the writing is different (less formal, more chill), you must see it for yourself.

Already bought the book aspect. Placing myself in the student’s shoes, I will feel like an idiot if I accept that a \$30 book can teach me everything I need to know about mechanics and calculus, but I already bought \$300-worth of textbooks. Since I don’t like to think I’m an idiot, I prefer not to believe the short book is of sufficient quality.

The study guide image problem. By its small size (5.5″x8.5″x400pp) the book resembles study guides like Shaum’s outlines and Cliff’s notes. These are not complete books, but short guides with summaries that complement a regular textbook.

Exam prep book image problem. The “learn quickly, pass the exam” rhetoric in my marketing message is usually associated with exam-prep books, like those for the SAT and GMAT. Instead of complete books focussed on understanding, these books focus on practice problems and rote learning for speed. They are the anti-thesis of what I’m trying to do. How can I convey to my potential readers that I’m not out to exam-prep them, but to teach them to understand the concepts for real. The ability to pass exams with flying colours is just a useful side effect of understanding the material well.

I must find a solution by the end of this summer so I can make a killing when school starts in September. My runway is running out. Do or die—sell or perish, that’s Darwin’s law of natural selection for startups.

Call for proposals

If you can help me solve this problem this summer (2014), I’ll be very grateful, so grateful that I’d be willing to setup a profit-sharing scheme for the sales of Sept-Dec 2014. Get in touch if you think you can help me.

Ghetto CRM

Say you want to extract the names and emails from all the messages under given tag in your gmail. In my case, it’s the 60 readers who took part in the “free PDF if you buy the print version” offer. I’d like to send them an update.

I started clicking around in gmail and compiling the list, but Gmail’s UI is NOT designed for this, you can’t select-text the email field because a popup shows up, and yada yada…. If you’re reading this, you probably got to this post because you have the same problem so I don’t need to explain.

Yes this is horribly repetitive, and yes it can be automated using python:

import imaplib
import email
from email.utils import parseaddr
import getpass

user = raw_input("Enter your GMail username:")
pwd = getpass.getpass("Enter your password: ")

m = imaplib.IMAP4_SSL('', 993)    

# see IMAP client
# m
# see tags (i.e. mailboxes) using
# m.list()

# select the desired tag'miniref/lulureaders', readonly=True)
typ, data =, 'ALL')

# build a list of people from (both FROM and TO headers)
people = []
for i in range(1, len(data[0].split(' '))+1 ):
    typ, msg_data = m.fetch(str(i), '(RFC822)')
    for response_part in msg_data:
        if isinstance(response_part, tuple):
            msg = email.message_from_string(response_part[1])
            name1, addr1 = parseaddr( msg['to'] )
            name2, addr2 = parseaddr( msg['from'] )
            d1 = { "name":name1, "email":addr1 }
            d2 = { "name":name2, "email":addr2 }
            # uncomment below to see wat-a-gwaan-on 
            #for header in [ 'subject', 'to', 'from' ]:
            #    print '%-8s: %s' % (header.upper(), msg[header])
            #print "-"*70

# lots of people, duplicate entries

# filter uniq
# awesome trick by gnibbler 
# via
people =  {d['email']:d for d in people}.values()     # uniq by email

# just uniques

# print as comma separated values for import into mailing list
for reader in people:
    print reader['email'] + ", " + reader['name']
# ciao!

Linear algebra tutorial in four pages

I just pushed an update to the Linear algebra explained in four pages tutorial.

Linear algebra tutorial in four pages thumbnail

Anyone who has an exam with lots of $A\vec{x}=\vec{b}$ stuff on it coming up should check it out because it covers: vector operations, matrix operations, linear transformations(matrix-vector product, fundamental vector spaces, matrix representation), solving systems of linear equations (the RREF stuff), matrix inverse, eigenvalues.

UPDATE: I found another excellent tutorial which I think you should also read, especially if you are a visual person. A Geometric Review of Linear Algebra by Prof. Eero P. Simoncelli  (discuss on HN if you are a procrastinating person). If you’re a studious person, you’ll also go to and practice solving problems. To become a powerful person, don’t look at the solution until you’ve attempted the problem (with pen and paper) for at least five minutes.

UPDATE: I found some other useful short tutorials, like this short review of linear algebra from Stanford and another one from Boulder which both cover interesting details and bring a new perspective.