Weeknotes 6

11th February 2019 – 17th February 2019

Another long feeling week due to lots of being woken up in the night.

Client work

A lot of speccing, testing and planning for one set of clients, with Laura doing the lion’s share of the coding work. For another, I tied their old mailing list subscription form to the Mailchimp API so their customers can sign up for the right parts of their mailing list without having a human checking and signing them up manually.

My projects

I resurrected the Farm Hack Day site, which was from a hack day in Brighton I ran as part of The Farm twelve years ago. It had been offline as it was using WordPress and was hacked a couple of years ago and my host needed to shut it off and I hadn’t found time to fix it. I managed to get a local copy working and make a static version using CocoaWget.

I now need to copy down all of the photos from the day people uploaded to Flickr before Flickr deletes the ones that are above the free archive level. I completely understand Flickr doing this, the large archive was great while it lasted but isn’t sustainable now they’re a smaller company again.

Also moved my I’m a freelancer site, and I added an SSL certificate although redirecting everything isn’t in yet. If you’re reading this soon after posting, this post will be there, but will probably be moving off to one of my other domains soon.

That’s the last of the moving, which is a great relief as it’s been chewing up time I could be spending on other things.


I started the 30×500 course, it has been good so far but still very early days due to the slow speed I can get through the material. Disagreeing with my thoughts from last week, I now think it would make more sense for me to make a small product for freelancers as a way to learn the process they teach, because…

  1. I have some track record of doing talks about freelancing
  2. I’ve run a weekly networking group full of freelancers for about 15 years
  3. I have a leg up in building an audience around freelancing, with the Farm, its mailing list, its 7,500+ Twitter followers, the UK freelancing sub-reddit I run with 1,000+ members, and whatever personal connections I have through the talks

Basically, it would be silly not to when I’ve got those sorts of advantages, whereas although I know a lot about PPC and Google Ads/Adwords, I don’t have a ready audience for it and would be building that from scratch.

As part of concentrating on freelancing, I will probably be splitting this blog so posts not about freelancing go off to a new blog on one of my other domains. Or at least I think that’s the way I’m going, I could just put all the material on the Farm website, which would help it but mean it wouldn’t be as tightly linked to my name. I need to think about that while I take the next steps in the course over this week.

The Farm

The Farm mailing list successfully moved to a new host, Mailmanlists. It seems fine so far, but we don’t exactly stress our mailing list host with our traffic.

The meeting was back to a more normal 21 people along this week. My notes were…

  • Farm website future development
  • Moving our mailing list
  • Solicitor problems when trying to sell a home
  • Mutual project catch up x2
  • Bootstrap CSS framework
  • My handwriting is terrible (I know!)
  • Keeping networking when you are busy with work is a good way to line up work for the future
  • If all your clients are always a problem they may not be the issue
  • Chasing old invoices
  • Not everyone should learn to code (critical thinking and empathy would be good first steps)
  • 30×500 course
  • Conversion Rate Optimisation (CRO)
  • Learning to be freelance
  • Fonts and typesetting
  • The satisfaction of successful UX changes
  • Donald Knuth
  • Having code on physical devices
  • Polaris missles
  • XKCD comic
  • Tests before voting

As in the notes, Haze and I discussed a few changes I’d like made to the Farm site on Wednesday. Haze built this version of the Farm site, and he’s kindly putting more time in to it and has made some of the changes already.

Reading: I’ve started Death Arms by KW Jeter. A truly awful cover encloses an intriguing and confusing science fiction story set in a near future where a chunk of America is now a dystopia affected by “The Fear.”

Writing with: Jumping around between pens a lot this week, but a quick note to say Cult Pens have excellent customer service and sent me a new refill to replace the red in my OHTO Capsule multipen, and it’s now working great again.

Watching: I took my son to see the Lego Movie 2, which was good. Not as jolly as the first film but I think a little better paced. Although I think maybe a few too many jokes just for adults, still they were generally over in a flash. Away from my son’s eyes, I’ve been watching Mission Impossible: Fallout in chunks. That’s being a bit less over the top than some of the other recent MI films, and is all the better for it. Still, I haven’t finished it yet so still plenty of time for it to get absolutely ludicrous.

Weeknotes 5

4th February 2019 – 10th February 2019

A long feeling week due to low motivation and a very long to do list.

Client work

