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 en.wikibooks.org/wiki/Linear_Algebra 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.

Open book writing and typo workflow

Open is better than closed because when you work in the open the whole world can help you (or at least the portion of the world that cares about what you are doing). For books in particular, readers can be tremendously helpful by submitting typo fixes to the book. But how can users submit typos? Surely there is something better than email…

Today I saw a very interesting workflow for reader contributions on the Advanced R programming book website by Hadley Wickham. The book  is being developed on github using the Jekyll static site generator. Each page has an “Edit this” link on the right side:

 

The url for that button is:

https://github.com/hadley/adv-r/edit/master/index.rmd

Clicking on that takes you to github and a special prompt to create a fork:

Next you can make the change:

 

And finally the UI offers you to do a pull request:

This is still a complicated process for the reader (3-steps, one feature branch, one pull request), but from the author side this is awesome! You just write and then manage incoming pull requests that improve your content.

Anyone writing their blog posts in the open on github should consider adding the /edit/ links.

 

Weekend project: find a way to automate this workflow process so readers don’t need to have github accounts. Maybe I could create a “shared” github account “ivans-readers,” allow for login-less-editing to happen on my own server and then see the pull requests coming from ivans-readers on the main repo.

One day of advertising on facebook

Early this morning, my facebook advertisement campaign of the wall post containing the word “bullshit” was approved and went live.  A total of 8684  people were shown the post in their news feed thanks to this “Page Post Engagement” campaign.

Metrics: The measurable results of 8.6k impressions are 44 Website Clicks (mostly the link to gumroad), 33 Post Likes, and 23 Page Likes. Over at the analytics panel at gumroad I see 7 visits from m.facebook.com and 23 visits from facebook.com.

Conversions:  Perhaps most importantly, none of these visits converted to any sales. 🙁   Though to be realistic, perhaps I’m expecting some of these visits to convert tomorrow or after tomorrow. I’m imagining the visitors downloaded the preview PDF and will check it tonight and tomorrow and those that like what they see will come back to purchase.

I’m thinking now the ad copy wasn’t the best. Perhaps students who read the post are not ready to be sold to yet and I’m sending them to gumroad too soon… I should probably make a proper landing page with the “get this book, read it, ace the finals” pitch front and center.

I was very optimistic about this campaign because I chose my target audience to be “college students graduating in 2017” which means they are in first year right now, which is exactly my target audience.

Costs analysis  The total cost of this campaign for today was $25. I would have to make 1.25 sales/day to break even with this approach, which, with some ad copy tweaking, should be possible. At least I got lots of likes on my page now. I still can’t get over how funny (or sad?) it is that I’m paying to be liked. Here is modernity for you: you pay to be liked.

The not-so-successful launch of v4.0

I recently announced the launch of the fourth edition of the book on hacker news. This re-launch was significantly less successful than the initial launch from January 1st. I’m a little disappointed from the whole experience, but I think there are lessons to be learned here.

Was it bad timing?  I worked until late the previous night to update the website copy, but I left some things for this morning, which meant I was only able to post at 11:30AM. The “best practices” suggest 9AM–11AM EST, so I was a little out of that range.

Should-I have chosen a better title? I went with the “No bullshit guide to math and physics, v4.0” since this is basically what I was announcing. Should I have mentioned the 34% off deal on the eBook?

The interesting take away for me is that, while extremely useful, hacker news cannot be my main channel for promoting the book. I need to come-up with a repeatable and scalable strategy for attracting members of my three target audiences to the webpage. I’m now playing with google AdWords and Facebook advertisements. Let’s see if spending some money will lead to a good return on investment.

I also posted the /launch40 URL to several channels on reddit where it was very poorly received. The redditors protested the advertisement-like nature of the post. I see their point. Though, honestly, I think my book could be genuinely useful to the students at McGill and UofT. Exam season is coming after all, and I know some students could use some help! The next time I post to HN/reddit, I post the updated mechanics tutorial: useful, educational, and fun, but ending in a little advert for the book.

Pricing

I recently read an article about pricing which showed some interesting data from various gumroad products. The stats seemed to show that classical “trick prices” ending in 9, like 19, 29, or 39 have nearly double the conversion rates of the corresponding round prices like 20, 30, and 40. This got me thinking: maybe it would be a better idea to change back the price of the No bullshit guide to math and physics to \$29 as it was before.

But let’s not just guess. Let’s look at some data. I implemented the new price (\$33) on August 3rd. Let’s compare the sales/visits stats for the book between two-months-long periods before and after the price change.

