You should be using Adobe Connect. No excuses.

If you work for a school board in Ontario providing central support (like I do), you should be using Adobe Connect. It lets you have virtual meetings.

This post is not to explain how to use the service. It’s just to tell you that you should.

I mean it

Have you ever driven to a distant school (in our board, some are nearly 5 hours distant) for a short meeting?

Have you ever traveled to another part of the province for a series of lectures and PowerPoint presentations?

Have you ever participated in a teleconference which would have benefited from visuals?

Have you ever left a distant meeting and noted to yourself that a memo would have been equally effective (that is, not at all)?

I want you to consider learning to use Adobe Connect yourself.

Save time

Stop driving everywhere. For real. If I drove to Wawa every time I needed to demonstrate something that I could do online, I’d spend five hours in the car I didn’t need to.

Save money

Stop driving everywhere. I know, I just said that. My trip to Wawa costs several hundred dollars, and I think that money is better spent elsewhere.

Do better

Teleconference is very confusing. There are no visuals, or people are trying to follow along with something they’re holding. You can’t talk while others are talking (chat pods are nice for this). Sharing web links is nearly impossible.

But I don’t have time to learn it!

Yes you do. You just spent 7 hours driving to and from Sudbury. Instead, take two hours to practice Adobe Connect with someone in another board and you’ll both be experts, for free, and you’ll have 5 extra hours to spend with your family and five hundred extra dollars to bus students to a special event.

But my participants don’t know how to use it!

They don’t want to drive all day either. Send them a link to this post.

A note about services

Adobe Connect is not the only service out there for this kind of online collaboration; it’s just licensed for use in publicly-funded Ontario schools. Google Hangouts are great, and there are a variety of other ways to connect online. Pick something, please.

A Sample Proof Using Mathematical Induction (playing with LaTeX)

It’s been a long time since I used LaTeX regularly, and I discovered that I don’t have any leftover files from my days as a math student in Waterloo. After looking at LaTeX in the context of D2L today, I dug out a unit plan I had written for MGA4U (extinct) in 2003 using the Ontario Curriculum Unit Planner (also extinct).

First it’s worth noting that I had no idea what good assessment looked like. It’s almost 11 years ago, but it feels like a lifetime when I look at the awful way I was planning to assess students. This was a unit I developed while practice teaching. I’m really, really glad my practice doesn’t look like that now.

Anyway, I found a page (“S2 Teacher Resource 1.pdf”) which I had typeset using LaTeX. I thought I’d try to reproduce the mathematical proof on the page to see if I could remember how. Here’s a picture of the page:

A photo of a sample proof on paper

I left off the trimmings and tried to write the middle. I can’t remember how to indent things the way I did before, so I’m settling for something different (feel free to educate me, though).

I used the JaxEdit LaTeX Editor at to create the document:

\title{Sample Proof Using Mathematical Induction}
\author{Brandon Grasley}

\\For any $n \in \mathbb{N}$, 
\[$\sum_{i=1}^{n}i=\frac{n\left ( n+1 \right )}{2}$\]
\\Base case $n=1$: If $n=1$, the left side is 1 and the right side is $\frac{1\left ( 2\right )}{2}=1$.
So, the theorem holds when $n=1$.
Inductive hypothesis: Suppose the theorem holds for all values of $n$ up to some $k$, $k \geq 1$.
Inductive step: Let $n=k+1$. Then our left side is
$\sum_{i=1}^{k+1}i&=\left (k+1\right )+\sum_{i=1}^{k}i\\
&=\left (k+1\right )+\frac{k\left ( k+1 \right )}{2}$\text{, by our inductive hypothesis}\\
$&=\frac{2\left (k+1 \right )}{2}+\frac{k\left (k+1 \right )}{2}\\
&=\frac{2\left (k+1 \right )+k\left (k+1 \right )}{2}\\
&=\frac{\left (k+1 \right )\left (k+2\right )}{2}$
which is our right side. So, the theorem holds for $n=k+1$. 
By the principle of mathematical induction, the theorem holds for all $n \in \mathbb{N}$.


This generated a page like this:

An image of the proof rendered from LaTeX


I’m definitely surprised at how hard it is to find free, online LaTeX renderers. I ended up taking screen shots of that output in order to post it here. The others I found either require sign up or didn’t successfully render all of the math components.

Well, something to keep exploring. I wonder if I’ll start working in HTML with MathJax instead, using D2L as the authoring platform. We’ll see.

Thinking about course design in e-Learning and Blended Learning

