Project Mint

Project Mint – the project to write a bid to bring WordCamp Europe to Manchester, UK.


At the 2018 WordCamp Manchester social, there had been umms and arrs about applying for WordCamp Europe to come to WordPress co-founder’s – Mike Little‘s home town.

I had personally applied before but it went to Seville that year. Many people didn’t realise I had applied previously. We knew Brexit was a possibility. We did the maths and estimated when we suspected for things to really take affect if it really happened.

Then Steph Walker looked me in the eye and said “If you lead, I’ll join the organising team.”

Others joined Steph’s comment and by the end of the evening I had caved and declared I was going to apply to bring WordCamp Europe to Manchester and invited anyone who wanted to join in the fun to join me.

Unfortunately, we never did win the WordCamp Europe 2020 bid. Our friends in Porto won it. It was a moment of sadness and relief. We all had high hopes but we also knew that we had gained a lot of time back.

Some of the bidders discussed what we wanted to do about the application. We had poured a lot of time looking up local history and information. We didn’t want it to all go to waste, or get lost.

We hope that it will inspire you to visit one of the home towns of WordPress.

More importantly – if you are thinking about applying to host WordCamp Europe in Manchester, we hope by sharing it, it will help you with your application.

We wish you luck future bidders! 🙌


Props to the Co-bidders

Thank you to the following people who all were co-bidders with me.

Some of you went searching and reading up on history of the city, we all love so much. Some of you did research into costs and practicalities of staying and running an event like WordCamp Europe in Manchester.

One thing you all did was keep me calm and had my back when my machine was having kernel panics every 3 minutes. I couldn’t have done this without you all.

I hope we get to do something in the future. 🤗

The co-bidders in first name order:

Thank you!


Feature image photo by Fraser Cottrell on Unsplash

Not the minority.

I just want to capture something I should have captured years ago – that feeling when you look like the majority and not the minority.

I’ve lived my whole life in the UK. Born and bred Brit, I wouldn’t change my life for the world but last weekend was a weekend of something special.

It wasn’t the first time i’ve felt it. The last time this happened I was so overwhelmed I went back to my hotel room and cried. That feeling is the feeling of looking around and seeing people who look like you who are also into tech.

Before PHP Asia, I very rarely met any oriental looking people in tech conferences in Europe or America. People often got me and Helen Hou-Sandi mixed up. I mean our accents are completely different and I am always wearing glasses but apparently that doesn’t stop people from thinking we’re the same person.

When I got invited to speak at PHP Asia, I remember asking work if they would send me. Mentally I knew it was a big deal to myself but i didn’t realise how much. It wasn’t till the conference group photo, that it struck me.

2015 PHP Asia group photo

It was the first time in my life that in a tech crowd it took longer than a second to find where i was in the group. In fact, I couldn’t I know I was there but it made me laugh to think I can’t find myself.

Is this what it feels like to be in the majority space?

Last weekend I was at JSBangkok. Since landing in the Thailand, I have people constantly speak to me in thai. It makes me laugh but it also reminds me that people are making assumptions – and that assumption is that I’m a local who speaks thai.

At the event there were people giving talks in thai and in english. You would think that I would find no value in the talks in thai but the organisers were translating on the fly. Not only that, the big take away was a tool one of the thai speakers shared.

What the last few days have reminded me is the power of representation. Seeing people who look like you, doing things that you do or that you enjoy or that you aspire to do – it’s a powerful thing. 🥰

Emoji Scales

Many moons ago, work had a problem which was to do with their unlimited holiday policy.

You would think anybody working at a company with a unlimited holiday policy would take lots of holidays, the reality is different. If anything, people were less likely to take holidays.

Enter emoji scales!

I designed a emoji scale to match the amount of holidays people had not taken. It was to encourage people to at least take the UK legal requirements.

People didn’t seem to like having a sad emoji next to their name and wanted to get a better emoji so ended up taking more holidays.

Success!

I can’t say it will work for other people or situation but it is worth considering. Emojis is a visual lanuague that we find easy to communicate. Not surprising when you think about some of the oldest lanuagues in the world.

For all the people who i’ve told this story to, and then asked me to share the emoji scale, and most recently Toby, I am sharing the emoji scale we used.

Have fun with it!

