Monthly Archives: March 2019

Solving a WordPress update problem on Cloudways hosting

I have several sites hosted on Cloudways, both my own and access to clients ones. I hit a weird problem where WordPress on some sites would update fine automatically or through the admin area of WordPress, but it would not on my own site.

Recently while moving a friend’s site across different parts of my hosting, I found the problem.

Cloudways gives me two levels of SSH account to access the sites on each virtual server. A ‘master’ account which can access the files on all sites and an account on each website which can only access that particular site.

For my own site I hadn’t bothered making an SSH account for it, I just used the master account to upload the files. Not having an SSH account seemed better for security, even though you can turn them off quite easily.

This meant PHP did not have enough permissions to overwrite the files when it came time for WordPress to update itself. For the Farm site, I’d given Haze a website-specific SSH account to upload the files, and that version of WordPress could update itself without issue.

So, I made an SSH account just for my site. Ah-ha, I thought, rather than have to delete the site and re-upload it with the new account, I’ll use ‘chown’ to reassign the files to the user I’ve just created. But… no dice. Something either in their setup or my commands wasn’t working.

Rather than spend even more time faffing, I deleted the site and re-uploaded it using the new details. Now WordPress can update itself with no problems.

If you’re a Cloudways customer and are having problems with WordPress not updating itself, check how you uploaded the files in the first place. You can do this by using SSH to view the site and ‘ls -la’ to list all the files and which account owns them – if it’s your master account, try deleting the files and upload them again with your site specific SSH account.

Thanks go to Tony Crockford and Matthew Beck for helping me with WordPress and pointing me in directions that eventually lead to me working all this out.

Weeknotes 10

11th March 2019 – 17th March 2019

A variable week as I got back on the school run wagon, and juggled various projects.

Client work

Tuesday involved a day at the Skiff so Laura and I could work on a Google Cloud Talent Solution integration for a recruitment client. I rediscovered how awkward Googles interface is for their IAM section, but at least they’d fixed some problems it was having at the end of last week.

The server replacement project for another client is finally going ahead, which will suck up the time I have allocated for that client next week. Moving their sites shouldn’t be a massive job, but I have had my fill of that already this year! Still, it needs to be done, and such is freelancing life sometimes.

I also helped a client with setting up Facebook pixel tracking on their site and hoped to get tracking on particular links being clicked working, but am having problems with the way we update their pages. We use TinyMCE to allow them to post formatted text easily, but when I try to add in some small bits of Javascript and an onclick to a link, TinyMCE strips both out and there doesn’t seem to be an easy way around this – all searching has lead to people suggesting changes to the TinyMCE core file, which I’d rather avoid as it’ll break whenever it is upgraded. So I need to spend some more time researching that and finding a workaround.

One of my long term wishes is to have social sharing links which don’t involve running a lump of Javascript from services like AddThis, as they are often selling access data to networks tracking people across lots of sites to build up behavioural data. I managed to put a bit of work in to setting up direct links to the sharing boxes of Twitter, Facebook etc, but I’m not sure I’m going to be able to get the user experience particularly good at this point so I may have to abandon the changes.

This lead me on to discover that Twitter’s ‘TwitterCards’, the preview they give of the page you link to in a tweet, had stopped working for one of my clients. After some investigation it is because Twitter’s crawler which reads the meta data holding the card on your site is very twitchy about SSL settings, unlike the other big social networks. It doesn’t like the SSL setup we’ve got on the old Windows server the site is on. As the site is about to move, I’m going to revisit this after the move in case just upgrading to a newer IIS fixes it.

Also on was some stressful things I don’t think I can talk about publicly yet. And finally, some chased overdue invoice money appeared, which is always a good thing.

My projects

I failed to fix image uploading to this blog. I thought it might be the security plugin getting in the way, but disabling it made no difference. I tried to install another version of WordPress in another directory, that had the same problem. Different WordPress sites on the same hosting do not have the problem. Permissions on the files look right. Currently, I’m stuck.

I published How to become a UK freelancer on the Farm site, and to the /r/freelanceuk subreddit. The article answers a question I/we’ve received quite often over the years and I saw pop up on a forum recently. I’m gladdened to see the HMRC now allows you a long time to register as self employed, when I went freelance it was easy to miss the deadline if you didn’t know about it as it was only a matter of weeks. Now you’ve got many months in which to register correctly.


Was not quite where I wanted it to be, but not too bad. I think I have the start of a cold that’s going around my area, which has knocked things a bit, combined with some stress, and a bundle of school runs. I’m still adjusting to working out where my productivity should be considering I’m now missing a chunk of my work days.

