Compare commits

...

6 commits

Author SHA1 Message Date
26dc35e0d0 Mushrooms photo post 2025-08-31 07:45:30 -06:00
f95940c387 Lake Louise photo post 2025-08-31 07:44:49 -06:00
588d88a0b2 Student Again post 2025-08-31 07:39:02 -06:00
1d15db8aa5 I Am an AI Hater link post 2025-08-29 09:14:24 -06:00
2688e4e339 Add a deployment command group to the website script
This group has one command so far: next-tag. It looks at the git tag list and
figured out the next deployment tag. For the most part tags are named like so:

    deploy-%Y-%m-%d-NN

The middle segments are year-month-day, and the last segment is an incrementing
counter. For the most part this number will be 01. On days when I deploy more than
once, it will increment.
2025-08-29 08:59:03 -06:00
69760a802d Lait's Go photo post 2025-08-28 17:13:40 -06:00
12 changed files with 182 additions and 1 deletions

View file

@ -0,0 +1,18 @@
---
title: "I Am an AI Hater by Anthony Moser"
slug: link-i-am-an-ai-hater
date: 2025-08-28T08:36:59-06:00
categories: links
tags:
- AI
- Tech
---
A [fierce argument][link] against AI by Anthony Moser.
> But I am more than a critic: I am a hater. I am not here to make a careful
> comprehensive argument, because people have already done that. ... I am here
> to be rude, because this is a rude technology, and it deserves a rude
> response.
[link]: https://anthonymoser.github.io/writing/ai/haterdom/2025/08/26/i-am-an-ai-hater.html

View file

@ -0,0 +1,32 @@
---
title: "I'm a Student Again"
description: I started taking Japanese classes at CCSF.
slug: student-again
date: 2025-09-02
tags:
- Life
- School
- japanese
- CCSF
---
I've been fortunate to take two trips to Japan over the last couple years.
Leading up to those trips, I picked up learning Japanese, attempting to build
some basic language skills for getting around. At first, I used [Duolingo][dja]
but recently switched to [Migaku][mja].
When I returned from our most recent trip, I decided to find a class so I can
practice speaking skills. [Community College of San Francisco][ccsf] has an
excellent program called "[Free City][fc]" that grants free tuition to residents
of the city. It also has [Japanese program][ccsfja]. So I enrolled in their
online Japanese 1A course.
This is my first time taking formal classes since I graduated college. I'm
looking forward to learning in a more structured way again, and also getting a
chance to practice speaking with people rather than talking at my phone screen.
[dja]: https://www.duolingo.com/course/ja/en/Learn-Japanese
[mja]: https://migaku.com/learn-japanese
[ccsf]: https://www.ccsf.edu
[ccsfja]: https://www.ccsf.edu/degrees-certificates/japanese
[fc]: https://www.ccsf.edu/free-city

View file

@ -0,0 +1,12 @@
---
title: "Lait's Go"
date: 2025-08-27T18:00:41-06:00
tags:
- Travel
- Puns
- Milk
---
Spotted in a small café at the top of Sulphur Mountain in Banff, Alberta: a
delightful bilingual pun. In English, this milk is called "Milk 2 Go". In
French, it's called "Lait's Go".

BIN
content/photos/2025/laits-go/laits-go.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,18 @@
---
title: "Lake Louise"
date: 2025-08-27T10:15:06-06:00
draft: true
tags:
- Travel
- Nature
- Lake Louise
- Alberta
- Canada
---
Some friends and I had the chance to travel to [Lake Louise][] this summer. It's
stunningly blue -- unlike any body of water I've ever seen -- and surrounded by
picturesque mountains. We had only a few hours here so we did a short hike
around the lake, and then headed to Moraine Lake.
[Lake Louise]: https://www.banfflakelouise.com

BIN
content/photos/2025/lake-louise/lake-louise.jpg (Stored with Git LFS) Normal file

Binary file not shown.

BIN
content/photos/2025/lake-louise/thumbnail.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
---
title: "Mushrooms"
date: 2025-08-27T09:55:45-06:00
draft: true
tags:
- Nature
- Mushrooms
- Fungi
- Lake Louise
- Alberta
- Canada
---
A small colony of mushrooms growing on a stump. Found at Lake Louise, Alberta,
Canada.

BIN
content/photos/2025/mushrooms/mushrooms.jpg (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,72 @@
#!/usr/bin/env python3
# Eryn Wells <eryn@erynwells.me>
import argparse
import datetime
import subprocess
from typing import List
from .scripting import Command
DATE_FORMAT = "%Y-%m-%d"
class DeploymentCommand(Command):
@property
def help(self) -> str:
return 'Deployment tools'
def add_arguments(self, parser: argparse.ArgumentParser):
commands = parser.add_subparsers(title="Deployment", required=True)
deployment_command = commands.add_parser(
'next-tag',
help='Calculate the next deployment tag for a given date, examining all other tags for that day'
)
deployment_command.add_argument(
'--date', '-d',
type=self.__class__.parse_date_argument,
default=datetime.date.today(),
help="date to calculate a new deployment tag for (default: today)"
)
deployment_command.set_defaults(handler=self.handle_next_deployment_tag_command)
@staticmethod
def parse_date_argument(date_string: str) -> datetime.date:
return datetime.datetime.strptime(date_string, DATE_FORMAT).date()
def handle_next_deployment_tag_command(self, args: argparse.Namespace):
next_deployment_tag = deployment_tag_for_date(args.date)
print(next_deployment_tag)
def deployment_tag_for_date(date: datetime.date) -> str:
formatted_date = date.strftime(DATE_FORMAT)
def deploy_tag_filter(tag):
return tag.startswith("deploy-") and formatted_date in tag
filtered_tags = sorted(filter(deploy_tag_filter, git_tags()))
if len(filtered_tags) == 0:
return f"deploy-{formatted_date}-01"
else:
last_tag = filtered_tags[-1]
components = last_tag.split("-")
if len(components) == 5:
# A previous numbered deployment. Add one to the last deployment
# number.
deployment_number = int(components[-1]) + 1
return f"deploy-{formatted_date}-{deployment_number:02}"
else:
# An old style deployment tag that doesn't have a number. There
# should only ever be one of these.
assert len(filtered_tags) == 1
return f"deploy-{formatted_date}-02"
def git_tags() -> List[str]:
return subprocess.check_output(
"git tag -l",
shell=True,
encoding="utf-8"
).splitlines()

View file

@ -20,5 +20,5 @@ class Command:
def help(self) -> str:
return ''
def add_arguments(self, _: argparse.ArgumentParser):
def add_arguments(self, parser: argparse.ArgumentParser):
raise NotImplementedError()

View file

@ -9,10 +9,12 @@ import argparse
from typing import List
from erynwells_me.scripting import Command
from erynwells_me.weeknotes import WeeknotesCommand
from erynwells_me.deployment import DeploymentCommand
COMMANDS: List[Command] = [
WeeknotesCommand(),
DeploymentCommand(),
]