I’m working with a few teachers to design e-Learning courses. In Ontario, many e-Learning courses have content provided by the Ministry of Education as a starting point for delivery. e-Learning teachers will often take that existing content and use, change, delete, and supplement it according to their needs and the needs of their students.

But the interface that’s being used in these courses seems to have some problems. It was designed “a long time ago” (that’s just a few years, in this realm), and the learning environment has changed in possibly significant ways. The existing structure for most (not all) courses is to have one module per unit of the course, and then a series of pages for each activity in that unit. An activity consists of an Overview page (which is visible to the student in the Table of Contents), an Expectations or Learning Goals page, a page or group of pages labelled Content, and a page labelled Assignment. Expectations/Learning Goals, Content, and Assignment are linked internally from the Overview page, rather than listed in the TOC, so students see only Activity 1, Activity 2, etc., instead of a long list of all of the pages involved.


Student view of an eLO-provided course

Problems come up for the teacher in trying to navigate and edit the pages they want to. If they click Overview and then the internal links to Content, the learning environment registers them as being in the Overview page still for editing purposes. The teacher has to instead click the TOC link to the Content page before editing, and there are a bazillion such pages all called “Content” or “Assignment” (since they’re all in the current unit). There are other issues as well, but this is the one I see a lot.

Teacher view of an eLO-provided course

Teacher view of an eLO-provided course

For students, navigating is something they get used to, but it’s not intuitive for them. They enter the activity and click on the Content page, engage with the lesson, go to the Assignment page, complete a task, return to the Content page to continue with the lesson, etc. The back-and-forth is irritating at the least, and it’s difficult for a teacher to maintain if there are any changes.

4-Page Structure

A student view of the 4-page structure of activities

Sometimes an Assignment will ask the students to participate in a Discussion. The Assignment page will give instructions, which are duplicated in the Discussion Topic area. Similar stuff happens with Dropboxes. This is a problem for maintenance as well: if you want to alter the instructions, you have to do it in more than one place.

So here’s what I think we should do.

  • Let’s have a module per unit, and a module per activity within that unit. Let’s make the Activity Overview and Learning Goals a single page, and the Lesson/Assignment a single page (I have to think of a good name for this; maybe it depends on the task).
  • The lesson materials and assignments are presented sequentially so that students are less likely to skip the “content” and just attempt the “assignments”.
  • Hiding/conditionally releasing a unit/an activity means acting upon a module instead of a group of pages.
  • Editing a page is always possible, since we’ll do away with those pesky internal links and rely on the TOC structure instead.
  • Instructions for Dropbox/Discussion tasks will be included in either the Content area or in that tool but not both, and will be applied consistently throughout the course.
  • Discussions, Dropboxes, Quizzes, etc. are not linked to in the Content pages but may be linked to in the TOC (there are lots of issues with changes in the way these tools are linked, so I don’t think the questionable advantage to an inline link is worth it). These items are also named really well, like “Unit 2 Activity 3.2 – For Loops” (including the course code, unit, activity and assignment details, along with an unambiguous title).
A sample of a revised course.

A sample of a revised course.

What do you think? What have you learned from your experiences (in Ontario or elsewhere, in K-12 or higher ed)?

Math rendering in Desire2Learn

I made a mistake (gasp!) in our eLC e-Community yesterday, saying that rendering math equations in D2L required a Java plug-in because browsers don’t support MathML. My information was out of date (I did check an existing course to confirm the browser’s behaviour, but the course was from 2011-2012; the new versions are updated).

Thankfully Tim Hasiuk posted this morning with some gentle corrections, so I figured I’d explain for the world what’s going on.

What I said in e-Community

