diff --git a/.gitattributes b/.gitattributes index 90fc636..0b5b3d4 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,3 @@ *.jpg filter=lfs diff=lfs merge=lfs -text *.jpeg filter=lfs diff=lfs merge=lfs -text *.pxm filter=lfs diff=lfs merge=lfs -text -*.mov filter=lfs diff=lfs merge=lfs -text -*.mp4 filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore index 2073fc6..2ca23d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -LightroomExports/ node_modules/ public/ /documentation/mirrors/ diff --git a/Makefile b/Makefile index fea5233..413dece 100644 --- a/Makefile +++ b/Makefile @@ -21,11 +21,9 @@ site: hugo --buildFuture --enableGitInfo --destination "$(BUILD_DIR)" deploy: site - @echo "Removing .DS_Store files from $(DEPLOY_LOCATION)" - find "$(BUILD_DIR)" -name .DS_Store -print -delete @echo "Deploying to $(DEPLOY_LOCATION)" rsync -avz --no-times --no-perms --delete "$(BUILD_DIR)/" "$(DEPLOY_LOCATION)" - git tag -f $(shell ./scripts/website deployment next-tag) + git tag -f deploy-$(shell date +%Y-%m-%d) deployall: nethack deploy @@ -40,5 +38,13 @@ endif nethack-commit: $(NETHACK_LOGFILE_DATA_FILE) if ! git diff --quiet $<; then git commit -m "Update Nethack logfile for $(HOSTNAME)" -- $<; fi +weeknotes: YEAR=$(shell date '+%Y') +weeknotes: WEEK_NUMBER=$(shell date '+%V') +weeknotes: UPCOMING_SUNDAY=$(shell scripts/weeknotes show --date) +weeknotes: PAGE_PATH=$(shell scripts/weeknotes show) +weeknotes: $(PAGE_PATH) + hugo new -k weeknotes --clock "$(UPCOMING_SUNDAY)" -c "$(CONTENT_PATH)" "$(PAGE_PATH)" + sed -I -e "s/%%WEEK_NUMBER%%/$(WEEK_NUMBER)/" "$(PAGE_PATH)" + clean: rm -rf "$(BUILD_DIR)/" diff --git a/archetypes/link.md b/archetypes/link.md deleted file mode 100644 index 5a8d835..0000000 --- a/archetypes/link.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "{{ replace .Name "-" " " | title }}" -slug: link-{{ .Name }} -date: {{ .Date }} -categories: links -draft: true -tags: [] ---- - diff --git a/archetypes/weeknotes.md b/archetypes/weeknotes.md index 1bae5a0..93bbb34 100644 --- a/archetypes/weeknotes.md +++ b/archetypes/weeknotes.md @@ -1,10 +1,9 @@ --- -title: "Notes on {{ time.Now.Format "2006" }}W%%WEEK_NUMBER%%" +title: "Weeknotes for {{ time.Now.Format "2006" }}W%%WEEK_NUMBER%%" slug: weeknotes-{{ time.Now.Format "2006" }}w%%WEEK_NUMBER%% -date: {{ .Date | time.Format "2006-01-02" }} +date: {{ .Date }} categories: weeknotes -tags: - - Weeknotes +tags: [] draft: true --- diff --git a/assets/css/099_format_tweaks.css b/assets/css/099_format_tweaks.css deleted file mode 100644 index 453f2cc..0000000 --- a/assets/css/099_format_tweaks.css +++ /dev/null @@ -1,18 +0,0 @@ - - - - - -/************************ - * PARAGRAPH-SPACED LIST - ************************/ - -p + .paragraph-spaced-list { - margin-block-start: var(--space-paragraph); -} - -.paragraph-spaced-list { - li + li { - margin-block-start: var(--space-paragraph); - } -} diff --git a/assets/images/memes/not-doing-it.png b/assets/images/memes/not-doing-it.png deleted file mode 100644 index 0dd9974..0000000 Binary files a/assets/images/memes/not-doing-it.png and /dev/null differ diff --git a/assets/scripts/rubiks/scrambler.js b/assets/scripts/rubiks/scrambler.js deleted file mode 100644 index 10a03c3..0000000 --- a/assets/scripts/rubiks/scrambler.js +++ /dev/null @@ -1,123 +0,0 @@ -class RubiksCubeScrambler extends HTMLElement { - static #RandomMoveHysteresisMaxLength = 2; - - #shadowRoot; - #movesListElement; - - #numberOfMovesToGenerate = 25; - - constructor() { - super(); - this.#shadowRoot = this.attachShadow({ mode: "open" }); - } - - scramble() { - console.log("Randomizing Rubik's cube..."); - - const movesList = this.#movesListElement; - - while (movesList.childElementCount > this.#numberOfMovesToGenerate) { - movesList.removeChild(movesList.lastChild); - } - - let randomMoveHysteresis = []; - - for (let i = 0; i < this.#numberOfMovesToGenerate; i++) { - const randomMove = this.#randomMove(randomMoveHysteresis); - - let moveItem; - if (i < movesList.childElementCount) { - moveItem = movesList.children[i]; - } else { - moveItem = document.createElement("li"); - movesList.appendChild(moveItem); - } - - moveItem.classList.add("scrambler__move"); - moveItem.classList.remove("scrambler__move--start", "scrambler__move--end"); - - if (randomMove.includes("2")) { - moveItem.classList.add("scrambler__move--start"); - } else if (randomMove.includes("'")) { - moveItem.classList.add("scrambler__move--end"); - } - - moveItem.innerText = randomMove; - } - } - - #randomMove(hysteresis) { - const faces = "FBLRUD"; - - let move; - do { - move = faces.charAt(Math.floor(Math.random() * faces.length)); - } while (hysteresis && hysteresis.includes(move)); - - if (hysteresis) { - hysteresis.unshift(move); - while (hysteresis.length > RubiksCubeScrambler.#RandomMoveHysteresisMaxLength) { - hysteresis.pop(); - } - } - - const modifierFactor = Math.random(); - if (modifierFactor < 0.33333) { - move = "2" + move; - } else if (modifierFactor < 0.666666) { - move = move + "'"; - } - - return move; - } - - #removeAllMoves() { - const element = this.#movesListElement; - while (element.hasChildNodes()) { - element.removeChild(element.lastChild); - } - } - - // MARK: Custom Element - - connectedCallback() { - let template = document.getElementById("rubiks-cube-scrambler-template"); - console.assert(template, "Couldn't find RubiksCubeScrambler component template in the document"); - - const shadowRoot = this.#shadowRoot; - shadowRoot.appendChild(template.content.cloneNode(true)); - - this.#movesListElement = shadowRoot.querySelector(".scrambler__move-list"); - - shadowRoot - .querySelector("button[name='scramble']") - .addEventListener("click", () => this.scramble()); - - const patternLengthInputElement = shadowRoot.querySelector(".scrambler__pattern-length > input"); - patternLengthInputElement.value = this.#numberOfMovesToGenerate; - patternLengthInputElement.addEventListener("input", event => { - try { - const integerValue = parseInt(event.target.value); - this.#numberOfMovesToGenerate = integerValue; - } catch (e) { - console.error("Non-integer value of pattern length field", e); - } - }); - - this.scramble(); - } - - attributeChangedCallback(name, oldValue, newValue) { - console.debug("RubiksCubeScrambler attribute changed", name, oldValue, newValue); - if (name === "count") { - try { - let newIntValue = parseInt(newValue); - this.#numberOfMovesToGenerate = newIntValue; - } catch (e) { - console.error("`count` attribute should have an integer value.", e); - } - } - } -} - -window.customElements.define("rubiks-cube-scrambler", RubiksCubeScrambler); diff --git a/config/_default/permalinks.yaml b/config/_default/permalinks.yaml index 7d4b0bc..8efe757 100644 --- a/config/_default/permalinks.yaml +++ b/config/_default/permalinks.yaml @@ -1,3 +1,2 @@ blog: blog/:year/:month/:slug/ photos: photos/:year/:month/:slug/ -twitter: twitter/:year/:month/:slug/ diff --git a/config/_default/privacy.yaml b/config/_default/privacy.yaml index ad42382..86268a6 100644 --- a/config/_default/privacy.yaml +++ b/config/_default/privacy.yaml @@ -1,2 +1,2 @@ -x: +twitter: enableDNT: true diff --git a/config/_default/services.yaml b/config/_default/services.yaml index 4738995..4ad50c5 100644 --- a/config/_default/services.yaml +++ b/config/_default/services.yaml @@ -1,2 +1,2 @@ -x: +twitter: disableInlineCSS: true diff --git a/content/_index.es.md b/content/_index.es.md index dec3a59..4812de4 100644 --- a/content/_index.es.md +++ b/content/_index.es.md @@ -1,20 +1,8 @@ --- +title: Eryn Rachel Wells layout: single -draft: true -params: - renderHeadingAnchors: false --- -¡Hola! Me llamo Eryn Wells. Este es mi sitio web. ¡Bienvenidos! - - -## Personal - -Soy mujer queer, - - -## Profesional - -Desde 2011, he trabajado como ingeniera de software en varios companías alrededor del área -del Bahía de San Francisco. En 2016, me uní a [Apple][]. Hoy, trabajo en -tecnologías que +{{< nobreak >}}Ingeniera de software,{{< /nobreak >}} +alfarera, música, y +{{< nobreak >}}nerd en general.{{< /nobreak >}} diff --git a/content/_index.md b/content/_index.md index e4ca8ce..320c794 100644 --- a/content/_index.md +++ b/content/_index.md @@ -6,61 +6,53 @@ params: Hi, I'm Eryn Wells. This is my website. Welcome! - ## Latest Here are some of my most recent posts. {{< home/latest >}} - ## Personal -I'm a queer woman, {{< tess >}}' partner, and mom of [two cats][cats]. I +I'm a queer trans woman, {{< tess >}}' partner, and mom of [two cats][cats]. I was born in Seattle, {{< abbr Washington >}}WA{{< /abbr >}} and grew up in -Phoenix, {{< abbr Arizona >}}AZ{{< /abbr >}}. I attended [Oberlin College][] +Phoenix, {{< abbr Arizona >}}AZ{{< /abbr >}}. I attended [Oberlin College][ob] where I got a degree in Computer Science. My pronouns are [she/her][pronouns]. You can read more about me on my [about][ab] page, or [get in touch][where-am-i]. - ## Professional I've worked as a software engineer since 2011 for a variety of companies around -the San Francisco Bay Area. I joined [Apple][] in 2016, where I currently work +the San Francisco Bay Area. I joined [Apple][a] in 2016, where I currently work on password management and authentication technologies. My [résumé][r] has all the details. - ## Hobbies When I'm not working, you can reliably find me hacking on this website or [some -other coding project][src]. I'm also a musician: I play piano, Irish tin -whistle, and modular synthesizer. Occasionally I [record things][sc] or offer -them [for sale][sc]. I love outer space and astronomy; I will always get excited -to look at the moon with you, or check out anything through a telescope. I enjoy -[photograhy][p], mostly as a travel hobby. And I've been practicing -[iaidō][mjer], a traditional Japanese sword art, at [Nishi Kaigan Iaidō -Dōjō][nkid] since early 2024. Other things I've been into include: bread baking, +coding other project][gh]. I'm also a musician, and play piano, Irish tin +whistle, and modular synthesizer. Occasionally I [record][bc] [things][sc]. I +love outer space and astronomy; I will always get excited to look at the moon +with you, or check out anything through a telescope. I enjoy [photograhy][p], +mostly as a travel hobby. And I've been practicing iaido, a traditional Japanese +sword art, since early 2024. Other things I've been into include: bread baking, bicycling, calligraphy, ceramics, and knitting. - -[Apple]: https://apple.com +[a]: https://apple.com [ab]: {{< ref "/about" >}} [b]: {{< ref "/blog" >}} [bc]: https://erynwells.bandcamp.com/releases [cats]: {{< ref "/cats" >}} [eml]: mailto:Eryn%20Wells -[src]: https://source.erynwells.me/eryn +[gh]: https://github.com/erynofwales [ig]: https://www.instagram.com/erynofwales [m]: https://mastodon.social/@erynofwales [n]: {{< ref "/now" >}} -[Oberlin College]: https://www.oberlin.edu +[ob]: https://www.oberlin.edu [p]: {{< ref "/photos" >}} [pronouns]: http://pronoun.is/she [r]: {{< ref "/resume" >}} [sc]: https://soundcloud.com/purlsnbeeps [where-am-i]: {{< ref "/about/where-am-i" >}} -[mjer]: https://en.wikipedia.org/wiki/Mus%C5%8D_Jikiden_Eishin-ry%C5%AB -[nkid]: https://iaido.org diff --git a/content/about/_index.md b/content/about/_index.md index 5c1da98..c0e779f 100644 --- a/content/about/_index.md +++ b/content/about/_index.md @@ -1,16 +1,17 @@ --- title: "Hi! 👋🏻" -layout: single resources: - name: me src: me.jpeg params: - alt: > - Me, wearing a hat and smiling slightly, standing in front of a stone - background. + alt: " + Me, wearing a hat and smiling slightly, standing in front of a stone background. + " --- -{{% section class=content--small-right-column %}} +{{% section class=flow %}} + +{{< circular_image id=me name=me class="float-right" width=200 >}} I'm Eryn. My pronouns are [she/her][p]. I'm a queer trans woman. I live in San Francisco, CA, on the unceded ancestral lands of the Ramaytush Ohlone people, @@ -20,8 +21,6 @@ I attended [Oberlin College][ob] where I got a degree in Computer Science. I speak English natively, and Spanish too, though I always need more practice. -{{< circular_image id=me name=me class="content--right-column" width=200 >}} - {{% /section %}} ## Hobbies diff --git a/content/about/where-am-i.md b/content/about/where-am-i.md index a033245..660a718 100644 --- a/content/about/where-am-i.md +++ b/content/about/where-am-i.md @@ -3,16 +3,11 @@ title: "Where to Find Me" date: 2022-11-11T08:35:26-08:00 --- -Here's a list of places you can find me online. You can often find me on -services not listed here with the `erynofwales` or `erynrwells` handles. +Here's a list of places you can find me online. ## Social Media -I'm really only on Instagram and Mastodon these days. My Twitter account is -still live, as an archive, but I don't post on it or look at it. Ditto for -Facebook. - -- Facebook: [erynofwales](https://www.facebook.com/erynofwales) +- Cohost: [@eryn](https://cohost.org/eryn) - Instagram: [@erynofwales](https://instagram.com/erynofwales) - Mastodon: [@erynofwales](https://mastodon.social/@erynofwales) - Twitter: [@erynofwales](https://twitter.com/erynofwales) @@ -20,10 +15,9 @@ Facebook. ## Content - Bandcamp: [erynwells](https://erynwells.bandcamp.com/releases) -- GitHub: [erynofwales](https://github.com/erynofwales) - Soundcloud: [purlsnbeeps](https://soundcloud.com/purlsnbeeps) -- StoryGraph: [erynrwells](https://app.thestorygraph.com/profile/erynrwells) - YouTube: [Eryn Wells](https://www.youtube.com/channel/UCWb2pTDlC27R1PucyUPrypA) +- GitHub: [erynofwales](https://github.com/erynofwales) ## The Old Fashioned Way diff --git a/content/blog/2023/netscape-meteors/index.md b/content/blog/2023/netscape-meteors/index.md index 3f1598d..ceaeed6 100644 --- a/content/blog/2023/netscape-meteors/index.md +++ b/content/blog/2023/netscape-meteors/index.md @@ -26,13 +26,13 @@ Navigator "meteors" animation. This one has a special place in my head and heart because it is so clearly connected to my memories of discovering the web as a kid. Here it is in its original 60×60 px glory: -{{< figures/image name=netscape60 shouldShowTitle=false size=small >}} +{{< figures/image name=netscape60 shouldShowTitle=false >}} I started out doing some web searches that turned up several versions. One was promising but far too big: 400×400 px. Worse, after some shoddy resize attempts, the "pixels" had become rectangular. -{{< figures/image name=rectangular-pixels shouldShowTitle=false size=small >}} +{{< figures/image name=rectangular-pixels shouldShowTitle=false >}} This would not do. @@ -81,10 +81,7 @@ that replaces those pixels with ones that match the surrounding pixels. Here's the modified 60×60 one and a bigger 240×240 px one, for good measure: -{{< content-grid columns=2 >}} - {{< figures/image name="netscape-modified60" shouldShowTitle=false shouldResize=false size=small >}} - {{< figures/image name="netscape-modified240" shouldShowTitle=false shouldResize=false size=small >}} -{{< /content-grid >}} +{{< figures/image names="netscape-modified60,netscape-modified240" shouldShowTitle=false >}} diff --git a/content/blog/2023/pajaro-dunes/index.md b/content/blog/2023/pajaro-dunes/index.md index f4c0785..39a5da2 100644 --- a/content/blog/2023/pajaro-dunes/index.md +++ b/content/blog/2023/pajaro-dunes/index.md @@ -1,7 +1,8 @@ --- title: "Pajaro Dunes" date: 2023-05-30T08:31:34-07:00 -tags: [Travel, Beaches, Tess, EJ, Vacations] +categories: Travel +tags: [Beaches, Tess, EJ, Vacations] --- {{< tess >}}, EJ, and I took a weekend trip down the coast over Memorial Day diff --git a/content/blog/2023/trip-to-japan/index.md b/content/blog/2023/trip-to-japan/index.md index 48777d7..41b74ee 100644 --- a/content/blog/2023/trip-to-japan/index.md +++ b/content/blog/2023/trip-to-japan/index.md @@ -1,10 +1,8 @@ --- -title: Trip to Japan +title: "Trip to Japan" date: 2023-04-14T21:40:21+09:00 categories: Travel -tags: - - Travel - - japan +tags: ["日本"] --- At the beginning of April, {{< tess >}} and I took a trip to Japan for two diff --git a/content/blog/2024/books/index.md b/content/blog/2024/books/index.md deleted file mode 100644 index 63eb5a9..0000000 --- a/content/blog/2024/books/index.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Books I Read in 2024 -slug: books -date: 2024-12-31 -tags: - - Books - - Reading ---- - -I enjoy reading quite a bit. Nevertheless, it's something I need to be -intentional about incorporating into my life. I usually to finish a modest -number of books in a year. This year I made it to a nice round ten. - -A big theme of the year is the [Murderbot Diaries][murderbot]. My friend Jess -recommended them to me a while back, and I finally got around to [All Systems -Red][murderbot1] last year. I was hooked enough that {{< tess >}} bought me the -subsequent three for Christmas last year. So you're gonna see almost all the -Murderbot books on this list. - -[Bindle Punk Bruja](https://marthawells.com/networkeffect.htm) by Desideria Mesa -: Mesa's debut novel is set in 1920s Kansas City and centers around Rose, the -daughter of Mexican immigrants who takes on the city's mob bosses with the help -of friends and some witchy magical powers. This was a gift from my sister -[Anna][anna] for Christmas last year. - -[The Deep Sky](https://www.yumekitasei.com/projects-6) by Yume Kitasei -: A murder mystery that takes place in space on a one-way mission to colonize a -far-off planet. A gift from my sister. - -[Wolfsong](https://www.tjklunebooks.com/wolfsong) by TJ Klune -: Warewolves, magic, queerness, and family. A gift from my sister. - -[Fingersmith](https://www.penguinrandomhouse.com/books/348400/fingersmith-by-sarah-waters/) by Sarah Waters -: Mystery, intrigue, gay ladies, and some incredible plot twists. Tess gave me -this one. - -[Artificial Condition](https://marthawells.com/murderbot2.htm) by Martha Wells -: Murderbot investigates its past. - -[Rogue Protocol](https://marthawells.com/murderbot3.htm) by Martha Wells -: Murderbot goes digging for evidence against its former corporate master, -GrayCris. - -[Exit Strategy](https://marthawells.com/murderbot4.htm) by Martha Wells -: Murderbot attempts to save its former owner from GrayCris. - -[Network Effect](https://marthawells.com/networkeffect.htm) by Martha Wells -: Continuing the Murderbot obsession, I picked up this one from a [Books -Inc][booksinc] in San Francisco's Marina district. - -[I'm Starting to Worry About This Black Box of Doom](https://us.macmillan.com/books/9781250285959/imstartingtoworryaboutthisblackboxofdoom/) by Jason Pargin -: Anna and I decided to read this together, book club style. It's a ridiculous -romp across the US with some deep commentary on the perils of social media: how -it promotes dogpiling in ways that can destroy lives, and the groupthink that -arises from being terminally online. - -[The Full Moon Coffee Shop](https://www.penguinrandomhouse.com/books/746333/the-full-moon-coffee-shop-by-mai-mochizuki/) by Mai Mochizuki -: A cute, short read about a mysterious popup coffee shop that appears in Kyōto -during the full moon. - -[murderbot]: https://marthawells.com/murderbot.htm -[murderbot1]: https://marthawells.com/murderbot1.htm -[anna]: https://www.instagram.com/anna.e.az/ -[booksinc]: https://booksinc.net diff --git a/content/blog/2024/cat-in-the-cream-cookies.md b/content/blog/2024/cat-in-the-cream-cookies.md deleted file mode 100644 index 3751f02..0000000 --- a/content/blog/2024/cat-in-the-cream-cookies.md +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: "Cat in the Cream Cookies" -date: 2024-11-18 -tags: - - Cooking - - Cookies - - Oberlin - - Recipes ---- - -One of my favorite memories from my time as a student at [Oberlin][ob] was going -to the [Cat in the Cream][cat]. I saw a lot of great plays, improv shows, and -jazz ensembles by students, and several performances by visiting musical guests. - -The other highlight of these memories was the oatmeal chocolate chip cookies you -could get for $1. They're somewhere between a small cake and a cookie, often -fresh-baked (they often had a hard time keeping up with demand on show nights). -Honestly they're everything I want in a cookie. I think the recipe was printed -in an edition of the [Alumni Magazine][mag] at some point in the last several -years, but this [video][video] I found online was the closest I had to hand, so -I'm copying it here. - - -## Recipe - -**Yield:** 20 cookies - -### Tools - -* Measuring cups and spoons -* 2 large mixing bowls -* Spoon or electric mixer to mix wet ingredients -* Whisk to combine dry ingredients (optional) -* 1 or 2 half-size sheet pans for baking - - -### Ingredients - -* 2 cups butter, softened -* 1 cup granulated sugar -* 2 cups brown sugar or 2 tablespoons of molasses -* 4 eggs, lightly beaten -* 2 teaspoons vanilla -* 4 cups flour -* 2 teaspoons baking soda -* 2 teaspoons salt -* Dash cinnamon -* 4 cups oats -* 3 cups chocolate chips - - -### Method - -1. Preheat oven to 375°. -1. Combine butter, sugars, and/or molasses in a bowl. -1. Add eggs and vanilla. Stir to combine. -1. Mix flour, baking soda, salt, and cinnamon in a separate bowl. -1. Add dry ingredients above to the wet. Stir to combine. -1. Add in oats and chocolate chips. Stir to combine. -1. Drop in large hunks (about 1/4 cup) onto ungreased baking sheets. They don't - spread during baking, but you'll only get six cookies on a half sheet. -1. Bake until the edges are slightly brown. The original recipe says 20 minutes, - but 15 was enough in my oven. - - -[ob]: https://www.oberlin.edu -[cat]: https://www.thecatinthecream.com/our-menu.html -[video]: https://vimeo.com/827645032 -[mag]: https://www.oberlin.edu/communications/editorial/alumni-magazine diff --git a/content/blog/2024/chicago/index.md b/content/blog/2024/chicago/index.md deleted file mode 100644 index dcf1469..0000000 --- a/content/blog/2024/chicago/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Chicago -date: 2024-10-05T18:58:05-05:00 -description: > - Tess and I traveled to Chicago to attend the wedding of one of my oldest - friends, visit some family, and do a little sightseeing. -resources: - - src: wedding.jpg - title: Bill and Ashley walked each other in. My dad officiated. - params: - alt: > - To the left, a man wearing a suit and white pastoral stole stands near a - mic. To the right, a woman in a white dress, and a man in a tuxedo walk - into the frame. Everyone is smiling. - - src: quincy.jpg - title: > - Wood plank platforms, Copperplate lettering, and wingding-style hands to - direct you where you need to go. - params: - alt: > - A large station sign, framed with a simple wood frame, hanging on the - railing around a station platform stairway. It declares the station's - name, Quincy, and points to exits to the left and right. - - src: tess-kerryman.jpg - title: > - The Kerryman is a great Irish bar in River North, owned and operated by - one of Tess' distant Irish cousins. - params: - alt: > - Tess, on the left, stands outside a large pub on a stree corner. The pub - has outdoor seating. -tags: - - Travel - - Friends - - Family - - "Chicago, IL" - - Illinois ---- - -This past week {{< tess >}} and I traveled to Chicago to attend the wedding of -Bill, one of my oldest friends, and his partner Ashley. - -{{< figures/image name=wedding.jpg >}} - -They've been a couple for a long time. I'm thrilled that they've decided to take -this step together, and grateful to have been invited to witness it. Bill also -asked my dad to perform the ceremony, and I think he did an excellent job. - -{{< figures/image name=quincy.jpg >}} - -After the wedding day, we spent several days in Chicago sightseeing and visiting -with friends and family. We went record shopping at [Reckless][reckless], walked -down Navy Pier and Michigan Avenue, rode the L (including a stop a the -delightfully old timey [Quincy Station][quincy]), took selfies at the -[Bean][bean], and caught Hokusai's [Great Wave Off Kanagawa][wave] at the [Art -Institute of Chicago][artic] on a limited exhibition. We had breakfast at -[Tary][tary], and stopped in for pints at [The Kerryman][kerryman], a pub owned -by one of Tess' distant Irish cousins. - -{{< figures/image name=tess-kerryman.jpg >}} - -[reckless]: https://www.reckless.com -[bean]: https://millenniumparkfoundation.org/art-architecture/cloud-gate/ -[artic]: https://www.artic.edu -[tary]: https://tarycoffee.com/menu -[kerryman]: https://kerrymanchicago.com/drinks/ -[wave]: https://en.wikipedia.org/wiki/The_Great_Wave_off_Kanagawa -[quincy]: https://www.transitchicago.com/station/quin/ diff --git a/content/blog/2024/chicago/quincy.jpg b/content/blog/2024/chicago/quincy.jpg deleted file mode 100644 index 11b1039..0000000 --- a/content/blog/2024/chicago/quincy.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3b6c19b8a5f589b21a7ab8ee846e2c23c364335142c04457998cc89e948ac39e -size 1843640 diff --git a/content/blog/2024/chicago/tess-kerryman.jpg b/content/blog/2024/chicago/tess-kerryman.jpg deleted file mode 100644 index a85126f..0000000 --- a/content/blog/2024/chicago/tess-kerryman.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ad7dcfa33b5a9df82ae941f970324bcac5a25dbd36e900051032724a2af15bb2 -size 2452294 diff --git a/content/blog/2024/chicago/wedding.jpg b/content/blog/2024/chicago/wedding.jpg deleted file mode 100644 index 88e8463..0000000 --- a/content/blog/2024/chicago/wedding.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:08c30e5304a8341e6734eb5ce53c3249c935eb1eaa0401e90726ff660f8cf0e8 -size 2870428 diff --git a/content/blog/2024/christmas-in-massachusetts/bluey-erin-kathleen.jpg b/content/blog/2024/christmas-in-massachusetts/bluey-erin-kathleen.jpg deleted file mode 100644 index 9dc868a..0000000 --- a/content/blog/2024/christmas-in-massachusetts/bluey-erin-kathleen.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1d3444135aab32635f480ee8ca4a6797821ff9b6f0f68e51aa4dd0f9b5d6383e -size 3407880 diff --git a/content/blog/2024/christmas-in-massachusetts/bluey-green-door.jpg b/content/blog/2024/christmas-in-massachusetts/bluey-green-door.jpg deleted file mode 100644 index 83d88a6..0000000 --- a/content/blog/2024/christmas-in-massachusetts/bluey-green-door.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c17df7d3f75b0f3b18f9b5d73c1aa63b54ce5d856742f7121f4b9e9c8632e54 -size 3836629 diff --git a/content/blog/2024/christmas-in-massachusetts/bowling.jpg b/content/blog/2024/christmas-in-massachusetts/bowling.jpg deleted file mode 100644 index 7ae2121..0000000 --- a/content/blog/2024/christmas-in-massachusetts/bowling.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:19005c6eb5ef6da85eafcfe5abc92cff98bd4a7b53156fee94204f0e100db359 -size 1129641 diff --git a/content/blog/2024/christmas-in-massachusetts/erin-snowballs.jpg b/content/blog/2024/christmas-in-massachusetts/erin-snowballs.jpg deleted file mode 100644 index 0c7a73f..0000000 --- a/content/blog/2024/christmas-in-massachusetts/erin-snowballs.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3e171f8b999e0af9bf949e391397a78ef6c7dd34bffa127c62f78ad57917f185 -size 2557799 diff --git a/content/blog/2024/christmas-in-massachusetts/index.md b/content/blog/2024/christmas-in-massachusetts/index.md deleted file mode 100644 index 6f77a69..0000000 --- a/content/blog/2024/christmas-in-massachusetts/index.md +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: "Christmas in Massachusetts" -description: This year, I spent Christmas with Tess and Erin in Massachusetts. -date: 2024-12-25 -resources: - - src: snow-friend.jpg - title: The tiniest snow friend - - src: erin-snowballs.jpg - title: Erin making snowballs - - src: minot.jpg - title: Minot Light sits on an undersea ledge far out from shore - - src: sand-hills.jpg - title: The sea wall along Sand Hills Beach, where Tess spent many summers - - src: bluey-erin-kathleen.jpg - title: Heading into the Heeler's living room with Auntie Kathleen - - src: bluey-green-door.jpg - title: Waiting to go through the secret door! - - src: bowling.jpg - title: Erin's first game of candlepin bowling - - src: old-brigade.jpg - title: Danny (on the center mic) and the Old Brigade at Fox & Hound in Quincy, MA -tags: - - Holidays - - Christmas - - Family - - Tess - - Erin - - Candlepin Bowling - - Massachusetts ---- - -This year, {{< tess >}}, Erin, and I traveled to Massachusetts to spend -Christmas with Tess' family. This was my first year spending Christmas away from -my family in Arizona, and my first with Tess and Erin. - -One of my hopes for Christmas in a cold place was to see some snow. As luck -would have it, I woke up on Christmas Eve to find a light dusting! Erin and I -couldn't help ourselves: we rushed outside to make a few snowballs and the -tiniest snow man you've ever seen. - -{{< 2col >}} - {{< figures/image name=erin-snowballs.jpg >}} - {{< figures/image name=snow-friend.jpg >}} -{{< /2col >}} - -We opened presents and had a lazy Christmas morning. We had dinner at Tess' -parents' house, and then went over for Christmas dessert at her cousin's house --- a truly massive family event with many extended family members attending. - -The next day, Tess and I went "down harbor" for lunch and a little walk around. -We stopped at [Lucky Finn](https://www.luckyfinncafe.com) for a coffee, and Tess -took me around to see some of her old summer stomping grounds. I asked her to -help me get a good view of [Minot Light][minot], but it turns out it's really -damn far out so I only managed a little speck on the horizon. - -{{< 2col >}} - {{< figures/image name=minot.jpg >}} - {{< figures/image name=sand-hills.jpg >}} -{{< /2col >}} - -On Friday, Tess, Erin, and I went candlepin bowling at [Alley Kat -Lane][alleykat] in Kingston. Despite some initial hesitation, Erin had a lot of -fun. It was my first time at candlepin bowling too, and I found it really fun! -Harder than "big ball" bowling, but also more approachable because of the -lighter, smaller ball. The opportunities to strategize how to use the fallen -pins to your advantage add an interesting element too. - -{{< 2col >}} - {{< figures/image name=bluey-erin-kathleen.jpg >}} - {{< figures/image name=bluey-green-door.jpg >}} -{{< /2col >}} - -On Saturday, Tess, Kathleen, and I took Erin to an immersive [Bluey camp][bluey] -in Burlington. She had a great time building a fort out of the big cushy -oversized "blocks" in Bluey and Bingo's playroom. - -{{< 2col >}} - {{< figures/image name=bowling.jpg >}} - {{< figures/image name=old-brigade.jpg >}} -{{< /2col >}} - -Our last day in town, we went out to brunch at [The Tinker's Son][tinker], and -went up to [The Fox & Hound][fox] in Quincy to watch Tess' cousin -[Danny][brigade] play Irish music. - ---- - -I had a lot of feelings going into this Christmas. Apart from one pandemic year, -I've spent every year with my family in Arizona. I was worried about being in a -new place with people I didn't know well, breaking long-standing traditions with -my own family, letting them down, and feeling homesick. - -Everyone in Tess' family was welcoming and supportive. Tess' mom even got me a -stocking for their fireplce with my name on it, and her dad filled it with many -of the same things he gives to the rest of the family members. I also got to -watch Erin experience Christmas as a kid for the first time: opening presents, -playing in the snow, snuggling and reading books or watching TV together. - -I was able to keep some of my family traditions too. Mom sent me a box of full -of cookies; I shopped for presents for my parents and sister. And when we -returned to California, I was able to have a video call with my family to open -presents together. - -The older I get the more see the point of Christmas to be about the -relationships to family, and the sense of home and community you get from being -with people you love. Despite a whole new experience, I really felt that this -year. In fact, I think being in a new place, enacting different traditions, let -me hold the traditions and rituals of Christmas as I've experienced up to now a -little more loosely, and to focus on the people that bring meaning to the -holiday and make those rituals happen. - -[minot]: https://en.wikipedia.org/wiki/Minot%27s_Ledge_Light -[bluey]: https://camp.com/bluey-x-camp-boston -[alleykat]: https://alleykatlane.com -[tinker]: https://www.thetinkersson.com -[fox]: https://www.foxandhoundquincy.com -[brigade]: https://www.instagram.com/theoldbrigade/ diff --git a/content/blog/2024/christmas-in-massachusetts/minot.jpg b/content/blog/2024/christmas-in-massachusetts/minot.jpg deleted file mode 100644 index d97f476..0000000 --- a/content/blog/2024/christmas-in-massachusetts/minot.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:60395d73a2aa641b7d3f033474685bd2f9ef3128bb328f52456f432db579c1a3 -size 1976740 diff --git a/content/blog/2024/christmas-in-massachusetts/old-brigade.jpg b/content/blog/2024/christmas-in-massachusetts/old-brigade.jpg deleted file mode 100644 index 6684f09..0000000 --- a/content/blog/2024/christmas-in-massachusetts/old-brigade.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a3b5bd5931bdec32c2b54f7a63c6761d6951ee7e75891af6863aa127b2ed20ae -size 3163986 diff --git a/content/blog/2024/christmas-in-massachusetts/sand-hills.jpg b/content/blog/2024/christmas-in-massachusetts/sand-hills.jpg deleted file mode 100644 index d58eebe..0000000 --- a/content/blog/2024/christmas-in-massachusetts/sand-hills.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8c190c6ac37402e683c61715a71a1c4494c81a659a63403329a871017d9bf156 -size 3017239 diff --git a/content/blog/2024/christmas-in-massachusetts/snow-friend.jpg b/content/blog/2024/christmas-in-massachusetts/snow-friend.jpg deleted file mode 100644 index d08759f..0000000 --- a/content/blog/2024/christmas-in-massachusetts/snow-friend.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:812fcea1bf412ac0fd89d790095ae641dcc0461c14caa11e5f7f53a3f479240a -size 2395627 diff --git a/content/blog/2024/departure-mono/index.md b/content/blog/2024/departure-mono/index.md deleted file mode 100644 index 5f74514..0000000 --- a/content/blog/2024/departure-mono/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Departure Mono" -description: > - A fun fixed-width font evoking old school terminals and pixel fonts - from early computing. -date: 2024-12-28T08:19:53-05:00 -resources: - - src: screenshot.png - title: - params: - alt: > - A screenshot of the Departure Mono website. On the left, a small caption - "Departure Mono is a monospaced pixel font with a lo-fi technical vibe". - On the right are two examples: a personal letter on continuous feed - paper, and a notice on small stationary. -tags: - - Fonts - - Design - - Web Design ---- - -Here's a fun fixed-width pixel font I came across the other day: [Departure -Mono][dep]. It's got a neat old school terminal vibe, think VT100 or Commodore -64. - -{{< figures/image name=screenshot.png >}} - -[dep]: https://departuremono.com diff --git a/content/blog/2024/departure-mono/screenshot.png b/content/blog/2024/departure-mono/screenshot.png deleted file mode 100644 index 210aae2..0000000 Binary files a/content/blog/2024/departure-mono/screenshot.png and /dev/null differ diff --git a/content/blog/2024/eclipse/breanna-reading.jpg b/content/blog/2024/eclipse/breanna-reading.jpg deleted file mode 100644 index ef77dae..0000000 --- a/content/blog/2024/eclipse/breanna-reading.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c8907530f730f800e59101b9b26cd200b6f73c9bb045560ed0354ac4a73bf41 -size 1933691 diff --git a/content/blog/2024/eclipse/comadre-concha.jpg b/content/blog/2024/eclipse/comadre-concha.jpg deleted file mode 100644 index 0c9a71c..0000000 --- a/content/blog/2024/eclipse/comadre-concha.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:25ea86cacf4d35397f8dddfe949c83bf7abd1c8df23cf447820603abb4e40b50 -size 2144929 diff --git a/content/blog/2024/eclipse/diamondring.jpg b/content/blog/2024/eclipse/diamondring.jpg deleted file mode 100644 index 874875d..0000000 --- a/content/blog/2024/eclipse/diamondring.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c3f95920dc571ee9ac3fae17bd190d2a45e4fa85a94e50ea488bd79f9b5cb988 -size 1925477 diff --git a/content/blog/2024/eclipse/index.md b/content/blog/2024/eclipse/index.md deleted file mode 100644 index 5854fd9..0000000 --- a/content/blog/2024/eclipse/index.md +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: Eclipse -date: 2024-04-09T20:26:31-05:00 -description: > - I traveled to Austin, TX to watch the total solar eclipse that passed over - North America, and visit my friend Breanna Carzoo. -tags: - - Travel - - Space - - Eclipse - - "Austin, TX" - - Texas - - Food - - Conchas - - Books - - Reading -resources: - - name: preparing - src: preparing.jpg - title: - - name: sol - src: sol.jpg - title: Sol - - name: ringoffire - src: ringoffire.jpg - title: The Ring of Fire - - name: diamondring - src: diamondring.jpg - title: Diamond Ring - - src: breanna-reading.jpg - title: Breanna read Greenlight to a room full of kids wearing bee antennae. - - name: concha - src: comadre-concha.jpg - title: > - An earl grey concha from Comadre. The most delicate, flavorful pan dulce - I've ever had. - params: - alt: > - A small round bun with a pinkish topping sittin on a napkin in front of - a traditional cardboard donut box. ---- - -{{< figures/image name=preparing >}} - -On April 8, the earth experienced a [total solar eclipse][nasa] tracking over -North America. I was so excited to be able to travel to the path of totality and -observe the eclipse with my friend and fellow space nerd, [Breanna -Carzoo][breanna]. - -My setup for all my eclipse photos was a [Fujifilm X-T5][xt5], with a [Canon EF -100mm Macro][lens] lens. I used a [Fringer EF-XT converter][converter] to mount -the EF lens on the X-T5. Of course I also had a solar filter. - -Here's one of my first test images. You can see a sun spot! - -{{< figures/image name=sol >}} - -During totality, when the moon fully covers the disc of the sun, a phenomenon -known as the "Ring of Fire" occurse. The sky is dark and most of the Sun's light -is hidden. In this state, it's possible to see the Sun's corona. - -{{< figures/image name=ringoffire >}} - -Just before and after totality is the "Diamond Ring" phase, when the last bit of -light from the Sun's disc shines through the craters and valleys of the moon's -surface. - -{{< figures/image name=diamondring >}} - -Austin, TX was pretty cloudy that day. I'm grateful we were able to see as much -of the eclipse as we did. The clouds made for some awesome effects too. I'm -particularly proud of my Diamond Ring image (above) with the additional drama -the clouds brought to an already stunning event. - -Apart from the eclipse, I got to see Breanna do a book event in Bee Cave, TX. -This town is adorable and leans hard into its name -- everything has a bee -theme. - -{{< figures/image name=breanna-reading.jpg >}} - -I was also eager to try [Comadre Panadería](https://comadrepanaderia.com) after -hearing about it from Claire Saffitz on [one of her videos][comadre-yt] on her -Dessert Person YouTube channel. I have a huge soft spot for conchas -- Mexican -pan dulces shaped like shells -- and these were _incredible_. - -{{< figures/image name=concha >}} - -All told, a very successful trip! Breanna and I had a great time hanging out -together, and despite the clouds we got some great views of the eclipse. - -[nasa]: https://science.nasa.gov/eclipses/future-eclipses/eclipse-2024/ -[breanna]: https://www.breannacarzoo.com -[xt5]: https://fujifilm-x.com/en-us/products/cameras/x-t5/ -[lens]: https://www.usa.canon.com/shop/p/ef-100mm-f-2-8l-macro-is-usm -[converter]: https://www.fringeradapter.com/canon-ef-to-fujifilm-x -[comadre-yt]: https://www.youtube.com/watch?v=kJTHTfJ-91E diff --git a/content/blog/2024/eclipse/preparing.jpg b/content/blog/2024/eclipse/preparing.jpg deleted file mode 100644 index 508d388..0000000 --- a/content/blog/2024/eclipse/preparing.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2148bc15896769676fe90239e5ca9db6d8dfecddf6b81aeebbf744dcd1c23c89 -size 2674771 diff --git a/content/blog/2024/eclipse/ringoffire.jpg b/content/blog/2024/eclipse/ringoffire.jpg deleted file mode 100644 index d4547e3..0000000 --- a/content/blog/2024/eclipse/ringoffire.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e80cba7115954aff0f0b9273ba6dffc88718bd503c9417be326f6e5224096a20 -size 2896916 diff --git a/content/blog/2024/eclipse/sol.jpg b/content/blog/2024/eclipse/sol.jpg deleted file mode 100644 index 7c11191..0000000 --- a/content/blog/2024/eclipse/sol.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d5e0ab1a47e9458ee74915c2f590304dfef1abc274a9abe8e40d96ad58dffe4a -size 145056 diff --git a/content/blog/2024/jackson-and-other-holes/sunset.mov b/content/blog/2024/jackson-and-other-holes/sunset.mov index 2e20598..bbde40a 100644 Binary files a/content/blog/2024/jackson-and-other-holes/sunset.mov and b/content/blog/2024/jackson-and-other-holes/sunset.mov differ diff --git a/content/blog/2024/make-pattern-rules/Makefile b/content/blog/2024/make-pattern-rules/Makefile deleted file mode 100644 index ba4db9d..0000000 --- a/content/blog/2024/make-pattern-rules/Makefile +++ /dev/null @@ -1,67 +0,0 @@ -# A Makefile that explores pattern and grouped rules. This Makefile expects the -# GNU version of Make. - -# Relevant docs: -# https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html -# https://www.gnu.org/software/make/manual/html_node/Pattern-Match.html -# https://www.gnu.org/software/make/manual/html_node/Pattern-Intro.html -# https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html - - -NAMES=zip zap - -.PHONY: all clean - -all: $(NAMES:%=%.x) $(NAMES:%=%.y) - - -# Here's a simple pattern rule that generates a .txt file from a name. In this -# rule % represents the name (the 'stem' in Makefile lingo) in the targets and -# prerequisites, and $* represents the stem in the recipe. - -%.txt: - @echo "=> Making $*.txt" - python -c 'print("$*!".title())' > "$@" - - -# Here are a couple explicit rules that generate a single file given some input -# files. Note the input files (prerequisites) will be generated with the pattern -# rule above. - -zip.a : florp.txt - @echo "=> Making $@ with $<" - cat "$<" > "$@" - -zap.a : bloop.txt - @echo "=> Making $@ with $<" - cat "$<" > "$@" - - -# This is a Grouped rule, marked with &:. It indicates that the two target files -# are produced together in one invocation of the rule, rather than two separate -# files produced by the same rule. - -zip.x zip.y &: zip.a - @echo "=> Making XY files from $< with explicit rule" - echo "[X]" > zip.x - cat "$<" >> zip.x - echo "[Y]" > zip.y - cat "$<" >> zip.y - - -# Pattern rules with multiple targets are always Grouped, so you don't need the -# &: separator. - -%.x %.y : %.a - @echo "=> Making XY files from $< with pattern rule" - echo "[X]" > $*.x - cat "$<" >> $*.x - echo "[Y]" > $*.y - cat "$<" >> $*.y - - -clean: - rm -f bloop.txt florp.txt - rm -f $(NAMES:%=%.a) - rm -f $(NAMES:%=%.x) - rm -f $(NAMES:%=%.y) diff --git a/content/blog/2024/make-pattern-rules/index.md b/content/blog/2024/make-pattern-rules/index.md deleted file mode 100644 index f41465b..0000000 --- a/content/blog/2024/make-pattern-rules/index.md +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: "Makefile Pattern Rules" -date: 2024-12-04T14:26:57-08:00 -publishDate: 2024-12-05 -resources: - - name: makefile - src: Makefile -tags: - - TIL - - Make - - Software ---- - -I recently found myself hacking on a Makefile (the GNU kind, not the [BSD -kind][bsdmake]) that made heavy use of pattern rules and grouped rules. These -are concepts I haven't spent a lot of time with so I wrote myself a small test -Makefile to explore them in a little more detail. - - -## Pattern Rules - -[Pattern rules][patterns] drive most of the usage of `make` as a tool for -building software. `make` includes a bunch of pattern rules for many of the -kinds of source files you're likely to encounter. For example, it has implicit -rules for building `.o` files out of `.c` files. - -Here's a simple pattern rule that generates text files: - -```make -%.txt: - @echo "=> Making $*.txt" - python -c 'print("$*!".title())' > $@ -``` - -The `%` is tells `make` that this is a patten rule. It's a placeholder for a -string of non-whitespace characters, which `make` calls a _stem_. You can -reference the stem in the body of the rule with the [automatic variable][auto] -`$*`. - -This particular rule creates a text file with a particular stem by echoing a -string to a file with this little Python snippet. - -Here's a slightly more complex pattern rule: - -```make -%.x : %.a - @echo "=> Making X file from $< with pattern rule" - echo "[X]" > $*.x - cat "$<" >> $*.x -``` - -The major difference with this rule is that it has a prerequisite (the part -after the colon) that also has a `%`. So, this rule defines how to build a `.x` -file from a `.a` file with the same stem. - -Later on, if I write a rule like this: - -```make -zip.a : florp.txt - @echo "=> Making $@ with $<" - cat $< > $@ -``` - -`make` will understand that it first needs to generate `florp.txt` with the -pattern rule for `%.txt`. Then it can execute this rule to build `zip.a`. - - -## Grouped Rules - -Grouped rules are another feature of `make` that lets you specify [more than one -output][multiples] for a given rule. If you're writing C family languages, this -is useful for generating a header and source file pair, and making sure that -they get updated together. - -```make -zip.x zip.y &: zip.a - @echo "=> Making XY files from $< with explicit rule" - echo "[X]" > zip.x - cat "$<" >> zip.x - echo "[Y]" > zip.y - cat "$<" >> zip.y -``` - -Generally when you write a rule with more than one output, `make` understands -that each of the ouput files is built separately with the same rule. However, a -rule with a `&:` separator indicates that the outputs are built from a single -invocation of the rule. `make` will rebuild the rule if any of the outputs is -out-of-date. - - -## Altogether Now - -You can combine pattern rules and group rules into a single rule too. This rule -creates a pattern for building a pair of `.x` and `.y` files from a `.a` file -with a particular stem. - -```make -%.x %.y : %.a - @echo "=> Making XY files from $< with pattern rule" - echo "[X]" > $*.x - cat "$<" >> $*.x - echo "[Y]" > $*.y - cat "$<" >> $*.y -``` - -These rules are always treated as a group. It doesn't matter if you use `:` or -`&:`. - - -## Rule Precedence - -The way `make` decides which rule to use to produce a file are a little subtle, -especially when you combine pattern rules and explicit rules. In general an -explicit rule should take precedence over a pattern. In my Makefile, the rule -that explicitly builds `zip.x` and `zip.y` will win over the pattern for `%.x` -and `%.y`. When multiple pattern rules match a target, the rules are [more -complex][matching]. - ---- - -Download the full [Makefile]({{< page/resource-ref makefile >}}). - -[bsdmake]: {{< ref "blog/2024/bsd-make" >}} -[auto]: https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html -[patterns]: https://www.gnu.org/software/make/manual/html_node/Pattern-Intro.html -[multiples]: https://www.gnu.org/software/make/manual/html_node/Multiple-Targets.html -[matching]: https://www.gnu.org/software/make/manual/html_node/Pattern-Match.html diff --git a/content/blog/2024/milk-bread-rolls/IMG_5143.jpeg b/content/blog/2024/milk-bread-rolls/IMG_5143.jpeg deleted file mode 100644 index 586a053..0000000 --- a/content/blog/2024/milk-bread-rolls/IMG_5143.jpeg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ed6f2af4f217fa35c9043bd67884a44b36fea840957c86b095bd02590e8a7c56 -size 2691385 diff --git a/content/blog/2024/milk-bread-rolls/index.md b/content/blog/2024/milk-bread-rolls/index.md deleted file mode 100644 index ed03ced..0000000 --- a/content/blog/2024/milk-bread-rolls/index.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Milk Bread Rolls for Thanksgiving -date: 2024-12-01 -resources: - - name: rolls - title: - src: IMG_5143.jpeg - params: - alt: > - A set of ten rolls with golden brown tops arranged in a circular - cake pan. -tags: - - Cooking - - Recipes - - Baking - - Bread - - Thanksgiving ---- - -I made [Japanese Milk Bread Rolls][r] from King Arthur Baking for Thanksgiving. -They were a big hit! - -{{< figures/image name=rolls >}} - -The weirdest part for most Western bakers is probably the tangzhong, but it's a -pretty straight-forward roux, like you'd use to make gravy. The recipe has some -good instructions on how to do it. - -The most difficult part -- at least for me -- is probably the shaping because of -the coordination you need to turn the lump of dough in a circular motion on the -counter between your fingers. It took me a little while to get that, but now it -comes almost second nature. - -Totally recommend this one for holiday dinner! - -[r]: https://www.kingarthurbaking.com/recipes/japanese-milk-bread-rolls-recipe diff --git a/content/blog/2024/moon.md b/content/blog/2024/moon.md deleted file mode 100644 index 327e4b7..0000000 --- a/content/blog/2024/moon.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Moon -date: 2024-12-22T14:41:48-08:00 -tags: - - Space - - Moon ---- - -This post from Bartosz Ciechanowski all about the [Moon][moon] is as delightful -as it is educational. Their blog is full of extremely detailed posts about all -sorts of things. - -[moon]: https://ciechanow.ski/moon/ diff --git a/content/blog/2024/orlando-pride-nwsl-final/index.md b/content/blog/2024/orlando-pride-nwsl-final/index.md deleted file mode 100644 index 3745b45..0000000 --- a/content/blog/2024/orlando-pride-nwsl-final/index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Orlando Pride Win the NWSL Final!" -date: 2024-11-24T08:44:08-08:00 -resources: - - name: marta - src: marta.jpg - title: - params: - shouldResize: false - linksToFullSize: false - source: - url: https://www.instagram.com/p/DCvb5qzOi-E/ -tags: - - Sports - - Football - - NWSL - - Orlando Pride ---- - -On Saturday we watched the Orlando Pride play the Washington Spirit in the -final. They won 1-0 in an exciting game! - -{{< figures/image name=marta size=small >}} - -The Pride have had an amazing season, finishing first in the league standings -with a 18-2-6 record. - -I think my favorite part of the game was seeing Marta's mom in the stands. It -was her first trip to the United States. I love that she was able to be here for -such a big moment in her daughter's career. diff --git a/content/blog/2024/orlando-pride-nwsl-final/marta.jpg b/content/blog/2024/orlando-pride-nwsl-final/marta.jpg deleted file mode 100644 index 6aec92d..0000000 --- a/content/blog/2024/orlando-pride-nwsl-final/marta.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:94b7a35e57bb06ec34e35c2d2201b998e3e5eef315db06d192a7f2abccb1ff3c -size 445408 diff --git a/content/blog/2024/rubiks-scrambler.md b/content/blog/2024/rubiks-scrambler.md deleted file mode 100644 index a0ac788..0000000 --- a/content/blog/2024/rubiks-scrambler.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Rubik's Cube Scrambler -date: 2024-11-13T15:34:22-08:00 -tags: - - Tech - - Puzzles - - Rubik's Cube - - HTML - - JavaScript - - CSS - - Web Components ---- - -Here's a silly thing I made while I was home sick today. It's a widget that -produces a randomized pattern of [moves][rmoves] to scramble a 3×3 [Rubik's -Cube][rcube]. - -
- {{< rubiks/scrambler >}} -
- -This thing is a [Web Component][wc]. The interactive logic lives inside a custom -[HTMLElement][htmlelement], and the content and styling are specified inside a -[`