<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  
  <title>Reed Piernock</title>
  <subtitle>Reed is a front-end developer and pop culture scholar. Their blog covers a variety of topics, from HTML to horror movies.</subtitle>
  <link href="https://reedcodes.com/feed.xml" rel="self" />
  <link href="https://reedcodes.com/" />
  <updated>2026-06-03T14:00:00Z</updated>
  <id>https://reedcodes.com/</id>
  <author>
    <name>Reed Piernock</name>
    <email>hello@reedcodes.com</email>
  </author>
  <entry>
    <title>DIY whiteboard</title>
    <link href="https://reedcodes.com/blog/post/2026-06-03-diy-whiteboard/" />
    <updated>2026-06-03T14:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2026-06-03-diy-whiteboard/</id>
    <content type="html">&lt;p&gt;I’ve been wanting a household whiteboard for a while now. I’d actually like a few of them around the house for various things, but at least one for leaving notes or whatever. But everytime I looked up whiteboards, I asked myself the same question:&lt;/p&gt;
&lt;p&gt;Why are whiteboards so expensive?&lt;/p&gt;
&lt;p&gt;I mean, I kind of get it. I also don’t. With both Ami and I job hunting right now, we can’t justify spending $80 for a whiteboard that’s something like 12-inch by 8-inch. Luckily, YouTube knows me well enough by now to recommend some pretty decent crafting and DIY videos, and this idea for a DIY whiteboard popped up a few times.&lt;/p&gt;
&lt;p&gt;Items needed to make this whiteboard at home include:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;any size picture frame;&lt;/li&gt;
&lt;li&gt;craft paper to fit the size of the frame;&lt;/li&gt;
&lt;li&gt;scissors or craft knife to cut the paper to size, if needed; and&lt;/li&gt;
&lt;li&gt;whiteboard markers and eraser.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Depending on your frame, scrapbook paper would be great to use here! Most come in singles or packs, sized at 12-inch by 12-inch. If your frame is that size or smaller, I would definitely recommend scrapbook paper!&lt;/p&gt;
&lt;p&gt;For this method, you would use the craft paper just as you would a photograph in the frame. That’s it!&lt;/p&gt;
&lt;p&gt;I didn’t have to spend any cash on this, since we already had these around the house. The picture frame is &lt;a href=&quot;https://www.ikea.com/us/en/p/roedalm-frame-black-00548896/&quot;&gt;a 12-inch by 16-inch frame from IKEA&lt;/a&gt; that was’t currently being used. Since the frame is larger than the craft paper I have on hand, I used peel-and-stick paper leftover from another project we did to line IKEA Billy bookcases. So this whiteboard isn’t quite a whiteboard exactly, since it has a light gray patterned background.&lt;/p&gt;
&lt;p&gt;For this method, you will need to &lt;em&gt;super carefully&lt;/em&gt; apply the peel-snad-stick paper to the picture backing, a little at a time. Here is a &lt;a href=&quot;https://youtu.be/70zgGmbFJOw&quot;&gt;good YouTube video on applying peel-and-stick paper&lt;/a&gt;. I used a ruler to help smooth out any air bubbles that got trapped.&lt;/p&gt;
&lt;p&gt;It’s simple, and I’m pleased how it turned out! So pleased, in fact, that I plan to DIY all of the other whiteboards I want for the house, instead of buying them. That way, I get exactly the thing to fit our needs and make it as cute as possible.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>What the GRUB? Installing a new OS when EFI won’t load</title>
    <link href="https://reedcodes.com/blog/post/2026-05-27-what-the-grub-installing-a-new-os-when-efi-won-t-load/" />
    <updated>2026-05-27T16:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2026-05-27-what-the-grub-installing-a-new-os-when-efi-won-t-load/</id>
    <content type="html">&lt;p&gt;The other day, I tried to open the Shudder app on our Fire TV, only to be frustrated when it didn’t load. After searching the internet for any suggestions (as one does), I learned that our Fire TV’s operating system was old. Like, real old. Certain apps, including HBO Max, no longer support older OS versions.&lt;/p&gt;
&lt;p&gt;We bought the 55-inch television in December 2017, when it was on a mega holiday sale. Our Fire TV is a seventh generation, with the OS at 5.2.9.5. So... it will never update to the next major version.&lt;/p&gt;
&lt;p&gt;It is a perfectly fine TV! We can watch live TV through our external digital antenna, and have no issues with any of the inputs. I set it up with a Sony stereo receiver, using the HDMI ARC, and all the devices run through the receiver. We use the Roku most of the time, since trying to detangle from the Amazon ecosystem, but there’s no VPN app for the Roku while there is one for the Fire TV.&lt;/p&gt;
&lt;p&gt;What’s all that have to do with the title of this post?&lt;/p&gt;
&lt;p&gt;I didn’t want to install the VPN on the router directly, but I have an old 2011 Mac Mini with an outdated version of &lt;a href=&quot;https://elementary.io/&quot;&gt;Elementary OS&lt;/a&gt;, and thought I would install a new operating system and test it out with the TV. &lt;a href=&quot;https://zorin.com/os/&quot;&gt;Zorin OS&lt;/a&gt; felt like a good option; I’ve used it before and the desktop is pretty customizable. But I ran into a snag.&lt;/p&gt;
&lt;p&gt;I popped the bootable USB stick in, powered on the Mini, and quickly slammed my finger down on the &lt;code&gt;opt&lt;/code&gt; key. Expecting the EFI boot menu, I got GRUB instead.&lt;/p&gt;
&lt;p&gt;Now, I’m not uncomfortable using the command line, but I forget everything, everytime when using GRUB. I tried a few things, I read around Stackoverflow posts, and browsed some documentation, and figured out what I needed to do to get the USB stick booted up.&lt;/p&gt;
&lt;h2&gt;The whole chunk of commands to boot the stick through GRUB&lt;/h2&gt;
&lt;p&gt;If you’re reading this and just want the tl;dr, I’ll post the whole snippet, then run it through to explain how I got here. You might still want to read below, since paths may vary based on operating system.&lt;/p&gt;
&lt;pre class=&quot;language-grub&quot;&gt;&lt;code class=&quot;language-grub&quot;&gt;set root=(hd0)
chainloader (hd0)/EFI/boot/grub64.efi
boot&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Let’s break it down&lt;/h2&gt;
&lt;p&gt;The important thing we need to know is the name of the USB stick. Which disk is it? Typing &lt;code&gt;ls -l&lt;/code&gt; lists all the disks and partitions with detailed information, and we’re looking for the one that is labelled with the operating system ISO. It will be something similar to this:&lt;/p&gt;
&lt;pre class=&quot;language-grub&quot;&gt;&lt;code class=&quot;language-grub&quot;&gt;Partition hd0, msdos1: Filesystem type iso 9660...&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Great! The USB stick is &lt;code&gt;hd0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The file that will boot the stick will be an &lt;code&gt;.efi&lt;/code&gt;, and it will be somewhere within the EFI boot directory. It’s typically &lt;code&gt;/efi/boot/grubx64.efi&lt;/code&gt;, but! The path we need will be case sensitive and we can’t just use this. There might be a different or simpler way to do this, but I just listed out the directories until I found the right one.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;ls (hd0)/&lt;/code&gt; got me to the &lt;code&gt;EFI/&lt;/code&gt; folder, all uppercase.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls (hd0)/EFI/&lt;/code&gt; got me to the &lt;code&gt;boot/&lt;/code&gt; folder, all lowercase.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ls (hd0)EFI/boot/&lt;/code&gt; got me &lt;code&gt;grubx64.efi&lt;/code&gt;, again all lowercase.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Awesome. We’ve got our disk and we’ve got our path to the EFI file. All this so we can make certain we have the correct items to set next.&lt;/p&gt;
&lt;p&gt;First, let’s set the root to the USB stick instead of the computer’s hard drive, since this is where we want to boot from.&lt;/p&gt;
&lt;pre class=&quot;language-grub&quot;&gt;&lt;code class=&quot;language-grub&quot;&gt;set root=(hd0)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Next, set the chainloader to the exact EFI that we are going to boot. This is the path to the EFI file we found above.&lt;/p&gt;
&lt;pre class=&quot;language-grub&quot;&gt;&lt;code class=&quot;language-grub&quot;&gt;chainloader (hd0)/EFI/boot/grubx64.efi&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, boot it up! This will restart the computer.&lt;/p&gt;
&lt;pre class=&quot;language-grub&quot;&gt;&lt;code class=&quot;language-grub&quot;&gt;boot&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When the computer starts now, it &lt;em&gt;should&lt;/em&gt; pull up the “try or install” menu of the operating system on the USB stick. Select the option you want and get started using the OS on the stick.&lt;/p&gt;
&lt;h2&gt;References&lt;/h2&gt;
&lt;p&gt;Like I mentioned, I am not an expert with GRUB. Here are some of the links I used when figuring out this issue.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.gnu.org/savannah-checkouts/gnu/grub/manual/grub/html_node/chainloader.html&quot;&gt;GNU GRUB manual: chainloader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://szymonkrajewski.pl/how-to-boot-system-from-usb-using-grub/&quot;&gt;Szymon Krajewski: How to boot system from USB using GRUB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://superuser.com/questions/349633/boot-from-usb-using-grub&quot;&gt;Superuser: Boot from USB using GRUB&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Questions or suggestions?&lt;/h2&gt;
&lt;p&gt;I dont have comments enabled on the blog, but you are more than welcome to &lt;a href=&quot;https://social.lol/@reed&quot;&gt;message me on Mastodon&lt;/a&gt;! I would love any feedback you have on this method, especially if there are various ways to do this.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Open a pull request on the entire repository</title>
    <link href="https://reedcodes.com/blog/post/2026-04-30-open-a-pull-request-on-the-entire-repository/" />
    <updated>2026-04-30T14:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2026-04-30-open-a-pull-request-on-the-entire-repository/</id>
    <content type="html">&lt;p&gt;I am posting this here mostly because inevitably I &lt;em&gt;will&lt;/em&gt; forget this again, and in the future, when I once more scour the internet or tear through my old notes for an answer, perhaps I’ll come across my own blog post. 🤦🏻&lt;/p&gt;