Dealing with the host for my client with a recalcitrant Windows server is still ongoing, there were various updates for my other clients, and a rush build of a regular newsletter which I’d forgotten about and the details hadn’t arrived for anyway.

My projects

I moved my much neglected site about keeping my old Beetle running to new hosting without any problems, and installed a Let’s Encrypt SSL certificate for it via the hosting control panel, which worked straight off and was therefore very easy. Similarly, The Farm site also moved easily, which is testament to Haze building a straightforward site using WordPress for it.

Moving the site for my and David’s SEO services was harder. Although I’d been keeping up with WordPress and plugin updates, it turns out two of the plugins haven’t been updated for years and break with the current versions of PHP due to the way they access the database. I looked at re-writing them to use MySQLi instead, which I’ve done of the older custom sites I’ve build from before I started using PDO within PHP. However, a lack of time and worries about testing and making sure the plugins would be secure turned me off this. Fortunately I had a copy of the site I’d made while testing Cocoawget a few years ago.

So, I had a copy of the site that the tool had made link up properly, although some parts needed a bit of a clean up. I then replaced the contact form which had been using the Contact Form 7 WordPress plugin with some code I’d written for a client’s custom site which has Google Invisible Recaptcha set up with it. The recaptcha has greatly cut down the amount of spam we have been receiving from the site. Now I need to find time to re-set up the site either in a modern WordPress theme, or something else David can easily edit. This might call for a new Perch site.

I had an interesting talk with Elliot about whether it would be worth me offering a service to make static (non-database accessing) versions of WordPress sites. It makes them quicker, and more secure as the pages aren’t doing anything interesting, just sitting there, but it seems a route to a lot of clients that I’m unlikely to want to deal with. Still, I have another site to resurrect and convert to static, so I’ll see how I feel about the idea after doing that one.

I felt low on motivation all week, which might mean a cold is incoming or might mean it’s just a return of the burnout I’d been feeling for the last months. I also seem to have a mental block about falling over the line on the last bit of my mini-podcast notes tool.

Realising I need a change of attitude about pushing on and promoting my ideas, I signed up for the 30×500 course offered by Alex Hillman and Amy Hoy. It’s training for people to find ideas for things a community of people really need and will buy, and guidance on how to promote them once the product is built. I’m hoping it’ll give me a roadmap for where to put the effort in to promoting what I’m building, and guide me on finding more simple products I can make for the PPC industry. I’m only a couple of videos in to their course so far, so it’s very early days.

Next week I need to move this site to new hosting, resurrect and make a new, static site from the old Farm Hack Day site, and get on with some work on my projects and the course. Here’s hoping I’m feeling more up to it.

The Farm

Only 8 people along this week, as it was hammering down with rain early in the evening.

  • The rubbishness of big company’s mobile sites
  • Having a work queue
  • The advantages of being able to say “no”
  • Good and bad networking events
  • Making the most out of networking
  • DNS mistakes
  • Drupal
  • Learning to be better at business from clients
  • Beware clients who are worse at business than you are
  • SEO and good content
  • Changing when you bill a client
  • Symfony framework

Reading: I finished Jeeves in the Offing, which was a fine jolly tale but didn’t have enough Jeeves in for my liking.

Writing with: Still with the OHTO Capsule multifunction pen. The red refill has started playing up so I’m going to contact Cult Pens about it as I’ve tried everything I can think of to get it flowing again. I don’t use the red much, but it’s useful for highlighting bits of a to do list.

Weeknotes 4

28th January 2019 – 3rd February 2019

An easier time with childcare this week, with mostly morning drop offs, and some progress on my own projects as well as juggling client work made for a decent week.

Client work

A combination of catching up on work delayed by a server move for one set of clients, some straightforward updates for another, and dealing with more server problems for a third. The server problems were to do with an ageing Windows server and the host is hopefully now fixing them in the quiet hours of our night (a helpful side effect of being hosted in America for that set of sites.) Fortunately Laura was able to keep going with our mutual clients projects while I was distracted by the server problems. Mixed in with this was some invoice chasing, which has borne some fruit so far, although the situation is still a slight worry.

My personal tax return uncertainty from last week was resolved by the self assessment pages on the HMRC website updating and letting me know what I should pay them, which automatically included the on account payments from the previous year without me needing to put that money on the self assessment form. So, I had made the right choices on it.

My projects