An increase in hip pain towards the end of the week was knocking things as well. I had this last week and thought it was due to carrying my computer back and forth to the Skiff in my rucksack, now I’m not so sure. I’m adding some physio exercises in to my days to try and keep on top of it.


A useful amount of time on 30×500 this week, which was great. I’ve been studying how to match the language I write help in with the particular language of the people I’m writing it for. Interesting and something I’m going to have to practise a lot to get good at.

The Farm

There were 18 of us at the meeting this week. My notes were…

  • Brexit votes
  • Putting sites live on time
  • Being paid from abroad
  • 3D printing
  • Learning as procrastination
  • Paying solicitors extra just to get them to do their job
  • Larachat – very good for Laravel
  • Brighton Python group
  • The pain of waiting for a visa
  • Boustrophedon (e.g. Braille)
  • Devops on Digital Ocean VPS
  • Learning how the brain works through brain damage
  • Writing up projects to show your experience
  • Are what we can conceive limited by our language?
  • Fishing

I felt I had to nag one of our members quite a lot as he’s suffering from feeling he needs to learn more and more of a framework rather than concentrating on getting in client work. He’s very intelligent and capable, and will do a good job when he finds the work, so I feel this is a version of procrastination. And one I’m effectively guilty of in other areas, so it’s a conversation I need to have with myself too.


My son spent a night away with the school, which was great for us! It was very odd not having him thumping around upstairs when he’s supposed to be getting to sleep. I’m not sure he particularly enjoyed it but it’s an important part of him becoming more independent, and generally we only hear the complaints about school life so I’m hoping there was plenty he did enjoy we haven’t heard about yet.

Reading: I’m slowly progressing through The Powerbook by Jeanette Winterson. I’m not gelling with it so far, but am going to persevere for a bit longer. I think part of the problem is I’m trying to read it when I’m very tired and I’m missing some of the subtext.

Writing with: A Pilot G-Tec-C4 0.4, a very smooth, fine writer. It’s been great and I was running down to the end of this one as it was almost empty and I was hoping to finish it off, but now I think the ball has come out of the end of the nib as it won’t write unless I blow down the end of the refill. This may be related to my son nabbing it for some drawing, but he’s not heavy handed enough for that to be a problem. I was using the rubber grip from an old Zebra Z-Grip Max to cover the horrible grip of the G-Tec, which you could use as a grater, which has shifted me over to a working Z-Grip for next week.

Weeknotes 9

4th March 2019 – 10th March 2019

A full week working in Brighton and being Skiff Captain, and a bit too much client work.

Client work

A chunk of the week was investigating problems with one client site, which kept slowing down to the point it would be completely unresponsive. I’m not sure we’re quite to the bottom of all of the problems yet, but two of them were a set of nested loops calculating something for their home page which needed separating out in to something that could run occasionally and be cached, and some old code left in a very heavily used Controller which was accessing a newly rebuilt table and storing lots of data in memory unnecessairly.

I discovered the new server the site is running on has a “php-slow” log, which has been very helpful in tracking down problems. It list the processes behind any script that’s taking more than a few seconds to complete, and where it is in a script it’s running when it passes that time.

Also in client work, there was setting up a Twitter developer account for an integration Laura and I have been working on for another site. The client having used many of their email addresses for other Twitter accounts meant I was stalling out on finding an email address they could use for their nominated account as Twitter only wants one account per email address. In this case I often use + in an email address to make a new looking email, e.g., which Twitter accepts fine. Unfortunately the client is using Outlook365, which doesn’t support this format. In the end I registered a new Gmail account for it, although long term the client might get another email address set up themselves.

Plus, a few meetings, planning the next lumps of a couple of projects, and general work stuff that’s not very interesting.

My projects

No where near enough time on my projects this week, I planned out some articles for the Farm website, but did not get any written as the urgency of my client’s server problems swamped everything else.


Scheduling bigger blocks of time as mentioned last week does seem to be working. Further gains were probably down to Katie having a week off and handling all the school runs and after school time for our son, so I had a lot more work time than usual.


Once again, not enough time on 30×500 this week, this time because of not handling my client time right. I’m going to reserve some bigger blocks of time for this next week

Skiff Captain

The coworking space I use in Brighton has a volunteer position called the ‘Captain’ where a coworker helps out as part of The Skiff. As I could be in a lot during the week, I took the chance to be Captain as I hadn’t done it for a few months. I’m going to post about my first and second Captaincy’s separately, but the short version is: did less than before, felt the lower stress route was a bit more enjoyable.

The Farm

