diff --git a/about/index.php b/about/index.php index 8918a3d..fc831e9 100644 --- a/about/index.php +++ b/about/index.php @@ -11,15 +11,10 @@

about me

hi

- -

Hello there! They call me Will, but I tend to go by deep twisty (more on that later) or some variation of "isopod" or "bathynomus" on the internet. I like to make stuff on the computer, like music, or art, or this website. I've heard rumors calling me such things as "canadian", "autistic", and "incalculably talented". I cannot confirm or deny any of these allegations.

+

Hello there! They call me Will (any pronouns), but I tend to go by deep twisty (more on that later) or some variation of "isopod" or "bathynomus" on the internet. I like to make stuff on the computer, like music, or art, or this website. I've heard rumors calling me such things as "canadian", "autistic", and "incalculably talented". I cannot confirm or deny any of these allegations.

What's a "deep twisty"?

"deep twisty" is a pseudonym I came up with to release music under, because everyone is doing it. It comes from some tweets from an official Subnautica twitter account where they referred to the then-work-in-progress Deep Twisty Bridges biome as just "deep twisty". I thought it sounded funny. Funny enough to brand myself on, apparently.

-

As for "niceopod", "nice" was the best word I could think of that rhymes with the first syllable of "isopod". I feel like it sounds like I'm trying to say I'm nice. I'm not, it's just that the alternatives were "iceopod" and "sliceopod". Isopods are nice though.

+

I go by Will because that's my name and I can't be fucked changing it.

About the site

This website is written in pure HTML, CSS, and a tiny bit of Javascript with the server-side stuff done in PHP. It (and everything else I host) is hosted using Nginx on a VPS with 2GB of RAM and 1 CPU core running Ubuntu Server, with domains registered with Porkbun. diff --git a/about/music/index.php b/about/music/index.php index 71a430b..69f0afb 100644 --- a/about/music/index.php +++ b/about/music/index.php @@ -6,7 +6,7 @@ Music - @@ -57,6 +69,7 @@ Noisemaker - Funeral EP Heaven Pierce Her - ULTRAKILL: Imperfect Hatred The Black Keys - El Camino + Waxlimbs - For Science! We Are Magonia - Triangle Unicode CALIPHATE - Unstoppable Force Patricia Taxxon - Walks of Lung diff --git a/about/uses/index.php b/about/uses/index.php index 673cd01..03b23ad 100644 --- a/about/uses/index.php +++ b/about/uses/index.php @@ -6,7 +6,7 @@ My setup - @@ -31,7 +24,7 @@

How to do it

Paste this into the main server block of your Nginx config to instantly drop the connection to any client with a "Wildebeest" (case insensitive) user agent:

-

/etc/nginx/sites-available/yoursite

+ /etc/nginx/sites-available/yoursite if ($http_user_agent ~* (wildebeest)) {
    return 444;
} @@ -54,7 +47,7 @@

Block multiple user agents

You can also block multiple user agents in one statement like so:

-

/etc/nginx/sites-available/yoursite

+ /etc/nginx/sites-available/yoursite if ($http_user_agent ~* (wildebeest|googlebot)) {
    return 444;
} @@ -62,13 +55,13 @@

Includes

One thing I'd recommend doing is moving all your user agent blocks to a separate file that you can include in all your Nginx sites. I place this file at /etc/nginx/includes/bans:

-

/etc/nginx/includes/bans

+ /etc/nginx/includes/bans if ($http_user_agent ~* (wildebeest|googlebot)) {
    return 444;
}
-

/etc/nginx/sites-available/yoursite

+ /etc/nginx/sites-available/yoursite include /etc/nginx/includes/bans;

The include statement goes in your server block as before.

