From 588919965350beefc08d8e382de727eb21295b0a Mon Sep 17 00:00:00 2001 From: gennyble Date: Wed, 13 Mar 2024 05:32:02 -0500 Subject: march 13th, 2024 this is what was published on the 10th, here. https://amble.quest/notice/AfhzCKhLrynnNg5Qsi --- .gitignore | 15 ++ .times | 114 +++++++++++++- readme.md | 6 +- served/bits/bits.css | 17 +++ served/bits/bits.html | 48 ++++++ served/bits/poem.css | 14 ++ served/bits/ramen-bowl.html | 25 ++++ served/bits/scrap/scrap.css | 73 +++++++++ served/bits/scrap/scrap.html | 95 ++++++++++++ served/bits/smoems.html | 60 ++++++++ served/bits/touching-grass/grass.vtt | 5 + served/bits/touching-grass/touching-grass.css | 45 ++++++ served/bits/touching-grass/touching-grass.html | 80 ++++++++++ served/colorsquash/colorsquash.html | 94 ++++++++++++ served/home.html | 66 +++++++++ served/styles/common.css | 65 ++++++++ served/styles/home.css | 147 +++++++++++++++++++ served/styles/post.css | 5 + served/things/sillygifs/sillygifs.css | 22 +++ served/things/sillygifs/sillygifs.html | 57 +++++++ served/things/things.html | 9 ++ served/words/akkoma-postgres-migration.html | 156 ++++++++++++++++++++ served/words/atom.xml | 196 +++++++++++++++++++++++++ served/words/words.html | 16 ++ served/words/writing.css | 54 +++++++ support/.times | 5 + support/atom.conf | 87 +++++++++++ support/atom.xml | 30 ++++ support/keeplinks | 2 + support/redirects | 45 ++++++ templates/base.html | 25 ++++ templates/minimal.html | 3 + templates/post.html | 11 ++ 33 files changed, 1686 insertions(+), 6 deletions(-) create mode 100644 .gitignore create mode 100644 served/bits/bits.css create mode 100644 served/bits/bits.html create mode 100644 served/bits/poem.css create mode 100644 served/bits/ramen-bowl.html create mode 100644 served/bits/scrap/scrap.css create mode 100644 served/bits/scrap/scrap.html create mode 100644 served/bits/smoems.html create mode 100644 served/bits/touching-grass/grass.vtt create mode 100644 served/bits/touching-grass/touching-grass.css create mode 100644 served/bits/touching-grass/touching-grass.html create mode 100644 served/colorsquash/colorsquash.html create mode 100644 served/home.html create mode 100644 served/styles/common.css create mode 100644 served/styles/home.css create mode 100644 served/styles/post.css create mode 100644 served/things/sillygifs/sillygifs.css create mode 100644 served/things/sillygifs/sillygifs.html create mode 100644 served/things/things.html create mode 100644 served/words/akkoma-postgres-migration.html create mode 100644 served/words/atom.xml create mode 100644 served/words/words.html create mode 100644 served/words/writing.css create mode 100644 support/.times create mode 100644 support/atom.conf create mode 100644 support/atom.xml create mode 100644 support/keeplinks create mode 100644 support/redirects create mode 100644 templates/base.html create mode 100644 templates/minimal.html create mode 100644 templates/post.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0ac4c58 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +# image +*.png +*.jpeg +*.jpg +*.gif + +# video +*.mp4 + +# program archives +*.tar.gz +*.zip + +# macos please +.DS_Store diff --git a/.times b/.times index 2a7d36b..94e2c78 100644 --- a/.times +++ b/.times @@ -1,5 +1,109 @@ -,1701572006,1701572898,1701572898 -.times-ignore,1701572836,1701572840,1701572840 -.times,1701572898,1701573742,1701573729 -readme.md,1701572410,1701573718,1701573720 -updateTimes.sh,1701572592,1701572893,1701572898 +,1708577754,1710325922,1710325922 +.times-ignore,1708577774,1708577778,1710323505 +readme.md,1708577774,1708577778,1710323667 +.gitignore,1710323648,1710325679,1710325679 +updateTimes.sh,1708577774,1708577778,1710323505 +.times,1710325922,1710326012,1710326002 +templates,1708577778,1709378595,1710323505 +templates/minimal.html,1708593912,1708593919,1710323668 +templates/base.html,1708577778,1709459819,1710323668 +templates/post.html,1708577778,1709194328,1710323668 +support,1709310518,1709368202,1710323505 +support/keeplinks,1708577774,1708577778,1710323668 +support/atom.xml,1709368202,1709463716,1710323668 +support/redirects,1708577774,1708577778,1710323668 +support/.times,1708577774,1708577778,1710323668 +support/atom.conf,1709365138,1709463236,1710323668 +served,1708577778,1710067376,1710323505 +served/.DS_Store,1708577778,1708577778,1710323667 +served/home.html,1708592892,1709310292,1710323668 +served/valid-atom.png,1709295369,1709295369,1710067421 +served/colorsquash,1710067376,1710067376,1710323505 +served/colorsquash/astro_squash.gif,1710067376,1710067376,1710067433 +served/colorsquash/colorsquash.html,1710067376,1710067471,1710323668 +served/colorsquash/astro.jpg,1710067376,1710067376,1710067433 +served/colorsquash/v0.1.0,1710067376,1710067376,1710323505 +served/colorsquash/v0.1.0/squash-v0.1.0_windows-x64.zip,1710067376,1710067376,1710323668 +served/colorsquash/v0.1.0/squash-v0.1.0_macos-x64.tar.gz,1710067376,1710067376,1710323668 +served/colorsquash/v0.1.0/squash-v0.1.0_linux-aarch64.tar.gz,1710067376,1710067376,1710323668 +served/colorsquash/v0.1.0/squash-v0.1.0_macos-aarch64.tar.gz,1710067376,1710067376,1710323668 +served/colorsquash/v0.1.0/squash-v0.1.0_linux-x64.tar.gz,1710067376,1710067376,1710323668 +served/styles,1708596940,1709378278,1710323505 +served/styles/post.css,1708602873,1709309810,1710323668 +served/styles/common.css,1708596949,1709310038,1710323668 +served/styles/home.css,1708597104,1709310339,1710323668 +served/bits,1709300635,1710067313,1710323505 +served/bits/poem.css,1709308669,1709308779,1710323667 +served/bits/bits.css,1709298688,1709309896,1710323667 +served/bits/ramen-bowl.html,1709308573,1709458561,1710323667 +served/bits/bits.html,1709297468,1709310176,1710323667 +served/bits/smoems.html,1708770789,1709461948,1710323667 +served/bits/touching-grass,1708602527,1708602571,1710323505 +served/bits/touching-grass/grass_720p.mp4,1708602542,1708602542,1710323668 +served/bits/touching-grass/grass.mp4,1708602542,1708602542,1710323667 +served/bits/touching-grass/grass_poster_alternate.jpg,1708602542,1708602542,1710070052 +served/bits/touching-grass/grass.vtt,1708602542,1708602542,1710323668 +served/bits/touching-grass/touching-grass.css,1708602571,1708605900,1710323668 +served/bits/touching-grass/grass_poster.jpg,1708602542,1708602542,1710070052 +served/bits/touching-grass/touching-grass.html,1708602542,1709463806,1710323668 +served/bits/scrap,1708608052,1708608183,1710323505 +served/bits/scrap/.DS_Store,1708608052,1708608052,1710323667 +served/bits/scrap/scrap.html,1708608052,1709463297,1710323667 +served/bits/scrap/scrap.css,1708608183,1708657179,1710323667 +served/bits/scrap/aeropostale-prehistory,1708608052,1708608052,1710323505 +served/bits/scrap/aeropostale-prehistory/dramatic.jpg,1708608052,1708608052,1710070035 +served/bits/scrap/aeropostale-prehistory/close_bottom.jpg,1708608052,1708608052,1710070034 +served/bits/scrap/aeropostale-prehistory/dramatic_third.jpg,1708608052,1708608052,1710067506 +served/bits/scrap/aeropostale-prehistory/20230915_145424.jpg,1708608052,1708608052,1710070034 +served/bits/scrap/aeropostale-prehistory/20230915_145454.jpg,1708608052,1708608052,1710070034 +served/bits/scrap/wrench-2023-08-07,1708608052,1708608052,1710323505 +served/bits/scrap/wrench-2023-08-07/wrench_third.jpg,1708608052,1708608052,1710067510 +served/bits/scrap/wrench-2023-08-07/wrench.jpg,1708608052,1708608052,1710070045 +served/bits/scrap/grace-prehistory,1708608052,1708608052,1710323505 +served/bits/scrap/grace-prehistory/top.jpg,1708608052,1708608052,1710070044 +served/bits/scrap/grace-prehistory/top_third.jpg,1708608052,1708608052,1710067510 +served/bits/scrap/grace-prehistory/testchart_quarter.jpg,1708608052,1708608052,1710067510 +served/bits/scrap/grace-prehistory/20230915_152526.jpg,1708608052,1708608052,1710070036 +served/bits/scrap/grace-prehistory/testchart.jpg,1708608052,1708608052,1710070044 +served/bits/scrap/grace-prehistory/20230915_152620.jpg,1708608052,1708608052,1710070041 +served/things,1709294898,1709311271,1710323505 +served/things/things.html,1709311271,1709311581,1710323668 +served/things/sillygifs,1708605998,1708606021,1710323505 +served/things/sillygifs/1000.gif,1708605998,1708605998,1710070061 +served/things/sillygifs/sillygifs.css,1708606021,1708763451,1710323668 +served/things/sillygifs/1_000_000.gif,1708605998,1708605998,1710070099 +served/things/sillygifs/sillygifs.html,1708605998,1708763356,1710323668 +served/things/sillygifs/100.gif,1708605998,1708605998,1710070061 +served/things/sillygifs/0123456789.gif,1708605998,1708605998,1710070061 +served/things/sillygifs/100_000.gif,1708605998,1708605998,1710070062 +served/things/sillygifs/10_000.gif,1708605998,1708605998,1710070096 +served/words,1708677141,1709378278,1710323505 +served/words/akkoma-postgres-migration.html,1708677164,1709458342,1710323668 +served/words/writing.css,1708678138,1709378432,1710323668 +served/words/words.html,1708677164,1709201376,1710323668 +served/words/atom.xml,1709368798,1709463814,1710323668 +served/faces,1708577778,1708605123,1710323505 +served/faces/.DS_Store,1708577778,1708577778,1710323668 +served/faces/seeing double,1708577778,1708577778,1710323505 +served/faces/seeing double/.DS_Store,1708577778,1708577778,1710323668 +served/faces/seeing double/sidwalk_closed.jpg,1708577778,1708577778,1710070058 +served/faces/seeing double/sidwalk_closed_1000p.jpg,1708577778,1708577778,1710070059 +served/faces/seeing double/face.jpg,1708577778,1708577778,1710070058 +served/faces/oct23,1708577778,1708577778,1710323505 +served/faces/oct23/.DS_Store,1708577778,1708577778,1710323668 +served/faces/oct23/spoon.jpg,1708577778,1708577778,1710070058 +served/faces/oct23/spoon_contrasted.jpg,1708577778,1708577778,1710070058 +served/faces/oct23/lights_banner.jpg,1708577778,1708577778,1710070058 +served/faces/oct23/lights.jpg,1708577778,1708577778,1710070057 +served/faces/medley mélange,1708577778,1708577778,1710323505 +served/faces/medley mélange/face_3fourths.jpg,1708577778,1708577778,1710070057 +served/faces/medley mélange/face.jpg,1708577778,1708577778,1710070057 +served/faces/medley mélange/background.jpg,1708577778,1708577778,1710070055 +served/faces/medley mélange/background_weird.jpg,1708577778,1708577778,1710070057 +served/faces/triblur,1708577778,1708577778,1710323505 +served/faces/triblur/.DS_Store,1708577778,1708577778,1710323668 +served/faces/triblur/triblur_2by3.png,1708577778,1708577778,1710070059 +served/faces/triblur/triblur_94.gif,1708577778,1708577778,1710067421 +served/faces/triblur/triblur.png,1708577778,1708577778,1710070059 +served/faces/triblur/trichrideo.png,1708577778,1708577778,1710070059 +served/faces/triblur/triblur_94.png,1708577778,1708577778,1710070059 diff --git a/readme.md b/readme.md index c0756ad..eea8f51 100644 --- a/readme.md +++ b/readme.md @@ -6,4 +6,8 @@ this is my, gennyble's, website. and a few associated files. i will try not to stress too much on the small things. -i kill so many links i do not like this. \ No newline at end of file +i kill so many links i do not like this. + +### files, files! +*`faces/`* + for internet faces throughout the times. organized loosly as directories of face-editions. diff --git a/served/bits/bits.css b/served/bits/bits.css new file mode 100644 index 0000000..5e3000f --- /dev/null +++ b/served/bits/bits.css @@ -0,0 +1,17 @@ +.list { + list-style-position: inside; + margin: 0; + padding: 0; +} + +#two-up { + display: flex; + flex-direction: row; + flex-wrap: wrap; + column-gap: 1rem; +} + +#two-up :nth-child(n) { + flex: 1 0 calc(var(--page-width) / 2 - 1rem); + max-width: 20rem; +} \ No newline at end of file diff --git a/served/bits/bits.html b/served/bits/bits.html new file mode 100644 index 0000000..0d94eec --- /dev/null +++ b/served/bits/bits.html @@ -0,0 +1,48 @@ +--- +template=post +title=Bits +style=/styles/post.css +style=poem.css +style=bits.css +--- +[@paragraphs off] +