&lt;h2&gt;Some background on why I wanted this&lt;/h2&gt;
&lt;p&gt;Recently I completed a code exercise for a job interview. I’d created my own repository for it, and as I often do, opened my own pull requests so I’m not just pushing to &lt;code&gt;main&lt;/code&gt; all the time. Also, each pull request would give the reviewer a good idea of how my mind works when coding a project.&lt;/p&gt;
&lt;p&gt;When I added the reviewers as contributors on the repository, although it wasn’t required, I wanted to provide an option for them to leave comments on a pull request for the entire repository. An interesting option, for sure! Usually, this isn’t done, because most of the people who would review code are already on your team. But, they weren’t on my team, and hadn’t had the opportunity to code review as I went along.&lt;/p&gt;
&lt;h2&gt;About code reviews and pull requests&lt;/h2&gt;
&lt;p&gt;When working with a code repository, there is a &lt;em&gt;main branch&lt;/em&gt; that contains production-ready code and &lt;em&gt;feature branches&lt;/em&gt; that contain work specific to a task. Changes that are proposed for inclusion in the production-ready code are done in feature branches so that nothing is affected on the live project! In nearly all development workflows, no individual piece of work is ever pushed directly to the main branch.&lt;/p&gt;
&lt;p&gt;Code reviews are a way to mitigate any issues going into production. A &lt;em&gt;pull request&lt;/em&gt; or a &lt;em&gt;merge request&lt;/em&gt; provides developers a way to review each other’s changes, leave comments, and make suggestions for improvements. Developers can engage in a great discussion about what is understandable versus what is efficient, what can be rearranged to adhere to code style guides, or even just where the typo is that is causing that blasted bug (missing semicolon, anyone‽).&lt;/p&gt;
&lt;h2&gt;The whole chunk of commands for your terminal of choice&lt;/h2&gt;
&lt;p&gt;So here it is: the snippet of commands I use to open a pull request on the entire respository. I’ll include the whole chunk as one, then go through it line by line to explain what’s happening.&lt;/p&gt;
&lt;p&gt;The following is generic for git, no matter which service you may host your respository on. Later in this post will be tips on opening a pull request using GitHub, Codeberg, or other services.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout main
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; pull
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout &lt;span class=&quot;token parameter variable&quot;&gt;-b&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-review
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; push origin &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-review
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout main
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout &lt;span class=&quot;token parameter variable&quot;&gt;--orphan&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-empty
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-rf&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; commit --allow-empty &lt;span class=&quot;token parameter variable&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;initial commit for an empty branch&quot;&lt;/span&gt;
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; push origin &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-empty
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-review
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; merge &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-empty --allow-unrelated-histories
&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; push&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Break it down, line by line&lt;/h2&gt;
&lt;p&gt;First, make sure you are on the main branch of your repository. Usually, this is &lt;code&gt;main&lt;/code&gt;, but your team may have a different standard.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout main&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then, grab the latest code from your main branch. You may already have it, but this ensures you do. It’ll be important when creating the review and empty branches.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; pull&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Create the temporary review branch. This branch is basically a copy of your main branch, so you’ll have something to compare, but you don’t want to accidently mess up and delete everything on the main branch. Hence, the temporary branches!&lt;/p&gt;
&lt;p&gt;You may want to tag it with the date you’re opening the pull request, so you know when these branches were, well, branched from your main branch.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout &lt;span class=&quot;token parameter variable&quot;&gt;-b&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-review&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Push this review branch to the repository. Because the review branch is new, you’ll need to use the &lt;code&gt;origin&lt;/code&gt; attribute to keep the local branch synced with the remote branch.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; push origin &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-review&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Checkout your main branch again, since we’re going to create a new copy that will be empty.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout main&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Currently on the main branch, you’ll create an temporary orphan branch that has no history! When creating the new branch, you’ll use the &lt;code&gt;--orphan&lt;/code&gt; flag.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout &lt;span class=&quot;token parameter variable&quot;&gt;--orphan&lt;/span&gt; &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-empty&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This next step may seem scary (it always is to me!) but you’re in that new temporary empty branch, which won’t completely erase the code in your main branch. &lt;code&gt;rm&lt;/code&gt; tells git to remove files, &lt;code&gt;-rf&lt;/code&gt; tells it to include folders and everything inside, and &lt;code&gt;.&lt;/code&gt; tells it to do that to &lt;em&gt;everything&lt;/em&gt; in the project.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; &lt;span class=&quot;token function&quot;&gt;rm&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-rf&lt;/span&gt; &lt;span class=&quot;token builtin class-name&quot;&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;With all the files removed, and with this being an orphan branch, git will think there is nothing to commit. Use the &lt;code&gt;--allow-empty&lt;/code&gt; flag to tell git that, yes, you do indeed want to make an empty commit.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; commit --allow-empty &lt;span class=&quot;token parameter variable&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;initial commit for an empty branch&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Push this empty branch to the repository. Just like above, because the empty branch is new, you’ll need to use &lt;code&gt;origin&lt;/code&gt; again.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; push origin &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-empty&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;OK, let’s go back to that review branch!&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; checkout &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-review&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Merge the empty branch into the review branch. Since the empty branch was created as an orphan, use the &lt;code&gt;--allow-unrelated-histories&lt;/code&gt; flag to tell git you now want them to share a history.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; merge &lt;span class=&quot;token number&quot;&gt;20260430&lt;/span&gt;-empty --allow-unrelated-histories&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;One more push! This pushes the review branch back into the repository, but with the added merge of the empty branch.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; push&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now you’ve got two temporary branches to compare! One is a copy of the main branch, and one is completely fresh, like nothing ever happened.&lt;/p&gt;
&lt;h2&gt;Opening the pull request for code review&lt;/h2&gt;
&lt;p&gt;Both the temporary empy and review branches are pushed to the repository. It’s time to open the pull request! The empty branch will be used as the &lt;em&gt;target&lt;/em&gt; or &lt;em&gt;base&lt;/em&gt; and the review branch will be used as the &lt;em&gt;compare&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Code reviewers can leave comments on the pull request, and if any changes are requested, they can be committed and pushed to the review branch. Once all comments are resolved and merged, the review branch will &lt;em&gt;merge into&lt;/em&gt; the empty branch, which can then be merged into the main branch.&lt;/p&gt;
&lt;p&gt;If there are no changes made to the review branch after a code review on the pull request, the pull request can be closed without merging, and nothing ever makes it into the main branch.&lt;/p&gt;
&lt;h3&gt;Repository resources&lt;/h3&gt;
&lt;p&gt;Below are links on pull requests for some common software repository platforms. &lt;a href=&quot;https://git-scm.com/docs/git-request-pull&quot;&gt;git pull requests&lt;/a&gt; work differently from the following, as it is used in the command line.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.codeberg.org/collaborating/pull-requests-and-git-flow/&quot;&gt;Codeberg pull requests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.gitlab.com/user/project/merge_requests/creating_merge_requests/&quot;&gt;GitLab merge requests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://support.atlassian.com/bitbucket-cloud/docs/create-a-pull-request/&quot;&gt;Bitbucket pull requests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request&quot;&gt;GitHub pull requests&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Using Codeberg&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://codeberg.org/ReedCodes/reedcodes/&quot;&gt;The repository for this site is hosted on Codeberg&lt;/a&gt;, and the example here is based on that.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;After running through all the above steps for creating and pushing the temporary branches, go to the &lt;strong&gt;Pull Requests&lt;/strong&gt; section of your repository on the Codeberg website.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;New pull request&lt;/strong&gt; button on this page, which will bring you to the user interface for creating the new pull request.&lt;/li&gt;
&lt;li&gt;Codeberg asks you to “Select the branch to merge into and the branch to pull from.” For the “merge into” branch, select your temporary empty branch, and for the “pull from” branch, select your temporary review branch.&lt;/li&gt;
&lt;li&gt;A preview of the changes will appear, which will be every line of every file in the repository. Click the &lt;strong&gt;New pull request&lt;/strong&gt; button on &lt;em&gt;this&lt;/em&gt; page to start the process.&lt;/li&gt;
&lt;li&gt;The user interface for the pull request appears, where you can set the title, description, assignees, and other attributes.&lt;/li&gt;
&lt;li&gt;After you fill out all the details, once you click the &lt;strong&gt;Create pull request&lt;/strong&gt; button, you have your pull request on the entire repository!&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Go forth and review!&lt;/h2&gt;
&lt;p&gt;Collaborate with friends or coworkers, make awesome changes to the code, and have fun! I hope this helps you or someone you know. I for sure &lt;em&gt;guarantee&lt;/em&gt; this will help me again in the future.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>100 Horror Movies in 92 Days 2025</title>
    <link href="https://reedcodes.com/blog/post/2025-11-14-100-horror-movies-in-92-days-2025/" />
    <updated>2025-11-14T18:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2025-11-14-100-horror-movies-in-92-days-2025/</id>
    <content type="html">&lt;p&gt;Every year since 2021, I have participated in a movie challenge: between Aug 1 and Oct 31, watch 100 horror movies you’ve never seen before.&lt;/p&gt;