diff --git a/blog/posts/guide_self_host_safely_with_wireguard/index.html b/blog/posts/guide_self_host_safely_with_wireguard/index.html index 2d5a9d9..22cd9bc 100644 --- a/blog/posts/guide_self_host_safely_with_wireguard/index.html +++ b/blog/posts/guide_self_host_safely_with_wireguard/index.html @@ -3,9 +3,9 @@ - Guide - Self-Host Safely with WireGuard + Guide - Self-Host Safe(r)ly with WireGuard - @@ -163,7 +189,7 @@ Successfully posted!"; } ?> - + @@ -183,21 +209,21 @@ $coolsanitized = htmlentities(preg_replace("/https?:\/\//i", "", $cool)); $reply = htmlentities($post->reply); - $output = $output."
"; + $output = $output."
$date
Entry #$index
"; if($cool) { - $output = $output.""; + $output = $output."
cool thing: $coolsanitized
"; } if($found) { - $output = $output.""; + $output = $output."
How did you find me?
$found
"; } - $output = $output.""; + $output = $output."
$message
"; if($reply) { - $output = $output.""; + $output = $output."
Reply:
$reply
"; } - $output = $output."
"; + $output = $output."
"; if($website) { $output = $output."$name"; } else { $output = $output.$name; } - $output = $output."
Entry #$index
cool thing: $coolsanitized
How did you find me?
$found
$message
Reply:
$reply
"; + $output = $output.""; $index++; $totaloutput = $output.$totaloutput; } diff --git a/index.php b/index.php index af6b3fa..77dcafc 100644 --- a/index.php +++ b/index.php @@ -27,11 +27,30 @@ background-image: url(images/bubblecolumn1.gif); background-repeat: repeat-y; } + main { + height: 100%; + display: flex; + justify-content: center; + align-items: center; + } @media (prefers-reduced-motion) { #bubblecolumn { display: none; } } + @media only screen and (hover: none) { + #rightsidebg { + box-shadow: none; + } + @media (max-width: 43rem) { + h1 { + font-size: 10.5vw; + } + h1 + h2#caption { + font-size: 1.1em; + } + } + } - - + +
-

isopod.cool v3

-

- - +
+

isopod.cool v3

+

+ + + + +
diff --git a/links/index.php b/links/index.php index 18236dd..72eb42c 100644 --- a/links/index.php +++ b/links/index.php @@ -5,11 +5,12 @@ Links - @@ -43,35 +52,35 @@

Me

- deeptwisty.com/art + deeptwisty.com/art My art page - @will@social.isopod.cool + @will@social.isopod.cool My account on my personal fediverse instance - @isopodhours + @isopodhours My Tumblr account - deeptwisty.bandcamp.com + deeptwisty.bandcamp.com My Bandcamp page. If you want to support me, you can buy my music here. - deep twisty + deep twisty The Youtube channel for my music - Willem + Willem My Youtube channel for other stuff - deeptwistygaming + deeptwistygaming My Twitch channel - deeptwisty.itch.io + deeptwisty.itch.io My itch.io page @@ -83,17 +92,17 @@
- Sea slug on the net! - Only Sans - Kalechips - Morry's Illusion - Josef - 64th Sanctum - Sadgrl - Iceologist - Robophobia - Melonland Forum - Size of Cat + Sea slug on the net! + Only Sans + Kalechips + Morry's Illusion + Josef + 64th Sanctum + Sadgrl + Iceologist + Robophobia + Melonland Forum + Size of Cat
@@ -101,51 +110,51 @@

Utility

- Easy USSR + Easy USSR A comprehensive beginner's guide to Legally Acquiring Media - 12ft.io + 12ft.io Show me a 10ft paywall, I'll show you a 12ft ladder. - LandChad.net + LandChad.net A collection of tutorials for setting up various self-hosted services. - 3DS Hacks Guide + 3DS Hacks Guide A comprehensive guide for modding 2ds and 3ds consoles. I know it's legit because I used it on mine. - hShop + hShop A repository of software for your freshly hacked 3ds - switching.software + switching.software A curated list of alternatives to popular software and services from companies like Google and Amazon. - Awesome Selfhosted + Awesome Selfhosted A comprehensive list of self-hosted alternatives to various software. - Newpipe & Invidious + Newpipe & Invidious Better YouTube frontends for Android and the browser respectively. - Hype Machine Merch Table + Hype Machine Merch Table Scans a Spotify playlist and links the Bandcamp page of any artist in it who has one. - Dark Pattern Games + Dark Pattern Games A database of mobile games that flags them for predatory design patterns. - RegExr + RegExr A website to test regular expressions for you - How old is it? + How old is it? For when your prospective employer asks for 10 years of experience. - Reverse Interview + Reverse Interview A list of questions to ask at (tech) job interviews - based.cooking + based.cooking A recipe website without all the typical recipe website garbage. + - - 8mbvideo + 8mbvideo Compresses any video file just enough to comply with Discord's filesize limits. - jort.link + jort.link A shield to prevent accidental DDOSing of links posted to the fediverse

Fun

