diff options
Diffstat (limited to 'served')
-rw-r--r-- | served/words/atom.xml | 196 | ||||
-rw-r--r-- | served/words/statement-of-intent.html | 6 | ||||
-rw-r--r-- | served/words/weeknotes/weeknotes-14.html | 53 | ||||
-rw-r--r-- | served/words/weeknotes/weeknotes-15.html | 19 | ||||
-rw-r--r-- | served/words/words.css | 38 | ||||
-rw-r--r-- | served/words/words.html | 30 | ||||
-rw-r--r-- | served/words/writing.css | 20 |
7 files changed, 157 insertions, 205 deletions
diff --git a/served/words/atom.xml b/served/words/atom.xml deleted file mode 100644 index d8a38d5..0000000 --- a/served/words/atom.xml +++ /dev/null @@ -1,196 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<feed xmlns="http://www.w3.org/2005/Atom"> - - <title>gennyble's writing</title> - <subtitle>Technical writing; project updates; weeknotes</subtitle> - <updated>2024-03-02T01:42:00-06:00</updated> - - <link rel="self" href="https://nyble.dev/words/atom.xml" type="application/atom+xml" /> - <id>https://nyble.dev/words/atom.xml</id> - - <author> - <name>gennyble</name> - <email>gen@nyble.dev</email> - </author> - - - <entry> - <title>Akkoma Postgres Migration</title> - <link href="https://nyble.dev/words/akkoma-postgres-migration.html" rel="alternate" type="text/html" /> - <id>https://nyble.dev/atom/writing-1/akkoma-postgres-migration</id> - - <published>2023-10-18T23:16:00-05:00</published> - <updated>2023-10-18T23:16:00-05:00</updated> - - <content type="html"> -<p> -<i>(i'm going to say Pleroma a lot here where Akkoma might - be correct for newly installed software, but my instance is - a few years old and this is more of a telling-of-events than - a guide)</i> -</p> -<details class="tldr"> - <summary>TL;DR; if you migrated your Akkoma's postgres and now you're getting timeouts</summary> - <p> - It might need a reindex. Use <code>psql</code> to connect - to the database and run <code>REINDEX DATABASE akkoma;</code>. - This might take awhile. - </p> -</details> -<hr/> -<p> -Recently I went about trying to get the services running on -my VPS to be happy in a gig of RAM. I did not achieve this, -but I found a solution that worked nearly as well. -</p> -<p> -I wanted to try to scale my VPS, on the "Linode 4GB" plan, back down to a Nanode. It -started it's life as a Nanode but Akkoma - well, Pleroma then - -was greatly displeased with this and pegged my CPU at 100%. Since -my CPU usage lately peaks at 30% and averages 18%, this no longer -seems to be the case. -</p> -<p> -To re-nanode, I had to fit in 1G of memory. -I managed to shave the 110M I needed -by asking <code>systemd-journald</code> to stop using 80M of memory -<i>(it seemed to ignore my 10M plea, but it dropped by 30M so whatever)</i>, -telling Postgres to max use 100M, and disabling things that -I as not actively using anymore. -</p> -<p> -I didn't specifically want to learn the ins-and-outs of Postgres -performance tuning, so I used <a href="https://pgtune.leopard.in.ua/">pgtune</a> -to give me the right config lines for 100M. It worked well! -</p> -<p> -This was all for naught, though, because I couldn't get my -disk to fit under 25G, which was also a requirement of nanodeisation that I'd -forgotten about. The database itself was 9.9G! You can -<a href="https://docs.akkoma.dev/stable/administration/CLI_tasks/database/#prune-old-remote-posts-from-the-database">Prune old remote posts</a> -but I didn't really want to do that yet. It seems like the right -way to go, but I had one more trick. -</p> -<h2 id="two-of-them">Two of Them?</h2> -<p> -I have to keep a separate VPS around for another thing, and it gets -half a percent of CPU usage, which is... not a lot. All it does is serve -a single-page static site through Nginx. I could almost -certainly put this on the same server as all my things, but -I like having the separation. -</p> -<p> -This does mean that I pay for almost an entire Nanode to do -very nearly nothing. -</p> -<p> -By putting Postgres on it I'd lose the different-machine aspect -of the separation, but gain so much disk space and memory. The -single-page-static is still on a separate public IP which is -good enough for me! -</p> -<h3 id="setup-postgres">Postgres Migration</h3> -<i>(more of a recount of events than a guide, but written guidlike? just pay mind to the commands and you'll be fine)</i> -<p> -Install Postgres on the new server. It doesn't have to be the -same major version since we're going to dump and restore the -database which is -<a href="https://www.postgresql.org/docs/current/upgrading.html">the recommended upgrade method anyway</a>. -Don't forget to run <code>initdb</code> and give your data -directory with the <code>-D</code> flag. Run it under the -postgres user. -</p> -<p> -Now create the database and role that you'll use. In my experience -these have to match the database you're migrating from. I followed -the <a href="https://docs.akkoma.dev/stable/administration/backup/#restoremove">Akkoma database restore/move</a> -docs and ended up using psql, again under the postgres user, to run -<code>CREATE USER akkoma WITH ENCRYPTED PASSWORD '&lt;database-password&gt;';</code> and -<code>CREATE DATABASE akkoma OWNER akkoma;</code>. <i>(well, i replaced akkoma with pleroma and later used alter queries to change them, but that's because my database is old)</i> -</p> -<p> -After that was ready, I used my firewall of choice (ufw) to -allow the servers to talk using their private IPs <i>(yay same datacenter)</i>. After that was done, I ran -this command <code>pg_dump -U akkoma -C akkoma | ssh dynamo "sudo psql -U akkoma -d akkoma"</code> -and waited. -<i>dynamo</i> being the host of the new postgres server and owner of a spot in my .ssh/config. -</p> -<p> -A Note:<br/> -you can directly do <code>pg_dump ... | psql ...</code> but the Postgres upgrade -docs say you need to use the new psql version to upgrade, and the old server was missing that -binary. Instead of seeing if psql 13 would work or if I could get psql 15 working there, I -pipped it over ssh. -</p> -<p> -It completed quicker than I thought, the command only took 21 minutes!, and all seemed well. -</p> -<h3 id="all-was-not-well">All Was Not Well</h3> -<p> -First, to prevent Akkoma from receiving activites that may -be lost if I have to revert, I disallowed everything on 80/443 -except to my own IP so I could see if the web interface was working. -Yeah my website'd be down for a bit but it was whatever. <i>(i think i could've - edited the nginx config to the same effect, but this was easier)</i> -</p> -<p> -I edited my <code>/etc/pleroma/config.exs</code> to point -to the new postgres server and started Akkoma, but new-Postgres didn't -see a connection? Oh, I edited the wrong config and it was still -connecting to the local Postgres. -</p> -<p> -I deleted <code>/etc/pleroma</code>, so I'd stop getting confused by -it, and edited the <i>correct</i> file: <code>/opt/pleroma/config/prod.secret.exs</code> -<i>(this is because I'm a From Source install)</i>. -</p> -<p> -Aaaand it didn't work. Turns out it was trying to connect to it's own private IP -because copy-paste can be hard sometimes. Glad I stopped old-Postgres. -</p> -<p> -Fixing that, I finally saw connections on the other machine. New problem: Akkoma -timesout the query after 15000ms (15 seconds) because it was taking too long. what? -and nothing is loading? ahhh. -</p> -<p> -per the Akkoma docs from earlier, I ran some commands to try and cleanup -the database. I'm a -From Source install, so I can <code>mix pleroma.database vacuum analyze</code> -which did <i>not help</i> so I tried it again with <code>full</code> instead -of <code>analyze</code>. This also did not help. -</p> -<p> -I think what I was looking for was Akkoma to throw a fit as evidence that -something weird happened during the transfer, but nothing went wrong. -</p> -<p> -So I was out of ideas. I am a Postgres novice and I'm out of luck. What -does someone like me do when out of luck? Past the error into Google of course! -Maybe I should've done that from the start, right, but I don't get -many results for Akkoma or Pleroma normally. -</p> -<p> -So to google I went! And pasted <q>timed out because it queued and checked out the connection for longer than 15000ms</q> -</p> -<p> -and then I read -<a href="https://elixirforum.com/t/timed-out-because-it-queued-and-checked-out-the-connection-for-longer-than-15000ms/34793/4">a comment from al2o3cr</a> that said: -</p> -<blockquote> - <p>Usually that's an indication of database issues, from missing indexes to queries that need optimization.</p> -</blockquote> -<p> -"Missing indexes" there caught my eye. It made a lot of sense to me. It's -taking so long because it's either digging through the 2.5 million activities -in the database, or it's trying to reindex the thing <i>(both?)</i>. A quick -google later and I ran <code>REINDEX akkoma;</code> from psql which literally -fixed all of my problems. -</p> -<p> -That's it! take care and don't forget to reindex after your migration. -</p> - </content> - </entry> - -</feed> \ No newline at end of file diff --git a/served/words/statement-of-intent.html b/served/words/statement-of-intent.html new file mode 100644 index 0000000..58c06f6 --- /dev/null +++ b/served/words/statement-of-intent.html @@ -0,0 +1,6 @@ +--- +template=post +title=Introduction! And Statement of Intent +style=/styles/post.css +style=writing.css +--- \ No newline at end of file diff --git a/served/words/weeknotes/weeknotes-14.html b/served/words/weeknotes/weeknotes-14.html new file mode 100644 index 0000000..ec60443 --- /dev/null +++ b/served/words/weeknotes/weeknotes-14.html @@ -0,0 +1,53 @@ +--- +template=post +title=Weeknotes 14 +style=/styles/post.css +style=../writing.css +path-offset=1 + +weeknote=14 +published=2024-04-13 03:30 +updated=2024-04-13 04:11 +--- + +weeknotes? weeknotes! they're like little status updates. slices of life? a +diary in short, small, broad chunks. + +I really like reading <a href="https://nonnullish.pages.dev/weeknotes/">Nika's weeknotes</a> +and her post <a href="https://nonnullish.pages.dev/posts/about-weeknotes/">About Weeknotes</a>. +The way I display mine in <a href="/words">words/</a> is directly inspired by +the way she does it, too. + +I've been wanting to start writing more <i>(for a long time,,,)</i> and I think +weeknotes will be a good way to start a routine of it. I very much enjoy that +it seems in the spirit of weeknotes to write only one or two sentences if you +truly did not do much. It feels warm and welcoming. Plus maybe now I can start +to remember what I do with my time :3 + +<hr /> + +hello and happy weeknotes. + +I opened my first merge request at work this week! I work as a NOC Tech +(Network Operations Center Technician) but, due to the shift I work being fairly +not-much-happens, they gave me access to work on some code. The project I was +given is in Python, which I know very-not-well, so I had a reason to learn it +more and I've been enjoying exploring a new language. I haven't done it in +awhile! The MR seems to be going well, too, which is a relief. + +Other than that the only other thing, really, is weeknotery! And a touch of work +on a personal project I'll talk about more next week ;) + +I'm still mulling over domain names. I've been thinking of medley.garden or +octavia.place. I went ahead and got octavia for a year after convincing from a +friend, but I'm still thinking about medley which maybe means I should go with +that and let octavia expire. + +<hr /> + + +I'm going to aim to publish them on Sunday in the early morning, but won't kick +myself if I'm late by a day or two. It's currently early Saturday Which makes +this one ~6 days late :) + +It'll be alright. \ No newline at end of file diff --git a/served/words/weeknotes/weeknotes-15.html b/served/words/weeknotes/weeknotes-15.html new file mode 100644 index 0000000..7453d99 --- /dev/null +++ b/served/words/weeknotes/weeknotes-15.html @@ -0,0 +1,19 @@ +--- +template=post +title=Weeknotes 15 +style=/styles/post.css +style=../writing.css +path-offset=1 + +weeknote=15 +#published=2024-04-13 03:30 +#updated=2024-04-13 04:11 +--- + +worked on awake a little bit :) + +parser-combinator kind of date parsing + +atom feed generation :) + +birthday was this week :) \ No newline at end of file diff --git a/served/words/words.css b/served/words/words.css new file mode 100644 index 0000000..a49477d --- /dev/null +++ b/served/words/words.css @@ -0,0 +1,38 @@ +div { + display: grid; + grid-template-columns: 2fr 1fr; +} + +#weeknotes-section { + grid-column: 2 / 3; +} + +#written { + grid-row: 1; + grid-column: 1 / 2; +} + +#weeknotes-list { + padding: 0; + margin: 0; + display: flex; + flex-direction: row; + column-gap: 1rem; + list-style: none; + flex-wrap: wrap; +} + +h2 { + margin: 0 0 1rem 0; +} + +#weeknotes { + margin: 0; +} + +@media (max-width: 30rem) { + div { + display: flex; + flex-direction: column; + } +} \ No newline at end of file diff --git a/served/words/words.html b/served/words/words.html index c33515d..35917dd 100644 --- a/served/words/words.html +++ b/served/words/words.html @@ -2,15 +2,31 @@ template=post title=Writing style=/styles/post.css +style=words.css --- -If I write about tech things, you'll be able to find those things here. +Writing is so much easier than speaking. Things I write will appear here most +likely. Unless they feel more poetic in which case they'll probably be in the +<a href="/bits">bits</a>. The writing is part of the website <a href="/atom.xml">Atom Feed</a>. -<section class="written" style="clear: both;"> - <a href="akkoma-postgres-migration.html">Akkoma Postgres Migration</a> - <p> - A retelling of how I migrated my Akkoma instance's Postgres database and the troubles I faced. - </p> -</section> +[@paragraphs off] +<div> + <section id="weeknotes-section"> + <h2 id="weeknotes">weeknotes</h2> + <ul id="weeknotes-list"> + <li><a href="weeknotes/weeknotes-14.html">14</a></li> + <li>apr</li> + <li>mar</li> + <li>feb</li> + <li>jan</li> + <li>2024</li> + </ul> + </section> + + <section id="written"> + <h2>technical writings;<br>project updates</h2> + <a href="akkoma-postgres-migration.html">Akkoma Postgres Migration</a> + </section> +</div> \ No newline at end of file diff --git a/served/words/writing.css b/served/words/writing.css index 6056768..fbc5050 100644 --- a/served/words/writing.css +++ b/served/words/writing.css @@ -1,4 +1,7 @@ -h2, h3, h4, h5 { +h2, +h3, +h4, +h5 { margin-top: 32px; } @@ -49,6 +52,19 @@ q { padding: 4px; } -q::before, q::after { +q::before, +q::after { content: none; } + +main a { + color: var(--text-link); +} + +main a:visited { + color: var(--text-link-visited); +} + +.writing { + line-height: 1.65; +} \ No newline at end of file |