Compare commits
5 commits
Author | SHA1 | Date | |
---|---|---|---|
cc7c7d7b4a | |||
a7b2713c0a | |||
a143106ade | |||
535c38cd10 | |||
13b8fd6590 |
15 changed files with 207 additions and 75 deletions
|
@ -10,15 +10,13 @@
|
|||
},
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/node:1": {},
|
||||
"ghcr.io/astronomer/devcontainer-features/astro-cli:1": {},
|
||||
"ghcr.io/cirolosapio/devcontainers-features/alpine-git:0": {}
|
||||
}
|
||||
},
|
||||
|
||||
// Features to add to the dev container. More info: https://containers.dev/features.
|
||||
// "features": {},
|
||||
|
||||
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
||||
// "forwardPorts": [],
|
||||
"forwardPorts": [4321]
|
||||
|
||||
// Uncomment the next line to run commands after the container is created.
|
||||
// "postCreateCommand": "cat /etc/os-release",
|
||||
|
|
|
@ -5,6 +5,10 @@ on:
|
|||
branches:
|
||||
- "main"
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: /home/mom/git/eleboog-astro
|
||||
|
||||
jobs:
|
||||
builder:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -17,6 +17,8 @@ pnpm-debug.log*
|
|||
.env
|
||||
.env.production
|
||||
|
||||
.pnpm-store
|
||||
|
||||
# macOS-specific files
|
||||
.DS_Store
|
||||
|
||||
|
|
101
Dockerfile
101
Dockerfile
|
@ -1,79 +1,54 @@
|
|||
# syntax=docker/dockerfile:1
|
||||
# okay, let's figure this out
|
||||
|
||||
# Comments are provided throughout this file to help you get started.
|
||||
# If you need more help, visit the Dockerfile reference guide at
|
||||
# https://docs.docker.com/go/dockerfile-reference/
|
||||
|
||||
# Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7
|
||||
|
||||
ARG NODE_VERSION=23.3.0
|
||||
ARG PNPM_VERSION=9.10.0
|
||||
|
||||
################################################################################
|
||||
# Use node image for base image for all stages.
|
||||
FROM node:${NODE_VERSION}-alpine AS base
|
||||
|
||||
# Set working directory for all build stages.
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# Install pnpm.
|
||||
RUN --mount=type=cache,target=/root/.npm \
|
||||
npm install -g pnpm@${PNPM_VERSION}
|
||||
FROM node:23.11-slim AS base
|
||||
|
||||
ENV PNPM_HOME="/pnpm"
|
||||
ENV PATH="$PNPM_HOME:$PATH"
|
||||
RUN corepack enable
|
||||
|
||||
################################################################################
|
||||
# Create a stage for installing production dependecies.
|
||||
FROM base AS deps
|
||||
WORKDIR /app
|
||||
|
||||
# Download dependencies as a separate step to take advantage of Docker's caching.
|
||||
# Leverage a cache mount to /root/.local/share/pnpm/store to speed up subsequent builds.
|
||||
# Leverage bind mounts to package.json and pnpm-lock.yaml to avoid having to copy them
|
||||
# into this layer.
|
||||
RUN --mount=type=bind,source=package.json,target=package.json \
|
||||
--mount=type=bind,source=pnpm-lock.yaml,target=pnpm-lock.yaml \
|
||||
--mount=type=cache,target=/root/.local/share/pnpm/store \
|
||||
pnpm install --prod --frozen-lockfile
|
||||
# By copying only the package.json and package-lock.json here, we ensure that the following `-deps` steps are independent of the source code.
|
||||
# Therefore, the `-deps` steps will be skipped if only the source code changes.
|
||||
COPY package.json pnpm-lock.yaml ./
|
||||
|
||||
################################################################################
|
||||
# Create a stage for building the application.
|
||||
FROM deps AS build
|
||||
FROM base AS prod-deps
|
||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
|
||||
|
||||
# Download additional development dependencies before building, as some projects require
|
||||
# "devDependencies" to be installed to build. If you don't need this, remove this step.
|
||||
RUN --mount=type=bind,source=package.json,target=package.json \
|
||||
--mount=type=bind,source=pnpm-lock.yaml,target=pnpm-lock.yaml \
|
||||
--mount=type=cache,target=/root/.local/share/pnpm/store \
|
||||
pnpm install --frozen-lockfile
|
||||
FROM base AS build-deps
|
||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
||||
|
||||
# Copy the rest of the source files into the image.
|
||||
FROM build-deps AS build
|
||||
COPY . .
|
||||
# Run the build script.
|
||||
RUN pnpm run build
|
||||
|
||||
################################################################################
|
||||
# Create a new stage to run the application with minimal runtime dependencies
|
||||
# where the necessary files are copied from the build stage.
|
||||
FROM base AS final
|
||||
FROM base AS runtime
|
||||
# Copy dependencies
|
||||
COPY --from=prod-deps /app/node_modules ./node_modules
|
||||
# Copy the built output
|
||||
COPY --from=build /app/dist ./dist
|
||||
|
||||
# Use production node environment by default.
|
||||
ENV NODE_ENV=production
|
||||
|
||||
# Run the application as a non-root user.
|
||||
USER node
|
||||
|
||||
# Copy package.json so that package manager commands can be used.
|
||||
COPY package.json .
|
||||
|
||||
# Copy the production dependencies from the deps stage and also
|
||||
# the built application from the build stage into the image.
|
||||
COPY --from=deps /usr/src/app/node_modules ./node_modules
|
||||
COPY --from=build /usr/src/app/dist ./dist
|
||||
|
||||
# Expose the port that the application listens on.
|
||||
# Bind to all interfaces
|
||||
ENV HOST=0.0.0.0
|
||||
# Port to listen on
|
||||
ENV PORT=4321
|
||||
# Just convention, not required
|
||||
EXPOSE 4321
|
||||
|
||||
# Run the application.
|
||||
CMD pnpm start
|
||||
# Start the app
|
||||
CMD ["node", "./dist/server/entry.mjs"]
|
||||
|
||||
# Install NGINX
|
||||
RUN apt-get update && apt-get install -y nginx && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Copy NGINX config
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
# Serve static files from /app/dist/client
|
||||
RUN mkdir -p /var/www/html && ln -s /app/dist/client /var/www/html
|
||||
|
||||
# Expose NGINX port
|
||||
EXPOSE 8080
|
||||
|
||||
# Start both NGINX and Node server
|
||||
CMD service nginx start && node ./dist/server/entry.mjs
|
|
@ -42,6 +42,8 @@ export default defineConfig({
|
|||
'/now': '/journal#now',
|
||||
'/links': '/sharefeed',
|
||||
'/ideas': '/me#ideas',
|
||||
'/chipotle': '/me#chipotle',
|
||||
'/ai': '/me#ai',
|
||||
'/feed.xml': '/feeds/feed.xml',
|
||||
'/feeds': '/feeds/feed.xml',
|
||||
},
|
||||
|
|
BIN
public/blog/pcgamesn_p890.jpg
Normal file
BIN
public/blog/pcgamesn_p890.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
BIN
public/buttons/bentley_88x31.png
Normal file
BIN
public/buttons/bentley_88x31.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
|
@ -24,7 +24,7 @@ const {current} = Astro.props;
|
|||
/
|
||||
<a href='/journal' class="text-subtitle hover:underline">journal</a>
|
||||
/
|
||||
<span class="nav-extras">
|
||||
{/* <span class="nav-extras">
|
||||
<a href='/sharefeed' class="text-subtitle hover:underline">sharefeed</a>
|
||||
/
|
||||
<a href="/me" class="text-subtitle hover:underline">me</a>
|
||||
|
@ -32,8 +32,8 @@ const {current} = Astro.props;
|
|||
<a href="/cool" class="text-subtitle hover:underline">cool</a>
|
||||
/
|
||||
<a href='/feeds' class="text-subtitle hover:underline">rss</a>
|
||||
</span>
|
||||
<a href="/more" class="nav-more text-subtitle hover:underline">more</a>
|
||||
</span> */}
|
||||
<a href="/more" class="text-subtitle hover:underline">more</a>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
|
79
src/content/posts/2025-06-25-jwl-02.mdx
Normal file
79
src/content/posts/2025-06-25-jwl-02.mdx
Normal file
|
@ -0,0 +1,79 @@
|
|||
---
|
||||
date: 2025-06-25 20:04:00
|
||||
title: A random thought about clicking a mouse (JWL 02)
|
||||
summary: I had a realization about how I used my mouse while playing Call of Duty that may speak to how quirky our minds can be. The long-awaited second entry to my "please god let me make shorter blog posts" series.
|
||||
---
|
||||
|
||||
A little bit ago, I finally reinstalled Call of Duty: Modern Warfare III (the reboot released in 2023).
|
||||
I was watching YouTube videos on the game again that encouraged me to pick the game back up.
|
||||
I had originally bought Modern Warfare III (which I will abbreviate as MWIII from now on)
|
||||
*after* Black Ops 6 had already been out for a month or two. I heard that the game's
|
||||
core multiplayer mode was surprisingly decent, so I wanted to see what I missed...
|
||||
and yeah! It's one of the coolest AAA multiplayer experiences I've had so far, up there with
|
||||
the extraction shooter spinoff DMZ released in 2022 and even Battlefield 4, still to this day
|
||||
the G.O.A.T. of casual multiplayer gaming in my opinion.
|
||||
|
||||
Still, I had to be a little more self-conscious about how and when I played this game now
|
||||
due to the fact that I no longer live alone — I live with multiple roommates who
|
||||
might get annoyed at the click-clacking of my Razer Huntsman Mini (the one thing I don't like
|
||||
about it lol). However, when I was talking with my roomates trying to confirm if they even had said issues,
|
||||
the feedback was different than I expected. One of my roommates noticed me clicking my mouse multiple times
|
||||
in quick succession when playing certain games, and that annoyed them *more* than my keyboard.
|
||||
|
||||
It took me a while to figure out what it was, but after some self-reflection,
|
||||
I realized what was happening: it was my backup pistol that made me click
|
||||
that way.
|
||||
|
||||
---
|
||||
|
||||
Most guns in Call of Duty have automatic fire, meaning that bullets fire
|
||||
out of the gun over and over as long as you are holding down the "trigger"
|
||||
(in this case, my left mouse button). In COD, you usually can only carry two
|
||||
weapons: your main "primary" weapon and your backup "secondary" weapon.
|
||||
Secondary weapons mostly consist of pistols that have *semi*-automatic fire.
|
||||
These pistols only shoot *one* bullet when you pull the trigger, so to fire
|
||||
multiple shots, you have to pull the trigger (click the mouse) multiple times, one for each shot.
|
||||
|
||||
That explains the pattern that my roommate was observing: since you usually have to fire
|
||||
multiple shots on-target in order to down an opponent in COD, if I had my pistol out, I had
|
||||
to click my mouse multiple times in rapid succession to win the fight.
|
||||
But that might not be the whole story.
|
||||
|
||||
This is purely anecdotal experience, but with semi-auto weapons, every shot you fire feels
|
||||
like it has more "weight" to it since you have to deliberately trigger each one.
|
||||
This is actually something the developers at Valve noticed when developing Team Fortress 2:
|
||||
they made most of the weapons in that game semi-automatic *on purpose* so that
|
||||
players felt like they contributed more to the outcome of each gunfight
|
||||
(I'm too tired tonight to find a good source, but if you really want me to, [bug me about it](https://plush.city/@kebokyo)).
|
||||
I have a feeling that because I was putting more mental effort into each shot,
|
||||
I also put more *physical* effort into each shot — increasing the amount of noise
|
||||
each click produced and thus exacerbating the problem for my roommate.
|
||||
|
||||
There might have even been a chance that the specific pistol I used contributed to
|
||||
the problem as well. I have been working to unlock cosmetics for the pistols carried forward
|
||||
from the previous game, Modern Warfare II, so I have the P890 pistol on most of
|
||||
my loadouts right now. The P890, like most guns in both games, is based on a real-life
|
||||
weapon but given a fake name to avoid legal trouble. In this case, the P890 is based off of
|
||||
the Sig Sauer P226, a heavy-duty pistol that emphasises the *heavy* part, both in caliber (.45 ACP)
|
||||
and in weight (its frame is still made out of steel!). In-game, the pistol has
|
||||
a high damage output but a slow rate-of-fire to compensate, which means I have to be
|
||||
even *more* deliberate with my shots — further emphasizing the mental (and,
|
||||
indrectly, physical) effort I put into my mouse clicks.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
In the end, I made a personal rule that I will not play COD or other input-intensive games
|
||||
like FPS games in the evening, where my hardcore gamering might disturb my roommates' other evening
|
||||
activities. Of course, with how hot the weather has been getting lately, that effectively means that
|
||||
I am *never* allowed to play these games (as a gaming PC running on full blast generates a ton of heat already)... but that may be more of a blessing than a curse if I am being honest with myself.
|
||||
|
||||
Oh, before I go, here's my very general opinion on MWIII: multiplayer is a blast, Modern Warfare Zombies
|
||||
is an insult to both DMZ fans and COD Zombies fans, and I haven't touched the campaign yet because
|
||||
I'm still trying to finish the prior game's campaign first. I have a *lot* more to say
|
||||
(including how I feel about the Gunsmith weapon customization systems in both this game and
|
||||
Black Ops 6)... but that is for another time.
|
||||
|
||||
Hope y'all enjoyed this post, as ranty as it is. Since this is more of a "long journal entry" than
|
||||
"short blog post", here is the [obligatory song link](https://www.youtube.com/watch?v=HbwzOHjZUkg). Cya!
|
|
@ -19,6 +19,8 @@ const headings = await Astro.props.headings
|
|||
|
||||
const title = fm.title ?? 'blog post'
|
||||
|
||||
const ogImageUrl = "https://eleboog.com/blog/blogbanner.png"
|
||||
|
||||
const numberToWord = (num: number) => {
|
||||
switch(num) {
|
||||
case 1: return "one";
|
||||
|
@ -38,6 +40,21 @@ const numberToWord = (num: number) => {
|
|||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<title>{title ? title + ' - eleboog.com' : 'eleboog.com'}</title>
|
||||
|
||||
{/* open graph babeeeee */}
|
||||
<meta property="og:title" content={title ? title + ' - eleboog.com' : 'eleboog.com'} />
|
||||
<meta property="og:site_name" content="eleboog.com" />
|
||||
<meta property="og:description" content={fm.summary ?? "My personal website, containing blog posts, a mini journal, and other projects. The dark side of the sauce."} />
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:article:published_time" content={fm.date.replace(' ', 'T')} />
|
||||
<meta property="og:article:modified_time" content={fm.updated ? fm.updated.replace(' ', 'T') : fm.date.replace(' ', 'T')} />
|
||||
<meta property="og:image" content={ fm.cover ? 'https://eleboog.com' + fm.cover : ogImageUrl } />
|
||||
<meta property="og:image:secure_url" content={ fm.cover ? 'https://eleboog.com' + fm.cover : ogImageUrl } />
|
||||
<meta property="og:image:width" content="1280" />
|
||||
<meta property="og:image:height" content="720" />
|
||||
<meta property="twitter:title" content={title ? title + ' - eleboog.com' : 'eleboog.com'} />
|
||||
<meta property="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:image" content={ fm.cover ? 'https://eleboog.com' + fm.cover : ogImageUrl } />
|
||||
</head>
|
||||
<body class="main-spacing">
|
||||
<Header current='blog post'/>
|
||||
|
|
|
@ -8,10 +8,13 @@ import Header from '../components/Header.astro'
|
|||
import Footer from '../components/Footer.astro'
|
||||
|
||||
import HR from '../components/HR.astro'
|
||||
import { flatMap } from 'lodash'
|
||||
|
||||
const { frontmatter } = Astro.props
|
||||
|
||||
const title = frontmatter.slug ?? 'me'
|
||||
const title = frontmatter.slug ?? 'whoops'
|
||||
|
||||
const ogImageUrl = "https://eleboog.com/blog/blogbanner.png"
|
||||
|
||||
---
|
||||
|
||||
|
@ -23,6 +26,19 @@ const title = frontmatter.slug ?? 'me'
|
|||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<title>{title ? title + ' - eleboog.com' : 'eleboog.com'}</title>
|
||||
|
||||
{/* open graph babeeeee */}
|
||||
<meta property="og:title" content={title ? title + ' - eleboog.com' : 'eleboog.com'} />
|
||||
<meta property="og:site_name" content="eleboog.com" />
|
||||
<meta property="og:description" content={frontmatter.summary ?? "My personal website, containing blog posts, a mini journal, and other projects. The dark side of the sauce."} />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:image" content={ ogImageUrl } />
|
||||
<meta property="og:image:secure_url" content={ ogImageUrl } />
|
||||
<meta property="og:image:width" content="1280" />
|
||||
<meta property="og:image:height" content="720" />
|
||||
<meta property="twitter:title" content={title ? title + ' - eleboog.com' : 'eleboog.com'} />
|
||||
<meta property="twitter:card" content="summary_large_image" />
|
||||
<meta property="twitter:image" content={ ogImageUrl } />
|
||||
</head>
|
||||
<body class="main-spacing">
|
||||
<Header current={title}/>
|
||||
|
|
|
@ -15,7 +15,7 @@ const archives = await getCollection('archives');
|
|||
|
||||
---
|
||||
|
||||
<BaseLayout title="archives">
|
||||
<BaseLayout title="archives" description="The main list of all of the blog posts and other articles I have written on this site, including some that were written in prior versions of the site.">
|
||||
<h1 class="font-serif text-3xl my-2">Blog Archive</h2>
|
||||
<p>This is a list of all blog posts that have ever been posted on this site.</p>
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ I thought about making a blogroll, but I decided instead to make a button galler
|
|||
<a href="https://www.5snb.club"><img width="88" height="31" src="/buttons/522@5snb.club.png" class="border-none shadow-none inline rounded-none" alt="A button for 522 at 5snb dot club."/></a>
|
||||
<a href="https://foxscot.ch"><img width="88" height="31" src="/buttons/foxscot.ch.png" class="border-none shadow-none inline rounded-none" alt="A button for Foxscotch."/></a>
|
||||
<a href="http://legacy.sominemo.com"><img width="88" height="31" src="/buttons/sominemo.gif" class="border-none shadow-none inline rounded-none" alt="A button for Sominemo."/></a>
|
||||
<a href="https://bentley.trashcan.lol"><img width="88" height="31" src="/buttons/bentley_88x31.png" class="border-none shadow-none inline rounded-none" alt="A button for Bentley."/></a>
|
||||
</div>
|
||||
|
||||
{ false && <>...and here's a list of friends I am publicly shaming into making buttons because I am a gremlin:
|
||||
|
|
|
@ -3,6 +3,7 @@ layout: '../layouts/StandaloneMDXLayout.astro'
|
|||
title: Me!
|
||||
date: 1970-01-01
|
||||
summary: "A page for stuff about me and what I'm doing."
|
||||
slug: me
|
||||
draft: true
|
||||
---
|
||||
|
||||
|
@ -40,6 +41,11 @@ There used to be a link to my Cohost (`@kebokyo`), but Cohost is unfortunately s
|
|||
|
||||
If you like what I do and want to help me make more of it, currently the only way I have for you to give me money is through [Ko-fi](https://ko-fi.com/kebokyo). I am a very very broke college student and any little bit of help means a lot to me!
|
||||
|
||||
<MDXCallout>
|
||||
Most of the information below is out of date since I have just graduated college and thus had a massive shift in my day-to-day operations.
|
||||
Expect updates soon(ish).
|
||||
</MDXCallout>
|
||||
|
||||
# why
|
||||
|
||||
Why do I even have this website? Well, it's for mulitple reasons:
|
||||
|
@ -70,7 +76,7 @@ I also carry my [Nintendo 3DS](https://en.wikipedia.org/wiki/Nintendo_3DS) almos
|
|||
|
||||
# colophon
|
||||
|
||||
This website runs on a [Hetzner VPS](https://www.hetzner.com), Nginx web server, and [~~Next.js metaframework~~](https://nextjs.org) [Astro web framework](https://astro.build).
|
||||
This website runs on a [~~Hetzner VPS~~](https://www.hetzner.com) [~~Vultr VPS~~](https://www.vultr.com/) actually I'm going back to Hetzner now lmao, Nginx web server, and [~~Next.js metaframework~~](https://nextjs.org) [Astro web framework](https://astro.build).
|
||||
|
||||
The reason this site looks so fancy in both light & dark mode is because of [Tailwind CSS](https://tailwindcss.com) and its built-in light & dark mode features. I may build a special toggle so you can choose which version of the site you like more one day, but for now, it's just based on whether your browser / OS is in light or dark mode.
|
||||
|
||||
|
@ -87,7 +93,13 @@ When I insert code into my blog, I use [React Code Block](https://react-code-blo
|
|||
I use the <a href="https://www.npmjs.com/package/feed" class="text-subtitle text-base hover:underline px-1 bg-neutral-300 bg-opacity-50 dark:bg-slate-600 dark:bg-opacity-100 rounded-md font-mono">feed</a> library to generate my Atom & JSON feeds ~~for everything except narrated articles. For that, I use <a href="https://www.npmjs.com/package/feed" class="text-subtitle text-base hover:underline px-1 bg-neutral-300 bg-opacity-50 dark:bg-slate-600 dark:bg-opacity-100 rounded-md font-mono">podcast-rss</a> since it has more features specifically to comply with platforms' weird-ass rules
|
||||
regarding podcast feeds.~~ Right now, narrated articles have been scrapped, but when I do start making audio content, I'll use `podcast-rss` to generate a feed specifically for that audio content.
|
||||
|
||||
Finally, for the software I use to actually write the code... I used to use [Visual Studio Code](https://code.visualstudio.com), but since it's an Electron app (basically Google Chrome in a fancy native-app-shaped box), its performance and resource use is very high. Thus, I switched *back* to [Sublime Text](https://www.sublimetext.com). If anyone has a FOSS alternative to Sublime that works just as well, let me know cause that would be awesome.
|
||||
Finally, for the software I use to actually write the code...
|
||||
I ~~used to~~ *currently* use [Visual Studio Code](https://code.visualstudio.com)~~, but since it's an Electron app
|
||||
(basically Google Chrome in a fancy native-app-shaped box), its performance and resource use is very high.
|
||||
Thus, I switched *back* to [Sublime Text](https://www.sublimetext.com).
|
||||
If anyone has a FOSS alternative to Sublime that works just as well, let me know cause that would be awesome.~~
|
||||
as eventually I just realized the bomb is too powerful and the good it does on my workflow outweighs the bad it does on my computer.
|
||||
Weeeeeeeeeeeeeeeeeee!!!
|
||||
|
||||
# ideas
|
||||
|
||||
|
@ -111,10 +123,13 @@ Qdoba is better. Fight me. (plus I'm poor so I don't get either of them very oft
|
|||
|
||||
and for today since I got free double protien I double-wrapped it just in case.
|
||||
|
||||
If you take me to chipoltle and get this exact order (minus the protien because i think it's seasonal lol), I will make out with you.
|
||||
If you take me to chipotle and get this exact order (minus the protien because i think it's seasonal lol), I will make out with you.
|
||||
|
||||
# ai
|
||||
|
||||
I do not use generative AI on this website. Period.
|
||||
|
||||
The only time I used generative AI for any real purpose was during a massive crunch session in college, and even then I was disappointed in it.
|
||||
I need to write a post about it one day.
|
||||
|
||||
One day, I need to add a `robots.txt` and other such protections to prevent this website from being scraped... but no-one is going to listen to me anyway because my rights don't matter to them in that regard.
|
||||
|
|
23
src/pages/more.mdx
Normal file
23
src/pages/more.mdx
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
date: 1970-01-01
|
||||
layout: '../layouts/StandaloneMDXLayout.astro'
|
||||
title: More Pages
|
||||
slug: more
|
||||
summary: Other miscleaneous pages on my website.
|
||||
---
|
||||
|
||||
Want to see even more stupid stuff that I've been up to? Here you go!
|
||||
|
||||
- [sharefeed - A collection of links to things that are interesting](/sharefeed)
|
||||
|
||||
- [me - An "about me" page and a whole lot more](/me)\
|
||||
If you are a fan of slash pages, try throwing some into the URL and see what happens!
|
||||
For example, [/colophon](/colophon) or [/chipotle](/chipotle) :3
|
||||
|
||||
- [cool - A miscellaneous resource of cool stuff I want to draw more attention to](/cool)
|
||||
|
||||
- [rss - Want to keep tabs on what I make? This is the best way to do it](/rss)\
|
||||
If you need an RSS client and are on iOS and/or macOS, check out [NetNewsWire](https://netnewswire.com/) (not sponsored, it's just what
|
||||
I use lol)
|
||||
|
||||
If you have suggestions for what else to put on my website, please let me know ^w^
|
Loading…
Add table
Reference in a new issue