Skip to content

Commit

Permalink
deploy: be961ff
Browse files Browse the repository at this point in the history
  • Loading branch information
yusufk committed Dec 31, 2024
0 parents commit 68e06c7
Show file tree
Hide file tree
Showing 44 changed files with 9,090 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
yusuf.kaka.co.za
6 changes: 6 additions & 0 deletions Readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Thanks for downloading this template!

Template Name: Personal
Template URL: https://bootstrapmade.com/personal-free-resume-bootstrap-template/
Author: BootstrapMade.com
License: https://bootstrapmade.com/license/
Binary file added apple-touch-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 34 additions & 0 deletions asset-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"files": {
"main.css": "/static/css/main.83715a4f.css",
"main.js": "/static/js/main.1f82ddc9.js",
"static/js/453.abddcfa0.chunk.js": "/static/js/453.abddcfa0.chunk.js",
"static/media/Yusuf-Lightbulb.gif": "/static/media/Yusuf-Lightbulb.5c036286796452e82c74.gif",
"static/media/cappuccino_yusuf.png": "/static/media/cappuccino_yusuf.ea1bd467b9a01a7839b2.png",
"static/media/boxicons.svg": "/static/media/boxicons.9e2b21b135bc7d4c803f.svg",
"static/media/remixicon.svg?t=1590207869815": "/static/media/remixicon.9cedd2150922ead84869.svg",
"static/media/boxicons.eot": "/static/media/boxicons.65a8ce52fc5427e8f94d.eot",
"static/media/remixicon.eot?t=1590207869815": "/static/media/remixicon.5cb99e6cba5a4619063f.eot",
"static/media/remixicon.ttf?t=1590207869815": "/static/media/remixicon.f2616f597cf98f38d234.ttf",
"static/media/boxicons.woff": "/static/media/boxicons.d12afc36557395143e4b.woff",
"static/media/boxicons.ttf": "/static/media/boxicons.db9ddb1898dbd76badca.ttf",
"static/media/bootstrap-icons.woff?": "/static/media/bootstrap-icons.39795c0b4513de014cf8.woff",
"static/media/remixicon.woff?t=1590207869815": "/static/media/remixicon.8d09fa11700ed63cf96e.woff",
"static/media/bootstrap-icons.woff2?": "/static/media/bootstrap-icons.b7bcc075b395c14ce8c2.woff2",
"static/media/remixicon.woff2?t=1590207869815": "/static/media/remixicon.90668f6f9b3c2c18a090.woff2",
"static/media/boxicons.woff2": "/static/media/boxicons.df635aaf04cd75132f62.woff2",
"static/media/testimonials-2.jpg": "/static/media/testimonials-2.d80657ce506b2d85e68a.jpg",
"static/media/testimonials-5.jpg": "/static/media/testimonials-5.eafde485a03e4d2bc795.jpg",
"static/media/testimonials-3.jpg": "/static/media/testimonials-3.89de2442560d1ac2ba38.jpg",
"static/media/testimonials-1.jpg": "/static/media/testimonials-1.ee9bf300afd176160f6e.jpg",
"static/media/testimonials-4.jpg": "/static/media/testimonials-4.cb424233cbb43f6348b6.jpg",
"index.html": "/index.html",
"main.83715a4f.css.map": "/static/css/main.83715a4f.css.map",
"main.1f82ddc9.js.map": "/static/js/main.1f82ddc9.js.map",
"453.abddcfa0.chunk.js.map": "/static/js/453.abddcfa0.chunk.js.map"
},
"entrypoints": [
"static/css/main.83715a4f.css",
"static/js/main.1f82ddc9.js"
]
}
78 changes: 78 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
Version: 4.7.0
- Updated Bootstrap to version 5.1.3
- Updated all outdated third party vendor libraries to their latest versions

Version: 4.6.0
- Updated Bootstrap to version 5.1.2
- Updated all outdated third party vendor libraries to their latest versions

Version: 4.5.0
- Fixed slider issue in testimonials and portfolio details sections

Version: 4.4.0
- Updated Bootstrap to version 5.1.1
- Updated all outdated third party vendor libraries to their latest versions
- Improved and updated dev version gulp scripts

Version: 4.3.0
- Updated Bootstrap to version 5.0.1
- Updated all outdated third party vendor libraries to their latest versions
- Fixed navigation links focus color

Version: 4.2.0
- Updated Bootstrap to version 5.0.0 Final
- Updated all outdated third party vendor libraries to their latest versions

Version: 4.1.0
- Updated Bootstrap to version 5.0.0-beta3
- Updated all outdated third party vendor libraries to their latest versions
- Updated the PHP Email Form to V3.1

Version: 4.0.1
- Updated Bootstrap to version 5.0.0-beta2
- Updated all outdated third party vendor libraries to their latest versions

