Technical

November 2010
Wordpress

My website (or a version of it) has existed since 2010. Made and remade at least ten times over in different guises, but standardised since 2014. It brings together all my projects, interests and hobbies in one place on the world wide web. It has taught me a lot about web development and is my most enduring project.

  • Progress85%

Changelog
Version 7.0 (15 January, 2018) - Rebuilt website from the ground up with a focus on architecture and sustainability. Version 6.1.1 (17 September, 2017) - Fixed minor mobile menu issue. Version 6.1 (09 July, 2017) - Create a consistent modal experience, from contact forms to image and PDF overlays. - Added rich snippets to pages. - Activated GZIP compression. Version 6.0 (26 June, 2017) - Complete site overhaul. - Changed theme to Pro. Images below of design concepts I played with. The final result is different, but familiar. Version 5.2 (02 October, 2016) - Fixed contact form error. - Added social links to footer. Version 5.1 (02 April, 2016) - Enabled hotlink protection. Version 5.0 (29 February, 2016) - Moved hosts. Lost some backups. - Complete overhaul of the entire site. Version 3.3.1 (13 October, 2015) - Swapped GitHub icon for BitBucket. Version 3.3 (05 September, 2015) - Revised home page. - Speed improvements (home/1.1s, projects/4.4s, blog/5.6s, services/2.4s, resume/2.2s). Version 3.2.3 (16 August, 2015) - Edited button styling. Version 3.2.2 (15 August, 2015) - Added GitHub to social links. - Changed footer social icons. - Enabled HTTP Strict Transport Security. Version 3.2.1 (11 August, 2015) - Added Wikipedia profile to social links. - Updated to Font Awesome 4.4. Version 3.2 (10 August, 2015) - General housecleaning and updating. - Structural overhaul of Resume page. Version 3.1.3 (11 July, 2015) - Fixed certificate chain issue. Version 3.1.2 (23 June, 2015) - Fixed slider form bug. Version 3.1.1 (07 June, 2015) - Updated styling on PDF embedder. - Updated styling on upPrev. Version 3.1 (06 June, 2015) - Overhauled services pages. - Updated all forms. - Fixed analytics bugs. - Added Open Web Analytics tracking code. - Changed cache plugin. Version 3.0 (30 May, 2015) - Major update to theme. - Revised resume page. Version 2.2.2 (26 April, 2015) - Replaced PDF embedder. - Updated forms. - Fixed broken links. - Switched cache engine. - Enabled default responsive images. - Speed improvements (home/2.1s, projects/5.6s, blog/7.3s, services/5.8s) Version 2.2.1 (22 March, 2015) - Added Web service page. - Updated the Resumé page. Version 2.2 (30 January, 2015) - Finally, finally updated certificate to SHA-2. - Updated 404 page. - Updated No Result search page. - Updated services page. - Updated home background. Version 2.1.3 (24 January, 2015) - Updated popup forms. - Added PGP key download. Version 2.1.2 (05 January, 2015) - Styling on the comments form. - Added additional social media links. Version 2.1.1 (30 December, 2014) - Fixed date format issue. - Updated blog reviews. - Enabled upPrev. Version 2.1 (29 December, 2014) - Overhauled home page. - Redefined site design (font, colour, etc). - Added copy protection. Version 2.0.1 (08 November, 2014) - Fixed forms bug. - Fixed portfolio archives issue. Version 2.0 (05 November, 2014) - Major overhaul of all the main pages. - Serious media optimisation. - Enabled BJ Lazy Load. - Enabled WP Fastest Cache. - Enabled PDF Lite Viewer. - Added page update services to Wordpress. - Bugs: Portfolio archives. Some forms still not functional. Version 1.4.1 (22 August, 2014) - Disabled Amazon CloudFront CDN (SSL issues). - Enabled Lazy Load. Version 1.4 (20 August, 2014) - Troubleshooting popup forms. - Enabled Amazon CloudFront CDN. - Page speed optimisation. Version 1.3 (16 August, 2014) - Overhauled services page. Version 1.2 (12 August, 2014) - Replaced SSL certificate. - General site troubleshooting. Version 1.1 (27 July, 2014) - Updated forms. - Updated analytics. - Size-optimised images. - Disabled Minify. - Added service and legal pages. - Registered with Bing Webmaster Tools. Version 1.0 (22 July, 2014)
May 2018
On24, audio gear (microphones, sound absorbers, etc)

My role at Allan Gray has grown to include hosting and producing webinars. The production involves hardware setup, helping the presenters with content and generally ensuring the sessions run smoothly. You can watch on-demand recordings of the webinars I have been involved in below. Still a lot to iterate and improve on with the process.

  • Progress40%

Webinars
Offshore Investing
04 July, 2018

A presentation on offshore investing for financial advisers. The first time we used the HTML5 system.

Behavioural Coaching Programme
09 May, 2018

A webinar I produced about a programme to help advisers to improve their offering for clients.

Making sense of fees in an umbrella fund
23 April, 2018

An informational webinar I produced alongside Adiel Slarmie to teach adviser about the complexities surrounding fees in umbrella funds (a type of retirement investment).

How you can do better than the average investor
22 March, 2018

