Skip to content

Commit

Permalink
Organize (#25)
Browse files Browse the repository at this point in the history
* cleanup readmes

* links
  • Loading branch information
kspeer825 authored Sep 7, 2024
1 parent 79aae5b commit 0e10b7d
Show file tree
Hide file tree
Showing 10 changed files with 51 additions and 41 deletions.
47 changes: 27 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@
# My Portfolio
[<img width="50" src="./projects/website/speerportfolio/src/content/linkedin_logo.svg" alt="LinkedIn"/>](https://www.linkedin.com/in/kyle-d-speer)

# Projects
- [Serverless CI/CD](https://github.com/kspeer825/portfolio/tree/main/projects/#jenkins-cluster)
- [S3 static website](https://github.com/kspeer825/portfolio/tree/main/projects/#personal-website) (visit [here](https://speerportfolio.com/))
- [CLI Tooling](https://github.com/kspeer825/portfolio/tree/main/projects/#cli-tooling)
- [Single purpose Docker images](https://github.com/kspeer825/portfolio/tree/main/projects/#docker-images)
***
<h1 align="center">Projects</h1>

# [<img width="25" src="./projects/website/speerportfolio/public/spear_logo512.png" alt="Speer logo">](https://speerportfolio.com) Personal Webiste
A static website hosted in AWS using S3 and Cloudfront. It is written in Typescript using React and is deployed using Terraform via Github Actions.

# Patterns & Tooling
[./projects/website](https://github.com/kspeer825/portfolio/tree/main/projects/website#personal-website)

# [<img width="25" src="./projects/jenkins/jenkins_logo.png" alt="Jenkins logo">](https://www.jenkins.io/) Serverless CI/CD
A secure containerized [Jenkins](https://www.jenkins.io/) cluster deployed via Terraform. It runs in AWS using ECS allowing for quick scaling of worker nodes to handle CI/CD jobs. The worker nodes run in a private subnet while the control nodes host a secured publicly accesilbe UI for managing pipelies.

[./projects/jenkins](https://github.com/kspeer825/portfolio/tree/main/projects/jenkins#a-jenkins-cluster-in-ecs)

# [<img width="25" src="./projects/cli-tools/cli_logo.jpg" alt="Terminal">](https://github.com/kspeer825/portfolio/tree/main/projects/cli-tools/updatessh/#updatessh) CLI Tooling
CLI tooling for automating tedious tasks such as SSH config management.

[./projects/cli-tools](https://github.com/kspeer825/portfolio/tree/main/projects/cli-tools/updatessh#updatessh)

# [<img width="25" src="./projects/docker/docker_logo.png" alt="docker logo">](https://hub.docker.com/u/kspeer825) Docker Images
A series of simple, single-purpose base images available on [Docker Hub](https://hub.docker.com/u/kspeer825). Useful for Terraform deployments or develping in Clojure, Python, or Go.

[./projects/docker](https://github.com/kspeer825/portfolio/tree/main/projects/docker)


#### Additional projects along with detailed overviews are available [here](https://github.com/kspeer825/portfolio/tree/main/projects/#projects).

***
<h1 align="center">Patterns & Practices</h1>

## Patterns & Practices
- [Pair Programming](https://github.com/kspeer825/portfolio/tree/main/practices/#pair-programming)
- [Test Driven Development](https://github.com/kspeer825/portfolio/tree/main/practices/#test-driven-development)
- [Makefiles](https://github.com/kspeer825/portfolio/tree/main/practices/#using-a-makefile)

## Tools
- [Terraform](https://developer.hashicorp.com/terraform/intro) for Infrastructure as Code
- [Emacs](https://emacsrocks.com/) is an awesome customizable IDE for those who never want to leave the terminal
- [Docker](https://docs.docker.com/reference/) with [Docker Compose](https://docs.docker.com/compose/intro/features-uses/) and [Colima](https://github.com/abiosoft/colima)
- [GNU Make](https://www.gnu.org/software/make/manual/make.html#Simple-Makefile) for streamlining builds
- [Clojure](https://clojure.org/) is a great functional programming language allowing for REPL-driven development
- [Leiningen](https://leiningen.org/tutorial.html) for automating Clojure projects
- [Go](https://go.dev/play/) is great for developing performant applications and utilities
- [Python](https://www.python.org/about/gettingstarted/) and [pyenv](https://realpython.com/intro-to-pyenv/#why-use-pyenv) for general scripting
- [Pytest](https://docs.pytest.org/en/8.0.x/#a-quick-example) can be used for everything from simple unit tests to complex end-to-end automation suites
- [Singer Taps](https://github.com/singer-io/getting-started) for data extraction
19 changes: 0 additions & 19 deletions projects/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,22 +35,3 @@ A series of simple, single-purpose base images available on [Docker Hub](https:/
| Tool | Purpose | Language |
|------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|----------|
| [updatessh](https://github.com/kspeer825/portfolio/tree/main/projects/cli-tools/updatessh#updatessh) | Automatically sync ssh config w/ running instances in AWS | Go |

## Advent of Code Solutions
Each year I try to complete the latest [advent calendar](https://adventofcode.com/) using a languge that is new to me, or that I want more practice in.

I have organized my solutions from each year with a docker container and Makefile, so anyone can reproduce the output. This is a pattern that I have used professionally that simplifies local developement without too much abstraction.

| Year | Language | Source |
|------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| 2023 | Go | TODO make public |
| 2022 | Clojure | TODO make public |
| 2021 | Python | [projects/advent-solutions/2021](https://github.com/kspeer825/portfolio/tree/main/projects/advent-solutions/2021#advent-of-code-2021-solutions) |

## My IDE
My IDE of choice is emacs. I run it in the terminal and use tmux sessions for everything else.

Tools:
- [Emacs](https://emacsrocks.com/)
- [tmux](https://github.com/tmux/tmux/tree/master?tab=readme-ov-file#welcome-to-tmux)
- [iTerm2](https://iterm2.com/)
10 changes: 10 additions & 0 deletions projects/advent-solutions/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Advent of Code Solutions
Each year I try to complete the latest [advent calendar](https://adventofcode.com/) using a languge that is new to me, or that I want more practice in.

I have organized my solutions from each year with a docker container and Makefile, so anyone can reproduce the output. This is a pattern that I have used professionally that simplifies local developement without too much abstraction.

| Year | Language | Source |
|------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| 2023 | Go | TODO make public |
| 2022 | Clojure | TODO make public |
| 2021 | Python | [projects/advent-solutions/2021](https://github.com/kspeer825/portfolio/tree/main/projects/advent-solutions/2021#advent-of-code-2021-solutions) |
Binary file added projects/cli-tools/cli_logo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added projects/docker/docker_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added projects/jenkins/jenkins_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion projects/my_ide/configs/init.el
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@
'(org-todo-keywords
'((sequence "TODO" "IN_PROGRESS" "CONTINUED" "|" "DONE" "MEETING")))
'(package-selected-packages
'(go-mode terraform-mode hcl-mode terraform-doc web-mode flycheck company tide markdown-mode tramp banner-comment projectile fireplace orgit dockerfile-mode cider clojure-mode org yaml-mode smex makdown-mode magit fixme-mode ag))
'(impatient-mode go-mode terraform-mode hcl-mode terraform-doc web-mode flycheck company tide markdown-mode tramp banner-comment projectile fireplace orgit dockerfile-mode cider clojure-mode org yaml-mode smex makdown-mode magit fixme-mode ag))
'(search-default-mode 'char-fold-to-regexp)
'(sentence-end-double-space nil)
'(sh-basic-offset 2)
Expand Down
2 changes: 1 addition & 1 deletion projects/website/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This is my personal website currently available at https://speerportfolio.com/.
The website is meant to be an extension of my resume with details of personal projects and professionl experiences.

It is hosted in AWS using Cloudfront, S3, R53, and ACM. The frontend is built using React and Typescript. I have professional
experience with React apps, but I am not a frontend dev. The site is very simple, a client-side SPA made up of a few React components.
experience with React apps, but I am not a frontend dev. This is a very simple static site made up of a few React components.

## Infrastructure
One approach for hosting a static website in AWS is to leverage EC2 instances. Using EC2 servers you have the option
Expand Down
Binary file modified projects/website/speerportfolio/public/spear_logo512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions tools/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Tools I like to use
- [Terraform](https://developer.hashicorp.com/terraform/intro) for Infrastructure as Code
- [Emacs](https://emacsrocks.com/) is an awesome customizable IDE for those who never want to leave the terminal
- [Docker](https://docs.docker.com/reference/) with [Docker Compose](https://docs.docker.com/compose/intro/features-uses/) and [Colima](https://github.com/abiosoft/colima)
- [GNU Make](https://www.gnu.org/software/make/manual/make.html#Simple-Makefile) for streamlining builds
- [Clojure](https://clojure.org/) is a great functional programming language allowing for REPL-driven development
- [Leiningen](https://leiningen.org/tutorial.html) for automating Clojure projects
- [Go](https://go.dev/play/) is great for developing performant applications and utilities
- [Python](https://www.python.org/about/gettingstarted/) and [pyenv](https://realpython.com/intro-to-pyenv/#why-use-pyenv) for general scripting
- [Pytest](https://docs.pytest.org/en/8.0.x/#a-quick-example) can be used for everything from simple unit tests to complex end-to-end automation suites
- [Singer Taps](https://github.com/singer-io/getting-started) for data extraction
- [Tmux](https://github.com/tmux/tmux/tree/master?tab=readme-ov-file#welcome-to-tmux)

0 comments on commit 0e10b7d

Please sign in to comment.