Wednesday, October 30, 2013

"Passion" as a verb

At one seminar where I was speaking on the concept of proactivity, a man came up and said, “... I’m really worried. My wife and I just don’t have the same feelings for each other we used to have. I guess I just don’t love her any more and she doesn’t love me. What can I do?”
“The feeling isn’t there anymore?” I asked.
“That’s right,” he affirmed. “And we have three children we’re really concerned about. What do you suggest?”
“Love her,” I replied.
“I told you, the feeling just isn’t there anymore.”
“Love her.”
“You don’t understand. The feeling of love just isn’t there.”
“Then love her. If the feeling isn’t there, that’s a good reason to love her.”
“But how do you love when you don’t love?”
“My friend, love is a verb. Love -- the feeling -- is a fruit of love, the verb. So love her. Serve her. Sacrifice. Listen to her. Empathize. Appreciate. Affirm her. Are you willing to do that?”

There’s a lot of literature of late about the role of passion in one’s work, specifically about how blindly pursuing one’s passion could be a terrible career choice: Cal Newport studies successful people and finds that they became passionate about their work only after they have cultivated the skills to become very good at what they do. Scott Adams writes that for him, “success caused passion more than passion caused success.”

I think passion is very similar to romantic love. Both are mostly thought of as feelings, but both can be actions. The feelings usually motivate actions, but the actions themselves can intensify the feelings, creating a positive feedback loop. Analogous to the above dialog, passion for one’s work (the feeling) can be cultivated by being more passionate (action) about it. Passion -- the feeling -- is a fruit of being passionate, the verb. The grind. The appreciation. The patience. The discovery.

This is useful because rather than thinking of passion as something magical that happens when we choose the right field, passion becomes something that we can control. I’m sure you can think of people in your life that are very energetic and passionate about everything -- not necessarily because the fields they engage in are all intrinsically engaging -- but because they put in the effort, energy, and patience to really appreciate the nuance and beauty in everything they do.

Especially in the startup world, people talk about “passion” as a must-have for a founder. The number one advice I’ve received from mentors is to “pick a problem that you’re passionate about”. Sure enough, investors also look for passion; they find that founders who are most passionate seem to be running the more successful startups.

But I think we are mixing up the cause and effect. Newport provides evidence that passion doesn’t come from a vacuum, or even from “picking” the “right” field. Passion comes from mastery and success, rather than the other way around. Thought in this way, it still make sense for investors to look for passionate founders -- because chances are, their mastery and success of the business are fuelling their passion!

Thus, a better way to rephrase the same advice for startups founders is to be sure that you have already cultivated passionate about your field or industry.

Along the same line, a better advice for the general public would be to be a passionate person -- find ways to love your work, and then you will become passionate about it.

Tuesday, June 4, 2013

Stereotype Priming and Women in Tech/Entrepreneurship

At tech and entrepreneurship conferences, I'm often approached by people to who want to show support for women like myself, or to talk about the role of women in the respective fields. More often this is done by other women, or by extremely supportive men who also believe in gender balance.

These people are always very well meaning, but I don't think what they’re doing is optimal.

Stereotype threat is a well-studied topic that talks about how the mere presence of a negative stereotype can cause anxiety and hinder performance. Priming or reminding someone of the stereotype makes it worse. Even a simple questionnaire regarding one's race and gender completed prior to writing a standardized test affects performance of stereotypically disadvantaged groups. Paraphrasing Cordelia Fine's reports on the many ways this priming happens in the context of gender (Delusions of Gender, pp. 7-8):
...if something reminds a woman of her gender while she is undertaking a task in which women are regarded as less capable, her own negative gender stereotypes might be activated.
This is not to say that we shouldn't talk about the representation of women in certain fields -- just that a private conversation at a conference isn't the best setting. People go to conferences to learn and to network. It is not a good place to have a lowered confidence, or to subconsciously feel uncertain about one's abilities.

End of Entry

Friday, April 12, 2013

6 Things You Probably Don't Know about Colour

Colour is a strage phenomenon that is fascinating to both children and adults. It's something almost every one of us reading this post would intuitively understand -- or do we really? This post asks six questions about colour, and explores the phenomenon from a mix of physiological, mathematical, and information visualization perspectives. See if any of the answers surprise you. (Disclaimer: content is rather technical. Author is a pure math grad, after all!)