There were 17 of us at the meeting again this week. My notes were…

  • Deep React.js chat
  • Dan Abrinov’s React stuff is brilliant
  • Getting fed up with a client
  • Udemy courses – variable but some are great
  • Decorating
  • Lots of people still want to meet the people they’re going to have work for them
  • Going freelance on the side of full time work
  • Slow solicitors
  • Taking opportunities when they occur
  • Server problems
  • Has Brighton been ruined by remote landlords?
  • Climate change and Dubai
  • Managers not being able to cope with known unknowns in project planning
  • Digital nomadism as a coping strategy for Brexit
  • Finding work via networking
  • Are there any good freelancer platforms?

Family life

Along with the usual family life, Tom went in for an air rifle shooting competition between all the local Cubs packs. He only tried shooting for the first time a few weeks ago (which I managed to miss off of my weeknotes.) It went well, in that most pellets hit the target, and he enjoyed it.

Boy shooting an air rifle with instructor nearby

Reading: Finished The Three Electroknights, which were odd and beautiful stories. Started The Powerbook by Jeanette Winterson, although I’m not sure it’s going to stick. The cover of the version I’m reading is rather less racy than the one linked on Goodreads, probably because I got it from the library.

Writing with: J Herbin rollerball, loaded with Diamine Chocolate Brown ink. Good, if a bit scratchy sometimes depending on the paper.

Weeknotes 8

25th February 2019 – 3rd March 2019

A bit of a tough week due to a low level cold, hip pain and jumping between different projects.

Client work

I finished investigating alternative hosts for a client and working out a way to reduce money on a replacement server from their current provider. There was also a batch of minor updates for another client, testing work done by others, and boiling down a complex SQL query in to business-speak for someone. I’ll probably be meeting the latter client next week to work out any changes he’d like to the thing Laura and I have been working on for him. Plus, I finished using my app to do a large Google Ads search terms check for an ongoing client.

All of this was a bit of a battle as I’m feeling rough with what I think is a low level cold, and had more pain from my dodgy hip than usual. Quite annoying.

My projects

A couple of small updates while I was using my app on the client work, and adding SSL to an old project so I could have it monitor how well something I was going to post to the Farm site was doing. That was delayed from before as my old URL re-writing system was getting in the way of Let’s Encrypt checking the site using a hidden URL which my re-writing was grabbing and sending to a 404 page.

On the feeding-in-to-learning front, I posted a small educational article to the Farm’s website – How to stop worrying about a client “blacklisting” you – following the 30×500 process. It is surprising how many mental blocks I seemed to have about posting it given I’ve posted plenty of similar pieces in the past, but I got it done, through a splitting headache I had all Friday, and am now planning out several more pieces.

I asked on the Farm mailing list if people wanted me to write anything specific for the site and while the replies are useful and I’ve filed them away for future use, it really brought home to me the benefit of the early part of the 30×500 process. It teaches you to spot problems people are having them and specifically solve one, small thing to start with. A lot of the suggestions I received from the list are big problems to write up solutions for, which can cause paralysis in the planning and writing. Focusing on something small and getting it done is a great way to start and build some momentum, while helping people along the way.

Productivity, or lack of it

Part of my problems with work recently have been getting enough done in the time I have available. I’ve remembered talking this through with Simon quite recently and realising I needed to block out longer time for each project, whether a client or my own one and that I’ve lapsed from doing this. In the coming week I’m going to try and get back to working that way and see if it makes any difference.

I am using The Skiff coworking space a lot next week as Katie can handle all of the school runs, so I’m taking the chance to be Skiff ‘Captain’ for the week. I’ll also have longer to work on everything I need to get done, so hopefully that will help productivity.


Only a small amount of new learning within 30×500 this week as I was mainly using the time to research what I should be writing, then writing up the piece.

The Farm

There were 17 of us at the meeting this week. My notes were…

  • Brexit (too early in the meeting!)
  • Is Brexit having a dampening effect on available work?
  • How much are the industries your clients are in going to be affected by Brexit?
  • How to take on work from other countries successfully
  • Cutting down on meat for ecological reasons
  • Trying to make non-technical clients see the benefits of cleaning up old code
  • Mutual project catch up
  • Buying decent glasses (specs)
  • Creating something that helps thousands of people (e.g. software to control grinding lenses)
  • The illusion of choice
  • Carbon monoxide poisoning
  • Carting trip? Carting trip!
  • Cases for automation
  • How to sell automation without being too technical about it
  • Levels of abstraction in code

Reading: The Three Electroknights by Stanisław Lem. Beautifully written/translated set of four short stories. Been going slowly as I’ve been feeling rough.

Writing with: Mainly back on a Papermate Inkjoy Liquid 0.5 needle point this week, as an easy default for a smooth, black writer.