https://github.com/andyatkinson/presentations
https://github.com/andyatkinson/presentations
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/andyatkinson/presentations
- Owner: andyatkinson
- Created: 2024-10-10T15:54:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-26T16:20:04.000Z (9 months ago)
- Last Synced: 2025-09-26T16:26:53.701Z (9 months ago)
- Language: PLpgSQL
- Size: 4.31 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Presentations
## PGConf NYC 2025
- [pgconfnyc2025/README.md](pgconfnyc2025/README.md)
- [Speakerdeck Slides](https://speakerdeck.com/andyatkinson/multitenancy-patterns-in-community-postgresql)
- [bit.ly/pg-mten](https://bit.ly/pg-mten)
## RailsConf 2025
- [railsconf2025/README.md](railsconf2025/README.md)
- [Speakerdeck Slides](https://speakerdeck.com/andyatkinson/10-costly-database-performance-mistakes-and-how-to-fix-them)
- [bit.ly/rc10m](https://bit.ly/rc10m)
## PASS Data Community Summit
- [pass2024/README.md](pass2024/README.md)
## Presentations with Markdown
> Create decks like a hacker!
Quote inspired by: [blog like a hacker](https://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html)
Often a slide deck is the best way to present information. Since I'm keeping notes in Markdown anyway, Marp allows me to add a minimal amount of formatting to create a slide deck presentation, and export it to a PDF.
## Instructions
Made with [Marp: Markdown Presentation Ecosystem](https://marp.app).
Visually previewed with VS Code:
* `Command-K + V` opens a side-by-side preview of the `.md` file
* `Shift-Command-V` opens the preview in the same window
* Top right menu "Export slide deck" to export a PDF, or export from the command line (preferred)
* Typically I upload slides PDF to Speaker Deck! ([speakerdeck.com/andyatkinson](https://speakerdeck.com/andyatkinson))
## Tips
* Pick a built-in [theme](https://github.com/marp-team/marp-core/tree/main/themes)!
* Marp supports global and local directives, applying to all slides or individual slides
* Individual slide directives use HTML comments, e.g. ``
* Scope changes to the slide only with an underscore (spot directive), e.g. ``
* For backgrounds, consider a CSS gradients:
* For rounded corners, JS Fiddle [happy face rounded corners](http://thenewcode.com/431/Simple-CSS-Masks-Images-with-Rounded-Corners)
* Used for image uploads, but usually keep images locally in `images` directory
- Crunch down big PNG, JPG, AVIF, and WEBP images using imagemagick (`magick` command)
* Transitions:
* For HTML, add `--html` option on export:
* In Vim, yank buffer to clipboard: `:%w !pbcopy`
* Open a terminal from Vim with `:term` and then navigate with `Ctrl-W h/j/k/l`
## marp-cli
Install:
```sh
brew install marp-cli
```
Example use to generate PDF and fill in metadata:
```sh
marp --pdf \
--title "Partitioning 1 Billion Rows Without Downtime" \
--description "Range Partitioning Case Study with Rails and pgslice" \
--html --author "Andrew Atkinson" \
--keywords "PostgreSQL, Partitioning, Scaling, Performance, Ruby on Rails, Ruby" \
--url "https://bit.ly/PartPG2023" \
--allow-local-files partitioning-concept-to-reality-case-study.md
```
This will produce a PDF file.
## Content Links
* PostgreSQL logo:
* Rails Logo:
## Diagrams
Draw.io
- Link items together so they can be re-positioned and preserve links
## Footnotes
Not directly supported in Marp Slides. Community:
-
What I did was use HTML footnotes, then keep a CSV mapping of number to link, then a Ruby script (`footnote_fixer.rb`) produces an HTML list of links.
## Tools
MacOS:
```sh
brew install shellcheck
```
Run shellcheck:
```sh
shellcheck create_db.sh
```
## VS Code
- Choose "Trust", not Restricted Mode, which doesn't support all the HTML
## Magick
Shrink the sizes of large image files.
```sh
magick images/pghero.png -resize 50% -quality 85 images/pghero.jpg
```