+ Bits of my world presented as photos, poetry, or prose. +

+ +
    +
  1. ramen-bowl.html — a poem about my ramen noodel bowl
  2. +
  3. touching-grass.html — a short video with an exciteable description
  4. +
  5. smoems.html — transplanted poems from twitter
  6. +
+ +
+
+

scrap/

+ +

+ bits of usually-metal that I find while walking around (or really just + happen upon). Collected and + photographed for your viewing pleasure :D +

+
+ +
+

Ramen Bowl

+
+once daily, perchance twice
+i will have a ramen.
+flavoured beef, maybe chicken.
+
+in it goes tabasco, paprika.
+the packet of course.
+
+to wash the bowl takes so much.
+i do not wash the bowl.
+
+my ramens own a bowl.
+collecting flavour of the past!
+for the future now.
+	
+
+
\ No newline at end of file diff --git a/served/bits/poem.css b/served/bits/poem.css new file mode 100644 index 0000000..9acade9 --- /dev/null +++ b/served/bits/poem.css @@ -0,0 +1,14 @@ +summary { + font-size: 2rem; +} + +pre { + width: 100%; + white-space: break-spaces; + font-family: sans-serif; +} + +pre.stacked { + border-top: 1px dashed var(--text-dim); + padding-top: 24px; +} \ No newline at end of file diff --git a/served/bits/ramen-bowl.html b/served/bits/ramen-bowl.html new file mode 100644 index 0000000..1820f74 --- /dev/null +++ b/served/bits/ramen-bowl.html @@ -0,0 +1,25 @@ +--- +template=post +title=Ramen Bowl +style=/styles/post.css +style=poem.css +publish=December 21st, 2023 +#Category poetry +#Tags writing +--- +[@paragraphs off] +
+once daily, perchance twice
+i will have a ramen.
+flavoured beef, maybe chicken.
+
+in it goes tabasco, paprika.
+the packet of course.
+
+to wash the bowl takes so much.
+i do not wash the bowl.
+
+my ramens own a bowl.
+collecting flavour of the past!
+for the future now.
+
\ No newline at end of file diff --git a/served/bits/scrap/scrap.css b/served/bits/scrap/scrap.css new file mode 100644 index 0000000..c863c7b --- /dev/null +++ b/served/bits/scrap/scrap.css @@ -0,0 +1,73 @@ +/* wide */ +@media (min-width: 44rem) { + .left { + float: left; + width: 50%; + margin: 0 16px 16px 0; + } + + .right { + float: right; + width: 50%; + margin: 0 0 16px 16px; + } + + .smright { + float: right; + width: 25%; + margin: 0 0 16px 16px; + } +} + +/* narrow */ +@media (max-width: 44rem) { + + .left, + .right { + display: block; + margin: 8px auto 16px auto; + width: min(50vh, 100%); + } + + .smright { + float: right; + width: 96px; + margin: 0 0 16px 16px; + } +} + +article { + overflow-y: auto; +} + +article>header { + display: flex; + flex-direction: row; + gap: 16px; + padding-bottom: 8px; + align-items: center; +} + +header>h2 { + margin: 0; +} + +header>time, +header>p { + color: var(--text-dim); + height: min-content; +} + +header>p { + font-style: italic; + margin: 0; +} + +article>p { + margin-top: 0; + margin-bottom: 16px; +} + +article>p:last-of-type { + margin-bottom: inherit; +} \ No newline at end of file diff --git a/served/bits/scrap/scrap.html b/served/bits/scrap/scrap.html new file mode 100644 index 0000000..0bf68ad --- /dev/null +++ b/served/bits/scrap/scrap.html @@ -0,0 +1,95 @@ +--- +template=post +title=Scrap +style=scrap.css +style=/styles/post.css +--- +[@paragraphs off] + +