Minimum number of holidays not takenEmoji
-1 😍
0 🎉
1😁
2😄
3😃
4😃
5😃
6 😊
7 😊
8 🙂
9 🙂
10 🙂
11 😬
12 😌
13 😏
14 😐
15 😑
16 😑
17 😕
18 😕
19 🙁
20 🙁
21 😟
22 😞
23 😣
24 😩
25 😩
26 😨
27 😨
28 😱

Want it in spreadsheet format? Go fish.

https://docs.google.com/spreadsheets/u/1/d/e/2PACX-1vQ-T5Sax4GtqDKmwXZfeP36NMcBPR9zH_xe4IvkfpewjOR97O4GZ37ya4gs0633aH-558tctvg7Yzls/pubhtml?gid=0&single=true

Convincing the world to care about their website health

This talk was built for WordCamp Dublin.

Explaining to clients that website maintenance is important is often met with resistance. Although maintenance is important, it often is confusing.

Jenny will be sharing with us her experience of changing the conversation to be more accessible to everyone.

She will share her experience of demysifying why site health checks are important, how to empower users to want to upgrade and what the WordPress community and developers can to make health checks more accessible for all.

This talk is part of our focus for Digital Citizenship Week, which coincides with WordCamp Dublin.

WordCamp Dublin 2019

Resources

I recommend the post WordCamp Nordic : Getting Ready for PHP7.2 which has a bunch of resources for people who are looking to make sure their code is ready for more modern versions of PHP.

In this talk, I mention IRISSCON, and in particular Dr Jessica Barker’s talk The Human Nature of Cyber Security which can be found on YouTube.

Nearly all the talks from IRISSCON were really useful so if you have a moment, do check out the IRISSCON youtube channel and playlists.

Karaoke Setup

Someone at work wanted to know how the Karaoke was set up at the company retreat so here it is:

Equipment

Hardware Setup

You can also download the images as a PDF

Software used

We looked at various options and settled on Karafun. It has a offline mode which was reasonably priced and the library was big enough for the team.


Just publishing this now for my colleague but will come back to explain more about the software decisions and what we learnt from it.

I hate finances

I really hate dealing with finances. I’m a shit saver, my brother got that habit. I taught myself the spending habit which is fun, but not useful.

In the past few years Ive had a finance planning sheet. It ultimately is my way to check that my outgoings are not more than the incomings and what the difference is.

Since the turn of this year, I’ve yet to make one and on my holiday to Japan I spent at least a day in despair feeling like I was never going to see black again. It didn’t help that since November I’ve been on a bit of a spending spree and I didn’t keep myself in check.

Last night I ended up staying up till 2am building out a finance planning spreadsheet for myself. I’ve had one for a couple of years but since the new year kind of forgot. This morning I reviewed a plan I had considered making and started putting it into action. By doing this, I know how much crap i’m in and how long it’s going to take for me to get out of it.

I feel better because I know there is a way out.

I have made small but significant mindset changes to how I’m looking at this and I thought maybe by sharing it, it might spark ideas for others.

Current Setup

I wanted to do everything without creating new accounts or moving money around. It’s probably not the cheapest way to do things but I wanted to have consistency in my life.

I have:

  • 3 sources of money
    • HSBC – Income & DDs.
    • Monzo – Personal spending money
    • Savings account with some savings
  • 3 sources of debt
    • Amex – the spending spree card that makes me cry
    • Virgin – 0% interest, with a new kitchen spend on it.
    • HSBC Loan – money I borrowed for the kitchen refurb.

The plan I made today:

