Skip to content
View systemcarl's full-sized avatar

Block or report systemcarl

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
systemcarl/README.md

Ahoy! ๐Ÿ‘‹

Welcome to my GitHub profile. This is the best place to find all my stuff while I finish setting up my personal website & blog. Read on for more information and all of the links.

If you haven't already guessed, I'm a software developer. I also sometimes do scientific research โ€” mostly about bats ๐Ÿฆ‡ โ€” and I like to write and teach about programming and data science. For the full story, take a sneak peak at my about me article. My resume is also available.

Weblog

You can actually find all my articles here, on GitHub. I'm slowly collecting development logs, tutorials, and other long-form articles about my various interests. Eventually, there will be a nice place to read them all on my personal website. But, my weblog repository will still be the canonical source.

DevLogs

I've been documenting my all my ongoing projects in a series of development log articles. These articles cover my design decisions and implementation challenges I encountered.

Projects

Right now I'm deep in the process of building my personal website to host my blog content. The project has two main components:

  • a generic blog/portfolio template, blank;
  • and the deployment pipeline which configures and deploys the template, folio.

If you're curious about the end goal, you can check out the design file. And if you want to read more about my progress, check out my development logs.

As a personal philosophy, I believe anything can be repurposed. While building out my personal website, I chose to abstract out anything specific to myself. The result was a opinionated, minimalistic template for a personal blog and/or portfolio.

The application uses the meta-framework SvelteKit, to build a server-side rendered web application. Page generation is configured at runtime to provide real-time updates to content, themes, and other application settings.

I am developing the template features alongside my personal website. The planned features include:

  • Themeable palettes, typography, layouts, and graphics;
  • Embedded, theme integrated, SVG graphics;
  • Concurrent theme support;
  • Git integration for content management;
  • Markdown blog post rendering;
  • Blog post indexing, tagging, and searching;
  • Ad-hoc static HTML pages.

My personal website serves as an ideal example for the blank template. And in turn the folio repository defines a deployment pipeline to configure and deploy the blank template, complete with config files, content, and instructions for setting up a deployment environment.

The deployment pipeline relies heavily on the included BASH scripts to automate Docker container builds and run Terraform deployments. It also includes:

  • Automated tests for all application, pipeline functionality, and environment state;
  • GitHub commit status integration;
  • Optional GitHub actions workflows for automated CI/CD;
  • Concurrent deployment environments;
  • Automated TLS certificate provisioning (via Caddy);
  • Sentry error monitoring integration;
  • Grafana Loki application log aggregation;
  • Integrated CDN provisioning;
  • Configurable hosting providers (currently requires DigitalOcean, GCS, and Cloudflare accounts).

Contact

Feel free to reach out:

Pinned Loading

  1. folio folio Public

    My personal portfolio website; including the Svelte SSR application template, static assets, configuration files, and automated CI/CD pipeline.

    Shell

  2. blank blank Public

    A fully customizable Svelte server-side rendered application.

    TypeScript 1

  3. grayson grayson Public

    Pipeline for processing multi-channel bat echolocation audio to analyze intensity and spatial characteristics.

    MATLAB