I managed to install and set up the latest version of Vagrant and Laravel’s Homestead. I’ve got my retrieved data in to the new MySQL. Fiddling with the sites I have which should have started working again… I’m having to reinstall Laravel and Spark for them, but that’s a straightforward process so didn’t take much time. I still have to do the final steps of copying over my code in to the new installs and adjusting a few bits to get it working. I hope to get that done next week.

Other progress – I spent some time working on the small version of the podcast notes app I’m hoping to use on a few sites. Plumbing in some server side code and getting it working gave me some very satisfying moments which have been missing on work projects over the last year or so. The workload I’ve been juggling for the last four years has definitely left me burnt out, and the feeling of satisfaction from this gives me hope that I’m pulling at the edges of the worst parts of the burn out and this is an early sign of some recovery.

Sky’s jQuery/Javascript code that the app is using is very easy to work with, but it still took me a while to get everything working correctly as Javascript is not my happy place. This and discussing some learning of React that Haze has been doing has reminded me I have a book on Vue.js to start working through, which will hopefully up my Javascript knowledge to a more useful level.

The personal version of the notes app is almost done, so hopefully I’ll be able to post some soon here as a beta test.

The bootstrappers group I run has suffered this month as I did not manage to organise a meeting, but I’m feeling the hours I would have spent on that were better spent making practical progress on my projects. Hopefully I’ll be able to find the time to fit one in during February.

The Farm

21 people along this week, which is nice as we’re getting back to normal numbers. My notes:

  • Scoble scale foods
  • Back problems
  • Worthing Digital
  • Property prices
  • Racist relatives
  • Ex-Football players burning through their earnings
  • Brexit
  • Mutual project catch up
  • Personal / small projects can be funy
  • Using an amp
  • Moving on after splitting with a high intensity client
  • Improvements in The Skiff

The Skiff

The Skiff has some new monitors that everyone can use, and chairs which we were talking about replacing recently, which is great. I was saddened to learn this was due to a project a friend runs closing their teaching centre, so I need to catch up with them about how things are going. Juggling family, client work and my own projects has meant I’m losing track of what a lot of friends are doing.

Also at The Skiff, I had an interesting conversation about Oliver Winks about Vuepress, a static site generator he’s enjoying using. That’s something I definitely want to look in to, although I’m not ready to dump WordPress just yet.

Reading: Continuing with Jeeves in the Offing, settled in nicely with the over-complicated situations and Jeeves has finally appeared in person.

Writing with: Mainly an OHTO Capsule multifunction pen. It is good for a multipen and pencil combo, but the black ink is a bit more grey than I’d like, and the two nib sizes are a bit close to each other so it’s hard to be sure which you’re using. Although not perfect, it’s very good looking for a multipen and works well enough for me to keep using it. I’ll be replacing the pencil lead with some I already have, which will hopefully last longer as the lead it comes with pretty much evaporates when it touches paper.

Weeknotes 3

21st January 2019 – 27th January 2019

As Katie was working full time hours at her job this week covering for the manager, I was doing both school runs and more childcare than usual. This lead to a feeling of being at least ten minute behind on everything I did for the week as I tried to cram a useful amount of work in to the available hours (many more than there could have been due to grandparents helping.) Tom being ill Thursday night and off school on Friday meant I am now working on Sunday trying to catch up lost client hours.

Client work

I finished the tail end of the server move for a client, that being finally working out what was stopping a Lets Encrypt SSL certificate installing on their admin area (a config option had not taken although in a control panel it looked like it had), some final testing and deleting the old virtual server. Also, a bunch of changes to two sites and writing specifications for Laura so she could write the code for other more in-depth changes. For another client, compiling information on what we’re doing on the many domain names they have registered in different accounts by different people, what that’s costing them, and whether they are worth keeping.

On top of that, I got my personal tax return done. I’m not sure if I should have entered the tax I’ve paid on account for the 2017-2018 year somewhere in the return, so I may yet need to pay money I’ll get a refund for. Although the online filing for self assessment tax returns is an enormous amount better than the old paper forms, and has improved from its earlier digital versions, sometimes it is still confusing.

My projects

Very little progress on these due to losing so many work hours.

On the positive side, I did manage to get my data our of my broken Vagrant system and next week should be able to get it all back up and running, and integrate in the work I did while the data was locked away.

I am determined to get more done on these next week.