+ I walk around a lot. Quite a bit, really! And I tend to notice weird little bits on the ground. + I pick these things up and cherish them. + And I'll catalog them here. My good little bits of scrap :D +

+ +
+
+

Wrench

+ +
+ + a half-inch wrench sitting on an open palm. +

+ look at my wrench! I found it in a crack! Where a parking-lot-blacktop met the concrete transition + from the road. I'm quite surprised I saw it; It was very well hidden. While I was + walking over it I noticed a glimmer, kept walking, and then double-took with a + sort of "what was that?" And there it was! +

+

+ It's of the half-inch variety, a crescent on one end and a box-head the other. Oh, it's just so good! A proper + spanner! This find elates me so. +

+
+ + + + + + prehistory + + +
+
+

Belt Buckle

+

time forgotten

+
+ + a belt buckle branded Aeropostale in cursive, stylized writing sitting on bricks. +

+ This little guy I found next to a brick, industrial building in Bensenville, Illinois. I was + very excited to find it! It's a belt buckle! That's so weird! How was it separated from + it's lengthy leather companion? +

+

+ The body of the buckle seems to be some kind of stainless steel, but I can't be sure. It + has "Aéropostale" written on the frame where you might thread the belt material through. + The branding appears to be cast into it. The bar is very rusty and I would guess is a kind + of mild steel. +