&lt;p&gt;Watch 100 horror movies.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;That you’ve never seen before.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I am surprised that I’ve never blogged about this before! Sarah Stubbs started the challenge back in 2020, and has &lt;a href=&quot;https://sarahstubbssays.com/100-horror-movies-in-92-days-guidelines&quot;&gt;a useful list of guidelines for the challenge&lt;/a&gt;. The tl;dr for the rules is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You must never have seen the film before.&lt;/li&gt;
&lt;li&gt;The film must be at least 45 minutes.&lt;/li&gt;
&lt;li&gt;The film must be classified as horror (Letterboxd, IMDb, TMDb, etc.).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Any time I mention my participation in this challenge, the first question people usually have for me is, “are there that many horror movies?”&lt;/p&gt;
&lt;p&gt;Oh, honey. &lt;a href=&quot;https://letterboxd.com/films/genre/horror/&quot;&gt;Yes, there are that many horror movies.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My first challenge in 2021 coincided with a content analysis course I took as part of my grad program, and I watched quite a few movies in front of spreadsheets of data coding. My last movie that year was &lt;a href=&quot;https://letterboxd.com/film/white-zombie/&quot;&gt;&lt;em&gt;White Zombie&lt;/em&gt;&lt;/a&gt;, which, at only 67 minutes long, got me right up to midnight on the first of November and helped me finish the challenge on time.&lt;/p&gt;
&lt;p&gt;I completed the challenge every year, except 2022. But considering I was on a 6-week road trip, was mostly out of pocket from 6 October through 12 November that year, and still watched 97 movies, I think I did a pretty great job!&lt;/p&gt;
&lt;h2&gt;The 2025 watch challenge&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://reedcodes.com/ui/images/posts/2025-horror-movies.png&quot; alt=&quot;A grid poster art for all 114 movies I watched in the challenge&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://boxd.it/MT3lk&quot;&gt;The full list of all movies for the 2025 challenge are available on my Letterboxd list.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This year, I made it through &lt;strong&gt;114 movies&lt;/strong&gt;. I started the challenge on 1 August with &lt;a href=&quot;https://letterboxd.com/film/until-dawn-2025/&quot;&gt;&lt;em&gt;Until Dawn&lt;/em&gt;&lt;/a&gt; and semi-ended with &lt;a href=&quot;https://letterboxd.com/film/re-member/&quot;&gt;&lt;em&gt;Re/Member&lt;/em&gt;&lt;/a&gt; on 18 October — I figured since I started with a movie about time loops, I would end with one on time loops. The oldest movie I watched was 1935’s &lt;a href=&quot;https://letterboxd.com/film/the-raven/&quot;&gt;&lt;em&gt;The Raven&lt;/em&gt;&lt;/a&gt; and the newest was 2025’s &lt;a href=&quot;https://letterboxd.com/film/v-h-s-halloween/&quot;&gt;&lt;em&gt;V/H/S Halloween&lt;/em&gt;&lt;/a&gt;. 1966’s &lt;a href=&quot;https://letterboxd.com/film/seconds/&quot;&gt;&lt;em&gt;Seconds&lt;/em&gt;&lt;/a&gt; was the highest rated film with a 4.1 average on Letterboxd, while 2023’s &lt;a href=&quot;https://letterboxd.com/film/winnie-the-pooh-blood-and-honey/&quot;&gt;&lt;em&gt;Winnie the Pooh: Blood and Honey&lt;/em&gt;&lt;/a&gt; has only a 1.1 average score.&lt;/p&gt;
&lt;p&gt;According to &lt;a href=&quot;https://letterboxd.com/reedcodes/list/100-horror-movies-in-92-days-2025/stats/&quot;&gt;my Letterboxd stats for this challenge&lt;/a&gt;, those 114 films lasted &lt;strong&gt;179.8 hours&lt;/strong&gt;. Of the 125 total directors, &lt;a href=&quot;https://letterboxd.com/director/oz-perkins/&quot;&gt;Osgood Perkins&lt;/a&gt; showed up &lt;strong&gt;3 times&lt;/strong&gt; for &lt;a href=&quot;https://letterboxd.com/film/the-blackcoats-daughter/&quot;&gt;&lt;em&gt;The Blackcoat’s Daughter&lt;/em&gt;&lt;/a&gt;, &lt;a href=&quot;https://letterboxd.com/film/longlegs/&quot;&gt;&lt;em&gt;Longlegs&lt;/em&gt;&lt;/a&gt;, and &lt;a href=&quot;https://letterboxd.com/film/the-monkey-2025/&quot;&gt;&lt;em&gt;The Monkey&lt;/em&gt;&lt;/a&gt;. &lt;a href=&quot;https://letterboxd.com/actor/bill-skarsgard/&quot;&gt;Bill Skarsgård&lt;/a&gt;, &lt;a href=&quot;https://letterboxd.com/actor/kathryn-newton/&quot;&gt;Kathryn Newton&lt;/a&gt;, and &lt;a href=&quot;https://letterboxd.com/actor/mia-goth/&quot;&gt;Mia Goth&lt;/a&gt; all showed up in &lt;strong&gt;3 movies each&lt;/strong&gt; (although none with each other).&lt;/p&gt;
&lt;p&gt;It’s hard to pick which if any are my favorites, since many of these have their distinct pros and cons, things I liked and didn’t like. I thought &lt;a href=&quot;https://letterboxd.com/film/the-exorcist-believer/&quot;&gt;&lt;em&gt;The Exorcist: Believer&lt;/em&gt;&lt;/a&gt; wasn’t as bad as people claimed. &lt;a href=&quot;https://letterboxd.com/film/winnie-the-pooh-blood-and-honey/&quot;&gt;&lt;em&gt;Winnie the Pooh: Blood and Honey&lt;/em&gt;&lt;/a&gt; &lt;em&gt;was&lt;/em&gt; as bad as people claimed. &lt;a href=&quot;https://letterboxd.com/film/give-me-pity/&quot;&gt;&lt;em&gt;Give Me Pity!&lt;/em&gt;&lt;/a&gt; had some banger songs, &lt;a href=&quot;https://letterboxd.com/film/invitation-to-hell/&quot;&gt;&lt;em&gt;Invitation to Hell&lt;/em&gt;&lt;/a&gt; had some &lt;em&gt;amazing&lt;/em&gt; made-for-TV effects, &lt;a href=&quot;https://letterboxd.com/film/in-a-violent-nature/&quot;&gt;&lt;em&gt;In a Violent Nature&lt;/em&gt;&lt;/a&gt; featured some interesting kills, &lt;a href=&quot;https://letterboxd.com/film/nosferatu-2024/&quot;&gt;&lt;em&gt;Nosferatu&lt;/em&gt;&lt;/a&gt; was just beautiful, &lt;a href=&quot;https://letterboxd.com/film/pater-noster-and-the-mission-of-light/&quot;&gt;&lt;em&gt;Pater Noster and the Mission of Light&lt;/em&gt;&lt;/a&gt; was simply trippy, &lt;a href=&quot;https://letterboxd.com/film/i-saw-the-tv-glow/&quot;&gt;&lt;em&gt;I Saw the TV Glow&lt;/em&gt;&lt;/a&gt; gave me all the feels. If you want a lot of tension, watch &lt;a href=&quot;https://letterboxd.com/film/rec/&quot;&gt;&lt;em&gt;REC&lt;/em&gt;&lt;/a&gt; and if you want some sweet laughs, watch &lt;a href=&quot;https://letterboxd.com/film/freaky/&quot;&gt;&lt;em&gt;Freaky&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Challenge lists for previous years&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://boxd.it/xzslu&quot;&gt;2024 Challenge, 102 films&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boxd.it/nDeGm&quot;&gt;2023 Challenge, 120 films&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boxd.it/hCZ3g&quot;&gt;2022 Challenge, 97 films&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://boxd.it/d5n9e&quot;&gt;2021 Challenge, 100 films&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Join the fun!&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://letterboxd.com/reedcodes/&quot;&gt;Come find me on Letterboxd&lt;/a&gt; to follow my diary and lists, and hopefully I’ll see you in next year’s challenge!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 29 September 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-09-29-friday-random-ten-for-29-september-2023/" />
    <updated>2023-09-29T20:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-09-29-friday-random-ten-for-29-september-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by me having a terrible, horrible, no good, very bad day.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Peace Frog” — Smash Mouth, &lt;em&gt;Stoned Immaculate: The Music of the Doors&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Cherub Rock” — Smashing Pumpkins, &lt;em&gt;Siamese Dream&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“So Slowly” — Early Day Miners, &lt;em&gt;Daytrotter Session: Jan 30, 2008&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“World Robot Domination” — Sudden Death, &lt;em&gt;Fatal Error&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“You Suck” — The Murmurs, &lt;em&gt;The Murmurs&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Chasing Me” — Korn, &lt;em&gt;The Untouchables&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“One Step at a Time (acoustic)” — Four Year Strong, &lt;em&gt;Enemy of the World&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Pour Some Sugar on Me” — Def Leppard, &lt;em&gt;Hysteria&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Round and Round and Round” — The Cure, &lt;em&gt;Wild Mood Swings&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Only in Dreams” — Weezer, &lt;em&gt;Weezer&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Sudden Death&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; while it is the song that got them the most airplay, The Murmurs’ “You Suck” is on an album that doesn’t get as much recognition as it should.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; “Chasing Me”. Do I like Korn?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It amuses me:&lt;/strong&gt; that Smash Mouth was followed by Smashing Pumpkins.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 22 September 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-09-22-friday-random-ten-for-22-september-2023/" />
    <updated>2023-09-22T18:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-09-22-friday-random-ten-for-22-september-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by me getting close to &lt;a href=&quot;https://letterboxd.com/reedcodes/list/100-horror-movies-in-92-days-2023/&quot;&gt;my goal of 100 new-to-me horror movies by Halloween&lt;/a&gt; &lt;em&gt;way&lt;/em&gt; too quickly.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“One Week” — Barenaked Ladies, &lt;em&gt;Stunt&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Tragic Mirror” — Sondre Lerche, &lt;em&gt;Daytrotter Session: Jun 27, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Kryptonite” — Three Doors Down, &lt;em&gt;Y100 Sonic Sessions, Vol. 4&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Chasing Sirens” — Orgy, &lt;em&gt;Vapor Transmission&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Medicine” — Luke Temple, &lt;em&gt;Daytrotter Session: Aug 27, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“No Gato” — About, &lt;em&gt;Daytrotter Session: Mar 5, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Not Even Jail” — Interpol, &lt;em&gt;Antics&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Red Queen” — Dr. Awkward, &lt;em&gt;Unlimited&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Mundane” — Marc with a C, &lt;em&gt;Human Slushy&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Mr. Jones” — Counting Crows, &lt;em&gt;August and Everything After&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Barenaked Ladies, Dr. Awkward, Marc with a C&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; “Mr. Jones”, because it is an album that came out when I was close to that &lt;a href=&quot;https://adolescentiaproject.com&quot;&gt;magical age of 14 when our musical selves are starting to cement&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; I am not in an Orgy mood today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Oh come one:&lt;/strong&gt; not only &lt;em&gt;three&lt;/em&gt; songs from Daytrotter Sessions, but two of them are back to back. Was I really once that into Daytrotter Sessions that I have that many of them on my player?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 25 August 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-08-25-friday-random-ten-for-25-august-2023/" />
    <updated>2023-08-25T21:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-08-25-friday-random-ten-for-25-august-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by that time a date kept emphatically telling me that I, whose favorite movie is &lt;em&gt;The Muppet Movie&lt;/em&gt;, was very very wrong about the year in which it was released.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Never Before, Never Again (Instrumental)” — &lt;em&gt;The Muppet Movie: Original Motion Picture Soundtrack&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Wonder” — Natalie Merchant, &lt;em&gt;Tigerlily&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“I’ll Ruin Your Thoughts” — Tigers and Monkeys, &lt;em&gt;Tigers and Monkeys&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Rockin’ the Rhymes” — Arcane Addiction vs. MC Loki and Killa Ghozt, &lt;em&gt;Here Comes a New Challenger II Turbo (Disc 1)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Smallest Bones” — Castanets, &lt;em&gt;Daytrotter Session: May 10, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“New Violence” — White Williams, &lt;em&gt;Daytrotter Session: December 10, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Box Set” — Barenaked Ladies, &lt;em&gt;Gordon&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Automatic Flowers” — Our Lady Peace, &lt;em&gt;Clumsy&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Achilles Last Stand” — Led Zeppelin, &lt;em&gt;Presence&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Fight” — The Cure, &lt;em&gt;Kiss Me, Kiss Me, Kiss Me&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Natalie Merchant, MC Loki, Barenaked Ladies, Our Lady Peace&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; usually I would absolutely pick anything from &lt;em&gt;The Muppet Movie&lt;/em&gt;, but since it’s an instrumental, today I’ll go with “Automatic Flowers”.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; still have not been in a Led Zeppelin mood lately.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 18 August 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-08-18-friday-random-ten-for-18-august-2023/" />
    <updated>2023-08-18T19:30:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-08-18-friday-random-ten-for-18-august-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by that feeling of confidence you get when you cross off a bunch of items on your to-do list.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Cruel Minor Change” — Beulah, &lt;em&gt;The Coast is Never Clear&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“It’s No Game (Part 2)” — David Bowie, &lt;em&gt;Scary Monsters&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Smarkatch” — Gogol Bordello, &lt;em&gt;Multi Kontra Culti vs. Irony&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Reason to Believe” — Dashboard Confessional, &lt;em&gt;Dusk and Summer&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Spin Spin Sugar” — Sneaker Pimps, &lt;em&gt;Becoming X&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Out to Dry” — Live, &lt;em&gt;Birds of Pray&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Wailing Wall” — Young Galaxy, &lt;em&gt;Daytrotter Session: July 12, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“I Don’t Know” — Beastie Boys, &lt;em&gt;Hello Nasty&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Trendy” — Reel Big Fish, &lt;em&gt;Turn the Radio Off&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Defense” — Bad Religion, &lt;em&gt;The Process of Belief&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Gogol Bordello, Beastie Boys, Reel Big Fish&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; “Spin Spin Sugar”, although my old brain was &lt;em&gt;convinced&lt;/em&gt; this came out while I was in high school, but no. It was my freshman year of college.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; I have nothing against Dashboard Confessional — I just am not a fan as much as I am other bands — so sadly it falls to “Reason to Believe” today.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 11 August 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-08-08-friday-random-ten-for-11-august-2023/" />
    <updated>2023-08-08T20:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-08-08-friday-random-ten-for-11-august-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by me actually being kinda relieved that my karaoke team didn’t make it to city-wide finals.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Return to Zero” — Let Em Riot, &lt;em&gt;The 80’s Dream Compilation Tape, Volume 2&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Love for All Seasons” — Christina Aguilera, &lt;em&gt;Christina Aguilera&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Spin the Wink” — The Velvet Teen, &lt;em&gt;Daytrotter Session: Jan 22, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Love Me Two Times” — The Doors, &lt;em&gt;Strange Days&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Battle Cry” — The Broadcast, &lt;em&gt;From the Horizon&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“That’s My Bush” — &lt;em&gt;That’s My Bush&lt;/em&gt; television series theme song&lt;/li&gt;