Photo by Zell on Unsplash
  • Worked out the fastest way to zero my Amex. It involves using all my savings now and 3 months of aggressive payments to get it to zero. Once its there, I can review whether I want to keep the card around.
  • Took my HSBC, Amex and Virgin cards out of my wallet and hidden them somewhere in the house. I’ve heard people making ice trays around their cards, which is pretty funny and a good idea. You need to wait for the ice to melt before being able to use the card. That isn’t for me anyway. If it being out fo the wallet will do.
  • Worked out how long I have the 0% interest ( 20 months ) and worked out how much I needed to pay to zero that card. Set the monthly payment to said figure.
  • Deleted all my old Monzo pots I was no longer using.
  • Created a Monzo pot called Emergency Fund, set the goal to be 3 months salary and also set it so round up transactions go into this pot too.
  • Used my financial spreadsheet to work out if I could afford to save 3 months salary in a year, and set the schedule payment to start in 3 months when I can do this.
    • By doing this, I’m making my emergency fund part of my expected outgoings I have to account for.
    • I also set the scheduled payments to go out on the 1st of the month.
  • Create a Monzo pot called Car Maintenance. This is because every March my car needs a full service, MOT, road tax and insurance paying out. This is the first year of me owning my own car in a long while and I forgot to save up for it. Not next year!
    • Worked out how much it costs me, added a bit on top and just rounded it up so I got a figure of £1200 a year.
    • Put a fun garage picture on the pot.
    • Scheduled payments of £100 to go into the pot every month.
    • Set a lock time so I can’t access the money till 14th February 2020. This will stop me from just dipping into the savings because I can.
  • In my financial spreadsheet, I added two new rows for the Emergency Fund and the Car Maintenance and set up a standing order from my HSBC incoming account to pay the Monzo account on the first of every month. Now I just won’t see that money.

Finally – and most importantly;

I have added a bunch of calendar reminders of key days.

  • when things should be zeroed
  • how much I’m meant to be paying
  • reminders of how many more months of 0% I have left

It’s not a pretty plan, but somehow I see the light and can see that come 2021, I can be debt free again and have some savings too!

Now the tricky part – sticking to it. 💪🤑

Money is tricky business, at least it is for me. It means no over spending for 2 years and it means working my ass off to never be here again.

I get sucked in to new dresses and earrings all the time, but I’m writing this on here to serve as a reminder, the financial stress is not worth it.

Good luck future Jenny.

WordCamp Nordic : Getting Ready for PHP7.2

Do you have a zombie PHP on your site?

Today I gave a 12 minute lightning talk about getting ready for PHP7.2 in Helsinki for WordCamp Nordic.

I always upload my slides to SpeakerDeck but I have realised that the slides resources are not clickable.

So I’ve linked all the resources from links are listed below.


Slides

Resources

How WordPress is dropping PHP End of Life versions

I was writing the Site Health Check notes from the update meeting the group had at WCUS, and thought they might be useful for people outside the WordPress community too.

Some context

At the 2018 State of the Word, it was announced that WordPress was in the process of increasing the minimum supported version of PHP. This is great news as a PHP developer, but a task like this is not a simple feat.

Lots of work has been happening in the background for years. All the work has now allowed the project to be in a state where WordPress can drop PHP versions which already have EOL. The rest of this post will explain more about how the WordPress project is intending to roll this out.


Site Health Check Project review at WCUS 2018

The Site Health Check project is a collaborative multi-team project with a focus on encouraging better site maintenance.

This project benefits not just WordPress users, but also the surrounding PHP ecosystem as a whole. Our hope is that this will prompt a lot of PHP updates across the web.

It started as a project to focus efforts on getting users to update their hosting version of PHP from 5.2 to something where the End of Life has not already passed.

The project was initially called ServeHappy, homage to the BrowseHappy project which was a global tech effort to move away from Internet Explorer 6. The problem with the project name was that, when tested with users who did not know about the ins and outs of the project, the name was confusing and was not clear what the project’s intentions were.

The project is now known as the Site Health Check project. It encourages and hints to users that if they run a website, they should have a routine of checking and updating not just WordPress but underlying technologies that the site is built on. It also builds positive website ownership and habits.

The project is split into what can be considered 3 parts – changes to WordPress core itself, a site health check plugin and the site health check community support.

Upcoming changes to WordPress Core

The core-centric side of the project still reflects the Servehappy origins. This includes:

  • An information page on WordPress.org explaining the importance of updating PHP. The team has been working on improving the language used to benefit non technical people and have clear instructions of what to do if they find out their site is running an old version of PHP.
  • A dashboard notice that will inform users if their site is running on a PHP version that WordPress considers outdated and plans to drop support for in a future update.
    • The version shown in the dashboard is API-driven which means that WordPress leadership has a centralized “knob” to tune the PHP version distribution.
    • The dashboard includes a link to the previously mentioned information page on WordPress.org which has generic information on what the notice means and how to update PHP.

  • There will be an environment variable or a filter which allows hosting companies to modify the link to the “Update PHP” page on their servers so that it goes to something more relevant for their customers.
    • There are some concerns of security problems and abuse over the link redirection.

  • The team has been working on a feature to add white screen protection, which the hosting group felt was helpful and cool. The white screen protection catches any fatal errors that a PHP update might produce. From the front facing side of the website, the site will still be white screened, but with the protection in place, the user can still access the admin panel.

  • There was a discussion whether it would be better for the site to be slightly broken rather than completely broken, but the general consensus was that it is better to white screen because from the Core Team perspective, they cannot be sure of what the PHP error causes, and thus can’t be sure that all the information being shown is meant to be public.

    It is better to white screen the whole website but ensure that access to the admin panel is still accessible. Once logged in, there will be a general notification regarding the WSOD.

