Michael J.A. Clark
Michael Clark is a professional software developer who creates high-quality products for startups in Cambridge, UK. Skills: C#, Java, PHP, XHTML, AS3, CSS, ML.


Contact details


Articles tagged personal

The Dial — digitising a classic Cambridge creative writing magazine

The Dial is a creative writing magazine for students at Cambridge University. It initially ran from 1906-1953 and was reborn in 2008 when students at Queens' College gained funding to bring it back. It aims to "give space to the new, original and tough work which is the essence of student writing at Cambridge".

Back in early 2010 I contacted the editor Florence Privett with the promise of free technical labour (PHP, XHTML, the standard) and we had some great chats about design strategies. A poetry magazine has to be content-centric. The crux is providing enough highlight to individual poems, while retaining some form of navigation system. I contacted Robert Leadbetter, a contemporary of mine, to finish the concept. The final result can be seen at thedial.org.uk and the resource will improve over time as past issues are added.

The interface

My aim was to start with a typographic layout and then add flourishes of emphasis afterwards. This initial design was based on the styling provided in the Michaelmas 2008 edition of The Dial: Lizzie Robinson elegantly separates the different content types with unobtrusive line marks.

Initial concepts sent to Florence

One criticism of my first approach was the amount of space given to navigation. With the poem Jessica, above, the navigation and poetry have the same total area. It is preferable that the text is the focal point. In addition, italics and size changes could be used to distinguish between body and header content, providing a subtle but clear separation.

Final design the The Dial magazine

This final design was cut up and placed online. Personally, I like the concise multiline navigation menu at the top.

Behind the scenes

Content is published by uploading text files using FTP and full metadata is provided with a fixed filename/directory format that contains IDs and indexes. A small page is then provided containing controls to regenerate the site with the latest content. The suffix "-draft" can be used to hide years, issues or individual articles from the navigation interface.

Many poems have precise formatting requirements, where the spacing between lines and characters is important. This issue is compounded as character widths vary between most fonts. The solution is to set the font for the body text in concrete (we went for Georgia) and transcribe poems from source PDFs into an text editor using that fixed font; the online content will then match the text editor of the less-technical transcriber.

And it would not be possible without…

The Student Run Computing Facility (SRCF) at Cambridge graciously provide hosting and administration for student societies. They also have the best customer service out of any organisation I have ever dealt with, providing incomprehensibly fast 2 minute email responses. A toast to them.

Thanks for reading, please add your comments.

Google APM Workshop at the Cambridge Computer Lab

Today I attended a Google Product Workshop, with Associate Product Managers Kenny and Emma, at Cambridge University. It lasted three hours and was composed of an introduction to Google and the APM position, followed by an interactive group-based workshop for the fifteen attendees.

Google are hiring at the moment and now is the time to apply. Unfortunately since this news arose they have received around 75000 CVs per week. Find a backdoor! Most of the APM positions are in Zurich, a beautiful but expensive city (adequate compensation provided).

They introduced Google and the position

The Associate Product Manager Program is an elite two-year rotational program, consisting of two one-year rotations, designed for top recent computer science graduates who are interested in exploring product development and leadership opportunities. This select group is given broad responsibilities, generous access to resources, visibility into Google's executive team and many opportunities to grow within the organization.

They take around 6 new associate product managers in EMEA (Europe, the Middle East and Africa) every year. This is not a fixed limit, but completely down to the quality of applicants. It is Marissa Mayer's baby, fixing problems with old product managers just hiring people like themselves, while spotting malleable young talent.

Aim of the interaction session

The Googlers then presented an interactive task. We were split into three groups, with the aim being to create a Shopping List product for a specific market segment. These were:

  1. Wedding Planners
  2. Fashionistas
  3. Kids

Shopping for kids