&lt;li&gt;“Kiss Eternal” — Lords of Acid, &lt;em&gt;Farstucker&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Brews” — NOFX, &lt;em&gt;Punk in Drublic&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Medicine Head” — Marc with a C, &lt;em&gt;Pop Pop Pop&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Galapagos” — Smashing Pumpkins, &lt;em&gt;Mellon Collie and the Infinite Sadness&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; NOFX, Marc with a C&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; &lt;em&gt;Pop Pop Pop&lt;/em&gt; is one of my favorite albums from Marc, so I’m going with “Medicine Head”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; possibly “Love Me Two Times”, not because I have anything against The Doors, per se, but because I went really big into them during the summer between senior year and heading to college, and my boyfriend at the time was really big into them. Yeah, I know.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Serendipitous:&lt;/strong&gt; two songs played back to back, in which the title of its album is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Spoonerism&quot;&gt;spoonerism&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 7 July 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-07-07-friday-random-ten-for-7-july-2023/" />
    <updated>2023-07-07T22:15:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-07-07-friday-random-ten-for-7-july-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by realizing on Monday that you wrote this thing up on Friday and never pushed it live 🫠 So, can we make a little exception this week?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Man with a Plan” – Tacks, the Boy Disaster, &lt;em&gt;Daytrotter Sessions: April 13, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Take You on a Cruise” – Interpol, &lt;em&gt;Antics&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Final Countdown” – Europe, &lt;em&gt;The Final Countdown&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Bottle Rocket” – The Go! Team, &lt;em&gt;Thunder Lightning Strike&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Blood Patrol” – VLLNS ft. Powernerd, &lt;em&gt;Dreamhour&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Don’t Forget Me” – Red Hot Chili Peppers, &lt;em&gt;By the Way&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Flight 180” – Bishop Allen, &lt;em&gt;Daytrotter Sessions: June 1, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“One of my Terms” – Pink Floyd, &lt;em&gt;The Wall&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Sick Again” – Led Zeppelin, &lt;em&gt;Physical Grafitti&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Naked Wii” – Kirby Krackle, &lt;em&gt;Kirby Krackle&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Red Hot Chili Peppers, Kirby Krackle&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; “Bottle Rocket”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; “Don’t Forget Me”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lovely little surprise:&lt;/strong&gt; I seriously forgot that I had The Go! Team in my music library. I love it.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>A furniture dream come true</title>
    <link href="https://reedcodes.com/blog/post/2023-06-09-a-furniture-dream-come-true/" />
    <updated>2023-06-09T12:30:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-06-09-a-furniture-dream-come-true/</id>
    <content type="html">&lt;p&gt;Last Saturday, I went to the farmers market for the first time this season, and as I was walking into our apartment building, I heard some folks in the lobby talking about an estate sale. I asked about it, and they told me where it was. I dropped off my groceries, told my wife I wanted to check it out “just to see”, and headed out.&lt;/p&gt;
&lt;p&gt;Dear reader, let me tell you. The living room held a lot of the usual things — china sets, books of varying subjects, knick knacks. Then I made my way into the bedroom, where I immediately fell in love. There, in the corner, was a vintage secretary dresser in amazing condition.&lt;/p&gt;
&lt;p&gt;I say “vintage” because it seems to have been made in mid-last-century, yet is a reproduction of an antique piece. It’s got four drawers, and when you open the desk top, there are so many neat little nooks and secret hiding spots! And I got the thing for under $200.&lt;/p&gt;
&lt;p&gt;It needs a good dusting and a nice polish, but overall, it is &lt;em&gt;gorgeous&lt;/em&gt;. I would like to take more photos when it’s all cleaned up and in its proper space in the apartment.&lt;/p&gt;
&lt;p&gt;I have wanted something like this since I was an early teenager, so nearly all my life. I am still reeling.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 2 June 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-06-02-friday-random-ten-for-2-june-2023/" />
    <updated>2023-06-02T22:15:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-06-02-friday-random-ten-for-2-june-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by preparing for the next season of District Karaoke, which starts one week from today! I’m green team on my division this season. We are Sex Bob-omb!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Damaged Goods” – The Sinister Six, &lt;em&gt;Invasion of the Mic Snatchers&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Hymn” – Moby, &lt;em&gt;MobySongs 1993-1998&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Frost” – Allison Tartalia, &lt;em&gt;Ready&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Spread” – OutKast, &lt;em&gt;Speakerbox / The Love Below&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Velvet Morning” – The Verve, &lt;em&gt;Urban Hymns&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Frail” – Nine Inch Nails, &lt;em&gt;And All That Could Have Been&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Queen of the Populists” – Beulah, &lt;em&gt;Handsome Western States&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Collarbone” – Fujiya &amp;amp; Miyagi, &lt;em&gt;Transparent Things&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Seconds” – U2, &lt;em&gt;War&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“SPECIALEDITION” – ToadOfSky, &lt;em&gt;STARWRLD&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; The Sinister Six, Moby, Allison Tartalia, ToadOfSky&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; “SPECIALEDITION”, and no, that’s not just because we have the same parents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; even without the problematicness of Moby, this is one of my least-liked songs of his.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Back to the drawing board</title>
    <link href="https://reedcodes.com/blog/post/2023-05-24-back-to-the-drawing-board/" />
    <updated>2023-05-24T22:30:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-05-24-back-to-the-drawing-board/</id>
    <content type="html">&lt;p&gt;Last week, I bought a new iPad. My previous one was getting old, so old that it won&#39;t update to the next iOS version. I saved up a few months, and then picked up the iPad 10th gen. I didn&#39;t want to use it without a screen protector, because I get nervous that I&#39;m going to drop and break it.&lt;/p&gt;
&lt;p&gt;One thing I disliked about my old screen protector was the clicky sound it made whenever I used my pen. It was so annoying that I rarely wrote or drew using my iPad, and mostly just highlighted PDFs for class. I read reviews to figure out which one to get, and ended up buying &lt;a href=&quot;https://paperlike.com/&quot;&gt;Paperlike&lt;/a&gt;. They claimed it was easier and more natural to draw or write on the iPad, and wow! They were right. I&#39;m extremely glad I got this one.&lt;/p&gt;
&lt;p&gt;A Paperlike purchase comes with some goodies, like free Procreate brushes. Some artist friends of mine use Procreate, and their art looks amazing, so I assumed Procreate was hella expensive. But it&#39;s &lt;em&gt;not&lt;/em&gt; and that surprised me. I had some credit in my Apple account, and downloaded it.&lt;/p&gt;
&lt;img src=&quot;https://reedcodes.com/ui/images/posts/reed.jpg&quot; width=&quot;300&quot;&gt;
&lt;p&gt;I love it! I&#39;ve only really done two sketches, but between that and the Paperlike screen, I&#39;m enjoying drawing again. A long time ago, all I &lt;em&gt;did&lt;/em&gt; was draw. I wanted to go to a high school for the creative arts, but my parents told me no; I could do art after graduation. I compensated by taking art as my elective all four years of high school, plus outside classes at colleges and collectives. I decided I wanted to be an illustrator. My art teacher wrote me a glowing recommendation for the art college that was my first choice, and I was accepted with a small scholarship! But again my parents told me I couldn&#39;t go. I was devastated. Even though they loved my art, they told me they wanted me to have a &amp;quot;real career&amp;quot; and not end up a starving artist.&lt;/p&gt;
&lt;p&gt;I tried to keep it up, but my ex-husband was not only completely unsupportive, he thought it was childish and stupid of me to want to be an illustrator. Nearly all of my art was trashed, including a large self portrait done in chalk pastels that I made in high school. I gave up drawing for the &lt;em&gt;longest&lt;/em&gt; time, and while I&#39;ve been divorced for many years, and haven&#39;t spoken with my parents for a long time now, the feelings of discouragement still sit in the back of my mind.&lt;/p&gt;
&lt;p&gt;I do have some great sketches I did last year for class, but that&#39;s a story for another blog post. My new goal is to spend more time with Procreate, and digitally sketch instead of using my old sketchbooks. My interest in drawing has been revitalized and Procreate is so much fun to play with. The drawing at the top of this post is based on a selfie I took of me and my wife at the restaurant after our wedding, and the self-portrait drawing above is the first sketch I did; both done in Procreate. I can&#39;t wait to find out where I go next with this.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 19 May 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-05-19-friday-random-ten-for-19-may-2023/" />
    <updated>2023-05-19T20:15:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-05-19-friday-random-ten-for-19-may-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Breakdown (bonus track)” – GrooveWorthy, &lt;em&gt;The 80’s Dream Compilation Tape, Volume 2&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Time” – Hootie &amp;amp; the Blowfish, &lt;em&gt;Cracked Rear View&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“NY-San Anton” – The Ladybug Transistor, &lt;em&gt;Daytrotter Session: SXSW (Jun 6, 2007)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Cecilia” – Simon &amp;amp; Garfunkel, &lt;em&gt;Simon &amp;amp; Garfunkel&#39;s Greatest Hits&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Come Undone” – Duran Duran, &lt;em&gt;Duran Duran (The Wedding Album)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“New Horizons” – Timecop1983, &lt;em&gt;Reflections&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Great Gig in the Sky” – Pink Floyd, &lt;em&gt;Dark Side of the Moon&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Welcome to My Room” – Vietnam, &lt;em&gt;Daytrotter Session: Jan 14, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“First Tube” – Phish, &lt;em&gt;Y100 Sonic Sessions, Volume 5&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Invincible” – Muse, &lt;em&gt;Black Holes and Revelations&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Duran Duran, Muse&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stuff I’ve kinda seen live, but no, not really:&lt;/strong&gt; pretty sure it doesn’t count as “live” by watching &lt;em&gt;The Wizard of Oz&lt;/em&gt; while &lt;em&gt;Dark Side of the Moon&lt;/em&gt; plays.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; this playlist could be a banger if put into a proper order, so this is difficult. Call it: GrooveWorthy, since I’m feeling the retrowave vibe today. (see also Timecop1983)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; uuuuuuuuh. 🤔 Phish? Maybe? but not really?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 12 May 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-05-12-friday-random-ten-for-12-may-2023/" />
    <updated>2023-05-12T15:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-05-12-friday-random-ten-for-12-may-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by other folks joining the party! Thomas Rigby &lt;a href=&quot;https://thomasrigby.com/posts/friday-random-10-for-2023-05-12/&quot;&gt;posted a list today as well&lt;/a&gt;. I’m glad others are having fun too.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Down Payment Blues” – AC/DC, &lt;em&gt;Powerage&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Kid A” – Radiohead, &lt;em&gt;Kid A&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Sunny Day Suicide” – Chlorophyll, &lt;em&gt;Y100’s Philly File&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“I Could Die for You” – Red Hot Chili Peppers, &lt;em&gt;By the Way&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Twice as Hard” – The Black Crowes, &lt;em&gt;Shake Your Money Maker&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“My Last Song” – Schaffer the Darklord, &lt;em&gt;Mark of the Beast&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“God Moving over the Face of the Waters” – Moby, &lt;em&gt;MobySongs: 1993 - 1998&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“6 Underground” – Sneaker Pimps, &lt;em&gt;Becoming X&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Gloaming (Softly Open Our Mouths in the Cold)” – Radiohead, &lt;em&gt;Hail to the Thief&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“I’m Gonna Love You Just a Little More, Baby” – Barry White, &lt;em&gt;The Ultimate Collection&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Moby, Red Hot Chili Peppers, Schaffer the Darklord&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; gonna go with “6 Underground”, but “Twice as Hard” comes in a close second. High school nostalgia coming in hard this week.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; can I go with both Radiohead songs? Imma say yes, because it’s my music, my playlist, my rules.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problematic:&lt;/strong&gt; Moby 😒 because he was so creeping on Natalie Portman back in the day. Gross.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Whelp, I’m not going to the Good Place:&lt;/strong&gt; yes, RHCP used to be my favorite band, and I have seen them multiple times. Sometimes traveling as far as nearly 250 miles from my home.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Serendipitous:&lt;/strong&gt; two Radiohead songs in one playlist? Out of over 11k songs?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Serendipitous but not really serendipitous:&lt;/strong&gt; RHCP showed up last week, and here they are again. But considering they used to be my favorite band, I’m not too surprised.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 5 May 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-05-05-friday-random-ten-for-5-may-2023/" />
    <updated>2023-05-05T20:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-05-05-friday-random-ten-for-5-may-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by urgently fixing some bugs instead of working on the thing I planned on working on today.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Colin Creevey – The Quaffle Kids, &lt;em&gt;Bludgers &amp;amp; Broomsticks&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“If I Didn’t Love You” – Squeeze, &lt;em&gt;Singles: 45&#39;s and Under&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Just One” – Hoobastank, &lt;em&gt;The Reason&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Aluminum” – Barenaked Ladies, &lt;em&gt;Everything to Everyone&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Just What I Needed” – The Cars, &lt;em&gt;Complete Greatest Hits&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“With Holes for Thumb-Sized Birds” – Maritime, &lt;em&gt;Daytrotter Session: October 8, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Cautioners” – Jimmy Eat World, &lt;em&gt;Bleed American&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Cybernetic Armor” – Sammus, ANOTHER M&lt;/li&gt;
