University can be a confusing time. So, what happens if you change your mind? Student Blogger, Emily, chats to us about what happens if you change your mind about your future career: Hello readers! Emily […]
Continue reading 'My ‘Mid-Degree Crisis’'
Challenge: Setup a locator using Xpath or CSS Selector that can be used to identify the 2nd item in the On This Day list on WikipediaComment below with your answer. I’ll be posting my own response next week. The Wikipedia home page includes a series of daily featured articles, facts and events that happened on […]
Continue reading 'Weekly XPath/CSS Selector Challenge (22nd November 2021)'
Now that I have a TouchID enabled Mac, I want to be able use TouchID for sudo access. There's a pam module available, so it just needs enabling: Edit /etc/pam.d/sudo Add a new line under line 1 (which is a comment) containing: [crayon-6194f73902159319534836/](Leave all other lines in this file.) That's it. Now, whenever you use sudo, you have the option of using TouchID to authenticate. Scripting i
Continue reading 'Add TouchID authentication to sudo'
Challenge: Setup a locator using XPath or CSS Selector for the Next Output cell in the Generator 6 row of the table remarkablegames.org/button-clicker/Comment below with your answer. I’ll be posting my own response next week. This week, I’ve chosen something a little more challenging. The chosen website is a template for incremental games. There is […]
Continue reading 'Weekly XPath/CSS Selector Challenge (15th November 2021)'
Student Wellbeing Champion, Georgie, chats to us about how we can make a difference during World Kindness Day and beyond! Saturday 13th November 2021 is World Kindness Day. Being kind is such an easy thing […]
Continue reading 'Let’s make kindness the norm'
Challenge: Setup a locator using XPath or CSS Selector for the Click Me button on the following website ministryoftesting.github.io/the-button/ My response to this weeks challenge, and a new locator challenge, can be found in the following link: louisegibbstest.wordpress.com/2021/11/15/weekly-xpath-css-selector-challenge-15th-november-2021/ Locators are an essential part of setting up UI automated
Continue reading 'Weekly XPath/CSS Selector Challenge (8th November 2021)'
I haven’t published any blog posts about the 30 days of tools challenges for a couple of weeks. I did continue with the challenge, but only published my responses on the Ministry of Testing website. Even though the challenge is now over, I do have a few blog posts planned. In this blog post, I […]
Continue reading 'How To Test A Button (#30DaysOfTools – Day 21)'
How do you convince your team/company to invest in tools? There are 2 ways to get teams and companies to invest in the tools you want them to invest in: Directly and Indirectly. Direct Methods for getting tool investment Direct methods include speaking to managers directly and asking for the desired tool investment. This is […]
Continue reading 'Encouraging Tool Investment (#30DaysOfTools – Day 12)'
Day 6 – How do you stay tool aware? First off, I’m going to discuss what it means to be tool aware. I believe it means that we have minimal knowledge of a wide range of tools that could be used to help us do our jobs. We don’t need expert knowledge of all these […]
Continue reading 'Staying Tool Aware (#30DaysOfTools – Day 6)'
Day 3 – Share how you evaluate a new tool There are 3 things that I would consider when evaluating the tool. Activity/Task Improvement Cost Activity/Task For a tool to be useful to us, the team or the business, it needs to be able to help someone complete a specific task in a quicker or […]
Continue reading 'Evaluating Test Tools (#30DaysOfTools – Day 3)'
Here is day 2 of the 30 days of testing challenge, introduced by the Ministry of Test. For this challenge, I analyse what a tool is and what makes something a testing tool. Tool A device or implement, especially one held in the hand, used to carry out a particular function. Oxford Languages – or […]
Continue reading 'What is a Testing Tool? (#30DaysOfTools – Day 2)'
When working on rst2pdf, I use pyenv as I've written about before. Recently, I've found myself needing to recreate virtualenvs for various Python versions and then recreate them to easily reset the list of packages installed into them via pip. To my my life easier, I created a script that I can run from the command line: [crayon-6194f73902493923844864/] This creates a new virtualenv called rst2pdf-
Continue reading 'Quick script to (re)create my python virtualenv'
For many years now, I've been using Matthew Weier O'Phinney's changelog_generator script to generate an easy-to-read list of changes for a given milestone. Time has moved on; the Laminas project now uses Laminas Automatic Releases and Matthew hasn't updated his script since 2013. Since PHP 8, warnings have started appear, so it's clear updates were required. While I fully intend to see if I can use
Continue reading 'Changelog generator for GitHub milestones'
One thing that's quite convenient is to be able to throw an exception with a valid HTTP code set and have that code sent to the client. For example, you may have: [crayon-6194f73902646775337428/] With the standard Slim 4 error handler, this response is sent to the client: [crayon-6194f7390264a243357364/] Ideally we want the status code to be 404. Option 1: Use an HttpException The simplest solution
Continue reading 'Setting HTTP status code based on Exception in Slim 4'
I don't do that much that's clever with git, but I've found the following helpful. Automatically prune When you do a git fetch or git pull, you can ask it to remove remote tracking branches for a branch that has been removed on the remote by using the --prune flag. This can be automated globally with: [crayon-6194f73902893028374425/] and if you only want it for a specific repository, you can use: [
Continue reading 'A few Git tips'
One of my clients has recently moved to AnyConnect VPN and I've been having routing problems with the official Mac client. As my colleagues on Linux on the project have not had these issues, I investigated and installed the OpenConnect client. These are my notes after scouring the Internet to set it up how I want it. Installation I used Homebrew: [crayon-6194f73902de8385944006/]OpenConnect is a CLI
Continue reading 'OpenConnect on Mac'
When writing PHP for AWS Lambda, Bref is the way to do it. One thing I like about Bref is that you can use PSR-15 Request Handlers to respond to API Gateway HTTP events as documented in the API Gateway HTTP events section of the Bref docs. The request handler is the same as used in PSR-7 micro-frameworks like Slim or Mezzio and can be thought of as a controller action. As such, it's really… continu
Continue reading 'Dependency injection in Serverless PHP with Bref'
One thing that has annoyed me about receiving email is so-called tracker pixels. These usually 1x1px transparent images that are remotely loaded into HTML email enable the sender to track information about be. A good resource about them is No To Spy Pixels. As such I've tended to run my email clients with remote resource loading disabled, which isn't the best experience as a surprising number of le
Continue reading 'MailTrackerBlocker'
With the release of Big Sur, my scripts for keyboard control of macOS notification alerts stopped working. With a bit of experimentation and help from Google, I have written new ones. Closing an alert To close a notification alert on Big Sur, conceptually we want to press the X button that appears when you hover over it. The AppleScript to do this is: [crayon-6194f739034f8953711437/] This is much m
Continue reading 'Keyboard control of Big Sur notification alerts'