";
+ $output = $output." ";
if($website) { $output = $output."$name"; }
else { $output = $output.$name; }
- $output = $output." | Entry #$index | |
cool thing: $coolsanitized | ||
How did you find me? $found | ||
Reply: $reply |
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 @@
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.
"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.
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 @@
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."
";
if($website) { $output = $output."$name"; }
else { $output = $output.$name; }
- $output = $output." Entry #$index ";
+ $output = $output."$dateEntry #$index";
if($cool) {
- $output = $output."cool thing: $coolsanitized ";
+ $output = $output."cool thing: $coolsanitized";
}
if($found) {
- $output = $output."How did you find me?
$found ";
+ $output = $output."How did you find me?
$found";
}
- $output = $output." ";
+ $output = $output."$message";
if($reply) {
- $output = $output."Reply:
$reply ";
+ $output = $output."Reply:
$reply";
}
- $output = $output."
";
+ $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 @@
@@ -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
- 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 "";
?>
\ 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