PHP minimum required headers

Plugins

For a while, WordPress plugins have been able to set a minimum PHP required comment as part of the plugin header. To date it has not done anything but set the intention that the plugin author is able to declare what PHP minimum version they are willing to support.

Work is being done so that the Add New Plugin admin screen will show all plugins a user searches for, but will not be able to install any plugins that require a newer version of PHP without updating that first. Another task being worked on is blocking plugin updates if the newer version requires a higher version of PHP, same as it currently works if the update requires a higher version of WordPress.

This gives plugin authors better control of what PHP versions they are willing to support, and will hopefully encourage people to upgrade their version of PHP at the same time.

This change will allow plugin authors the choice to use more modern PHP functionality and syntax without worrying their plugin will break for the end user.

Themes

For themes, the Requires PHP header is not implemented yet, as they didn’t have the same readme.txt file up until recently: https://make.wordpress.org/themes/2018/10/25/october-23rd-theme-review-team-meeting-summary/

Now that new themes do have that requirement, there is an expectation that the header will be implemented as well in the foreseeable future. Here’s a ticket for that: https://meta.trac.wordpress.org/ticket/3718

Relevant Trac Tickets

The latter two trac tickets are currently slated for 5.1 as well, planned for February 21: https://make.wordpress.org/core/5-1/

The feature merge deadline is January 10 though, so it needs to be discussed at the next #core-php meeting whether making it into 5.1 is still feasible.

A prerequisite for these changes is the WSOD protection that needs to be completed and committed by the deadline: https://core.trac.wordpress.org/ticket/44458

Join in

The group has weekly meetings on Mondays 16:00 UTC on in the #core-php channel of WordPress Slack.

GitHub: https://github.com/WordPress/servehappy

Site Health Check Plugin

The site health check plugin is a way for users to be able to see technical details of their website setup without going into the server side of things. It is useful to conducting top level investigation work without accessing the server directly.

The beta version of the plugin takes the best practices from the Hosting Team’s documentation and checks the server against that. This includes: WordPress version number, plugins and themes are up to date, PHP version number, if HTTPS is active across the whole site as well as a number of other things.

When Health Check gives notifications about upgrading things, it hands users off to plain English documentation to walk them through the process. For example: https://wordpress.org/support/update-php/. Notifications for plugins and themes being up to date are based on the version inside the plugin and theme repo. If a theme or plugin is not present in the repo, it will assume it is up to date and will not give an error.

Eventually, a lot of the Site Health Check plugin will be in core.

The Site Health Check Plugin uses a traffic light system to flag up the importance of a suggested change. The definition of critical vs non-critical update notifications is from a security perspective. If it is a security issue, it’s critical.

Early user testing with the community has shown that the plugin suffers from a lack of designer eye. During WCUS, we have had a designer volunteer to review the interface and give feedback.

This should help with the usability of the plugin and balance it between positive reinforcement of things that are set up as guided by best practices whilst not over-burdening people with extra technical information.

There is some useful documentation on how to use the Site Health Check Plugin: https://make.wordpress.org/support/handbook/appendix/troubleshooting-using-the-health-check/

Join in

– Github: https://github.com/wordpress/health-check

– WP.org : wordpress.org/plugins/health-check

Site Health Check Desks & Community Support

In-person support is invaluable. When a user is unsure of what to do, they can find in-person support at their local meetup and WordCamps. To omit any surprises, we can encourage our community to pre-warn and prepare as many people as possible.

The idea of Site Health Check desks has been tested in 3 different WordCamps and 1 meet-up with improvements and suggestions being fed back to the plugin and fliers.

