From 102ada4791f21711cdf07fc8d29931f7320c0388 Mon Sep 17 00:00:00 2001 From: Dehan Jaco Lamprecht Date: Mon, 25 Mar 2024 18:33:46 +0200 Subject: [PATCH 1/3] Zola V0.1.0 With About me --- .gitignore | 6 +++++- README.md | 1 - config.toml | 17 +++++++++++++++ content/about.md | 37 ++++++++++++++++++++++++++++++++ content/blog/_index.md | 6 ++++++ content/blog/first.md | 7 ++++++ content/contact.md | 5 +++++ content/resume.md | 5 +++++ sass/code.scss | 24 +++++++++++++++++++++ sass/style.scss | 40 +++++++++++++++++++++++++++++++++++ templates/base.html | 33 +++++++++++++++++++++++++++++ templates/blog/blog-page.html | 9 ++++++++ templates/blog/blog.html | 17 +++++++++++++++ templates/index.html | 10 +++++++++ templates/page.html | 9 ++++++++ templates/section.html | 16 ++++++++++++++ 16 files changed, 240 insertions(+), 2 deletions(-) delete mode 100644 README.md create mode 100644 config.toml create mode 100644 content/about.md create mode 100644 content/blog/_index.md create mode 100644 content/blog/first.md create mode 100644 content/contact.md create mode 100644 content/resume.md create mode 100644 sass/code.scss create mode 100644 sass/style.scss create mode 100644 templates/base.html create mode 100644 templates/blog/blog-page.html create mode 100644 templates/blog/blog.html create mode 100644 templates/index.html create mode 100644 templates/page.html create mode 100644 templates/section.html diff --git a/.gitignore b/.gitignore index 4a48538..b796639 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ -.DS_store \ No newline at end of file +# Ignore Zola's public directory +/public + +# Ignore system files +.DS_Store \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index fed7789..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -๐Ÿ‘€ You see nothing \ No newline at end of file diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..47be8d2 --- /dev/null +++ b/config.toml @@ -0,0 +1,17 @@ +# The URL the site will be built for +base_url = "https://dehan-jl.io/" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = true + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = true +highlight_theme = "nord" + +[extra] +# Put all your custom variables here diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..19e564c --- /dev/null +++ b/content/about.md @@ -0,0 +1,37 @@ ++++ +title = "About Me" ++++ + +## Greetings ๐Ÿ‘‹, I'm Dehan + +## Quick Facts +- ๐Ÿ‡ฟ๐Ÿ‡ฆ Currently based in sunny Pretoria, South Africa +- ๐ŸŽ“ BEng Computer Engineering graduate from the University of Pretoria (TUKS) +- ๐Ÿ’ผ Currently working as a Software Engineer ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป at the BMW ZA IT Hub ๐Ÿค– +- ๐ŸŒฑ Currently learning about Cybersecurity and Autonomous Driving +- โŒจ๏ธ My (currently) favourite languages are Rust ๐Ÿฆ€ and Python ๐Ÿ + +## Blurb +Driven by a lifelong passion for making computers go fast and solving complex problems, I am an enthusiastic engineer with a talent for diving deep into details. My love for learning keeps me adaptable to ever-evolving challenges. I thrive in team environments where I can apply my leadership qualities while cultivating new ideas. For me, engineering isn't just a profession - it's a dynamic journey of innovation and discovery. + +## Interests +### Hobbies +- ๐Ÿ‹๐Ÿป Gym & Fitness +- ๐Ÿ‰ ๐ŸŽฒ Boardgames & Tabletop Roleplaying Games +- ๐ŸŽธ Music +- ๐ŸŽ๏ธ Motorsport +- ๐Ÿ“– Reading +- ๐ŸŽฎ Video games + +### Fields +- ๐Ÿ”’ Cybersecurity & Cryptography +- ๐Ÿง  Artificial Intelligence +- ๐Ÿ•น Simulation Technology +- ๐Ÿ–ฅ๏ธ Microelectronics & Integrated Circuits +- โš›๏ธ Quantum Computing +- ๐Ÿš— Autonomous Driving + +### Industries +- ๐Ÿš— Automotive +- โœˆ๏ธ Aerospace +- โšก๏ธ Semiconductor \ No newline at end of file diff --git a/content/blog/_index.md b/content/blog/_index.md new file mode 100644 index 0000000..1d063d0 --- /dev/null +++ b/content/blog/_index.md @@ -0,0 +1,6 @@ ++++ +title = "Blog" +sort_by = "date" +template = "blog/blog.html" +page_template = "blog/blog-page.html" ++++ \ No newline at end of file diff --git a/content/blog/first.md b/content/blog/first.md new file mode 100644 index 0000000..9a4a6cb --- /dev/null +++ b/content/blog/first.md @@ -0,0 +1,7 @@ ++++ +title = "My first post" +date = 2024-04-01 +draft = true ++++ + +This is my first blog post. \ No newline at end of file diff --git a/content/contact.md b/content/contact.md new file mode 100644 index 0000000..ed99f87 --- /dev/null +++ b/content/contact.md @@ -0,0 +1,5 @@ ++++ +title = "Contact" ++++ + +This is where you can contact me. \ No newline at end of file diff --git a/content/resume.md b/content/resume.md new file mode 100644 index 0000000..2c3853c --- /dev/null +++ b/content/resume.md @@ -0,0 +1,5 @@ ++++ +title = "Resume / CV" ++++ + +This is my Resume / Cirriculum Vitae! \ No newline at end of file diff --git a/sass/code.scss b/sass/code.scss new file mode 100644 index 0000000..525f5bf --- /dev/null +++ b/sass/code.scss @@ -0,0 +1,24 @@ +pre { + padding: 1rem; + overflow: auto; +} + +// The line numbers already provide some kind of left/right padding +pre[data-linenos] { + padding: 1rem 0; +} + +pre table td { + padding: 0; +} + +// The line number cells +pre table td:nth-of-type(1) { + text-align: center; + user-select: none; +} + +pre table { + width: 100%; + border-collapse: collapse; +} \ No newline at end of file diff --git a/sass/style.scss b/sass/style.scss new file mode 100644 index 0000000..c246e55 --- /dev/null +++ b/sass/style.scss @@ -0,0 +1,40 @@ +@import url('https://fonts.googleapis.com/css2?family=Helvetica&display=swap'); +@import 'code.scss'; + +body { + display: flex; + flex-direction: column; + min-height: 100vh; + font-family: 'Helvetica', sans-serif; + max-width: 960px; + margin: 0 auto; +} + +a:visited { + color: inherit; +} + +.center { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); +} + +#footer { + display: flex; + justify-content: space-between; + margin-top: auto; + position: sticky; +} + +#navbar { + padding: .625rem 0 0 0; + display: flex; + flex-direction: row; + gap: .25rem; + flex-wrap: wrap; + justify-content: flex-end; + align-items: center; + align-content: flex-end +} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..6b3dfe0 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,33 @@ + + + + + + dehan-jl + + + + + + + +
+ {% block content %} + {% endblock %} +
+ + + + + \ No newline at end of file diff --git a/templates/blog/blog-page.html b/templates/blog/blog-page.html new file mode 100644 index 0000000..4072083 --- /dev/null +++ b/templates/blog/blog-page.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block content %} +