&lt;li&gt;“Friend of Mine” – Eve 6, &lt;em&gt;It’s All in Your Head&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“On the Boundary” – Y Kant Tori Read, &lt;em&gt;Y Kant Tori Read&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; The Quaffle Kids, Barenaked Ladies, Sammus&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On a technicality:&lt;/strong&gt; I haven’t seen Y Kant Tori Read, but I &lt;em&gt;have&lt;/em&gt; seen Tori Amos.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; Gonna go with Sammus’ “Cybernetic Armor” this week, although Squeeze and the Cars are fighting for that spot.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; maybe “Just One”? I don’t remember ever buying a Hoobastank album.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problematic:&lt;/strong&gt; I absolutely still love wizard rock, and going to those shows (and putting one on myself!) fills me with happy nostalgia. However, fuck J.K.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>The inaugural WPCampus Board of Directors... and me!</title>
    <link href="https://reedcodes.com/blog/post/2023-05-03-the-inaugural-wpcampus-board-of-directors-and-me/" />
    <updated>2023-05-03T19:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-05-03-the-inaugural-wpcampus-board-of-directors-and-me/</id>
    <content type="html">&lt;p&gt;This is 100% absolutely not new, but I haven’t blogged about this &lt;em&gt;at all&lt;/em&gt;, or even updated the site to announce this!&lt;/p&gt;
&lt;p&gt;This year, WPCampus moved from one director to a Board of Directors model, allowing Rachel Cherry to step back from being responsible for the whole of the organization. She opened a call for nominations, and while I was interested, my imposter syndrome kicked in (again) and told me not to apply. However, to my surprise, I was nominated by someone else!&lt;/p&gt;
&lt;p&gt;In early January, I was voted into the Board, and assumed the officer role of Secretary. It’s an exciting time! It’s been a few months, and I’m settling into my role. &lt;a href=&quot;https://www.wpcampus.org/governance/board/&quot;&gt;The entire board is an amazing group of people&lt;/a&gt;, and I am so honored and proud to be serving with them.&lt;/p&gt;
&lt;p&gt;Oh, and as a little plug, join us in &lt;a href=&quot;https://2023.wpcampus.org/&quot;&gt;New Orleans this July for the 2023 conference&lt;/a&gt;! As if I’m not busy enough 😅, I’m also on the planning committee, acting as the attendee and registration coordinator. Tulane University, here we come!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 28 April 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-04-28-friday-random-ten-for-28-april-2023/" />
    <updated>2023-04-28T17:30:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-04-28-friday-random-ten-for-28-april-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by dealing with a certain hosting company’s policies on hosting sites of hate groups.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Dark Blue” – No Doubt, &lt;em&gt;Return of Saturn&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Mr. Tanner” – Harry Chapin, &lt;em&gt;Short Stories&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Close to Me” – The Cure, &lt;em&gt;Galore&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Angel” – Dave Matthews Band, &lt;em&gt;Everyday&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Carnival” – Natalie Merchant, &lt;em&gt;Tigerlily&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Apologies are for the Weak” – Miss May I, &lt;em&gt;Apologies are for the Weak&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Out of the Frying Pan (and into the Fire)” – Meat Loaf, &lt;em&gt;Bat out of Hell II: Back into Hell&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Cupcakes in my Basement” – Saltlakrits, single&lt;/li&gt;
&lt;li&gt;“Get Off My Elevator” – Kool Keith, &lt;em&gt;Office Space: The Motion Picture Soundtrack&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Johnny, Kick a Hole in the Sky” – Red Hot Chili Peppers, &lt;em&gt;Mother’s Milk&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Meat Loaf, Red Hot Chili Peppers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; difficult, as this is &lt;em&gt;not&lt;/em&gt; a playlist I would have put together myself, and some of these bands have fallen way off my rotation list. However, that list &lt;em&gt;definitely does not&lt;/em&gt; include The Cure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; again, difficult. I’ll choose &amp;quot;Angel&amp;quot;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Whelp, I’m not going to the Good Place:&lt;/strong&gt; yes, RHCP used to be my favorite band, and I have seen them multiple times. Sometimes traveling as far as nearly 250 miles from my home.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The &lt;em&gt;wtf?&lt;/em&gt; moment:&lt;/strong&gt; I honestly had to look up &amp;quot;Cupcakes in my Basement&amp;quot; because I had absolutely no idea what that song is. Oh, right. &lt;em&gt;My Little Pony&lt;/em&gt;! It was research, years ago, when I was writing an article on the brony music scene.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 14 April 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-04-14-friday-random-ten-for-14-april-2023/" />
    <updated>2023-04-14T15:30:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-04-14-friday-random-ten-for-14-april-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by missing last week’s 10 because &lt;a href=&quot;https://pcaaca.org/conference/2023/&quot;&gt;I was presenting at a conference&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Closer to Free” – The Bodeans, &lt;em&gt;Go Slow Down&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“The Crystal Ship” – The Doors, &lt;em&gt;The Doors&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“DOUBLEDISC” – ToadOfSky, &lt;em&gt;STARWRLD&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Auf Achse” – Franz Ferdinand, &lt;em&gt;Franz Ferdinand&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Spreading Wings” – Gabriel Yared, &lt;em&gt;City of Angels: Music from the Motion Picture&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“I Want to Break Free” – The Protomen, &lt;em&gt;Present: a Night of Queen&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Achilles Last Stand” – Led Zeppelin, &lt;em&gt;Presence&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Mother, Stop Being Ridiculous” – Draco and the Malfoys, &lt;em&gt;Party Like You&#39;re Evil!&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“I Know Things Now” – Original Cast Recording, &lt;em&gt;Into the Woods&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Genesis” – Zombie Hyperdrive, &lt;em&gt;Hyperion&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Draco and the Malfoys, The Protomen, ToadOfSky&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stuff I’ve kinda seen live:&lt;/strong&gt; I didn’t see &lt;em&gt;this&lt;/em&gt; production of &lt;em&gt;Into the Woods&lt;/em&gt;, but I have seen quite a few various productions over the years, both professional and community theater.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; probably “I Want to Break Free” because witnessing The Protomen do an entire show of Queen covers was 100% amazing. But also: “DOUBLEDISC” because I can’t not favorite my brother’s music.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; “Achilles Last Stand” as I am &lt;em&gt;not&lt;/em&gt; in a Led Zeppelin mood today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problematic:&lt;/strong&gt; I absolutely still love wizard rock, and going to those shows (and putting one on myself!) fills me with happy nostalgia. However, fuck J.K.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 31 March 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-03-31-friday-random-ten-for-31-march-2023/" />
    <updated>2023-03-31T14:30:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-03-31-friday-random-ten-for-31-march-2023/</id>
    <content type="html">&lt;p&gt;It’s that time again! I’m bringing back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you by my anxiety on flying for the first time in almost four years, so I can attend this year’s &lt;a href=&quot;https://pcaaca.org/conference/2023/&quot;&gt;PCA/ACA annual conference&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“The First Time Ever I Saw Your Face” – Johnny Cash, &lt;em&gt;American IV: The Man Comes Around&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Swear” – Moby, &lt;em&gt;Hotel: Amient&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Hermione’s Song (You &amp;amp; Me)” – Oliver Boyd and the Rememberalls, &lt;em&gt;Welcome to Wizard Rock&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Everyone” – Van Morrison, &lt;em&gt;Moondance&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Country Grammar” – Nelly, &lt;em&gt;&lt;a href=&quot;http://Farmclub.com&quot;&gt;Farmclub.com&lt;/a&gt;: Live and Unreleased&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Extra Ordinary” – Better Than Ezra, &lt;em&gt;Closer&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Milk &amp;amp; Honey” – Beck, &lt;em&gt;Midnite Vultures&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Taxi” – Harry Chapin, &lt;em&gt;Heads &amp;amp; Tales&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Story of a Lonely Guy” – Blink 182, &lt;em&gt;Take Off Your Pants and Jacket&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Brena” – A Perfect Circle, &lt;em&gt;Mer de Noms&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; Moby, Oliver Boyd and the Rememberalls, Better Than Ezra, Beck, Blink 182.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; it’s actually kinda difficult this week, but... I’ll go with “Country Grammar”.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; another tough one to pick as this playlist is pretty solid. Hmm. Maybe “Swear” since I’m not quite feeling intrumentals today.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Serendipitous:&lt;/strong&gt; tracks from &lt;em&gt;Hotel: Ambient&lt;/em&gt; came up last week and this week.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problematic:&lt;/strong&gt; I absolutely still love wizard rock, and going to those shows (and putting one on myself!) fills me with happy nostalgia. However, fuck J.K.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Friday Random Ten for 24 March 2023</title>
    <link href="https://reedcodes.com/blog/post/2023-03-24-friday-random-ten-for-24-march-2023/" />
    <updated>2023-03-24T14:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-03-24-friday-random-ten-for-24-march-2023/</id>
    <content type="html">&lt;p&gt;I would like to bring back something from my old, regular blogging days of the mid-aughts: the Friday Random Ten. I don’t remember who started this tradition, but a bunch of us Philly bloggers would bring this around every Friday. The basic rules are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;fire up your digital music player&lt;/li&gt;