“If I were to teach a math course using the learning environment I’d probably replace all of the equations with images using a service like’s Online LaTeX Equation Editor ( and keep all of my source LaTeX equations. Here’s how CodeCogs renders f(x)=\frac{5}{2}cos(x-\pi)+\frac{1}{2}


I’d grab that image and insert it into the course – it’s browser and platform independent.”

Tim’s reply

Tim made the following points (portions removed, indicated by …):

“Problem with using images is that they degrade if resized, and the vLE doesn’t allow a lot of image options.

As a side note, MathML is what is used by the vLE embedded viewer to display the LaTeX equations created within the content area. So instead of copying an image, you could copy and paste the code from cogs into the LaTeX equation editor within the vLE content editor.”

Some investigation

So I looked at a newer course (MCV4U for next semester) and saw that Tim is right – the equations are rendered using MathJax (, which is a Javascript project. The MathML in a course might look like


which renders in the browser, using MathJax, inline like this:

a MathML example

So that’s pretty nice.

Testing the different equation editors in the vLE

But if you’re trying to write new equations, what’s the best approach? I tried expressing the same function in each of the three D2L-provided equation editors: the Graphical Editor, the MathML Editor, and the LaTeX Editor.

The MathML code was


The LaTeX code was


Here’s how a test page I made renders in each browser I have (you may need to click/tap each to see the full version):

Chrome 32


Firefox 26


Internet Explorer 11


As you can see, the browsers were very similar in their handling of the code. In each case I left the default settings for MathJax, which users can choose on the fly (in the past, it was a D2L preferences setting to use a Java plugin or to render the MathML directly). Here are the choices:


In IE and Chrome it was best to leave as HTML-CSS; MathML was not rendered by the browser (as expected) and SVG was a bit wonky (inconsistent type size was the most noticeable issue).

Firefox provides native support for MathML, though, so here’s what it rendered:


Looks familiar, eh? Firefox did a nice job, which makes sense.

So what’s the right approach?

Take a look at how things rendered above.

First, the Graphical Editor doesn’t do a nice job (or I’m using it incorrectly). This is really clear in the function notation on the left side of the equation. Kinda gross.

Second, the MathML was rendered nicely. It’s a bit small, but you can adjust the zoom as a user, so that’s not a really big deal. It’s also done inline with the text, which is nice.

Last, LaTeX is the most beautifully rendered (in my opinion), but it suffers here from being a separate, centered block (it’s not inline), which is arguably an issue that is a dealbreaker. Most interesting to me is that the LaTeX is actually converted to MathML for rendering. Has anyone found a way to get LaTeX’s prettiness while still being inline, without having to dive into the HTML? I’d like that to be something a math teacher (and a math student!) would feel comfortable with.

Semi-Final Conclusions

If I were teaching it, I’d be using the LaTeX editor because I’m comfortable with LaTeX as a language. If I didn’t know any LaTeX I’d probably go to an extension or website which uses a graphical editor to produce LaTeX live, like’s Online LaTeX Equation Editor ( This is the easiest one I found in my quick search. There are also ways to convert the LaTeX to MathML so that you can use the MathML editor and get the inline capability if you want (see for one example).

LaTeX Update

There is currently a really nice, comprehensive guide to using LaTeX for Math at and another helpful resource at

Another LaTeX Update

This is a really cool tool for recognizing your hand-drawn symbols and returning the name of the symbol in LaTeX:

And here’s a graphical/the-way-you-type-math conversion tool that will generate LaTeX:

Will I teach computer programming again?

How I learned to code

I started to learn programming on a Commodore VIC-20 (great online emulator at, then on the Unisys ICON computers (also BASIC) when I was about 10. It was interesting, but I don’t feel like I was really ready for a lot of the concepts involved. Maybe things would be different today…

I dabbled in this and that (learned a tiny bit of assembler, more BASIC, some C) until Grade 10, when I took Computer Science with Mr. Boston at White Pines C&VS. That’s when I really started to take an interest. We worked in Turing, a procedural programming language, and I learned the basics pretty well there. In particular, I remember writing a program to draw a Mandelbrot set on the screen in black and magenta. Eventually I rewrote the program to make a more colourful version, but I can’t remember whether that was in Turing or something else.

Ahead to the University of Waterloo, where I started as a Pure Math student planning to get a minor in Computer Science. My first CS course used Turbo Pascal, a procedural programming language. This was not a course for CS majors (so I qualified).

Partway through my second year of school I was looking for a job for my Coop term. There were positions advertised for the Instructional Support Group (ISG) for tutors. I needed to stay in the Waterloo area (my wife was in North Bay at school and we couldn’t afford to keep up three apartments), but I wasn’t really qualified for any of the serious CS jobs at RIM or Sybase or anything. When I interviewed to be a tutor for CS120, a Turbo Pascal course, the interviewer informed me that they really had a need for Java tutors. I had no Java experience at all, but they hired me anyway (must have been my exceptional charm) and I had a couple of weeks to learn the language well enough to stay ahead of the students.

I started by trying to complete the first few assignments that students were going to have to complete. I started out okay, but then I found that whenever I tried to compile and run my programs I was getting errors like

Non-static method doSomething(int) cannot be referenced from static context

I didn’t know what that meant, really, and I wasn’t Googling then, so I just “fixed” it: I made everything static.

I didn’t understand how object-oriented programming (OOP) worked, and it wasn’t until I’d asked for help, fixed my programs, and saw the power of objects that I really understood what it was about.

I learned a lot about Java in several terms with the ISG, including some interesting work with JKarel, a virtual robot (based on Karel) used to teach OOP. I also learned some shell script (evidence here), bridge, and 5-handed bid euchre (thanks Phil).

I’ve since been disappointed in the security issues that Java has had in the past few years, and had thought my days of Java programming were possibly over.

But now…

This September I’m planning to return to classroom teaching, so I’m starting to think about what I’d like to do. My teachable subjects are Math and Computer Science, and I’ll be the Subject Area Head for Math. I’m expecting that CS won’t be on my timetable for the 2014-15 school year, but I think it would be nice. I haven’t had a chance to teach programming and programming concepts since I left the ISG 2003, and although I’ve dabbled on my own I’d like to jump in again with both feet.

About a week and a half ago I stumbled across and bought “Programming Android: Java Programming for the New Generation of Mobile Devices” on Kindle for $7.51 (I see that today it’s $19.66, which makes me feel unreasonably clever). I haven’t even cracked the virtual cover yet, apart from skimming the Table of Contents before buying it, but I’m kind of excited to revisit the world of software design. I didn’t realize that Android programming was based in Java (using a non-Oracle VM called Dalvik), and so hope rekindled. I don’t even have an Android device, but I’ll be able to code for free using the Android SDK and software emulators, as well as actually loading onto a device down the road.

I’m kind of excited

Programming in Turing helped to develop some useful, basic skills (like understanding loop structures, program logic, data types, etc.) but didn’t really leave me working in a “practical” language (one that is used in real life). Java is a language used in industry, and the prospect of writing Android apps has to be a least a little engaging for students, I hope. This seems like a good starting point for grade 10-12 students who want to learn something fun that will also be useful for them when they leave us. I hope I get the chance; I’m certainly going to ask for it.

How to create a terrible cover for your novel

In general, I’m in favour of the self-publishing movement. It lets people publish their work without having to be “found”; this can be empowering for the dedicated author. Self-publishing and traditional publishing can co-exist, I think; traditional publishers offer great services like editing, promotion, critique, distribution, and more. Some authors opt for something in between, like hiring an editor for a flat fee or paying a company to prepare an ebook for them.

However, a distressing number of [possibly excellent] authors have chosen to design their own covers for their great [insert nationality here] novel, and it causes me to not buy it.

It’s the first thing I see

Even before the title, usually. Cover, title, author, page count (I try to read new folks at under 200 pages, in case it’s awful). You need to get it right, or I’ll scroll past.

It shows how serious you are

If you spend 500 hours writing your story, shouldn’t you spend more than an hour making it look presentable? Or, since you’re better with the keyboard than you are with the camera, perhaps you should consider hiring this out?

You’re not going to make any money if your cover is bad

I think a lot of authors are hoping to make money selling their books. If I won’t buy your $0.99 ebook because of the poor font choice, you can bet a lot of other people won’t either.

Here’s a thought

Instead of having a terrible cover, contact a local high school (or not-local; the Internet is pretty large, I hear). Speak to the teacher who’s responsible for graphic design, photography, or visual arts. See if they have a student who would like to read your book (yes! make them read it!) and design your cover for $200. Better yet, make it a contest: anyone in the class can submit a design, and the winning designer is awarded the $200 and is credited in the book. 

But if you’re going to do it yourself…

…please don’t do the following. Many, many ebook covers look too much like this one.

A bad cover image.

Here’s what I did to build this monstrosity.

Step 1: Find a scary background image

Okay, I couldn’t find a scary forest in less than 60 seconds, so I grabbed this one (I took care to get something with a licence I could use; I worry that many authors would not):

A picture of a path in a forest.

Then, since it was too daytime-ish, I took a moment to make it scary:

A picture of a path through a forest with a poorly-darkened sky.

Step 2: Find an image of a scary object to put in the scary background

No problem. Skulls are scary, right?

A picture of a skull, cutlass and gold coins on a red velvet background.

Now, to get rid of all that extra, non-woodsy stuff:

A picture of a skull in an image editor.

Step 3: Add some text using multiple, tired fonts in difficult-to-read, flat colours

A bad cover image.

That took about 5 minutes, including the time to load Photoshop Elements. Unfortunately my title seems to be related to the cover image, which (judging by the covers I’ve seen) is not a requirement. I’m sure you can do better, and I’m really sure an aspiring high school student can do much, much better. Pay them something so you can get back to writing.

Book Review: “Gabriel: Zero Point, A Gabriel Universe Novella” by Steve Umstead, read by Ray Chase

I just finished listening to Gabriel: Zero Point on Audible. Here’s a quick review. No spoilers.

First, I got the Kindle book in April because the trilogy it leads to was recommended by Amazon, and the novella was free (it is right now; you can get it here). Rather than buy (and more importantly commit many hours to) the series, I decided to take this novella for a test drive. As I’ve said before, I’m strongly in favour of the idea of introducing a series with a novella, whether that’s book one or book zero (like this one).

Did I mention the audiobook was also free? Yup, 91 pages of ebook or 2 hours 43 minutes of audiobook, both free. Get it here at Audible.

The book is a near future science fiction story explaining the origins of Evan Gabriel, a Special Forces officer in the North American Federation navy. The world-building is fairly light in the book, but there’s enough there to see that the world is fleshed out in the author’s mind. It’s a prequel novella, so I hope the world will be explained more fully in book one. The main character is given a pretty good back story without making it too simple (that is, the reader isn’t sure of all of the factors influencing Evan’s decisions and thoughts; I like this). In some stories there is a single event in a character’s history which drives everything they do, and it makes them kinda one-dimensional. Steve Umstead, by contrast, gets it right.

The narration is good, even great, in my opinion. I’ve listened to a lot of audiobooks, and this is one of the ones which tempts me to go see what else the narrator has read. The characters were distinguishable, and the girl (yup, there’s really just one that speaks) sounds girlish.

I went ahead and bought the Kindle “boxed set” of three books for a little over $5 CAD. Each book in the trilogy is just shy of $3 CAD, so this is a good discount. Also, since there is no Whispersync at the moment so I couldn’t get the audiobooks cheaply – I’ll just read the text. I’m beginning another audiobook anyway, so that’s fine. I tend to keep one going in each format anyway. Amazon tells me that it’s 656 pages in the trilogy, which feels like a great value to me at an almost laughable $0.50/hour for good entertainment.

So I recommend it, pretty highly. Hopefully I’ll be able to say the same about the trilogy in a few weeks. I’ll let you know.

Ah Twitter, letting me chat with favourite authors again. Or, Ah, John Scalzi, chatting with your audience again.

Just had a brief exchange with John Scalzi. I’ll admit that he interacts constantly with his fans, but I still feel a little special. Here’s what was said:


His blog really is great reading, as are his books (I’ve read a bunch of them).

Recipe: Eggplant Peanut Soup

I realize this is my first post of 2014, and I didn’t write a 2013 wrapup, so I’m expected to do something reflective and meaningful. Sorry; this is really just a recipe.

Dish on Queen Street in the Sault makes a killer eggplant peanut soup, but they only have it on the menu once every few weeks. Sometimes I can’t make it, so I might go months without eating it (a tragedy, for sure).

So I figured I’d better learn to make it. I’ll still go to Dish (it’s a great little spot for lunch); I’ll just supplement with homemade soup from time to time. Here’s my version, which was pretty good. I didn’t measure, so these are approximations.

Eggplant Peanut Soup

Serves 2-3

1 medium eggplant, peeled and cut into 1/2″ cubes (I don’t really know how big eggplants get, so I think this was a medium one)
1/2 a medium onion, diced
1 tbsp olive oil, divided
1 tsp salt
4 cloves garlic, peeled and smooshed
2 tbsp peanut butter (I used natural peanut butter)

Preheat oven to 425F. Wrap the garlic up in a foil packet and place low in the oven. Spread the cubes of eggplant out on a baking sheet and drizzle it with about half of the olive oil. Shoosh it around a bit to coat, and place the sheet in the oven for 10 minutes. Shoosh the eggplant around on the sheet again, turning it as much as possible, and return it to the oven for about 15 minutes.

Meanwhile, cook the onion with the remaining olive oil on medium-high heat in a large (deep) pot; this is where you’ll blend up the soup later, so deeper is better. You can throw the salt in now if you like, or hold it back until the end so you can adjust it. Doesn’t matter to me, really.

When the eggplant is starting to carmelize toss it in the big pot with the onion. Also add the garlic, which should be fairly well roasted now.

I figure I added about 2 or 3 cups of water at this point; I’m sorry I didn’t pay closer attention. It was enough to cover the eggplant in my pot, but not really more than that. Let the mixture come to a boil, then turn it down to simmer for about 10 minutes. Take it off the heat.

Here’s the fun part: use an immersion blender (stick blender) to creamify the mixture. Make sure you get it fairly smooth. Add water if you’re having trouble making it soupy. When you’re satisfied with it, add in the peanut butter – it’ll get nice and creamy at this point.

That’s it – I hope you enjoy it, and I’ll refine the details when I make it again. Kerri and I ate the whole pot in two full bowls, but that was kind of a lot. Probably one more person could have joined us.