1. Why are there three primary colours?

To understand this, we need to understand how we perceive colour physiologically. Visible light is electromagnetic radiation with wavelength ranging between 380nm and 740nm. Our eyes contain two different types of photoreceptor cells: cones and rods. The rod cells are very sensitive, so it is very useful for night vision. During normal daylight, though, they are overstimulated and do not contribute to vision. The cone cells is mostly responsible for colour vision, and there are three types of these cells, called S-cones, M-cones, and L-cones. Each type responds differently to light of different wavelengths: in particular S responds most strongly to blue light, M to green and L to red.

Response to light of various wavelengths, normalized

In this way, the distribution of light striking a particular area in our eyes are translated into three different signals. In other words, we perceive the colour space as a three-dimensional space. Linear algebra tells us, therefore, that there are three basis elements.

Incidentally, some humans are born without one of the three cone types, so they perceive colour as a two-dimensional space. This is of the ways people can be colour blind. Some other animals such as birds have four types of cone cells, and this is known as tetrachromacy. The mantis shrimp actually have sixteen types of cone cells!

2. Does the rainbow contain all perceivable colours?

You can probably just name some colours, like pink, that are not in the rainbow, but for the more mathematically inclined reader, here's another explanation:

Each patch of light on a rainbow has light waves of just a single wavelength, and that wavelength varies continuously from 380nm to 740nm. So think of the rainbow as a mapping from [380nm, 740nm] to the three dimensional colour space. But [380, 740] is a one-dimensional object, so following this result, there must be some colour that is not in the rainbow.

3. Can two colours look the same but be different?

Let's rephrase the question as such: can two different patches of light be composed of different combinations of wavelengths, yet be perceived to be the same? The answer is yes. A patch of light can be composed of various amount and distributions of light of different wavelengths. This is actually an infinite dimensional space, but it gets projected down to the 3D colour space when we perceive it. So some information is lost.

There are actually exhibits in science centers showing two different yellow light sources. The two yellows appear identical, but one of them is a "pure" yellow (single wavelength), and another a mixture of two or more different wavelengths. When you observer the light source through some coloured transparency that absorbs one of the "non-yellow" light, the two lights would appear different.

The two yellows may appear distinct to birds and mantis shrimps.

4. Can two colours be the same but look different?

You've probably seen the optical illusion shown here. The two shades of grey in A and B are the same shade of gray, but they appear different. What's happening?

This is where we begin moving away from the physiology of colour and towards other ways our brain has evolved to help us survive. The brain does a lot of post-processing to help us better understand the outside world, and this means that we automatically correct for artifacts like shading.

What's less obvious from this optical illusion is that your perception of colour depends on other colours nearby. For example, the grey bar below appears to be a gradient, even though it is not. This is one of the reasons why overuse of colour to represent information is discouraged from an information visualization perspective: we can interpret the information differently depending on surrounding colours.

5. Does the RGB space consist of all possible colours?

In other words, can you obtain all possible colours by mixing red, green, and blue? First of all, note that the RGB space we've been referring to is an additive colour model (as opposed to subtractive and others). Think of the additive model as mixing paint or adding light waves to be reflected, and subtractive space as absorbing certain wavelengths of light. Because we can only add light, the answer is actually no.

Chromaticity is an objective specification of the quality of a colour, regardless of its luminance (or how much light there is). On the left is a visualization of the chromaticity space, and the right the range of colours available to a typical computer monitor. Of course, everything outside of the triangle on the left side of the screen is not well represented since you're probably reading this on a monitor.

6. Why do printed colours look different from colours on a monitor?

If you ever printed a colour image, you may notice discrepancies between a printed image and the same image displayed on a monitor. Typically in printing, a CMYK colour space is used, and the possible printable colours are not identical to disable colours on the screen. Here is an example of a set of colours displayable on a screen and printable with in:

Notice that there are areas where they do not overlap. There are different ways to fix this issue, such as shrinking the RGB triangle inwards or some other continuous mapping between the two areas. Either way, the resulting may not be the same.

