Add slides for Reading College

This commit is contained in:
Oliver Davies 2025-05-09 09:22:17 +01:00
parent 8f6c432f86
commit 7a7604d330
21 changed files with 357 additions and 0 deletions

View file

@ -95,6 +95,16 @@
src = ./src/building-build-configs;
};
reading-college =
let
name = "reading-college";
in
mkTalk {
inherit name;
src = ./src/${name};
};
sculpin = mkTalk {
name = "building-static-websites-sculpin";
src = ./src/building-static-websites-sculpin;

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View file

@ -0,0 +1,347 @@
BTEC Level 3 Computing and IT, Reading College
##############################################
|
.. class:: titleslideinfo
Oliver Davies
.. raw:: pdf
PageBreak standardPage
About me
========
* Started working in laptop repair and refurbishment in 2004.
* Self-taught freelance Software Developer since 2007.
* Full-time Software Developer since 2010.
* Lead Software Developer at Transport for Wales.
* Advocate and enthusiast of open source software.
* Developer, Consultant, Trainer
* Public speaker
.. raw:: pdf
TextAnnotation "Started in hardware doing laptop repair and refurbishment."
TextAnnotation "Student Essentials in 2004. Panasonic in 2006. Desktop support for Fujitsu at the DVLA from 2007 to 2010."
TextAnnotation ""
TextAnnotation "Learned software development from online courses - e.g. Lynda.com (now LinkedIn Learning), totaltraining.com. Early days of YouTube, no programming on Twitch."
PageBreak
My education and qualifications
===============================
* 2003: 12 GCSEs C grade or above.
* 20042005: City & Guilds Level 2 Diploma for IT Professionals.
* 20042005: National Traineeship for IT Users (Level 2 ITQ for IT Users, Key Skills, CLAIT).
* 20052006: City & Guilds Level 3 Advanced Diploma for IT Professionals.
* 2007: OCN Level 2 Build Your Own PC.
* 20072009: HNC Computing (End User Support).
What I use
==========
* HTML
* CSS
* JavaScript
* PHP
* MySQL
* Drupal
* Git
* Linux/Nix
.. raw:: pdf
TextAnnotation "HTML - the structure and content of a web page."
TextAnnotation ""
TextAnnotation "CSS - styling and appearance. Text sizes, colours, layout."
TextAnnotation ""
TextAnnotation "JavaScript - extra interactivity and progressive enhancement."
TextAnnotation ""
TextAnnotation "PHP - server-side programming language."
TextAnnotation ""
TextAnnotation "MySQL - database for storing data."
TextAnnotation ""
TextAnnotation "Drupal - a content management system written in PHP."
TextAnnotation ""
TextAnnotation "Git - a version control system for managing code changes."
TextAnnotation ""
TextAnnotation "Linux/NixOS - a free and open source computer operating system for my laptop and servers."
TextAnnotation ""
TextAnnotation "Nix - a package manager with more than 120,000 packages and 20,000 operating system options."
PageBreak
How I started
=============
* 2nd Dan TAGB Tae Kwon-Do Black Belt.
* Built a website to show class times, locations, news, etc.
* Started with HTML and CSS.
* Evolved to PHP and MySQL, then Drupal.
.. raw:: pdf
TextAnnotation "Became my pet/lab project."
TextAnnotation "Evolved based on requirements."
TextAnnotation "Picked PHP over ASP."
TextAnnotation "Tried Joomla, Drupal 6 and something else."
TextAnnotation "Decided to go with Drupal after it was recommended on a forum."
PageBreak imagePage
.. image:: images/twf-1.png
:width: 26cm
.. image:: images/twf-2.png
:width: 26cm
.. raw:: pdf
PageBreak standardPage
After that
==========
* Built my own website and blog.
* Cattery website rebuild.
* Started freelancing.
* Full-time in 2010 for Horse & Country TV.
* First agency role in 2011.
* First public speaking presentation in 2012.
.. raw:: pdf
TextAnnotation "Documenting and sharing my learnings."
TextAnnotation "Designs to HTML, HTML to Drupal theme."
TextAnnotation "Zooba in Swansea. Introducton to eCommerce with Ubercart."
TextAnnotation "Freelancing experience made it easier to get a job."
TextAnnotation "First presentation at Unified Diff meetup in Cardiff about Drupal."
PageBreak
What makes a website?
=====================
.. code-block::
.htaccess
assets/images/od-logo.jpg
bco/index.html
build/tailwind.css
call/index.html
daily/2024/03/18/automated-drupal-11-compatibility-fixes/index.html
drupal-upgrade/index.html
favicon.ico
index.html
podcast/19-sam-mortenson/index.html
pricing/index.html
talks/taking-flight-with-tailwind-css/index.html
talks/tdd-test-driven-drupal/index.html
Levels of complexity
====================
* Static website
* Static site generator (SSG)
* Framework or content management system (CMS)
.. raw:: pdf
TextAnnotation "Open a text editor like notepad or Vim and start typing HTML, open it in a browser and you're done."
TextAnnotation "Use a tool like Sculpin, Jekyll or Hugo to generate a static website."
TextAnnotation "Use a fully fledged CMS or framework like Drupal, WordPress, Symfony or Laravel."
PageBreak
Static website
==============
* Easy to create.
* No build step.
* Easy and cheap to host.
* Fast.
* Secure.
* Difficult to maintain.
.. raw:: pdf
TextAnnotation "If you have a lot of pages or frequently changing content, maintaining it becomes difficult (e.g. updating the same menu links on each page, updating the number of daily emails)."
PageBreak
Static site generators
======================
* More complex to create.
* Requires an additional tool and dependencies.
* Easy to maintain.
* Fast and secure.
* Difficult for multiple or non-technical people to edit.
Frameworks and CMSes
====================
* More complicated to build and host.
* Knowledge of programming languages like PHP, Ruby, Go, etc.
* Databases to store data.
* Containerisation and orchestration.
* Powerful and flexible.
Free and open source software (FOSS)
====================================
* Code is public.
* Free to use.
* Open to contribution.
* Developed by companies, agencies, users, individuals, volunteers, hobbyists.
* Operating systems, programming languages, CMSes, CSS frameworks, text editors, standalone packages and scripts.
* Free code reviews.
* Code, documentation, mentoring, translation, event management, UX research.
.. raw:: pdf
TextAnnotation "Free as in puppy."
TextAnnotation "Contributions improve the software for everyone."
TextAnnotation "Contributions are free code reviews."
TextAnnotation "Opportunity to learn best practices whilst giving back."
TextAnnotation "Different forms of contribution."
PageBreak
My first job interview
======================
* ~3 years of experience.
* In house working on Drupal 6.
* Passed the first stage interview.
* Able to show my blog posts and speak about the work I'd done.
* Asked to pick an issue on Drupal.org and speak about how I'd fix it.
.. raw:: pdf
TextAnnotation "2010 and I'd been doing stuff since 2007."
PageBreak imagePage
.. image:: images/drupal-issue-1.png
:width: 22cm
.. image:: images/drupal-issue-2.png
:width: 14cm
.. image:: images/drupal-issue-3.png
:width: 14cm
Software as a hobby
===================
* Attending, organising and speaking at meetups and conferences.
* Open source contributions and maintenance.
* Mentoring, teaching and content creation.
* Homelab and home server.
* Refurbishing unwanted laptops.
.. raw:: pdf
TextAnnotation "Given over 100 talks and workshops at events across UK and Europe."
TextAnnotation ""
TextAnnotation "Create and maintain open source projects."
TextAnnotation ""
TextAnnotation "I like to open source and make things public as much as I can."
TextAnnotation ""
TextAnnotation "Mentoring for bootcamps."
TextAnnotation "Made possible by my software development experience."
TextAnnotation "Career progression and project opportunities."
PageBreak imagePage
.. image:: images/timmillwood-ono.png
:width: 22cm
.. image:: images/override-node-options.png
:width: 24cm
.. image:: images/override-node-options-1.png
:width: 18cm
.. raw:: pdf
TextAnnotation "These were the usage statistics from Drupal.org when I became the maintainer."
PageBreak
.. image:: images/override-node-options-4.png
:width: 20cm
|
.. image:: images/override-node-options-3.png
:width: 20cm
.. raw:: pdf
PageBreak standardPage
.. raw:: pdf
PageBreak standardPage
.. image:: images/tawny-tweet-1.png
:width: 18cm
.. image:: images/tawny-tweet-2.png
:width: 18cm
.. image:: images/homelab.jpg
:width: 18cm
.. raw:: pdf
PageBreak standardPage
In my homelab
=============
* My website and several other static websites.
* Forgejo (Git repository hosting).
* Peertube (video backups and streaming).
* Jellyfin (media server).
* Immich (photos).
* Audio Bookshelf (podcasts and audiobooks).
* Paperless-ngx (document management).
* Home Assistant.
.. raw:: pdf
PageBreak imagePage
.. image:: images/website.png
:width: 12cm
.. image:: images/forgejo.png
:width: 24cm
.. image:: images/peertube.png
:width: 24cm
.. image:: images/immich.png
:width: 22cm
.. image:: images/jellyfin.png
:width: 24cm
Final thoughts
==============
* Keep things simple.
* Release before you're ready.
* Update early and often.
* Always be learning.
* Document everything.
* Work and learn in the open.
* Own your content.
Thanks!
=======
* https://www.oliverdavies.uk
* https://www.oliverdavies.uk/daily
* https://www.oliverdavies.uk/homelab
* https://code.oliverdavies.uk
* https://videos.oliverdavies.uk
* @opdavies@mastodon.social
* @opdavies@social.oliverdavies.uk