Hosted a webcast for novice investors with Thandi Ngwane, who is head of strategic markets at Allan Gray.
September 2016
Homebrew, Brew CU, Command Line, iTerm

A nifty little script to update applications, node packages, ruby gems, App Store applications and apply macOS software updates. I use it as an expect script, because it needs to log into accounts with higher privileges in order to work - but it can work as a normal shell script if you use an administrator account as your default (not recommended). The script has issues handling password prompts for brew cask updates - especially when there is more than one update. Still thinking about a solution to this and a way to get a password popup instead of hard-coding that sensitive information. The app nows runs only on the non-admin account without any need for hardcoding sensitive passwords. Had to move the brew install to the user folder and everything is working well. Can still do with some refactoring to make it tighter.

  • Progress80%

Changelog
Version 6.0 (30 June, 2018) - Completely revised to work in non-admin account. - Error log that logs all warnings and errors. - Added perl and ruby updates. Version 2.1 (13 January, 2018) - Added 'brew cleanup'. Version 2.0 (21 October, 2017) - Converted into an expect script to be responsive. - Added Mac App Store commands and macOS update commands. Version 1.0 (15 September, 2017)
Code
June 2018
Command Line, iTerm

A server-based script to update the PHP applications I run. Updates the content manager's themes, plugins, analytics app and the cloud instance.

  • Progress100%

Changelog
Version 3.0 (15 July, 2018) - Revised to work from server. - Error log that logs all warnings and errors.
Code
Will put it up when I am happy it is safe to do so.
January 2017
HTML, CSS, Javascript

Code Book is a personal code learning project to help me learn front-end web development by doing, teaching and practising. A web project about front-end development. Pages about the technologies are written with those technologies. Progress is a bit stop-start-stop-start.

  • Progress30%

Code
December 2017
Automate (Android), Excel, ADB, Controlplane

I have been trying to build a quantified self system for a couple of years. Each attempt failed when I ran into the limits of my knowledge. So, I am trying again - with a little more knowledge - in the hopes that I finally get this right. Phase 1 is going to use technologies that I have a grasp on and later I hope to bring my front end skills in to upgrade the project. The project has three components: collection, transfer and analysis. The collection part (the tentacles) works on my smartphone collecting information and the review for the day. Transfer happens daily through a mobile sync script. Analysis (the octopus brain) happens in a spreadsheet that draws data in automatically and displays it in a dashboard.

  • Progress50%

Automate Script
qself-script-965x1930
Changelog
Version 0.2 (02 March, 2018) - Finally solved location engine bug (after 3 months). - Updated Mobile Review App to handle resetting review time after current time (i.e. don't run the review more than once in a day). Version 0.1 (25 February, 2018) - Tentacles complete. - Analytics work beginning. Version 0.01pa (05 January, 2018) - Pre-alpha testing on components. - Setting up spreadsheet. - Setting up Automate app.
January 2015
Wordpress

Conceived in 2013 and finally delivered in 2015. The theme was a bit of a letdown, but Woocommerce more than made up for it. A great learning experience about creating an online shop. Right now it's just one ebook, but hopefully it will be expanding into a library very soon (anyday now!).

  • Progress100%

Changelog
Version 1.5.0 (31 December, 2017) - Added a custom website modification plugin. - Added custom autoupdate plugin Version 1.4.0 (30 May, 2016) - Migrated site to new host successfully. - Added content copy protection. Version 1.3.1 (10 June, 2015) - Fixed a few small bugs and irritations. Version 1.3 (06 June, 2015) - Changed security package. - Changed book cover on homepage. Version 1.2.2 (14 March, 2015) - Updated to SHA-2 certificate. Version 1.2.1 (14 January, 2015) - Enabled PDF invoices. Version 1.2 (13 January, 2015) - Enabled Payfast payment gateway. - Enabled dual currency support (ZAR / USD) and geolocation. Version 1.1 (11 January, 2015) - Beta Testing. - Added extended attributes to product. - Enabled eCommerce tracking. - Styled button colours. Version 1.0 (10 January, 2015)
Credits
Content Sizakele Gumede
December 2016
Time Machine, Carbon Copy Cloner, NextCloud (previously OwnCloud), ABD

I am paranoid about maintaining backups. A nasty incident a couple of years back taught me the value of having them. Digital possessions are as irreplaceable as the tactile versions. My schema has the most important information backed up using different systems, different hardware and different locations for durability. It was a pain to setup, but now it runs smoothly and independently. [0A = critical data, 0B = important data, 0C = everything else]

  • Progress100%

Changelog
Version 1.0 (31 December, 2017) - Activated all nodes. - Added media module.
January 2018
CSS, PHP

A little custom Wordpress plugin I cobbled together to style the login page and the admin area. The problem with using hooks and functions in functions.php is that any theme update or changes wipes away all of your customisation. So, I created a little plugin to keep those changes seperate. The values (like the location of the background image and the login logo) are hard-coded, so you will have to dig in to make it useful to you. Some know-how about PHP and CSS is required.

  • Progress70%

Changelog
Version 1.3 (20 January, 2018) - Remove admin toolbar. - Redordered and removed menu items. Version 1.0.1 (15 January, 2018) - Added styling to secondary input box. Version 1.0 (14 January, 2018)
error: