Weeknotes 1 - 27 March 2020

2020-03-27 17:00:08 +0000

  • Struggled this week with the enforced lockdown that started on Monday 23rd March, where we are not allowed to leave the house aside for essential shopping and 1 daily exercise activity.
  • Started building a resource website for Freddy’s class, with fun activities and a link to a google hangout where the kids might meet up, virtually.
  • Had 48 fourpure beers delivered, although at this rate in the current climate, they won’t last that long!
  • Realised I need to set up the turbo trainer and my bike to get some exercise, I think that’s something very much missing from my sanity requirements.
  • Had a good meeting with a principle developer on the MoJ project we’re on at the moment and happy that many of our ideas and opinions align nicely.
  • Had first remote beers, with work and the spenny lads and it made everything a little bit better.
  • Wrote a pub quiz for the Screen Tree (virtual incarnation of the Green Tree pub) and made a website and everything: The Screen Tree website - that will hopefully happen Saturday 28th March - see how it went next week.

Weeknotes 0 - 20 March 2020

2020-03-20 17:00:08 +0000

What a week to start writing weeknotes. Times are strange. These weekly notes, assuming I manage to foind time to write them every week will document how I feel, what’s happening and celebrate things I did well.

  • COVID-19 is happening.
  • Both the MoJ and Made offices essentially closed this week to help with social distancing to curb the spread of COVID-19.
  • Schools and nurseries closed today, which means next week we have to try and work, look after Freddy and Georgia as well as try to do some element of home schooling for them both.
  • Government introduced massive help for businesses, but seeing how Sam’s work has come to a stand still, I’m very pleased to be working for a well run company (Made Tech).
  • We also have to work, look after the kids and keep sane, but I am worried there aren’t enough hours in the day.
  • Just to throw more pressure on myself I also tried to start a website for Freddy’s class to be able to keep in touch and
  • I’ve hit a sticky patch with the Django project I am currently working on which is frustrating. Still not sure if it’s over complicated or I just can’t get my head round it.
  • Cycled with Sam to her new office for a little bit of exercise and support Sam on her first cycle outing in about 5 years. It was nice and hopefully I will get back to more cycling when this thing is all over.
  • I initially failed to get these written and published on Friday afternoon as planned, so not the best start but a new routine might help get me doing things like this for my sanity.

FFConf 2019

2019-11-11 11:31:08 +0000

Every November I always come to Brighton, and look forward to it for most of the year. Most people like Brighton in the Summer. Maybe for Pride. Or maybe for the Brighton Fringe festival.

There’s also the Brighton marathon, Brighton Triathlon, London to Brighton Veteran Car Run and, my second favourite Brighton regular, the London to Brighton Mini run that I wish I could attend every year.

But the one event that always keeps me coming back to Brighton is FFConf. Now in it’s 11th year, the modern web conference always pleases with a mix of reassurance that I’m still up to date with modern technology and plenty of shock and awe at the things some people are capable of building with a bit of knowledge (and perhaps a 3D printer!).

Hosted and curated by Remy and Julie of Left Logic the event showcases a variety of themes and topics throughout the day. I especially enjoyed 4 talks from the 2019 edition, which I’ll write about purely for brevity, not to do any of the other speakers a disservice.

Engaging with Empathy

by @sharonsteed

Sharon was excellent, and talk me a lot about empathy and how to handle certain situations. I’m also very much looking forward to completing her course on Communicating with Empathy.

My main takeaway from Sharon’s talk was that you need to create a safe space, because people need to be able to ask for what they need. I’m definitely an advocate for this (and no doubt also been a blocker to in in the past).

How to become a developer in 2020 with no time and no money

by @a_adewusi

Amina’s talk delved into the problems with a lack of diversity in the tech industry, including some frustrating facts around diversity in some of the biggest tech companies. However there was also a measured assessment of ways that new developers can approach getting into the industry. It was an excellent overview of possible ways into a career in tech (used some of them myself back when I was a young developer with little time and little money). Let’s just say that Bootcamps are not necessarily the answer, but asking for help is certainly going to result in a lot of valuable help.

The biggest thing that I decided in Amina’s talk was that I am going to really start mentoring. It’s been on my radar for a while, and I’ve made offers to mentor people but it often comes to nothing. So having been a silent(ish) supporter of Codebar Kent, 2020 will be the year I pull my finger out and go mentor as much as I can. Oh, and I must also get better at asking for help myself.

Taking the Web Off the Screen


