Melbourne to Warrnambool Cycling Classic – Technical Guide 2017

I was contacted late Sunday afternoon by Cycling Australia and asked if I could produce the Melbourne to Warrnambool Cycling Classic Technical Guide for 2017.

Sure thing I said.

I stayed tuned for some emails which provided logos (mostly large jpg’s), last year’s guide and text. I did not possess the Univers typeface much of the document was written in.  To keep costs down, rather than spent $35 for each of the 3 fonts I lacked, the Helvetica group was used instead.

After a couple of phone calls to discuss the minor details, I got started.

The most time-consuming part was setting up the page template.  From last year’s guide I was able to extract the images relating to maps, mocka and signage.  A few 2016 dates needed changing to 2017.  It had been a while since I’d used InDesign, so it was good to take it for a spin.

The main page needed some logos changed and the footer on all pages needed a 2016 changed to a 2017.  Blanking out the old logos using a white box in Illustrator allowed me to hide them and add the new ones, rather than fiddle with layer extraction.  Importing last year’s pdf into Illustrator and creating an art board around the footer and changing the year allowed me to import that into the InDesign template I created.

InDesign did not like me when I did my high quality pdf export – lots of images at the wrong resolution and using RBG, not CMYK, however the final result does the job and the print out renders well.

I could have charged for the “late notice, rush job” though waived this fee and charged standard rates.  Why was this?  I was a little rusty so could not produce my best work (though one can argue that could be the case with all rush jobs).

The winning rider image from 2016, I grabbed from Rob Gunstone’s Twitter post from last year and advised the Cycling Australia to double-check that the use of the image was approved by the photographer.

Excluding some cleanup, the project took me 8 hours.

This is v1a of the #M2W17 Technical guide (there might have been slight changes between this and the distributed file).

2017 M2W TechGuide v1.2a

2017 M2W TechGuide v1.2a #M2W17.


Mememememe Memes

The font is imact.  These tend to be white with a black stroke and one or two font sizes.

I dabble now and then. Nothing’s taken off.

Twitter Banner Evolution

Social media is apparently a great way to network and display one’s skills.  I’ve never sourced work through it but I do like to play around with my various social media account banners from time to time so show my skills or align the imagery with current little projects I have running.

Here’s my historical twitter banners.


Bashing away in C++

When learning code, pundits say one of the best things you can do is modify existing code to make it do something you want it to do.

For the last few day’s I’ve been going through the The Complete Idiots Complete Guide to a Career in Computer Programming (Jessie Liberty 1999). On page 124-125 it talks about using functions and local variables and includes the code to convert a user entered Farenheit temperature into a Celsius temperature which is then output to screen.

Here’s the original code.

// demonstrates using functions and local variables

#include <iostream>

float Convert(float);
int main()
float TempFer;
float TempCel;

std::cout << “Please enter the temperature in Fahrenheit: “;
std::cin >> TempFer;
TempCel = Convert(TempFer);
std::cout << “\nHere’s the temperature in Celsius: “;
std::cout << TempCel << std::endl;
return 0;

float Convert(float TempFer)
float TempCel;
TempCel = ((TempFer – 32) * 5) / 9;
return TempCel;

My cycle computer calculates my energy expenditure in Calories (no idea why it will not show this in kJ, despite being able to configure the system to display metric or imperial during set-up),  I thought I’d modify the program to take a Calorie value and output a kJ value.   As my training log automatically displays energy used in kJ, so the only practical aspect to my code modification is to learn to make software do what I want.  The modified code follows:

// demonstrates using functions and local variables

// modified on 15-05-2104 by Paul Yeatman to convert Calories to kilojoules
#include <iostream>

float Convert(float);
int main()
float TempCal;
float TempKjs;

std::cout << “Please enter the energy used in calories (Cal): “;
std::cin >> TempCal;
TempKjs = Convert(TempCal);
std::cout << “\nHere’s the energy used in kilojoules (kJ): “;
std::cout << TempKjs << std::endl;
return 0;

float Convert(float TempCal)
float TempKjs;
TempKjs = TempCal * 4.1858;
return TempKjs;

Of course, once the code is written it needs to be compiled and output to a new file and then run.  To do this, I’m telnetting into a headless server I’ve set up running ubuntu, coding in the nano text editor (it has colour coded hints, but no line numbering) and then compiling and running things using the command line.  I’ve set up my main computer with a compiler as well, but that’s for if I want to port anything into windows.  The beauty of C++ is I only have to write the code once and then use an OS specific compiler to port it to a new system.

*Update 20170309*

Looking at the code, the output’s actually in Joules!  To produce KJ, I needed to add a /1000 to TempKjs = TempCal * 4.1858; making it TempKjs = (TempCal * 4.1858)/1000;


*Update 20170728*

While preparing for Stanford’s CS106B as part of my Poor Humans Bachelor of Computer Science, I installed Qt-Creator, a modern IDE.  That’s much better than the round about what I was doing it with my server.  The server might still be good for compiling (I’m yet to check out many of the IDE’s features).

Mt. Baw Baw Alpine Resort Classic – 2014

Like last year, I produced the event signs.  This year, in addition, I produced the winner’s jerseys*, advertising material*,  the competitor’s guide* an updated course map, recreated some logos as well as set up a dedicated Facebook page and promoted the event on twitter.

Everything went well, with the exception of the event banners, which appeared to have been modified between handing them over and being printed as the transparency gradient was missing. This reduced the legibility of some of the sponsors.  They still look ok to the casual observer, but are a little embarrasing for me, despite the fact that the printing was outside of my control.

*These were based on designs provided by the event promotor of materials used in previous years.