At \$29     Jun 3rd — Aug 2nd

During this period there were 1402 visitors to the website, of which 45 clicked through to the gumroad page and 9 clicked through to the lulu store page.  Meanwhile,  gumroad reports 161 visits and 14 sales for that period. On lulu, there are only 2 sales.

At \$33     Aug 4th — Oct 4th

During 2 months period with the new price, there were 1734 visitors to the website, of whom 79 clicked through to gumroad, and 77 clicked through to lulu. Just looking at these numbers makes me think the comparison is not fair: after all this period includes September which is the peak demand time for calculus and mechanics. During this period, there were 208 views on gumroad and 12 sales.  On lulu, there were 13 sales.

Okay, what can we conclude from all of this? I’d say not much, given the small numbers. Still I find the conversion rate gumroad@29: 14/161=8.6%  and gumroad@33:  12/208=5.7% was affected. Indeed \$33 sounds like quite a bit for an eBook no? But \$29 sounds OK. Maybe I should make the eBook \$19?

Okay. So I think for the launch of 4.0, I will switch back to \$29. As for the eBook price, I will have to think about it some more.

October launch

The No bullshit guide to math and physics is now available for sale at the McGill bookstore and the Concordia bookstore. This is another milestone which I am really happy about. Yesterday I went to check it out and was very happy to see the book in a special display for science books.

The book was also on display in the new releases section.

 

Kind of cool to appear next to Richard Dawkins.  Okay, one bookstore today, five more this month, continent-wide by the end of the year and eventually take over the world!

Linear algebra flyer

This evening I finally figured out a plan of attack for developing the Linear Algebra title.

  1. I will prepare a flyer which covers all the material.
  2. Distribute the flyer T & R 08:35AM-10:55AM MDHAR G-10 to the 88 registered in the class.
  3. The flyer will say “free eBook” and link to noBSgui.de/to/LA
  4. On the side I will ask them to sign up to the LA mailing list and then send them a free PDF of the ebook.
  5. Ask for feedback by email after the final is done

I already have setup a an LA help desk, so I will advertise that too.

Okay, better get on this ASAP, because tomorrow is very near.

Discipline

I just received a letter from IEEE transactions on info theory with reviewers comments on one of our papers. Tonight though, what is left of it, is dedicated to work on the Mathematics Fundamentals chapter. You have to do what you have to do. I have downloaded all attachments but they can wait until tomorrow PM. Discipline.

Exams suck

TL;DR: assessment methods should be adapted to students’ level

I just read an article about two girls who got perfect scores on the SAT test: 2400/2400. It got me thinking that the standard grades-based methods for measuring student’s progress are outdated. Grades function OK for the admissions process, but normal tests are nearly useless as feedback mechanism for students who fall “outside of the mean” in terms of ability:

  1. students who are very weak (30-60%) essentially get as feedback “You suck!”
  2. students who are very strong (85%+) get the constant feedback “You’re the best!”

In both of these cases the feedback will not inspire the student to study. In this post I’ll try to make the case that we need to build student metrics which are adapted to the student. I’ll also propose a metric that would incentivize students to learn. IMHO, learning — not ranking — should be the ultimate goal of the educational system so we better setup the incentives right.

Measuring students

I’m sure we can all agree that the purpose of quizzes and tests is to capture some “signal” about what students know and what they don’t know. Let us put aside for the moment the discussions about what you want to be measuring (skill? fact knowledge? integration tests? “which equation to use” skill?) and why you are measuring it (for self assessment, grades, rankings, firing of teachers). Let’s focus on the problem in an abstract sense in terms of information theory. Let’s assume that we want to measure something about the students — hell let’s go all-out-engineering on this and say the student is the signal.

The distribution of student abilities has a Gaussian shape. A Gaussian or “Bell” curve has most of its mass concentrated near the average value (~68% of the mass of a Gaussian is situated within one standard deviation (a.k.a. one sigma)  around the average value, called µ). However, the Gaussian distribution has infinite support. Even though unlikely, it’s still possible that a student comes around who is really good. Like, out-of-this-world good. Well no, actually they are in this world, but our measurement methods are inadequate. There is a cutoff at 2400.  Tina and Marie Vachovsky fall outside of the dynamic range of the SAT test.