Version: 4.0.0
- The template does not require jQuery anymore
- Removed jQuery and all the jQuery plugins
- The assets/js/main.js was rewritten completely with vanilla Javascript. No more jQuery code
- Restructured the dev version for better development experience
- Updated the PHP Email Form to V3.0 - No jQuery dependency. Added attachment support

Version: 3.0.0
- Initial release with Bootstrap v5.0 Beta 1

Version: 2.5.0
- Updated the PHP Email Form to v2.3
- Other small fixes and improvements

Version: 2.4.0
- Updated the PHP Email Form library to version 2.0 with reCaptcha support
- Updated Bootstrap to version 4.5.3
- Updated all outdated third party vendor libraries to their latest versions
- Updated the PHP Email Form to v2.1
- Other small fixes and improvements

Version: 2.3.0
- Updated the PHP Email Form library to version 2.0 with reCaptcha support
- Updated all outdated third party vendor libraries to their latest versions
- Other small fixes and improvements

Version: 2.2.0
- Added: Portfolio details page with lightbox support
- Updated Bootstrap to version 4.5
- Updated jQuery and Remixicon libraries to their latest versions

Version: 2.1.0
- Added: activate/show sections on load with hash links

Version: 2.0.1
- Added the missing social profile icons in the contact page

Version: 2.0.0
- The template was rebuilt from scratch with the latest Bootstrap version (4.4.1)
- Added SMPTP support for the contact form script (Pro)
- Added NodeJS NPM Development version (Pro unlimited & Membership members)

Version: 1.0.0
- Initial Release
18 changes: 18 additions & 0 deletions data/articles/azure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!--
title: Moving home
date: 2022-08-09
-->

This content now lives on Microsoft Azure!

After joining Microsoft earlier this year, it made sense to use this site as a learning opportunity by migrating the CMS, previously hosted for Free on Heroku, to Azure.

I chose to use a Strapi as my headless CMS, the source of which can be found here. The actual deployment was done using this guide, as a PaaS deployment using Azure App Service. I chose to use Free-tier options wherever I could and went for Azure DB for Postgres DBaaS because the basic config was significantly cheaper than the MySQL option suggested on the site.

The Strapi "provider for Azure uploads" add-on made it possible to use Azure storage blobs for media.

Finally, I used an add-on from the marketplace to enable exports and imports to make the data migration a little easier.

