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
Repository count: 21 (14)
Total commits: 351
Repository Commit Author Date
Adding comments to entrypoint.sh and adding a little more to README.md bruce@bruceblacklaws.com May-23
Ensuring PHP CLI extensions are all consistent, removing unused FPM configuration and SSL certificates, adding more PHP extentions and removing deprecated > PHP 8.0 extensions bruce@bruceblacklaws.com May-23
Sending the PHP-FPM access logs to /dev/null (Apache2 already handles these), only writing PHP-FPM error logs to /docker.stdout (useful for debugging), formatting the Apache2 access logs so that its easier to read bruce@bruceblacklaws.com May-23
Updating the README (it's still brief) bruce@bruceblacklaws.com May-23
Removing the mod_ssl configuration and SSL vhost from Apache2 (SSL is not terminated at this layer/within the container) bruce@bruceblacklaws.com May-23
Adding PHP 8.2, getting all the PHP extensions consistent across all the PHP versions, creating symlinks for Docker stdout and stderr bruce@bruceblacklaws.com May-23
Adding the cURL extension to PHP 8.0, installing composer and making it global, completely removing the LDAP and IMAP PHP extensions bruce@bruceblacklaws.com Apr-23
Removing the pre-v1 configuration bruce@bruceblacklaws.com Apr-23
Adding the v2 configuration (allows for consistently building the container image, v1 used commits which is not a good idea) bruce@bruceblacklaws.com Apr-23
adding all the old work to the v1 folder bruce@bruceblacklaws.com Apr-23
Removing the unnecessary configuration files bruce@bruceblacklaws.com Jan-23
Completed removed php7.2 (only supporting php7.3, php8.0 and php8.2), getting a copy of /opt, /etc/apt, /etc/php and /etc/apache2 for save keeping, Dockerfile and performUpgrade.sh need a lot of work bruce@bruceblacklaws.com Jan-23
Building from the php-8.2 container image, disabling memcached extension (entrypoint.sh can enable this when the app stack is 'ap-memcached') bruce@bruceblacklaws.com Jan-23
OS image upgrading, adding support for PHP 8.2 bruce@bruceblacklaws.com Jan-23
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 both TCP and UDP as socket types, using a non-blocking client socket, automatically closing the socket bruce@bruceblacklaws.com Sep-22
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
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
Aiming the WebSocket client to the production WebSocket server endpoint, created a stillInBeta() method that returns a promise, awaiting for stillInBeta() bruce@bruceblacklaws.com Oct-22
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
Built a new static method that will escape special characters that are found in stored procedure parameters, built a new static method for performing the escaping from the outside, updating the interface bruce@bruceblacklaws.com Jan-23
Providing a default value (empty array) for the procedure parameters bruce@bruceblacklaws.com Nov-22
Adding a public static method to call stored procedures (nicer than using string concatenation in the outside caller) bruce@bruceblacklaws.com Nov-22
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
Setting the multi-byte character encoding to UTF-8 explicitly (database character set is already being set to UTF-8) bruce@bruceblacklaws.com Jan-23
Turning persistent connections back on bruce@bruceblacklaws.com Nov-22
Not using persistent connections (trying to find out why my stored procedure is not getting commited) bruce@bruceblacklaws.com Nov-22
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
Built a validBETA interface and implemented it on the aiAssistant type (this is going to need to be rewritten at some stage), playing around with the Google Places API (returning useful information on the locations/shops) bruce@bruceblacklaws.com Oct-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
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
Keeping LinkedIn and my CV in-sync, updating the offline language translations bruce@bruceblacklaws.com May-23
Using v2 of my Docker application stack, upgrading PHP-FPM to 8.2 (yet to update code and composer to 8.2, currently its still 7.3), adding my latest job to the JSON representation of my CV bruce@bruceblacklaws.com May-23
Adding a backup of all my blog posts, fixing the display issue on Tablet (the element has less content so I need to set it as a block-level element), updating the language translations (slightly edited my latest blog) bruce@bruceblacklaws.com Mar-23
Adding my latest blog post (My frontend UI framework) bruce@bruceblacklaws.com Mar-23
Adding my latest job to my CV, updating the content a little bit, updating the language translations bruce@bruceblacklaws.com Mar-23
Removing the schedule with Calendly bruce@bruceblacklaws.com Mar-23
Using the language processor to translate the 'Last Commit' message, updating the JSON representation of my CV with some extra information bruce@bruceblacklaws.com Mar-23
Caching the language translations bruce@bruceblacklaws.com Mar-23
Updated my CV, removed old content, putting a big emphasis on my full-stack developer career bruce@bruceblacklaws.com Mar-23
Getting a backup of all my new blog posts (1661040000-protected.json, 1661040000.json, 1664928000.json, 1670198400.json, 1672876800.json, 1673308800.json) bruce@bruceblacklaws.com Jan-23
Adding my latest blog post: In defense of PHP bruce@bruceblacklaws.com Jan-23
Updating the languages translations of my last blog post bruce@bruceblacklaws.com Jan-23
Correctly sizing the images when the images are under a heading bruce@bruceblacklaws.com Jan-23
Adding a new blog post (Terraform: using modules for limiting the blast radius) bruce@bruceblacklaws.com Jan-23
Adding two OGP blog images, updating the offline translations bruce@bruceblacklaws.com Dec-22
Adding my language translations for my latest blog as well as the OGP image (I built a chatbot) bruce@bruceblacklaws.com Oct-22
Updating the cached language translations bruce@bruceblacklaws.com Aug-22
Adding the OGP cached screenshot for my latest blog post (Tips for a good career), adding ESLint to this project, ignoring the node_modules directory from both git and the Docker container bruce@bruceblacklaws.com Aug-22
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
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
Throwing API error responses as exceptions bruce@bruceblacklaws.com Jan-23
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
Invoking the pipeline bruce@bruceblacklaws.com Feb-23
Setting 404 as a valid API response code (the Google objects throw an exception when the GCS bucket does not exist) bruce@bruceblacklaws.com Feb-23
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 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