+
+ +
+
+

Grace

+ +
+ + a small, metal placard with the word grace written on it haphazardly in varying tones of grey. there is a color test chart in the top-left corner. +

+ I found this walking through an under-construction bike path. It was mysteriously lying in a mound of dirt along + the path. +

+

+ The metal feels lighter than steel and it's not magnetic; it might be made of aluminum? The writing feels rough. + I think + it's an etching or engraving. +

+ The top-left corner of the placard cropped on the colour chart +

+ The little colour test chart is very interesting. Along the top it's labelled A through D + and the side 1 through 6. Only sixteen of the positions appear to have a colour. Most are + shades of yellow or grey. A-2 is a very nice blue, C-5 a pleasing pink. They get darker as + the rows go down, the sixth being too dark to make out much hue. +

+
+ +

i have lots more prehistory to add as i go through my + little box and take photos

\ No newline at end of file diff --git a/served/bits/smoems.html b/served/bits/smoems.html new file mode 100644 index 0000000..2c52476 --- /dev/null +++ b/served/bits/smoems.html @@ -0,0 +1,60 @@ +--- +template=post +title=Small Poems +style=/styles/post.css +style=poem.css +publish=June 16th, 2023 +#Category poetry +#Tags writing +--- +[@paragraphs off] +

+ small poems; here they are! i posted most of them before to twitter, but that's for the birds. +