Charlotte just blew me away with the mix of using technology for art (using a pen plotter powered by JavaScript) and actually creating a piece of jewellery based on a user creativity. The pieces of jewellery created by Charlotte were only surpassed by the attention to detail and process involved in making things from metal. As a person who spends hours watching people gas weld for fun, this talk was just pure joy as well as being an inspiration.

Adventures in reinventing interfaces


This talk was just the perfect way to round off the day. Apart from introducing me to the web USB and bluetooth APIs, and mimicking the Gameboy camera in Chrome then printing to a USB thermal printer. Suz showed how you can write a new protocol, based on the ESC/P printer control language.

The talk then transitioned into an emotional and serious warning about how the introduction of the internet of things might be a terrible thing. For example the Amazon Sidewalk project is a terrible infringement of everyone’s privacy.

Again I was filled with inspiration to follow their example and built my own internet connected devices, to avoid the huge invasion of privacy or security vulnerablilities that seem to come hand in hand with letting corporations into our homes.


My conclusion

All in all I yet again had a wonderful day at FFConf, and as well as learning loads as usual I came away more inspired than ever. Of course I promised myself I’ll do all the things, but with a family and the usual day to day things getting in the way, I’m already doubting I’ll get anything actually built.

But then again, there’s always the possibility that if I go crazy and build something cool, I might just be able to get on the FFConf stage one day, so let the planning begin!

To finish, I’d like to thank Alice Bartlett (@alicebartlett), Harry Roberts (@csswizardy), Laura Kalbag (@laurakalbag), and Anna Migas (@szynszyliszys) for fantastic talks as well. It’s been a long time since I laughed as hard at a talk as I did to Alice Bartlett’s Getting more from Git! The other talks were awesome too and you should definitely watch all the video when they come out at 2019.ffconf.org.

To date, I’ve only missed 2 FFConf events ever (I think!), and I hope to never miss another one.

Speaking – on Self Learning Web Development in 2017

2017-05-23 11:31:08 +0000

In February I spoke at London Web Standards and West London Coders events. I have spoken before (on email development and also on learning new things) many years ago, so it was nice to get back into the swing of speaking at well organised events with an engaged and knowledgable audience.

I wanted to highlight how different the learning experience is for a front end developer today compared to 10 years ago when I started learning development. Using devices, access to the source code and the complex tools we use in modern development as examples of where things have changed, not necessarily for the better when starting to learn.

The video for the talk is online to watch at https://vimeo.com/215200653, as recorded at the London Web Standards event and Tom Morris took detailed notes which you can read at https://tommorris.org/posts/9474.

Both event were well attended and my talk prompted some great discussion and I hope inspired some people to continue to learn web technologies and not get disheartened by stumbling blocks that appear during the learning process.

From the reaction to the talk in person and online, I think that I was not wrong in my assumptions and the experience has changed and is not necessarily going to inspire new developers, especially those who are learning in isolation without support on hand whenever needed.

If you need any help learning web development, you can always let me know on twitter and I’ll help you any way I can.

Power or Heart Rate Training Zones Calculator

2015-01-23 10:58:31 +0000

As part of 7Oaks Triathlon Club, we do a turbo training session with Paul Butler Fitness.

To make the sessions more useful, we work out heart rate or power zones.  To make this easier to calculate from our 20 minute TT (max effort!) average heart rate or power, I pulled this simple calculator together. There’s even a print button, so you can print out the results and stick to your top tube!

The training zones calculator


Code Club’s Desert Race Game – with physical controls

2014-04-03 20:16:19 +0000

Playing Desert Race with a Makey Makey

Makey Makey Set up for desert race.


  • Tin Foil
  • Cardboard
  • A banana
  • A courgette
  • Wire (about 4 metres)
  • Makey Makey
  • Desert Race game
  • Tape (gaffer or something quite strong)

Simple Diagram

Wiring diagram for desert race makey makey.

Setting up the game

This is a pretty easy conversion – all you need to do is change the keypress on the lion to “when W key pressed” to allow for the limited key inputs on the makey makey:

  1. What to change the lion script to in scratch.
    The updated script on the lion sprite.
  2. If you have completed the bonus challenge to add boosts to the game, you could extend this and make another input using the makey makey, something else conductive (like more fruit) and a piece of wire!