Observations:

  • Information is being lost! A good testing system should adapt to the level of the testee so that it always reports useful information. The grade 2400 is good enough for the university admissions office to do the right thing with their applications, but other than that it is useless.
  • The only way  Tina and Marie could have useful feedback about their studies is if they are presented with challenging questions. With regular tests they just get “You are the best” every time, which is nearly useless feedback and only serves to feed the ego. As someone who used to get good grades (for some time), I can tell you that the first B I got was quite a hit. I had learned to depend on my “grades” for some part of my self esteem so suddenly “You’re no good at differential equations in 2D using sneaky tricks from complex analysis” turned into “You’re no good, generally.”
  • FACT: We need to throw out the notion of exams. Group assessments, in particular the summative kind, don’t make any sense what so ever. The teacher is forced to produce a custom exam adapted for the level of the students he is teaching, then students “write” the exam in order to get good grades. The grade will be average on average, the good students will get good grades and the “weak ones” will be singled out so that the teacher can start to worry about them.
  • The “weak ones” could be students who are slow learners, students who are missing some prerequisites, or students who are not interested in that subject right now. For them, this exam scenario is a nightmare. YOU ARE NO GOOD. YOU GOT A 40 OUT OF 100 ON THE EXAM. Perhaps the student didn’t know how to solve the quadratic equation in the second step of a seven part question, but the exam won’t care and give him a zero on that question: “You should have known that! You’re no good!”

All this got me thinking that grades should report your current learning effort (how many concepts did you learn this month) and not how far you are on the overall progress. Sure thee could be a “progress report” as well to show how much you’ve learned, but that shouldn’t be what matters. In my school system (Montreal), we used to get two grades. An achievement grade and an “Effort” grade. All I’m saying is that the achievement grade should not matter so much. Let’s reward kids for the “Effort” column regardless of their achievement scores.

Proposal

Assume we standardize a taxonomy of concepts, each concept being like a “stage” in a computer game. You can think of the planets in the khan-academy galaxy. I can’t find the link right now, but I know of a company that had a complete knowledge graph and always scheduled the quiz questions so that you would be practicing on topics which you didn’t know but you had all the prerequisites for. So assume we have this bunch of “stages” to clear and to clear a stage you have to pass a bunch of difficult exercises which require the use of that concept.

The student profile should show the grade as a triple (w, m, y), where w is the number of stages I cleared in the last seven days, m is how many stages I cleared in the last 30 days, and y is how many I cleared in the last year. This is analogous to how the UNIX command top reports CPU load averages.

In this new system, it wouldn’t matter how much you know so long as you are making good progress. For example, “Grade: (3,10,340)” means the student learned 3 new concepts last week, 10 this month, and 340 this year. If you were a 12 year old kid, wouldn’t you show off with this “Hey look I have (7,30,365) — I learned a new concept each day during the last year!” The best thing is that it works for adults too.

To summarize what I said in many words that could have been said in few, I think that we need to start thinking about new assessment methods adapted to the knowledge of the student. This way students will always be adequately challenged and  be in the momentpresentin the zoneon a rollwired inin the grooveon firein tunecentered, or singularly focused. Now that’s learning! Enough with this fear-based motivation to get good grades on exams. The focus on rankings is a vestige of the old become-a-good-robot-for-the-system-days of education. In the XXIst century, let’s focus on learning.

Starting a company in Quebec

Today I was looking into administrative matters for Minireference Co. and I want to collect some notes here which might be helpful to other entrepreneurs starting their ventures in Quebec.

The first thing to do is to register (en) with Revenu Quebec and obtain you “tax numbers”. Your tax numbers allow other businesses to track the taxes they pay to you. You can use this form to verify a QST number for any company. You can find more info about here and here.

Registering is important because all the GST and QST taxes you will pay as a company are refundable. The GST is refunded as input tax credits (ITCs), the QST as input tax refunds (ITRs).  Be sure to register BEFORE you incur any major expenses because to be entitled to ITCs or ITRs, you must have been a registrant during the reporting period in respect of which you paid the taxes. At the end of the year, you will be able to get back the tax paid on pretty much all your operating expenses and even home office expenses.

The second thing you have to do is collect GST and QST on all the sales you do.  In the case of Minireference Co., I am dealing in  books, more specifically printed books which are zero rated articles in Quebec so I only have to collect GST.

There is a nice guide to all of this, which I have not read yet but which I am going to print. The guide doesn’t include the changes  which take effect Jan 1st (new way to calculate QST:  now calculated at 9.975% on the selling price not including GST). You can get in touch with RQ by phone. The waiting time was very reasonable.

To be continued …