+ {{ page.title }} +

+

{{ page.date }}

+{{ page.content | safe }} +{% endblock content %} \ No newline at end of file diff --git a/templates/blog/blog.html b/templates/blog/blog.html new file mode 100644 index 0000000..d3fb766 --- /dev/null +++ b/templates/blog/blog.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% block content %} +

+ {{ section.title }} +

+

Coming Soon...

+ +{{ section.content | safe }} + + +{% endblock content %} \ No newline at end of file diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..47770c6 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,10 @@ +{% extends "base.html" %} + +{% block content %} +
+

+ ๐Ÿ‘‹ Hi, I'm Dehan. +

+
+ +{% endblock content %} \ No newline at end of file diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..225ca82 --- /dev/null +++ b/templates/page.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block content %} +

+ {{ page.title }} +

+{{ page.content | safe }} + +{% endblock content %} \ No newline at end of file diff --git a/templates/section.html b/templates/section.html new file mode 100644 index 0000000..e1d2483 --- /dev/null +++ b/templates/section.html @@ -0,0 +1,16 @@ +{% extends "base.html" %} + +{% block content %} +

+ {{ section.title }} +

+ +{{ section.content | safe }} + + +{% endblock content %} \ No newline at end of file From a219a9ecaf5d915d4db8b4e4d919ad1a31f935dd Mon Sep 17 00:00:00 2001 From: Dehan Jaco Lamprecht Date: Mon, 25 Mar 2024 21:45:29 +0200 Subject: [PATCH 2/3] Zola V0.2.0 Basic styling --- sass/anims.scss | 31 +++++++++++++++++++++++++++++++ sass/style.scss | 23 ++++++++++++++++++++--- templates/blog/blog.html | 15 +++++---------- templates/index.html | 2 +- 4 files changed, 57 insertions(+), 14 deletions(-) create mode 100644 sass/anims.scss diff --git a/sass/anims.scss b/sass/anims.scss new file mode 100644 index 0000000..a865f3e --- /dev/null +++ b/sass/anims.scss @@ -0,0 +1,31 @@ +@keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 100%; + } +} + +@keyframes typing { + from { + width: 0; + } + + to { + width: 100%; + } +} + +@keyframes blink-caret { + + from, + to { + border-color: transparent; + } + + 50% { + border-color: black; + } +} \ No newline at end of file diff --git a/sass/style.scss b/sass/style.scss index c246e55..9036516 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -1,12 +1,13 @@ @import url('https://fonts.googleapis.com/css2?family=Helvetica&display=swap'); @import 'code.scss'; +@import 'anims.scss'; body { display: flex; flex-direction: column; min-height: 100vh; font-family: 'Helvetica', sans-serif; - max-width: 960px; + max-width: 66%; margin: 0 auto; } @@ -21,18 +22,34 @@ a:visited { transform: translate(-50%, -50%); } +.welcome { + animation: 3s ease-out 0s 1 fadeIn; +} + +.typing h1 { + overflow: hidden; // Ensures the content is not revealed until the animation + border-right: .15em solid black; // The typwriter cursor + white-space: nowrap; // Keeps the content on a single line + margin: 0 auto; // Gives that scrolling effect as the typing happens + letter-spacing: .15em; // Adjust as needed + animation: + typing 3.5s steps(22, end), + blink-caret .75s step-end infinite; +} + #footer { display: flex; justify-content: space-between; margin-top: auto; position: sticky; + font-size: 0.8em; } #navbar { - padding: .625rem 0 0 0; + padding: 1rem 0 0 0; display: flex; flex-direction: row; - gap: .25rem; + gap: .4rem; flex-wrap: wrap; justify-content: flex-end; align-items: center; diff --git a/templates/blog/blog.html b/templates/blog/blog.html index d3fb766..031c065 100644 --- a/templates/blog/blog.html +++ b/templates/blog/blog.html @@ -4,14 +4,9 @@

{{ section.title }}

-

Coming Soon...

- -{{ section.content | safe }} - - +
+

+ Coming Soon... +

+
{% endblock content %} \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 47770c6..511a34a 100644 --- a/templates/index.html +++ b/templates/index.html @@ -2,7 +2,7 @@ {% block content %}
-

+

๐Ÿ‘‹ Hi, I'm Dehan.

From 0cc319cb986f4b03eb902bb2df2443284b1043d2 Mon Sep 17 00:00:00 2001 From: Dehan Jaco Lamprecht Date: Mon, 25 Mar 2024 23:17:58 +0200 Subject: [PATCH 3/3] Zola V0.3.0 Basics done --- content/contact.md | 5 +- content/resume.md | 127 +++++++++++++++++++++++++++++++++++++++++++- templates/base.html | 2 +- 3 files changed, 131 insertions(+), 3 deletions(-) diff --git a/content/contact.md b/content/contact.md index ed99f87..71e0a34 100644 --- a/content/contact.md +++ b/content/contact.md @@ -2,4 +2,7 @@ title = "Contact" +++ -This is where you can contact me. \ No newline at end of file +This is where you can contact me: +- Github: [@dehan-jl](https://github.com/dehan-jl) +- Email: [contact@dehan-jl.io](mailto:contact@dehan-jl.io) +- LinkedIn: [dehanjl](https://www.linkedin.com/in/dehanjl/) \ No newline at end of file diff --git a/content/resume.md b/content/resume.md index 2c3853c..8f33711 100644 --- a/content/resume.md +++ b/content/resume.md @@ -2,4 +2,129 @@ title = "Resume / CV" +++ -This is my Resume / Cirriculum Vitae! \ No newline at end of file +_A PDF version of this is available on request._ + +# Dehan Jaco Lamprecht + +**Computer Engineer** - _For more about me, please see my [About](@/about.md) section or [Contact Me](@/contact.md)._ + +## Experience +### Software Engineer +**BMW ZA IT Hub** + + Pretoria, South Africa + Mar 2022 โ€“ Present +- Part of the agile feature team working on the Connected Fleet Data product in the AI Data Analytics and Platforms department. +- Cloud-based (AWS) full-stack development. +- Responsible for the productโ€™s Cybersecurity matters. +- Solutions architecting and leading workshops. +- Improved scalability by migrating a part of the application to a serverless architecture. +- Optimised application sections for over 10x performance boost. +- Created a testing framework to replicate production-level loads. + +### Content Developer +**Resolute Education** + + Pretoria, South Africa + Apr 2020 โ€“ Feb 2022 + +- Worked part-time while completing studies. +- Developed a Python programming course primarily for high-school students. +- Presented course in-person and online to students. +- Assisted in presenting electronics and robotics courses. +- Mentored other tutors. + +### Engineering Intern +**Hensholdt GEW** + + Pretoria, South Africa + Jan 2021 โ€“ Mar 2021 + +- Part of small team of interns in Systems Engineering depart- +ment. +- Designed and developed an Internet of Things solution from the ground up. +- Developed and delivered a prototype test platform. +- Prototype test platform enhanced the companyโ€™s core Electronic Warfare business. + +## Education +### B.Eng. Computer Engineering +**University of Pretoria** + + 2018 โ€“ 2021 +- Cumulative Weighted Average: 72% +- Module Distinctions: 21 +- **Final Year Project**: Design & Development of a Neural Network Accelerator for an FPGA with transfer to a Custom IC Layout. + + +### AS Levels +**Cambridge International** + + 2017 +- Overall Average: 88% +- Distinctions in all subjects. + +## Certifications +- Dec 2023 - Self Driving Car Engineer, Udacity +- Sep 2023 - Professional Scrum Product Owner II, Scrum.org + +## Awards +- World Robot Olympiad 2010, 3rd Nationally +- World Robot Olympiad 2011, 1st Nationally and 3rd Internationally +- Deanโ€™s Merit List 2018, University of Pretoria +- Community Based Project 2019, Best New Project +- Engineering Without Borders Design Challenge 2020, Finalist +- BMW ZA IT Hub AI Indaba Hackathon 2023, Finalist + +## Other Activities + +- 2015-2017 - E-Sports: Player Manager and Coach +- 2015-2017 - Sound Technician: Volunteer live production technician + +## Skills +**Legend** +- Fully Comfortable +- Somewhat Comfortable +- Modestly Comfortable + +### General +- Software Development +- Artificial Intelligence +- Embedded Engineering +- Cybersecurity Engineering +- Hardware Engineering +- Custom IC Design +- Full Stack Development +- Cloud Native Development +- Test Driven Development +- Agile Methodologies +- Teamwork +- Leadership +- Teaching + +### Programming Languages & Frameworks +- Python +- NumPy & Pandas +- TensorFlow +- Rust +- Java, Kotlin & Groovy +- Springboot +- GraphQL +- PostgreSQL +- Docker & Kubernetes +- MQTT +- C & C++ +- QT +- JavaScript & TypeScript +- NodeJS +- React & Redux +- Assembly +- VHDL & Verilog + +## Languages +- English: Fluent +- Afrikaans: Fluent +- German: Basic + +## References + +_References availbale on request, please [Contact Me](@/contact.md)._ \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 6b3dfe0..629b095 100644 --- a/templates/base.html +++ b/templates/base.html @@ -5,7 +5,7 @@ dehan-jl - +