Compare commits
22 Commits
4662c8261c
...
v2.0.0-alp
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
68263b1bad | ||
|
|
b8f65f2ce4 | ||
|
|
820a1f357a | ||
|
|
5fde9a2754 | ||
|
|
fba35705e9 | ||
|
|
2f09ca4a61 | ||
|
|
1c00979274 | ||
|
|
2af6bd1ed7 | ||
|
|
63c3b16bda | ||
|
|
a0d89676a8 | ||
|
|
3c7a687cab | ||
|
|
bd67b51325 | ||
|
|
e0d8a71e99 | ||
|
|
415182edae | ||
|
|
fb7cb1b73c | ||
|
|
60cd0f9850 | ||
|
|
81b854d32a | ||
|
|
a2c7d72ecf | ||
|
|
bc66ede0e1 | ||
|
|
7d1dfd0a5f | ||
|
|
dd199d7d5f | ||
|
|
9e59f22448 |
12
build.sh
12
build.sh
@@ -83,17 +83,13 @@ do
|
||||
|
||||
elif [ "$x" == 'copy' ]
|
||||
then
|
||||
cmd='cp -R'
|
||||
|
||||
files=(
|
||||
'src/.well-known/security.txt'
|
||||
'src/feed/rss.xml'
|
||||
'src/robots.txt'
|
||||
)
|
||||
|
||||
mkdir -p target/.well-known
|
||||
mkdir -p target/feed
|
||||
|
||||
cp 'src/feed/rss.xml' 'target/feed/rss.xml'
|
||||
cp 'src/robots.txt' 'target/robots.txt'
|
||||
cp 'src/.well-known/security.txt' 'target/.well-known/security.txt'
|
||||
|
||||
action=Copying...
|
||||
|
||||
elif [ "$x" == 'conv-img' ]
|
||||
|
||||
13
src/.well-known/public.asc
Normal file
13
src/.well-known/public.asc
Normal file
@@ -0,0 +1,13 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
xjMEaNawyhYJKwYBBAHaRw8BAQdARXZA94pLJ9NqMFGi2g4mgC+JhsDccsjC5YZL
|
||||
FFrXyVfNK09saXZpYSBCcm9va3MgPG9saXZpYS5hLmJyb29rczc3QGdtYWlsLmNv
|
||||
bT7CiQQTFggAMRYhBNHb+MmfTznTILS7fUanaquYTswnBQJo1rDKAhsDBAsJCAcF
|
||||
FQgJCgsFFgIDAQAACgkQRqdqq5hOzCdoOQEAwF3dlYsoaiAKuD1xv2R45QAWobHG
|
||||
hI41JuUnAGPHWh4BAPilFDXQv3PbYOIS/fVqrNVZI9ZPbNpT0ZlQeLCFm48AzjgE
|
||||
aNawyxIKKwYBBAGXVQEFAQEHQPMiRn06nv5gWZNYHjtKmshLWKlcnwOcOH1WRWE7
|
||||
VREvAwEIB8J4BBgWCAAgFiEE0dv4yZ9POdMgtLt9Rqdqq5hOzCcFAmjWsMsCGwwA
|
||||
CgkQRqdqq5hOzCfc9wD5AV4m9zFPoipKQNfZpll62bdI9zdtAT3QYS5XzwGCz1EA
|
||||
/1Km4cYgieqk10A7X1Zpz2tP5miNyaAW48D5QiWd7GUD
|
||||
=jPqw
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
@@ -1,4 +1,5 @@
|
||||
Contact: mailto:olivia.a.brooks77@gmail.com
|
||||
Expires: 2026-06-01T04:00:00.000Z
|
||||
Encryption: https://www.cutieguwu.ca/.well-known/public.asc
|
||||
Acknowledgments: https://www.cutieguwu.ca/acknowledgements.html
|
||||
Preferred-Languages: en, fr
|
||||
Expires: 2027-01-01T04:00:00.000Z
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
teachers certainly made sure of that, and ultimately helped lead me down a
|
||||
path of being the teacher's pet. Maybe I'll talk about my experiences and
|
||||
struggles related to that another time, but the short of it is that I am a
|
||||
high-acheiving workaholic as a result. My ex-boyfriend on the other hand,
|
||||
high-achieving workaholic as a result. My ex-boyfriend on the other hand,
|
||||
didn't have that kind of an experience, and ultimately was led down the
|
||||
college-level course stream in high school.
|
||||
</p>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
display to prove it. It also has some added benefits, like the hardware
|
||||
switches for the camera and mic, overall modular design, repairability, and
|
||||
the upgrade paths, which save her from spending more money to buy a full
|
||||
tower or another laptop. Framework recently annouced the new generation
|
||||
tower or another laptop. Framework recently announced the new generation
|
||||
boards for the FW 16, and knocked down the price of the 7040 series boards
|
||||
slightly, but that's a nice-to-have. Even if you're a non-techie, you won't
|
||||
need to get into the hardware unless you're building it or repairing
|
||||
|
||||
142
src/blog/posts/3_closing_chapters.html
Normal file
142
src/blog/posts/3_closing_chapters.html
Normal file
@@ -0,0 +1,142 @@
|
||||
<!doctype html>
|
||||
|
||||
<html lang="en-ca">
|
||||
<head>
|
||||
<title>Closing Chapters | Cutieguwu</title>
|
||||
<include src="includes/meta.html" />
|
||||
</head>
|
||||
<body>
|
||||
<nav class="pane">
|
||||
<include src="includes/nav_header.html" />
|
||||
<include src="includes/nav_menu.html" />
|
||||
<div class="location">
|
||||
<header><h4>You are here:</h4></header>
|
||||
<h5 class="page">Blog - Closing Chapters</h5>
|
||||
</div>
|
||||
<include src="includes/nav_quick_links.html" />
|
||||
</nav>
|
||||
<main class="pane blog">
|
||||
<div class="body">
|
||||
<header>
|
||||
<h1 class="title">Closing Chapters</h1>
|
||||
<p class="date">Posted: 18 December, 2025</p>
|
||||
<p class="date">Last Edited: 18 December, 2025</p>
|
||||
</header>
|
||||
<div class="body">
|
||||
<p>
|
||||
I'm not sure why I'm suddenly writing another blog post. Particularly when I
|
||||
still have an exam to do, for which I need to read two chapters of the
|
||||
textbook.
|
||||
</p>
|
||||
<p>
|
||||
Perhaps it's because I've just come out of a counselling session, and once
|
||||
again, find something I need to talk about <em>after</em> it's finished.
|
||||
</p>
|
||||
<p>
|
||||
Perhaps it's because I feel a need to prove to myself that I'm still a good
|
||||
writer, even if I barely pass my Creative Writing course...
|
||||
</p>
|
||||
<p>
|
||||
Maybe it's because I'm just generally tired but I've been awake long enough
|
||||
that I've progressed into my first period of creative brain waves. Yes,
|
||||
apparently that's a thing.
|
||||
</p>
|
||||
<p>
|
||||
Anyway, this post's idea stems from the sentiments I've been experiencing
|
||||
since graduating high school.
|
||||
</p>
|
||||
<p>
|
||||
I feel like I keep wanting to run back to my childhood, as awful as it was
|
||||
in many respects. It's not just my overwhelming fear of death, and general
|
||||
existential dread, it's my nostalgia.
|
||||
</p>
|
||||
<p>
|
||||
Yesterday, I went to see my old high school band and jazz band perform their
|
||||
annual Holiday Concert. It was great getting to see my old buddies, have a
|
||||
couple laughs while berating the Audio-Visual equipment team for their awful
|
||||
cable management in the few months that I've been gone now.
|
||||
</p>
|
||||
<p>
|
||||
But, as I listened to them play the biggest set list the band has done since
|
||||
the pandemic, I found myself melancholy. I wanted to be back with them,
|
||||
playing in the pink lighting, learning solos that I couldn't as a result of
|
||||
COVID, setting up equipment, taping cables down to comply with safety
|
||||
policies, digging into the hows and whys of DMX-512, managing my old tech
|
||||
team, shooting the shit.
|
||||
</p>
|
||||
<p>I can't really do that now.</p>
|
||||
<p>
|
||||
Picking up the hobbies again, joining a music group on Campus, finding an
|
||||
A/V equipment team to join... it just wouldn't be the same.
|
||||
</p>
|
||||
<p>
|
||||
I have more demanding courses to come, and I just don't have the time
|
||||
anymore. I, like many others, already treat the Carleton Cybersecurity Club
|
||||
as an extra course.
|
||||
</p>
|
||||
<p>The workshops; our lectures.</p>
|
||||
<p>The weekly challenges; our quizzes and textbook readings.</p>
|
||||
<p>The competitions; our midterms.</p>
|
||||
<p>
|
||||
After my showing in the past semester alone, it's likely that I'll take on
|
||||
running a couple workshops in the future.
|
||||
</p>
|
||||
<p>
|
||||
I can keep going back to the band's events, and catch up with old profs
|
||||
during reading week, but for how long?
|
||||
</p>
|
||||
<p>
|
||||
How long until everyone has moved on? How long until all the staff rotate,
|
||||
and nothing but the U-shape of the building remains?
|
||||
</p>
|
||||
<p>
|
||||
Even if I step back and question why, why am I so attached to these
|
||||
memories, I don't know.
|
||||
</p>
|
||||
<p>
|
||||
I know a lot of people who, like myself, left this school having experienced
|
||||
the absolute worst periods of their life.
|
||||
</p>
|
||||
<p>They never went back. Not for anything.</p>
|
||||
<p>
|
||||
But I'm practically desperate to return, to jump back in time to grade 9 and
|
||||
fuck everything up again, run through depression, experience the worst days
|
||||
of my dysphoria, and tolerate every bitch and asshole who decided to spend
|
||||
their time splinkling on a bit more shit all the while.
|
||||
</p>
|
||||
<p>
|
||||
I've run out of things to say at this point. I wish this was better
|
||||
structured than just a brain dump, but I'm too tired and emotional to work
|
||||
on it further.
|
||||
</p>
|
||||
<p>
|
||||
So, with the loss of my non-existent PG-13 rating, I shall conclude this
|
||||
post, and begin [hopefully] immediately on another post that will outline
|
||||
what I hope to do over the winter break, and what posts I hope to have lined
|
||||
up.
|
||||
</p>
|
||||
<p>
|
||||
So, to my only reader, stay tuned! I want to get out of the doom and gloom
|
||||
real soon.
|
||||
</p>
|
||||
<hr />
|
||||
<p>
|
||||
OKAY, so, as per usual, I know a guy, FOR EVERYTHING. He's directed me
|
||||
towards contacting another guy on campus who works with A/V stuff. So, maybe
|
||||
I can find a way to keep that chapter open, despite everything else I have
|
||||
going on these days. It also seems that there might be a way to take an
|
||||
elective course that looks into A/V equipment. I will have to hunt around
|
||||
and see if I can fit that into my program
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<include src="includes/tailer.html" />
|
||||
</main>
|
||||
<div class="pane spacer">
|
||||
<include src="./includes/blog_recent_posts.html" />
|
||||
<div class="spacer_container"><p>#AD</p></div>
|
||||
</div>
|
||||
<include src="includes/footer.html" />
|
||||
<include src="includes/scripts.html" />
|
||||
</body>
|
||||
</html>
|
||||
149
src/blog/posts/4_pointless_plans.html
Normal file
149
src/blog/posts/4_pointless_plans.html
Normal file
@@ -0,0 +1,149 @@
|
||||
<!doctype html>
|
||||
|
||||
<html lang="en-ca">
|
||||
<head>
|
||||
<title>Pointless Plans | Cutieguwu</title>
|
||||
<include src="includes/meta.html" />
|
||||
</head>
|
||||
<body>
|
||||
<nav class="pane">
|
||||
<include src="includes/nav_header.html" />
|
||||
<include src="includes/nav_menu.html" />
|
||||
<div class="location">
|
||||
<header><h4>You are here:</h4></header>
|
||||
<h5 class="page">Blog - Pointless Plans</h5>
|
||||
</div>
|
||||
<include src="includes/nav_quick_links.html" />
|
||||
</nav>
|
||||
<main class="pane blog">
|
||||
<div class="body">
|
||||
<header>
|
||||
<h1 class="title">Pointless Plans</h1>
|
||||
<p class="date">Posted: 18 December, 2025</p>
|
||||
<p class="date">Last Edited: 18 December, 2025</p>
|
||||
</header>
|
||||
<div class="body">
|
||||
<p>
|
||||
So... remember my first post where I said that "a meaningless 'Welcome to my
|
||||
Blog' filled with my hopes and aspirations that inevitably would never come
|
||||
to light was something I knew I didn't want." Well...
|
||||
</p>
|
||||
<p>
|
||||
I've been stuck in a doom and gloom phase here, and with me hopefully
|
||||
concluding my counselling soon, I definitely don't want to dwell in it.
|
||||
</p>
|
||||
<p>
|
||||
As a result, I'm making a little list of things that I'd love to write
|
||||
about, and that you can hopefully expect to read about sometime soon!
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>CyberSci</p>
|
||||
<ul>
|
||||
<li>
|
||||
I had the fortune to participate at the Regional level,
|
||||
representing Carleton University. (Spoiler: We won, barely)
|
||||
</li>
|
||||
<li>
|
||||
This will probably have a follow up once Nationals happens in
|
||||
the summer.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Creative Writing Work</p>
|
||||
<ul>
|
||||
<li>
|
||||
I've written some good things and some really bad things for the
|
||||
Creative Writing course this term. Obviously, I'll only publish
|
||||
works that I believe are well polished.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>Poetry</p>
|
||||
<ul>
|
||||
<li>
|
||||
I want to get back to writing poetry, but for now I have some
|
||||
things that are still unpublished.
|
||||
</li>
|
||||
<li>
|
||||
They're nothing like Building Up, so if you can't read [bad]
|
||||
Rust, don't worry. They're also far less whacky than Falling
|
||||
Down.
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://gitea.cutieguwu.ca/cutieguwu/falling_down_building_up"
|
||||
>Falling Down & Building Up</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
Also, I've come to realise that I have a thing for memoirs. I never actually
|
||||
realised it because I usually read book series, but I now have four memoirs
|
||||
in my library.
|
||||
</p>
|
||||
<ol>
|
||||
<li>
|
||||
<em>Fatty Legs</em> by Christy Jordan-Fenton and Margaret Pokiak-Fenton
|
||||
</li>
|
||||
<li>its sequel, <em>A Stranger At Home</em></li>
|
||||
<li><em>The Glass Castle</em> by Jeannette Walls</li>
|
||||
<li><em>Tomboy Survival Guide</em> by Ivan Coyote</li>
|
||||
</ol>
|
||||
<p>
|
||||
So, after a creative non-fiction flash writing assignment just didn't work
|
||||
out well, even after reworking it heavily for the exam, I decided that I
|
||||
should actually take it in the direction of a full memoir, rather than the
|
||||
poetic form that it currently has.
|
||||
</p>
|
||||
<p>
|
||||
The problem is that I mean, a <em>full</em> memoir. And the problem with
|
||||
that is that memory is a complex thing. Many important and relevant things
|
||||
for a memoir are episodic, iconic, flashbulb memories, which can be
|
||||
difficult to just retrieve on the spot. (Yes, I referenced my textbook, no I
|
||||
am not a credible source for interpreting this information.)
|
||||
</p>
|
||||
<p>
|
||||
A lot of the time, my writing, particularly my poetry, comes from what can
|
||||
best be described as state-dependent memory. If I'm lucky, some random
|
||||
stimulus or set of stimuli will trigger a recollection of these memories,
|
||||
and give me an image from which to write. The problem is that this also
|
||||
means I cannot write sequentially.
|
||||
</p>
|
||||
<p>
|
||||
And just to make things even more difficult, memory is unreliable and easily
|
||||
influenced. So I need to review and consider how much I trust my own
|
||||
recollection of events, and work to mitigate my biases whenever possible by
|
||||
asking someone else to recount the event and compare details.
|
||||
</p>
|
||||
<p>
|
||||
So, in the background, I'm going to start working on that. Almost like
|
||||
forgetting to write in a diary for a week, then trying to catch up while you
|
||||
still remember.
|
||||
</p>
|
||||
<p>
|
||||
Hopefully this will have the added benefit of holding back some of the
|
||||
future doom and gloom from the blog.
|
||||
</p>
|
||||
<p>
|
||||
And finally, I'm going to try to finish up my blog generator,
|
||||
<a href="https://gitea.cutieguwu.ca/cutieguwu/cutinews">cutinews</a>. It's
|
||||
about time I got back and actually finished a programming project. Chances
|
||||
are that I'll be live on Twitch (yes, eww, ik) working on the code.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<include src="includes/tailer.html" />
|
||||
</main>
|
||||
<div class="pane spacer">
|
||||
<include src="./includes/blog_recent_posts.html" />
|
||||
<div class="spacer_container"><p>#AD</p></div>
|
||||
</div>
|
||||
<include src="includes/footer.html" />
|
||||
<include src="includes/scripts.html" />
|
||||
</body>
|
||||
</html>
|
||||
144
src/blog/posts/5_optical_recovery.html
Normal file
144
src/blog/posts/5_optical_recovery.html
Normal file
@@ -0,0 +1,144 @@
|
||||
<!doctype html>
|
||||
|
||||
<html lang="en-ca">
|
||||
<head>
|
||||
<title>Optical Recovery | Cutieguwu</title>
|
||||
<include src="includes/meta.html" />
|
||||
</head>
|
||||
<body>
|
||||
<nav class="pane">
|
||||
<include src="includes/nav_header.html" />
|
||||
<include src="includes/nav_menu.html" />
|
||||
<div class="location">
|
||||
<header><h4>You are here:</h4></header>
|
||||
<h5 class="page">Blog - Optical Recovery</h5>
|
||||
</div>
|
||||
<include src="includes/nav_quick_links.html" />
|
||||
</nav>
|
||||
<main class="pane blog">
|
||||
<div class="body">
|
||||
<header>
|
||||
<h1 class="title">Optical Recovery</h1>
|
||||
<p class="date">Posted: 10 January, 2026</p>
|
||||
<p class="date">Last Edited: 10 January, 2026</p>
|
||||
</header>
|
||||
<div class="body">
|
||||
<p>
|
||||
Data preservation is increasingly threatened in the digital age. That almost
|
||||
sounds backwards, until you dig into modern architecture.
|
||||
</p>
|
||||
<p>
|
||||
Once upon a time, the greatest threat to information preservation was nature
|
||||
and memory retrieval errors. The digital age introduced denser,
|
||||
longer-lasting forms of data storage. As we progressed from punch card, to
|
||||
tape, to 8 inch floppies, to flash and optical, and ever denser forms of
|
||||
all, we got better at preventing data loss. Quality control, error
|
||||
correction techniques bundled with file systems, and redundancy (parity) in
|
||||
storage virtualizations, like RAID.
|
||||
</p>
|
||||
<p>
|
||||
But in the modern age, the Enshittocene<sup>1</sup>, some would call it,
|
||||
consumers are ever strongarmed into corporate-controlled cloud storage. With
|
||||
that, comes a lack of ownership.
|
||||
</p>
|
||||
<p>
|
||||
Now, normally that's the lead-up to advocating for homelabbing, FOSS, and
|
||||
de-Googling. However, in this instance, it's the lead up to optical media
|
||||
preservation. Why? Because optical media remains a great storage medium
|
||||
today. Even if you don't believe that, many old games in their original
|
||||
form, or other preserved media, are still only available on discs.
|
||||
</p>
|
||||
<p>
|
||||
However, discs are subject to natural degradation through scratches,
|
||||
delamination, and disc rot. Especially as the quality control on these discs
|
||||
dwindles. Thus, there must be additional work put into caring for this
|
||||
medium.
|
||||
</p>
|
||||
<p>
|
||||
RAID arrays are great as alternatives too, as they already have parity,
|
||||
ddrescue, and error-correcting filesystems available. The problem is that
|
||||
the arrays themselves are not. At least not right now. Once again, partly
|
||||
thanks to AI datacentres demanding obscene amounts of resources, the cost of
|
||||
hard drives has gone up significantly since the pandemic.
|
||||
</p>
|
||||
<p>
|
||||
With that, we segue into my latest project, temporarily named
|
||||
<em>Kramer</em>. I know I did some research to come up with that name, but I
|
||||
genuinely don't recall who it was in reference to. In fact, having tried
|
||||
tracking down who it's in reference to, I may have messed up when I picked
|
||||
the name. My best guess is that it's in reference to Kane Kramer, but he
|
||||
helped design the Digital Audio Player, not optical media.
|
||||
</p>
|
||||
<p>
|
||||
Regardless, it's always been a working name while I figure out if I can
|
||||
finish the project.
|
||||
</p>
|
||||
<p>So, what is Kramer?</p>
|
||||
<p>
|
||||
Kramer is a recovery utility. Conceptually, it's meant to be akin to
|
||||
ddrescue<sup>2</sup>, but optimized for recovering data from optical media.
|
||||
</p>
|
||||
<p>
|
||||
There are two main problems I've experienced while trying to use ddrescue
|
||||
with optical drives, and both stem from the drive's firmware. Now, I don't
|
||||
know if me using the <code>--reset-slow</code> flag is contributing to these
|
||||
issues or not, but I experience more problems without it.
|
||||
</p>
|
||||
<p>
|
||||
If you've ever tried working with optical media in Linux, you may be
|
||||
familiar with <em>The Sleep Bug</em>. Normally, this is when a drive's
|
||||
firmware decides to sleep after two minutes, and never wakes. In the case of
|
||||
ddrescue, I've noticed that the drive often sleeps after read errors. When
|
||||
this happens, I can't kill ddrescue, and it just hangs. Even if I forcefully
|
||||
disconnect the drive, it just hangs, awaiting a response from the block
|
||||
device.
|
||||
</p>
|
||||
<p>
|
||||
For the record, Kramer still has this issue. I've only recently gotten
|
||||
mapping working alongside directIO to get around the Linux kernel's read
|
||||
poisoning.
|
||||
</p>
|
||||
<p>
|
||||
Keep in mind that I know very little C, and I don't play this low in the
|
||||
system much yet. So, I don't know why, but without the
|
||||
<code>O_DIRECT</code> flag to bypass the kernel's buffer (and whatever else
|
||||
directIO technically bypasses), after a single IO error, the kernel will
|
||||
refuse to return anything but that same IO error until the parent process is
|
||||
restarted. I tried doing the C calls directly through FFI, since poisoning
|
||||
is something that Rust employs in some places for safety. That didn't work,
|
||||
so I tried spawning a child process to execute the read, but that also
|
||||
didn't work. Thankfully, I know a guy, and with his help I was able to track
|
||||
down not only how to implement directIO, but also without using FFI to call
|
||||
<code>posix_memalign</code>.
|
||||
</p>
|
||||
<p>
|
||||
Back on track, the other issue is the spin-down. As ddrescue reads smaller
|
||||
clusters and/or starts hitting a particularly poor section of the disc, some
|
||||
drives' firmware is too quick to spin down, causing the spindle to
|
||||
constantly speed up and slow down, increasing wear.
|
||||
</p>
|
||||
<hr />
|
||||
<ol>
|
||||
<li>
|
||||
I would recommend reading <em>Enshittification</em> by Cory Doctorow.
|
||||
</li>
|
||||
<li>
|
||||
As I'm writing Kramer in Rust, I also have to stress the point that this
|
||||
project is not intended as a ddrescue rewrite in rust, for the sake of a
|
||||
rewrite in rust. I'm not trying to clone or replace ddrescue. Kramer has
|
||||
a different target, and ddrescue is a resource for me to learn from and
|
||||
use as a guide while I dig deeper into the system than I ever have.
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<include src="includes/tailer.html" />
|
||||
</main>
|
||||
<div class="pane spacer">
|
||||
<include src="./includes/blog_recent_posts.html" />
|
||||
<div class="spacer_container"><p>#AD</p></div>
|
||||
</div>
|
||||
<include src="includes/footer.html" />
|
||||
<include src="includes/scripts.html" />
|
||||
</body>
|
||||
</html>
|
||||
@@ -9,9 +9,41 @@
|
||||
</description>
|
||||
<language>en-ca</language>
|
||||
<category>Technology/IT/Life/Mental Health/Health</category>
|
||||
<item>
|
||||
<title>Optical Recovery</title>
|
||||
<pubDate>10 January, 2026</pubDate>
|
||||
<link>https://www.cutieguwu.ca/blog/posts/5_optical_recovery.html</link>
|
||||
<description>
|
||||
Introducing my optical media recovery utility, and some challenges in development.
|
||||
</description>
|
||||
<category>Coding</category>
|
||||
<category>Programming</category>
|
||||
<category>Optical Media</category>
|
||||
<category>Rust</category>
|
||||
</item>
|
||||
<item>
|
||||
<title>Pointless Plans</title>
|
||||
<pubDate>18 December, 2025</pubDate>
|
||||
<link>https://www.cutieguwu.ca/blog/posts/4_pointless_plans.html</link>
|
||||
<description>Winter Break plans</description>
|
||||
<category>Life</category>
|
||||
<category>Mental Health</category>
|
||||
<category>Health</category>
|
||||
</item>
|
||||
<item>
|
||||
<title>Closing Chapters</title>
|
||||
<pubDate>18 December, 2025</pubDate>
|
||||
<link>https://www.cutieguwu.ca/blog/posts/3_closing_chapters.html</link>
|
||||
<description>
|
||||
Things go, and others come in. Sometimes, we don't want to move forward, but we must.
|
||||
</description>
|
||||
<category>Life</category>
|
||||
<category>Mental Health</category>
|
||||
<category>Health</category>
|
||||
</item>
|
||||
<item>
|
||||
<title>Buyer's Anxiety</title>
|
||||
<pubDate>11 September 2025</pubDate>
|
||||
<pubDate>11 September, 2025</pubDate>
|
||||
<link>https://www.cutieguwu.ca/blog/posts/2_buyers_anxiety.html</link>
|
||||
<description>
|
||||
Discussing my fears regarding a purchase for a friend.
|
||||
|
||||
@@ -23,3 +23,6 @@
|
||||
<a class="title" href="https://pronoms.fr/@Cutieguwu">French</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Public Facing Webcheck -->
|
||||
<li><a class="title" href="https://webcheck.cutieguwu.ca">Web Check</a></li>
|
||||
|
||||
@@ -1,6 +1,33 @@
|
||||
<div class="spacer_container blog_recent_posts">
|
||||
<h2>Recent Posts</h2>
|
||||
<div class="section_list">
|
||||
<section>
|
||||
<header>
|
||||
<div>
|
||||
<h3 class="name">Optical Recovery</h3>
|
||||
<span class="subtitle">10 January, 2026</span>
|
||||
</div>
|
||||
<a href="/blog/posts/5_optical_recovery.html" class="status">View</a>
|
||||
</header>
|
||||
</section>
|
||||
<section>
|
||||
<header>
|
||||
<div>
|
||||
<h3 class="name">Pointless Plans</h3>
|
||||
<span class="subtitle">18 December, 2025</span>
|
||||
</div>
|
||||
<a href="/blog/posts/4_pointless_plans.html" class="status">View</a>
|
||||
</header>
|
||||
</section>
|
||||
<section>
|
||||
<header>
|
||||
<div>
|
||||
<h3 class="name">Closing Chapters</h3>
|
||||
<span class="subtitle">18 December, 2025</span>
|
||||
</div>
|
||||
<a href="/blog/posts/3_closing_chapters.html" class="status">View</a>
|
||||
</header>
|
||||
</section>
|
||||
<section>
|
||||
<header>
|
||||
<div>
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
</label>
|
||||
<ul>
|
||||
<li><a class="title" href="https://github.com/Cutieguwu">Github (Mirror)</a></li>
|
||||
<li><a class="title" href="https://play.picoctf.org/users/cutieguwu">picoCTF</a></li>
|
||||
<li><a class="title" href="https://www.twitch.tv/cutieguwu">Twitch</a></li>
|
||||
<li><a class="title" href="https://www.youtube.com/@Cutieguwu">YouTube</a></li>
|
||||
</ul>
|
||||
@@ -40,7 +41,7 @@
|
||||
<ion-icon name="chevron-forward-outline"></ion-icon>
|
||||
</label>
|
||||
<ul>
|
||||
<li><a class="title" href="https://webcheck.cutieguwu.ca">Web Check</a></li>
|
||||
<li><a class="title" href="https://cyberchef.cutieguwu.ca">CyberChef</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
<script type="module" src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.esm.js"></script>
|
||||
<script nomodule src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.js"></script>
|
||||
<script src="https://keepandroidopen.org/banner.js"></script>
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
<p class="date">Last Edited: 03 August, 2025</p>
|
||||
</header>
|
||||
<div class="body">
|
||||
<p>People, this is under development. Live with the lorem ipsum.</p>
|
||||
<p>lorem ipsum idk what else there is in this latin phrase</p>
|
||||
<p>
|
||||
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex
|
||||
|
||||
@@ -72,9 +72,14 @@
|
||||
body {
|
||||
display: grid;
|
||||
background-color: var(--background-0);
|
||||
grid-template-rows: min-content auto;
|
||||
|
||||
// Adds a margin otherwise for some reason.
|
||||
margin: 0;
|
||||
|
||||
.kao-banner {
|
||||
grid-area: banner;
|
||||
}
|
||||
}
|
||||
|
||||
* {
|
||||
@@ -111,7 +116,7 @@ a {
|
||||
|
||||
body {
|
||||
grid-template-columns: none;
|
||||
grid-template-areas: "nav" "main" "spacer";
|
||||
grid-template-areas: "banner" "nav" "main" "spacer";
|
||||
|
||||
// Compress spacings to maximize useable area.
|
||||
// padding: var(--spacing-small);
|
||||
@@ -131,7 +136,7 @@ a {
|
||||
@media (min-width: 601px) and (max-width: 1023px) {
|
||||
body {
|
||||
grid-template-columns: min-content 1fr;
|
||||
grid-template-areas: "nav main" "spacer main";
|
||||
grid-template-areas: "banner banner" "nav main" "spacer main";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,6 +144,6 @@ a {
|
||||
@media (min-width: 1024px) {
|
||||
body {
|
||||
grid-template-columns: min-content 1fr min-content;
|
||||
grid-template-areas: "nav main spacer";
|
||||
grid-template-areas: "banner banner banner" "nav main spacer";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
<div class="body">
|
||||
<header>
|
||||
<h1 class="title">Olivia Brooks</h1>
|
||||
<p class="date">Last Edited: 08 August, 2025</p>
|
||||
<p class="date">Last Edited: 21 February, 2026</p>
|
||||
</header>
|
||||
<div class="body">
|
||||
<div class="about_me">
|
||||
<p>
|
||||
Hello, I'm Olivia Brooks. I am a passionate, hard-working, and
|
||||
dependable individual with an inate interest in sharing and expanding my
|
||||
knowledge and expertise.
|
||||
dependable individual with an innate interest in sharing and expanding
|
||||
my knowledge and expertise.
|
||||
</p>
|
||||
<p>
|
||||
For the better part of a decade, I've specced, built, identified and
|
||||
@@ -87,7 +87,7 @@
|
||||
weather patterns.
|
||||
</li>
|
||||
<li>Additionally handled equipment maintenance.</li>
|
||||
<li>Acted as administrative liason.</li>
|
||||
<li>Acted as administrative liaison.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
@@ -151,7 +151,7 @@
|
||||
<p>Bachelor of Arts (Honours)</p>
|
||||
<ul>
|
||||
<li>Major in Psychology</li>
|
||||
<li>[Intended] Minor in Women's and Gender Studies</li>
|
||||
<li>[Intended] Minor in Computer Science</li>
|
||||
<li>Concentration in Social/Personality Psychology</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -227,6 +227,16 @@
|
||||
<h3 class="status">x2</h3>
|
||||
</header>
|
||||
</section>
|
||||
<section>
|
||||
<header>
|
||||
<div>
|
||||
<h3 class="name">CyberSci Regional Winner</h3>
|
||||
<span class="subtitle"
|
||||
>The Off-By-Ones - Ottawa, 2025</span
|
||||
>
|
||||
</div>
|
||||
</header>
|
||||
</section>
|
||||
<h3 class="early_history">
|
||||
Queries about other awards available by request.
|
||||
</h3>
|
||||
@@ -460,7 +470,7 @@
|
||||
<header>
|
||||
<div>
|
||||
<h3 class="name">
|
||||
<a href="mailto:olivia.a.brooks77@gmail.com"> Email </a>
|
||||
<a href="mailto:olivia.a.brooks77@gmail.com">Email</a>
|
||||
</h3>
|
||||
<span class="subtitle">olivia.a.brooks77@gmail.com</span>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user