Bruce and Pu
Bruce Blacklaws |
Request interview
Remote 🌎
Cape Town
Bangkok, Chiang Mai
Git commit viewer
View the commits in my private repositories without having access to them
Repository count: 18
Total commits: 237 💪
Repository Commit Author Date using Hire DevOps webpage screenshot with the shell improvements 09-Apr-21
adding Hire DevOps side-project and adding it to the location redirector 08-Apr-21
using php7.3-patched container image tag (only 5 medium vulnerabilities remaining) 07-Apr-21
changing Docker image URL (DockerHub --> Google Container Registry) 07-Apr-21
correcting the data-external attribute value 07-Apr-21
envoyproxy SSL was failing because the hostname is case-sensitive (it's a bug: 06-Apr-21
untracking stale vendor folder, adding PHP codeception, invoking GCR container vulnerability scanning 05-Apr-21
removing the Knative service domain mapping (TLS never worked with this and I've moved this logic to app-redirector) 03-Apr-21
scaling to zero, cleanup, adding to App Evolved landing page screenshot 02-Apr-21
Deploying into Cloud Run as well 30-Mar-21
Google Cloud Run --> DigitalOcean Knative, updating API endpoint hostnames 29-Mar-21
removing unused CSS class, removing more app URLs, removing unused function parameter 28-Mar-21
I've shutdown most of my side-project apps, using Sweetalert for an informational modal about the side-project 27-Mar-21
bug fix: directly referencing the incorrect element in the collection 24-Mar-21
bug fix: directly referencing the incorrect element in the collection 24-Mar-21
fixing a styling issue with the flag svgs and Safari/WebKit 23-Mar-21
built locationRedirector class, built 301 redirector with HTTP referrer manipulation logic, adding download button on my CV 23-Mar-21
replacing flag emojis with svgs 23-Mar-21
adding simplify href to /cv-companies, removing earth emoji, improving the styling on mobile 22-Mar-21
updating search engine preview, adding work location emojis 21-Mar-21
Protecting Google Meet requestor with reCaptcha v3 (spam bots where wasting SMS credits), adding formatted 403 HTTP response 20-Mar-21
fixing the stray a tag 18-Mar-21
dynamically setting the .mw470 max-width based on the viewport size 17-Mar-21
Adding screenshot of OS X Dock with apps, removing Sweetalert2 icons for informational modals, adding box-shadow to some elements 17-Mar-21
Changing background-color hex value to #181818 15-Mar-21
Adding screenshot of IDE with PHP code 14-Mar-21
hiredevops-fe using a screenshot that does not show the completed test result :-) 09-Apr-21
added clear command, improved the shells appearance, corrected open graph url, added google analytics 09-Apr-21
updating Dockerfile and 08-Apr-21
initial release of the app (probably has a lot of bugs) 08-Apr-21
Initial commit 06-Apr-21 using php7.3 07-Apr-21
scaling to zero, cleaning up 02-Apr-21
removing unused JS - Twig fixed this issue 29-Mar-21
Google Cloud Run --> DigitalOcean Knative, updating styling, updating hrefs 29-Mar-21
update URIs 21-Feb-21
Ensuring Docker entrypoint is consistent across all my containerised apps 21-Feb-21
Keeping the ASCII art the same on all my apps 18-Feb-21
Updating the Image Processor URI 14-Feb-21
adding additional permissions 13-Feb-21
fixing the IAM service account deployment permissions 13-Feb-21
Performing the gcloud components updated outside the installation directory 13-Feb-21
Getting SemaphoreCI to deploy new Cloud Run service revisions 13-Feb-21
deleting old stuff 12-Feb-21
Password protecting the admin panel using the web server 12-Feb-21
completely rewritten (CS API and Client for file storage, Twig for SSR) and app containerised and ready for Cloud RUN 12-Feb-21
Update index.php 20-Oct-20
Update mobile.css 20-Oct-20
adding Prism.js for syntax highlighting 20-Oct-20
Excluding latest.json-exclude 17-Oct-20
Update index.php 17-Oct-20
Update index.php 17-Oct-20
Delete latest.json 17-Oct-20
Create latest.json 17-Oct-20
Update init.php 17-Oct-20
Update init.php 17-Oct-20
Adding the ability to get the title of the latest blog post 17-Oct-20
appevolved-fe go production 06-Apr-21
envoyproxy SSL was failing because the hostname is case-sensitive (it's a bug: 06-Apr-21
input autocomplete password --> current-password 03-Apr-21
input type changed to password 03-Apr-21
adding Google Analytics, adding loading for the control panel, adding styling when JS disabled 03-Apr-21
scaling to zero, cleaning up 02-Apr-21
go production 02-Apr-21
Updating API endpoint hostname 02-Apr-21
WIP: godev 02-Apr-21
WIP: dynamic form validation, updated images 02-Apr-21
WIP: adding icons, JS form submission and validation, Knative deployments, etc 01-Apr-21
WIP: Systems automation experts 31-Mar-21
Configuring deployments into 22-Nov-20
adding a lang attribute 31-May-20
getting w3c compliant 31-May-20
Update semaphore.yml 31-May-20
Update package.json 31-May-20
Update package.json 31-May-20
Update package.json 31-May-20
install uglify-js 31-May-20
adding apps and aws services 31-May-20
adding LinkedIn preview (Open Graph Protocol) 27-Apr-20
removing app portfolio for now 22-Mar-20
Update semaphore.yml 21-Mar-20
Update semaphore.yml 21-Mar-20
corrected the meta description, working on the pipeline and Percy 21-Mar-20
knative-installation adding notes in the readme 04-Apr-21
removing the Lets Encrypt working directories and removing manual TLS configuration (this is handled automatically now) 04-Apr-21
improving the domainTemplate (the client app configuration can specify the hostname) 21-Feb-21
YAML configuration and a basic shell script to get Knative installed on Kubernetes 20-Feb-21
Initial commit 20-Feb-21
appevolved-be scaling to zero, cleaning up 02-Apr-21
init the pipeline, built requestQuote and authenticateUser API calls 02-Apr-21
WIP: basic app framework up, PSR-4 class autoloader, requestQuote logic 01-Apr-21
Initial commit 12-Mar-20
image-processor scaling to zero, cleaning up 02-Apr-21
updating the correct kn service name 29-Mar-21
Google Cloud Run --> DigitalOcean Knative 29-Mar-21
Adding screenshot of OS X Dock (just fun stuff) 17-Mar-21
Reszing PHP.png 14-Mar-21
Reszing PHP.png 14-Mar-21
Adding IDE screenshot of PHP code (from Carbon) 14-Mar-21
Ensuring Docker entrypoint is consistent across all my containerised apps 21-Feb-21
Adding more personal images 14-Feb-21
Complete app re-write, uses the imageStore instead of a class name, can check Cloud Storage too 14-Feb-21
Initial commit 09-Feb-21
request-interview cleaning up 02-Apr-21
scaling to zero 02-Apr-21
Google Cloud Run --> DigitalOcean Knative 29-Mar-21
using v4.1 of the relational database api client 05-Mar-21
updating relational database api client to release v4 26-Feb-21
Ensuring Docker entrypoint is consistent across all my containerised apps 21-Feb-21
returning HTTP status 200 OK on OPTIONS request, allowing OPTIONS request in preflight 18-Feb-21
Initialising the pipeline 14-Feb-21
Setting Content-Type header, changing the company pitch, activating SemaphoreCI 14-Feb-21
This server API works and can successfully process interview requests 11-Feb-21
Adding database procedures getPreviousInvitations() and logInterviewRequest() 11-Feb-21
Adding a simple database schema 11-Feb-21
relational-database-client and cs-client composer packages installed, LOTS to do 09-Feb-21
Initial commit 09-Feb-21
github-commits cleaning up 02-Apr-21
scaling to zero (attempting to reduce resources) 02-Apr-21
Updating the CI pipeline 30-Mar-21
Google Cloud Run --> DigitalOcean Knative, updating image-processor URI 30-Mar-21
removing cache (accidentally commited the API response cache) 28-Mar-21
fixing up the Earth emoji 28-Mar-21
Changing the request interview URI (using my new locationRedirector class 23-Mar-21
improving the styling 21-Mar-21
using a shortened date, fixing the styling on Firefox/Quantum 21-Mar-21
adding request interview with preferable work locations tooltip, adding emojis, improving the styling 21-Mar-21
Updating the title 14-Mar-21
changing the app description 08-Mar-21
keeping the ASCII art the same across all my apps 22-Feb-21
update image URI (using the new image processor microservice 22-Feb-21
Ensuring Docker entrypoint is consistent across all my containerised apps 21-Feb-21
Increasing the repository commit count 13-Feb-21
shortening the date column 12-Feb-21
app is completely containerised now and hosted with Google Cloud Run 28-Dec-20
tracking the Let's Encrypt working directory (contains TLS public-keys) 28-Dec-20
Incrementing the repository and commit display counts (I'm working on more projects now) 07-Nov-20
adding background color 25-Oct-20
removing my email address (it's already everywhere in the Author column) 25-Oct-20
Implementation of Twig for server-side rendering 20-Oct-20
Update screenshot-static.jpg 17-Oct-20
Update screenshot-static.jpg 17-Oct-20
Merge branch 'main' of into main 07-Oct-20
relational-database-api scaling to zero 02-Apr-21
updating annotations: preventing scaling to zero, autoscaling on connection concurrency 29-Mar-21
Setting kn binary to executable 06-Mar-21
Installing kn binary in the pipeline, Updating Knative service image URL to latest 06-Mar-21
Adding Sentry to the project 06-Mar-21
using a kube config that does not require doctl 05-Mar-21
adding database connection string as global environment variable in docker container, getting SemaphoreCI deployments to work with Knative on DO 05-Mar-21
changed the incorrect variable name and json key references 20-May-20
Update mysql.php 04-May-20
don't using caching for SQL multi-queries 04-May-20
awe 03-May-20
Update json.php 03-May-20
Update json.php 03-May-20
Update json.php 03-May-20
Update memcached.php 03-May-20
Update json.php 03-May-20
Update json.php 03-May-20
awe 03-May-20
awe 03-May-20
Update functions.php 02-May-20
Update json.php 02-May-20
Update json.php 02-May-20
Update index.php 02-May-20
Update memcached.php 02-May-20
awe 02-May-20
Update classes.php 02-May-20
messaging-wss Initial commit 21-Mar-21
messaging-api Initial commit 20-Mar-21
CS Changing Sentry projet name (DSN) 06-Mar-21
adding the Google IAM service account (not sure what deleted it) 05-Mar-21
Init the pipeline 05-Mar-21
Initialising Semaphore on this project 05-Mar-21
Using Sentry to display exceptions (debugging issues in Cloud Run is actually quite difficult) 05-Mar-21
Ensuring Docker entrypoint is consistent across all my containerised apps 21-Feb-21
setting Cache-Control header to 'no-store' (client API calls were receiving old/cached data) 12-Feb-21
The basic app framework works (allows reading and writing objects for Google Cloud Storage) 31-Dec-20
Adding logic for app containerisation 31-Dec-20
Adding the Google IAM service account 31-Dec-20
Initial commit 28-Dec-20
relational-database-client changing the api endpoint hostname 05-Mar-21
Connecting to the relational database API server hosted by Knative 26-Feb-21
I'm not sure how to deal with a broken chained query (the query is not in the same transaction block) it's just chained together but what do I do if one of the queries in the block is bad? 11-Feb-21
Update databaseAPIClient.php 22-Aug-20
removing the IDE configuration 22-Aug-20
Invoking an exception if the curl connection was not successful 22-Aug-20
changed the incorrect variable name 20-May-20
Update 04-May-20
Update 04-May-20
Update 04-May-20
awe 04-May-20
awe 03-May-20
init project 03-May-20
Initial commit 03-May-20
RequestInterview-Lambda-Function I'm still working on this. 08-Jul-18
Initial commit. 08-Jul-18
Initial commit 08-Jul-18
RemoteOffice Update 18-May-18
Initial commit 16-May-18
Initial commit 16-May-18
terraform-digitalocean tracking Terraform state and backup 26-Feb-21
adding db server type, adding manual installation type, adding rdb-01-lon 26-Feb-21
Deprecating frontend and backend webservers (this server infrastructure is replaced by containerisation) 24-Feb-21
Tracking the Terraform state 22-Nov-20
Terraform is managing all the DNS zones for my apps 22-Nov-20
Update 15-Nov-20
I'm working on the deployment shell script that automatically prepares the initial configuration and invokes Puppet 08-Nov-20
I'm getting this project off the ground 07-Nov-20
Initial commit 07-Nov-20
puppet-masterless enabling PAM because something broke 26-Feb-21
sshd: disabling password authentication, disabling PAM 26-Feb-21
fully qualifying ls 26-Feb-21
only installing SemaphoreCI CLI app on web servers 26-Feb-21
removing deployments from the rdbs 26-Feb-21
there is an issue with service enable and systemd it seems, removing for now 26-Feb-21
creating the db-api mysql user and grant 26-Feb-21
installing sem on the rdb 26-Feb-21
specifying mysql start, restart and status systemctl commands for the puppet service resource 26-Feb-21
notifying mysql after the main configuration file has changed 26-Feb-21
ensure not a symlink, only notifying mysql server after all the configuration is in place 26-Feb-21
trying to get the execution ordering correct 26-Feb-21
ensuring it will overwrite the symlink, adding file management warnings 26-Feb-21
ensuring it will overwrite the symlink, adding file management warnings 26-Feb-21
I can't debug this locally... debugging 01 25-Feb-21
moving the mysqld template into the template directory 25-Feb-21
All this configuration is going to need to be rewritten (I wrote this sometime back) 25-Feb-21
adding more useful comments 22-Nov-20
removing more MySQL references 22-Nov-20
using double quotes to allow the variable to be expanded correctly 22-Nov-20
ordering the execution flow ( needs to run after it's copied across) 22-Nov-20
Update init.pp 22-Nov-20
calling the resource outside of the interation 22-Nov-20
changing the calling class 22-Nov-20
moving from a function to a defined resource 22-Nov-20
first attempt at automatically invoking the deployment pipeline 22-Nov-20