Bruce and Pu
Bruce Blacklaws |
Request interview
Remote
|
Cape Town
|
Bangkok, Chiang Mai
Git commit viewer
View the commits in my private repositories without needing access to them (commit URLs are not added)
Repository count: 30 (5)
Total commits: 399
Repository Commit Author Date
GCD
Moving to the cloudrun.gcp.bruceblacklaws.com DNS zone (long overdue task) bruce@bruceblacklaws.com Aug-22
using application-stack:latest and new entrypoint bruce@bruceblacklaws.com Jul-21
Ensuring Docker entrypoint is consistent across all my containerised apps bruce@bruceblacklaws.com Feb-21
Update README.md bruce@bruceblacklaws.com Sep-20
changing app names bruce@bruceblacklaws.com Sep-20
Update app.yaml bruce@bruceblacklaws.com Sep-20
Update app.yaml bruce@bruceblacklaws.com Sep-20
Create .gcloudignore bruce@bruceblacklaws.com Sep-20
added failure HTTP status code, init the CI/CD, added deploy.sh bruce@bruceblacklaws.com Sep-20
Merge pull request #1 from bruceblacklaws/set-up-semaphore Update Semaphore configuration bruce@bruceblacklaws.com Sep-20
Update Semaphore configuration bruce@bruceblacklaws.com Sep-20
Remove old Eclipse IDE configuration files, create .gitignore for NetBeans IDE bruce@bruceblacklaws.com Aug-20
I'm still working on this. bruce@bruceblacklaws.com May-18
I'm still working on this. bruce@bruceblacklaws.com Mar-18
I've added a way to get the coords now (haven't tested this, probably could refactor sometime). bruce@bruceblacklaws.com Jun-17
I've added the geographical coordinates now. bruce@bruceblacklaws.com Jun-17
I'm adding geo coordinates to this API (for use with Google Places API later on). bruce@bruceblacklaws.com Jun-17
Fix broken currency acronyms. bruce@bruceblacklaws.com Jun-17
Remove dev tools and the backup. bruce@bruceblacklaws.com Jun-17
I've added information about the country's currency. bruce@bruceblacklaws.com Jun-17
I'm still working on this. bruce@bruceblacklaws.com Jun-17
I'm removing the notes. I actually did the work myself (dev tools). bruce@bruceblacklaws.com Jun-17
FIx-a-bug. bruce@bruceblacklaws.com May-17
Debugging... bruce@bruceblacklaws.com May-17
I'm adding a way to get the country information via the country_code. bruce@bruceblacklaws.com May-17
I need to work on this still. bruce@bruceblacklaws.com May-17
Edit the README. bruce@bruceblacklaws.com May-17
Debugging... bruce@bruceblacklaws.com May-17
Debugging... bruce@bruceblacklaws.com May-17
Fix-a-bug. bruce@bruceblacklaws.com May-17
Changing the container image tag name bruce@bruceblacklaws.com Aug-22
Changing the app's name bruce@bruceblacklaws.com Aug-22
Managed to get BabelJS to work with async/await, build a JS build process (concatenates and obfuscates), implemented ESLint, updated the initial user chat messages bruce@bruceblacklaws.com Aug-22
Just performing a backup of the JS (I'm working on using RequireJS' built in obfuscation) bruce@bruceblacklaws.com Jul-22
A lot is being worked on here and I'm too tired to write a decent commit message bruce@bruceblacklaws.com Dec-21
A lot is being worked on here and I'm too tired to write a decent commit message bruce@bruceblacklaws.com Dec-21
Starting the integration into Google Maps JavaScript API bruce@bruceblacklaws.com Dec-21
I've got the basic framework up for PuBot but I've still got a lot to do bruce@bruceblacklaws.com Dec-21
Initial commit bruce@bruceblacklaws.com Dec-21
Forgot the print statement I used for debugging bruce@bruceblacklaws.com Mar-22
Moved from PSR-0 to PSR-4 class autoloader, built databaseAPIClient::queryV2() bruce@bruceblacklaws.com Mar-22
Updating the API endpoint hostname (using the cloudrun wildcard DNS zone) bruce@bruceblacklaws.com May-21
Updating DB API endpoint hostname bruce@bruceblacklaws.com Apr-21
changing the api endpoint hostname bruce@bruceblacklaws.com Mar-21
Connecting to the relational database API server hosted by Knative bruce@bruceblacklaws.com 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? bruce@bruceblacklaws.com Feb-21
Update databaseAPIClient.php bruce@bruceblacklaws.com Aug-20
removing the IDE configuration bruce@bruceblacklaws.com Aug-20
Invoking an exception if the curl connection was not successful bruce@bruceblacklaws.com Aug-20
changed the incorrect variable name bruce@bruceblacklaws.com May-20
Update README.md bruce@bruceblacklaws.com May-20
Update README.md bruce@bruceblacklaws.com May-20
Update README.md bruce@bruceblacklaws.com May-20
awe bruce@bruceblacklaws.com May-20
awe bruce@bruceblacklaws.com May-20
init project bruce@bruceblacklaws.com May-20
Initial commit bruce@bruceblacklaws.com May-20
Initializing the CI/CD bruce@bruceblacklaws.com Mar-22
Merge branch 'master' of github.com:bruceblacklaws/relational-database-api-v2 bruce@bruceblacklaws.com Mar-22
Merge pull request #1 from bruceblacklaws/setup-semaphore Use Single job starter workflow bruce@bruceblacklaws.com Mar-22
Use Single job starter workflow bruce@bruceblacklaws.com Mar-22
Fixed a bug that broke the JSON decoding when the result table included no rows, only commiting to the database if all the SQL multiqueries are successful (not after each success but rather cumulatively), only closing non-persistent database connection when PHP reads the result table bruce@bruceblacklaws.com Mar-22
built a cacheProcessor with cacheTypes (currently using memcached) and other work too bruce@bruceblacklaws.com Mar-22
I have PostgreSQL working as a supported database, I still have a lot to do here bruce@bruceblacklaws.com Mar-22
I have the basic framework up with MySQL as the database (busy working on support for PostgreSQL) bruce@bruceblacklaws.com Mar-22
Initial commit bruce@bruceblacklaws.com Mar-22
adding notes in the readme bruce@bruceblacklaws.com Apr-21
removing the Lets Encrypt working directories and removing manual TLS configuration (this is handled automatically now) bruce@bruceblacklaws.com Apr-21
improving the domainTemplate (the client app configuration can specify the hostname) bruce@bruceblacklaws.com Feb-21
YAML configuration and a basic shell script to get Knative installed on Kubernetes bruce@bruceblacklaws.com Feb-21
Initial commit bruce@bruceblacklaws.com Feb-21
A lot is being worked on here and I'm too tired to write a decent commit message bruce@bruceblacklaws.com Dec-21
A lot is being worked on here and I'm too tired to write a decent commit message bruce@bruceblacklaws.com Dec-21
WIP: Moving the intent processing to the registered application, adding a new Dialogflow agent bruce@bruceblacklaws.com Dec-21
Updating cs-client v1.2 --> v1.3 bruce@bruceblacklaws.com Nov-21
Updating cs-client v1.1 to v1.2 bruce@bruceblacklaws.com Nov-21
Adding support for the appLanguage (the frontend can set the language it wants Google Dialogflow to respond in), adding this logic to the registered application (mandatory because of the interface) bruce@bruceblacklaws.com Nov-21
Only storing the conversation if there was actually a conversation bruce@bruceblacklaws.com Oct-21
Wrapping the calls to googleCloudStorage::readFile() and googleCloudStorage::writeFile() in a try/catch statement and sending caught exceptions into Sentry bruce@bruceblacklaws.com Oct-21
Built logic to store conversation with the chat bot (both the user message and the Dialogflow fulfilment text). This still needs work as is not live yet bruce@bruceblacklaws.com Oct-21
The app that implements validDefaultUserApplication can decide whether or not to send the initial user message straight to Google Dialogflow (this is probably a good idea) bruce@bruceblacklaws.com Oct-21
Added additional performpayment follow-up intents, added an additional payment type, figure out a way to reset the intents context and return the user back to the start bruce@bruceblacklaws.com Oct-21
Changing the userOffline message bruce@bruceblacklaws.com Oct-21
Adding another Google DialogFlow intent (performpayment), adding a supportsPayment() method to the validDefaultUserApplication interface and implementing it on the websiteChat WebSocket server app, hard coding PayPal as the paymentType for now bruce@bruceblacklaws.com Oct-21
Wrapping the SMSClient::sendSMS() call in a try/catch statement bruce@bruceblacklaws.com Oct-21
Using the correct deployer IAM service account bruce@bruceblacklaws.com Jul-21
Adding deploy-cloudrun.sh (activating SemaphoreCI on this project) bruce@bruceblacklaws.com Jul-21
Merge pull request #1 from bruceblacklaws/set-up-semaphore Update Semaphore configuration bruce@bruceblacklaws.com Jul-21
Update Semaphore configuration bruce@bruceblacklaws.com Jul-21
using container image tagged with application-stack:latest, incrementing php websocket server version to v1.6, making use of the new entrypoint, checking whether the registeredApplication exists before attempting to unset it bruce@bruceblacklaws.com Jul-21
Changing messengerServer::userOffline constant bruce@bruceblacklaws.com May-21
Using v1.5 of the PHP WebSocket server bruce@bruceblacklaws.com May-21
Built validChatBot interface (might use another chatbots), creating associations between the registered application class name and the DialogFlow agent name bruce@bruceblacklaws.com May-21
Starting the integration into Google Dialogflow bruce@bruceblacklaws.com May-21
adding addContact and removeContact for the admin panel, associating the admin registered app with the connected client apps, letting the user know if the default user is offline bruce@bruceblacklaws.com May-21
heck of a lot is being worked on here (not live yet) bruce@bruceblacklaws.com May-21
still a lot to do here bruce@bruceblacklaws.com May-21
Implementing Sentry, composer install on container image build, updating WEB_ALIAS_DOMAIN bruce@bruceblacklaws.com May-21
moving back to bloatless/php-websocket (I'm not using Envoy anymore) bruce@bruceblacklaws.com May-21
a yeck of a lot has been completed here... bruce@bruceblacklaws.com Apr-21
the basic concept works but this app needs a lot of work still bruce@bruceblacklaws.com Apr-21
Using PHP's $_GET autoglobal when ALLOW_QUERY_STRING_PARAMETERS is enabled (this is a bug fix), updating the offline translations bruce@bruceblacklaws.com Jul-22
Caching the OGP images for my most recent blog posts bruce@bruceblacklaws.com Jul-22
Backing up recent blog posts and the blog index bruce@bruceblacklaws.com Jul-22
Adding an offline translations cache for my latest blog (Team reviews are fundamentally flawed) bruce@bruceblacklaws.com Jul-22
Updating the offline translations cache (corrected spelling errors on 2 of my blog posts) bruce@bruceblacklaws.com Jul-22
Adding an id parameter to the query string when requesting a blog in the admin console (prevents reading into the cache), adding 'privateApps' to my latest position, quickly built createNew.sh (used for adding new Twig and JS module templates) bruce@bruceblacklaws.com Jul-22
Backing up more blog posts bruce@bruceblacklaws.com Jul-22
Adding more offline translations bruce@bruceblacklaws.com Jul-22
Bug fix: using the blog index to determine if the blog has protected content (exact same concept used in the JS) bruce@bruceblacklaws.com Jun-22
Showing the blog protected warning when selecting blogs from the dropdown menu bruce@bruceblacklaws.com Jun-22
Populating the offline cache for the OGP images bruce@bruceblacklaws.com Jun-22
Splitting out the edit blog and edit protected blog API calls bruce@bruceblacklaws.com Jun-22
Built the concept of a 'protected blog', bug fixes: current blog must match the default blog selected in the archive dropdown menu, adding the device stylesheet correctly when the app fails the valid domain validation bruce@bruceblacklaws.com Jun-22
Adding Amazon ECR to build.sh, allowing for parameters on the request URI query string, adding a media at-rule to the desktop stylesheet to allow for printing (unsetting the margins), adding AWS configuration for aws-cli, adding deployments into Amazon ECS (deploy-ecs.sh) bruce@bruceblacklaws.com Jun-22
Caching the offline translation for my latest blog post with the protected blog content (Handling pushback on automation) bruce@bruceblacklaws.com Jun-22
Caching the offline translation for my latest blog post (Handling pushback on automation) bruce@bruceblacklaws.com Jun-22
Getting a backup of all my blogs (including the index) from Google Cloud Storage bruce@bruceblacklaws.com Jun-22
Adding an additional string to the offline language translations (blogProtectedContent) bruce@bruceblacklaws.com Jun-22
Correcting the grammar in errorContact.html.twig, reduce the blog title font size in mobile.css, caching the language translations of my latest blog post (How to be a good web application developer) bruce@bruceblacklaws.com Jun-22
Fixed the bug with the blog archive and the tailing forward slash, ellipsis on the blog title overflow on mobile bruce@bruceblacklaws.com May-22
Adding a contact message to error templates (formatted handled exceptions), left aligning the text in h4 tags in the blog bruce@bruceblacklaws.com May-22
Ordering the blog archive numerically (seems better this way) bruce@bruceblacklaws.com May-22
Built a blog archive (if the blog ID is not provided, consider this a request for the blog archive), adding English the string 'Blog Archive' to the languageProcessor bruce@bruceblacklaws.com May-22
Moved from the custom backend object in cv.js to using the standard utilities.xhrPOSTRequest(), using the languageProcessor when changing the webpages title, fixed a bug when using pushState n the chat app bruce@bruceblacklaws.com May-22
Translating the blog titles in the archive (wrote these translations to the offline cache), implemented blog friendly names (used in ssr and pushstate), fixed the bug in setNuanceStyling() when the blog entry is rendered server-side and the appLanguage is Japanese bruce@bruceblacklaws.com May-22
Adding /ping for health checks that need a 200 response (that should not be subjected to the domain checks), only translating the blog content in the Twig templates when the requestProcessor is set, adding deploy-gke.sh (incomplete) and gke-autopilot.yaml bruce@bruceblacklaws.com Apr-22
Adding appLanguage on the requests query string (used to ensure the server sets the caching correctly), dynamically translating blog post content and blog title (writing to the offline cache too), reading the client IPv4 when it's behind a proxy bruce@bruceblacklaws.com Apr-22
Dynamically setting the webpage title, cleaning fakeTokens.json, adding additional buzzword to my CV bruce@bruceblacklaws.com Apr-22
Fixed styling issues in the admin panel, comment warning and the chat app on tablet bruce@bruceblacklaws.com Apr-22
Fixed syling issues in the chat app, clearned up the JS indentation, removed a method from the utilities object bruce@bruceblacklaws.com Apr-22
Rendering unfiltered HTML in the Twig templates bruce@bruceblacklaws.com Jan-22
Keeping the copyright year current, changing the GitHub ahref, I forgot the admin password bruce@bruceblacklaws.com Jan-22
Updating cs-client v1.2 --> v1.3 bruce@bruceblacklaws.com Nov-21
Updating cs-client v1.1 to v1.2 bruce@bruceblacklaws.com Nov-21
using application-stack:latest and new entrypoint, updating administrative password bruce@bruceblacklaws.com Jul-21
Updating CS client to v1.1 bruce@bruceblacklaws.com May-21
Updating relational database API client (v3.2 --> v4.3) bruce@bruceblacklaws.com May-21
Updating the image-processor endpoint (using cloudrun wildcard DNS zone) bruce@bruceblacklaws.com May-21
Updating image-processor endpoint, using latest container image tag bruce@bruceblacklaws.com May-21
fixing open graph (the envoyproxy case-sensitivity TLS bug), implementing Google Analytics bruce@bruceblacklaws.com Apr-21
using php7.3 bruce@bruceblacklaws.com Apr-21
scaling to zero, cleaning up deploy-knative.sh bruce@bruceblacklaws.com Apr-21
removing unused JS - Twig fixed this issue bruce@bruceblacklaws.com Mar-21
Google Cloud Run --> DigitalOcean Knative, updating styling, updating hrefs bruce@bruceblacklaws.com Mar-21
update URIs bruce@bruceblacklaws.com Feb-21
Ensuring Docker entrypoint is consistent across all my containerised apps bruce@bruceblacklaws.com Feb-21
Keeping the ASCII art the same on all my apps bruce@bruceblacklaws.com Feb-21
Updating the Image Processor URI bruce@bruceblacklaws.com Feb-21
adding additional permissions bruce@bruceblacklaws.com Feb-21
fixing the IAM service account deployment permissions bruce@bruceblacklaws.com Feb-21
Performing the gcloud components updated outside the installation directory bruce@bruceblacklaws.com Feb-21
Getting SemaphoreCI to deploy new Cloud Run service revisions bruce@bruceblacklaws.com Feb-21
deleting old stuff bruce@bruceblacklaws.com Feb-21
Password protecting the admin panel using the web server bruce@bruceblacklaws.com Feb-21
completely rewritten (CS API and Client for file storage, Twig for SSR) and app containerised and ready for Cloud RUN bruce@bruceblacklaws.com Feb-21
Update index.php bruce@bruceblacklaws.com Oct-20
Update mobile.css bruce@bruceblacklaws.com Oct-20
adding Prism.js for syntax highlighting bruce@bruceblacklaws.com Oct-20
Excluding latest.json-exclude bruce@bruceblacklaws.com Oct-20
Update index.php bruce@bruceblacklaws.com Oct-20
Updating cs-client v1.2 --> v1.3 bruce@bruceblacklaws.com Nov-21
Updating cs-client v1.1 to v1.2 bruce@bruceblacklaws.com Nov-21
using application-stack:latest and new entrypoint bruce@bruceblacklaws.com Jul-21
Updating SMS client to v1.2, updating CS client to v1.1 bruce@bruceblacklaws.com May-21
Updating relational database API client (v4.2 --> v4.3) bruce@bruceblacklaws.com May-21
Bump up the relational database client, add deploy-cloudrun.sh, adding GCP IAM service account bruce@bruceblacklaws.com Apr-21
scaling to zero, cleaning up deploy-knative.sh bruce@bruceblacklaws.com Apr-21
init the pipeline, built requestQuote and authenticateUser API calls bruce@bruceblacklaws.com Apr-21
WIP: basic app framework up, PSR-4 class autoloader, requestQuote logic bruce@bruceblacklaws.com Apr-21
Initial commit bruce@bruceblacklaws.com Mar-20
Updating cs-client v1.2 --> v1.3 bruce@bruceblacklaws.com Nov-21
Updating cs-client v1.1 to v1.2 bruce@bruceblacklaws.com Nov-21
Changing filename bruce@bruceblacklaws.com Sep-21
Updating git contributions calendar (I've still being working like hell) bruce@bruceblacklaws.com Sep-21
changed the GL image filename to something obscure bruce@bruceblacklaws.com Aug-21
using application-stack:latest and new entrypoint bruce@bruceblacklaws.com Jul-21
Updating git contributions calendar (I've being working like hell) bruce@bruceblacklaws.com Jun-21
Updating CS client to v1.1 bruce@bruceblacklaws.com May-21
Using latest container image tag, updating WEB_ALIAS_DOMAIN, CI/CD pipeline deploying into Cloud Run bruce@bruceblacklaws.com May-21
scaling to zero, cleaning up deploy-knative.sh bruce@bruceblacklaws.com Apr-21
updating the correct kn service name bruce@bruceblacklaws.com Mar-21
Google Cloud Run --> DigitalOcean Knative bruce@bruceblacklaws.com Mar-21
Adding screenshot of OS X Dock (just fun stuff) bruce@bruceblacklaws.com Mar-21
Reszing PHP.png bruce@bruceblacklaws.com Mar-21
Reszing PHP.png bruce@bruceblacklaws.com Mar-21
Adding IDE screenshot of PHP code (from Carbon) bruce@bruceblacklaws.com Mar-21
Ensuring Docker entrypoint is consistent across all my containerised apps bruce@bruceblacklaws.com Feb-21
Adding more personal images bruce@bruceblacklaws.com Feb-21
Complete app re-write, uses the imageStore instead of a class name, can check Cloud Storage too bruce@bruceblacklaws.com Feb-21
Initial commit bruce@bruceblacklaws.com Feb-21
Ported MySQL stored procedures to PostgreSQL PL/pgSQL (deleteInvitation.pgsql, getPreviousInvitations.pgsql, logInterviewRequest.pgsql, makePublic.pgsql) bruce@bruceblacklaws.com Mar-22
Writing output to the error logs that will be picked up in GCP operations logging bruce@bruceblacklaws.com Jan-22
Cleaning up the code a little (hopefully the logs are a little bit cleaner now) bruce@bruceblacklaws.com Jan-22
Stripping out invalid private interview requests, adding startDevContainer.sh, ignore the dev logs bruce@bruceblacklaws.com Jan-22
Added 2 more database procedures (deleteInvitation.sql and makePublic.sql) bruce@bruceblacklaws.com Jan-22
Updating cs-client v1.2 --> v1.3 bruce@bruceblacklaws.com Nov-21
Updating cs-client v1.1 to v1.2 bruce@bruceblacklaws.com Nov-21
Factored in the case when there is only 1 private invitation/1 row returned in the result table bruce@bruceblacklaws.com Nov-21
Fixed a bug, reloaded local composer bruce@bruceblacklaws.com Nov-21
Adding functionality to return private invitations bruce@bruceblacklaws.com Nov-21
Changing the Sentry project identifier bruce@bruceblacklaws.com Oct-21
Adding Sentry and catching certain exceptions that I care about bruce@bruceblacklaws.com Oct-21
Wrapping smsClient::sendSMS in a try/catch statement (I still need to add sentry to this app) bruce@bruceblacklaws.com Oct-21
using application-stack:latest and new entrypoint bruce@bruceblacklaws.com Jul-21
Updating SMS client to v1.2, updating CS client to v1.1 bruce@bruceblacklaws.com May-21
Updating the comment in deploy-cloudrun.sh bruce@bruceblacklaws.com May-21
Updating relational database API client (v4.2 --> v4.3), updating WEB_ALIAS_DOMAIN bruce@bruceblacklaws.com May-21
Configuring deploy-cloudrun.sh bruce@bruceblacklaws.com Apr-21
Updating relational-database-client to v4.2 bruce@bruceblacklaws.com Apr-21
cleaning up deploy-knative.sh bruce@bruceblacklaws.com Apr-21
scaling to zero bruce@bruceblacklaws.com Apr-21
Google Cloud Run --> DigitalOcean Knative bruce@bruceblacklaws.com Mar-21
using v4.1 of the relational database api client bruce@bruceblacklaws.com Mar-21
updating relational database api client to release v4 bruce@bruceblacklaws.com Feb-21
Ensuring Docker entrypoint is consistent across all my containerised apps bruce@bruceblacklaws.com Feb-21
returning HTTP status 200 OK on OPTIONS request, allowing OPTIONS request in preflight bruce@bruceblacklaws.com Feb-21
Initialising the pipeline bruce@bruceblacklaws.com Feb-21
Setting Content-Type header, changing the company pitch, activating SemaphoreCI bruce@bruceblacklaws.com Feb-21
This server API works and can successfully process interview requests bruce@bruceblacklaws.com Feb-21
Adding database procedures getPreviousInvitations() and logInterviewRequest() bruce@bruceblacklaws.com Feb-21
Adding the auth headers to POST requests as well (writes across all apps would have failed and this is a big fuck up) bruce@bruceblacklaws.com Nov-21
Adding readFiles() and deleteFile() static methods, implementing the API authentication bruce@bruceblacklaws.com Nov-21
Updating API endpoint hostname bruce@bruceblacklaws.com May-21
apiClient build, static methods apiClient::readFile() and apiClient::writeFile() built, needs a lot of work but the basic logic does what it needs to bruce@bruceblacklaws.com Feb-21
Initial commit bruce@bruceblacklaws.com Feb-21
CS
Built authentication into this API (it contains dangerous functionality now) bruce@bruceblacklaws.com Nov-21
Adding support for another HTTP method (DELETE), wrote logic for fetching multiple objects in the same request to the upstream API (this needs a lot of work still), wrote logic to delete an object bruce@bruceblacklaws.com Nov-21
And it's still broken but it should be fixed now bruce@bruceblacklaws.com Oct-21
Updating the Google IAM service account (God alone knows how long this API has been broken but it broke bad) bruce@bruceblacklaws.com Oct-21
using application-stack:latest and new entrypoint bruce@bruceblacklaws.com Jul-21
Deleting old Google IAM service account bruce@bruceblacklaws.com May-21
Using latest container image tag, deploy.sh --> deploy-cloudrun.sh bruce@bruceblacklaws.com May-21
Changing Sentry projet name (DSN) bruce@bruceblacklaws.com Mar-21
adding the Google IAM service account (not sure what deleted it) bruce@bruceblacklaws.com Mar-21
Init the pipeline bruce@bruceblacklaws.com Mar-21
Initialising Semaphore on this project bruce@bruceblacklaws.com Mar-21
Using Sentry to display exceptions (debugging issues in Cloud Run is actually quite difficult) bruce@bruceblacklaws.com Mar-21
Ensuring Docker entrypoint is consistent across all my containerised apps bruce@bruceblacklaws.com Feb-21
setting Cache-Control header to 'no-store' (client API calls were receiving old/cached data) bruce@bruceblacklaws.com Feb-21
The basic app framework works (allows reading and writing objects for Google Cloud Storage) bruce@bruceblacklaws.com Dec-20
Adding logic for app containerisation bruce@bruceblacklaws.com Dec-20
Adding the Google IAM service account bruce@bruceblacklaws.com Dec-20
Initial commit bruce@bruceblacklaws.com Dec-20
SMS
Adding Sentry to this project and catching both formatted and unformatted exceptions in the front controller bruce@bruceblacklaws.com Oct-21
using application-stack:latest and new entrypoint bruce@bruceblacklaws.com Jul-21
Using cloudrun wildcard DNS zone, deploy.sh --> deploy-cloudrun.sh bruce@bruceblacklaws.com May-21
Ensuring Docker entrypoint is consistent across all my containerised apps bruce@bruceblacklaws.com Feb-21
Update README.md bruce@bruceblacklaws.com Sep-20
implementing appClassLoader bruce@bruceblacklaws.com Sep-20
Update index.php bruce@bruceblacklaws.com Sep-20
Initial base idea, still a lot to do bruce@bruceblacklaws.com Sep-20
adding a .gcloudignore and updating deploy.sh bruce@bruceblacklaws.com Aug-20
Initialize the app bruce@bruceblacklaws.com Aug-20
Merge pull request #1 from bruceblacklaws/set-up-semaphore Update Semaphore configuration bruce@bruceblacklaws.com Aug-20
Update Semaphore configuration bruce@bruceblacklaws.com Aug-20
Initial commit bruce@bruceblacklaws.com Aug-20
Adding a Dockerfile for the xdebug container image (useful to track) bruce@bruceblacklaws.com Aug-21
Adding notes, a build Dockerfile and entrypoint.sh bruce@bruceblacklaws.com Jul-21
Update Dockerfile-example bruce@bruceblacklaws.com Dec-20
Adding Dockerfile example and build.sh example bruce@bruceblacklaws.com Dec-20
Initial commit bruce@bruceblacklaws.com Dec-20
Adding deploy-cloudrun.sh (I'm not using self-hosted Knative anymore), adding Google IAM app deployer service account, updating CI deployment stage bruce@bruceblacklaws.com Jul-21
using application-stack:latest and new entrypoint bruce@bruceblacklaws.com Jul-21
using the patched container image tag bruce@bruceblacklaws.com Jul-21
using a different company tick, shortening the product titles in responsive design, preparing the info pages for more products bruce@bruceblacklaws.com Jul-21
Adding a placeholder for the customer logos, using a tick for the comany logo, generally improving the styling bruce@bruceblacklaws.com Jun-21
go production bruce@bruceblacklaws.com Apr-21
envoyproxy SSL was failing because the hostname is case-sensitive (it's a bug: https://github.com/envoyproxy/envoy/issues/6199) bruce@bruceblacklaws.com Apr-21
input autocomplete password --> current-password bruce@bruceblacklaws.com Apr-21
input type changed to password bruce@bruceblacklaws.com Apr-21
adding Google Analytics, adding loading for the control panel, adding styling when JS disabled bruce@bruceblacklaws.com Apr-21
scaling to zero, cleaning up deploy-knative.sh bruce@bruceblacklaws.com Apr-21
go production bruce@bruceblacklaws.com Apr-21
Updating API endpoint hostname bruce@bruceblacklaws.com Apr-21
WIP: godev bruce@bruceblacklaws.com Apr-21
WIP: dynamic form validation, updated images bruce@bruceblacklaws.com Apr-21
WIP: adding icons, JS form submission and validation, Knative deployments, etc bruce@bruceblacklaws.com Apr-21
WIP: Systems automation experts bruce@bruceblacklaws.com Mar-21
Configuring deployments into fe-01-lon.digitalocean.bruceblacklaws.com bruce@bruceblacklaws.com Nov-20
adding a lang attribute bruce@bruceblacklaws.com May-20
getting w3c compliant bruce@bruceblacklaws.com May-20
Update semaphore.yml bruce@bruceblacklaws.com May-20
Update package.json bruce@bruceblacklaws.com May-20
Update package.json bruce@bruceblacklaws.com May-20
Update package.json bruce@bruceblacklaws.com May-20
install uglify-js bruce@bruceblacklaws.com May-20
adding apps and aws services bruce@bruceblacklaws.com May-20
adding LinkedIn preview (Open Graph Protocol) bruce@bruceblacklaws.com Apr-20
removing app portfolio for now bruce@bruceblacklaws.com Mar-20
Update semaphore.yml bruce@bruceblacklaws.com Mar-20
Update semaphore.yml bruce@bruceblacklaws.com Mar-20
using application-stack:latest and the new entrypoint with php-fpm7.3 and ap-memcached bruce@bruceblacklaws.com Jul-21
Using cloudrun wildcard DNS zone bruce@bruceblacklaws.com May-21
Connecting to Cloud SQL via UNIX domain sockets (reduces the cost because no serverless VPC connector required) bruce@bruceblacklaws.com Apr-21
Configure CI/CD for Cloud Run bruce@bruceblacklaws.com Apr-21
Moving to Google Cloud Run (DigitalOcean is to expensive) bruce@bruceblacklaws.com Apr-21
scaling to zero bruce@bruceblacklaws.com Apr-21
updating annotations: preventing scaling to zero, autoscaling on connection concurrency bruce@bruceblacklaws.com Mar-21
Setting kn binary to executable bruce@bruceblacklaws.com Mar-21
Installing kn binary in the pipeline, Updating Knative service image URL to latest bruce@bruceblacklaws.com Mar-21
Adding Sentry to the project bruce@bruceblacklaws.com Mar-21
using a kube config that does not require doctl bruce@bruceblacklaws.com Mar-21
adding database connection string as global environment variable in docker container, getting SemaphoreCI deployments to work with Knative on DO bruce@bruceblacklaws.com Mar-21
changed the incorrect variable name and json key references bruce@bruceblacklaws.com May-20
Update mysql.php bruce@bruceblacklaws.com May-20
don't using caching for SQL multi-queries bruce@bruceblacklaws.com May-20
awe bruce@bruceblacklaws.com May-20
Update json.php bruce@bruceblacklaws.com May-20
Update json.php bruce@bruceblacklaws.com May-20
Update json.php bruce@bruceblacklaws.com May-20
Update memcached.php bruce@bruceblacklaws.com May-20
Update json.php bruce@bruceblacklaws.com May-20
Update json.php bruce@bruceblacklaws.com May-20
awe bruce@bruceblacklaws.com May-20
awe bruce@bruceblacklaws.com May-20
Update functions.php bruce@bruceblacklaws.com May-20
Update json.php bruce@bruceblacklaws.com May-20
Update json.php bruce@bruceblacklaws.com May-20
Update index.php bruce@bruceblacklaws.com May-20
Update memcached.php bruce@bruceblacklaws.com May-20
awe bruce@bruceblacklaws.com May-20
Making the header array keys all lowercase fixes the issues caused by the inconsitent naming of the WebSocket upgrade HTTP headers (each hosting environment is different) bruce@bruceblacklaws.com Jul-21
Only printing the logs if it's enabled bruce@bruceblacklaws.com May-21
Correction: I thought it was camel case bruce@bruceblacklaws.com May-21
Referencing both assoc array keys (depending on which one exists) bruce@bruceblacklaws.com May-21
And the assoc array keys have changed again (this time it's because of Google Cloud Run) bruce@bruceblacklaws.com May-21
The assoc array keys are case-sensitive (the keys are incorrect because of the bug in Envoyproxy) bruce@bruceblacklaws.com Apr-21
reverting back to v2.1.0 bruce@bruceblacklaws.com Apr-21
update composer.json bruce@bruceblacklaws.com Apr-21
update composer.json bruce@bruceblacklaws.com Apr-21
private fork of bloatless/php-websocket bruce@bruceblacklaws.com Apr-21
I need to learn a lot about frontend frameworks but this is really cool bruce@bruceblacklaws.com Jun-21
Initial commit bruce@bruceblacklaws.com May-21
Initial commit bruce@bruceblacklaws.com May-21
Removing rdb-01-lon.digitalocean.bruceblacklaws.com (the relational database server) because I'm using Google Cloud SQL now bruce@bruceblacklaws.com May-21
tracking Terraform state and backup bruce@bruceblacklaws.com Feb-21
adding db server type, adding manual installation type, adding rdb-01-lon bruce@bruceblacklaws.com Feb-21
Deprecating frontend and backend webservers (this server infrastructure is replaced by containerisation) bruce@bruceblacklaws.com Feb-21
Tracking the Terraform state bruce@bruceblacklaws.com Nov-20
Terraform is managing all the DNS zones for my apps bruce@bruceblacklaws.com Nov-20
Update functions.sh bruce@bruceblacklaws.com Nov-20
I'm working on the deployment shell script that automatically prepares the initial configuration and invokes Puppet bruce@bruceblacklaws.com Nov-20
I'm getting this project off the ground bruce@bruceblacklaws.com Nov-20
Initial commit bruce@bruceblacklaws.com Nov-20
Updating API endpoint hostname bruce@bruceblacklaws.com May-21
fixing the broken JSON in the POST request Body and throwing an exception if the response JSON is unparsable bruce@bruceblacklaws.com Feb-21
The SMS API client is a relatively small project bruce@bruceblacklaws.com Feb-21
Initial commit bruce@bruceblacklaws.com Feb-21
Initial commit bruce@bruceblacklaws.com Mar-21
I'm still working on this. bruce@bruceblacklaws.com Jul-18
Initial commit. bruce@bruceblacklaws.com Jul-18
Initial commit bruce@bruceblacklaws.com Jul-18
Update README.md bruce@bruceblacklaws.com May-18
Initial commit bruce@bruceblacklaws.com May-18
Initial commit bruce@bruceblacklaws.com May-18
enabling PAM because something broke bruce@bruceblacklaws.com Feb-21
sshd: disabling password authentication, disabling PAM bruce@bruceblacklaws.com Feb-21
fully qualifying ls bruce@bruceblacklaws.com Feb-21
only installing SemaphoreCI CLI app on web servers bruce@bruceblacklaws.com Feb-21
removing deployments from the rdbs bruce@bruceblacklaws.com Feb-21
there is an issue with service enable and systemd it seems, removing for now bruce@bruceblacklaws.com Feb-21
creating the db-api mysql user and grant bruce@bruceblacklaws.com Feb-21
installing sem on the rdb bruce@bruceblacklaws.com Feb-21
specifying mysql start, restart and status systemctl commands for the puppet service resource bruce@bruceblacklaws.com Feb-21
notifying mysql after the main configuration file has changed bruce@bruceblacklaws.com Feb-21
ensure not a symlink, only notifying mysql server after all the configuration is in place bruce@bruceblacklaws.com Feb-21
trying to get the execution ordering correct bruce@bruceblacklaws.com Feb-21
ensuring it will overwrite the symlink, adding file management warnings bruce@bruceblacklaws.com Feb-21
ensuring it will overwrite the symlink, adding file management warnings bruce@bruceblacklaws.com Feb-21
I can't debug this locally... debugging 01 bruce@bruceblacklaws.com Feb-21
moving the mysqld template into the template directory bruce@bruceblacklaws.com Feb-21
All this configuration is going to need to be rewritten (I wrote this sometime back) bruce@bruceblacklaws.com Feb-21
adding more useful comments bruce@bruceblacklaws.com Nov-20
removing more MySQL references bruce@bruceblacklaws.com Nov-20
using double quotes to allow the variable to be expanded correctly bruce@bruceblacklaws.com Nov-20
ordering the execution flow (aedeployment.sh needs to run after it's copied across) bruce@bruceblacklaws.com Nov-20
Update init.pp bruce@bruceblacklaws.com Nov-20
calling the resource outside of the interation bruce@bruceblacklaws.com Nov-20
changing the calling class bruce@bruceblacklaws.com Nov-20
moving from a function to a defined resource bruce@bruceblacklaws.com Nov-20
first attempt at automatically invoking the deployment pipeline bruce@bruceblacklaws.com Nov-20
Update README.md bruce@bruceblacklaws.com Nov-20
adding a comment regarding the apache static and shared modules bruce@bruceblacklaws.com Nov-20
removing config for db-apps-ln bruce@bruceblacklaws.com Nov-20
adding additional path to basemodulepath bruce@bruceblacklaws.com Nov-20
same issue here bruce@bruceblacklaws.com Dec-20
parameter is pass by reference bruce@bruceblacklaws.com Dec-20
Merge branch 'master' of https://github.com/bruceblacklaws/appClassLoader bruce@bruceblacklaws.com Oct-20
Update composer.json bruce@bruceblacklaws.com Oct-20
Update README.md bruce@bruceblacklaws.com Oct-20
Removing the leading directory separator bruce@bruceblacklaws.com Sep-20
Update appClassLoader.php bruce@bruceblacklaws.com Sep-20
Update appClassLoader.php bruce@bruceblacklaws.com Sep-20
Update appClassLoader.php bruce@bruceblacklaws.com Sep-20
Update appClassLoader.php bruce@bruceblacklaws.com Sep-20
Initialize project bruce@bruceblacklaws.com Sep-20
Initial commit bruce@bruceblacklaws.com Sep-20
Initial commit bruce@bruceblacklaws.com Nov-20