Garrett Mills

technical details for nerds

This page contains a smattering of technical information that I think some people might find interesting, but not enough people for it to be included on the main page.

Website Theme

I was going for a retro/70s aesthetic for this site. The CSS theme is fully-parameterized over a set of color variables.

The first time you visit the homepage, the server randomly selects a theme for your browser to use across the site.

I'm using a combination of The Wobliy as a display font and Lora as a body font.

For the curious, you can change the theme using the buttons below:



You can also change the theme using the little-known alternate stylesheets feature by going to View > Page Style in your browser.

The Stars

The homepage of this site features a constellation of 6 translucent stars which appears at the top of the page.

The positions of the stars are randomly generated based on the dimensions of the page. To discourage clustered/skewed constellations, the following criteria are used:

  1. Standard deviation of the x-axis offset
  2. Standard deviation of the y-axis offset
  3. Standard deviation of the centroid distance

Because it's interesting, you can view the # of generation attempts, as well as the aforementioned criteria in the footer of the homepage.

Source Code & Licensing

This website, its source code, and its contents are licensed under the terms of the Creative Commons BY-NC-SA 4.0 license. Learn more here.

The source code for this site is available openly under the terms of the aforementioned license. You can view it here.

Framework

This site is built with Extollo, my free & libre application framework. You can learn more about Extollo here.

Analytics

This site, and some of the others in my *.garrettmills.dev platform record pseudo-anonymous page-view information. In particular, it stores:

  • Remote hostname
  • Incoming IP address(es)
  • Request method
  • Original request URL
  • Whether or not the request was XHR
  • Timestamp of access

Collecting the above information helps me gauge the rate-of-access of various pages on my platform over time.

My analytics system is home-grown, intentionally, to record just the information I wanted to use. So, I avoid collecting any additional information than is necessary for my purposes.

Opting-Out

Status: Will record page views

Even though my analytics-system is geared towards individual privacy and minimal obtrusiveness, you can still opt-out to avoid having your page views recorded for *.garrettmills.dev sites.

To do so, click here.

Collection Methods

It's not super relevant to the privacy aspect, but for those who are curious, I record page-views two different ways:

  • On first-party garrettmills.dev pages, the page-views are recorded on the back-end when the page is served.
  • For other *.garrettmills.dev pages (like my static host, CoreID, and Noded), a short script makes a request to a CORS-enabled endpoint to record the view.

When you opt-out of page-view recording, this site sets a CORS-compatible cookie analytics.optout in your browser. If the analytics endpoints detect this cookie, the page view will not be recorded.

Login