diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..66cb5de
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+node_modules
+.DS_Store
+dist
+*.local
+.vite-inspect
+.remote-assets
+components.d.ts
+venv
+*.pdf
diff --git a/.markdownlint.yaml b/.markdownlint.yaml
index 26cdfaa..0b5ed85 100644
--- a/.markdownlint.yaml
+++ b/.markdownlint.yaml
@@ -130,7 +130,7 @@ MD030:
# MD033/no-inline-html - Inline HTML
MD033:
# Allowed elements
- allowed_elements: ["br", "center", "img", "script", "form", "input", "a"]
+ allowed_elements: ["br", "center", "img", "script", "form", "input", "a", "div", "center","small","v-clicks"]
# MD034/no-bare-urls - Bare URL used
MD034: false
diff --git a/2024/LPC/challanges-in-developing-trustworthy-linux-based-systems.md b/2024/LPC/challanges-in-developing-trustworthy-linux-based-systems.md
new file mode 100644
index 0000000..eed7a6c
--- /dev/null
+++ b/2024/LPC/challanges-in-developing-trustworthy-linux-based-systems.md
@@ -0,0 +1,337 @@
+## Kudos for review and feedback
+
+* Ross Philipson
+* Daniel P. Smith
+* Andrew Cooper
+* Richard Pesaud
+
+---
+
+# Glossary
+
+* LVFS - Linux Vendor Firmware Service
+* HSI - Host Security ID
+* HCL - Hardware Compatibility List
+* FSF RYF - Free Software Foundation, Respect Your Freedom
+* SMM - System Management Mode
+* TEE - Trusted Execution Environment
+* AMD PSP/ASP - AMD Platform Security Processor/AMD Security Processor
+* Intel PPAM - Intel Platform Properties Assessment Module
+* TCG DICE - Trusted Computing Group, Device Identifier Engine
+* UEFI - Unified Extensible Firmware Interface
+* OCP - Open Compute Project
+* SNIA - Storage Networking Industry Association
+* DMTF SPDM - Distributed Management Task Force, Security Protocol and Data Model
+
+
+
+---
+
+## Goal
+
+The presentation highlights five challenging areas and activities related to
+Linux-based system booting and security from platform vendor and user
+perspective.
+
+The focus is on:
+* Highlighting the problems to provide inspiration and work as an anchor for
+future CfP processes. We see challenges and issues in the open source communities
+in various areas, including only sometimes being able to get domain experts in
+these topics.
+* Make valuable references to past events.
+* Get feedback on what is missing.
+
+
+
+---
+
+## Challenge 1: Assessment
+
+
+
+
+
+
+
+* Lack of OS awareness about hardware security capabilities leads to the
+inability to evaluate and improve system security posture.
+* Over the last two years, we have seen number of various communities
+approaching this topic.
+ - GNOME introduced the Device Security Settings page (based on [LVFS HSI](https://fwupd.github.io/libfwupdplugin/hsi.html)).
+ - KDE Plasma added Firmware Security page (based on [LVFS HSI](https://fwupd.github.io/libfwupdplugin/hsi.html)).
+ - Qubes OS Security Report (based on Qubes HCL).
+ - FSF RYF Certification (unclear rules).
+
+
+---
+clicks: 4
+---
+
+
+## Assessment
+
+* Some interfaces for CPU assessment already exist. We have tools like:
+ - `lscpu`, which shows `/sys/devices/system/cpu/vulnerabilities`.
+ - `/proc/cpuinfo` bugs.
+* We could only secure our ecosystem if we knew what security mechanisms are
+available on a given piece of hardware.
+* Shipping hardware with Linux would be more challenging without exposing the
+interface, which will help assess security configuration and help protect
+against misconfiguration of security features.
+* Achieving results requires broader cooperation between communities and vendors.
+* Followed presentations and communities discussed this topic:
+ - [Embedded Recipes: LVFS: The next 50 million firmware updates](https://embedded-recipes.org/2022/wp-content/uploads/2022/06/LVFS-ER-avec-compression.pdf).
+ - [TrenchBoot Summit: LVFS Host Security ID (HSI) and Silicon-Based Core Security](https://www.youtube.com/live/xZoCtNV8Qs0).
+ - Arm SystemArchAC Security Sub-team.
+
+
+
+
+---
+clicks: 2
+---
+
+
+# Challenge 2: SMM (TEE?) as Chain of Trust Gap
+
+* For various reasons, vendors add secure areas that try to guarantee the
+confidentiality and integrity of the code and data inside it.
+* This creates an exciting attack target that has been abused many times
+in the past.
+* Solutions:
+ - SMI Transfer Monitor - Linux driver [out of
+ tree](https://github.com/EugeneDMyers/stm_linux_module), probably far from
+ making it first-class citizen.
+ - Project Mu - has an SMM Supervisor integrated on top of STM API. Microsoft
+ Secured Core PC makes it a requirement, as does other SMM threat-mitigating
+ technology.
+ - Ron Minnich: [Let's move SMM out of firmware and into the kernel](https://www.youtube.com/watch?v=6GEaw4msq6g).
+* Followed presentations and communities discussed this topic:
+ - [BSides Portland: ABC to XYZ of Writing System Management Mode (SMM) Drivers](https://youtu.be/BQajtsy6kp0).
+ - [Dasharo Dev vPub: Overview of the Intel SMI Transfer Monitor on Dasharo Firmware](https://youtu.be/3PmOcjQX-9Y).
+* SMM (TEE?), by definition, should not give direct access to the user, but it
+needs to communicate the platform security state to the user. Is there a place
+for it in the Linux kernel?
+
+
+
+
+---
+clicks: 5
+---
+
+
+# Challenge 3: All your hardware belong to us
+
+* The growth of hardware and firmware components like AMD PSP features, Intel
+PPAM and ME features, or MS Pluton, and how those effectively block/enable
+building trustworthy systems by the open-source community.
+* In parallel, this creates an ecosystem in which we cannot leverage the the
+full potential of hardware and firmware in our machines.
+* On one side, this is an attack vector that we cannot do anything about. On
+the other side, our hardware no longer belongs to us if anyone is surprised by
+that fact.
+* Followed presentations and communities discussed this topic:
+ - [BlackHat: Breaking Firmware Trust From Pre-EFI: Exploiting Early Boot Phases](https://youtu.be/Z81s7UIiwmI)
+ - [SMM isolation - SMI deprivileging (ISRD)](https://tandasat.github.io/blog/2024/02/29/ISRD.html)
+* Why did it all happen?
+ - [USENIX ATC '21/OSDI '21 Joint Keynote Address-It's Time for Operating Systems to Rediscover Hardware](https://www.youtube.com/watch?v=36myc8wQhLo)
+
+
+
+
+---
+clicks: 4
+---
+
+
+# Challenge 4: Root of Trust
+
+* There are promising plans for defeating the lack of consistent assessment,
+implementation, and provisioning of Root of Trust on very different hardware
+configurations through Caliptra, DICE, SPDM, and more, as well as what impact
+it may have on the OS.
+* Some SPDM-related patches are slowly landing in Linux.
+* Followed presentations and communities discussed this topic:
+ - [UEFI Forum: Using SPDM in UEFI for Device Attestation](https://youtu.be/RJHd3Mqk4Uw).
+ - [OCP: OCP Attestation using SPDM and DICE](https://youtu.be/qO2BrMZZy2Y).
+ - [OCP: TPM Transport Security: Defeating Active Interposers with DICE](https://youtu.be/DKfbkOTYzOU).
+ - [OCP: And Update on Caliptra](https://youtu.be/DKfbkOTYzOU).
+ - [SNIA: TCG DICE & DMTF SPDM Binding Overview](https://youtu.be/fxp7UHFaBLs).
+
+
+
+---
+
+# Challenge 5: What we can do better with DRTM for AMD
+
+
+
+* Lessons learned from the 11-th series of making 20+ year-old security tech
+ for Intel CPUs first-class citizens in the Linux kernel.
+* Make sure to consider platform-specific challenges and architectural
+ alignment (Intel vs AMD, ARM inclusion). Design a robust ABI framework up
+ front to reflect this.
+* Consider configuration impacts and document them upfront (e.g., KASLR,
+ IOMMU in the Linux kernel).
+* Check various compilers and build environments from the beginning. Ensure
+ successful builds with the new features turned on and off in the
+ configuration.
+
+
+
+---
+
+# Challenge 5: What we can do better with DRTM for AMD
+
+
+
+* Plan for all entry points and boot protocols (32/64 bit, legacy/UEFI). Note
+ that the upstream work assumes 64b environments to run in, but it should
+ build in all environments
+* Be willing to accommodate feedback and suggestions where possible and
+ attempt to get assistance from the community (e.g., WAIT/MONITOR,
+ linker-based `kernel_info` placement).
+* Avoid tight coupling to specific hardware behaviors (e.g., TPM access).
+* Is there anything missing?
+
+
+
+
+---
+layout: cover
+background: /intro.png
+class: text-center
+
+---
+
+# Q&A
+
+piotr.krol@3mdeb.com
+
+
diff --git a/2024/LPC/changelog.md b/2024/LPC/changelog.md
new file mode 100644
index 0000000..6e42059
--- /dev/null
+++ b/2024/LPC/changelog.md
@@ -0,0 +1,14 @@
+- [ ] add kudos
+- [ ] fix page numbers is PDF
+ + removed for now
+- [ ] add slides for Google AVF (GPLv2 pKVM and BSD 3-clause gunyah)
+ + at this point I have not enough understanding of it to speak about that
+ + there are some notes on hackernews
+- [ ] add slide for pKVM neutering of Arm TrustZone EL3 as equivalent to SMM/TEE
+- [x] remove LVFS rant, and put it to comment
+- [x] s/STM/SMM Supervisor/
+- [x] s/YO/year-old/
+- [x] add glossary
+- [x] capitalize first letter and end with period
+- [ ] incomplete sentence "Without exposing..."
+- [ ] TB section improvements
diff --git a/README.md b/README.md
index a3cfc91..cd53866 100644
--- a/README.md
+++ b/README.md
@@ -63,3 +63,54 @@ $ tree -L 2
║ ║
║ ║
║ TBD ║
+
+## Usage
+
+Historically we used [remarkjs](https://github.com/remarkjs/remark) with our
+own [remark-remplates](https://github.com/3mdeb/remark-templates), but since
+September 2024 we started switching to [slidev](https://sli.dev/).
+
+## How to preview presentation
+
+### slidev
+
+* Install npm manager e.g. [nvm](https://github.com/nvm-sh/nvm?tab=readme-ov-file#install--update-script)
+* Use lts version of npm:
+
+```bash
+nvm install --lts
+nvm use --lts
+```
+
+* Host presentations:
+
+```bash
+npm run dev -- -p 8000 --remote --force
+```
+
+* Open content in browser on http://0.0.0.0:8000
+
+### remarkjs
+
+* Clone repository
+* Initialize submodules
+
+ ```bash
+ git submodule update --init --recursive --checkout
+ ```
+
+* Run local HTTP server e.g.
+
+ ```bash
+ python -m http.server
+ ```
+
+* Open content in browser on http://0.0.0.0:8000
+
+## Contribution
+
+* Please feel free to create issues for improvement ideas and bugs, as well as
+ pull requests to fix any issues.
+* If you intend to provide code improvements, please install all dependencies.
+* Before pushing code for review, ensure that `pre-commit run --all-files` does
+ not return any issues.
diff --git a/components/Counter.vue b/components/Counter.vue
new file mode 100644
index 0000000..eaa6a79
--- /dev/null
+++ b/components/Counter.vue
@@ -0,0 +1,37 @@
+
+
+
+