&lt;li&gt;go to “all songs“ and shuffle play &lt;em&gt;everything&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;note the first 10 songs to show up, &lt;em&gt;without&lt;/em&gt; skipping anything&lt;/li&gt;
&lt;li&gt;create your playlist&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sometimes we would also note our favorite or least favorite songs, bands from the list that we’d seen live, really random connections if a song popped up on someone &lt;em&gt;else’s&lt;/em&gt; list, etc. The only things I would ever pass by were podcasts or audio books that may have inadventently made it through the “songs“ group.&lt;/p&gt;
&lt;p&gt;My first MP3 player was a &lt;a href=&quot;https://www.crutchfield.com/S-X3SfA6toNe4/p_053ZENX40G/Creative-NOMAD-Zen-Xtra.html&quot;&gt;40GB Creative Nomad Zen Xtra&lt;/a&gt;, and very sadly I no longer have it. I do still have &lt;a href=&quot;https://www.instagram.com/p/CgSU9mMOFU5/&quot;&gt;my 2005 60GB iPod&lt;/a&gt;. I’m pretty sure it doesn’t have &lt;em&gt;everything&lt;/em&gt; on it, but it &lt;em&gt;does&lt;/em&gt; have nearly 12,000 songs. It’s not as slick as a new iPod or iPhone — when I was on a retreat with folks from one of my groups, the younger ones among us were &lt;em&gt;just amazed&lt;/em&gt; that it didn’t have a touch screen — but it’s gotten me through 18 years so far, and recently &lt;a href=&quot;https://www.lincolnhighwayjournal.com/&quot;&gt;travelled cross-country on my Lincoln Highway road trip&lt;/a&gt;. It’s my trusty friend, and it’s staying with me until one of us passes on.&lt;/p&gt;
&lt;p&gt;Neither the iPod nor my music folder on the external hard drive has everything I listen to, because over the past few years I’ve used streaming services. First it was Spotify, that I cancelled a while back; now it’s Deezer. I do have a record player and a double-deck cassette player that I’ve hooked up my old stero system. I’ve been trying to get back into buying music, especially physical copies when I can, including CDs but more often than not, cassette tapes and vinyl records. &lt;a href=&quot;https://virtua94records.bandcamp.com/music&quot;&gt;My brother’s record label, Virtua94&lt;/a&gt;, among some other artists I support, releases most of its albums on cassette as well as digital download.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today’s Friday Random Ten&lt;/strong&gt;, brought to you courtesy of that old iPod (is almost 20 years old considered vintage?):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;“Scrub Club Megamix” – DJ CutterJ, &lt;em&gt;Noncents Vol. 2&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Call and Answer” – Barenaked Ladies, &lt;em&gt;Stunt&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Moments of Pleasure” – Kate Bush, &lt;em&gt;The Red Shoes&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Stagger on Rejoycing” – Global Transmission, &lt;em&gt;Y100’s Philly File&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Snowball” – Moby, &lt;em&gt;Hotel: Ambient&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Mouth” – Bush, &lt;em&gt;Razorblade Suitcase&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“South of America” – Phosphorescent, &lt;em&gt;Daytrotter Session: Mar 7, 2008&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Let Us Know” – Koufax, &lt;em&gt;Daytrotter Session: Feb 15, 2007&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Suck My Wallet” – The Grammar Club, &lt;em&gt;MC Horse Rides Again&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;“Show Me Your Heart” – Need New Body, &lt;em&gt;UFO&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Artists I’ve seen live:&lt;/strong&gt; DJ CutterJ, Barenaked Ladies, Moby, The Grammar Club&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Favorite track on the list:&lt;/strong&gt; I’ve been feeling ’90s nostalgia lately, so I’m gonna go with “Mouth”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Least favorite track on the list:&lt;/strong&gt; “Suck My Wallet”, because I think Grammar Club’s first album &lt;em&gt;Bremelanotide&lt;/em&gt; was far superior&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Illness and recovery</title>
    <link href="https://reedcodes.com/blog/post/2023-01-31-illness-and-recovery/" />
    <updated>2023-01-31T23:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-01-31-illness-and-recovery/</id>
    <content type="html">&lt;p&gt;Does it count meeting my blogging goal if my third post is about how I’m feeling with not quite meeting my blogging goal?&lt;/p&gt;
&lt;p&gt;I started feeling sick on New Year&#39;s Day, and tested positive for covid-19 the next morning. I’ve spent the entire year so far, sick. Sometimes, there is only so much to do while sick &lt;em&gt;and&lt;/em&gt; still try to recover. As much as I want to get back to “normal”, my body reminded me of its boundaries when I tried. Just a walk two blocks up the street completely wiped me and I slept about 12 hours.&lt;/p&gt;
&lt;p&gt;This isn’t a post so much about covid as it is me being frustrated. I’d still like to keep my “three posts a month” goal for the year, but I’d like to be more realistic, especially given how I’ve been this month. If I can do at least &lt;em&gt;one&lt;/em&gt; post per month, I’d feel accomplished!&lt;/p&gt;
&lt;p&gt;Some things I’d like to write about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;neat things I’m coding at work&lt;/li&gt;
&lt;li&gt;trying to meal plan for the first time&lt;/li&gt;
&lt;li&gt;my obvious first attempts at crochet&lt;/li&gt;
&lt;li&gt;saving up for a new sewing machine&lt;/li&gt;
&lt;li&gt;getting involved in professional organizations&lt;/li&gt;
&lt;li&gt;celebrating my bun’s first birthday&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I’m still working hard to get over my imposter syndrome. I came across a blog post called &lt;a href=&quot;https://mxb.dev/blog/seven-reasons-why-i-dont-write/&quot;&gt;7 reasons why I don&#39;t write&lt;/a&gt; and it really does help to know that other people’s brains tell them similar things.&lt;/p&gt;
&lt;p&gt;So I’ll keep going.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Using GitHub as an 11ty blog that auto-deploys to Dreamhost</title>
    <link href="https://reedcodes.com/blog/post/2023-01-29-using-github-as-an-11ty-blog-that-auto-deploys-to-dreamhost/" />
    <updated>2023-01-29T16:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-01-29-using-github-as-an-11ty-blog-that-auto-deploys-to-dreamhost/</id>
    <content type="html">&lt;p&gt;For all of October and half of November, I was on the road, &lt;a href=&quot;https://lincolnhighwayjournal.com/&quot;&gt;driving the entirety of the historic Lincoln Highway&lt;/a&gt;! My plan was to blog as I went, typing up my day when I stopped for the night. I soon learned that was an overly ambitious goal, and every night I was so full from my day that I could do nothing more than watch a movie or do a little journaling in my notebook. In Evanston WY, I was finally able to finish seaming my sweater!&lt;/p&gt;
&lt;p&gt;Even though the blogging didn’t get done on the trip, I was able to set up my site so that I &lt;em&gt;could&lt;/em&gt; blog from the road. I didn’t want to bring my MacBook Pro or my Linux laptop with me, and packed my Chromebook instead. I didn’t need all of the computing power from my work or personal computers, since I really only wanted to do things like check email, review my map, or make a hotel reservation.&lt;/p&gt;
&lt;p&gt;I also fell in love with &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;11ty&lt;/a&gt;, a super customizable static site generator. A WordPress blog would have been the easy option, with its web-based editor, and although I do enjoy working with WordPress very much, I wanted the advantages of a static site. 11ty is so much fun!&lt;/p&gt;
&lt;p&gt;For this post, I’m not going too deep into setting up an 11ty blog — that could be a whole series of posts itself — but I’ll explain a little bit about how my blog is set up before diving into it.&lt;/p&gt;
&lt;h2&gt;Building an 11ty blog&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/reedcodes/lincolnhighway&quot;&gt;The source code for my road trip blog is available on GitHub&lt;/a&gt; if you’d like to view everything. There are still some portions I’d like to refactor; I’d gotten used to doing things in Twig, and there’s a bit of an adjustment moving to Nunjucks.&lt;/p&gt;
&lt;p&gt;One of the first things I did was add an empty &lt;code&gt;.nojekyll&lt;/code&gt; file to the root of my project. GitHub Pages by default uses Jekyll to build static sites, and even though I am not using GitHub Pages to serve my site, I’d much rather have it in there. Just in case.&lt;/p&gt;
&lt;p&gt;I then set up my &lt;code&gt;package.json&lt;/code&gt; and ran &lt;code&gt;npm install @11ty/eleventy --save-dev&lt;/code&gt; to install 11ty into my project. As I mentioned, there is &lt;em&gt;a lot&lt;/em&gt; that could be written about setting up an 11ty site, and &lt;a href=&quot;https://www.11ty.dev/docs/&quot;&gt;the documentation is extensive&lt;/a&gt;! 11ty is so customizable, with scripts and plugins &lt;a href=&quot;https://www.11ty.dev/docs/config/&quot;&gt;configured in &lt;code&gt;.eleventy.js&lt;/code&gt;&lt;/a&gt;, but for this post, the most relevant lines are for the input and output directories.&lt;/p&gt;
&lt;pre class=&quot;language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;module&lt;span class=&quot;token punctuation&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;token function-variable function&quot;&gt;exports&lt;/span&gt; &lt;span class=&quot;token operator&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;token keyword&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;token parameter&quot;&gt;eleventyConfig&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token literal-property property&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;source&quot;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;,&lt;/span&gt;
      &lt;span class=&quot;token literal-property property&quot;&gt;output&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;site&quot;&lt;/span&gt;
    &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;code&gt;input&lt;/code&gt; and &lt;code&gt;output&lt;/code&gt; directories are relative to the project root. 11ty will look in the &lt;code&gt;input&lt;/code&gt; directory for the files it needs to compile the site. I keep all my source files — templates, macros, data, scripts, styles, etc. — in the &lt;code&gt;source&lt;/code&gt; directory. The &lt;code&gt;output&lt;/code&gt; directory is the folder where the built site lives; I cleverly and originally called this &lt;code&gt;site&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;In my &lt;code&gt;package.json&lt;/code&gt;, I have commands in the &lt;code&gt;scripts&lt;/code&gt; section for running 11ty (along with other scripts) to compile the site:&lt;/p&gt;
&lt;pre class=&quot;language-json&quot;&gt;&lt;code class=&quot;language-json&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;token property&quot;&gt;&quot;scripts&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;token property&quot;&gt;&quot;build&quot;&lt;/span&gt;&lt;span class=&quot;token operator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;npx eleventy&quot;&lt;/span&gt;
  &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Because I use GitHub Actions to build my site, I don’t commit any of the build in the repository, and include the &lt;code&gt;site&lt;/code&gt; directory in a &lt;code&gt;.gitignore&lt;/code&gt; file, since actions will do all that work for me.&lt;/p&gt;