+ +
+ + + +
+too much walking
+made these feet real sore.
+but the stillness was mocking
+so i did a little more.
+
+just now a dull ache
+as 've worn away the pain
+we now all understand
+in stillness, there's no gain
+
+ +
+ + + +
+i went for a walk tonight but
+	i walked too fast;
+i jogged down the middle of the street and
+	took a stride too big;
+i ran with arms pumping much too hard; i sprinted and
+i lost
+my legs.
+my breath
+left me.
+i hovered—
+i flew.
+
+ +
+ + +
+in which she drank two monster
+(and ten ounces coffee)
+in which she looks for her w-2.
+(well, is supposed to be).
+in which she's lost track of time
+(and her place therein).
+in which she types to you from her car.
+
\ No newline at end of file diff --git a/served/bits/touching-grass/grass.vtt b/served/bits/touching-grass/grass.vtt new file mode 100644 index 0000000..c77f0c3 --- /dev/null +++ b/served/bits/touching-grass/grass.vtt @@ -0,0 +1,5 @@ +WEBVTT + +1 +00:00:01.250 --> 00:00:02.750 line:85% +[grass ripping] \ No newline at end of file diff --git a/served/bits/touching-grass/touching-grass.css b/served/bits/touching-grass/touching-grass.css new file mode 100644 index 0000000..765d1ea --- /dev/null +++ b/served/bits/touching-grass/touching-grass.css @@ -0,0 +1,45 @@ +.mark { + color: var(--color-a); + cursor: pointer; +} + +.mark:before, +.mark:after { + color: var(--text-dim); +} + +.mark:before { + content: '['; +} + +.mark:after { + content: ']'; +} + +a[download] { + color: var(--color-a-dim); +} + +.small, +a[download] { + font-size: 0.75rem; +} + +ul { + display: flex; + + padding: 0; + margin: 0; + + flex-direction: row; + flex-wrap: wrap; + column-gap: 8px; + + align-items: baseline; + + list-style: none; +} + +#long { + flex-grow: 2; +} \ No newline at end of file diff --git a/served/bits/touching-grass/touching-grass.html b/served/bits/touching-grass/touching-grass.html new file mode 100644 index 0000000..a57cbd2 --- /dev/null +++ b/served/bits/touching-grass/touching-grass.html @@ -0,0 +1,80 @@ +--- +template=post +title=Touching Grass +style=touching-grass.css +style=/styles/post.css +#Publish 2023-07-29 17:46 -0500 +#Category video +#Tags writing +#QuarkedUp +--- +[@paragraphs off] +
+ + +
+ + +[@paragraphs on] + +I took this short video to send to a friend one day and accidentally +made a 106 frame masterpiece. Well, that's hyperbolic, but there's a +lot I enjoy about it. + +[#the-colours] +The contrast between my orange painted nails and the surprisingly +green grass is pretty pleasing. I think the gentle brown of the brick +in the bottom-left corner helps keep from an overwhelming greenery. +Thanks bricks :) + +[#the-composition] +The accidental camera movement is nice, too. I like the angle the camera is at and the way it wobbles. +It's clearly hand-held. At 1.3-ish-seconds +you can see I gently sway forward, but seem to be less wobbly. I'm braced; +I'm stable! I have-three-points-of-contact-with-the-ground! Then, at roughly +2 seconds when the grass finally +yields, I get rocked back and wobbles resume. + +[#the-sound] +The sound! And the sound. The ripping of the grass. That planty matter finally giving way. The fibrous tearing. +I just like it; I enjoy it! I greatly appreciate it. diff --git a/served/colorsquash/colorsquash.html b/served/colorsquash/colorsquash.html new file mode 100644 index 0000000..982eeb6 --- /dev/null +++ b/served/colorsquash/colorsquash.html @@ -0,0 +1,94 @@ +--- +template=post +title=Colorsquash +--- +[@paragraphs off] + + + +
+
+ a small dog laying on a concrete floor in an industrial building +
24bit rgb
+
+ +
+ the same image in 256 color. there are some visual differences, but the two images look very similar +
256 color indexed
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
PlatformSize
Windows x64295K
Linux x641.3M
Linux aarch641.3M
MacOS x64444K
MacOS ARM436K
+ +

+ GitHub's alright, but I think it'd be neat to host binaries here, too. They're still generated in GitHub's CI for now however. +

+ + \ No newline at end of file diff --git a/served/home.html b/served/home.html new file mode 100644 index 0000000..74f25bf --- /dev/null +++ b/served/home.html @@ -0,0 +1,66 @@ +--- +template=minimal +title=Home | nyble.dev +style=/styles/home.css +--- +[@paragraphs off] +
+ my face in 256 color with red and blue fringing + +
+

Contact~,.

+ +
+
+ +
+
+

Hello,

+

+ I'm genny. I like to write software things.
+ small, intentional tools and multimedia experiments are some of my favourite projects to work on. +

+
+ +
+

sharing images, videos,
bits/ of my world

+
    +
  1. ramen-bowl.html
  2. +
  3. touching-grass.html
  4. +
  5. smoems.html
  6. +
+
+ +
+

— scrap

+

+ dropped things collected: scrap.html +

+

+ last update:
+ - wrench! +

+ +
+
+ +
+ +
+ + + +
    +
  • atoml.xml — subscribe with your feed reader ;)
  • +
  • things/ — projects; creative pursuits; what i work on
  • +
  • words/ — technical writing, project updates, and weeknotes.
  • +