Setting up the controllers

  1. To make the foot pads, cut some cardboard in tin foil, big enough for 2 little feet to fit on (or big feet if you’re making it for big kids!).
  2. Using some tape, secure a length of wire, stripped of insulation at both ends, to the cardboad, the wire needs to be around 1 metre in length, to allow it to reach the makey makey and the foot pad on the floor.
  3. Cover the cardboard with some glue (I used spray mount) and cover the whole of one side of the cardboard (but not the bare wire) glue. Cover the cardboard with tin foil. Making sure that the wire you secured to the cardboard is touching the tin foil (and not covered in glue!).
  4. Attach the wires from one of the foot pads to the W key on the makey makey (the lion pad) and the other to the A key on the makey makey for the parrot, remember which pad is connnected to which key (I marked my pads with a lion and parrot image to make it easier).
  5. Next take your items of fruit of vegetable (it’s fruit just for novelty value) and insert some wire (again about a metre and stripped at both ends) directly into the flesh of the fruit. Sercure the wire with some tape so it won’t fall out the fruit too easily.
  6. Attach the wires from both pieces of fruit to ground on the makey makey.
  7. Plug in the makey makey to your computer running the scratch game Desert Race (with the updated key press as above).
  8. Now just press start and with shoes and socks off, hold the fruit in your hand and run/jump up and down on the foot pad to make your character go! The faster you run or jump, the faster the character will move!
  9. And finally, don’t forget to explain how the Makey Makey uses electrical current and creating a circuit to make the characters move!

JavaScript Code Club Part II

2013-01-30 00:26:44 +0000

So after a chat with some of my initial advisory committee (Jack Franklin, Micheil Smith, David Smith, Susanne Feldhusen and Arran Ross Paterson) I have refined what I think I’m looking at/for.

I think the initial requirement is for a kind of drop-in center for people to mingle with JavaScript mentors who can help them with specific problems they are having or help the solve specific problems.

To keep people interested and to make sure there is something to discuss, I would get a few mentors to set up a number of tasks (similar to assignments on www.codecademy.com) that people can set about and request advice or help if they can’t complete any parts of the work.

The ‘syllabus’ as it were would feature real life problems – including completing tasks without jQuery, creating sliders, using animation, building with things like backbone, API use etc  all the time promoting best practice.  By setting a number of tasks that people can choose from, but that mentors would be able to complete in a straightforward manner would hopefully mean that people will have an incentive to regularly attend and consistently improve their JavaScript programming.

So a bimonthly programme, initially running for 3 months, it would give people a good run at meeting mentors, having a specific regular time with mentors and peers and improving their JavaScript – and hopefully inspire them to continue thinking about what the mentors have taught them and look at working on the tasks in their spare time as well as during sessions.

As always, any suggestions or comments gratefully received. Happy coding!


JavaScript Code Club

2013-01-09 16:09:47 +0000

Update: We have a website – http://jscodeclub.org/ – register interest and we’ll see if I can get the London faction off the ground very soon!

Since I am generally not brilliant at JavaScript, in fact my code generally sucks, I’m thinking about curating some form of beginners class.

While I have lots of books on JavaScript and the like, I really find it difficult to digest them sometimes, with completing exercises just being a case of copying code and not *really* digesting what it’s doing.

Since almost all the developers I know are really helpful and keen to share their knowledge and the fact I learn much better when things are explained to me by a real person, I thought why not invest my time into getting like minded people together to help each other learn JavaScript, while being helped by the wonderful people I know that rock at JS development. Some of them have even written books for goodness sake.

The format I have in mind would be ‘pupils’ meeting with a guest ‘tutor’ twice a month. Session one would cover some essential knowledge in a short lesson, followed by an assignment being set.

‘Pupils’ will then go away with their assignment and a little bit more knowledge, before returning 2 weeks later to talk about their methodology and solution, with the tutor giving advice and helping fix any bugs in this session, before demonstrating how they would have solved the problem.

I’m going to work out what format might work best, and I will be following some way of learning JS anyway, but I though if anyone is interested in learning JavaScript from the ground up, from a real person, while solving real problems it might be worth trying to get a group together.

Please let me know in the comments if you are interested and I’ll start to investigate what the possibilities are.

Unless I work out some way of working out a remote format – this will be based in London, UK – although no reason it can’t work without being there in person.

Suggestions to format or other ideas also welcome!


How to list pages and content in Perch CMS

2012-12-04 11:45:02 +0000

Today, @foamcow on twitter was asking how to list snippets of pages on Perch. So I thought I would have a break and list how I did it – which may not be the best method, but it worked for me.

I had pages with perch content fields, with, for the reason of this example, we’ll call Heading a plain text field, Image (image field) and a Content (textarea).

Initially I though I was stuck, but the forums told me to list the pages I need based on the navigation functions, so in brief, here’s how I did it. Apologies for lack of syntax highlighting etc, will add that later!