- Burning Text Generator - Does + Burning Text Generator + Does this (the text is on fire) - Zalgo Text Generator + Zalgo Text Generator Does t̵̝̻̘͒̓̈́h̵͇͙͔́̾i̵͎̪̞͊́̾s̵̫̼̀̾ - crouton.net + crouton.net crouton - cornonthec.observer/ + cornonthec.observer/ corn on the cob server - Dracula Daily + Dracula Daily Read Bram Stoker's Dracula in real time, in your email inbox. - Wobble Town + Wobble Town A cute little virtual pet! - Cornell Lab Bird Cams + Cornell Lab Bird Cams Live bird cams! - Snailets font + Snailets font The best font - Imgflip is DEAD + Imgflip is DEAD A clone of Imgflip's meme generator, "because watermarks and tracking suck". - iNaturalist + iNaturalist An extensive crowdsourced library of high-quality photos of over 400,000 species of plants and animals - Space Cadet Pinball + Space Cadet Pinball Windows XP Space Cadet Pinball, reverse engineered to run in your browser! - trilobites.info + trilobites.info Trilobite knowledge!

More stuff

- Yesterlinks [Random] + Yesterlinks [Random] A "user-curated directory of interesting off-the-beaten path websites", with over 500 links and counting! - Marginalia Search [Random] + Marginalia Search [Random] A custom-built search engine for small, non-commercial websites. - Vincent's Dungeon/links + Vincent's Dungeon/links A bigger link directory than mine brimming with educational, web, and TTRPG resources, curated by Vincent. diff --git a/nav.php b/nav.php index 643e95e..0b3a279 100644 --- a/nav.php +++ b/nav.php @@ -1,24 +1,32 @@ "; + +function echolink($url, $name) { + global $host; + if("/$url/" != $_SERVER['REQUEST_URI']) { + echo "$name"; + } else { + echo "$name"; + } +} +echo ""; +echo ''; +echo "" +echolink("about", "about"); +echolink("about/uses", "uses"); +echolink("about/music", "music"); +echo "
"; +echolink("blog", "blog"); +echolink("links", "links"); +echolink("stuff", "stuff"); +echolink("guestbook", "guestbook"); +echo "
"; +echolink("stats", "stats"); +echolink("etc/greenhouse", "greenhouse"); +echolink("etc", "etc"); +echo "
"; ?> \ No newline at end of file diff --git a/stats/index.php b/stats/index.php index e92edf4..f6efc89 100644 --- a/stats/index.php +++ b/stats/index.php @@ -5,7 +5,7 @@ Stats - @@ -41,9 +49,25 @@ Desktop environment KDE Plasma + + Layout + ANSI 75% + Knob + External numpad + + + Switches + Keychron K Pro Brown + + + Firmware + QMK + + + RGB + Yes + CDs owned - 14 + 114 Consoles modded @@ -61,6 +85,14 @@ Websites 2 + + Web services + 7 + + + Domains owned + 3 + Talent [Integer overflow error] @@ -94,7 +126,8 @@ 'Listed here', 'AMD Ryzen 7 5700G, 32GB DDR4-3600 RAM, AMD Radeon RX 6600XT GPU, 500GB NVMe SSD, 1TB SATA SSD, 4TB HDD', 'I forgor 💀', - 'Bathynomus Giganteus' + 'Bathynomus Giganteus', + 'I\'ll figure it out later' ); echo $boogeraids[array_rand($boogeraids)]; ?> @@ -117,7 +150,7 @@ Drop rates - 1-3 bags of Doritos - 80%
Wired earbuds - 10%
Random Linux install media - 1% + 1-3 bags of Doritos - 80%
Wired earbuds - 10%
Random Linux install media - 1% Efficiency rating diff --git a/stuff/EnchantedToolsPack v1.zip b/stuff/EnchantedToolsPack_v1.zip similarity index 100% rename from stuff/EnchantedToolsPack v1.zip rename to stuff/EnchantedToolsPack_v1.zip diff --git a/stuff/index.php b/stuff/index.php index 14bcbd6..8575afb 100644 --- a/stuff/index.php +++ b/stuff/index.php @@ -104,7 +104,7 @@ Go back - EnchantedToolsPack v1.zip + EnchantedToolsPack v1.zip A custom resource pack I made for Minecraft that uses the Optifine mod's custom texture functionality to add custom textures for enchanted tools and weapons. Works as of 1.19. diff --git a/style.css b/style.css index 979777e..bdbd50e 100644 --- a/style.css +++ b/style.css @@ -1,8 +1,9 @@ :root { --stdfont: mono, monospace; --bgcolor: #222222; - --bodywidth: 43rem; + --bodywidth: min(90vw, 43rem); --stddropshadow: 4px 4px 8px black; + --navbarheight: 2.5rem; } html, body { height: 100%; @@ -14,24 +15,15 @@ body { color: gainsboro; max-width: var(--bodywidth); margin: auto; - margin-top: 1rem; - margin-bottom: 1rem; + padding-top: var(--navbarheight); + padding-bottom: 1rem; overflow-x: hidden; text-shadow: 1px 1px 3px black; -} -body#centeredcontent { - display: flex; - align-items: center; - justify-content: center; - margin-top: 0; - margin-bottom: 0; + box-sizing: border-box; } header { width: 100%; } -nav { - margin-bottom: 1rem; -} #leftsidebg, #rightsidebg { position: fixed; z-index: -10; @@ -106,9 +98,11 @@ nav { max-width: 100%; align-items: center; justify-content: center; + margin-bottom: 1rem; } -nav a, nav span { - margin: 0 0.7rem; +nav > * { + margin: 0; + padding: 0 .5em; } a { color: #df1955; @@ -116,6 +110,28 @@ a { a:hover { color: #00ffd5; } +input#navtoggle { + display: none; +} +label[for='navtoggle'] { + display: none; +} +#main-nav { + position: absolute; + top: 0; + left: 0; + right: 0; + height: var(--navbarheight); +} +#main-nav > div { + padding: 0; + display: flex; + align-items: center; + justify-content: center; +} +#main-nav > div > * { + padding: 0 1em; +} .buttons { text-align: center; font-size: 0; @@ -165,7 +181,7 @@ code { padding: 0.7rem; border: 1px solid #00ffd5; } -:is(main,body) > code > h4 { +:is(main,body) > code > span.codetitle { margin: -0.7rem; margin-top: -0.4rem; margin-bottom: 0.7rem; @@ -257,11 +273,11 @@ blockquote .attr { 91%{color: rgb(255,0,127); text-shadow: 0 0 4px rgb(211, 0, 105);} } @media only screen and (hover: none) { - body { - font-size: 1.65vh; - --bodywidth: 90vw; + :root { + font-size: 1rem; } h1 { + font-size: 4em; padding-left: unset; padding-right: unset; } @@ -272,20 +288,84 @@ blockquote .attr { :is(main,body) > code { border-width: .1rem; } - .buttons > * { - width: 19%; - } - .buttons > a > img { - width: 100%; + @media (max-width: 43rem) { + .buttons > * { + width: 24%; + } + .buttons > a > img { + width: 100%; + } } code { font-size: 0.8em; } #leftsidebg, #rightsidebg { top: 0; left: 0; right: 0; bottom: 0; - box-shadow: 100vw 0 0 #00000088 inset; + box-shadow: 100vw 0 0 #000000bb inset; } tr:hover { background-color: initial; } + td { + display: block; + } + #main-nav { + position: fixed; + left: 0; + right: 0; + top: calc(-.2rem - (3rem * var(--rowcount))); + z-index: 75; + background-color: #222222; + transition-duration: .5s; + box-shadow: none; + height: fit-content; + } + #main-nav > * { + height: 3rem; + width: 100%; + border-bottom: 1px solid #ffffff22; + } + #main-nav > *:last-child { + border-bottom: none; + } + label[for='navtoggle'] { + display: block; + z-index: 100; + filter: drop-shadow(2px 2px 6px black); + position: fixed; + top: 0; + left: 0; + padding: .5em; + } + #navtoggle:checked ~ #main-nav { + top: 0; + box-shadow: 0 0 5rem 1rem black; + } + #navtoggle ~ label[for='navtoggle'] > svg { + transition-duration: .5s; + } + #navtoggle:checked ~ label[for='navtoggle'] > svg { + transform: rotate(90deg); + } + #greenhouselink { + display: none; + } + @media (prefers-contrast: more) { + #leftsidebg, #rightsidebg { + display: none; + } + } +} +@media (prefers-contrast: more) { + body { + color: white; + background-color:#111111; + } + #leftsidebg, #rightsidebg { + display: none; + /*box-shadow: 100vw 0 0 #000000ee inset;*/ + } + a { + color: #00ffd5; + } } \ No newline at end of file