diff options
| -rw-r--r-- | art/img/2025/small-01.jpg | bin | 82085 -> 82483 bytes | |||
| -rw-r--r-- | art/img/2025/small-02.jpg | bin | 184248 -> 183712 bytes | |||
| -rw-r--r-- | art/img/2025/small-03.jpg | bin | 99303 -> 100124 bytes | |||
| -rw-r--r-- | art/img/2025/small-04.jpg | bin | 78998 -> 78655 bytes | |||
| -rw-r--r-- | art/img/2025/small-05.jpg | bin | 120645 -> 124166 bytes | |||
| -rw-r--r-- | art/img/2025/small-06.jpg | bin | 40801 -> 42522 bytes | |||
| -rw-r--r-- | art/img/2025/small-07.jpg | bin | 48963 -> 50511 bytes | |||
| -rw-r--r-- | art/img/2025/small-08.jpg | bin | 72127 -> 72621 bytes | |||
| -rw-r--r-- | art/img/2025/small-09.jpg | bin | 51123 -> 53464 bytes | |||
| -rw-r--r-- | art/img/2025/small-10.jpg | bin | 72851 -> 75963 bytes | |||
| -rw-r--r-- | art/img/2025/small-11.jpg | bin | 35991 -> 36810 bytes | |||
| -rw-r--r-- | art/img/2025/small-12.jpg | bin | 48563 -> 49425 bytes | |||
| -rw-r--r-- | art/img/2025/small-13.jpg | bin | 34649 -> 35634 bytes | |||
| -rw-r--r-- | art/img/2025/small-14.jpg | bin | 33265 -> 34018 bytes | |||
| -rw-r--r-- | art/img/2025/small-15.jpg | bin | 73539 -> 76614 bytes | |||
| -rw-r--r-- | art/img/2025/small-16.jpg | bin | 32021 -> 33373 bytes | |||
| -rw-r--r-- | art/img/2025/small-17.jpg | bin | 47847 -> 49988 bytes | |||
| -rw-r--r-- | art/img/2026/small-18.jpg | bin | 51123 -> 52560 bytes | |||
| -rw-r--r-- | art/img/2026/small-19.jpg | bin | 34009 -> 35314 bytes | |||
| -rw-r--r-- | brain.html | 10 | ||||
| -rw-r--r-- | img/lib/godot.jpg | bin | 0 -> 244595 bytes | |||
| -rw-r--r-- | img/vs.png | bin | 0 -> 14528 bytes | |||
| -rw-r--r-- | index.html | 2 | ||||
| -rw-r--r-- | library.html | 5 | ||||
| -rw-r--r-- | links.html | 22 | ||||
| -rw-r--r-- | music.html | 2 | ||||
| -rw-r--r-- | old/links.html | 4 | ||||
| -rw-r--r-- | sort.html | 165 | ||||
| -rw-r--r-- | webring/linuxring/index.html | 19 | ||||
| -rw-r--r-- | webring/linuxring/redirect/noahnext.html | 13 | ||||
| -rw-r--r-- | webring/linuxring/redirect/noahprev.html | 13 | ||||
| -rw-r--r-- | webring/linuxring/ring.js | 5 |
32 files changed, 244 insertions, 16 deletions
diff --git a/art/img/2025/small-01.jpg b/art/img/2025/small-01.jpg Binary files differindex 3086ce6..3b1a5bf 100644 --- a/art/img/2025/small-01.jpg +++ b/art/img/2025/small-01.jpg diff --git a/art/img/2025/small-02.jpg b/art/img/2025/small-02.jpg Binary files differindex 8b7fc9e..27ba6d5 100644 --- a/art/img/2025/small-02.jpg +++ b/art/img/2025/small-02.jpg diff --git a/art/img/2025/small-03.jpg b/art/img/2025/small-03.jpg Binary files differindex 3bd5916..6e9c92e 100644 --- a/art/img/2025/small-03.jpg +++ b/art/img/2025/small-03.jpg diff --git a/art/img/2025/small-04.jpg b/art/img/2025/small-04.jpg Binary files differindex 0cba404..b53f983 100644 --- a/art/img/2025/small-04.jpg +++ b/art/img/2025/small-04.jpg diff --git a/art/img/2025/small-05.jpg b/art/img/2025/small-05.jpg Binary files differindex 35bdeb1..f015119 100644 --- a/art/img/2025/small-05.jpg +++ b/art/img/2025/small-05.jpg diff --git a/art/img/2025/small-06.jpg b/art/img/2025/small-06.jpg Binary files differindex 30eb0b9..b209d28 100644 --- a/art/img/2025/small-06.jpg +++ b/art/img/2025/small-06.jpg diff --git a/art/img/2025/small-07.jpg b/art/img/2025/small-07.jpg Binary files differindex 5e066c5..add83da 100644 --- a/art/img/2025/small-07.jpg +++ b/art/img/2025/small-07.jpg diff --git a/art/img/2025/small-08.jpg b/art/img/2025/small-08.jpg Binary files differindex 3fb3f31..c4c1f75 100644 --- a/art/img/2025/small-08.jpg +++ b/art/img/2025/small-08.jpg diff --git a/art/img/2025/small-09.jpg b/art/img/2025/small-09.jpg Binary files differindex 4d43609..dff0c7d 100644 --- a/art/img/2025/small-09.jpg +++ b/art/img/2025/small-09.jpg diff --git a/art/img/2025/small-10.jpg b/art/img/2025/small-10.jpg Binary files differindex c539536..de503d3 100644 --- a/art/img/2025/small-10.jpg +++ b/art/img/2025/small-10.jpg diff --git a/art/img/2025/small-11.jpg b/art/img/2025/small-11.jpg Binary files differindex 54e9e9e..381da45 100644 --- a/art/img/2025/small-11.jpg +++ b/art/img/2025/small-11.jpg diff --git a/art/img/2025/small-12.jpg b/art/img/2025/small-12.jpg Binary files differindex 2ae7ea7..023207a 100644 --- a/art/img/2025/small-12.jpg +++ b/art/img/2025/small-12.jpg diff --git a/art/img/2025/small-13.jpg b/art/img/2025/small-13.jpg Binary files differindex a75278e..3f4b1d8 100644 --- a/art/img/2025/small-13.jpg +++ b/art/img/2025/small-13.jpg diff --git a/art/img/2025/small-14.jpg b/art/img/2025/small-14.jpg Binary files differindex f7cd7ac..9ae3138 100644 --- a/art/img/2025/small-14.jpg +++ b/art/img/2025/small-14.jpg diff --git a/art/img/2025/small-15.jpg b/art/img/2025/small-15.jpg Binary files differindex af02688..c5d44ef 100644 --- a/art/img/2025/small-15.jpg +++ b/art/img/2025/small-15.jpg diff --git a/art/img/2025/small-16.jpg b/art/img/2025/small-16.jpg Binary files differindex 969a987..4310fec 100644 --- a/art/img/2025/small-16.jpg +++ b/art/img/2025/small-16.jpg diff --git a/art/img/2025/small-17.jpg b/art/img/2025/small-17.jpg Binary files differindex adb525d..561547b 100644 --- a/art/img/2025/small-17.jpg +++ b/art/img/2025/small-17.jpg diff --git a/art/img/2026/small-18.jpg b/art/img/2026/small-18.jpg Binary files differindex 46641a2..2968bf3 100644 --- a/art/img/2026/small-18.jpg +++ b/art/img/2026/small-18.jpg diff --git a/art/img/2026/small-19.jpg b/art/img/2026/small-19.jpg Binary files differindex 4cb122b..b9d598b 100644 --- a/art/img/2026/small-19.jpg +++ b/art/img/2026/small-19.jpg @@ -24,6 +24,14 @@ <a href="poem/index.html">hypertext</a> <br> <a href="https://radio.softmachine.dev/">radio</a> - <p>temporary page</p> + <br><br> + <b>Currently listening to:</b> + <br> + <iframe + src="https://listenbrainz.org/user/thefalloftroy/embed/playing-now" + frameborder="0" + width="650" + height="80" + ></iframe> </body> </html> diff --git a/img/lib/godot.jpg b/img/lib/godot.jpg Binary files differnew file mode 100644 index 0000000..ba14c77 --- /dev/null +++ b/img/lib/godot.jpg diff --git a/img/vs.png b/img/vs.png Binary files differnew file mode 100644 index 0000000..f03651e --- /dev/null +++ b/img/vs.png @@ -270,11 +270,11 @@ <h2 style="margin-top: 10px;">Updates</h2> <ul style="text-align: left; margin: 0px 10px 10px 0px; font-size: 1em;"> + <li>09/05/26 - Binary choice ranker at /sort</li> <li>12/04/26 - Book log</li> <li>13/03/26 - Tech page</li> <li>20/02/26 - Lots of new art</li> <li>17/02/26 - Responsiveness fixes</li> - <li>16/02/26 - New site design</li> </ul> <a href="rss.xml">RSS Feed</a> diff --git a/library.html b/library.html index c956798..0bc0f6d 100644 --- a/library.html +++ b/library.html @@ -85,10 +85,10 @@ </ul> <h2>Recently Finished:</h2> <ul> + <li>Samuel Beckett - Waiting For Godot</li> <li>Lewis Carroll - Through the Looking-Glass and What Alice Found There</li> <li>Joseph Conrad - Heart of Darkness</li> <li>Lewis Carroll - Alice's Adventures in Wonderland</li> - <li>Uketsu - Strange Houses</li> </ul> <hr> @@ -98,7 +98,7 @@ </div> <div class="column"> - <h2>Favourite books<sup>2</sup></h2> + <h2>Favourite books</h2> <div class="items"> <img src="img/lib/hol.jpeg" alt="House of Leaves - Mark Z. Danielewski"> <img src="img/lib/necro.jpg" alt="The Necrophiliac - Gabrielle Wittkop"> @@ -111,6 +111,7 @@ <img src="img/lib/perfume.jpg" alt="Perfume: The Story of a Murderer - Patrick Süskind"> <img src="img/lib/snake.jpg" alt="The Man Who Spoke Snakish - Andrus Kivirähk"> <img src="img/lib/forgive.jpg" alt="Forgive Me, Leonard Peacock - Matthew Quick"> + <img src="img/lib/godot.jpg" alt="Waiting for Godot - Samuel Beckett"> <img src="img/lib/trans.jpg" alt="Enlightened Transsexual Comix - Sam Szabo"> <img src="img/lib/punpun.jpg" alt="Oyasumi Punpun - Inio Asano"> <img src="img/lib/girl.jpeg" alt="Girl on the Shore - Inio Asano"> @@ -37,7 +37,7 @@ <a href="muse.html">muse</a>   <a href="poetry.html">poetry</a>   <a href="library.html">library</a>   - <a href="projects.html">projects</a>   + <a href="projects.html">projects</a>   <a href="links.html">links</a>   </span> <hr> @@ -73,6 +73,7 @@ <p><a href="https://https://www.worldradiohistory.com/index.htm">worldradiohistory.com</a> - Has a section full of books and magazines about radio and electronics.</p> <p><a href="https://www.radiomuseum.org/">radiomuseum.org</a> - Another valuable electronics and radio tech site.</p> <p><a href="https://priyom.org/">priyom.org</a> - Radio station archives with live numbers station broadcasts.</p> + <p><a href="https://wiki.bibanon.org/Main_Page">bibanon.org</a> - Chan and chan-adjacent culture encyclopedia and archive.</p> <br> <h3>Lifestyle</h3> @@ -96,6 +97,7 @@ <p><a href="http://www.codersnotes.com/notes/a-constructive-look-at-templeos/">A Constructive Look At TempleOS</a></p> <p><a href="https://l3net.wordpress.com/2013/03/17/a-memory-comparison-of-light-linux-desktops/">l3net.wordpress.com</a> - Linked is an article comparing Linux/BSD WMs and DEs by RAM usage.</p> <p><a href="https://wiki.osdev.org/Expanded_Main_Page">wiki.osdev.org</a> - Wonderful knowledge base for OS development.</p> + <p><a href="https://elm-chan.org/cc_e.html">elm-chan.org</a> - A collection of technical documentation.</p> </div> <h4>⤷ Hardware</h4> @@ -131,7 +133,13 @@ <p><a href="https://fmhy.net/">fmhy.net</a> - Free Media Heck Yeah: a large collection of free and pirated stuff.</p> <p><a href="https://myrient.erista.me/">myrient.erista.me</a> - Huge retro game archive for numerous consoles (RIP).</p> </div> - + + <h4>⤷ Miscellaneous</h4> + <div class="sub"> + <p><a href="https://sod.jodi.org/">sod.jodi.org</a> - Well, it's something.</p> + <P><a href="https://blog.thea.codes/we-need-to-talk-about-github/">blog.thea.codes</a> - Linked is an article about GitHub's hosting monoculture.</p> + </div> + <br> <h3>Music</h3> @@ -145,10 +153,11 @@ <p><a href="1010.co.uk">1010.co.uk</a> - Home of ERD and other cool open hardware synth projects.</p> <p><a href="https://everynoise.com/">everynoise.com</a> - Music genre scatterplot with examples.</p> <p><a href="https://www.radio.garden/browse">radio.garden</a> - Tune in to any (online) radio station.</p> + <p><a href="https://keygenmusic.tk/">keygenmusic.tk</a> - Keygen music.</p> <br> - <h2>Cool websites</h2> + <h2>Miscellaneous websites</h2> <p>For starters, <a href="https://neocities.org/site/teethinvitro/follows">sites I follow</a> on Neocities are worth checking out in my humble opinion.</p> <p><a href="https://973-eht-namuh-973.com/">973-eht-namuh-973.com</a> - Numerology, puzzles, God - by the artist Dave Denison.</p> <p><a href="https://thricegreat.neocities.org/">thricegreat.neocities.org</a> - Philosophy, math, hermeticism, and self-sufficient lifestyle.</p> @@ -176,6 +185,13 @@ <p><a href="https://yaster.neocities.org/">yaster.neocities.org</a> - T4T lesbian comics with a beautiful artstyle.<p> <p><a href="https://awawawa.world">awawawa.world</a> - Thoughtful lyrics and introspective music.</p> <p><a href="https://risingthumb.xyz">risingthumb.xyz</a> - Cool personal site of a software dev.</p> + <p><a href="https://rose.systems/">rose.systems</a> - Site of a dev, try out the animal listing game.</p> + <p><a href="http://whale.to/">whale.to</a> - Conspiracy theory repository.</p> + <p><a href="https://9-eyes.com/">9-eyes.com</a> - Google streetview pictures.</p> + <p><a href="https://tylervigen.com/spurious-correlations">tylervigen.com</a> - Linked is "Spurrious Connections", about interesting coincidental correlations.</p> + <p><a href="https://tanami.org/">tanami.org</a> - Some cool "toys" as well as a list of anonymous board software (at <a href="https://overscript.net/">overscript.net</a>). Also look at <a href="https://tanami.org/archive/">/archive</a>.</p> + <p><a href="https://town.neocities.org/">town.neocities.org</a> - Pretty cool web art.</p> + <p><a href="https://wwwwwwwww.jodi.org/">wwwwwwwww.jodi.org</a> - I don't know.</p> <br> <div style="text-align: center;"> @@ -176,7 +176,7 @@ <div class="links"> <a href="https://radiohotline.bandcamp.com/">Bandcamp</a> - <a href="https://coff.ee/teethinvitro">Support</a> + <a href="https://coff.ee/softmachine">Support</a> </div> <div class="container"> diff --git a/old/links.html b/old/links.html index ffe48cc..43e7534 100644 --- a/old/links.html +++ b/old/links.html @@ -166,11 +166,7 @@ <br> <div style="text-align: center;"> -<<<<<<< HEAD <img src="../img/objects/ducks.gif" alt="3D GIF of a duck and her ducklings."> -======= - <img src="../img/objects/ducks.gif" alt="3D GIF of a duck and her ducklings."> ->>>>>>> 60eb045c37c24677088f13cdded9408c292f65ff </div> </div> diff --git a/sort.html b/sort.html new file mode 100644 index 0000000..143d3f8 --- /dev/null +++ b/sort.html @@ -0,0 +1,165 @@ +<!DOCTYPE html>
+<html>
+<head>
+ <title>Binary Choice Ranker</title>
+ <meta charset="unicode">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="description" content="Quick and simple binary choice ranker using Merge Sort. You can enter a plaintext list.">
+ <meta name="keywords" content="sort, ranking, ranking generator, merge sort, binary choice, ranker">
+ <meta name="author" content="Radiohotline">
+ <style>
+ body {
+ width: 50%;
+ margin: auto;
+ text-align: center;
+ font-size: 150%;
+ }
+
+ textarea {
+ margin: 10px;
+ }
+
+ .button {
+ padding: 15px 32px;
+ font-size: 150%;
+ background-color: #0099ff;
+ border: none;
+ border-radius: 30px;
+ color: white;
+ text-decoration: none;
+ display: inline-block;
+ cursor: pointer;
+ }
+
+ .button:active {
+ background-color: #004d80;
+ }
+
+ #choice1, #choice2 {
+ width: 200px;
+ height: 150px;
+ margin: 25px;
+ }
+
+ .flex {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ </style>
+</head>
+<body>
+ <script>
+ function getChoice(item1, item2) {
+ return new Promise((resolve) => {
+ const button1 = document.getElementById('choice1');
+ const button2 = document.getElementById('choice2');
+
+ button1.innerText = item1;
+ button2.innerText = item2;
+
+ button1.onclick = () => resolve(true);
+ button2.onclick = () => resolve(false);
+ });
+ }
+
+ async function merge(left, right) {
+ let result = [];
+
+ while (left.length > 0 && right.length > 0) {
+ const leftwins = await getChoice(left[0], right[0]);
+
+ if (leftwins) {
+ result.push(left.shift());
+ }
+ else {
+ result.push(right.shift());
+ }
+ }
+
+ return result.concat(left).concat(right);
+ }
+
+ async function sort(list) {
+ if (list.length <= 1) {
+ return list;
+ }
+
+ let left = [];
+ let right = [];
+
+ for (let i = 0; i < list.length; i++) {
+ if (i < (list.length/2)) {
+ left.push(list[i]);
+ }
+ else {
+ right.push(list[i]);
+ }
+ }
+
+ left = await sort(left);
+ right = await sort(right);
+
+ return await merge(left, right);
+ }
+
+ async function start() {
+ const input = document.getElementById("userList").value;
+ let list = input.split('\n').filter(item => item.trim() !== "");
+ const isNumbered = document.getElementById("useNumbers").checked;
+
+ document.getElementById("input").style.display = "none";
+ document.getElementById("ranker").style.display = "block";
+
+ let ranked = await sort(list);
+
+ document.getElementById("ranker").style.display = "none";
+
+ let output = "";
+ if (isNumbered) {
+ output = ranked.map((item, index) => `${index + 1}. ${item}`).join("<br>");
+ }
+ else {
+ output = ranked.join("<br>");
+ }
+
+ document.getElementById("result").innerHTML = "<h2>Results:</h2> <p>" + output + "</p> <button class='button' onclick='restart()'>Restart</button>";
+ }
+
+ async function restart() {
+ document.getElementById("input").style.display = "block";
+ document.getElementById("result").innerHTML = "";
+ }
+ </script>
+
+ <h1>Binary Choice Ranker</h1>
+
+ <div id="input" style="display: block;">
+ <label for="userList">Enter the list to be ranked as items separated by newlines:</label>
+ <br>
+ <textarea id="userList" name="userList" placeholder="item 1 item 2 item 3 ..." rows="10" cols="25"></textarea>
+ <br>
+ <input type="button" class="button" value="Start" onclick="start()" />
+
+ <p style="font-size: 75%;">This is a simple ranker that uses merge sort. Enter a list of items, then choose your preferred item from each given pair. The program will output your preferences in a ranked list.</p>
+
+ <h3>Options:</h3>
+ <input type="checkbox" id="useNumbers" name="numbered ranking" />
+ <label for="useNumbers">Use numbered ranking</label>
+ </div>
+
+ <div id="ranker" style="display: none;">
+ <h2>Choose:</h2>
+ <div class="flex">
+ <button class="button" id="choice1"></button>
+ <img src="img/vs.png" alt=" VS ">
+ <button class="button" id="choice2"></button>
+ </div>
+ <p>Click on your preferred choice,<br>or press A for the left choice or L for the right choice.</p>
+ </div>
+
+ <div id="result"></div>
+
+</body>
+</html>
\ No newline at end of file diff --git a/webring/linuxring/index.html b/webring/linuxring/index.html index 195dcdc..45cd227 100644 --- a/webring/linuxring/index.html +++ b/webring/linuxring/index.html @@ -51,7 +51,7 @@ The system/distro you use (for the icon): <div class="element" style="width: 300px;">
<p>Widget. Specify in email for JS-free version:</p>
<textarea>
-<script defer src="https://softmachine.dev/webring/linuxring/ring.js" data-icon="tux">
+<script defer src="https://softmachine.dev/webring/linuxring/ring.js" data-icon="tux"></script>
</textarea>
</div>
<div class="element" style="text-align: left;">
@@ -598,8 +598,21 @@ on the internet.</td> <td><a href="https://xavierhm.com">xavierhm.com</a></td>
<td>The personal site of an artist, writer, blogger, webdev, and all-around cool dude.</td>
</tr>
-
-
+<tr>
+ <td><img class="icon" src="icon/debian.png"></td>
+ <td><a href="https://markofiume.com/">markofiume.com</a></td>
+ <td>yet another indescribably boring website by an italian teen</td>
+</tr>
+<tr>
+ <td><img class="icon" src="icon/darwin.png"></td>
+ <td><a href="https://arcane.kitties.cat/">arcane.kitties.cat</a></td>
+ <td>my purrsonal site with all my projects and other junk!</td>
+</tr>
+<tr>
+ <td><img class="icon" src="icon/debian.png"><img class="icon" src="icon/openbsd.png"><img class="icon" src="icon/plan9.png"></td>
+ <td><a href="https://ohnoitsnoah.com">ohnoitsnoah.com</a></td>
+ <td>Personal wiki about art, programming, computing, and my life.</td>
+</tr>
</table>
diff --git a/webring/linuxring/redirect/noahnext.html b/webring/linuxring/redirect/noahnext.html new file mode 100644 index 0000000..cfc9c57 --- /dev/null +++ b/webring/linuxring/redirect/noahnext.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>*nixRing</title> + <meta http-equiv="Refresh" content="0; url='https://softmachine.dev/'"/> + </head> + <body> + <h1>Redirecting to next site...</h1> + <p>If you are not redirected, proceed <a href="https://softmachine.dev/">here</a>.</p> + </body> +</html> diff --git a/webring/linuxring/redirect/noahprev.html b/webring/linuxring/redirect/noahprev.html new file mode 100644 index 0000000..d644f98 --- /dev/null +++ b/webring/linuxring/redirect/noahprev.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>*nixRing</title> + <meta http-equiv="Refresh" content="0; url='https://arcane.kitties.cat/'"/> + </head> + <body> + <h1>Redirecting to next site...</h1> + <p>If you are not redirected, proceed <a href="https://arcane.kitties.cat/">here</a>.</p> + </body> +</html> diff --git a/webring/linuxring/ring.js b/webring/linuxring/ring.js index 56f345d..dff34d6 100644 --- a/webring/linuxring/ring.js +++ b/webring/linuxring/ring.js @@ -108,6 +108,9 @@ 'https://tilde.club/~petbrain/',
'https://themewiki.neocities.org',
'https://xavierhm.com',
+ 'https://markofiume.com/',
+ 'https://arcane.kitties.cat/',
+ 'https://ohnoitsnoah.com',
];
// widget html
// PREV and NEXT are replaced with neighbors' urls
@@ -124,7 +127,7 @@ }
</style>
<a href="PREV">←</a>
- <a href="https://teethinvitro.neocities.org/webring/linuxring"><div>*nixRing<br><img style="height: 25px;" src="https://teethinvitro.neocities.org/webring/linuxring/icon/${document.currentScript.dataset.icon}.png"></div></a>
+ <a href="https://softmachine.dev/webring/linuxring"><div>*nixRing<br><img style="height: 25px;" src="https://softmachine.dev/webring/linuxring/icon/${document.currentScript.dataset.icon}.png"></div></a>
<a href="NEXT">→</a>
</div>`,
error: `<div>this site isn't part of the webring yet</div>`,
|