&lt;p&gt;(If you don’t already, it’s also a good idea to add &lt;code&gt;node_modules&lt;/code&gt; to your &lt;code&gt;.gitignore&lt;/code&gt; too!)&lt;/p&gt;
&lt;h2&gt;Creating GitHub Actions to build the site&lt;/h2&gt;
&lt;p&gt;Although there are now &lt;a href=&quot;https://github.blog/2022-08-10-github-pages-now-uses-actions-by-default/&quot;&gt;built-in Actions for running GitHub Pages&lt;/a&gt;, this is not &lt;em&gt;quite&lt;/em&gt; what I need for this project. I found &lt;a href=&quot;https://github.com/peaceiris/actions-gh-pages&quot;&gt;peaceiris’ GitHub Pages Action&lt;/a&gt; to be a quick-to-setup workflow for building my 11ty blog. The basic workflow is this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;When a pull request is merged into the &lt;code&gt;main&lt;/code&gt; branch, run the &lt;code&gt;build-11ty&lt;/code&gt; workflow.&lt;/li&gt;
&lt;li&gt;Then, it sets up Node.js and runs &lt;code&gt;npm install&lt;/code&gt; based on the packages in &lt;code&gt;package.json&lt;/code&gt; file.&lt;/li&gt;
&lt;li&gt;Next, it runs &lt;code&gt;npm run build&lt;/code&gt; to compile &lt;em&gt;everything&lt;/em&gt; for the blog to the &lt;code&gt;/site/&lt;/code&gt; directory.&lt;/li&gt;
&lt;li&gt;This directory is pushed to a separate branch called &lt;code&gt;production&lt;/code&gt;, which is &lt;em&gt;only ever used&lt;/em&gt; to contain the built site.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For this, we create a workflow file in a workflows directory specific to GitHub: &lt;code&gt;/.github/workflows/build-11ty.yml&lt;/code&gt;. The workflow has a &lt;code&gt;name&lt;/code&gt; that describes the workflow, an &lt;code&gt;on&lt;/code&gt; parameter to tell the workflow when to run, and a &lt;code&gt;jobs&lt;/code&gt; parameter that specifies what commands will run in the workflow.&lt;/p&gt;
&lt;p&gt;GitHub hosts &lt;a href=&quot;https://docs.github.com/en/developers/github-marketplace&quot;&gt;thorough documentation for its Actions&lt;/a&gt;. As an example, the full workflow in my repository is below:&lt;/p&gt;
&lt;pre class=&quot;language-yaml&quot;&gt;&lt;code class=&quot;language-yaml&quot;&gt;&lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Build 11ty

&lt;span class=&quot;token key atrule&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;pull_request&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;types&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; closed
    &lt;span class=&quot;token key atrule&quot;&gt;branches&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&#39;main&#39;&lt;/span&gt;

&lt;span class=&quot;token key atrule&quot;&gt;jobs&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;token key atrule&quot;&gt;if_merged&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;token key atrule&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; github.event.pull_request.merged == true
    &lt;span class=&quot;token key atrule&quot;&gt;runs-on&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; ubuntu&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;latest
    &lt;span class=&quot;token key atrule&quot;&gt;permissions&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token key atrule&quot;&gt;contents&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; write
    &lt;span class=&quot;token key atrule&quot;&gt;steps&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;uses&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; actions/checkout@v3

      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Setup node.js
        &lt;span class=&quot;token key atrule&quot;&gt;uses&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; actions/setup&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;node@v3
        &lt;span class=&quot;token key atrule&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;node-version&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; latest

      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Install and build
        &lt;span class=&quot;token key atrule&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;token scalar string&quot;&gt;
          npm install
          npm run build&lt;/span&gt;

      &lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;token key atrule&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; Deploy
        &lt;span class=&quot;token key atrule&quot;&gt;uses&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; peaceiris/actions&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;gh&lt;span class=&quot;token punctuation&quot;&gt;-&lt;/span&gt;pages@v3
        &lt;span class=&quot;token key atrule&quot;&gt;with&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt;
          &lt;span class=&quot;token key atrule&quot;&gt;publish_dir&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; site
          &lt;span class=&quot;token key atrule&quot;&gt;publish_branch&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; production
          &lt;span class=&quot;token key atrule&quot;&gt;github_token&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;:&lt;/span&gt; $&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt; secrets.GITHUB_TOKEN &lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;GitHub Actions have really detailed options, but the workflow to build an 11ty site does not need to be overly complex. We only want to run this action when a pull request is merged into &lt;code&gt;main&lt;/code&gt;, and we only need the &lt;code&gt;production&lt;/code&gt; branch to hold the built site. Actually deploying the site happens in another process.&lt;/p&gt;
&lt;p&gt;In the workflow step that actually runs peaceiris’ action, there is a parameter for &lt;code&gt;secrets.GITHUB_TOKEN&lt;/code&gt;. This token doesn’t need to be defined anywhere in the workflow or in the project repository! From peaceiris’ documentation:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;For newbies of GitHub Actions: Note that the &lt;code&gt;GITHUB_TOKEN&lt;/code&gt; is &lt;strong&gt;NOT&lt;/strong&gt; a personal access token. A GitHub Actions runner automatically creates a &lt;code&gt;GITHUB_TOKEN&lt;/code&gt; secret to authenticate in your workflow. So, you can start to deploy immediately without any configuration.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So now, the &lt;code&gt;main&lt;/code&gt; branch &lt;em&gt;only&lt;/em&gt; includes the source for building the site, the &lt;code&gt;/source/&lt;/code&gt; directory that has all the blog files (templates, CSS, etc) and the project files (package information, 11ty configuration, etc), and the &lt;code&gt;production&lt;/code&gt; branch &lt;em&gt;only&lt;/em&gt; includes the actual built site (HTML pages, images, compiled stylesheets, etc).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;n.b.&lt;/strong&gt; Because the &lt;code&gt;production&lt;/code&gt; branch &lt;em&gt;only&lt;/em&gt; holds the built site, it will always be some number of commits ahead and behind &lt;code&gt;main&lt;/code&gt;. &lt;a href=&quot;https://github.com/reedcodes/lincolnhighway/tree/production&quot;&gt;You can check out my &lt;code&gt;production&lt;/code&gt; branch at GitHub.&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Deploying the built site to Dreamhost&lt;/h2&gt;
&lt;p&gt;Here’s the part that deploys the built site to the Dreamhost webserver. For this, we use &lt;a href=&quot;https://github.com/markomarkovic/simple-php-git-deploy&quot;&gt;Marko Marković’s Simple PHP git Deploy script&lt;/a&gt;. The file is heavily commented and gives really good instructions for configuring the script for &lt;em&gt;your&lt;/em&gt; website setup.&lt;/p&gt;
&lt;p&gt;There are a few requirements:&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git&lt;/code&gt; and &lt;code&gt;rsync&lt;/code&gt; are required on the server that’s running the script (server machine).&lt;/li&gt;
&lt;li&gt;The system user running PHP (e.g. &lt;code&gt;www-data&lt;/code&gt;) needs to have the necessary access permissions for the &lt;code&gt;TMP_DIR&lt;/code&gt; and &lt;code&gt;TARGET_DIR&lt;/code&gt; locations on the server machine.&lt;/li&gt;
&lt;li&gt;If the Git repository you wish to deploy is private, the system user running PHP also needs to have the right SSH keys to access the remote repository.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;For the first two items, these are included with all Dreamhost plans. I didn’t have to change anything for those. So far, I have not tried this method with a private repository, so I cannot speak for the third item.&lt;/p&gt;
&lt;p&gt;The initial step is to create a directory that will be uploaded to your site, named something like &lt;code&gt;deployment&lt;/code&gt; or &lt;code&gt;scripts&lt;/code&gt;, or really anything else! This folder is &lt;em&gt;not&lt;/em&gt; something that will be committed to the repository, because it’s about to hold some &lt;em&gt;secrets&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;The next step is to visit the &lt;a href=&quot;https://github.com/markomarkovic/simple-php-git-deploy&quot;&gt;deploy script repository&lt;/a&gt;, and download two files: &lt;code&gt;deploy.php&lt;/code&gt; and &lt;code&gt;deploy-config.example.php&lt;/code&gt; into this new deployment folder. These are the scripts that help work the magic! Rename the example file to &lt;code&gt;deploy-config.php&lt;/code&gt; and configure it as in the &lt;code&gt;README&lt;/code&gt;. We’ll go over some of the most important options.&lt;/p&gt;
&lt;p&gt;The first configuration setting is the &lt;code&gt;SECRET_ACCESS_TOKEN&lt;/code&gt;. This can be any type of password, phrase, etc. This is the &lt;em&gt;main&lt;/em&gt; reason these files should not be committed to the project repository! It’s going to be used in a GitHub webhook to give access for deploying the site.&lt;/p&gt;
&lt;p&gt;Next is the &lt;code&gt;REMOTE_REPOSITORY&lt;/code&gt;, and is the &lt;code&gt;.git&lt;/code&gt; address of the repo. For example, mine is &lt;code&gt;https://github.com/reedcodes/lincolnhighway.git&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;BRANCH&lt;/code&gt; is the one specified above, in the GitHub action, that will &lt;em&gt;only&lt;/em&gt; hold the built files for the website, e.g. &lt;code&gt;production&lt;/code&gt;. This branch must already exist in the repository, but it’s not necessary to have anything there yet.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;TARGET_DIR&lt;/code&gt; is the directory where the built site lives on the web server. For Dreamhost, a website’s home at the site root is &lt;code&gt;/home/[USERNAME]/[DOMAIN.COM]/&lt;/code&gt;, where &lt;code&gt;[USERNAME]&lt;/code&gt; is the name of the account, and &lt;code&gt;[DOMAIN.COM]&lt;/code&gt; is the site’s domain. For example, on my Lincoln Highway blog, my target directory is &lt;code&gt;/home/reedcodes/lincolnhighwayjournal.com/&lt;/code&gt;. Anything under this directory &lt;em&gt;will be the website!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;DELETE_FILES&lt;/code&gt; can either be &lt;code&gt;false&lt;/code&gt; so anything from the repository will be copied over without cleaning out any files from the server, or &lt;code&gt;true&lt;/code&gt; to start over with a clean slate before copying files over. Most of the time, this should be set to &lt;code&gt;false&lt;/code&gt;, but if the website is being redesigned, filenames changing, etc. then &lt;code&gt;true&lt;/code&gt; is the way to go.&lt;/p&gt;
&lt;p&gt;If there are any files that need to be excluded from the production branch, so they are not copied into the website, they are listed as an array for the &lt;code&gt;EXCLUDE&lt;/code&gt; option. Since only the built site is in the production branch, this could be left empty. However, keep in mind that this option only &lt;em&gt;excludes&lt;/em&gt;, and cannot set any explicit includes.&lt;/p&gt;
&lt;p&gt;Now let’s set up the webhook!&lt;/p&gt;
&lt;h2&gt;Adding the webhook in the GitHub repository&lt;/h2&gt;
&lt;p&gt;Remember above where we set up the &lt;code&gt;SECRET_ACCESS_TOKEN&lt;/code&gt;? Now is the time to use it. In order for the deployment script to know when to run, GitHub needs to send notification. Here, we add a webhook for just that.&lt;/p&gt;
&lt;p&gt;In your GitHub repository, go to the &lt;strong&gt;Settings&lt;/strong&gt; page, and in the menu select &lt;strong&gt;Webhooks&lt;/strong&gt;. We are going to add a new webhook using the link to the deployment script and the &lt;code&gt;SECRET_ACCESS_TOKEN&lt;/code&gt; defined in the configuration. This link points to &lt;code&gt;deploy.php&lt;/code&gt; and not the configuration file, with a query string using the secret access token. For example, if your directory is something like &lt;code&gt;deployment&lt;/code&gt;, your webhook link would look something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;https://mysupercoolwebsite.com/deployment/deploy.php?sat=EXTREMEMLY_SECRET_TOKEN
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This link is entered in the field for &lt;strong&gt;Payload URL&lt;/strong&gt;. Use the default option for &lt;strong&gt;Content Type&lt;/strong&gt;, and it’s recommended to leave the option for &lt;strong&gt;SSL&lt;/strong&gt; selected.&lt;/p&gt;
&lt;p&gt;Defining webhook triggeres is optional, but for a script like this, where you only want to push the “ready to publish” website, I recommend selecting Pull Request and Push events. The GitHub Action kicks off when a pull request is merged into &lt;code&gt;main&lt;/code&gt;, immediately building the website and pushing its contents to &lt;code&gt;production&lt;/code&gt;. Then the webhook can send the notification to the deployment script, so it can grab the updated version of the website!&lt;/p&gt;
&lt;h2&gt;Finishing up to get ready for blogging&lt;/h2&gt;
&lt;p&gt;Phew! We made it! We created our 11ty blog and added a GitHub repository for it; created a &lt;code&gt;.yaml&lt;/code&gt; file for setting up a GitHub Action; configured a deployment script that can grab the built website; and added a webhook to GitHub that will notify the deployment script to run.&lt;/p&gt;
&lt;p&gt;From here, you don’t need to be at your regular computer to blog; blogs can now be written on a device that doesn’t have a whole development suite set up, such as a Chromebook (like I use) or an iPad. What I do is create a new branch using the GitHub web interface, and open a new pull request on that branch. Then I can add my new blog post file right there, work on it until I feel ready, then review and merge the pull request. A moment or two later, updated website!&lt;/p&gt;
&lt;h2&gt;Final thoughts&lt;/h2&gt;
&lt;p&gt;As I mentioned before, I didn’t get to do as much blogging from the road as I expected, since I grossly underestimated how tiring it would be to drive five to eight hours per day (who knew, right?). I am still so happy that I was able to do this anyway, so the capability was there, and also ready for the next big adventure.&lt;/p&gt;
&lt;p&gt;If you have any questions or comments, or notice something wrong or missing, please feel free to &lt;a href=&quot;mailto:hello@reedcodes.com&quot;&gt;send me an email&lt;/a&gt; or &lt;a href=&quot;https://github.com/reedcodes/reedcodessite.github.io/issues&quot;&gt;open an issue in my repository&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>My first crochet project</title>
    <link href="https://reedcodes.com/blog/post/2023-01-14-my-first-crochet-project/" />
    <updated>2023-01-14T23:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2023-01-14-my-first-crochet-project/</id>
    <content type="html">&lt;p&gt;I’ve been knitting for over 15 years, but I’d never done any crochet before. Near the end of last year, I had a project that called for provisional cast-on, and one of the methods for doing so is creating a row of knitting from a crochet chain, which would then be unraveled when it came time to put those stitches back on a needle. It was fiddly at first, but I found myself having a lot of fun crocheting that single little chain, and decided that I wanted a project to challenge myself with crochet.&lt;/p&gt;