Site Health Checks is an extension of the Happiness Bar, and by asking the simple question “Do you know what version of PHP your website is running?”, people either

  • Know & it is up to date – get a high-five. Thank them for keeping PHP up today and encourage them to keep up the good work. Pre-warn the next EOL of PHP Dates.
  • Know & it is out of date – highlight the EOL date has already passed and recommend they update their PHP version.
  • If they don’t know – check if they know how to check. If they do, suggest that they check and that they want it to be 7.2 or higher. 7.1 EOL is in a year.
  • If they don’t know, and don’t know how to check, invite them to sit down and the volunteers can help them check using the Site Health Check plugin. DO NOT scrape the site. They can end up being blocked off the servers.

Postcards were created with 5 core things to check. As well as printable table toppers. They are used as fliers for people to know where to download the site health check.

Meetup organisers have also shown an interest in running the site health check and promoting it at their meet-ups.

This is where much of the user testing of both the “Update PHP” information page and the Site Health Check plugin is happening.

Plugins and Themes Plans

Plugins and Themes served from WordPress.org can be automatically checked and updated to be compatible with 7.X. This is because there is access to the SVN where these plugins are being pushed from.

Ideally, plugin authors who have a plugin in the plugin repo will update their plugins to be compatible with PHP 7.X. There are already plugins such as the PHP Compatibility Checker which people can use to check how compatible their websites are with a version of PHP.

How are premium plugins and themes going to be handled?

The plugin team at WordPress.org can contact authors, but ultimately it is up to the plugin author to action the suggestions that are made from the WordPress.org team.

If there is no answer, or the author does not wish to fix errors, then this is a dead end.

Target Dates

WordPress 5.1  ->  ServeHappy notice + White Screen of Death protector

WordPress 5.2 ->  Site Health Check plugin

Where hosting companies come into play

We would like hosting companies to go aggressively, pushing their communities forward before WordPress does.

We know that, as a hosting company, many of you will see the same issues come up during a PHP update. It would be useful to the rest of the group if any information of any PHP errors that are being seen repeatedly and information about which plugin or theme is causing it. It will allow the rest of the team to prioritise which plugins and themes need attention to be fixed across the whole community.

It will also help the support team if any solutions are found to be shared, so that they know what to be suggesting in the forums. We may be able to add notices before a PHP update into the health check which highlights problematic plugins.

Hosts with PHP lower than 5.6 may see some initial notifications before that date.

Hosting company teams are most likely to know other people working in the hosting sector. Above all else – get the word out.  Big hosts are represented well here, but as a community we are aware and worried about the smaller, independent hosters. Talk to your hosting friends. Let them know this is coming. Invite the small hosting companies to join the Hosting Team on WordPress.org for up to date information of what is upcoming and will be effecting hosters.

The more we can update in batches the less burden there is across the whole industry.

Where plugin and theme authors come into play

If plugin and theme authors ensure that their plugins have a PHP minimum version set in their required header, then their plugins and themes will be ready once the PHP requirement is being enforced.

Plugin and theme authors should also ensure that their plugins are compatible with PHP 7.X. Tools such as PHP Code Sniffer (PHPCS) or the PHP Compatibility Checker as mentioned above should help.

Where developers come into play

(This section is not in the original notes)

There are many different skill sets amongst developers. Knowledge sharing and supporting each other getting plugins, themes and custom code PHP 7+ compatible is important. There are many resources already out there from when the PHP community was moving to PHP7+ but many of those resources have not been shared with the WordPress community.

Sharing those resources once again would be a great help to the whole community. We can learn from what has come before.

Actions from the meeting

– Ensure there is communication with the hosting team regarding release date plans.

–  #core-php should be cross posting ServeHappy notes to the Hosting P2 as well.

– WordPress.hosting has been taken, unsure by who. It would be handy to have WordPress.hosting symlink to Hosting Team P2 to help getting other hosting companies to join the Hosting Team

– Recommend that Hosting Team check and sync up the Best Practices documentation.

– Can someone from the hosting team please review and ensure that Health Check plugin is checking against everything that exists in the “Hosting Best Practices” doc.

– Recommended to Health Check plugin to check out Lighthouse plugin UI.

– Write up more in-depth info for meetup and WordCamp organisers, have postcard and table toppers online so they can be shared and translated easily.

Thanks