My group targetted kids and our final idea was to create a process based on interactive physical devices like tablets (iPad):

  1. Suppliers are aggregated, with products sorted into child categories (Books, School, Sport), providing the possibility of charging a small percentage for the silent referral
  2. Parents control category, time and budget constraints (you have £20 to spend on books or tennis in the next 2 hours)
  3. The child is provided with the device and they drill-down, selecting products that are within the budget constraints
  4. Each product has educational annotations sourced directly from Wikipedia; currency is not shown instead opting for an indication of whether it will be an acceptable combination with currently selected entries
  5. If the parent selects that the choices require review, the child then passes the choices back to be checked before payment/shipping; this is optional and provides the child an opportunity to learn about online shopping before they have to consider card payments and exact values

I was impressed by the ability of our group to collate differing viewpoints onto a whiteboard before concentrating on a clear aim to develop. Matej usefully organised use-cases for parents and children onto the board and these diagrams guided the user interface drawings. Anyone know a tried and tested method for these situations (there must be a book)?

The presentations

From our team of five, two left before the presentation, and accordingly it became an opportunity to refine my presentation skills. Jen and Stojan demanded that I had to take the lead as the native English speaker but fortunately we all chipped in together when the time came. There was a great team spirit and we shared the more inventive ideas unique to this product, instead of discussing universal technical considerations.

The other two teams had interesting concepts:

  1. Team Fashionista created an annotated-map interface where boutiques are displayed around your current location (iPhone)
  2. Team Wedding List used a text-search interface organised into wedding-related categories with budget/priority annotations (web)

My questions to Google

What happens if deadlines are missed? Have an understanding why it went over-time and a new strategy for completing the product. Remove features or extend the deadline according to time necessity — shopping is dependent on the holiday season and may utilise heavy feature cuts to meet tough deadlines.

Do you use academic research to guide product development (HCI)? Google have breathtaking amounts of data (BigTable) and it is all available for use by internal projects. They use this data in conjunction with user statistics to guide product development instead of relying on research papers (academia progresses slowly in comparison). Products are developed iteratively with refinements based on user interaction testing.

The experience was valuable and enjoyable.

Thanks for reading, please add your comments.

Social Backup – data redundancy on trusted machines

Social Backup is my third year project at the University of Cambridge. It provides peer-to-peer backup between trusted peers (you and your friends share storage).

Commercial data storage

Dropbox has revolutionised off-site storage by providing a simple interface to black box data storage. There are a number of inherent disadvantages to using commercial services:

  • Freemium business models may result in data loss and low reliability
  • Companies are at liberty to remove free accounts and increase fees
  • Business catastrophes like liquidation could cause data loss
  • Users have no control over the encryption keys (Amazon S3 servers)

The Internet is becoming distributed

As Internet connectivity improves, the popularity of distributed systems such as BitTorrent (file transfer), and more recently Diaspora (social networking) increase. There is a trend toward ownership of data rather than subscribing to proprietary services, and also peer-to-peer data transmission rather than routing all information through a single point of failure.

Such systems have increased privacy, reliability and failure tolerance, often at the expense of inconsistent state across the distributed system.

My project Social Backup

Social Backup provides each user with data redundancy to restore important information if local failures cause data loss. Redundant data is spread across a set of trusted peers but kept under encryption so that only the original owner can access it. The social aspect promotes fairness and discriminates against free riders: a user who provides 100MB to 10 users will expect a similar allocation from these peers. This user can then use these allocations for repeated storage of small files or for chunking larger articles across the entire space.

My project aims to show that Social Backup is a viable alternative to physical backup and and cloud services.

Thanks for reading, please add your comments.

Cambridge study skills and time management

These are short notes built on content from Cambridge University Skills Portal.

Time management

Having skills in time management allow you to accomplish compulsory activities faster, leaving more time to dedicate to extracurricular activities. Five principles of time management are:

  1. Setting specific academic and personal goals
  2. Creating long-term schedules (termly)
  3. Creating short-term schedules (weekly)
  4. Creating daily todo lists
  5. Being flexible and prepared to review your schedules regularly

See also Randy Paulsch on Time Management, summarised here.

The Cornell Method

Cornell Notes are an efficient system for making the most out of lectures. Pages are split into three sections:

  1. The Note Taking Column for use during the lecture
  2. The Recall Column for terms and concepts
  3. The Summary for key ideas