// Let's get the list of pages according to the navigation first.
// Restrict to the path we need, which is only pages in /projects/
// skip-template means we just get an array of the page data back.
$navigation = perch_pages_navigation(array(
  'from-path' => '/projects/',
	'levels' => 1,
	'skip-template' => true
// Now let's loop through the perch content in the project page template<br />
foreach( $navigation as $item ) {
  // Add Skip template so we can use the data<br />
	$opts = array(<br />
		'page' => $item['pagePath'], // This is where we use the data from the nav list to get each page in turn
		'skip-template' => true
  // Now get an array of data for each perch content area in the page template
  // All using the same options array we just set using the nav pagePath

	$data = perch_content_custom('Heading', $opts);
	$desc = perch_content_custom('Content', $opts);
	$images = perch_content_custom('Image', $opts);
    // This bit was more complicated for me - print_r your own array to work out what array index you need.
		<a href="<?php echo $item['pagePath'];?>">
      <img src="/perch/resources/< ?php echo $images[0]['image']['sizes']['w684h386c1']['path']; ?>" alt="" />
    <h2><a href="<?php echo $item['pagePath'];?>"><?php echo $data[0]['text']; ?></a></h2>
		<p><?php echo $desc[0]['text']; ?> <a href="< ?php echo $item['pagePath'];?>">More</a>

} // foreach


And hopefully that should work – but if not it has the basic theory. You can flag items by adding another suppressed field to the project page template and then checking the value in the for loop, which I have done before, although there may be a more efficient way to do that.

Dear Jan Etherington, an open letter

2012-09-25 20:21:29 +0000

Today the cycling community are rightly up in arms for one of the worst researched, offensive and completely untrue articles I have read in a long time. It was by you, Jan Etherington. For reference, this is what I am writing about: http://www.telegraph.co.uk/news/politics/9562836/Wed-just-grown-to-love-cyclists-and-then-Andrew-Mitchell-had-to-come-along.html

So, as you appear (from the article) to be lazy and need some help with facts, I thought I would clear some things up.

The “stoic girls” included Olympic Silver medallist Lizzie Armistead. Easily found on Google.

We don’t all run red lights. Try this for some decent journalism on the topic: http://www.guardian.co.uk/environment/bike-blog/2012/may/14/cycling-red-light-jumping-iam-survey. Yes, some cyclists do, but one thing that does make me angry as a cyclist is those on two wheels that DO run red lights.

You say I believe I am from a superior race? How have you possibly come to this confusion? I think it’s much more likely that you are sneering at cyclists from your stationary bus, car or taxi on the way to your job, which it seems you don’t spend too much effort on anyway. I’m sure somewhere I read journalists have some responsibility. Maybe this might help you http://assembly.coe.int/documents/adoptedtext/ta93/eres1003.htm, although I am not sure how official that document is.

You say cyclists believe YOU (who says that you hope you cause us to fall off, hence risking death) are a lesser mortal. On the evidence of the article, you are.

I also live on the Olympic cyclists route.  Did you bother to ask if any of the cafes would be happier with less business? I’m sure the Box Hill cafe appreciate the roaring trade helping fun the National Trust. I’m pretty sure they are happy. Even if you are not.

Here is an absolute fact – if I had no spatial awareness I would have been seriously injured a number of times. Most recently a month or so ago when a car over took me and swerved in front (a right hook, FYI), hitting me. Luckily I anticipated the incident and stopped before I was seriously hurt. Who had no spatial awareness in that incident I ask?

You say we never stop to enjoy the scenery. Well I regularly stop to enjoy scenery while riding and often take a photo too.

As for your method of crossing the road, I would seriously recommend you look back to your childhood (stop, look and listen) rather than “try to amble across the road”. I’m sure electric cars will stop you from ambling across the road. Or would that be the vehicle driver’s fault too?

You say this in your article:

I make it a rule always to say “Good morning” to these belting bikers. With any luck, it will take them by surprise so much that they’ll slow down, or better still, fall off.

Do I misread this as you actually admitting to attempted assault, or worse, actual bodily harm? I would happily let the police decide on this if you are unsure. It sounds quite threatening at least. By the way, I am extremely offended by it.

Regarding my lycra I never actually planned to wear any until I found how mor comforatble and how much it helps against the wind, quite logical reasons for my outfit I think. Same as I wear football boots for football, I wear nice padded shorts for cycling.

This has turned into a much longer letter than I imagined, so I am going to down my keyboard and relax for a bit.