The effort to raise the minimum PHP version requirement of WordPress is a big cross- team effort. Big thanks to

2018

The year I called it a day on a 12 year relationahip. What ever hopes, dreams and plans I had for 2018, they all came to a pretty conclusive stop as I moved around looking for somewhere to call home and trying to stay emotionally afloat. 

It’s times like that where letting life do its thing rather than trying to be in control of it all has been helpful. Its has meant that many intentions have gone unactioned and for everyone that has affected, I’m truly sorry. 

I took chances in my life I never thought I would and I’m glad I did. I’m really thankful for everyone’s patience, support and space when I needed it the most. 

I stopped talking to many people i consider friends. The lack of willingness on my part of wanting to talk about what happened was not something I wanted to do on repeat and I’m really grateful I have friends who understood all I wanted was a hug and to know I could talk to them when I wanted. I’m really sorry the downside has been that for many of my friends it has meant I have been pretty silent. 

I hope to do better this year. 

I ended the year with a house I’m now calling home, surrounded by a group of friends, playing monopoly, and drinking tea. 

2018, you started with hopes that came crashing down one night. But you taught me that sometimes things come to its natural end. I called it a day on one chapter and it allowed me to open up another.  You taught me dynamics in a relationship can change and from darkness, friendships can bloom.

Thanks for the reminder that I can stand on my own two feet.

Love, 

Jenny

Starting a conversation at a conference

I’ve been asked a few times how to start a conversation with people. It’s not easy or always natural or something you want to be in the mood for so I’ve compiled some stuff i share with people when i give talks. 

Make sure you eat well and stay hydrated!

Make sure we’re fuelled up and not hangry.If I’m hungry i’ll be in a bad mood, starting conversations with people only makes peopel dislike me. I can usually solve this with food and a cup of tea.

Assign yourself the Greeter role.

Toastmasters have this role called a Greeter at their meetups. When it’s a designated role that you are assigned, it helps me give myself permission to talk to other people.

The Greeter's role is to welcome everyone to the club meeting, particularly visitors and people who are new. Making everyone feel welcome at our club is important, as this may be the start of their journey.
Toastmaster’s definition of the  Greeter’s Role 


Tweet out you want to meet new people.

It might seem wierd, but many people attend events on their own and are looking to meet new people. Use the Hashtag of the event and tweet out that you want to meet new people and would love to talk to people about partiulcar topic.Include a picture of what you are wearing  so people know what you look like and can find you.

Start a conversation.

Starting a conversation isnt easy. Having conversation starter questions helps. Here is a bunch of questions I frequently ask:

  • Have you travelled far?
  • What kind do you do with WordPress?
  • What session are you planning?
  • Been to any interesting sessions?
  • What did you think of the topic?
  • How did you get started with WordPress?
  • Comment on the weather.

Engage Pac-Man rule

If you haven’t heard about the pac-man rule, then read more about it  on Eric’s blog post about it.The it tries to solve the problem of allowing new people to join conversations, by giving people explicit permission to join groups.

The rule is:

When standing as a group of people, always leave room for 1 person to join your group.

More memorably, stand like Pac-Man!

The new person, who has been given permission to join your group, will gather up the courage, and join you! Another important point, the group should now readjust to leave another space for a new person.

Leaving room for new people when standing in a group is a physical way to show an inclusive and welcoming environment. It reduces the feeling of there being cliques, and allows people to integrate themselves into the community.

Eric Holscher

Break the Clique

It is habit that we all hang out. we’re comfortable with each other as a company as its less effort for us overall. Eric also wrote a post called Break the Clique.

The Community++ Rule [1]

The rule is:

For every year you have attended the event, you should try to meet that many new people each day.

An example makes it clear:If you have attended this event for three years, you should try to meet three new people each day.

Consider this your encouragement to do the Community++ Rule.

Eric Holscher

People are just people

People don’t always want to talk about work, or tech, they are people afterall, so ask a random question to break the ice.

Set yourself a challenge to meet X number of new people and find out if they prefer cats or dogs, if they are Team Tea or Team Coffee.

You’ve got this.

You at some point already met a bunch of new people. We are continually doing this and the event you are going to will be no different.

You’ve got this.

Have a personal favourite? 

If you have any tips or tricks on how you start conversations with people, please share them. I would love to know how others cope with meeting new people.