diff --git a/.eleventy.js b/.eleventy.js index 5e7e91c6..435d9aa0 100644 --- a/.eleventy.js +++ b/.eleventy.js @@ -10,7 +10,6 @@ import htmlmin from 'html-minifier-terser' import filters from './config/filters/index.js' import { slugifyString } from './config/utils/index.js' -import { svgToJpeg } from './config/events/index.js' import { minifyJsComponents } from './config/events/index.js' import { searchIndex, tagList, postStats, tagsSortedByCount, links, tagMap, booksToRead } from './config/collections/index.js' @@ -142,7 +141,6 @@ export default async function (eleventyConfig) { }) // events - eleventyConfig.on('afterBuild', svgToJpeg) eleventyConfig.on('afterBuild', minifyJsComponents) return { diff --git a/config/events/index.js b/config/events/index.js index ec77d988..eae68479 100644 --- a/config/events/index.js +++ b/config/events/index.js @@ -1,30 +1,6 @@ import fs from 'fs' -import Image from '@11ty/eleventy-img' import { minify } from 'terser' -export const svgToJpeg = () => { - const socialPreviewImagesDir = '_site/assets/img/social-preview/' - fs.readdir(socialPreviewImagesDir, (err, files) => { - if (!!files && files.length > 0) { - files.forEach((fileName) => { - if (fileName.endsWith('.svg')) { - let imageUrl = socialPreviewImagesDir + fileName - Image(imageUrl, { - formats: ['jpeg'], - outputDir: './' + socialPreviewImagesDir, - filenameFormat: function (id, src, width, format) { - let outputFileName = fileName.substring(0, fileName.length - 4) - return `${outputFileName}.${format}` - }, - }) - } - }) - } else { - console.log('⚠ No social images found') - } - }) -} - export const minifyJsComponents = async () => { const jsComponentsDir = '_site/assets/scripts/components'; const files = fs.readdirSync(jsComponentsDir); diff --git a/config/filters/index.js b/config/filters/index.js index 824628a5..b1e58b3d 100644 --- a/config/filters/index.js +++ b/config/filters/index.js @@ -22,17 +22,6 @@ export default { const replacement = '&' return string.replace(pattern, replacement) }, - splitLines: (input, maxCharLength) => { - const parts = input.split(' ') - const lines = parts.reduce(function (acc, cur) { - if (!acc.length) return [cur] - let lastOne = acc[acc.length - 1] - if (lastOne.length + cur.length > maxCharLength) return [...acc, cur] - acc[acc.length - 1] = lastOne + ' ' + cur - return acc - }, []) - return lines - }, stripUtm: (string) => { if (!string) return return string.replace(utmPattern, '') diff --git a/package-lock.json b/package-lock.json index 333fa632..7a746886 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,6 @@ "@11ty/eleventy": "3.0.0-alpha.10", "@11ty/eleventy-activity-feed": "^1.0.9", "@11ty/eleventy-fetch": "^4.0.1", - "@11ty/eleventy-img": "^4.0.2", "@11ty/eleventy-plugin-rss": "^1.2.0", "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", "@11tyrocks/eleventy-plugin-lightningcss": "^1.4.0", @@ -31,6 +30,7 @@ "@remy/webmention": "^1.5.0", "@rknightuk/eleventy-plugin-post-graph": "^1.0.6", "dotenv-flow": "^4.1.0", + "gray-matter": "^4.0.3", "html-minifier-terser": "^7.2.0", "ics-to-json-extended": "^1.1.4", "liquidjs": "^10.10.0", @@ -39,6 +39,7 @@ "markdown-it-anchor": "^8.4.1", "markdown-it-footnote": "^4.0.0", "sanitize-html": "^2.13.0", + "sharp": "^0.33.3", "slugify": "^1.6.6", "terser": "^5.30.1", "writing-stats": "^1.0.6" @@ -211,28 +212,6 @@ "url": "https://opencollective.com/11ty" } }, - "node_modules/@11ty/eleventy-img": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@11ty/eleventy-img/-/eleventy-img-4.0.2.tgz", - "integrity": "sha512-MSCkZRJk9rWa7nojx9HBMZJePOrm+V3XNpT091qguj61SG5UsgXbxAkoeejO3npmKIQJTyVIV/rrA6d7xZYOvw==", - "dev": true, - "dependencies": { - "@11ty/eleventy-fetch": "^4.0.0", - "brotli-size": "^4.0.0", - "debug": "^4.3.4", - "entities": "^4.5.0", - "image-size": "^1.1.1", - "p-queue": "^6.6.2", - "sharp": "^0.33.2" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/11ty" - } - }, "node_modules/@11ty/eleventy-plugin-bundle": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-2.0.2.tgz", @@ -1683,18 +1662,6 @@ "node": ">=8" } }, - "node_modules/brotli-size": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/brotli-size/-/brotli-size-4.0.0.tgz", - "integrity": "sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==", - "dev": true, - "dependencies": { - "duplexer": "0.1.1" - }, - "engines": { - "node": ">= 10.16.0" - } - }, "node_modules/browserslist": { "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", @@ -2327,12 +2294,6 @@ "node": ">= 12.0.0" } }, - "node_modules/duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==", - "dev": true - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -3165,21 +3126,6 @@ "moment": "^2.29.1" } }, - "node_modules/image-size": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", - "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", - "dev": true, - "dependencies": { - "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=16.x" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -4960,15 +4906,6 @@ "node": ">=6" } }, - "node_modules/queue": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", - "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", - "dev": true, - "dependencies": { - "inherits": "~2.0.3" - } - }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", diff --git a/package.json b/package.json index eea7679f..961703e0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coryd.dev", - "version": "13.4.9", + "version": "13.5.0", "description": "The source for my personal site. Built using 11ty.", "type": "module", "scripts": { @@ -9,6 +9,7 @@ "start:quick": "eleventy --serve --incremental --ignore-initial", "build": "ELEVENTY_PRODUCTION=true eleventy", "debug": "DEBUG=Eleventy* npx @11ty/eleventy --serve", + "build:ogi": "node ./scripts/og-images/index.js", "postbuild": "webmention _site/feeds/posts --limit 1 --send && webmention _site/feeds/links --limit 1 --send" }, "keywords": [ @@ -33,7 +34,6 @@ "@11ty/eleventy": "3.0.0-alpha.10", "@11ty/eleventy-activity-feed": "^1.0.9", "@11ty/eleventy-fetch": "^4.0.1", - "@11ty/eleventy-img": "^4.0.2", "@11ty/eleventy-plugin-rss": "^1.2.0", "@11ty/eleventy-plugin-syntaxhighlight": "^5.0.0", "@11tyrocks/eleventy-plugin-lightningcss": "^1.4.0", @@ -42,6 +42,7 @@ "@remy/webmention": "^1.5.0", "@rknightuk/eleventy-plugin-post-graph": "^1.0.6", "dotenv-flow": "^4.1.0", + "gray-matter": "^4.0.3", "html-minifier-terser": "^7.2.0", "ics-to-json-extended": "^1.1.4", "liquidjs": "^10.10.0", @@ -50,6 +51,7 @@ "markdown-it-anchor": "^8.4.1", "markdown-it-footnote": "^4.0.0", "sanitize-html": "^2.13.0", + "sharp": "^0.33.3", "slugify": "^1.6.6", "terser": "^5.30.1", "writing-stats": "^1.0.6" diff --git a/scripts/og-images/index.js b/scripts/og-images/index.js new file mode 100644 index 00000000..c5d56e1c --- /dev/null +++ b/scripts/og-images/index.js @@ -0,0 +1,74 @@ +import { promises as fs } from 'fs' +import path from 'path' +import sharp from 'sharp' +import matter from 'gray-matter' +import slugify from 'slugify' +import { Liquid } from 'liquidjs' +import { DateTime } from 'luxon' +import { fileURLToPath } from 'url' + +const __filename = fileURLToPath(import.meta.url) +const __dirname = path.dirname(__filename) +const baseDir = path.join(__dirname, '../../src/posts') +const outputDir = path.join(__dirname, '../../src/assets/img/ogi/') +const engine = new Liquid({ extname: '.liquid' }) + +engine.registerFilter('date', (isoDateString, formatString = 'MMMM d, yyyy') => { + const date = DateTime.fromISO(isoDateString) + return date.isValid ? date.toFormat(formatString) : isoDateString +}) + +engine.registerFilter('splitLines', (input, maxCharLength) => { + return input.split(' ').reduce((acc, cur) => { + if (!acc.length || acc[acc.length - 1].length + cur.length + 1 > maxCharLength) { + acc.push(cur) + } else { + acc[acc.length - 1] += ' ' + cur + } + return acc + }, []) +}) + +engine.registerFilter('slugify', (input) => slugify(input, { lower: true, strict: true, remove: /[*+~.()'"!:@]/g })) + +const generateSVGAndConvertToPNG = async (filePath) => { + try { + const fileContent = await fs.readFile(filePath, 'utf8') + const { data } = matter(fileContent) + const svgTemplatePath = path.resolve(__dirname, 'index.liquid') + const templateContent = await fs.readFile(svgTemplatePath, 'utf8') + const svgContent = await engine.parseAndRender(templateContent, { preview: { data: data, date: data.date }}) + const outputFile = path.join(outputDir, `${engine.filters.slugify(data.title)}-preview.png`) + + await fs.mkdir(outputDir, { recursive: true }) + await sharp(Buffer.from(svgContent)).png().toFile(outputFile) + + console.log(`Generated png at ${outputFile}`) + } catch (error) { + console.error('Error processing file:', error) + } +} + +const processYearDirectories = async (baseDir) => { + try { + const yearDirs = await fs.readdir(baseDir, { withFileTypes: true }) + for (const dirent of yearDirs) { + if (dirent.isDirectory()) { + const yearPath = path.join(baseDir, dirent.name) + const markdownFiles = await fs.readdir(yearPath, { withFileTypes: true }) + for (const file of markdownFiles) { + if (file.isFile() && file.name.endsWith('.md')) { + const filePath = path.join(yearPath, file.name) + await generateSVGAndConvertToPNG(filePath) + } + } + } + } + } catch (error) { + console.error('Failed to process directories:', error) + } +} + +const generateOgImages = async () => await processYearDirectories(baseDir) + +generateOgImages() \ No newline at end of file diff --git a/src/social-preview.liquid b/scripts/og-images/index.liquid similarity index 87% rename from src/social-preview.liquid rename to scripts/og-images/index.liquid index 50916733..6792365c 100644 --- a/src/social-preview.liquid +++ b/scripts/og-images/index.liquid @@ -1,11 +1,3 @@ ---- -pagination: - data: collections.posts - size: 1 - alias: preview -permalink: '/assets/img/social-preview/{{ preview.data.title | slugify }}-preview.svg' -eleventyExcludeFromCollections: true ---- {% assign titleInLines = preview.data.title | splitLines: 40 %} @@ -32,7 +24,7 @@ eleventyExcludeFromCollections: true fill="#fff" > - {{ preview.date | date: "%B %e, %Y" }} + {{ preview.data.date | date: "MMMM d, yyyy" }} diff --git a/src/_data/json/artists-map.json b/src/_data/json/artists-map.json index 01c0550a..1f6d1a07 100644 --- a/src/_data/json/artists-map.json +++ b/src/_data/json/artists-map.json @@ -1684,6 +1684,11 @@ "genre": "death metal", "image": "https://coryd.dev/media/artists/unaussprechlichen-kulten.jpg" }, + "undergang": { + "mbid": "6853b4ec-8cd4-46a4-b970-8331d4587c43", + "genre": "death metal", + "image": "https://coryd.dev/media/artists/undergang.jpg" + }, "under-the-church": { "mbid": "a2bdbefc-2cfd-43a2-8728-6352f038628a", "genre": "death metal", diff --git a/src/_includes/base.liquid b/src/_includes/base.liquid index e1aff073..cc566d00 100644 --- a/src/_includes/base.liquid +++ b/src/_includes/base.liquid @@ -25,7 +25,7 @@ diff --git a/src/assets/img/ogi/2021-reading-list-preview.png b/src/assets/img/ogi/2021-reading-list-preview.png new file mode 100644 index 00000000..deadc675 Binary files /dev/null and b/src/assets/img/ogi/2021-reading-list-preview.png differ diff --git a/src/assets/img/ogi/2022-reading-list-preview.png b/src/assets/img/ogi/2022-reading-list-preview.png new file mode 100644 index 00000000..e1512c45 Binary files /dev/null and b/src/assets/img/ogi/2022-reading-list-preview.png differ diff --git a/src/assets/img/ogi/a-brief-intro-to-git-preview.png b/src/assets/img/ogi/a-brief-intro-to-git-preview.png new file mode 100644 index 00000000..8c3a4cbe Binary files /dev/null and b/src/assets/img/ogi/a-brief-intro-to-git-preview.png differ diff --git a/src/assets/img/ogi/a-cadillac-for-your-thoughts-2015-in-music-preview.png b/src/assets/img/ogi/a-cadillac-for-your-thoughts-2015-in-music-preview.png new file mode 100644 index 00000000..d1130555 Binary files /dev/null and b/src/assets/img/ogi/a-cadillac-for-your-thoughts-2015-in-music-preview.png differ diff --git a/src/assets/img/ogi/a-music-workflow-for-2024-preview.png b/src/assets/img/ogi/a-music-workflow-for-2024-preview.png new file mode 100644 index 00000000..487f8c60 Binary files /dev/null and b/src/assets/img/ogi/a-music-workflow-for-2024-preview.png differ diff --git a/src/assets/img/ogi/a-retrospective-on-a-year-without-streaming-music-preview.png b/src/assets/img/ogi/a-retrospective-on-a-year-without-streaming-music-preview.png new file mode 100644 index 00000000..aea0f8f1 Binary files /dev/null and b/src/assets/img/ogi/a-retrospective-on-a-year-without-streaming-music-preview.png differ diff --git a/src/assets/img/ogi/a-safari-specific-guide-to-making-the-modern-web-suck-less-preview.png b/src/assets/img/ogi/a-safari-specific-guide-to-making-the-modern-web-suck-less-preview.png new file mode 100644 index 00000000..a1c37b7a Binary files /dev/null and b/src/assets/img/ogi/a-safari-specific-guide-to-making-the-modern-web-suck-less-preview.png differ diff --git a/src/assets/img/ogi/a-vote-for-pai-is-a-vote-against-consumers-and-for-big-cable-preview.png b/src/assets/img/ogi/a-vote-for-pai-is-a-vote-against-consumers-and-for-big-cable-preview.png new file mode 100644 index 00000000..22415014 Binary files /dev/null and b/src/assets/img/ogi/a-vote-for-pai-is-a-vote-against-consumers-and-for-big-cable-preview.png differ diff --git a/src/assets/img/ogi/access-to-data-isnt-a-grant-to-exploit-it-preview.png b/src/assets/img/ogi/access-to-data-isnt-a-grant-to-exploit-it-preview.png new file mode 100644 index 00000000..b224d51f Binary files /dev/null and b/src/assets/img/ogi/access-to-data-isnt-a-grant-to-exploit-it-preview.png differ diff --git a/src/assets/img/ogi/adding-a-light-dark-theme-toggle-preview.png b/src/assets/img/ogi/adding-a-light-dark-theme-toggle-preview.png new file mode 100644 index 00000000..839e40b8 Binary files /dev/null and b/src/assets/img/ogi/adding-a-light-dark-theme-toggle-preview.png differ diff --git a/src/assets/img/ogi/adding-client-side-rendered-webmentions-to-my-blog-preview.png b/src/assets/img/ogi/adding-client-side-rendered-webmentions-to-my-blog-preview.png new file mode 100644 index 00000000..06f0e738 Binary files /dev/null and b/src/assets/img/ogi/adding-client-side-rendered-webmentions-to-my-blog-preview.png differ diff --git a/src/assets/img/ogi/adding-client-side-webmentions-to-my-nextjs-blog-preview.png b/src/assets/img/ogi/adding-client-side-webmentions-to-my-nextjs-blog-preview.png new file mode 100644 index 00000000..be002e15 Binary files /dev/null and b/src/assets/img/ogi/adding-client-side-webmentions-to-my-nextjs-blog-preview.png differ diff --git a/src/assets/img/ogi/ai-cannot-and-should-not-replace-search-preview.png b/src/assets/img/ogi/ai-cannot-and-should-not-replace-search-preview.png new file mode 100644 index 00000000..ef7d5ab5 Binary files /dev/null and b/src/assets/img/ogi/ai-cannot-and-should-not-replace-search-preview.png differ diff --git a/src/assets/img/ogi/ajit-pai-accused-of-conflict-for-helping-former-client-preview.png b/src/assets/img/ogi/ajit-pai-accused-of-conflict-for-helping-former-client-preview.png new file mode 100644 index 00000000..e675a530 Binary files /dev/null and b/src/assets/img/ogi/ajit-pai-accused-of-conflict-for-helping-former-client-preview.png differ diff --git a/src/assets/img/ogi/ajit-pai-follows-congress-instructions-requires-new-anti-robocall-tech-preview.png b/src/assets/img/ogi/ajit-pai-follows-congress-instructions-requires-new-anti-robocall-tech-preview.png new file mode 100644 index 00000000..cd2a7998 Binary files /dev/null and b/src/assets/img/ogi/ajit-pai-follows-congress-instructions-requires-new-anti-robocall-tech-preview.png differ diff --git a/src/assets/img/ogi/americas-internet-freedom-rating-drops-following-net-neutrality-repeal-preview.png b/src/assets/img/ogi/americas-internet-freedom-rating-drops-following-net-neutrality-repeal-preview.png new file mode 100644 index 00000000..9d17831d Binary files /dev/null and b/src/assets/img/ogi/americas-internet-freedom-rating-drops-following-net-neutrality-repeal-preview.png differ diff --git a/src/assets/img/ogi/an-indie-web-primer-preview.png b/src/assets/img/ogi/an-indie-web-primer-preview.png new file mode 100644 index 00000000..e00319cb Binary files /dev/null and b/src/assets/img/ogi/an-indie-web-primer-preview.png differ diff --git a/src/assets/img/ogi/another-eleventy-content-syndication-path-preview.png b/src/assets/img/ogi/another-eleventy-content-syndication-path-preview.png new file mode 100644 index 00000000..dc3ef537 Binary files /dev/null and b/src/assets/img/ogi/another-eleventy-content-syndication-path-preview.png differ diff --git a/src/assets/img/ogi/apple-centric-digital-privacy-tools-preview.png b/src/assets/img/ogi/apple-centric-digital-privacy-tools-preview.png new file mode 100644 index 00000000..41d5e3b3 Binary files /dev/null and b/src/assets/img/ogi/apple-centric-digital-privacy-tools-preview.png differ diff --git a/src/assets/img/ogi/apple-messages-a-tale-of-woe-or-how-to-fix-sync-a-crash-loop-and-accept-data-loss-preview.png b/src/assets/img/ogi/apple-messages-a-tale-of-woe-or-how-to-fix-sync-a-crash-loop-and-accept-data-loss-preview.png new file mode 100644 index 00000000..12dd4592 Binary files /dev/null and b/src/assets/img/ogi/apple-messages-a-tale-of-woe-or-how-to-fix-sync-a-crash-loop-and-accept-data-loss-preview.png differ diff --git a/src/assets/img/ogi/apple-music-a-tale-of-woe-preview.png b/src/assets/img/ogi/apple-music-a-tale-of-woe-preview.png new file mode 100644 index 00000000..9fa54546 Binary files /dev/null and b/src/assets/img/ogi/apple-music-a-tale-of-woe-preview.png differ diff --git a/src/assets/img/ogi/arcade-fire-reflektor-preview.png b/src/assets/img/ogi/arcade-fire-reflektor-preview.png new file mode 100644 index 00000000..a7d7fc3b Binary files /dev/null and b/src/assets/img/ogi/arcade-fire-reflektor-preview.png differ diff --git a/src/assets/img/ogi/australian-political-parties-hacked-preview.png b/src/assets/img/ogi/australian-political-parties-hacked-preview.png new file mode 100644 index 00000000..b7d32ea7 Binary files /dev/null and b/src/assets/img/ogi/australian-political-parties-hacked-preview.png differ diff --git a/src/assets/img/ogi/automate-and-syndicate-content-from-eleventy-to-mastodon-preview.png b/src/assets/img/ogi/automate-and-syndicate-content-from-eleventy-to-mastodon-preview.png new file mode 100644 index 00000000..7e9ff84e Binary files /dev/null and b/src/assets/img/ogi/automate-and-syndicate-content-from-eleventy-to-mastodon-preview.png differ diff --git a/src/assets/img/ogi/automatic-feedbin-subscription-backups-preview.png b/src/assets/img/ogi/automatic-feedbin-subscription-backups-preview.png new file mode 100644 index 00000000..637b3b29 Binary files /dev/null and b/src/assets/img/ogi/automatic-feedbin-subscription-backups-preview.png differ diff --git a/src/assets/img/ogi/automatic-mastodon-post-embeds-preview.png b/src/assets/img/ogi/automatic-mastodon-post-embeds-preview.png new file mode 100644 index 00000000..39242445 Binary files /dev/null and b/src/assets/img/ogi/automatic-mastodon-post-embeds-preview.png differ diff --git a/src/assets/img/ogi/automating-and-probably-overengineering-my-now-page-preview.png b/src/assets/img/ogi/automating-and-probably-overengineering-my-now-page-preview.png new file mode 100644 index 00000000..ef19e619 Binary files /dev/null and b/src/assets/img/ogi/automating-and-probably-overengineering-my-now-page-preview.png differ diff --git a/src/assets/img/ogi/automating-email-cleanup-in-gmail-preview.png b/src/assets/img/ogi/automating-email-cleanup-in-gmail-preview.png new file mode 100644 index 00000000..ebbb1498 Binary files /dev/null and b/src/assets/img/ogi/automating-email-cleanup-in-gmail-preview.png differ diff --git a/src/assets/img/ogi/automating-package-tracking-on-ios-preview.png b/src/assets/img/ogi/automating-package-tracking-on-ios-preview.png new file mode 100644 index 00000000..e752b0c3 Binary files /dev/null and b/src/assets/img/ogi/automating-package-tracking-on-ios-preview.png differ diff --git a/src/assets/img/ogi/automating-rss-syndication-and-sharing-with-nextjs-and-github-preview.png b/src/assets/img/ogi/automating-rss-syndication-and-sharing-with-nextjs-and-github-preview.png new file mode 100644 index 00000000..5d122080 Binary files /dev/null and b/src/assets/img/ogi/automating-rss-syndication-and-sharing-with-nextjs-and-github-preview.png differ diff --git a/src/assets/img/ogi/avoiding-phishing-preview.png b/src/assets/img/ogi/avoiding-phishing-preview.png new file mode 100644 index 00000000..55e35621 Binary files /dev/null and b/src/assets/img/ogi/avoiding-phishing-preview.png differ diff --git a/src/assets/img/ogi/backdoor-password-in-junipers-firewall-code-preview.png b/src/assets/img/ogi/backdoor-password-in-junipers-firewall-code-preview.png new file mode 100644 index 00000000..7126da9c Binary files /dev/null and b/src/assets/img/ogi/backdoor-password-in-junipers-firewall-code-preview.png differ diff --git a/src/assets/img/ogi/ben-thompson-on-net-neutrality-preview.png b/src/assets/img/ogi/ben-thompson-on-net-neutrality-preview.png new file mode 100644 index 00000000..a8ff08d4 Binary files /dev/null and b/src/assets/img/ogi/ben-thompson-on-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/bill-promises-californians-more-control-over-their-data-preview.png b/src/assets/img/ogi/bill-promises-californians-more-control-over-their-data-preview.png new file mode 100644 index 00000000..d9554e88 Binary files /dev/null and b/src/assets/img/ogi/bill-promises-californians-more-control-over-their-data-preview.png differ diff --git a/src/assets/img/ogi/blitzen-trapper-ever-loved-once-preview.png b/src/assets/img/ogi/blitzen-trapper-ever-loved-once-preview.png new file mode 100644 index 00000000..843cf39b Binary files /dev/null and b/src/assets/img/ogi/blitzen-trapper-ever-loved-once-preview.png differ diff --git a/src/assets/img/ogi/blocking-spam-calls-from-similar-numbers-on-ios-preview.png b/src/assets/img/ogi/blocking-spam-calls-from-similar-numbers-on-ios-preview.png new file mode 100644 index 00000000..a30407f9 Binary files /dev/null and b/src/assets/img/ogi/blocking-spam-calls-from-similar-numbers-on-ios-preview.png differ diff --git a/src/assets/img/ogi/bombino-and-hanni-el-khatib-at-the-santa-monica-pier-preview.png b/src/assets/img/ogi/bombino-and-hanni-el-khatib-at-the-santa-monica-pier-preview.png new file mode 100644 index 00000000..a4fe56ff Binary files /dev/null and b/src/assets/img/ogi/bombino-and-hanni-el-khatib-at-the-santa-monica-pier-preview.png differ diff --git a/src/assets/img/ogi/browsing-the-mobile-web-sucks-preview.png b/src/assets/img/ogi/browsing-the-mobile-web-sucks-preview.png new file mode 100644 index 00000000..4219a0bc Binary files /dev/null and b/src/assets/img/ogi/browsing-the-mobile-web-sucks-preview.png differ diff --git a/src/assets/img/ogi/building-a-bespoke-now-playing-web-component-preview.png b/src/assets/img/ogi/building-a-bespoke-now-playing-web-component-preview.png new file mode 100644 index 00000000..21e7d541 Binary files /dev/null and b/src/assets/img/ogi/building-a-bespoke-now-playing-web-component-preview.png differ diff --git a/src/assets/img/ogi/building-a-now-page-using-nextjs-and-social-apis-preview.png b/src/assets/img/ogi/building-a-now-page-using-nextjs-and-social-apis-preview.png new file mode 100644 index 00000000..49bb60da Binary files /dev/null and b/src/assets/img/ogi/building-a-now-page-using-nextjs-and-social-apis-preview.png differ diff --git a/src/assets/img/ogi/building-a-popular-posts-widget-in-eleventy-using-plausible-analytics-preview.png b/src/assets/img/ogi/building-a-popular-posts-widget-in-eleventy-using-plausible-analytics-preview.png new file mode 100644 index 00000000..0e8a76f9 Binary files /dev/null and b/src/assets/img/ogi/building-a-popular-posts-widget-in-eleventy-using-plausible-analytics-preview.png differ diff --git a/src/assets/img/ogi/building-a-reactive-website-preview.png b/src/assets/img/ogi/building-a-reactive-website-preview.png new file mode 100644 index 00000000..56575366 Binary files /dev/null and b/src/assets/img/ogi/building-a-reactive-website-preview.png differ diff --git a/src/assets/img/ogi/building-a-scrobbler-using-plex-webhooks-edge-functions-and-blob-storage-preview.png b/src/assets/img/ogi/building-a-scrobbler-using-plex-webhooks-edge-functions-and-blob-storage-preview.png new file mode 100644 index 00000000..2b1ae829 Binary files /dev/null and b/src/assets/img/ogi/building-a-scrobbler-using-plex-webhooks-edge-functions-and-blob-storage-preview.png differ diff --git a/src/assets/img/ogi/building-a-theme-toggle-web-component-preview.png b/src/assets/img/ogi/building-a-theme-toggle-web-component-preview.png new file mode 100644 index 00000000..06a5f4c5 Binary files /dev/null and b/src/assets/img/ogi/building-a-theme-toggle-web-component-preview.png differ diff --git a/src/assets/img/ogi/building-my-now-page-using-eleventy-preview.png b/src/assets/img/ogi/building-my-now-page-using-eleventy-preview.png new file mode 100644 index 00000000..8cbbc9ee Binary files /dev/null and b/src/assets/img/ogi/building-my-now-page-using-eleventy-preview.png differ diff --git a/src/assets/img/ogi/ca-governor-signs-nations-strictest-net-neutrality-law-preview.png b/src/assets/img/ogi/ca-governor-signs-nations-strictest-net-neutrality-law-preview.png new file mode 100644 index 00000000..4c3768c8 Binary files /dev/null and b/src/assets/img/ogi/ca-governor-signs-nations-strictest-net-neutrality-law-preview.png differ diff --git a/src/assets/img/ogi/ca-net-neutrality-bill-back-on-track-preview.png b/src/assets/img/ogi/ca-net-neutrality-bill-back-on-track-preview.png new file mode 100644 index 00000000..5979bc06 Binary files /dev/null and b/src/assets/img/ogi/ca-net-neutrality-bill-back-on-track-preview.png differ diff --git a/src/assets/img/ogi/ca-net-neutrality-bill-makes-a-comeback-preview.png b/src/assets/img/ogi/ca-net-neutrality-bill-makes-a-comeback-preview.png new file mode 100644 index 00000000..278bebf0 Binary files /dev/null and b/src/assets/img/ogi/ca-net-neutrality-bill-makes-a-comeback-preview.png differ diff --git a/src/assets/img/ogi/ca-senate-passes-strict-net-neutrality-law-in-defiance-of-isps-preview.png b/src/assets/img/ogi/ca-senate-passes-strict-net-neutrality-law-in-defiance-of-isps-preview.png new file mode 100644 index 00000000..2c933d0c Binary files /dev/null and b/src/assets/img/ogi/ca-senate-passes-strict-net-neutrality-law-in-defiance-of-isps-preview.png differ diff --git a/src/assets/img/ogi/california-approves-new-online-privacy-rules-preview.png b/src/assets/img/ogi/california-approves-new-online-privacy-rules-preview.png new file mode 100644 index 00000000..6bbf3999 Binary files /dev/null and b/src/assets/img/ogi/california-approves-new-online-privacy-rules-preview.png differ diff --git a/src/assets/img/ogi/california-passes-net-neutrality-bill-preview.png b/src/assets/img/ogi/california-passes-net-neutrality-bill-preview.png new file mode 100644 index 00000000..230391a6 Binary files /dev/null and b/src/assets/img/ogi/california-passes-net-neutrality-bill-preview.png differ diff --git a/src/assets/img/ogi/california-state-senate-passes-net-neutrality-legislation-preview.png b/src/assets/img/ogi/california-state-senate-passes-net-neutrality-legislation-preview.png new file mode 100644 index 00000000..6d45fc56 Binary files /dev/null and b/src/assets/img/ogi/california-state-senate-passes-net-neutrality-legislation-preview.png differ diff --git a/src/assets/img/ogi/castro-v23-released-preview.png b/src/assets/img/ogi/castro-v23-released-preview.png new file mode 100644 index 00000000..b4a5c637 Binary files /dev/null and b/src/assets/img/ogi/castro-v23-released-preview.png differ diff --git a/src/assets/img/ogi/cbo-analysis-confirms-gop-health-bill-is-little-more-than-class-warfare-preview.png b/src/assets/img/ogi/cbo-analysis-confirms-gop-health-bill-is-little-more-than-class-warfare-preview.png new file mode 100644 index 00000000..fd7580a9 Binary files /dev/null and b/src/assets/img/ogi/cbo-analysis-confirms-gop-health-bill-is-little-more-than-class-warfare-preview.png differ diff --git a/src/assets/img/ogi/changes-coming-to-droplr-preview.png b/src/assets/img/ogi/changes-coming-to-droplr-preview.png new file mode 100644 index 00000000..8c74d0d7 Binary files /dev/null and b/src/assets/img/ogi/changes-coming-to-droplr-preview.png differ diff --git a/src/assets/img/ogi/check-if-images-are-available-before-optimizing-in-eleventy-preview.png b/src/assets/img/ogi/check-if-images-are-available-before-optimizing-in-eleventy-preview.png new file mode 100644 index 00000000..ecd94558 Binary files /dev/null and b/src/assets/img/ogi/check-if-images-are-available-before-optimizing-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/check-in-to-your-personal-site-preview.png b/src/assets/img/ogi/check-in-to-your-personal-site-preview.png new file mode 100644 index 00000000..4b7b8fb8 Binary files /dev/null and b/src/assets/img/ogi/check-in-to-your-personal-site-preview.png differ diff --git a/src/assets/img/ogi/chrome-tool-helps-developers-make-websites-more-color-blind-friendly-preview.png b/src/assets/img/ogi/chrome-tool-helps-developers-make-websites-more-color-blind-friendly-preview.png new file mode 100644 index 00000000..f51c8dfa Binary files /dev/null and b/src/assets/img/ogi/chrome-tool-helps-developers-make-websites-more-color-blind-friendly-preview.png differ diff --git a/src/assets/img/ogi/clearing-modpagespeed-cache-preview.png b/src/assets/img/ogi/clearing-modpagespeed-cache-preview.png new file mode 100644 index 00000000..c0b2f242 Binary files /dev/null and b/src/assets/img/ogi/clearing-modpagespeed-cache-preview.png differ diff --git a/src/assets/img/ogi/comcast-continues-to-whine-about-net-neutrality-preview.png b/src/assets/img/ogi/comcast-continues-to-whine-about-net-neutrality-preview.png new file mode 100644 index 00000000..ca83f380 Binary files /dev/null and b/src/assets/img/ogi/comcast-continues-to-whine-about-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/comcast-throttling-mobile-video-and-charging-extra-for-high-quality-streaming-preview.png b/src/assets/img/ogi/comcast-throttling-mobile-video-and-charging-extra-for-high-quality-streaming-preview.png new file mode 100644 index 00000000..dcaa6b07 Binary files /dev/null and b/src/assets/img/ogi/comcast-throttling-mobile-video-and-charging-extra-for-high-quality-streaming-preview.png differ diff --git a/src/assets/img/ogi/congress-guts-internet-privacy-protections-preview.png b/src/assets/img/ogi/congress-guts-internet-privacy-protections-preview.png new file mode 100644 index 00000000..25bde66a Binary files /dev/null and b/src/assets/img/ogi/congress-guts-internet-privacy-protections-preview.png differ diff --git a/src/assets/img/ogi/consolidation-swiftly-follows-the-death-of-net-neutrality-preview.png b/src/assets/img/ogi/consolidation-swiftly-follows-the-death-of-net-neutrality-preview.png new file mode 100644 index 00000000..a1e874c1 Binary files /dev/null and b/src/assets/img/ogi/consolidation-swiftly-follows-the-death-of-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/currently-reading-preview.png b/src/assets/img/ogi/currently-reading-preview.png new file mode 100644 index 00000000..26b80683 Binary files /dev/null and b/src/assets/img/ogi/currently-reading-preview.png differ diff --git a/src/assets/img/ogi/damien-jurado-2014-preview.png b/src/assets/img/ogi/damien-jurado-2014-preview.png new file mode 100644 index 00000000..aa2df2b8 Binary files /dev/null and b/src/assets/img/ogi/damien-jurado-2014-preview.png differ diff --git a/src/assets/img/ogi/data-collection-should-always-be-opt-in-preview.png b/src/assets/img/ogi/data-collection-should-always-be-opt-in-preview.png new file mode 100644 index 00000000..b1a8506d Binary files /dev/null and b/src/assets/img/ogi/data-collection-should-always-be-opt-in-preview.png differ diff --git a/src/assets/img/ogi/data-is-a-toxic-asset-preview.png b/src/assets/img/ogi/data-is-a-toxic-asset-preview.png new file mode 100644 index 00000000..d8073868 Binary files /dev/null and b/src/assets/img/ogi/data-is-a-toxic-asset-preview.png differ diff --git a/src/assets/img/ogi/data-ownership-and-agency-preview.png b/src/assets/img/ogi/data-ownership-and-agency-preview.png new file mode 100644 index 00000000..67e1e9af Binary files /dev/null and b/src/assets/img/ogi/data-ownership-and-agency-preview.png differ diff --git a/src/assets/img/ogi/dawes-most-people-preview.png b/src/assets/img/ogi/dawes-most-people-preview.png new file mode 100644 index 00000000..1aea0973 Binary files /dev/null and b/src/assets/img/ogi/dawes-most-people-preview.png differ diff --git a/src/assets/img/ogi/debugging-javascript-interview-with-mehdi-osman-preview.png b/src/assets/img/ogi/debugging-javascript-interview-with-mehdi-osman-preview.png new file mode 100644 index 00000000..440195b6 Binary files /dev/null and b/src/assets/img/ogi/debugging-javascript-interview-with-mehdi-osman-preview.png differ diff --git a/src/assets/img/ogi/deploying-a-jekyll-site-to-netlify-with-docker-and-gitlab-ci-preview.png b/src/assets/img/ogi/deploying-a-jekyll-site-to-netlify-with-docker-and-gitlab-ci-preview.png new file mode 100644 index 00000000..793b6048 Binary files /dev/null and b/src/assets/img/ogi/deploying-a-jekyll-site-to-netlify-with-docker-and-gitlab-ci-preview.png differ diff --git a/src/assets/img/ogi/design-by-numbers-typography-preview.png b/src/assets/img/ogi/design-by-numbers-typography-preview.png new file mode 100644 index 00000000..aed33f82 Binary files /dev/null and b/src/assets/img/ogi/design-by-numbers-typography-preview.png differ diff --git a/src/assets/img/ogi/dhs-boss-calls-for-more-fear-less-encryption-preview.png b/src/assets/img/ogi/dhs-boss-calls-for-more-fear-less-encryption-preview.png new file mode 100644 index 00000000..42970d25 Binary files /dev/null and b/src/assets/img/ogi/dhs-boss-calls-for-more-fear-less-encryption-preview.png differ diff --git a/src/assets/img/ogi/digital-privacy-tools-preview.png b/src/assets/img/ogi/digital-privacy-tools-preview.png new file mode 100644 index 00000000..9c0f1dcf Binary files /dev/null and b/src/assets/img/ogi/digital-privacy-tools-preview.png differ diff --git a/src/assets/img/ogi/displaying-listening-data-from-apple-music-using-musickitjs-preview.png b/src/assets/img/ogi/displaying-listening-data-from-apple-music-using-musickitjs-preview.png new file mode 100644 index 00000000..c029eb54 Binary files /dev/null and b/src/assets/img/ogi/displaying-listening-data-from-apple-music-using-musickitjs-preview.png differ diff --git a/src/assets/img/ogi/displaying-now-playing-data-with-matching-emoji-using-netlify-edge-functions-and-eleventy-preview.png b/src/assets/img/ogi/displaying-now-playing-data-with-matching-emoji-using-netlify-edge-functions-and-eleventy-preview.png new file mode 100644 index 00000000..4ac39b0d Binary files /dev/null and b/src/assets/img/ogi/displaying-now-playing-data-with-matching-emoji-using-netlify-edge-functions-and-eleventy-preview.png differ diff --git a/src/assets/img/ogi/doj-takes-war-on-encryption-to-whatsapp-preview.png b/src/assets/img/ogi/doj-takes-war-on-encryption-to-whatsapp-preview.png new file mode 100644 index 00000000..a2bdc565 Binary files /dev/null and b/src/assets/img/ogi/doj-takes-war-on-encryption-to-whatsapp-preview.png differ diff --git a/src/assets/img/ogi/domain-names-as-discoverable-personal-identifiers-for-the-web-preview.png b/src/assets/img/ogi/domain-names-as-discoverable-personal-identifiers-for-the-web-preview.png new file mode 100644 index 00000000..9848c7ae Binary files /dev/null and b/src/assets/img/ogi/domain-names-as-discoverable-personal-identifiers-for-the-web-preview.png differ diff --git a/src/assets/img/ogi/dont-be-afraid-to-admit-when-you-dont-know-something-preview.png b/src/assets/img/ogi/dont-be-afraid-to-admit-when-you-dont-know-something-preview.png new file mode 100644 index 00000000..4fba1a35 Binary files /dev/null and b/src/assets/img/ogi/dont-be-afraid-to-admit-when-you-dont-know-something-preview.png differ diff --git a/src/assets/img/ogi/dont-like-systematic-privacy-violations-stop-using-the-internet-preview.png b/src/assets/img/ogi/dont-like-systematic-privacy-violations-stop-using-the-internet-preview.png new file mode 100644 index 00000000..3b4559ac Binary files /dev/null and b/src/assets/img/ogi/dont-like-systematic-privacy-violations-stop-using-the-internet-preview.png differ diff --git a/src/assets/img/ogi/dont-pin-your-political-hopes-on-tech-giants-preview.png b/src/assets/img/ogi/dont-pin-your-political-hopes-on-tech-giants-preview.png new file mode 100644 index 00000000..989f4978 Binary files /dev/null and b/src/assets/img/ogi/dont-pin-your-political-hopes-on-tech-giants-preview.png differ diff --git a/src/assets/img/ogi/doppler-locally-stored-music-and-storage-as-a-beneficial-constraint-preview.png b/src/assets/img/ogi/doppler-locally-stored-music-and-storage-as-a-beneficial-constraint-preview.png new file mode 100644 index 00000000..52775847 Binary files /dev/null and b/src/assets/img/ogi/doppler-locally-stored-music-and-storage-as-a-beneficial-constraint-preview.png differ diff --git a/src/assets/img/ogi/dressing-for-the-surveillance-age-preview.png b/src/assets/img/ogi/dressing-for-the-surveillance-age-preview.png new file mode 100644 index 00000000..8ac37862 Binary files /dev/null and b/src/assets/img/ogi/dressing-for-the-surveillance-age-preview.png differ diff --git a/src/assets/img/ogi/drying-up-now-page-templates-and-normalizing-data-in-eleventy-preview.png b/src/assets/img/ogi/drying-up-now-page-templates-and-normalizing-data-in-eleventy-preview.png new file mode 100644 index 00000000..ac07e5f4 Binary files /dev/null and b/src/assets/img/ogi/drying-up-now-page-templates-and-normalizing-data-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/duckduckgo-is-good-enough-for-regular-use-preview.png b/src/assets/img/ogi/duckduckgo-is-good-enough-for-regular-use-preview.png new file mode 100644 index 00000000..e26d0b45 Binary files /dev/null and b/src/assets/img/ogi/duckduckgo-is-good-enough-for-regular-use-preview.png differ diff --git a/src/assets/img/ogi/dumb-pipes-preview.png b/src/assets/img/ogi/dumb-pipes-preview.png new file mode 100644 index 00000000..0628c8be Binary files /dev/null and b/src/assets/img/ogi/dumb-pipes-preview.png differ diff --git a/src/assets/img/ogi/dutch-government-on-encryption-preview.png b/src/assets/img/ogi/dutch-government-on-encryption-preview.png new file mode 100644 index 00000000..fae1cb71 Binary files /dev/null and b/src/assets/img/ogi/dutch-government-on-encryption-preview.png differ diff --git a/src/assets/img/ogi/earn-it-act-threatens-end-to-end-encryption-preview.png b/src/assets/img/ogi/earn-it-act-threatens-end-to-end-encryption-preview.png new file mode 100644 index 00000000..4543210a Binary files /dev/null and b/src/assets/img/ogi/earn-it-act-threatens-end-to-end-encryption-preview.png differ diff --git a/src/assets/img/ogi/earn-it-is-an-attack-on-encryption-preview.png b/src/assets/img/ogi/earn-it-is-an-attack-on-encryption-preview.png new file mode 100644 index 00000000..5a127588 Binary files /dev/null and b/src/assets/img/ogi/earn-it-is-an-attack-on-encryption-preview.png differ diff --git a/src/assets/img/ogi/eff-argues-border-agents-need-warrants-to-search-digital-devices-preview.png b/src/assets/img/ogi/eff-argues-border-agents-need-warrants-to-search-digital-devices-preview.png new file mode 100644 index 00000000..f8b04bf7 Binary files /dev/null and b/src/assets/img/ogi/eff-argues-border-agents-need-warrants-to-search-digital-devices-preview.png differ diff --git a/src/assets/img/ogi/effs-recommendations-for-consumer-data-privacy-laws-preview.png b/src/assets/img/ogi/effs-recommendations-for-consumer-data-privacy-laws-preview.png new file mode 100644 index 00000000..f2ce1841 Binary files /dev/null and b/src/assets/img/ogi/effs-recommendations-for-consumer-data-privacy-laws-preview.png differ diff --git a/src/assets/img/ogi/embrace-extend-enshittify-preview.png b/src/assets/img/ogi/embrace-extend-enshittify-preview.png new file mode 100644 index 00000000..364fd449 Binary files /dev/null and b/src/assets/img/ogi/embrace-extend-enshittify-preview.png differ diff --git a/src/assets/img/ogi/ending-net-neutrality-will-end-the-internet-as-we-know-it-preview.png b/src/assets/img/ogi/ending-net-neutrality-will-end-the-internet-as-we-know-it-preview.png new file mode 100644 index 00000000..9538314c Binary files /dev/null and b/src/assets/img/ogi/ending-net-neutrality-will-end-the-internet-as-we-know-it-preview.png differ diff --git a/src/assets/img/ogi/enhancing-pagination-with-a-page-selector-preview.png b/src/assets/img/ogi/enhancing-pagination-with-a-page-selector-preview.png new file mode 100644 index 00000000..dda08e29 Binary files /dev/null and b/src/assets/img/ogi/enhancing-pagination-with-a-page-selector-preview.png differ diff --git a/src/assets/img/ogi/env-files-in-eleventy-preview.png b/src/assets/img/ogi/env-files-in-eleventy-preview.png new file mode 100644 index 00000000..74607886 Binary files /dev/null and b/src/assets/img/ogi/env-files-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/everything-is-a-checklist-preview.png b/src/assets/img/ogi/everything-is-a-checklist-preview.png new file mode 100644 index 00000000..357a016f Binary files /dev/null and b/src/assets/img/ogi/everything-is-a-checklist-preview.png differ diff --git a/src/assets/img/ogi/exploring-os-x-mail-clients-preview.png b/src/assets/img/ogi/exploring-os-x-mail-clients-preview.png new file mode 100644 index 00000000..2cf7e7a9 Binary files /dev/null and b/src/assets/img/ogi/exploring-os-x-mail-clients-preview.png differ diff --git a/src/assets/img/ogi/external-links-and-redirects-in-statamic-navigation-preview.png b/src/assets/img/ogi/external-links-and-redirects-in-statamic-navigation-preview.png new file mode 100644 index 00000000..ec80c3c5 Binary files /dev/null and b/src/assets/img/ogi/external-links-and-redirects-in-statamic-navigation-preview.png differ diff --git a/src/assets/img/ogi/facebook-asks-for-a-moat-of-regulations-it-already-meets-preview.png b/src/assets/img/ogi/facebook-asks-for-a-moat-of-regulations-it-already-meets-preview.png new file mode 100644 index 00000000..50cec320 Binary files /dev/null and b/src/assets/img/ogi/facebook-asks-for-a-moat-of-regulations-it-already-meets-preview.png differ diff --git a/src/assets/img/ogi/facebook-isnt-sorry-it-only-wants-more-data-preview.png b/src/assets/img/ogi/facebook-isnt-sorry-it-only-wants-more-data-preview.png new file mode 100644 index 00000000..aeed7039 Binary files /dev/null and b/src/assets/img/ogi/facebook-isnt-sorry-it-only-wants-more-data-preview.png differ diff --git a/src/assets/img/ogi/fastmail-in-fluidapp-preview.png b/src/assets/img/ogi/fastmail-in-fluidapp-preview.png new file mode 100644 index 00000000..147cc975 Binary files /dev/null and b/src/assets/img/ogi/fastmail-in-fluidapp-preview.png differ diff --git a/src/assets/img/ogi/fbi-director-chris-wray-pitches-weakened-encryption-at-a-cyber-security-conference-preview.png b/src/assets/img/ogi/fbi-director-chris-wray-pitches-weakened-encryption-at-a-cyber-security-conference-preview.png new file mode 100644 index 00000000..12d8c00f Binary files /dev/null and b/src/assets/img/ogi/fbi-director-chris-wray-pitches-weakened-encryption-at-a-cyber-security-conference-preview.png differ diff --git a/src/assets/img/ogi/fbi-once-again-compares-creating-encryption-back-doors-to-putting-a-man-on-the-moon-preview.png b/src/assets/img/ogi/fbi-once-again-compares-creating-encryption-back-doors-to-putting-a-man-on-the-moon-preview.png new file mode 100644 index 00000000..07c08f60 Binary files /dev/null and b/src/assets/img/ogi/fbi-once-again-compares-creating-encryption-back-doors-to-putting-a-man-on-the-moon-preview.png differ diff --git a/src/assets/img/ogi/fcc-admits-its-site-was-never-hacked-preview.png b/src/assets/img/ogi/fcc-admits-its-site-was-never-hacked-preview.png new file mode 100644 index 00000000..6d2676d5 Binary files /dev/null and b/src/assets/img/ogi/fcc-admits-its-site-was-never-hacked-preview.png differ diff --git a/src/assets/img/ogi/fcc-and-isps-begin-campaign-to-gut-net-neutrality-while-pretending-to-protect-it-preview.png b/src/assets/img/ogi/fcc-and-isps-begin-campaign-to-gut-net-neutrality-while-pretending-to-protect-it-preview.png new file mode 100644 index 00000000..57d1c467 Binary files /dev/null and b/src/assets/img/ogi/fcc-and-isps-begin-campaign-to-gut-net-neutrality-while-pretending-to-protect-it-preview.png differ diff --git a/src/assets/img/ogi/fcc-calls-community-broadband-an-attack-on-free-speech-preview.png b/src/assets/img/ogi/fcc-calls-community-broadband-an-attack-on-free-speech-preview.png new file mode 100644 index 00000000..8f80a293 Binary files /dev/null and b/src/assets/img/ogi/fcc-calls-community-broadband-an-attack-on-free-speech-preview.png differ diff --git a/src/assets/img/ogi/fcc-chair-offers-poor-excuses-as-he-seeks-to-strip-consumer-protections-preview.png b/src/assets/img/ogi/fcc-chair-offers-poor-excuses-as-he-seeks-to-strip-consumer-protections-preview.png new file mode 100644 index 00000000..948739e8 Binary files /dev/null and b/src/assets/img/ogi/fcc-chair-offers-poor-excuses-as-he-seeks-to-strip-consumer-protections-preview.png differ diff --git a/src/assets/img/ogi/fcc-chairman-boosts-telecom-companies-throws-silicon-valley-under-the-bus-preview.png b/src/assets/img/ogi/fcc-chairman-boosts-telecom-companies-throws-silicon-valley-under-the-bus-preview.png new file mode 100644 index 00000000..651481ca Binary files /dev/null and b/src/assets/img/ogi/fcc-chairman-boosts-telecom-companies-throws-silicon-valley-under-the-bus-preview.png differ diff --git a/src/assets/img/ogi/fcc-continues-to-completely-disregard-public-opposition-to-net-neutrality-repeal-preview.png b/src/assets/img/ogi/fcc-continues-to-completely-disregard-public-opposition-to-net-neutrality-repeal-preview.png new file mode 100644 index 00000000..2e30de69 Binary files /dev/null and b/src/assets/img/ogi/fcc-continues-to-completely-disregard-public-opposition-to-net-neutrality-repeal-preview.png differ diff --git a/src/assets/img/ogi/fcc-is-ignoring-public-interest-in-net-neutrality-repeal-preview.png b/src/assets/img/ogi/fcc-is-ignoring-public-interest-in-net-neutrality-repeal-preview.png new file mode 100644 index 00000000..410ded29 Binary files /dev/null and b/src/assets/img/ogi/fcc-is-ignoring-public-interest-in-net-neutrality-repeal-preview.png differ diff --git a/src/assets/img/ogi/fcc-isps-grapple-with-net-neutrality-challenges-preview.png b/src/assets/img/ogi/fcc-isps-grapple-with-net-neutrality-challenges-preview.png new file mode 100644 index 00000000..bd879854 Binary files /dev/null and b/src/assets/img/ogi/fcc-isps-grapple-with-net-neutrality-challenges-preview.png differ diff --git a/src/assets/img/ogi/fcc-proposes-to-fine-wireless-carriers-dollar200m-for-selling-customer-location-data-preview.png b/src/assets/img/ogi/fcc-proposes-to-fine-wireless-carriers-dollar200m-for-selling-customer-location-data-preview.png new file mode 100644 index 00000000..acba4396 Binary files /dev/null and b/src/assets/img/ogi/fcc-proposes-to-fine-wireless-carriers-dollar200m-for-selling-customer-location-data-preview.png differ diff --git a/src/assets/img/ogi/fcc-strategically-delays-finalizing-net-neutrality-repeal-preview.png b/src/assets/img/ogi/fcc-strategically-delays-finalizing-net-neutrality-repeal-preview.png new file mode 100644 index 00000000..0bda7b43 Binary files /dev/null and b/src/assets/img/ogi/fcc-strategically-delays-finalizing-net-neutrality-repeal-preview.png differ diff --git a/src/assets/img/ogi/fcc-throwing-consumer-privacy-protections-out-the-window-to-help-isps-preview.png b/src/assets/img/ogi/fcc-throwing-consumer-privacy-protections-out-the-window-to-help-isps-preview.png new file mode 100644 index 00000000..4b541701 Binary files /dev/null and b/src/assets/img/ogi/fcc-throwing-consumer-privacy-protections-out-the-window-to-help-isps-preview.png differ diff --git a/src/assets/img/ogi/firefox-is-showing-the-way-back-to-a-world-thats-private-by-default-preview.png b/src/assets/img/ogi/firefox-is-showing-the-way-back-to-a-world-thats-private-by-default-preview.png new file mode 100644 index 00000000..4ad0dbef Binary files /dev/null and b/src/assets/img/ogi/firefox-is-showing-the-way-back-to-a-world-thats-private-by-default-preview.png differ diff --git a/src/assets/img/ogi/firefox-turns-encrypted-dns-on-by-default-to-thwart-snooping-isps-preview.png b/src/assets/img/ogi/firefox-turns-encrypted-dns-on-by-default-to-thwart-snooping-isps-preview.png new file mode 100644 index 00000000..d6b0e0df Binary files /dev/null and b/src/assets/img/ogi/firefox-turns-encrypted-dns-on-by-default-to-thwart-snooping-isps-preview.png differ diff --git a/src/assets/img/ogi/fixing-memory-leaks-in-web-applications-preview.png b/src/assets/img/ogi/fixing-memory-leaks-in-web-applications-preview.png new file mode 100644 index 00000000..e8d28880 Binary files /dev/null and b/src/assets/img/ogi/fixing-memory-leaks-in-web-applications-preview.png differ diff --git a/src/assets/img/ogi/fixing-safari-icloud-syncing-preview.png b/src/assets/img/ogi/fixing-safari-icloud-syncing-preview.png new file mode 100644 index 00000000..6592d5bc Binary files /dev/null and b/src/assets/img/ogi/fixing-safari-icloud-syncing-preview.png differ diff --git a/src/assets/img/ogi/fort-collins-votes-in-favor-of-municipal-broadband-preview.png b/src/assets/img/ogi/fort-collins-votes-in-favor-of-municipal-broadband-preview.png new file mode 100644 index 00000000..c0ae115c Binary files /dev/null and b/src/assets/img/ogi/fort-collins-votes-in-favor-of-municipal-broadband-preview.png differ diff --git a/src/assets/img/ogi/from-ics-to-json-surfacing-anticipated-albums-preview.png b/src/assets/img/ogi/from-ics-to-json-surfacing-anticipated-albums-preview.png new file mode 100644 index 00000000..c4d9e7a7 Binary files /dev/null and b/src/assets/img/ogi/from-ics-to-json-surfacing-anticipated-albums-preview.png differ diff --git a/src/assets/img/ogi/front-on-email-preview.png b/src/assets/img/ogi/front-on-email-preview.png new file mode 100644 index 00000000..dfa047be Binary files /dev/null and b/src/assets/img/ogi/front-on-email-preview.png differ diff --git a/src/assets/img/ogi/fugazi-turnover-live-1991-preview.png b/src/assets/img/ogi/fugazi-turnover-live-1991-preview.png new file mode 100644 index 00000000..d1779c46 Binary files /dev/null and b/src/assets/img/ogi/fugazi-turnover-live-1991-preview.png differ diff --git a/src/assets/img/ogi/generating-a-responsive-css-grid-using-neat-preview.png b/src/assets/img/ogi/generating-a-responsive-css-grid-using-neat-preview.png new file mode 100644 index 00000000..2815ef66 Binary files /dev/null and b/src/assets/img/ogi/generating-a-responsive-css-grid-using-neat-preview.png differ diff --git a/src/assets/img/ogi/generating-jekyll-posts-using-drafts-and-working-copy-preview.png b/src/assets/img/ogi/generating-jekyll-posts-using-drafts-and-working-copy-preview.png new file mode 100644 index 00000000..05476a48 Binary files /dev/null and b/src/assets/img/ogi/generating-jekyll-posts-using-drafts-and-working-copy-preview.png differ diff --git a/src/assets/img/ogi/give-me-a-web-feed-or-an-api-for-everything-preview.png b/src/assets/img/ogi/give-me-a-web-feed-or-an-api-for-everything-preview.png new file mode 100644 index 00000000..ca00192d Binary files /dev/null and b/src/assets/img/ogi/give-me-a-web-feed-or-an-api-for-everything-preview.png differ diff --git a/src/assets/img/ogi/go-ahead-and-block-ai-web-crawlers-preview.png b/src/assets/img/ogi/go-ahead-and-block-ai-web-crawlers-preview.png new file mode 100644 index 00000000..71833360 Binary files /dev/null and b/src/assets/img/ogi/go-ahead-and-block-ai-web-crawlers-preview.png differ diff --git a/src/assets/img/ogi/godaddy-secretly-injecting-js-into-customer-sites-preview.png b/src/assets/img/ogi/godaddy-secretly-injecting-js-into-customer-sites-preview.png new file mode 100644 index 00000000..0870b4de Binary files /dev/null and b/src/assets/img/ogi/godaddy-secretly-injecting-js-into-customer-sites-preview.png differ diff --git a/src/assets/img/ogi/google-tracks-user-location-even-after-they-opt-out-preview.png b/src/assets/img/ogi/google-tracks-user-location-even-after-they-opt-out-preview.png new file mode 100644 index 00000000..bc79ef26 Binary files /dev/null and b/src/assets/img/ogi/google-tracks-user-location-even-after-they-opt-out-preview.png differ diff --git a/src/assets/img/ogi/googles-new-obsession-with-your-photos-preview.png b/src/assets/img/ogi/googles-new-obsession-with-your-photos-preview.png new file mode 100644 index 00000000..43691e59 Binary files /dev/null and b/src/assets/img/ogi/googles-new-obsession-with-your-photos-preview.png differ diff --git a/src/assets/img/ogi/gop-advances-plan-for-ring-free-voicemail-spam-preview.png b/src/assets/img/ogi/gop-advances-plan-for-ring-free-voicemail-spam-preview.png new file mode 100644 index 00000000..c45e102a Binary files /dev/null and b/src/assets/img/ogi/gop-advances-plan-for-ring-free-voicemail-spam-preview.png differ diff --git a/src/assets/img/ogi/gop-senators-new-bill-would-let-isps-sell-your-web-browsing-data-preview.png b/src/assets/img/ogi/gop-senators-new-bill-would-let-isps-sell-your-web-browsing-data-preview.png new file mode 100644 index 00000000..731f71a0 Binary files /dev/null and b/src/assets/img/ogi/gop-senators-new-bill-would-let-isps-sell-your-web-browsing-data-preview.png differ diff --git a/src/assets/img/ogi/grapes-of-wrath-preview.png b/src/assets/img/ogi/grapes-of-wrath-preview.png new file mode 100644 index 00000000..3da04ea1 Binary files /dev/null and b/src/assets/img/ogi/grapes-of-wrath-preview.png differ diff --git a/src/assets/img/ogi/hacking-together-a-tweeklyfm-replacement-preview.png b/src/assets/img/ogi/hacking-together-a-tweeklyfm-replacement-preview.png new file mode 100644 index 00000000..5d495de6 Binary files /dev/null and b/src/assets/img/ogi/hacking-together-a-tweeklyfm-replacement-preview.png differ diff --git a/src/assets/img/ogi/handling-images-with-b2-netlifys-image-cdn-hazel-and-mountain-duck-preview.png b/src/assets/img/ogi/handling-images-with-b2-netlifys-image-cdn-hazel-and-mountain-duck-preview.png new file mode 100644 index 00000000..62e75036 Binary files /dev/null and b/src/assets/img/ogi/handling-images-with-b2-netlifys-image-cdn-hazel-and-mountain-duck-preview.png differ diff --git a/src/assets/img/ogi/how-the-head-and-the-heart-made-organic-music-preview.png b/src/assets/img/ogi/how-the-head-and-the-heart-made-organic-music-preview.png new file mode 100644 index 00000000..ec313806 Binary files /dev/null and b/src/assets/img/ogi/how-the-head-and-the-heart-made-organic-music-preview.png differ diff --git a/src/assets/img/ogi/how-to-comment-on-the-fccs-proposal-to-kill-net-neutrality-preview.png b/src/assets/img/ogi/how-to-comment-on-the-fccs-proposal-to-kill-net-neutrality-preview.png new file mode 100644 index 00000000..281654dd Binary files /dev/null and b/src/assets/img/ogi/how-to-comment-on-the-fccs-proposal-to-kill-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/hypebot-hosts-la-music-tech-meetup-july-23-preview.png b/src/assets/img/ogi/hypebot-hosts-la-music-tech-meetup-july-23-preview.png new file mode 100644 index 00000000..26fa3c82 Binary files /dev/null and b/src/assets/img/ogi/hypebot-hosts-la-music-tech-meetup-july-23-preview.png differ diff --git a/src/assets/img/ogi/i-block-ads-preview.png b/src/assets/img/ogi/i-block-ads-preview.png new file mode 100644 index 00000000..8d682d65 Binary files /dev/null and b/src/assets/img/ogi/i-block-ads-preview.png differ diff --git a/src/assets/img/ogi/i-dont-want-anything-your-ai-generates-preview.png b/src/assets/img/ogi/i-dont-want-anything-your-ai-generates-preview.png new file mode 100644 index 00000000..1bdac03e Binary files /dev/null and b/src/assets/img/ogi/i-dont-want-anything-your-ai-generates-preview.png differ diff --git a/src/assets/img/ogi/i-dont-want-streaming-music-i-just-want-to-stream-my-music-preview.png b/src/assets/img/ogi/i-dont-want-streaming-music-i-just-want-to-stream-my-music-preview.png new file mode 100644 index 00000000..1ec71592 Binary files /dev/null and b/src/assets/img/ogi/i-dont-want-streaming-music-i-just-want-to-stream-my-music-preview.png differ diff --git a/src/assets/img/ogi/i-found-the-music-i-love-on-the-internet-preview.png b/src/assets/img/ogi/i-found-the-music-i-love-on-the-internet-preview.png new file mode 100644 index 00000000..1d82b221 Binary files /dev/null and b/src/assets/img/ogi/i-found-the-music-i-love-on-the-internet-preview.png differ diff --git a/src/assets/img/ogi/i-like-safari-but-nobody-should-be-required-to-use-it-preview.png b/src/assets/img/ogi/i-like-safari-but-nobody-should-be-required-to-use-it-preview.png new file mode 100644 index 00000000..2e089576 Binary files /dev/null and b/src/assets/img/ogi/i-like-safari-but-nobody-should-be-required-to-use-it-preview.png differ diff --git a/src/assets/img/ogi/i-need-ai-preview.png b/src/assets/img/ogi/i-need-ai-preview.png new file mode 100644 index 00000000..8a1b7281 Binary files /dev/null and b/src/assets/img/ogi/i-need-ai-preview.png differ diff --git a/src/assets/img/ogi/i-removed-tailwind-from-my-site-preview.png b/src/assets/img/ogi/i-removed-tailwind-from-my-site-preview.png new file mode 100644 index 00000000..4c3bad95 Binary files /dev/null and b/src/assets/img/ogi/i-removed-tailwind-from-my-site-preview.png differ diff --git a/src/assets/img/ogi/im-going-to-keep-opting-out-preview.png b/src/assets/img/ogi/im-going-to-keep-opting-out-preview.png new file mode 100644 index 00000000..73af39a8 Binary files /dev/null and b/src/assets/img/ogi/im-going-to-keep-opting-out-preview.png differ diff --git a/src/assets/img/ogi/installing-http2-on-ubuntu-1604-with-virtual-hosts-preview.png b/src/assets/img/ogi/installing-http2-on-ubuntu-1604-with-virtual-hosts-preview.png new file mode 100644 index 00000000..8624df7b Binary files /dev/null and b/src/assets/img/ogi/installing-http2-on-ubuntu-1604-with-virtual-hosts-preview.png differ diff --git a/src/assets/img/ogi/internet-privacy-rules-in-part-face-a-halt-at-the-fcc-preview.png b/src/assets/img/ogi/internet-privacy-rules-in-part-face-a-halt-at-the-fcc-preview.png new file mode 100644 index 00000000..a1252f0c Binary files /dev/null and b/src/assets/img/ogi/internet-privacy-rules-in-part-face-a-halt-at-the-fcc-preview.png differ diff --git a/src/assets/img/ogi/internet-privacy-rules-repealed-preview.png b/src/assets/img/ogi/internet-privacy-rules-repealed-preview.png new file mode 100644 index 00000000..64f146e8 Binary files /dev/null and b/src/assets/img/ogi/internet-privacy-rules-repealed-preview.png differ diff --git a/src/assets/img/ogi/iphone-spam-call-blockers-preview.png b/src/assets/img/ogi/iphone-spam-call-blockers-preview.png new file mode 100644 index 00000000..fe4f9369 Binary files /dev/null and b/src/assets/img/ogi/iphone-spam-call-blockers-preview.png differ diff --git a/src/assets/img/ogi/isps-look-to-the-supreme-court-to-kill-net-neutrality-preview.png b/src/assets/img/ogi/isps-look-to-the-supreme-court-to-kill-net-neutrality-preview.png new file mode 100644 index 00000000..8f1b9d13 Binary files /dev/null and b/src/assets/img/ogi/isps-look-to-the-supreme-court-to-kill-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/isps-secretly-furious-at-verizon-preview.png b/src/assets/img/ogi/isps-secretly-furious-at-verizon-preview.png new file mode 100644 index 00000000..51e8a377 Binary files /dev/null and b/src/assets/img/ogi/isps-secretly-furious-at-verizon-preview.png differ diff --git a/src/assets/img/ogi/it-is-possible-to-both-stream-and-buy-music-preview.png b/src/assets/img/ogi/it-is-possible-to-both-stream-and-buy-music-preview.png new file mode 100644 index 00000000..851967e5 Binary files /dev/null and b/src/assets/img/ogi/it-is-possible-to-both-stream-and-buy-music-preview.png differ diff --git a/src/assets/img/ogi/its-not-ai-generated-music-its-ai-generated-noise-preview.png b/src/assets/img/ogi/its-not-ai-generated-music-its-ai-generated-noise-preview.png new file mode 100644 index 00000000..bea163ae Binary files /dev/null and b/src/assets/img/ogi/its-not-ai-generated-music-its-ai-generated-noise-preview.png differ diff --git a/src/assets/img/ogi/its-past-time-to-delete-your-reddit-account-preview.png b/src/assets/img/ogi/its-past-time-to-delete-your-reddit-account-preview.png new file mode 100644 index 00000000..35b37bb9 Binary files /dev/null and b/src/assets/img/ogi/its-past-time-to-delete-your-reddit-account-preview.png differ diff --git a/src/assets/img/ogi/javascript-topics-and-frameworks-to-learn-in-2017-preview.png b/src/assets/img/ogi/javascript-topics-and-frameworks-to-learn-in-2017-preview.png new file mode 100644 index 00000000..39042195 Binary files /dev/null and b/src/assets/img/ogi/javascript-topics-and-frameworks-to-learn-in-2017-preview.png differ diff --git a/src/assets/img/ogi/keep-the-internet-open-preview.png b/src/assets/img/ogi/keep-the-internet-open-preview.png new file mode 100644 index 00000000..69d50b9c Binary files /dev/null and b/src/assets/img/ogi/keep-the-internet-open-preview.png differ diff --git a/src/assets/img/ogi/last-weeks-internet-calamity-that-wasnt-preview.png b/src/assets/img/ogi/last-weeks-internet-calamity-that-wasnt-preview.png new file mode 100644 index 00000000..e95c7e15 Binary files /dev/null and b/src/assets/img/ogi/last-weeks-internet-calamity-that-wasnt-preview.png differ diff --git a/src/assets/img/ogi/lawmakers-blast-fcc-net-neutrality-rollback-preview.png b/src/assets/img/ogi/lawmakers-blast-fcc-net-neutrality-rollback-preview.png new file mode 100644 index 00000000..24f0187c Binary files /dev/null and b/src/assets/img/ogi/lawmakers-blast-fcc-net-neutrality-rollback-preview.png differ diff --git a/src/assets/img/ogi/lawmakers-want-to-require-border-agents-to-obtain-a-warrant-for-smartphone-searches-preview.png b/src/assets/img/ogi/lawmakers-want-to-require-border-agents-to-obtain-a-warrant-for-smartphone-searches-preview.png new file mode 100644 index 00000000..51e05054 Binary files /dev/null and b/src/assets/img/ogi/lawmakers-want-to-require-border-agents-to-obtain-a-warrant-for-smartphone-searches-preview.png differ diff --git a/src/assets/img/ogi/lawsuit-seeks-records-of-fcc-net-neutrality-discussions-preview.png b/src/assets/img/ogi/lawsuit-seeks-records-of-fcc-net-neutrality-discussions-preview.png new file mode 100644 index 00000000..780edb23 Binary files /dev/null and b/src/assets/img/ogi/lawsuit-seeks-records-of-fcc-net-neutrality-discussions-preview.png differ diff --git a/src/assets/img/ogi/lazy-select-based-pagination-in-eleventy-preview.png b/src/assets/img/ogi/lazy-select-based-pagination-in-eleventy-preview.png new file mode 100644 index 00000000..f24b7078 Binary files /dev/null and b/src/assets/img/ogi/lazy-select-based-pagination-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/leaving-google-apps-for-fastmail-preview.png b/src/assets/img/ogi/leaving-google-apps-for-fastmail-preview.png new file mode 100644 index 00000000..17feedb9 Binary files /dev/null and b/src/assets/img/ogi/leaving-google-apps-for-fastmail-preview.png differ diff --git a/src/assets/img/ogi/lets-encrypt-hits-1-billion-certificates-issued-preview.png b/src/assets/img/ogi/lets-encrypt-hits-1-billion-certificates-issued-preview.png new file mode 100644 index 00000000..eab628bf Binary files /dev/null and b/src/assets/img/ogi/lets-encrypt-hits-1-billion-certificates-issued-preview.png differ diff --git a/src/assets/img/ogi/lets-encrypt-vulnerability-preview.png b/src/assets/img/ogi/lets-encrypt-vulnerability-preview.png new file mode 100644 index 00000000..62d7a52d Binary files /dev/null and b/src/assets/img/ogi/lets-encrypt-vulnerability-preview.png differ diff --git a/src/assets/img/ogi/lightweight-search-in-eleventy-preview.png b/src/assets/img/ogi/lightweight-search-in-eleventy-preview.png new file mode 100644 index 00000000..ea29bf9e Binary files /dev/null and b/src/assets/img/ogi/lightweight-search-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/link-blogging-using-readwise-reader-preview.png b/src/assets/img/ogi/link-blogging-using-readwise-reader-preview.png new file mode 100644 index 00000000..e1b92483 Binary files /dev/null and b/src/assets/img/ogi/link-blogging-using-readwise-reader-preview.png differ diff --git a/src/assets/img/ogi/link-page-improvements-preview.png b/src/assets/img/ogi/link-page-improvements-preview.png new file mode 100644 index 00000000..fa42e864 Binary files /dev/null and b/src/assets/img/ogi/link-page-improvements-preview.png differ diff --git a/src/assets/img/ogi/listen-okkervil-river-the-silver-gymnasium-preview.png b/src/assets/img/ogi/listen-okkervil-river-the-silver-gymnasium-preview.png new file mode 100644 index 00000000..d95c0862 Binary files /dev/null and b/src/assets/img/ogi/listen-okkervil-river-the-silver-gymnasium-preview.png differ diff --git a/src/assets/img/ogi/look-for-longevity-preview.png b/src/assets/img/ogi/look-for-longevity-preview.png new file mode 100644 index 00000000..c47f7f8e Binary files /dev/null and b/src/assets/img/ogi/look-for-longevity-preview.png differ diff --git a/src/assets/img/ogi/maps-and-music-explore-okkervil-rivers-new-album-preview.png b/src/assets/img/ogi/maps-and-music-explore-okkervil-rivers-new-album-preview.png new file mode 100644 index 00000000..b24b4036 Binary files /dev/null and b/src/assets/img/ogi/maps-and-music-explore-okkervil-rivers-new-album-preview.png differ diff --git a/src/assets/img/ogi/migrating-to-fastmail-preview.png b/src/assets/img/ogi/migrating-to-fastmail-preview.png new file mode 100644 index 00000000..19705c89 Binary files /dev/null and b/src/assets/img/ogi/migrating-to-fastmail-preview.png differ diff --git a/src/assets/img/ogi/migrating-your-letterboxd-data-preview.png b/src/assets/img/ogi/migrating-your-letterboxd-data-preview.png new file mode 100644 index 00000000..a832d362 Binary files /dev/null and b/src/assets/img/ogi/migrating-your-letterboxd-data-preview.png differ diff --git a/src/assets/img/ogi/minimalism-as-self-preservation-preview.png b/src/assets/img/ogi/minimalism-as-self-preservation-preview.png new file mode 100644 index 00000000..44af9bb1 Binary files /dev/null and b/src/assets/img/ogi/minimalism-as-self-preservation-preview.png differ diff --git a/src/assets/img/ogi/misleading-arguments-against-net-neutrality-abound-preview.png b/src/assets/img/ogi/misleading-arguments-against-net-neutrality-abound-preview.png new file mode 100644 index 00000000..fd1c290c Binary files /dev/null and b/src/assets/img/ogi/misleading-arguments-against-net-neutrality-abound-preview.png differ diff --git a/src/assets/img/ogi/mobile-web-development-with-codespaces-preview.png b/src/assets/img/ogi/mobile-web-development-with-codespaces-preview.png new file mode 100644 index 00000000..48764d03 Binary files /dev/null and b/src/assets/img/ogi/mobile-web-development-with-codespaces-preview.png differ diff --git a/src/assets/img/ogi/model-behavior-preview.png b/src/assets/img/ogi/model-behavior-preview.png new file mode 100644 index 00000000..da79e3a2 Binary files /dev/null and b/src/assets/img/ogi/model-behavior-preview.png differ diff --git a/src/assets/img/ogi/move-slow-and-break-nothing-preview.png b/src/assets/img/ogi/move-slow-and-break-nothing-preview.png new file mode 100644 index 00000000..0d3db0d2 Binary files /dev/null and b/src/assets/img/ogi/move-slow-and-break-nothing-preview.png differ diff --git a/src/assets/img/ogi/moving-to-bitbucket-preview.png b/src/assets/img/ogi/moving-to-bitbucket-preview.png new file mode 100644 index 00000000..2afc9a76 Binary files /dev/null and b/src/assets/img/ogi/moving-to-bitbucket-preview.png differ diff --git a/src/assets/img/ogi/my-default-apps-2023-edition-preview.png b/src/assets/img/ogi/my-default-apps-2023-edition-preview.png new file mode 100644 index 00000000..474b5732 Binary files /dev/null and b/src/assets/img/ogi/my-default-apps-2023-edition-preview.png differ diff --git a/src/assets/img/ogi/net-neutrality-is-repealed-as-the-real-fight-for-it-begins-preview.png b/src/assets/img/ogi/net-neutrality-is-repealed-as-the-real-fight-for-it-begins-preview.png new file mode 100644 index 00000000..026077ae Binary files /dev/null and b/src/assets/img/ogi/net-neutrality-is-repealed-as-the-real-fight-for-it-begins-preview.png differ diff --git a/src/assets/img/ogi/new-arcade-fire-album-is-epic-james-murphy-says-preview.png b/src/assets/img/ogi/new-arcade-fire-album-is-epic-james-murphy-says-preview.png new file mode 100644 index 00000000..bcf5cbb9 Binary files /dev/null and b/src/assets/img/ogi/new-arcade-fire-album-is-epic-james-murphy-says-preview.png differ diff --git a/src/assets/img/ogi/new-sleigh-bells-album-in-october-preview.png b/src/assets/img/ogi/new-sleigh-bells-album-in-october-preview.png new file mode 100644 index 00000000..669edd0a Binary files /dev/null and b/src/assets/img/ogi/new-sleigh-bells-album-in-october-preview.png differ diff --git a/src/assets/img/ogi/nomeansno-live-via-marinet-tvm-preview.png b/src/assets/img/ogi/nomeansno-live-via-marinet-tvm-preview.png new file mode 100644 index 00000000..0ea2836b Binary files /dev/null and b/src/assets/img/ogi/nomeansno-live-via-marinet-tvm-preview.png differ diff --git a/src/assets/img/ogi/now-page-grouping-episodes-of-the-same-tv-show-preview.png b/src/assets/img/ogi/now-page-grouping-episodes-of-the-same-tv-show-preview.png new file mode 100644 index 00000000..a381533d Binary files /dev/null and b/src/assets/img/ogi/now-page-grouping-episodes-of-the-same-tv-show-preview.png differ diff --git a/src/assets/img/ogi/now-page-update-favorite-articles-from-matter-preview.png b/src/assets/img/ogi/now-page-update-favorite-articles-from-matter-preview.png new file mode 100644 index 00000000..b6a0edd6 Binary files /dev/null and b/src/assets/img/ogi/now-page-update-favorite-articles-from-matter-preview.png differ diff --git a/src/assets/img/ogi/nows-the-time-to-own-and-host-your-own-content-preview.png b/src/assets/img/ogi/nows-the-time-to-own-and-host-your-own-content-preview.png new file mode 100644 index 00000000..a955d07e Binary files /dev/null and b/src/assets/img/ogi/nows-the-time-to-own-and-host-your-own-content-preview.png differ diff --git a/src/assets/img/ogi/of-course-ai-is-extractive-everything-is-lately-preview.png b/src/assets/img/ogi/of-course-ai-is-extractive-everything-is-lately-preview.png new file mode 100644 index 00000000..5be74f64 Binary files /dev/null and b/src/assets/img/ogi/of-course-ai-is-extractive-everything-is-lately-preview.png differ diff --git a/src/assets/img/ogi/oig-report-fcc-lied-about-being-hacked-preview.png b/src/assets/img/ogi/oig-report-fcc-lied-about-being-hacked-preview.png new file mode 100644 index 00000000..4052b8d2 Binary files /dev/null and b/src/assets/img/ogi/oig-report-fcc-lied-about-being-hacked-preview.png differ diff --git a/src/assets/img/ogi/okkervil-river-lido-pier-suicide-car-preview.png b/src/assets/img/ogi/okkervil-river-lido-pier-suicide-car-preview.png new file mode 100644 index 00000000..7275c355 Binary files /dev/null and b/src/assets/img/ogi/okkervil-river-lido-pier-suicide-car-preview.png differ diff --git a/src/assets/img/ogi/okkervil-river-open-mic-night-preview.png b/src/assets/img/ogi/okkervil-river-open-mic-night-preview.png new file mode 100644 index 00000000..7cef265e Binary files /dev/null and b/src/assets/img/ogi/okkervil-river-open-mic-night-preview.png differ diff --git a/src/assets/img/ogi/okkervil-river-stay-young-preview.png b/src/assets/img/ogi/okkervil-river-stay-young-preview.png new file mode 100644 index 00000000..e5922072 Binary files /dev/null and b/src/assets/img/ogi/okkervil-river-stay-young-preview.png differ diff --git a/src/assets/img/ogi/on-getting-tattooed-preview.png b/src/assets/img/ogi/on-getting-tattooed-preview.png new file mode 100644 index 00000000..ee383717 Binary files /dev/null and b/src/assets/img/ogi/on-getting-tattooed-preview.png differ diff --git a/src/assets/img/ogi/on-imposter-syndrome-preview.png b/src/assets/img/ogi/on-imposter-syndrome-preview.png new file mode 100644 index 00000000..77ba689e Binary files /dev/null and b/src/assets/img/ogi/on-imposter-syndrome-preview.png differ diff --git a/src/assets/img/ogi/onward-to-the-storygraph-preview.png b/src/assets/img/ogi/onward-to-the-storygraph-preview.png new file mode 100644 index 00000000..dc32a9c8 Binary files /dev/null and b/src/assets/img/ogi/onward-to-the-storygraph-preview.png differ diff --git a/src/assets/img/ogi/optimizing-for-performance-with-eleventy-preview.png b/src/assets/img/ogi/optimizing-for-performance-with-eleventy-preview.png new file mode 100644 index 00000000..52a8e90c Binary files /dev/null and b/src/assets/img/ogi/optimizing-for-performance-with-eleventy-preview.png differ diff --git a/src/assets/img/ogi/panoply-announces-ad-targeting-for-podcasts-preview.png b/src/assets/img/ogi/panoply-announces-ad-targeting-for-podcasts-preview.png new file mode 100644 index 00000000..95d22c27 Binary files /dev/null and b/src/assets/img/ogi/panoply-announces-ad-targeting-for-podcasts-preview.png differ diff --git a/src/assets/img/ogi/photo-management-with-dropbox-and-hazel-preview.png b/src/assets/img/ogi/photo-management-with-dropbox-and-hazel-preview.png new file mode 100644 index 00000000..103050bb Binary files /dev/null and b/src/assets/img/ogi/photo-management-with-dropbox-and-hazel-preview.png differ diff --git a/src/assets/img/ogi/pile-on-the-kale-salad-and-an-extra-chicken-wing-preview.png b/src/assets/img/ogi/pile-on-the-kale-salad-and-an-extra-chicken-wing-preview.png new file mode 100644 index 00000000..5483468a Binary files /dev/null and b/src/assets/img/ogi/pile-on-the-kale-salad-and-an-extra-chicken-wing-preview.png differ diff --git a/src/assets/img/ogi/popular-sites-support-long-shot-effort-to-save-net-neutrality-preview.png b/src/assets/img/ogi/popular-sites-support-long-shot-effort-to-save-net-neutrality-preview.png new file mode 100644 index 00000000..da44fd3a Binary files /dev/null and b/src/assets/img/ogi/popular-sites-support-long-shot-effort-to-save-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/popular-tech-companies-work-to-stop-california-privacy-law-preview.png b/src/assets/img/ogi/popular-tech-companies-work-to-stop-california-privacy-law-preview.png new file mode 100644 index 00000000..c1f58eab Binary files /dev/null and b/src/assets/img/ogi/popular-tech-companies-work-to-stop-california-privacy-law-preview.png differ diff --git a/src/assets/img/ogi/postal-service-some-idealistic-future-preview.png b/src/assets/img/ogi/postal-service-some-idealistic-future-preview.png new file mode 100644 index 00000000..f2b37512 Binary files /dev/null and b/src/assets/img/ogi/postal-service-some-idealistic-future-preview.png differ diff --git a/src/assets/img/ogi/power-to-the-people-preview.png b/src/assets/img/ogi/power-to-the-people-preview.png new file mode 100644 index 00000000..965661aa Binary files /dev/null and b/src/assets/img/ogi/power-to-the-people-preview.png differ diff --git a/src/assets/img/ogi/prevent-content-from-being-hidden-underneath-a-fixed-header-by-using-scroll-margin-top-preview.png b/src/assets/img/ogi/prevent-content-from-being-hidden-underneath-a-fixed-header-by-using-scroll-margin-top-preview.png new file mode 100644 index 00000000..c462770d Binary files /dev/null and b/src/assets/img/ogi/prevent-content-from-being-hidden-underneath-a-fixed-header-by-using-scroll-margin-top-preview.png differ diff --git a/src/assets/img/ogi/programmatically-importing-your-lastfm-listening-data-to-listenbrainz-preview.png b/src/assets/img/ogi/programmatically-importing-your-lastfm-listening-data-to-listenbrainz-preview.png new file mode 100644 index 00000000..214441ce Binary files /dev/null and b/src/assets/img/ogi/programmatically-importing-your-lastfm-listening-data-to-listenbrainz-preview.png differ diff --git a/src/assets/img/ogi/protecting-your-privacy-preview.png b/src/assets/img/ogi/protecting-your-privacy-preview.png new file mode 100644 index 00000000..3d0f7e1f Binary files /dev/null and b/src/assets/img/ogi/protecting-your-privacy-preview.png differ diff --git a/src/assets/img/ogi/protocols-not-platforms-a-technological-approach-to-free-speech-preview.png b/src/assets/img/ogi/protocols-not-platforms-a-technological-approach-to-free-speech-preview.png new file mode 100644 index 00000000..0012eb3a Binary files /dev/null and b/src/assets/img/ogi/protocols-not-platforms-a-technological-approach-to-free-speech-preview.png differ diff --git a/src/assets/img/ogi/publishing-to-kirby-using-drafts-workflows-preview.png b/src/assets/img/ogi/publishing-to-kirby-using-drafts-workflows-preview.png new file mode 100644 index 00000000..4bb2c1ae Binary files /dev/null and b/src/assets/img/ogi/publishing-to-kirby-using-drafts-workflows-preview.png differ diff --git a/src/assets/img/ogi/renting-your-music-means-accepting-that-it-will-disappear-preview.png b/src/assets/img/ogi/renting-your-music-means-accepting-that-it-will-disappear-preview.png new file mode 100644 index 00000000..3e19e701 Binary files /dev/null and b/src/assets/img/ogi/renting-your-music-means-accepting-that-it-will-disappear-preview.png differ diff --git a/src/assets/img/ogi/responsible-encryption-preview.png b/src/assets/img/ogi/responsible-encryption-preview.png new file mode 100644 index 00000000..58af004c Binary files /dev/null and b/src/assets/img/ogi/responsible-encryption-preview.png differ diff --git a/src/assets/img/ogi/road-to-madness-charting-apple-music-listening-data-preview.png b/src/assets/img/ogi/road-to-madness-charting-apple-music-listening-data-preview.png new file mode 100644 index 00000000..98f59074 Binary files /dev/null and b/src/assets/img/ogi/road-to-madness-charting-apple-music-listening-data-preview.png differ diff --git a/src/assets/img/ogi/rss-still-beats-social-media-for-tracking-news-preview.png b/src/assets/img/ogi/rss-still-beats-social-media-for-tracking-news-preview.png new file mode 100644 index 00000000..0c25ade7 Binary files /dev/null and b/src/assets/img/ogi/rss-still-beats-social-media-for-tracking-news-preview.png differ diff --git a/src/assets/img/ogi/russia-tries-to-force-social-media-giants-to-relocate-servers-to-russia-preview.png b/src/assets/img/ogi/russia-tries-to-force-social-media-giants-to-relocate-servers-to-russia-preview.png new file mode 100644 index 00000000..5c3fbe7c Binary files /dev/null and b/src/assets/img/ogi/russia-tries-to-force-social-media-giants-to-relocate-servers-to-russia-preview.png differ diff --git a/src/assets/img/ogi/sarahah-uploads-your-contacts-without-permission-preview.png b/src/assets/img/ogi/sarahah-uploads-your-contacts-without-permission-preview.png new file mode 100644 index 00000000..500d51d0 Binary files /dev/null and b/src/assets/img/ogi/sarahah-uploads-your-contacts-without-permission-preview.png differ diff --git a/src/assets/img/ogi/scheduled-eleventy-builds-on-vercel-with-cron-triggered-github-actions-preview.png b/src/assets/img/ogi/scheduled-eleventy-builds-on-vercel-with-cron-triggered-github-actions-preview.png new file mode 100644 index 00000000..76adc9d5 Binary files /dev/null and b/src/assets/img/ogi/scheduled-eleventy-builds-on-vercel-with-cron-triggered-github-actions-preview.png differ diff --git a/src/assets/img/ogi/scotch-box-for-local-lamp-development-preview.png b/src/assets/img/ogi/scotch-box-for-local-lamp-development-preview.png new file mode 100644 index 00000000..218d1519 Binary files /dev/null and b/src/assets/img/ogi/scotch-box-for-local-lamp-development-preview.png differ diff --git a/src/assets/img/ogi/scriptable-backups-with-arq-preview.png b/src/assets/img/ogi/scriptable-backups-with-arq-preview.png new file mode 100644 index 00000000..b2593c48 Binary files /dev/null and b/src/assets/img/ogi/scriptable-backups-with-arq-preview.png differ diff --git a/src/assets/img/ogi/securing-your-personal-devices-and-accounts-preview.png b/src/assets/img/ogi/securing-your-personal-devices-and-accounts-preview.png new file mode 100644 index 00000000..206df40c Binary files /dev/null and b/src/assets/img/ogi/securing-your-personal-devices-and-accounts-preview.png differ diff --git a/src/assets/img/ogi/semi-automated-hashtags-for-syndicated-posts-preview.png b/src/assets/img/ogi/semi-automated-hashtags-for-syndicated-posts-preview.png new file mode 100644 index 00000000..43a3167b Binary files /dev/null and b/src/assets/img/ogi/semi-automated-hashtags-for-syndicated-posts-preview.png differ diff --git a/src/assets/img/ogi/senate-chooses-isps-over-customer-privacy-preview.png b/src/assets/img/ogi/senate-chooses-isps-over-customer-privacy-preview.png new file mode 100644 index 00000000..5be1200a Binary files /dev/null and b/src/assets/img/ogi/senate-chooses-isps-over-customer-privacy-preview.png differ diff --git a/src/assets/img/ogi/senate-push-for-encryption-legislation-falters-preview.png b/src/assets/img/ogi/senate-push-for-encryption-legislation-falters-preview.png new file mode 100644 index 00000000..84354c04 Binary files /dev/null and b/src/assets/img/ogi/senate-push-for-encryption-legislation-falters-preview.png differ diff --git a/src/assets/img/ogi/senator-attacks-isp-and-fcc-argument-for-net-neutrality-repeal-preview.png b/src/assets/img/ogi/senator-attacks-isp-and-fcc-argument-for-net-neutrality-repeal-preview.png new file mode 100644 index 00000000..2f2646a4 Binary files /dev/null and b/src/assets/img/ogi/senator-attacks-isp-and-fcc-argument-for-net-neutrality-repeal-preview.png differ diff --git a/src/assets/img/ogi/senators-press-wireless-carriers-on-mobile-throttling-preview.png b/src/assets/img/ogi/senators-press-wireless-carriers-on-mobile-throttling-preview.png new file mode 100644 index 00000000..a21cdf16 Binary files /dev/null and b/src/assets/img/ogi/senators-press-wireless-carriers-on-mobile-throttling-preview.png differ diff --git a/src/assets/img/ogi/senators-warn-against-net-neutrality-repeal-preview.png b/src/assets/img/ogi/senators-warn-against-net-neutrality-repeal-preview.png new file mode 100644 index 00000000..ce281e8b Binary files /dev/null and b/src/assets/img/ogi/senators-warn-against-net-neutrality-repeal-preview.png differ diff --git a/src/assets/img/ogi/setting-up-image-transforms-in-eleventy-preview.png b/src/assets/img/ogi/setting-up-image-transforms-in-eleventy-preview.png new file mode 100644 index 00000000..77dd1931 Binary files /dev/null and b/src/assets/img/ogi/setting-up-image-transforms-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/sharing-links-via-rss-sharing-links-via-apis-preview.png b/src/assets/img/ogi/sharing-links-via-rss-sharing-links-via-apis-preview.png new file mode 100644 index 00000000..617013d2 Binary files /dev/null and b/src/assets/img/ogi/sharing-links-via-rss-sharing-links-via-apis-preview.png differ diff --git a/src/assets/img/ogi/signs-youve-taken-a-bad-job-preview.png b/src/assets/img/ogi/signs-youve-taken-a-bad-job-preview.png new file mode 100644 index 00000000..efddc80c Binary files /dev/null and b/src/assets/img/ogi/signs-youve-taken-a-bad-job-preview.png differ diff --git a/src/assets/img/ogi/silicon-valley-fights-to-preserve-net-neutrality-preview.png b/src/assets/img/ogi/silicon-valley-fights-to-preserve-net-neutrality-preview.png new file mode 100644 index 00000000..ffc939a7 Binary files /dev/null and b/src/assets/img/ogi/silicon-valley-fights-to-preserve-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/silos-and-centralization-on-the-internet-preview.png b/src/assets/img/ogi/silos-and-centralization-on-the-internet-preview.png new file mode 100644 index 00000000..d0195e84 Binary files /dev/null and b/src/assets/img/ogi/silos-and-centralization-on-the-internet-preview.png differ diff --git a/src/assets/img/ogi/simple-data-fetching-with-custom-react-hooks-and-swr-preview.png b/src/assets/img/ogi/simple-data-fetching-with-custom-react-hooks-and-swr-preview.png new file mode 100644 index 00000000..4a0a75b2 Binary files /dev/null and b/src/assets/img/ogi/simple-data-fetching-with-custom-react-hooks-and-swr-preview.png differ diff --git a/src/assets/img/ogi/skin-and-bones-old-horses-preview.png b/src/assets/img/ogi/skin-and-bones-old-horses-preview.png new file mode 100644 index 00000000..b2d84ba9 Binary files /dev/null and b/src/assets/img/ogi/skin-and-bones-old-horses-preview.png differ diff --git a/src/assets/img/ogi/some-site-updates-preview.png b/src/assets/img/ogi/some-site-updates-preview.png new file mode 100644 index 00000000..d4d24bb0 Binary files /dev/null and b/src/assets/img/ogi/some-site-updates-preview.png differ diff --git a/src/assets/img/ogi/sorting-email-using-aliases-and-plus-addressing-in-fastmail-preview.png b/src/assets/img/ogi/sorting-email-using-aliases-and-plus-addressing-in-fastmail-preview.png new file mode 100644 index 00000000..6b4cc36b Binary files /dev/null and b/src/assets/img/ogi/sorting-email-using-aliases-and-plus-addressing-in-fastmail-preview.png differ diff --git a/src/assets/img/ogi/spotify-begins-to-gain-leverage-in-its-relationship-with-labels-preview.png b/src/assets/img/ogi/spotify-begins-to-gain-leverage-in-its-relationship-with-labels-preview.png new file mode 100644 index 00000000..cc8ecd35 Binary files /dev/null and b/src/assets/img/ogi/spotify-begins-to-gain-leverage-in-its-relationship-with-labels-preview.png differ diff --git a/src/assets/img/ogi/ssh-directory-permissions-preview.png b/src/assets/img/ogi/ssh-directory-permissions-preview.png new file mode 100644 index 00000000..171decd0 Binary files /dev/null and b/src/assets/img/ogi/ssh-directory-permissions-preview.png differ diff --git a/src/assets/img/ogi/standard-markdown-preview.png b/src/assets/img/ogi/standard-markdown-preview.png new file mode 100644 index 00000000..47d8dc81 Binary files /dev/null and b/src/assets/img/ogi/standard-markdown-preview.png differ diff --git a/src/assets/img/ogi/streaming-music-has-left-me-adrift-preview.png b/src/assets/img/ogi/streaming-music-has-left-me-adrift-preview.png new file mode 100644 index 00000000..5472a76a Binary files /dev/null and b/src/assets/img/ogi/streaming-music-has-left-me-adrift-preview.png differ diff --git a/src/assets/img/ogi/sublime-text-3-ctrl-tab-key-bindings-preview.png b/src/assets/img/ogi/sublime-text-3-ctrl-tab-key-bindings-preview.png new file mode 100644 index 00000000..cd6e9cc3 Binary files /dev/null and b/src/assets/img/ogi/sublime-text-3-ctrl-tab-key-bindings-preview.png differ diff --git a/src/assets/img/ogi/support-small-businesses-internet-ones-too-preview.png b/src/assets/img/ogi/support-small-businesses-internet-ones-too-preview.png new file mode 100644 index 00000000..db8ef12e Binary files /dev/null and b/src/assets/img/ogi/support-small-businesses-internet-ones-too-preview.png differ diff --git a/src/assets/img/ogi/surfacing-most-used-tags-in-eleventy-preview.png b/src/assets/img/ogi/surfacing-most-used-tags-in-eleventy-preview.png new file mode 100644 index 00000000..479cda5f Binary files /dev/null and b/src/assets/img/ogi/surfacing-most-used-tags-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/syncing-osx-app-preferences-and-dot-files-preview.png b/src/assets/img/ogi/syncing-osx-app-preferences-and-dot-files-preview.png new file mode 100644 index 00000000..7ef55a2e Binary files /dev/null and b/src/assets/img/ogi/syncing-osx-app-preferences-and-dot-files-preview.png differ diff --git a/src/assets/img/ogi/talk-building-a-now-page-with-eleventy-preview.png b/src/assets/img/ogi/talk-building-a-now-page-with-eleventy-preview.png new file mode 100644 index 00000000..1ee13ee5 Binary files /dev/null and b/src/assets/img/ogi/talk-building-a-now-page-with-eleventy-preview.png differ diff --git a/src/assets/img/ogi/tech-companies-agree-to-voluntary-principles-as-governments-ask-for-encryption-backdoors-preview.png b/src/assets/img/ogi/tech-companies-agree-to-voluntary-principles-as-governments-ask-for-encryption-backdoors-preview.png new file mode 100644 index 00000000..1dec0585 Binary files /dev/null and b/src/assets/img/ogi/tech-companies-agree-to-voluntary-principles-as-governments-ask-for-encryption-backdoors-preview.png differ diff --git a/src/assets/img/ogi/tech-companies-are-helping-bosses-monitor-everything-you-do-at-work-preview.png b/src/assets/img/ogi/tech-companies-are-helping-bosses-monitor-everything-you-do-at-work-preview.png new file mode 100644 index 00000000..1f1da4a1 Binary files /dev/null and b/src/assets/img/ogi/tech-companies-are-helping-bosses-monitor-everything-you-do-at-work-preview.png differ diff --git a/src/assets/img/ogi/techdirt-podcast-on-the-new-fcc-preview.png b/src/assets/img/ogi/techdirt-podcast-on-the-new-fcc-preview.png new file mode 100644 index 00000000..dcae1356 Binary files /dev/null and b/src/assets/img/ogi/techdirt-podcast-on-the-new-fcc-preview.png differ diff --git a/src/assets/img/ogi/the-bullshit-web-preview.png b/src/assets/img/ogi/the-bullshit-web-preview.png new file mode 100644 index 00000000..14b6af3c Binary files /dev/null and b/src/assets/img/ogi/the-bullshit-web-preview.png differ diff --git a/src/assets/img/ogi/the-copenhagen-letter-preview.png b/src/assets/img/ogi/the-copenhagen-letter-preview.png new file mode 100644 index 00000000..8ae05abc Binary files /dev/null and b/src/assets/img/ogi/the-copenhagen-letter-preview.png differ diff --git a/src/assets/img/ogi/the-doj-asks-startup-investors-are-tech-giants-too-powerful-preview.png b/src/assets/img/ogi/the-doj-asks-startup-investors-are-tech-giants-too-powerful-preview.png new file mode 100644 index 00000000..2fb0f72c Binary files /dev/null and b/src/assets/img/ogi/the-doj-asks-startup-investors-are-tech-giants-too-powerful-preview.png differ diff --git a/src/assets/img/ogi/the-earn-it-act-is-a-sneak-attack-on-encryption-preview.png b/src/assets/img/ogi/the-earn-it-act-is-a-sneak-attack-on-encryption-preview.png new file mode 100644 index 00000000..fa13189d Binary files /dev/null and b/src/assets/img/ogi/the-earn-it-act-is-a-sneak-attack-on-encryption-preview.png differ diff --git a/src/assets/img/ogi/the-earn-it-act-is-unconstitutional-fourth-amendment-preview.png b/src/assets/img/ogi/the-earn-it-act-is-unconstitutional-fourth-amendment-preview.png new file mode 100644 index 00000000..e9a4445a Binary files /dev/null and b/src/assets/img/ogi/the-earn-it-act-is-unconstitutional-fourth-amendment-preview.png differ diff --git a/src/assets/img/ogi/the-equifax-breach-is-a-disaster-preview.png b/src/assets/img/ogi/the-equifax-breach-is-a-disaster-preview.png new file mode 100644 index 00000000..b93b7821 Binary files /dev/null and b/src/assets/img/ogi/the-equifax-breach-is-a-disaster-preview.png differ diff --git a/src/assets/img/ogi/the-fcc-sucks-at-repealing-net-neutrality-preview.png b/src/assets/img/ogi/the-fcc-sucks-at-repealing-net-neutrality-preview.png new file mode 100644 index 00000000..6b58923c Binary files /dev/null and b/src/assets/img/ogi/the-fcc-sucks-at-repealing-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/the-graham-blumenthal-bill-a-new-path-for-doj-to-finally-break-encryption-preview.png b/src/assets/img/ogi/the-graham-blumenthal-bill-a-new-path-for-doj-to-finally-break-encryption-preview.png new file mode 100644 index 00000000..2ca3568e Binary files /dev/null and b/src/assets/img/ogi/the-graham-blumenthal-bill-a-new-path-for-doj-to-finally-break-encryption-preview.png differ diff --git a/src/assets/img/ogi/the-history-of-the-url-preview.png b/src/assets/img/ogi/the-history-of-the-url-preview.png new file mode 100644 index 00000000..4783d3c7 Binary files /dev/null and b/src/assets/img/ogi/the-history-of-the-url-preview.png differ diff --git a/src/assets/img/ogi/the-internet-belongs-to-the-people-not-powerful-corporate-interests-preview.png b/src/assets/img/ogi/the-internet-belongs-to-the-people-not-powerful-corporate-interests-preview.png new file mode 100644 index 00000000..67e92300 Binary files /dev/null and b/src/assets/img/ogi/the-internet-belongs-to-the-people-not-powerful-corporate-interests-preview.png differ diff --git a/src/assets/img/ogi/the-internet-isnt-dying-its-changing-preview.png b/src/assets/img/ogi/the-internet-isnt-dying-its-changing-preview.png new file mode 100644 index 00000000..dabd6652 Binary files /dev/null and b/src/assets/img/ogi/the-internet-isnt-dying-its-changing-preview.png differ diff --git a/src/assets/img/ogi/the-national-at-jimmy-kimmel-live-preview.png b/src/assets/img/ogi/the-national-at-jimmy-kimmel-live-preview.png new file mode 100644 index 00000000..22556d99 Binary files /dev/null and b/src/assets/img/ogi/the-national-at-jimmy-kimmel-live-preview.png differ diff --git a/src/assets/img/ogi/the-next-big-blue-collar-job-is-coding-preview.png b/src/assets/img/ogi/the-next-big-blue-collar-job-is-coding-preview.png new file mode 100644 index 00000000..5569ae41 Binary files /dev/null and b/src/assets/img/ogi/the-next-big-blue-collar-job-is-coding-preview.png differ diff --git a/src/assets/img/ogi/the-silver-gymnasium-preview.png b/src/assets/img/ogi/the-silver-gymnasium-preview.png new file mode 100644 index 00000000..ba0cd48b Binary files /dev/null and b/src/assets/img/ogi/the-silver-gymnasium-preview.png differ diff --git a/src/assets/img/ogi/the-story-behind-drafts-preview.png b/src/assets/img/ogi/the-story-behind-drafts-preview.png new file mode 100644 index 00000000..2ef103b4 Binary files /dev/null and b/src/assets/img/ogi/the-story-behind-drafts-preview.png differ diff --git a/src/assets/img/ogi/the-tech-education-con-preview.png b/src/assets/img/ogi/the-tech-education-con-preview.png new file mode 100644 index 00000000..d36efd8b Binary files /dev/null and b/src/assets/img/ogi/the-tech-education-con-preview.png differ diff --git a/src/assets/img/ogi/the-year-encryption-won-preview.png b/src/assets/img/ogi/the-year-encryption-won-preview.png new file mode 100644 index 00000000..00bbb15f Binary files /dev/null and b/src/assets/img/ogi/the-year-encryption-won-preview.png differ diff --git a/src/assets/img/ogi/thoughts-on-permanence-preview.png b/src/assets/img/ogi/thoughts-on-permanence-preview.png new file mode 100644 index 00000000..5480441c Binary files /dev/null and b/src/assets/img/ogi/thoughts-on-permanence-preview.png differ diff --git a/src/assets/img/ogi/three-days-left-to-comment-on-the-fcc-plan-to-kill-net-neutrality-preview.png b/src/assets/img/ogi/three-days-left-to-comment-on-the-fcc-plan-to-kill-net-neutrality-preview.png new file mode 100644 index 00000000..fea7c0d8 Binary files /dev/null and b/src/assets/img/ogi/three-days-left-to-comment-on-the-fcc-plan-to-kill-net-neutrality-preview.png differ diff --git a/src/assets/img/ogi/throwing-together-a-blog-preview.png b/src/assets/img/ogi/throwing-together-a-blog-preview.png new file mode 100644 index 00000000..f16c673c Binary files /dev/null and b/src/assets/img/ogi/throwing-together-a-blog-preview.png differ diff --git a/src/assets/img/ogi/time-to-break-up-facebook-preview.png b/src/assets/img/ogi/time-to-break-up-facebook-preview.png new file mode 100644 index 00000000..6934ec34 Binary files /dev/null and b/src/assets/img/ogi/time-to-break-up-facebook-preview.png differ diff --git a/src/assets/img/ogi/towards-a-quieter-friendlier-web-preview.png b/src/assets/img/ogi/towards-a-quieter-friendlier-web-preview.png new file mode 100644 index 00000000..cd5248f3 Binary files /dev/null and b/src/assets/img/ogi/towards-a-quieter-friendlier-web-preview.png differ diff --git a/src/assets/img/ogi/trump-fcc-chair-begins-dismantling-consumer-protections-and-subsidies-preview.png b/src/assets/img/ogi/trump-fcc-chair-begins-dismantling-consumer-protections-and-subsidies-preview.png new file mode 100644 index 00000000..842e17a2 Binary files /dev/null and b/src/assets/img/ogi/trump-fcc-chair-begins-dismantling-consumer-protections-and-subsidies-preview.png differ diff --git a/src/assets/img/ogi/turns-out-your-kids-really-did-love-that-music-you-played-preview.png b/src/assets/img/ogi/turns-out-your-kids-really-did-love-that-music-you-played-preview.png new file mode 100644 index 00000000..b26adf00 Binary files /dev/null and b/src/assets/img/ogi/turns-out-your-kids-really-did-love-that-music-you-played-preview.png differ diff --git a/src/assets/img/ogi/unobstruct-for-ios-preview.png b/src/assets/img/ogi/unobstruct-for-ios-preview.png new file mode 100644 index 00000000..8eb11661 Binary files /dev/null and b/src/assets/img/ogi/unobstruct-for-ios-preview.png differ diff --git a/src/assets/img/ogi/update-os-x-from-the-command-line-preview.png b/src/assets/img/ogi/update-os-x-from-the-command-line-preview.png new file mode 100644 index 00000000..1cca3d43 Binary files /dev/null and b/src/assets/img/ogi/update-os-x-from-the-command-line-preview.png differ diff --git a/src/assets/img/ogi/updating-to-the-latest-version-of-git-on-ubuntu-preview.png b/src/assets/img/ogi/updating-to-the-latest-version-of-git-on-ubuntu-preview.png new file mode 100644 index 00000000..1a19391f Binary files /dev/null and b/src/assets/img/ogi/updating-to-the-latest-version-of-git-on-ubuntu-preview.png differ diff --git a/src/assets/img/ogi/us-cell-carriers-want-to-help-manager-your-identity-online-preview.png b/src/assets/img/ogi/us-cell-carriers-want-to-help-manager-your-identity-online-preview.png new file mode 100644 index 00000000..0b28283c Binary files /dev/null and b/src/assets/img/ogi/us-cell-carriers-want-to-help-manager-your-identity-online-preview.png differ diff --git a/src/assets/img/ogi/using-an-eleventy-event-to-optimize-component-javascript-preview.png b/src/assets/img/ogi/using-an-eleventy-event-to-optimize-component-javascript-preview.png new file mode 100644 index 00000000..d29e9149 Binary files /dev/null and b/src/assets/img/ogi/using-an-eleventy-event-to-optimize-component-javascript-preview.png differ diff --git a/src/assets/img/ogi/using-b2-as-a-json-data-store-preview.png b/src/assets/img/ogi/using-b2-as-a-json-data-store-preview.png new file mode 100644 index 00000000..12cf4a4a Binary files /dev/null and b/src/assets/img/ogi/using-b2-as-a-json-data-store-preview.png differ diff --git a/src/assets/img/ogi/using-server-alerts-to-generate-todoist-tasks-preview.png b/src/assets/img/ogi/using-server-alerts-to-generate-todoist-tasks-preview.png new file mode 100644 index 00000000..27c4e777 Binary files /dev/null and b/src/assets/img/ogi/using-server-alerts-to-generate-todoist-tasks-preview.png differ diff --git a/src/assets/img/ogi/verizon-argues-throttling-isnt-throttling-preview.png b/src/assets/img/ogi/verizon-argues-throttling-isnt-throttling-preview.png new file mode 100644 index 00000000..ee42a4fb Binary files /dev/null and b/src/assets/img/ogi/verizon-argues-throttling-isnt-throttling-preview.png differ diff --git a/src/assets/img/ogi/vermont-passes-law-regulating-data-brokers-preview.png b/src/assets/img/ogi/vermont-passes-law-regulating-data-brokers-preview.png new file mode 100644 index 00000000..d1c002bc Binary files /dev/null and b/src/assets/img/ogi/vermont-passes-law-regulating-data-brokers-preview.png differ diff --git a/src/assets/img/ogi/waste-of-space-orchestra-seekers-reflection-preview.png b/src/assets/img/ogi/waste-of-space-orchestra-seekers-reflection-preview.png new file mode 100644 index 00000000..689a992a Binary files /dev/null and b/src/assets/img/ogi/waste-of-space-orchestra-seekers-reflection-preview.png differ diff --git a/src/assets/img/ogi/we-have-a-content-quality-problem-not-a-content-quantity-problem-preview.png b/src/assets/img/ogi/we-have-a-content-quality-problem-not-a-content-quantity-problem-preview.png new file mode 100644 index 00000000..6556d3ac Binary files /dev/null and b/src/assets/img/ogi/we-have-a-content-quality-problem-not-a-content-quantity-problem-preview.png differ diff --git a/src/assets/img/ogi/we-lost-the-thread-preview.png b/src/assets/img/ogi/we-lost-the-thread-preview.png new file mode 100644 index 00000000..7aaa6237 Binary files /dev/null and b/src/assets/img/ogi/we-lost-the-thread-preview.png differ diff --git a/src/assets/img/ogi/we-should-all-care-about-encryption-preview.png b/src/assets/img/ogi/we-should-all-care-about-encryption-preview.png new file mode 100644 index 00000000..7223cdce Binary files /dev/null and b/src/assets/img/ogi/we-should-all-care-about-encryption-preview.png differ diff --git a/src/assets/img/ogi/weaving-music-data-in-and-out-of-my-personal-website-preview.png b/src/assets/img/ogi/weaving-music-data-in-and-out-of-my-personal-website-preview.png new file mode 100644 index 00000000..8d5ad71e Binary files /dev/null and b/src/assets/img/ogi/weaving-music-data-in-and-out-of-my-personal-website-preview.png differ diff --git a/src/assets/img/ogi/webmentions-in-eleventy-preview.png b/src/assets/img/ogi/webmentions-in-eleventy-preview.png new file mode 100644 index 00000000..68bdfa75 Binary files /dev/null and b/src/assets/img/ogi/webmentions-in-eleventy-preview.png differ diff --git a/src/assets/img/ogi/weve-stopped-making-things-anyone-wants-preview.png b/src/assets/img/ogi/weve-stopped-making-things-anyone-wants-preview.png new file mode 100644 index 00000000..2db53103 Binary files /dev/null and b/src/assets/img/ogi/weve-stopped-making-things-anyone-wants-preview.png differ diff --git a/src/assets/img/ogi/what-song-is-in-your-head-preview.png b/src/assets/img/ogi/what-song-is-in-your-head-preview.png new file mode 100644 index 00000000..4b3c3ffa Binary files /dev/null and b/src/assets/img/ogi/what-song-is-in-your-head-preview.png differ diff --git a/src/assets/img/ogi/where-are-you-going-preview.png b/src/assets/img/ogi/where-are-you-going-preview.png new file mode 100644 index 00000000..8c10b289 Binary files /dev/null and b/src/assets/img/ogi/where-are-you-going-preview.png differ diff --git a/src/assets/img/ogi/who-the-fraggle-designed-this-preview.png b/src/assets/img/ogi/who-the-fraggle-designed-this-preview.png new file mode 100644 index 00000000..c42a9b3d Binary files /dev/null and b/src/assets/img/ogi/who-the-fraggle-designed-this-preview.png differ diff --git a/src/assets/img/ogi/why-do-we-keep-using-facebook-preview.png b/src/assets/img/ogi/why-do-we-keep-using-facebook-preview.png new file mode 100644 index 00000000..eaf68238 Binary files /dev/null and b/src/assets/img/ogi/why-do-we-keep-using-facebook-preview.png differ diff --git a/src/assets/img/ogi/why-millennials-are-ditching-cars-and-redefining-ownership-preview.png b/src/assets/img/ogi/why-millennials-are-ditching-cars-and-redefining-ownership-preview.png new file mode 100644 index 00000000..ff7157e6 Binary files /dev/null and b/src/assets/img/ogi/why-millennials-are-ditching-cars-and-redefining-ownership-preview.png differ diff --git a/src/assets/img/ogi/workflows-handling-inbound-email-on-fastmail-with-regular-expressions-now-featuring-chatgpt-preview.png b/src/assets/img/ogi/workflows-handling-inbound-email-on-fastmail-with-regular-expressions-now-featuring-chatgpt-preview.png new file mode 100644 index 00000000..e1819bb5 Binary files /dev/null and b/src/assets/img/ogi/workflows-handling-inbound-email-on-fastmail-with-regular-expressions-now-featuring-chatgpt-preview.png differ diff --git a/src/assets/img/ogi/you-can-choose-to-be-kind-preview.png b/src/assets/img/ogi/you-can-choose-to-be-kind-preview.png new file mode 100644 index 00000000..81481da2 Binary files /dev/null and b/src/assets/img/ogi/you-can-choose-to-be-kind-preview.png differ diff --git a/src/assets/img/ogi/you-dont-need-a-framework-for-that-preview.png b/src/assets/img/ogi/you-dont-need-a-framework-for-that-preview.png new file mode 100644 index 00000000..25a54134 Binary files /dev/null and b/src/assets/img/ogi/you-dont-need-a-framework-for-that-preview.png differ diff --git a/src/assets/img/ogi/your-attention-is-precious-preview.png b/src/assets/img/ogi/your-attention-is-precious-preview.png new file mode 100644 index 00000000..2f725d89 Binary files /dev/null and b/src/assets/img/ogi/your-attention-is-precious-preview.png differ diff --git a/src/assets/img/ogi/your-site-your-home-your-web-preview.png b/src/assets/img/ogi/your-site-your-home-your-web-preview.png new file mode 100644 index 00000000..a95d3526 Binary files /dev/null and b/src/assets/img/ogi/your-site-your-home-your-web-preview.png differ