diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7f1a9ec --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +public/ +.idea/ +.hugo_build.lock +**/_gen/ +dist/ +themes/ \ No newline at end of file diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..6a1fc8e --- /dev/null +++ b/config.toml @@ -0,0 +1,6 @@ +baseURL = 'https://sagev.space/' +languageCode = 'en-us' +title = 'sagev.space' +theme = 'sage' +text_color = 'black' +summaryLength = 30 diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..ac7cfd4 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,12 @@ +--- +title: "" +date: 2022-10-05T20:50:25-04:00 +--- + +## About Me + +Hi! My name is Sage (he/him), and this is my some-sort-of-blog. I'm a full-time +software engineer, and most of my posts here are about programming in one way or +another (aside from the odd "look at this cat" post). + +This site is something of an experiment in minimalism, trying for easy readability on a variety of devices, while being as small and efficient as possible! \ No newline at end of file diff --git a/content/posts/_OH-MY-GOD.md b/content/posts/_OH-MY-GOD.md new file mode 100644 index 0000000..39e2733 --- /dev/null +++ b/content/posts/_OH-MY-GOD.md @@ -0,0 +1,7 @@ +--- +title: "SageV.Space" +draft: true +--- +You won't believe what this post is about! + + diff --git a/content/posts/_books.md b/content/posts/_books.md new file mode 100644 index 0000000..deefe8e --- /dev/null +++ b/content/posts/_books.md @@ -0,0 +1,7 @@ +--- +title: "SageV.Space" +draft: true +--- +Some Books to Read + + diff --git a/content/posts/_ideas.md b/content/posts/_ideas.md new file mode 100644 index 0000000..7a0e5ab --- /dev/null +++ b/content/posts/_ideas.md @@ -0,0 +1,8 @@ +--- +title: "SageV.Space" +draft: true +--- +I like vim +Sister's cats +Vinny +My last class diff --git a/content/posts/_if-he-goes.md b/content/posts/_if-he-goes.md new file mode 100644 index 0000000..0b45d98 --- /dev/null +++ b/content/posts/_if-he-goes.md @@ -0,0 +1,17 @@ +--- +title: "SageV.Space" +draft: true +--- +There was once a time when all humans lived forever. +One courageous woman gets in a fight with young God. +If she goes, the crowd cried, we all go. + +"Did you hear it's Tem's 700th birthday tomorrow?" + +"Oh, how lovely for her." + +The woman and the man, around 400 and 300 years old, respectively, sat in a +small lean-to, several tens of thousands of years before the invention of +television. + + diff --git a/content/posts/_linux-kickflips.md b/content/posts/_linux-kickflips.md new file mode 100644 index 0000000..a9a3f5d --- /dev/null +++ b/content/posts/_linux-kickflips.md @@ -0,0 +1,31 @@ +--- +title: "SageV.Space" +draft: true +--- +How to do a kickflip on Linux + +I'm not quite a proper wizard when it comes to the wide world of Unix, but I've +picked up a couple neat tricks over the years. I might occasionally update this +page. + +
+// vvvvv This is a parameter
+fn do_stuff(input: i32) {
+ ...
+}
+
diff --git a/content/posts/_paperwork.md b/content/posts/_paperwork.md
new file mode 100644
index 0000000..d767602
--- /dev/null
+++ b/content/posts/_paperwork.md
@@ -0,0 +1,10 @@
+---
+title: "SageV.Space"
+draft: true
+---
+God, I Hate Paperwork
+
+Some darned fool once again left their paperwork for the last minute, and now
+I'm the one who has to clean up the mess. Except, I'm the fool, and I'm texting
+my partner asking if she can pretty please find the info I left at home so I
+can fill this crap out.
diff --git a/content/posts/_peppers-2.md b/content/posts/_peppers-2.md
new file mode 100644
index 0000000..ee09746
--- /dev/null
+++ b/content/posts/_peppers-2.md
@@ -0,0 +1,18 @@
+---
+title: "SageV.Space"
+draft: true
+---
+Peppers Part 2: The Peppening
+
+The hot sauce is complete! After a week of fermented waiting, I blended the
+peppers up with some vinegar, and voila! Hot sauce. So, how'd it turn out?
+
+Well, first of all, kinda brown:
+
+
+
+
+Otherwise, if I really had to lean into my culinary expertise, I would say that
+the sauce tastes like peppers.
diff --git a/content/posts/_soup.md b/content/posts/_soup.md
new file mode 100644
index 0000000..c1bf8af
--- /dev/null
+++ b/content/posts/_soup.md
@@ -0,0 +1,8 @@
+---
+title: "SageV.Space"
+draft: true
+---
+On Soup
+
+I like soup. I think soup is more or less underrated by the world at large.
+Soup rules.
diff --git a/content/posts/_wish-I-read-more.md b/content/posts/_wish-I-read-more.md
new file mode 100644
index 0000000..143bca2
--- /dev/null
+++ b/content/posts/_wish-I-read-more.md
@@ -0,0 +1,27 @@
+---
+title: "SageV.Space"
+draft: true
+---
+I Wish I Read More
+
+When I was a kid, I read books more or less constantly. Somewhere in middle
+school, my pace slowed significantly. I blame homework. I went through a few
+books in there, but not at nearly the rate from before. After high school, I
+stopped reading almost completely.
+
+Oh, I spent plenty of time on comment threads, but not books. Then I started
+living with my partner, and we only had one car, so I started taking the bus to
+work. Bless public transportation. With hands finally free, there existed at
+least an hour each day with nothing better to do than read. I still didn't,
+obviously, but I had time to.
+
+My then-new job, however, had quite a few technical books laying around, and I
+was to go through bits and pieces for work-related knowledge. Somewhere in
+there, I had a moment of, "Oh, books are like, fun. Right.". It didn't
+take too long before I always had something to read on me.
+
+I keep track of the books I've read on Goodreads, because I didn't loathe
+Amazon when I made the account, and I haven't yet taken the time to transition
+somewhere else.
+
+
diff --git a/content/posts/_zelda-and-calli.md b/content/posts/_zelda-and-calli.md
new file mode 100644
index 0000000..c456882
--- /dev/null
+++ b/content/posts/_zelda-and-calli.md
@@ -0,0 +1,26 @@
+---
+title: "Zelda and Calli"
+date: 2020-10-04
+draft: true
+---
+
+AKA _shameless cat-posting 2_
+
+I mentioned my sibling's cats in another post,
+but I figure they deserve an explanation of their own.
+
+My sibling is currently looking for a new place to stay, so my partner and I
+have been looking after their two cats for a while. There are two very
+different personalities at here. We have:
+
+Grouch
+
+
+
+Weird
+
+
diff --git a/content/posts/break.md b/content/posts/break.md
new file mode 100644
index 0000000..f29d72d
--- /dev/null
+++ b/content/posts/break.md
@@ -0,0 +1,71 @@
+---
+title: "Oops, forgot to write"
+date: 2020-10-15
+description: ""
+---
+
+I haven't written anything for like a week (2 weeks? A month? Who knows
+anymore) because I got myself all busy with _reading_. I feel it a noble
+enough sacrifice. Today, however, I have a bit of a headache, and writing
+offers a lot more flexibility as far as thinking and letting your eyes wander.
+
+Also, apparently I busted by website-generator thing around the time of my last
+post, so several pages were screwed-up for a bit, but they should be good now!
+
+Anyway, what better to write about than the crap I've been reading. I thought
+about making these all affiliate links (not through Amazon though, god), but
+**1.** It takes work to work sign up and **B.** It
+just ain't that serious. Maybe some day. Anyhow:
+
+## Books
+
+### The Witches Are Coming - Lindy West
+
+A good "cultural critique" without any academic stuffiness. Or anything even
+remotely resembling stuffiness. It has a very modern writing style -- West is
+obviously a scholar of the internet -- and it's pretty hilarious for it.
+
+### Is Everyone Hanging Out Without Me? - Mindy Kaling
+
+The amusing stories of a TV writer. A light, fun read. Though there was one
+joke about an old African schoolmate that wasn't _great_. C'mon, Mindy,
+you're funny without that.
+
+### Tomatoland - Barry Estabrook
+
+A jaunt down the capitalist hell-hole that tomato farming apparently is (more
+than everything else). I appreciate that it didn't pull too many punches.
+Occasionally a smidge sympathetic to some that don't deserve it, but still left
+me wanting to switch to a farmers' market.
+
+### The Sirens of Titan - Kurt Vonnegut
+
+Interesting concept. Reminded me a lot of Hitchhiker's Guide, but with less
+whimsy.
+
+I don't know. Theoretically, I like Vonnegut, but the treatment of
+women in this is... not good.
+
+### The Princess Bride - William Goldman
+
+Having only seen the wonderful movie adaptation, it's weird to read the book
+now. It's great, but -- blasphemy -- I don't think it has much of anything over
+the movie.
+
+### Americanah - Chimamanda Ngozi Adiche
+
+A young Nigerian woman's journey to America, and the accompanying shattered
+illusions about the land of the free. Not much I can say here that hasn't
+already been said, but it tells a good story with absolutely terrific prose.
+
+### Almost Perfect - W.E. Pete Peterson
+
+A brief history of a now-defunct word-processor. It chronicles the story of a
+business built from scratch by a bunch of whiteys, and the author with his
+ridiculous name is a self-professed Glenn Beck fan these days (grimace emoji).
+That said, if you're an awful, awful, nerd like me, and amused by that
+old-school computer scene (these guys made millions before GUIs were things
+people had) then it might be interesting.
+
+That's all for now. Join me next week, when I'll be ranking the 10 cheap-o
+Donna Andrews murder-mysteries I've read.
diff --git a/content/posts/c.md b/content/posts/c.md
new file mode 100644
index 0000000..e9ba964
--- /dev/null
+++ b/content/posts/c.md
@@ -0,0 +1,69 @@
+---
+title: "What is it with pointers?"
+date: 2020-09-01
+description: ""
+---
+
+Listen, if I had to pick a language to write a decent program in, I'd want to
+use something like Rust. It behaves in more or less all the sane ways I want a
+language to behave. Python's nice and quick for Python-y stuff, and Javascript
+is Javascript, etc. But for some reason, I just like C.
+
+I've written something of an implementation of Lisp for my Pebble smartwatch,
+which I named PebbLisp. I'd love to have written it in Rust, to get some more
+practice with it, but it was a real pain in the tookus to get compiling for the
+watch, and I gave up. So, C.
+
+I'll never act like C is a perfect language. Many, many, stupid memory leaks
+could've been avoided with something smarter. For some reason, though, it's
+just fun to work with. PebbLisp involves some dancing about with pointers, and
+includes a homegrown tagged-union setup. There are parts that are probably very
+ugly to more practiced eyes, and correcting unexpected behavior is a nightmare,
+but coding it leaves me downright giggly sometimes.
+
+The Object struct in PebbLisp has three parts:
+
+ struct Object {
+ Type type;
+ union {
+ ...
+ };
+ Object *forward;
+ }
+
+## The Tag
+
+The first part is the `Type` of the `Object`. This is just an enumeration with
+all the possible types that a PebbLisp object can be. It's the tag of our
+tagged union. Already I like it far more than is warranted. One number is a
+front for every possible type? Incredible!
+
+## The Union
+
+The second part is, of course, the union itself. I've cut it out here, but
+there are members of the union for integers, pointers to strings, function
+pointers, etc. Unions are also something I treasure. The famous issue with
+unions is trying to keep track of what state any given union is actually in,
+and god help you should it ever be interpreted incorrectly. That's why it's
+fun, though. Coding a consistent way to access a union feels like cracking open
+the secret door of programming. The Pointer
+
+Finally, `Object *forward`: something that traditionally might be named `cdr`
+(which I had to look up, because I'm really not enough of a Lisp guy). In Lisp,
+everything is a list. An object with `forward == NULL` is a list of length 1.
+An object that points to another object is a list of length `1 + listLength(forward)`,
+aka itself plus the rest of the list.
+
+So much code in PebbLisp is dedicated to making sure that this value is never
+incorrect, duplicate, or useless. A `cloneObject()` function exists largely
+because copies of individual objects can't keep this address. I'd love to use
+our friendly neighborhood assignment operator: `=`, but C doesn't allow operator
+overloading. But `cloneObject()` was fun to write, somehow!
+
+## C
+
+Anyway, this has already run too long. Point is, C doesn't care what you do
+with data. And for some reason, it's fun to redo decades of other people's work
+in a project no one asked for. I highly recommend it.
+
+#100DaysToOffload
diff --git a/content/posts/disc.md b/content/posts/disc.md
new file mode 100644
index 0000000..70bd613
--- /dev/null
+++ b/content/posts/disc.md
@@ -0,0 +1,24 @@
+---
+title: "Joy of Disc Golf"
+date: 2020-09-22
+description: ""
+---
+
+So, my partner and I have gotten pretty into disc golf recently. About two
+weeks ago I ordered a new disc, so we could bring friends out for a bit of
+good, clean, socially-distanced fun. It's pink and it's awesome.
+
+Yesterday, we went to go play a few rounds at a different course than the
+usual. Me, ace that I am, absolutely whipped that brand new disc onto a nearby
+roof. COVID being COVID, there are, fairly, no facility people available.
+
+Though I was initially a stubborn ass about it, my partner had the idea to
+bring a ladder out and get it back. I thought it was crazy to climb onto the
+roof of some park building, but another disc golfer (or _dolfer_) walked
+by and said that he's done it here a million times. So, partner's right, as
+always.
+
+Unless it goes wrong, in which case I'm morally bound to amend this with the
+appropriate amount of _neener-neener_.
+
+If it all works out, I'll add photos of our victory!
diff --git a/content/posts/hey-look.md b/content/posts/hey-look.md
new file mode 100644
index 0000000..f7b0b91
--- /dev/null
+++ b/content/posts/hey-look.md
@@ -0,0 +1,28 @@
+---
+title: "Hey look! My own site!"
+date: 2020-09-21
+description: ""
+---
+
+In [my last post](/posts/site), I lamented not having a place to put
+my own stuff. Today I actually took a couple minutes to register a domain, set
+up DNS nonsense, and _upload_. Thus: this! Feels like I might have kinda
+lost the thread re: #100DaysToOffload, but this is fun, too.
+
+The most head-spinning part of the process was coming up with the name.
+Ultimately taking the simple route, I ended up somewhere between neat and
+cheesy. I also think "sagev" and "space" being the same length is odd, but
+visually, I like it a lot.
+
+The site is intended to be as small as possible, while still looking nice, and
+following all accessibility guidelines. It's definitely quick to load, but
+could afford a bit more polish on the second and third fronts.
+
+I picked up the domain on Namecheap, and currently have everything hosted on
+Netlify. May I never exceed the limits of a free tier! It would be cool to
+self-host at some point, but as it stands, this is more than sufficient, and I
+don't need to leave a computer running all the time.
+
+I wish I had more to say about this, because having my own site feels pretty
+exciting! But I'm scraping the bottom of the barrel for content as it is, so
+I'll just say I'm looking forward to doing more with it!
diff --git a/content/posts/how-to-nerd.md b/content/posts/how-to-nerd.md
new file mode 100644
index 0000000..382f40a
--- /dev/null
+++ b/content/posts/how-to-nerd.md
@@ -0,0 +1,94 @@
+---
+title: "How to be an Irredeemable Nerd and Look Good Doing It"
+date: 2020-11-06
+description: ""
+---
+
+In a [previous post](/posts/c), I talked a bit about my endeavour to build
+myself a lil' Lisp: PebbLisp. It's a project I work off and on depending on my
+motivation. Recently, I was pretty bored with it, and found myself looking for
+a new project. Having read a bit about Forth, I thought it wouldn't be too hard
+to try implementing it. Plus, this would be a great opportunity do some
+practice with Rust.
+
+If you're not familiar with Forth, it's a weird little interpreted language
+built around a stack. Passing in a number will add it to the top of the stack,
+passing in a function will (usually) do something with numbers on the stack.
+For example, what happens when you run the following?
+
+ 2 3 + .
+
+First, `2` and `3` are added to the stack. Then, `+` pops the top two items off
+the stack, and adds them. Then it pushes the result back onto the stack.
+Finally, the `.` pops the top item off of the stack, and prints it out:
+
+ 5
+
+You can also compile functions that add some of these elements, and the
+language can become surprisingly expressive:
+
+ : feet 12 * ;
+ : yards feet 3 * ;
+
+ 5 feet .
+ \ This prints 60 (5 feet in inches)
+
+ 8 yards .
+ \ This prints 288 (6 yards in inches)
+
+ 5 yards 2 feet + .
+ \ This prints 204 (5 yards + 2 feet)
+
+So, I figured "hey, looks simple enough", and got to work. Got basic parsing
+going, got the stack pretty functional, added a few functions, whoo. Rust
+turned out to be a great choice. Expressive, safe, and with built-in testing.
+Good stuff. Almost too good. I'd started looking at PebbLisp again. Could I
+write an interpreted language using my own interpreted language? Forth is
+pretty simple, conceptually. How hard could it be?
+
+Actually, it hasn't been the unholy mess that I was expecting. Yes, my PebbLisp
+is severely lacking (there was no way to take user input before?). No, it has
+nothing anything even remotely resembling a formal language definition (I've
+operated on the "this seems to make sense" principle). With some tweaks though,
+it has kind of worked!
+
+My to-be-named Forth (Forbble? PLForth? PebForListhble?) is incredibly
+buggy, and pretty tedious even when it does work, but it sort of kind of does!
+
+ $ "feet" 12 * "END"
+ $ "yards" 36 * "END"
+ 5 "yards" 2 "feet" +
+ .
+ \ This prints 204
+
+So, for reasons I've yet to suss out:
+
+* Functions can't be defined using other functions
+* Functions need to be defined using quotes, for goofy string/symbol reasons in PebbLisp.
+* Statements that use a user-defined function seem to ignore the dot operator at the end.
+
+_Please ignore the awful END symbol it should be easy to fix._
+
+Anyway, it's been pretty neat to actually try doing something with PebbLisp.
+I've cleaned up a bunch of hacky ways of doing things, and added a few more.
+Some of it is super useful outside of Forbble (Flisbble? Porlth?) too. Since I
+added an `eval` function, and a way to take input, it's actually super easy to
+write up a REPL in PebbLisp itself. Very fun!
+
+PebbLisp was never intended to be a terrifically practical language. Have I
+mentioned it was originally created to be written and run on a smartwatch?
+Yeah, the Pebble (hence the name). Enjoy typing on its four buttons. This is
+also the reason PebbLisp is written in C, as nothing else worked with their
+SDK. Nonetheless, it is incredibly satisfying to get your own language running
+something even remotely real. Even if that something is another, even less
+useful language.
+
+I love it.
+
+If you, like me, enjoy programming enough to do it in your free time, try
+writing a little lang. Forth is a great place to start, and Rust is a great
+language to write in, but there are certainly others that would be cool to work
+with. Or just try _using_ a different language. I'm not saying your
+Forth knowledge will get you hired anywhere, but it's a good excuse to look at
+your code differently, which is always a good idea.
+
diff --git a/content/posts/laptop.md b/content/posts/laptop.md
new file mode 100644
index 0000000..0261394
--- /dev/null
+++ b/content/posts/laptop.md
@@ -0,0 +1,43 @@
+---
+title: "Buying someone a new laptop"
+date: 2020-09-09
+description: ""
+---
+
+My partner's been running with a 2015 MacBook Air for a few years now,
+but it's no longer doing what she needs. That is to say, it rapidly
+converted from “ok” to “very stinky” over the last year-ish. YouTube
+videos stutter. It's madness. We even re-installed MacOS, and no dice.
+An upgrade was in order, and with all the remote work stuff, it needed
+to be a sizeable one.
+
+Now, my current laptop is a Dell Precision M4700 from early 2013 (that
+I bought in 2018). It's a fat boy. Nearly an inch and a half thick,
+and not exactly _chamfered_. Priorities for that purchase include:
+number of hard drive spots, number of RAM slots, can play Factorio.
+
+My partner did not want a Dell Precision M4700. She has frivolous
+requirements like “battery life more than an hour”, “un-terrible
+webcam”, and “less than 6 pounds”. This narrowed down the options
+significantly. Of course, what narrowed it down more was that I
+insisted on finding something with swappable RAM and storage, but I
+stand by that.
+
+The search for new technology is kinda fun, but I spent way too much
+time on it, and it got to be pretty draining. There exist far too many
+devices with good specs and terrible trackpads. We also try to buy
+used where possible for not-being-wasteful reasons, but her work uses
+very poorly-optimized software, so we bit the bullet and found
+something new.
+
+And when I say “we”, I mean “she”. I spent hours on the search (and
+picked up plenty about the current laptop “market” or whatever) but
+ultimately she found it, tucked away on a manufacturer's website. I
+gave it the know-it-all computer-guy seal of approval, and we ordered.
+It looks pretty cool, and should totally blow mine out of the water.
+
+But it hasn't arrived yet, so maybe it's terrible.
+
+#100DaysToOffload
+
+PS: For those interested it's an Inspiron 15 5000 with the Ryzen 5 4500U.
diff --git a/content/posts/music.md b/content/posts/music.md
new file mode 100644
index 0000000..697df05
--- /dev/null
+++ b/content/posts/music.md
@@ -0,0 +1,58 @@
+---
+title: "A Programmer Makes Music"
+date: 2020-10-01
+description: ""
+---
+
+A few years ago, I found the lovely [Godot Engine](https://godotengine.org"),
+and decided to make a game. It's called Fronter and it's not much of an
+improvement over the Flash game I made by copying a tutorial in 2009. Though I
+wrote it myself this time instead of just swapping out assets (I was 13, okay).
+It's sorta fun, but very incomplete and _terribly_ balanced. It does, however,
+have exquisitely-crafted graphics:
+
+
+
+Yee-haw
+
+I love programming. I love solving problems with clever solutions. I think it
+can be hard in certain types of creative project, though. I've had tons of fun
+working on my little LISP implementation because, there, programming is the
+journey _and_ the destination. Those problems are fun to solve, and have a
+clearly-defined scope. With a game, it's way easier for me to glom on a bunch
+of nonsense, and barely get anywhere with the actual gameplay.
+
+So, somewhere in there, I got tired of scratching my head, "Make enemy strong?
+But no make _too_ strong." and just worked on the music. I'm no musical
+genius-man, but sometimes programming is stupid, and you just want to make
+drums go bop and synths go bzz.
+
+Most of the music is overtly game-y, with the aforementioned buzzy synthesizer,
+but I think it works most of the time. A lot of the songs I've done are also
+way too intense for background music, like they'd only make sense at the climax
+or the closing credits. Part of the reason I dropped the game was because I
+couldn't find anywhere to put the music I worked on!
+
+I've hardly ever _named_ a song, either. Nearly everything still has its
+placeholder name. "Organ", "Game Tune", and the especially horrifying "Poppin'
+Freestyle", are all in desperate need of a rename. And no, "freestyle" refers to
+several minutes of synth noodling. It is not rap. If you ever see a post on
+here titled, "Me Rapping is a Good Idea, Actually", please reach out to my
+emergency contacts.
+
+This post isn't intended as a plug, but if you're itching to hear some
+bleep-bloops, there is technically a [Soundcloud for Fronter](https://soundcloud.com/fronter_game).
+I didn't spend much time on a lot of the songs, so they severely lack polish,
+but the three I mentioned above are, I think, the best (more or less in the
+order given).
+
+I haven't had the power cable for my MIDI keyboard (a rather cheap-o Yamaha
+YPT-240), so it's been a long while since I attempted a tune. Finally bit the
+bullet on ordering a new one yesterday, so maybe I'll work on more stuff in the
+near future.
+
+Also annoying FOSS-lover that I am, [LMMS](https://lmms.io/) is the
+music-making software I've used. So, if you have a melody kicking around in
+your head, I highly recommend that you try and play it out. It's very fun.
diff --git a/content/posts/neighborhood-cat.md b/content/posts/neighborhood-cat.md
new file mode 100644
index 0000000..cbdaa15
--- /dev/null
+++ b/content/posts/neighborhood-cat.md
@@ -0,0 +1,28 @@
+---
+title: "How much is that kitty in the window?"
+date: 2020-10-02
+description: ""
+---
+
+AKA, _Shameless cat-posting_
+
+Our house has a stray cat hanging around (dubbed, "Vinny") who my partner and I
+have grown quite fond of. He comes up to the back door every few days to get food
+and engage in a staring contest with our cats.
+
+Vinny is pretty thin, but sports an enormous melon. He also maintains a very
+serious look on his face despite frequently poking his tongue out.
+
+
+
+No blep today. Very serious.
+
+I'd love to invite this obviously-very-good boy inside, but one of the other
+cats can be a real ass, and I'm not sure having a scrap is in either of their
+interests. Technically, we're borrowing these two from family, but they've
+gotta stay under our watchful eyes for now.
+
+He's been stopping by more frequently in the last couple of days, so I hope we
+can fatten him up a bit. He needs a body to match that noggin.
diff --git a/content/posts/peppers.md b/content/posts/peppers.md
new file mode 100644
index 0000000..ca18eb1
--- /dev/null
+++ b/content/posts/peppers.md
@@ -0,0 +1,31 @@
+---
+title: "A Peppery Experiment"
+date: 2020-09-27
+description: ""
+---
+
+Inspired by boredom, an unreasonable affinity for all things vinegary, and a
+friend doing neat pickle stuff, I've decided to try making some fermented hot
+sauce. It's the first time I've fermented something, so it should be a learning
+experience, if nothing else.
+
+The [recipe](https://www.chilipeppermadness.com/recipes/fermented-hot-sauce)
+I'm following is pretty simple, but my impatience and cheapness may impact the
+outcome. I don't have any jars that are as big as they recommend, so I split it
+into two that are, _cleverly_, not the same size. The big jar doesn't have
+the right lid anymore, so the wrong one is currently held in place with
+shoelace. And, to be extra confident in the seal, I slapped some books on top
+of it. Another job well done.
+
+
+
+
+Plus, apparently I can't read, because I ordered white cooking wine instead of
+white wine vinegar. So, that bodes well. I don't need it until the end, so I've
+got time to pick up the right stuff, but still.
+
+I have no idea how this will turn out, but I'm pretty excited to see! Just a
+week of waiting.
diff --git a/content/posts/postcats.md b/content/posts/postcats.md
new file mode 100644
index 0000000..2e77c0b
--- /dev/null
+++ b/content/posts/postcats.md
@@ -0,0 +1,37 @@
+---
+title: "PostCats"
+date: 2020-09-22
+description: ""
+---
+
+I wrote this as a group project proposal for a web applications class, but I
+ended up with a team that had a different direction in mind. I thought it
+was kinda funny, though, so I say it fits here:
+
+---
+
+Have you ever thought, _"Boy, this floor doesn't have nearly enough colorful
+nonsense on it"_? Is there a hole in your soul that can only be filled
+vicariously through your cat? Then, my god, do I have a website for you!
+PostCats is a cat toy subscription service, available in monthly, weekly, or
+daily installments!
+
+At PostCats, we know that your pet quickly tires of playing with the same toy
+day after day. We think bored cats make for bored people. A little variety seems
+to be in order!
+
+At our website, we are excited to offer dozens of unique, engaging cat toys, all
+delivered straight to your door! Simply select what combination you would like
+of fuzzy, stringy, noisy, (or surprise!) toys, and how often you would like them
+delivered. We'll take care of the rest!
+
+PostCats makes it our mission to deliver fun straight to your door, and into
+your cat's heart.
+
+Start now for only 50 cents a day!*
+
+## PostCats ensures that the fun endures!
+
+_*50-cent-per-day promotional price is based on ordering a five-year subscription
+of monthly toy deliveries at a rate of $182.50 per year. The promotion expires
+after the first year, and the price returns to its standard $200 per year._
diff --git a/content/posts/school.md b/content/posts/school.md
new file mode 100644
index 0000000..e28f650
--- /dev/null
+++ b/content/posts/school.md
@@ -0,0 +1,55 @@
+---
+title: "Boy, I sure love college"
+date: 2020-10-05
+description: ""
+---
+
+This semester, I'm finally, _finally,_ finishing up the last class in my
+bachelor's. I started this degree in the Spring of 2016, _after I'd finished
+my associate's_. So, I've been after this stupid thing since Fall 2014, and
+I'm sick of it. Thanks to a scholarship, my tuition has "only" totalled
+somewhere around fifteen, maybe twenty thousand dollars. Might be good to know
+the exact figure at some point, but since I could technically still drop out,
+it's best that I don't think about it too much.
+
+To think I'm still luckier than so many people. I have seven or eight thousand
+something in loans left to pay off, but that doesn't touch the tens of
+thousands that people can have racked up against them. And that's if they can
+manage to get into a useful school. And that's if they can even afford to spend
+time on an education, instead of working to survive.
+
+Even if higher education were free -- great idea though it is -- some people
+_still_ couldn't afford to go. It would help a lot of people, but it
+doesn't change the system we're in.
+
+
+
+## Speaking of school
+
+I don't know if you knew this, but people are really rolling the dice on the
+lives of teachers right now. Especially in my state. There's an
+idiot-and-evil-fueled pandemic going around, and they're dealing with children
+by the dozen. The people making these decisions don't have to deal with the
+consequences, so why not?
+
+There are teachers who have a master's in education, who are being exposed to
+god-knows-what at work every day, and are making less money than any schmuck
+who knows what C is. It's madness. I like programming and I've done some tough
+work, but it is not as important or as difficult as teaching,
+_obviously_. My partner is a teacher herself, and right now the
+employment opportunities are essentially:
+
+* Online tutoring with no hours
+* Die
+
+I'm even in the office while training at my new job, but there's never more
+than 10 people here, and none of their hands are ever inexplicably sticky. I
+know that a lot of individuals respect teachers, but the system clearly
+doesn't.
+
+My life is not more important than theirs.
diff --git a/content/posts/site.md b/content/posts/site.md
new file mode 100644
index 0000000..731be8f
--- /dev/null
+++ b/content/posts/site.md
@@ -0,0 +1,29 @@
+---
+title: "Hugo? More like, No-Go"
+date: 2020-09-17
+description: ""
+---
+
+Driven largely by a staunch refusal to learn anything too new, I've decided to
+try my foolish hand at writing one of these "static site generators". That is
+to say, I've decided to pretend a task is very very simple, and pray that my
+needs never outgrow my mediocre bash skills.
+
+Basically, I'm _tired_ of writing brackety tags everywhere, so I have a
+little converter from plain text to HTML. There's a template.html file and an
+index.template.html file. The first is the basis for individual posts, and the
+second is used to generate a list of links to each post.
+
+This script is incredibly naive. It more or less copy pastes the text in a
+given post file straight into the body of the template.html file. But it does
+use the first line of the file as both the header and the name of the link,
+which is kinda fun. And I can just add HTML tags wherever I want, if I do feel
+like adding some _flair_.
+
+At some point, I might try to convert this into a real project with my dear
+friend Rust, but for now that's 2 hard.
+
+The best part of this whole thing is that I don't even have a way to host it,
+yet. So for now, write.as, whoo!
+
+#100DaysToOffload
diff --git a/content/posts/torch.md b/content/posts/torch.md
new file mode 100644
index 0000000..f03e6fa
--- /dev/null
+++ b/content/posts/torch.md
@@ -0,0 +1,39 @@
+---
+title: "Passing the Torch"
+date: 2020-09-30
+description: ""
+---
+
+When I left my last job, I was lucky enough to do so on great terms with
+everyone there. It was all very _the circumstances are what they are -
+nothing to be done_. So, when I put in my notice, I was asked to spend some
+time showing my replacement the ropes, and I was surprised by how much I
+enjoyed it!
+
+Much as I did like working with the company, there was a thing or two that made
+my own onboarding a bit weird. The first day of the job basically began with,
+"You know some C? Go fix an enormous memory leak in this Linux driver."
+
+> "Okay."
+
+I enjoyed the challenge, and it worked out alright, but it was definitely a
+rough way to start. Worse, it took forever to figure out what people even
+_did_ every day. Evidently, I was on a team of 3, but it was days before I
+knew who my teammates were, and weeks before I figured out what they were
+actually working on.
+
+So, I wanted to save my replacement some time. Most of it was just saying "the
+device we're working on is designed to do _this_, your teammates are these
+two, who work on _that_ and _that_, and what you'll be doing for the
+foreseeable future is _this_". So it wasn't exactly excruciating. I just
+tried to clear up some of vagueries I dealt with at the beginning. Sometimes,
+it also made sense to help them brush up on C, which, as I've [mentioned before](/posts/c),
+I'm unreasonably happy to do.
+
+It was hard in a few ways, because at this point the company did most of its
+work remotely. I never actually got a chance to meet the person replacing me,
+but I still enjoyed teaching, and I hope I made their life a little easier.
+
+I'm definitely not clamoring to lead a group based on one, "I taught someone
+some stuff and then _left before there could be consequences"_, but I
+really liked my brief excursion in it, and I'd be happy to try again!
diff --git a/content/posts/vim.md b/content/posts/vim.md
new file mode 100644
index 0000000..1289caf
--- /dev/null
+++ b/content/posts/vim.md
@@ -0,0 +1,36 @@
+---
+title: "How to become a Hackerman"
+date: 2020-10-02 01:00:00
+description: ""
+---
+
+How does one become hacker? _Use a hacker editor._ Vim is the text editor
+used by all the most elite hackers on this globe. If you want to be a cool
+hacker lady or hacker boy, there's only one way to do it: vim.
+
+Why vim?
+Well, here's why: we have: in vim:
+
+* Insert mode
+* Move fast
+* Press keys
+* Can't quit
+
+If you use vim, you are cool. If you use notepad, you are stupid. If you use
+IDE, you are baby. If you use emacs, you are just dumb. There's only one editor
+for me, and that's the one that starts with 'V', and ends with 'm', and has an
+'i'.
+
+I have a tattoo of hjkl on my ass. If you took the first letter of each
+sentence in this paragraph, it would spell 'IIT'. Thanks to vim I figured that
+out in 2 minutes.
+
+I have two great shortcuts in my .vimrc (_vim really cool_) for coding
+with more power. When I finish a sentence, vim automatically commits the file
+with the message "Hacking". When I press an arrow key my computer restarts, and
+even better, shoots me.
+
+I've been using vim since before it was invented, so if you think you know more
+about it than me you can just shut your dang mouth.:w
+
+I will never use anything else. You can't make me.
diff --git a/content/posts/worst-phone-I-own.md b/content/posts/worst-phone-I-own.md
new file mode 100644
index 0000000..7b21958
--- /dev/null
+++ b/content/posts/worst-phone-I-own.md
@@ -0,0 +1,40 @@
+---
+title: "The Worst Phone I Own"
+date: 2020-08-25
+description: ""
+---
+
+I own far too many phones because I'm a nostalgic nitwit and I never manage to
+get rid of the old ones. Some were broken and replaced, and some were lost to
+carrier-switching. Two phones I purchased just for fun. One was a Galaxy SII,
+for toying with PostmarketOS. The other is the worst smartphone I've ever
+owned: the Alcatel OneTouch Pixi Pulsar.
+
+The Pulsar is small, slow, has a locked bootloader, is stuck on Android 4.4.2
+(3 years old when I bought it) and is locked to Tracfone. Why did I buy this
+piece of junk? Because it cost $4.83, after taxes, shipped overnight. I know
+carriers discount devices so you'll buy their service, and it's a piece of
+junk, but still.
+
+I tried a few of my main apps. Tusky is incompatible, but Fedilab runs okay.
+Slide for Reddit works alright but has some bizarre behavior when switching
+between activities (or fragments or whatever they are). The only camera is
+obviously hideous and rear-facing. During an unrelated nostalgia kick I read
+the entirety of two Goosebumps books using Librera Pro, which worked well.
+
+Anyway, it's pretty terrible. I had some fun experimenting with it, as a
+what's-the-worst-hardware-I-can-live-with test, but it's pretty rough. If it
+had a little more space and the software was a smidge newer, I might be able to
+get by.
+
+That said, consider giving this experiment a try. I wouldn't recommend going
+and buying something you don't need — it feels wasteful, now — but if you've
+got an old phone in a drawer somewhere, pull it out. Boot it up and see how it
+compares to your current device.
+
+And then, if you're anything like me, sell the damn thing.
+
+Yeesh.
+
+_Originally posted on write.as_
+
diff --git a/static/_redirects b/static/_redirects
new file mode 100644
index 0000000..be8ac6e
--- /dev/null
+++ b/static/_redirects
@@ -0,0 +1,5 @@
+/ /index.html
+/pages/hey_look.html /pages/hey-look.html
+/assets/* /assets/:splat
+/pages/* /pages/:splat
+/* /pages/:splat.html
diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png
new file mode 100644
index 0000000..f2ca2e1
Binary files /dev/null and b/static/android-chrome-192x192.png differ
diff --git a/static/android-chrome-256x256.png b/static/android-chrome-256x256.png
new file mode 100644
index 0000000..2358301
Binary files /dev/null and b/static/android-chrome-256x256.png differ
diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png
new file mode 100644
index 0000000..66cc8b8
Binary files /dev/null and b/static/apple-touch-icon.png differ
diff --git a/static/browserconfig.xml b/static/browserconfig.xml
new file mode 100644
index 0000000..21b223b
--- /dev/null
+++ b/static/browserconfig.xml
@@ -0,0 +1,9 @@
+
+