Watching an episode of the TV series Salvage Hunters: Classic Cars reminded me that I had been working out what parts of building my ideas I could outsource/subcontract. Experience subcontracting client work has taught me that a decent specification does wonders for getting something built with the fewest problems possible. Unfortunately, this also takes a chunk of time to write and due to modern frameworks within programming, it can be borderline if it is quicker to write the code than it is to write out the spec clearly.

This is something I still need to think about more and experiment with, as I am not making enough progress on my own.

The Farm

We had around 17 people at the Farm this week, a bit low due to a cold snap and the ongoing “Dry January”. It was great to catch up with Haze, who’s been away in America. My notes were:

  • New Orleans
  • Fitting in learning new skills and tech
  • Machine learning
  • “He was in to roundabouts”
  • Illness
  • OS Commerce (the bad old days)
  • Working from an ex-prison
  • The Skiff coworking space
  • Farm website
  • Mutual project catch up
  • Presenting past experiences which are not entirely relevant to what you want to do now
  • Finding work quickly

I need to get the Farm site moved to new hosting, and give Haze access to it so he can add in a search to the site. Another thing on my infinite to do list.

Reading: Continuing with Jeeves in the Offing, perhaps the most flowery Jeeves-type prose of the 5-6 I’ve read.

Writing with: Mainly a Papermate Inkjoy Liquid 0.5 needle point. Works well like the now discontinued Bic Z4+ needle points, shame it doesn’t have their chunky and soft grip section.

Getting MySQL data out of a Homestead virtual machine when Vagrant is broken

I’ve now learned how to get data out of a Vagrant run virtual machine when Vagrant itself is broken. Steps below.

I recently upgraded my Mac to use Mojave and this broke my old Vagrant install, which I use for Homestead and a bunch of my Laravel based development websites. It was a bit of an old version of Vagrant, but still annoying. At first I thought VirtualBox, the software for creating virtual machines, just needed updating. Unfortunately an upgrade of VirtualBox was required for it to run in Mojave, but not the solution to my problem.

In general, the virtual machine (VM) breaking wasn’t a problem – I have all the site files as part of the point of using Vagrant is having those in a shared folder on your main file system, not only inside the VM Vagrant sets up to hold the development environment. So I’d lost the development environment, including Apache, MySQL, and some other bits, but not the files of my site and the environment would be easy to set up again as that’s what Vagrant makes simple.

But… I had a bunch of data in two databases within MySQL in the VM that I really wanted to keep. Upgrading Vagrant would mean wiping the data, so I didn’t want to do that. I thought to recover the data and back it up I was going to have to restore a Time Machine backup of the whole computer back to the previous version of the OS – High Sierra.

Fortunately I mentioned the problem to a few friends (AKA I moaned about my situation) and Tom  suggested I mount the VM direct. That inspired me to start poking around more, here is how I got my data out of the broken Vagrant box…

Recovery steps

Open VirtualBox and manually start the machine Vagrant set up by clicking on it and clicking the start icon.

This boots the virtual machine and gives me a command prompt.

At “homestead login:” I needed a username and password, the default for a Vagrant built VM is vagrant and vagrant (thanks to Stefan on Stackoverflow for putting up that one.)

Then I needed to backup my databases on the command line. I’m used to using web based tools for MySQL admin, so had to look this up too:

mysqldump -u homestead -psecret --all-databases > homestead-20190121.sql

Thanks to Jacob for that one.

This gives me a big text file with all the exported data in it, which is great, but the file is still inside the virtual machine, not on my normal file system where I can get at it.

After much thought I remembered what Tom had advised me in the first place – mount the VM as a drive. I took that as the starting point of some Googling and set up a shared folder using this advice.

That involved re-starting the VM and then once I was logged in, I needed to check what that shared folder was called from within the Ubuntu VM and with more searching based on some very old memories from university, I found this command:

df -h

Which lists the share to a folder called “2019 01 January” which I’d set up. It was under /media/sf_2019_01_January

So within the VM I then did:

sudo cp homestead-20190121.sql /media/sf_2019_01_January/

Because the first time I ran it, I didn’t have enough permissions to copy the file. Sudo let me temporarily have more permissions and do the copy.

Checking in the shared folder, I found all my data. I can now use this to restore the databases elsewhere.

To cleanly close down the VM, I used:


This has a delay built in, so I now know I should have used:


Which would have been a bit quicker.