Note taking is then a process composed of five essential aspects:

  1. Recording into the Note Taking Column using abbreviations and paraphrasing and noting any keywords into into the Recall Column
  2. Reducing content in Note Taking Column into the Summary section
  3. Reciting the notes to improve recall
  4. Reflecting using questions like “What’s the significance of these facts?”
  5. Reviewing by covering up the notes and answering points in the Recall Column

This PDF by Cornell explains it best.

Being an active reader

Ensure there is a reason behind reading and that the text is appropriate.

When approaching a book, aim to be focussed with the reading, not reading from cover to cover. If contents page is only a broad overview use the index to look for keywords.

When approaching an article, the abstract is a minisummary of the article providing an overview of the author's approach and summary of keypoints. Read the introduction (overview of approach) and conclusion (summarising main points).

Skimming is reading for the main ideas only so you get an overall impression of the context of the text. Look at the introduction and conclusion and focus on the topic sentences on most of the paragraphs (open and closing lines). Allows you to get through material quicker.

Scanning is reading to find important information quickly. Make a note for keywords and find main points relating to these keywords. Highlighting and margin notes can summarise key ideas and show areas needing further research. Mind maps can be useful for summarising the information.

Being a critical reader requires distinguishing between facts and opinions. The goal is to ascertain the key arguments put forward by the writer and whether given evidence supports these arguments.

Taking exams

Do not sit up the night before the exam. Glance to key points to sharpen the mind. Last minute cramming will confuse rather than clarify. Moderation with water and food is key. Arrive in good time but not too early.

Time is limited in the exam. Strategic planning is important. Initial reading, thinking about the written answer, division of time between answers, before checking answers for small errors.

Academic writing

Academic writing is objective rather than subjective and uses cautious language (suggests instead of shows) to express statements with precision, caution and diplomatic deference. All statements of fact should be supported with a reference to the original source material (dates can indicate obsolescence).

It is based on formal language, avoiding:

  • Phrasal verbs, formed from a verb and a preposition and reduce understanding because they have several meanings and different syntactic patterns (ran into)
  • Contractions, shortened forms of words from which one or more letters have been omitted (it's)
  • Abbreviations, including Latin (e.g., i.e.)
  • Colloquial language, all forms of slang

Common title contractions (Doctor to Dr) and abbreviations (Professor to Prof.) are allowable.

Thanks for reading, please add your comments.

Bumps blades for Queens’

It has been an incredible term for rowing. I wasn’t satisfied with my position as “uncontrolled power” in the second boat so I challenged the head coach Rob Jeffery to trial M1. I made it!

Queens’ M1 dominated Lent Term, beating every other Cambridge college in every competition except Robinson Head where we came second (potentially due to changing race conditions). Bedford Head was brilliant as we completed the 2 km course in 5:59, beating our time earlier in the day by five seconds. Here are the complete results for this term:

Race Position Full results Date (2010)
Winter Head 2 Head First By time, category January 23
Robinson Head Second College list February 5
Bedford Head First in IM2 By time, category February 14
Lent Bumps Blades! (+6) Bumps chart February 23–27

Getting blades in Lent Bumps was a life achievement. My favourite bumps race was against Trinity Hall. We went out expecting a tough race, with a difficult bump around grassy corner. We hit them much earlier with a strong bump just after First Post corner. Our middle four are heavy enough to cope with the strongest streams and the power difference between the crews was obvious. I think they were expecting to last longer.

Until a video of that race appears, you’ll have to make do with the epic overbump on Fitz. Apparently this is the highest overbump since 1924. It was a scrappy row but we made it and that’s what matters in bumps:

I must also mention the hilarious crab by Queens’ M3 on the first day of bumps. John Baxter manages to cartwheel out of the boat around the 1:50 minute mark. He is then shockingly hit by stroke’s blade at the boat passes over him, leaving him pretty dizzy but thankfully without injury. Check it out:

Thanks for reading, please add your comments.

More articles on the next page