# 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 * Fix print layout on Firefox * 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(1) and cron(8)
* 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