+
+
\ No newline at end of file diff --git a/served/styles/common.css b/served/styles/common.css new file mode 100644 index 0000000..b9c959b --- /dev/null +++ b/served/styles/common.css @@ -0,0 +1,65 @@ +* { + box-sizing: border-box; +} + +:root { + --text: #222; + --text-dim: #444; + --background: #FFF; + --background-dim: #F8F0F0; + --color-a: rgb(11, 113, 126); + --color-a-dim: rgb(7, 80, 90); +} + +@media (prefers-color-scheme: dark) { + :root { + --text: #eee; + --text-dim: #bbb; + --background: #001; + --background-dim: #222; + --color-a: #3a8; + --color-a-dim: rgb(158, 228, 208); + } +} + +html, +body { + padding: 0; + margin: 0; +} + +body { + font-size: 1.1rem; + line-height: 1.4; + font-family: sans-serif; + padding: 2rem 5vw; + + color: var(--text); + background-color: var(--background); +} + +a { + color: var(--color-a); +} + +h1, +h2, +h3 { + font-family: serif; +} + +#nav-access { + /* shove it above the page and make sure it's always on top*/ + position: absolute; + top: -20rem; + left: 0; + width: 100%; + z-index: 1000000; + + text-align: center; + font-size: 2rem; + list-style: none; + padding: 0; + margin: 0; + overflow: hidden; +} \ No newline at end of file diff --git a/served/styles/home.css b/served/styles/home.css new file mode 100644 index 0000000..64c534b --- /dev/null +++ b/served/styles/home.css @@ -0,0 +1,147 @@ +body { + padding-top: 4rem; + padding-bottom: 4rem; +} + +main, +header { + max-width: 35rem; + margin: 0 auto; +} + +header { + display: flex; + justify-content: space-between; + flex-wrap: wrap; + row-gap: 1rem; +} + +header img { + width: 96px; + height: 96px; + margin-top: 1.5em; +} + +#contact a { + text-decoration: none; + color: var(--color-a); + border-bottom: none; +} + +#contact ul { + line-height: normal; + list-style: none; + padding: 0; + margin: 0; +} + +#contact h2 { + margin: 0; +} + +#greeting { + flex: 1 0 15rem; +} + +#greeting h1 { + margin-top: 0; +} + +.thing-list { + padding: 0.5rem 0; + margin: 0; + list-style-position: inside; +} + +ul.thing-list { + padding: 0; + list-style: none; +} + +section h2 { + margin: 0; +} + +ol, +ul.thing-list { + line-height: 1.5; +} + +#scrap { + max-width: 25rem; +} + +@media (min-width: 40rem) { + main { + padding: 1rem 0; + display: grid; + grid-template-columns: 1fr 1fr; + column-gap: 1rem; + row-gap: 0.5rem; + } + + #greeting { + grid-column: 1 / 3; + } + + #greeting p { + max-width: 25rem; + } + + #scrap { + width: 100%; + /* a padding on desktop so it falls below the multimedia heading and + looks like it's kind of part of that section even if maybe it's not */ + padding-top: 2.25rem; + position: relative; + padding-right: 1rem; + } + + #scrap h2 { + display: inline; + margin: 0 0.5rem 0 0; + } + + /* tried https://stackoverflow.com/a/68283780 but it didn't seem to want + to work for right and bottom at the same time */ + #scrap-halfborder { + position: absolute; + right: 0; + bottom: 0; + + z-index: -1; + width: 50%; + height: 50%; + border: 1px solid var(--text); + border-width: 0px 1px 1px 0px; + } + + #writing-halfborder, + #feed-halfborder { + position: absolute; + left: 0; + top: 0; + + z-index: -1; + width: 25%; + height: min(50%, 2rem); + border: 1px solid var(--text); + border-width: 1px 0 0 1px; + } + + #writing { + padding-left: 1rem; + padding-top: 1rem; + position: relative; + + grid-column: 1 / 3; + } + + #feed { + position: relative; + margin: 1rem 0 0 1rem; + padding: 1rem 0 0 1rem; + width: 15rem; + float: right; + } +} \ No newline at end of file diff --git a/served/styles/post.css b/served/styles/post.css new file mode 100644 index 0000000..5913840 --- /dev/null +++ b/served/styles/post.css @@ -0,0 +1,5 @@ +.sized { + --page-width: 34rem; + max-width: var(--page-width); + margin: 0 auto; +} \ No newline at end of file diff --git a/served/things/sillygifs/sillygifs.css b/served/things/sillygifs/sillygifs.css new file mode 100644 index 0000000..678e292 --- /dev/null +++ b/served/things/sillygifs/sillygifs.css @@ -0,0 +1,22 @@ +table { + margin: 1rem auto; +} + +@media (max-width: 50rem) { + /* Modile target */ + table { + width: 100%; + } +} + +@media (min-width: 50rem) { + /* Desktop target */ + + table { + min-width: 25rem; + } + + td { + margin: 0 1rem; + } +} \ No newline at end of file diff --git a/served/things/sillygifs/sillygifs.html b/served/things/sillygifs/sillygifs.html new file mode 100644 index 0000000..1fe7b85 --- /dev/null +++ b/served/things/sillygifs/sillygifs.html @@ -0,0 +1,57 @@ +--- +template=post +title=Sillygifs +style=sillygifs.css +style=/styles/post.css +#Category gif +--- + +
+ animated gif counting from 0 to 9. the digits are written left to right rather then replacing the previous +
+ +I really like GIFs. As cute little weird things people send to one another, +and as an at-the-time-of-writing 34 year old file format. So I thought I'd make a +few. + +The one that's counting above in an ambery colour is in the font Alarm Clock. +You can find it here: dafont.com/alarm-clock. + +I wanted to make a long gif. A sillily long gif. Something so long that I seriously doubt anyone will let it +play through entirely. Below is a set of five gif that count to different powers of ten with a second +between numbers. They're black and white and are in the Instruction font +(dafont). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileWatch TimeSize
100.gif1m40s48.6KB
1000.gif16m40s478.0KB
10_000.gif2h46m40s4.66MB
100_000.gif1d3h46m40s46.60MB
1_000_000.gif11d13h46m40s466.03MB
\ No newline at end of file diff --git a/served/things/things.html b/served/things/things.html new file mode 100644 index 0000000..a70f20a --- /dev/null +++ b/served/things/things.html @@ -0,0 +1,9 @@ +--- +template=post +title=Things +style=/styles/post.css +#Category gif +--- + +living pages for my projects and their various states of dissary. This section +is not part of the Atom Feed, but project updates published in words/ are. \ No newline at end of file diff --git a/served/words/akkoma-postgres-migration.html b/served/words/akkoma-postgres-migration.html new file mode 100644 index 0000000..e7c804b --- /dev/null +++ b/served/words/akkoma-postgres-migration.html @@ -0,0 +1,156 @@ +--- +template=post +title=Akkoma Postgres Migration +style=/styles/post.css +style=writing.css +#Summary A retelling of how I migrated my Akkoma instance's Postgres database and the troubles I faced. +#Publish 2023-10-18 +--- + +\(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) + +
+ TL;DR; if you migrated your Akkoma's postgres and now you're getting timeouts +

+ It might need a reindex. Use psql to connect + to the database and run REINDEX DATABASE akkoma;. + This might take awhile. +

+
+ +
+ +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. + +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. + +To re-nanode, I had to fit in 1G of memory. +I managed to shave the 110M I needed +by asking systemd-journald to stop using 80M of memory +(it seemed to ignore my 10M plea, but it dropped by 30M so whatever), +telling Postgres to max use 100M, and disabling things that +I as not actively using anymore. + +I didn't specifically want to learn the ins-and-outs of Postgres +performance tuning, so I used pgtune +to give me the right config lines for 100M. It worked well! + +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 +Prune old remote posts +but I didn't really want to do that yet. It seems like the right +way to go, but I had one more trick. + +

Two of Them?

+ +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. + +This does mean that I pay for almost an entire Nanode to do +very nearly nothing. + +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! + +

Postgres Migration

+ +(more of a recount of events than a guide, but written guidlike? just pay mind to the commands and you'll be fine) + +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 +the recommended upgrade method anyway. +Don't forget to run initdb and give your data +directory with the -D flag. Run it under the +postgres user. + +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 Akkoma database restore/move +docs and ended up using psql, again under the postgres user, to run +CREATE USER akkoma WITH ENCRYPTED PASSWORD '<database-password>'; and +CREATE DATABASE akkoma OWNER akkoma;. (well, i replaced akkoma with pleroma and later used alter queries to change them, but that's because my database is old) + +After that was ready, I used my firewall of choice (ufw) to +allow the servers to talk using their private IPs (yay same datacenter). After that was done, I ran +this command pg_dump -U akkoma -C akkoma | ssh dynamo "sudo psql -U akkoma -d akkoma" +and waited. +dynamo being the host of the new postgres server and owner of a spot in my .ssh/config. + +A Note:
+you can directly do pg_dump ... | psql ... 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. + +It completed quicker than I thought, the command only took 21 minutes!, and all seemed well. + +

All Was Not Well

+ +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 think i could've + edited the nginx config to the same effect, but this was easier) + +I edited my /etc/pleroma/config.exs 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. + +I deleted /etc/pleroma, so I'd stop getting confused by +it, and edited the correct file: /opt/pleroma/config/prod.secret.exs +(this is because I'm a From Source install). + +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. + +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. + +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 mix pleroma.database vacuum analyze +which did not help so I tried it again with full instead +of analyze. This also did not help. + +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. + +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. + +So to google I went! And pasted timed out because it queued and checked out the connection for longer than 15000ms + +and then I read +a comment from al2o3cr that said: + +
+

Usually that's an indication of database issues, from missing indexes to queries that need optimization.

+
+ +"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 (both?). A quick +google later and I ran REINDEX akkoma; from psql which literally +fixed all of my problems. + +That's it! take care and don't forget to reindex after your migration. \ No newline at end of file diff --git a/served/words/atom.xml b/served/words/atom.xml new file mode 100644 index 0000000..d8a38d5 --- /dev/null +++ b/served/words/atom.xml @@ -0,0 +1,196 @@ + + + + gennyble's writing + Technical writing; project updates; weeknotes + 2024-03-02T01:42:00-06:00 + + + https://nyble.dev/words/atom.xml + + + gennyble + gen@nyble.dev + + + + + Akkoma Postgres Migration + + https://nyble.dev/atom/writing-1/akkoma-postgres-migration + + 2023-10-18T23:16:00-05:00 + 2023-10-18T23:16:00-05:00 + + +<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> + + + + \ No newline at end of file diff --git a/served/words/words.html b/served/words/words.html new file mode 100644 index 0000000..c33515d --- /dev/null +++ b/served/words/words.html @@ -0,0 +1,16 @@ +--- +template=post +title=Writing +style=/styles/post.css +--- + +If I write about tech things, you'll be able to find those things here. + +The writing is part of the website Atom Feed. + +
+ Akkoma Postgres Migration +

+ A retelling of how I migrated my Akkoma instance's Postgres database and the troubles I faced. +

+
diff --git a/served/words/writing.css b/served/words/writing.css new file mode 100644 index 0000000..6056768 --- /dev/null +++ b/served/words/writing.css @@ -0,0 +1,54 @@ +h2, h3, h4, h5 { + margin-top: 32px; +} + +blockquote { + border-left: 4px solid var(--text); + padding: 8px 8px 8px 12px; + margin: 0 auto; + background-color: var(--background-dim); + color: var(--text); + font-style: italic; +} + +blockquote p { + margin: 0; +} + +code { + background-color: var(--background-dim); +} + +details.tldr { + width: 100%; + margin: 1rem auto; +} + +details.tldr { + color: var(--text-dim); + + padding: 8px; + + border-radius: 8px; + border: 1px dashed var(--text-dim); +} + +details[open].tldr summary { + padding-bottom: 8px; + margin-bottom: 8px; + border-bottom: 1px solid var(--text-dim); +} + +details.tldr p { + margin: 0; +} + +q { + background-color: var(--background-dim); + font-style: italic; + padding: 4px; +} + +q::before, q::after { + content: none; +} diff --git a/support/.times b/support/.times new file mode 100644 index 0000000..2a7d36b --- /dev/null +++ b/support/.times @@ -0,0 +1,5 @@ +,1701572006,1701572898,1701572898 +.times-ignore,1701572836,1701572840,1701572840 +.times,1701572898,1701573742,1701573729 +readme.md,1701572410,1701573718,1701573720 +updateTimes.sh,1701572592,1701572893,1701572898 diff --git a/support/atom.conf b/support/atom.conf new file mode 100644 index 0000000..eea619a --- /dev/null +++ b/support/atom.conf @@ -0,0 +1,87 @@ +Webroot /home/gen/src/inf/served +Template /home/gen/src/inf/support/atom.xml + +Feed words + Output words/atom.xml + + Link https://nyble.dev/words/atom.xml + Id https://nyble.dev/words/atom.xml + + Title gennyble's writing + Subtitle Technical writing; project updates; weeknotes + Updated 2024-03-02T01:42:00-06:00 + Author + Name gennyble + Email gen@nyble.dev + + # Reads the title from the frontmatter + Entry words/akkoma-postgres-migration.html + Link https://nyble.dev/words/akkoma-postgres-migration.html + Id https://nyble.dev/atom/writing-1/akkoma-postgres-migration + + Published 2023-10-18T23:16:00-05:00 + Updated 2023-10-18T23:16:00-05:00 + +Feed bits + Output bits/atom.xml + + Link https://nyble.dev/bits/atom.xml + Id https://nyble.dev/bits/atom.xml + + Title gennyble's creative pursuits + Subtitle Photos; Poetry; Prose + Updated 2024-03-02T01:42:00-06:00 + Author + Name gennyble + Email gen@nyble.dev + + Entry bits/smoems.html + Link https://nyble.dev/bits/smoems.html + Id https://nyble.dev/atom/bits-1/smoems + + Published 2023-07-15T19:59:00-05:00 + Updated 2023-07-15T19:59:00-05:00 + + Entry bits/touching-grass/touching-grass.html + Link https://nyble.dev/bits/touching-grass/ + Id https://nyble.dev/atom/bits-2/touching-grass + + Published 2023-07-29T17:46:00-05:00 + Updated 2023-07-29T17:46:00-05:00 + + Entry bits/scrap/scrap.html + Title scrap: Grace (prehistory) + Part #grace-prehistory + + Link https://nyble.dev/bits/scrap/ + Id https://nyble.dev/atom/bits-3/scrap/grace-prehistory + + Published 2023-09-15T15:26:20-05:00 + Updated 2023-09-15T15:26:20-05:00 + + Entry bits/scrap/scrap.html + Title scrap: Aeropostale (prehistory) + Part #aeropostale-prehistory + + Link https://nyble.dev/bits/scrap/ + Id https://nyble.dev/atom/bits-4/scrap/aeropostale-prehistory + + Published 2023-09-15T15:27:00-05:00 + Updated 2023-09-15T15:27:00-05:00 + + Entry bits/scrap/scrap.html + Title scrap: Wrench! (August 7th, 2023) + Part #wrench_2023-08-07 + + Link https://nyble.dev/bits/scrap/ + Id https://nyble.dev/atom/bits-5/scrap/wrench_2023-08-07 + + Published 2023-09-15T15:30:00-05:00 + Updated 2023-09-15T15:30:00-05:00 + + Entry bits/ramen-bowl.html + Link https://nyble.dev/bits/ramen-bowl.html + Id https://nyble.dev/atom/bits-6/ramen-bowl.html + + Published 2023-12-21T23:00:00-06:00 + Updated 2023-12-21T23:00:00-06:00 \ No newline at end of file diff --git a/support/atom.xml b/support/atom.xml new file mode 100644 index 0000000..a2a1873 --- /dev/null +++ b/support/atom.xml @@ -0,0 +1,30 @@ + + + + {feed_title} + {feed_subtitle} + {feed_updated} + + + {feed_id} + + + {feed_author_name} + {feed_author_email} + + + {%pattern entry} + + {entry_title} + + {entry_id} + + {entry_published} + {entry_updated} + + +{entry_content} + + + {%end} + \ No newline at end of file diff --git a/support/keeplinks b/support/keeplinks new file mode 100644 index 0000000..d669345 --- /dev/null +++ b/support/keeplinks @@ -0,0 +1,2 @@ +sillygifs.html => /sillygifs.html +gif => /gif/ \ No newline at end of file diff --git a/support/redirects b/support/redirects new file mode 100644 index 0000000..81d55eb --- /dev/null +++ b/support/redirects @@ -0,0 +1,45 @@ +sillygifs.html => sillygifs/ + +touching-grass.html => touching-grass/ +smoems.html => smoems/ + +# cohost +/words/gif-selfies-and-color-quantization/pngd_nv12_2.webp +/words/gif-selfies-and-color-quantization/pngd_nv12_3.webp +/words/gif-selfies-and-color-quantization/pngd_nv12_4.webp +/words/gif-selfies-and-color-quantization/pngd_nv12_5.webp +/words/gif-selfies-and-color-quantization/close_candle.gif +/words/gif-selfies-and-color-quantization/goth.gif +/words/gif-selfies-and-color-quantization/yay_color.gif + +/words/dslr-trichrome-kind-of/trichrome/lighthouse_half.webp +/words/dslr-trichrome-kind-of/trichrome/lighthouse_half.jpg +/words/dslr-trichrome-kind-of/trichrome/gay_hydrant_half.webp +/words/dslr-trichrome-kind-of/trichrome/gay_hydrant_half.jpg +/words/dslr-trichrome-kind-of/bracketed/chart_quarter.webp +/words/dslr-trichrome-kind-of/bracketed/chart_quarter.jpg +/words/dslr-trichrome-kind-of/bracketed/fox_bridge_quarter.webp +/words/dslr-trichrome-kind-of/bracketed/fox_bridge_quarter.jpg +/words/dslr-trichrome-kind-of/bracketed/yield_half.webp +/words/dslr-trichrome-kind-of/bracketed/yield_half.jpg +/words/dslr-trichrome-kind-of/bracketed/spool_quarter.webp +/words/dslr-trichrome-kind-of/bracketed/spool_quarter.jpg + +/links-in-the-night/blank/blank_full.png + +/touching-grass.html + +/triblur_94.png +/triblur_94.gif + +/links-in-the-night/lady_overwatch_quarter.jpg +/links-in-the-night/lala2_quart.png +/links-in-the-night/ladyyawn.gif + +/links-in-the-night/ladyinlight196.gif + +/links-in-the-night/ladyinlight196_bt709_studioswing.gif + +/links-in-the-night/genderchangers.gif + +/links-in-the-night/ladymidlick.gif \ No newline at end of file diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..30c7a45 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,25 @@ + + + + + + + + + + {title} + + + {%pattern styles} + + {%end} + + + + + {%wrapped-content} + + + \ No newline at end of file diff --git a/templates/minimal.html b/templates/minimal.html new file mode 100644 index 0000000..68c3716 --- /dev/null +++ b/templates/minimal.html @@ -0,0 +1,3 @@ +{%wrap-include base.html} +{main} +{%end} \ No newline at end of file diff --git a/templates/post.html b/templates/post.html new file mode 100644 index 0000000..802b4e1 --- /dev/null +++ b/templates/post.html @@ -0,0 +1,11 @@ +{%wrap-include base.html} + +
+

{title}

+ {main} +
+{%end} \ No newline at end of file -- cgit 1.4.1-3-g733a5