# Backlog ## Hosting * Regularly check HTTPS security using Mozilla's [Observatory](https://observatory.mozilla.org/) (includes the services below) * https://hstspreload.org/?domain=skreutz.com * https://securityheaders.com/?q=www.skreutz.com&hide=on&followRedirects=on * https://www.ssllabs.com/ssltest/analyze.html?d=www.skreutz.com&hideResults=on&latest * Regularly validate HTML, CSS, RSS, and Atom using [W3C tools](https://w3c.github.io/developers/tools/) * Configure custom 404 page * Consider to disable logging (and advertise this on the about page) ## Content * Test and advertise readability in lynx and friends * Advertize feeds in blog post footer * Publish the website's source code * Recommended readings page and feed ## Styling * Consider to highlight :target footnote * Add :target or :checked menu on mobile * Style `
`, e.g., `pre[title]::before { content: attr(title); display: block; text-align: right; }` * Alternative `font-family` for iOS Safari: macOS and iOS don't ship with Dejavu or Open Sans: https://developer.apple.com/fonts/system-fonts/ ## Implementation * Cabal build (without stack) * Format source code * Consider to disable pandoc extension `auto_identifiers` * Consider to filter draft posts as described [here](https://odone.io/posts/2020-05-18-published-posts-hakyll.html) * Consider to use select pandoc extensions as described [here](https://github.com/rpearce/robertwpearce.com/blob/master/site.hs) * Consider to re-implement deployment shell script using [shelly](https://hackage.haskell.org/package/shelly) as described [here](https://gist.github.com/ethagnawl/0ada86cb6eb996d95d5b65bff014188c) * Consider to add keywords to blog posts * Consider to tag blog posts * Consider to create an HTML sitemap in addition to the XML sitemap * Consider to record source code revision in generated website ## Blog * Dotfiles under revision control: How I manage my personal configuration files with Git * My preferred tools: A whirlwind tour of my preferred command-line tools * SSH proxy: How to establish a secure tunnel between two firewalled machines * Temporary PostgreSQL server: A shell script to run the PostgreSQL server off a temporary directory * Your favorite Newsletter may track you * Redirect and kill non-interactive subshells (in a POSIX shell script) * HTTP health check using cURL * Migrate PostgreSQL schema without downtime (with zero downtime) using triggers * Filter Nix Packages by platform (e.g. Chromium on macOS) * Backup with zfs, mbuffer, lz4, and cron * Inline HTML images with this simple script * Arch Linux on MacBook Pro * Noscript photo gallery with pure CSS carousel, responsive images and deep links * SQLite hexastore vs. Neo4j * Setup a FreeBSD sftp server with basic email notifications from the command-line using bash, ssh, and the DigitalOcean command-line application * Cloud/VPS provider comparison * Auto-install OpenBSD to QEMU guest machine