There are actually other issues with RGB colour space, and people do use other colour spaces for various reasons. One issue with the RGB colour space is that the amount of red, green, and blue doesn't directly tell us that much about a colour. How muted is it? How bright is it? From an information visualization perspective this matters a lot. When choosing different colours for several objects that you would like to draw equal attention to, it makes sense to make them all of similar brightness and saturation. If you want to highlight a single element, changing its brightness or saturation is one method. This is one of the reasons that HSL or HSV space is often useful.

Other Reading

Stephen Few has more to say about colour in information visualization. The following are excellent.

Although this post links a lot to Wikipedia, I learned most of the information here from Information Visualization, Second Edition: Perception for Design, which is also fascinating (and is linked below as well). I actually know very little about colour, so if you have any further questions, it's likely beyond my power to answer.

End of Entry

Tuesday, March 5, 2013

Using Data to Optimize Jobmine Hiring

Two years ago I wrote a series called Mining Jobmine that explored data from Waterloo's co-op job postings. It came as a surprise to find this analysis useful for myself. This post highlights how I used the results from that analysis to write our job posting, and how my startup Polychart hired our first two University of Waterloo co-op students.

What The Data Said

There were three main learnings from the Mining Jobmine analyses that were applicable. First is to keep job postings short, as data showed that shorter job postings attract a higher number of applicants. The second is to focus on describing the company and the role, rather than the ideal candidate. The third is to avoid using "ought" words. Both of these correlate to application levels.

Our Job Posting?

We kept our job posting to around 200 words. We described the company and the role, and while we did use some "ought" words -- well, I couldn't resist it. We also added a little bit of humour that ideal candidates would appreciate (but would confuse non-ideal candidates), and a link to our product and demo -- because who wouldn't love working on a slick product?

This was our job posting:
Polychart is a startup in the KW region building a really cool, drag-and-drop data visualization tool. We are looking for a software co-op to speed up our roadmap. See our website at and our demo video at for what we have to date.

You will be writing code (surprise, surprise!). This includes adding features to Polychart, testing said features, and releasing it to users. Because we're a startup, you will play an important role in the development team, have a huge impact on the company, and learn a TON.

The ideal candidate will have some non-school related experience in software development, preferably web development. Specific technologies we use include:

- the usual web stuff like HTML, less/CSS
- a ton of CoffeeScript/JavaScript, JQuery, Knockout, Raphael
- Python/Django/Tornado
- MySQL and likely other databases
- git and github
- linux

Bonus points if you have some experience in statistics, have an opinion on pie charts, and on vim vs emacs.

You should be able to reverse a linked list.

Please include in your resume your github account, twitter profile, and other relevant social media profiles. Also, please talk about projects you've done outside of school. Don't write a cover letter unless there is something not in your resume you'd like to talk about.
How did we do? Well, although no one wanted to show us their social media profiles, we did receive 55 applications for 2 advertised positions. Compared to startups and companies our size, we've done very well.

The Rest of the Hiring Process

First, we had to screen the 55 applicants. The goal of the first screening is to see if there's a chance an applicant can code. A whopping 25 of them did not appear to fit the bill -- these were sometimes students from other faculties with no programming background. We didn't discriminate against first and second years, and were more lenient on those with higher GPA's.

Those successfully passing the first screening received the following programming challenge:
The goal of this challenge is to find the index of a given word in a dictionary [alphabetically sorted listed of words]. The only way to interface with the dictionary is through a function `lookup(index)`, which either returns the word at that index, or `false` if the index is out of bounds. Words are represented as strings. The indices of the dictionary are a contiguous set of non-negative integers starting with 0.
Please write your solution in either JavaScript or CoffeeScript, and include in your solution:
  • The code
  • A brief description of your solution, and why it is (or isn’t) the most efficient
  • How you verified that your code is correct
  • How much time you spent
We chose this problem because it is short but difficult to find the solution through an online search. If you are able to google a solution then you probably know a thing or two about algorithms and will meet our requirements anyways. I advised applicants not to spend over an hour on it. Around 25 out of the 30 applicants responded with a solution. Less than half of them did reasonably well.