The site is still running for free, however, I am consuming free credits at about R100 a month, mostly from the use of services and tools I'm experimenting with like Azure Front Door. The only component that is critical and paid for is the Postgres DB, for which there isn't a free tier (that I've been able to find yet).

The react front-end is still hosted on Github Pages, for free.
15 changes: 15 additions & 0 deletions data/articles/if.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!--
title: If
date: 2023-09-24
-->
> If you can code and not make bugs your kin, If you can Git commit and push with ease, If you can work in Agile's fast-paced spin, And never miss a daily standup, please;
>
> If you can write tests, both unit and integration, And not let code coverage make you drown, If you can refactor with no hesitation, And in pair programming, never wear a frown;
>
> If you can handle merge conflicts without strife, And navigate through nested JSON with glee, If you can find a balance in work-life, And still deploy code flawlessly;
>
> If you can code in languages, more than a few, And understand that semicolons matter not, If you can debug with coffee as your brew, And JavaScript promises never forgot;
>
> If you can scale your app to millions of users, And keep your databases running smooth, If you can handle DevOps tasks, no excuses, And build a CI/CD pipeline in your groove;
>
>If you can learn new frameworks in a day, And contribute to open source just for fun, If you can master Python, JavaScript, and Rust, Yours is the world and everything that’s in it, And—which is more—you’ll be a Developer, my son!
7 changes: 7 additions & 0 deletions data/articles/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[
"azure.md",
"if.md",
"microsoft.md",
"nft.md",
"websites.md"
]
34 changes: 34 additions & 0 deletions data/articles/microsoft.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<!--
title: A year at Microsoft
date: 2023-08-21
--->

It's been over a year since I've paid any attention to this site, but for good reason. The last 13 month's have been crazy. After 16 years at MTN, I joined Microsoft's Africa Transformation Office, as a Tech-Lead for the start-ups and SME (small business) pillars.

## Swart vensterkies
Those that know me, were probably a little confused about my decision to join Microsoft, because I may have conveyed a conflicting view about the company throughout my career at MTN. I joined MTN after almost 10 years at the Meraka Institute at the CSIR. The institute was spear-heading Governments efforts to fast-track the adoption of open-source software in the public sector and I was fortunate to be a part of a team that lived open-source. We had contributors to the FreeBSD Kernel, projects like Digital Doorway running on Ubuntu, and Wireless Mesh networks built on a those and others.

At MTN, colleagues directed people looking for me saying, "hy's die een met die swart vensterkies" (he's the one with the black terminal windows). I managed to survive 16 years at MTN without using the official Windows image, accept on a VM for the occasional access to tooling that could not be accessed otherwise.

## YK-DOS
I was not trying to be anti-establishment but I had lost my admiration for Microsoft when I found open-source. The public views about open-source by Microsoft leadership at the time also made it easy to pick a side.

It wasn't always like that though. My 1st experience with a PC was also my 1st experience with Microsoft, on my dad's business 286, running MS-DOS 3.2. I search for and ran every .com, .exe, .bat file I could find, learnt to use the debugger, created awesome autoexec.bat sequences, and even edited command.com so that it displayed YK-DOS.

Windows 3.X was nothing short of miraculous, and I spent a fortune on a Genius Mouse to use it. I felt comfort knowing that MS-DOS was still within reach and did not enjoy Windows 98 because the PC booted straight into it and it felt too abstracted. Windows ME was strangely my best Windows experience (until Windows 11) and after that I switched to dual booting with Ubuntu Linux as primary while at Meraka.

Like many, Satya leadership, values and views on open-source opened my mind to giving Microsoft a chance. Everyone saw the change in narrative with his leadership, but I was curious as to how far he'd be able to go to change the company from within. That curiosity was a large part of why I decided to join Microsoft.

## No blue screens (yet)
My work at Microsoft kicked off on day 1 and accelerated from that point on and the year was over before I had time to take stock of all that happened. It was like riding a rollercoaster while drinking from a firehose! My questions about how far open-source had permeated the organisation were answered within the 1st month, as I found groups, projects, documentation and products relating to open-source initiatives. The sheer volume of things going on with just that label is overwhelming. WSL 2 was being tested and launched at the time, and I got to witness some of the internal conversations around Mariner / Azure Linux as it became accessible externally. I was worried about my experience on Windows, but WSL made it feel like I was back in control of things, pre-Windows 98, and I have to this day not had a blue-screen or bad app performance on my ThinkPad X1.

## Start-ups
There cannot be a faster learning path into Azure than working with start-ups. I engaged at least one new start-up every week, sometimes multiple. Many were one-off's and I got to build long-term relationships with others. There were very few common technical areas of interest and I found myself speed-learning everything from genomics to HCI depending on where the start-ups were going. Looking back, I could not have asked for a better opportunity to learn, although at the time, it often felt like I was on the back of a bronco bull, holding on for dear life.

## AI
And then there was AI. It's not often that one joins a company just ahead of a technology revolution and I was fortunate to be an insider at just the right time to witness AI take off. While most of the hype was centred around large enterprises that were just about coming to terms with Digital Transformation, many start-ups were also curious about whether they needed to pivot to take advantage of the wave to come. Many were well ahead of the curve and already extracting business value from AI.

My personal journey in AI took a leap forward as well. Having used AIML to create a chatbot for the noknok IM service in 2007, I've had a fascination with the potential for code to behave human-like. Nokita, like ChatGPT drew users' attention and fascination and accounted for more than 75% of active users traffic on noknok at one stage. What amazed me about LLM's was that one can achieve better results with 1 one-line prompt that I did with 6 months of training AIML.

Apologies, I've been busy
So this site has been neglected and I apologise (to myself?), but hopefully there's enough evidence out there on my GitHub activity and LinkedIn to account for my time. Right now, I'm focussing on Azure App Dev certification, so I may take the opportunity to practice using this site. This article was inspired by me checking in on the App Service settings as I read through the learning path. Hopefully, more updates to come!
12 changes: 12 additions & 0 deletions data/articles/nft.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!--
title: Experimenting with NFT's
date: 2022-04-21
--->

NFT's sparked excitement around a new way to monetise digital assets. I've been following the space for a while and decided to experiment with creating my own NFT's. Here's an experiment built using Blender:


<video width="320" height="240" controls>
<source src="https://openseauserdata.com/files/b68884405faf6fe7cd7b95551fd0a05a.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
12 changes: 12 additions & 0 deletions data/articles/websites.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!--
title: My websites
date: 2022-08-26
-->

This website is sparse in terms of written content. The reason for this, is that I've been focussing more on using it as a learning platform than an outlet for my thoughts. When I switched to this latest version of my site, I decided to drop many years of content that I had accumulated, starting with my blogger site, then many years of Wordpress content.

* 1997 - 2000: [www.angelfire.com/me/Yusufk](https://www.angelfire.com/me/Yusufk) - of which there is no trace on Archive.org
* 2004 - 2014: [Captains Blog Supplemental](https://web.archive.org/web/20140604065356/http://ysfk.blogspot.com/) - Archive.org has a few snapshots of this site from 2014, and it has posts from 2004, many of which were synched with my Google+ activity.
- 1st post: JANUARY 16, 2004 BY YUSUF POSTED IN UNCATEGORIZED TAGGED RAMBLINGS
> Life = 1/(entropy)
* 2014 - 2022: [https://yusufk.co.za](https://web.archive.org/web/20140717143605/http://yusufk.co.za/) - Migrated to using Wordpress.
Loading

0 comments on commit 68e06c7

Please sign in to comment.