&lt;p&gt;I stopped at &lt;a href=&quot;https://loopedyarnworks.com/&quot;&gt;Looped&lt;/a&gt; over the holiday break to pick up new needles for a project, and asked about a good yarn for creating a simple washcloth for my first crochet project. I came home with one skein of &lt;a href=&quot;https://knitrowan.com/en/products/handknit-cotton?taxon_id=875&quot;&gt;Rowan Handknit Cotton&lt;/a&gt; in Goldfish, a delightfully vibrant and bright orange. Today, after a couple rough starts, I crocheted my first project!&lt;/p&gt;
&lt;p&gt;It’s not the world’s most beautiful washcloth, but it’s my first project and I love it. For working on this project, I watched a couple YouTube videos to get the stitches down, and crocheted them in a pattern that looked good to me, and made a lovely square.&lt;/p&gt;
&lt;p&gt;For learning how to chain, I followed &lt;a href=&quot;https://www.thesprucecrafts.com/chain-stitch-crochet-photo-tutorial-979078&quot;&gt;Amy Solovay’s walkthrough for crocheting chain stitch&lt;/a&gt; on The Spruce Crafts. Each photo is clear and the written steps are quite detailed.&lt;/p&gt;
&lt;p&gt;Even though the language spoken in this video is Tamil, I found &lt;a href=&quot;https://youtu.be/5u6wyHw3G64&quot;&gt;Pushpalatha Raja’s tutorial for basic crochet stitches&lt;/a&gt; oh so very helpful! The video itself is understandable (even with not knowing the language), the lighting is good, and she works slowly and repeatedly for each stitch. Her video covers single crochet, double crochet, and triple crochet.&lt;/p&gt;
&lt;p&gt;For the washcloth border, I followed &lt;a href=&quot;https://youtu.be/gnZC82tg6oM&quot;&gt;Blossom Crochet’s tutorial for an easy border&lt;/a&gt;. This video goes over how to pick up stitches for the border, single crochet stitch for the first row, and chain and slip stitch for the second row.&lt;/p&gt;
&lt;p&gt;So, even though this is my very first project, I’m going to type up the pattern. Maybe this will help someone else with their first project!&lt;/p&gt;
&lt;h2&gt;Washcloth using basic crochet stitches&lt;/h2&gt;
&lt;p&gt;I am a complete crochet beginner, and this is my first project! It’s a washcloth using basic crochet stitches: chain, slip stitch, single crochet, double crochet, and triple crochet.&lt;/p&gt;
&lt;h3&gt;Materials&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Rowan Handknit Cotton&lt;/li&gt;
&lt;li&gt;one H/8 (5.0 mm) crochet hook&lt;/li&gt;
&lt;li&gt;needle for weaving in tails&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Instructions&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create a slip knot about 6 inches into yarn, and place on the hook.&lt;/li&gt;
&lt;li&gt;Chain (ch) 32 stitches for the beginning of the project.&lt;/li&gt;
&lt;li&gt;Single crochet (sc) across all 32 stitches for one (1) row.&lt;/li&gt;
&lt;li&gt;ch one (1) and turn work. sc across a second row.&lt;/li&gt;
&lt;li&gt;Repeat above row for two (2) more rows — a total of four (4) rows of sc.&lt;/li&gt;
&lt;li&gt;ch three (3) and turn work. Double crochet (dc) across row.&lt;/li&gt;
&lt;li&gt;ch four (4) and turn work. Triple crochet (tc) across row.&lt;/li&gt;
&lt;li&gt;ch three (3) and turn work. dc across row.&lt;/li&gt;
&lt;li&gt;ch one (1) and turn work. sc across row.&lt;/li&gt;
&lt;li&gt;Repeat above row for three (3) more rows — a total of four (4) rows of sc.&lt;/li&gt;
&lt;li&gt;ch three (3) and turn work. Double crochet (dc) across row.&lt;/li&gt;
&lt;li&gt;ch four (4) and turn work. Triple crochet (tc) across row.&lt;/li&gt;
&lt;li&gt;ch three (3) and turn work. dc across row.&lt;/li&gt;
&lt;li&gt;ch one (1) and turn work. sc across row.&lt;/li&gt;
&lt;li&gt;Repeat above row for three (3) more rows — a total of four (4) rows of sc.&lt;/li&gt;
&lt;li&gt;ch three (3) and turn work. Double crochet (dc) across row.&lt;/li&gt;
&lt;li&gt;ch four (4) and turn work. Triple crochet (tc) across row.&lt;/li&gt;
&lt;li&gt;ch three (3) and turn work. dc across row.&lt;/li&gt;
&lt;li&gt;ch one (1) and turn work. sc across row.&lt;/li&gt;
&lt;li&gt;Repeat above row for three (3) more rows — a total of four (4) rows of sc.&lt;/li&gt;
&lt;li&gt;sc 3 stitches into the corner stitch.&lt;/li&gt;
&lt;li&gt;Turn work to pick up and sc stitches along the side of work.&lt;/li&gt;
&lt;li&gt;sc 3 stitches into the corner stitch.&lt;/li&gt;
&lt;li&gt;Turn work to pick up and sc stitches along the initial ch side of work.&lt;/li&gt;
&lt;li&gt;sc 3 stitches into the corner stitch.&lt;/li&gt;
&lt;li&gt;Turn work to pick up and sc stitches along the side of work.&lt;/li&gt;
&lt;li&gt;sc 3 stitches into the corner stitch.&lt;/li&gt;
&lt;li&gt;Turn work to pick up and sc stitches along the final row of work.&lt;/li&gt;
&lt;li&gt;ch 3, skip one (1) stitch, then slip stitch (sl) into the second stitch.&lt;/li&gt;
&lt;li&gt;Repeat above stitch pattern across the entire border.&lt;/li&gt;
&lt;li&gt;sl into the first stitch of border.&lt;/li&gt;
&lt;li&gt;Pull yarn through and cut tail.&lt;/li&gt;
&lt;li&gt;Weave in tails, and you have a washcloth!&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Tag your finished project photos with &lt;strong&gt;#ReedBasicCrochetWashcloth&lt;/strong&gt; on social media! &lt;a href=&quot;mailto:hello@reedcodes.com&quot;&gt;Email comments, questions, and/or critiques&lt;/a&gt; on this pattern. I’m still learning, and anything that could make this pattern more clear or understandable would be much appreciated.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>New year, new blog</title>
    <link href="https://reedcodes.com/blog/post/2022-12-31-new-year-new-blog/" />
    <updated>2022-12-31T18:00:00Z</updated>
    <id>https://reedcodes.com/blog/post/2022-12-31-new-year-new-blog/</id>
    <content type="html">&lt;p&gt;Over the past few months, I’ve accomplished things I never thought I would. I graduated Georgetown University with a master’s degree in Communication, Culture &amp;amp; Technology. I spoke at a professional conference in-person for the first time. I drove to San Francisco and then travelled the historic Lincoln Highway all the way to New York — by myself!&lt;/p&gt;
&lt;p&gt;While I have &lt;a href=&quot;https://www.lincolnhighwayjournal.com/&quot;&gt;a website for my road trip&lt;/a&gt; that sorely needs to be updated, there are other things I want to write about: coding techniques I used on that blog, my knitting, neat projects I’m doing at work. Stuff like that. When I saw a challenge to &lt;a href=&quot;https://bringback.blog/&quot;&gt;Bring Back Blogging&lt;/a&gt;, I saw this as a sign to add a place on this site to write up my thoughts on various topics. My goal (and it is a goal, not a resolution) is to write at least three blog posts in January. That’s all the challenge calls for! I can do that.&lt;/p&gt;
&lt;p&gt;I would very much like to get back into writing. In my grad program, I remembered just how much I love to write, and how little I do it anymore. Some of that is imposter syndrome; my brain tells me that not only has someone already said it, but that I would be seen as incompetent for only learning about it just now. However, I heard recently (was it someone at &lt;a href=&quot;https://events.highedweb.org/heweb22&quot;&gt;the most recent HighEdWeb&lt;/a&gt;?) that even if someone may have said something already, learning is always good, and by me writing about it, someone &lt;em&gt;else&lt;/em&gt; may also learn something new.&lt;/p&gt;
&lt;p&gt;My goal is &lt;abbr&gt;SMART&lt;/abbr&gt;: specific, measureable, attaintable, relevant, and time-based. I have a bullet list of topics and a place to expand on them. So here’s to writing at least three posts in January!&lt;/p&gt;
</content>
  </entry>
</feed>