While the puzzle helped to determine who did and did not know how to code, there were many candidates that had a plausible solution that had one or more areas of improvement. We probably weighed the code quality a little too much, since those without perfect solutions ended up doing just as well (or better!) in the interviews.

We only interviewed with 9 candidates to give each interview 40 minutes. This is to have ample time to sell the position to students, and to make sure not to run over time. We also advised students not to dress up for the interviews. We found out later that little gestures like that really helps students.

Because we already had students' solutions to puzzles, I wasn't sure whether asking additional technical questions was necessary. They were. Those with near perfect, textbook solutions to the puzzle tended not to do as well when asked to code quickly. (And yes, I brought a laptop for candidates to type on, again to make their lives easier.)

The end results were hires whose background and history either resonated with or complimented ours (diversity is very important). We're very excited to have both of them onboard!

Polychart is Hiring!

We are looking for a Director of Engineering to bring on as a partner -- a technologist who sees the potential in Polychart and wants to build a great company with us. Companies are built by people, and so a good way to judge how well a company will do is to look at their hiring process. This was ours. If you think Polychart will be a good fit, shoot me an email!

End of Entry

Sunday, February 24, 2013

A defence of Waterloo

A couple weeks ago Khan from Khan's academy did a thought experiment to reinvent higher education. He concluded that University of Waterloo's education system comes close to what higher education should be like. The cornerstone of Waterloo education is the co-op system, which requires students to complete six, four-month length internships prior to graduation.

Those most critical of Khan were none other than Waterloo's own students and alumni. Objections ranged from a sarcastic "Apparently Khan has never attended a lecture at UW" to a more serious challenge: that the university is too focused on career development and not enough on "learning for its own sake" -- learning for the purpose of fulfillment, pleasure, and other personal purposes.

Ironically, I think that the focus on career development actually puts students in a better position to learn for its own sake. It's easy to forget that historically, learning for pleasure has always been a privilege of the rich. Even with the more accessible, modern higher education, there is a tension between choosing a major that one enjoys and choosing a more useful course of study.

Most undergraduate students are concerned about their ability to make a living post-graduation, and rightly so. Being able to sustain oneself is not only the responsible thing to do, but it also brings much personal fulfillment. Not many people want to end up as the waitress or barista with a liberal arts major and only the thousands of dollars of student debt to show for it.

Waterloo's early focus on career development means that students become secure about their future ability to sustain themselves. With that need satisfied comes the privilege of learning for its own sake. Waterloo students even have the luxury of choosing a major that is perhaps different from their career choice, but nevertheless gaining the required skills for employment through internships. (I majored in pure math, for example, and now run a data visualization software startup.)

Underlying this entire discussion is the debate about what higher education should be for. Even if one believes that higher education should promote learning for its own sake, one should be realistic about student needs that come before personal development. Being able to sustain oneself is important, and if our universities ignore that, fewer people will be able to pursue higher education responsibly.

End of Entry

Tuesday, January 15, 2013

To get lucky, do lots of work

I don't watch TV or listen to the radio, but Ira Glass from "This American Life" never fails to inspire. In the below clip (5 min) from "Ira Glass on Storytelling", he talks about how as a beginner, your abilities will fall short of your "taste". The work you do doesn't seem to have that something special that you'd like it to have, and you know that the work is not "good enough". It is only after years of work that your skills will catch up to your taste.

What he describes resonates with me in a lot of what I do, and I really like his advice for people in this situation -- just do a lot of work. Produce a lot. Gain a lot of experience. Try different things.

A couple of days ago some blog or another pointed to the below, newer clip (24min). He gives an interesting perspective on journalism, and more interestingly, about luck. Glass talks about how as a journalist, recording an interesting interview is really about luck. In order to harness it, one needs to talk to a lot of people. Likewise, in order to "get lucky" and produce great work, one needs to produce a ton of work, most of them probably mediocre.

It sounds very simple and reasonable: the more times you roll a dice the higher your chances of getting a six at least once. This is why I'm skeptical of people claiming that so-and-so was successful because of "luck". Sure, luck can be involved, but luck can be very predictable. The person who pursues every opportunity, takes every chances, and produces a lot of work will be more "lucky" than the persons who don't.

End of Entry