Compare commits

31 Commits
3pp ... main

Author SHA1 Message Date
nat
d57e14101c add thought; fix figure css 2025-03-25 19:31:31 -07:00
9f3a6984e4 add homepage statement 2025-02-18 12:11:19 -08:00
2dff6ab8d4 Merge branch 'main' of https://git.natalieee.net/nat/webbed-site 2025-02-01 14:57:42 -08:00
1ff5f94bd6 add misty's 88x31; update syntax highlighting styles 2025-02-01 14:56:04 -08:00
1deaac37cf update syntax highlighting to include classes for html 2025-01-11 20:26:52 -08:00
3b901e297d add servfail.network 88x31 2024-12-04 03:40:49 -08:00
28e837cf6a fix unclosed metadata comment in thought 2024-11-29 01:25:05 -08:00
46c24d03c8 add script to add 88x31s of all fedi accounts it follows that implement .well-known/button.json 2024-11-25 01:20:14 -08:00
37fe11059a add 88x31s of sites from things it follows on mastodon 2024-11-24 23:59:55 -08:00
613c53dee6 add .well-known/button.json 2024-11-20 14:40:11 -08:00
7c22b4aba8 update changelog 2024-11-13 16:27:50 -08:00
304789af94 add regular png 88x31 2024-11-12 02:34:59 -08:00
83aca8b85b add thought 2024-11-05 15:24:31 -08:00
165cf69bcb amend category tag on last thought 2024-11-03 02:20:26 -08:00
8e69079b74 (finally) add thought 2024-11-03 02:18:52 -08:00
42834bdfd1 block ai scrapers in robots.txt 2024-11-03 01:58:51 -08:00
ed878fe922 improve accessibility, vaguely 2024-11-01 14:03:01 -07:00
f6a8c62104 get around to adding its vcard 2024-10-30 04:51:47 -07:00
61bc2a0ad1 minor css changes 2024-10-30 03:51:42 -07:00
3a05b09a3b 'replace \' with " in category names 2024-10-26 04:09:27 -07:00
30db8e3920 update thought metadata 2024-10-26 03:53:03 -07:00
d31af30ec3 fix formatting error in last thought 2024-10-25 00:50:30 -07:00
0ce6cf4d6c add thought 2024-10-25 00:37:26 -07:00
69870de6ec add style for blockquotes; add thought 2024-10-23 10:44:35 -07:00
d8b6d38414 add thought 2024-10-21 05:50:24 -07:00
cc0cab843a missed one 2024-10-21 04:59:50 -07:00
803c95892b update changelog 2024-10-20 22:05:59 -07:00
2514ede93c update site-info 2024-10-20 00:31:24 -07:00
553436b27c remove name 2024-10-19 22:18:45 -07:00
4db86fd144 add thought 2024-10-19 01:06:45 -07:00
nat
507f7d6d2f Merge pull request 'update gramatical personhood of its pronouns to match its internal monologue' (#4) from 3pp into main 2024-10-08 21:42:11 -07:00
51 changed files with 465 additions and 17 deletions

13
.well-known/button.json Normal file
View File

@ -0,0 +1,13 @@
{
"$schema": "https://codeberg.org/LunarEclipse/well-known-button/raw/branch/main/drafts/button-2024-06.schema.json",
"default": "natalieee.net",
"buttons": [
{
"id": "natalieee.net",
"uri": "https://natalieee.net/files/natalieee.net.png",
"alt": "natalieee.net 88x31",
"link": "https://natalieee.net",
"sha256": "1ff45434606ed76769bcc0b4f5a6bb8f86e9e1ab07550a48eb6977b3cf285963"
}
]
}

View File

@ -1,6 +1,6 @@
2024-02-18: cleaned up header css, added changelog. 2024-02-18: cleaned up header css, added changelog.
2024-02-24: made dir_index.html slightly less cursed server side 2024-02-24: made dir_index.html slightly less cursed server side
2024-04-10: fix albert hacking its website by rewriting the entire backend (lol) 2024-04-10: fix unnamed friend entity hacking its website by rewriting the entire backend (lol)
2024-04-12: add "natalie-sightings.html" 2024-04-12: add "natalie-sightings.html"
2024-04-14: add "cool-sites.html", update home.html to actually be html compliant, updated comment system, add 88x31 collection, minor modification to "natalie-info.html". 2024-04-14: add "cool-sites.html", update home.html to actually be html compliant, updated comment system, add 88x31 collection, minor modification to "natalie-info.html".
2024-04-25: move hosting to server taken from school basement, (somewhat notable) 2024-04-25: move hosting to server taken from school basement, (somewhat notable)
@ -42,3 +42,9 @@
2024-10-03: add new natalie sighting 2024-10-03: add new natalie sighting
2024-10-04: update natalie-info.html 2024-10-04: update natalie-info.html
2024-10-04: update natalie-info.html again 2024-10-04: update natalie-info.html again
2024-10-19: remove references to friends name until she picks a different one
2024-10-20: add <a href='https://status.natalieee.net'>status.natalieee.net</a>, running <a href='https://git.osmarks.net/osmarks/onstat'>osmarks status thingy</a>
2024-10-20: add <a href='/html/view-thought.html'>alternative thought viewing frontend</a>
2024-11-01: minor accessibility improvements to style.css; general minor changes
2024-11-13: add cryptography, technical specifications sections to natalie-info
2024-11-20: add /.well-known/button.json

View File

@ -0,0 +1 @@
<a href="https://999eagle.moe" id="⛧-440729"><img src="https://999eagle.moe/images/88x31/440729.png" alt="⛧-440729's button"></a>

View File

@ -1,2 +1,2 @@
<a href='https://bunbun.dev'><img src='data:image/gif;base64,R0lGODlhWAAfAPAAAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAjAP8ALAAAAABYAB8AAAKphI+py+0Po5y02ouz3rz7D4biSJbmiabqOgWB5opxOGP1d3t5tXP99pMEM0Pbi3gEFS+u5rEWc86kz2RUqqAasABo8kF9ebvaMPlw5W7LbPTXMY5bxfPz2o7HX936d0POB3gnmCeHNRZBuDdYp/hl6NQn1EgZWMnIl3m200Tmx2AWSnnYhinKhaqVoOrZCekVKajK2rmmxoKbq7vL2+v7CxwsPExcbExSAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAjAP8ALAAAAABYAB8AAAKmhI+py+0Po5y02ouz3rz7D4biSJbmiabqOgWB5opxOGP1d3t5tXP99pMEM0Pbi3gEFS+u5rEWc86kz2RUqqAasABo8kF9ebvaMPlw5W7LbPTXMY5bxfPz2o7HX936d0POB3gnmCeHNRZBuDdYp/hl6NQn1EgZWMnIl3m200Tmx2AWSnnYhinKpQahtRYJ6dV6ubrqyVJre4ubq7vL2+v7CxwsPJxbAAA7' alt='bunbun.dev'></a> <a href='https://bunbun.dev'><img src='data:image/gif;base64,R0lGODlhWAAfAPAAAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAjAP8ALAAAAABYAB8AAAKphI+py+0Po5y02ouz3rz7D4biSJbmiabqOgWB5opxOGP1d3t5tXP99pMEM0Pbi3gEFS+u5rEWc86kz2RUqqAasABo8kF9ebvaMPlw5W7LbPTXMY5bxfPz2o7HX936d0POB3gnmCeHNRZBuDdYp/hl6NQn1EgZWMnIl3m200Tmx2AWSnnYhinKhaqVoOrZCekVKajK2rmmxoKbq7vL2+v7CxwsPExcbExSAAAh/wtJbWFnZU1hZ2ljaw1nYW1tYT0wLjQ1NDU1ACH5BAAjAP8ALAAAAABYAB8AAAKmhI+py+0Po5y02ouz3rz7D4biSJbmiabqOgWB5opxOGP1d3t5tXP99pMEM0Pbi3gEFS+u5rEWc86kz2RUqqAasABo8kF9ebvaMPlw5W7LbPTXMY5bxfPz2o7HX936d0POB3gnmCeHNRZBuDdYp/hl6NQn1EgZWMnIl3m200Tmx2AWSnnYhinKpQahtRYJ6dV6ubrqyVJre4ubq7vL2+v7CxwsPJxbAAA7' alt='88x31 bunbun.dev'></a>

View File

@ -0,0 +1 @@
<a href="https://dimension.sh/~minekpo1/buttons.html#404" id="minekpo1//404"><img src="https://dimension.sh/~minekpo1/res/88x31-404.png" alt="404 Button not found button"></a>

View File

@ -0,0 +1 @@
<a href="https://girlthi.ng/~thermia" id="thermia"><img src="https://girlthi.ng/~thermia/img/88x31/thermia.gif" alt="thermias button"></a>

View File

@ -1 +1 @@
<a href='/status'><img src="data:image/png;base64, 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"></a> <a href='/status'><img src="data:image/png;base64, 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" alt='88x31 powered by lesbian'></a>

View File

@ -1 +1 @@
<a href='https://hellzone.org'><img src='https://hellzone.org/src/images/88x31.gif'></a> <a href='https://hellzone.org'><img src='https://hellzone.org/src/images/88x31.gif' alt='88x31 hellzone.org' width=88 height=31></a>

View File

@ -1 +1 @@
<a href='https://luxen.neocities.org/'><img src='https://luxen.neocities.org/88x31.gif'></a> <a href='https://luxen.neocities.org/'><img src='https://luxen.neocities.org/88x31.gif' alt='88x31 luxen.neocities.org' width=88 height=31></a>

View File

@ -0,0 +1,3 @@
<a href="https://lynx-library.neocities.org/">
<img src="data:image/gif;base64,R0lGODlhWAAfAAcAACH/C05FVFNDQVBFMi4wAwEBAAAh+QQAGQAAACwAAAAAWAAfAIcAAAAAADMA AGYAAJkAAMwAAP8AKwAAKzMAK2YAK5kAK8wAK/8AVQAAVTMAVWYAVZkAVcwAVf8AgAAAgDMAgGYA gJkAgMwAgP8AqgAAqjMAqmYAqpkAqswAqv8A1QAA1TMA1WYA1ZkA1cwA1f8A/wAA/zMA/2YA/5kA /8wA//8zAAAzADMzAGYzAJkzAMwzAP8zKwAzKzMzK2YzK5kzK8wzK/8zVQAzVTMzVWYzVZkzVcwz Vf8zgAAzgDMzgGYzgJkzgMwzgP8zqgAzqjMzqmYzqpkzqswzqv8z1QAz1TMz1WYz1Zkz1cwz1f8z /wAz/zMz/2Yz/5kz/8wz//9mAABmADNmAGZmAJlmAMxmAP9mKwBmKzNmK2ZmK5lmK8xmK/9mVQBm VTNmVWZmVZlmVcxmVf9mgABmgDNmgGZmgJlmgMxmgP9mqgBmqjNmqmZmqplmqsxmqv9m1QBm1TNm 1WZm1Zlm1cxm1f9m/wBm/zNm/2Zm/5lm/8xm//+ZAACZADOZAGaZAJmZAMyZAP+ZKwCZKzOZK2aZ K5mZK8yZK/+ZVQCZVTOZVWaZVZmZVcyZVf+ZgACZgDOZgGaZgJmZgMyZgP+ZqgCZqjOZqmaZqpmZ qsyZqv+Z1QCZ1TOZ1WaZ1ZmZ1cyZ1f+Z/wCZ/zOZ/2aZ/5mZ/8yZ///MAADMADPMAGbMAJnMAMzM AP/MKwDMKzPMK2bMK5nMK8zMK//MVQDMVTPMVWbMVZnMVczMVf/MgADMgDPMgGbMgJnMgMzMgP/M qgDMqjPMqmbMqpnMqszMqv/M1QDM1TPM1WbM1ZnM1czM1f/M/wDM/zPM/2bM/5nM/8zM////AAD/ ADP/AGb/AJn/AMz/AP//KwD/KzP/K2b/K5n/K8z/K///VQD/VTP/VWb/VZn/Vcz/Vf//gAD/gDP/ gGb/gJn/gMz/gP//qgD/qjP/qmb/qpn/qsz/qv//1QD/1TP/1Wb/1Zn/1cz/1f///wD//zP//2b/ /5n//8z///8AAAAAAAAAAAAAAAAI/wABCBxIsKDBgwgTKlzIsGHBGAshOpxIseJCAxIRYrTIsWPF GBkPgjTgsaTJgys2IoyxAuTJlyZjTJokZuXMAzBzcpSZqeZBMTN9Tty3T2BRowCOIiU6UKlOAEBp IowqdehRpkmTKr1a1OlToJmGCSWIRlJQili1cr3a1OtXmpPQ/JwZF61TrEy7tn1KMCrYsVDNmq06 MGTBtFqNclWcNWdGNDT3iRlGU4wYNIzQWNZMGIDhw0TzLl66VadEoGL0SZ4UlrXrTK7FCvzM9ymj SURdz9xHd/drwLUdn4Y9UxJsTK8nmSXeszDt4CbFHNedqdck5IJZW2e0EHFo0WsJpv8NjbT8RKqw ezFXTlfLpAMw5MJIiDgx4656Ey/Gb76hGOPULTeJe5NAsw8MkwhE0xb0eTUeXvnldZ9ibk2lmXTF aQFbDAhmgqAWMMBABTT1ZGLWfAjV92BW5FEY3l7+TUKZbggmCMBMWsSwzzL7REMFDDHk2Jl4Dm6l l4T28WfkeTOZCJuGyakQDT0ABAAkSEQZB5xa4IHHGIts4fWlf5bdRhcM6g0Iwz5UzgZfAEnRMyR0 J4HF2okg1jNlNCqGtiWdHQmo246qffcdl5IBClNUsBnaJXl5/amoRVGFRo8YhiJqpKSTUgQUidDQ E40+lh0KGlGcdnoem9FYVg+olmEc6qhklqn60oU+xSoGd1DpGqutOTGSKrDEFgtdQAA7" alt="lynx-library.neocities.org 88x31" width="88" height="31" />
</a>

View File

@ -1 +1 @@
<a href='https://natalieee.net'><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAfCAYAAABjyArgAAABb2lDQ1BpY2MAACiRdZG7S8NQFMa/PqRFKx10EHHIUB9DC0VBHKWCXapDW8GqS3KbtEKShpsUKa6Ci0PBQXTxNfgf6Cq4KgiCIog4OvtapMRzm0KLtCecnB/fPd/h5gTwZ3Rm2MEkYJgOz6ZT0mphTQq9IwwfgpSTMrOtpdxiHj3j55H6KB4SYlbvvq4xUFRtBvjCxLPM4g7xPHFmy7EE7xEPs7JcJD4hjnO6IPGt0BWP3wSXPP4SzPPZBcAvZkqlDlY6mJW5QTxFHDP0KmvdR3xJRDVXclRHKcdgI4s0UpCgoIpN6HCQoGrSzrr7kk3fMirkYfS2UAMnRwll8sZJrdJUlapGukqPjprY+/992trMtDc9kgL6Xl33cxwI7QONuuv+nrpu4wwIvADXZttfoT3NfZNeb2uxYyC6A1zetDXlALjaBUaeLZnLTSlA6dc04OMCGCwAQ/dA/7q3q9Y5zp+A/Db9ojvg8AiYoP7oxh+f12feK5ElyAAAAAlwSFlzAAALEgAACxIB0t1+/AAAApdJREFUaEPtWktOAzEMnSJOwYYFp0GITS9RCXXDgpsgJC7RDUKchgUbrlHwjFycjJMXx5OpWmakolL7+fPG4yRuV13X7X9fyzU9AysyeUl/Pr++pzf/jy3eXF8dsu8JXq4mDPSd4aKFaXkHrfYJi/BIbvU5tf56ve7o1YxgMvzx/lYVN7crhEfyKucNQE0quEGcgclTWjOCHqw9enEysU5Kvn3Y/JKyGS2gCJ+7ORKbIhnZ98qtxTNa5J5fXgMbFJBMht7Lx1OT02dsh3Rv7+4PNhE+lwBj6ebFdgnHsaTi88qt5JK+uouQhFAVymS0KteSJeOhnSE8C15LaLBJT4d+jWMJ4/fKrSSbtmlaBQytoOzy4ku8cGtK6XrlJTFIHRPBBNQqwOLUi0e+4hYX63vlyH8sNxMsDXj3o158KlmtNUldr9xCsolgWmQGUoa28Pd/6FLqxQukFc9+4qS0XUocH2M4Bq/cQizr0kBiL0nQFqz4M7lKUzWkFjnWiyvGiqdgkQ2ZvHYIkXivHBH99LjtVXa7XTciGIEXOWZAEgxPcjV9sgaDwy7XOLZ/GSkkmJRrzv01mHIKseax/XOERQTjdBaNFAOjXQR6vErP8qlZRO5WzDELmbsURsOeeFYgT2roLC+3bqlZBEowNwuZwz+KzyofVTA6aaGzvAwAbehTweZmIXP4t5KY0zcdNKZ0XGsLzRJq7bbCnRzBaJbQiqhau1mC0YJX69SLq209Xr81+IBgNGvQzvLxoigXOu0bjZogGYNmCZresb9eUo/KaFYQb+JTFZWaReRIts5C2JYWQ41/TwEwdplFTMFixoZpFtE4lrM33/dgXsz4xxJnn/WMCdIsgvpw/0O15ZqeAUns8ivL6fntfgARjrcUTOE2HQAAAA5lWElmTU0AKgAAAAgAAAAAAAAA0lOTAAAAAElFTkSuQmCC"/></a> <a href='https://natalieee.net'><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAfCAYAAABjyArgAAABb2lDQ1BpY2MAACiRdZG7S8NQFMa/PqRFKx10EHHIUB9DC0VBHKWCXapDW8GqS3KbtEKShpsUKa6Ci0PBQXTxNfgf6Cq4KgiCIog4OvtapMRzm0KLtCecnB/fPd/h5gTwZ3Rm2MEkYJgOz6ZT0mphTQq9IwwfgpSTMrOtpdxiHj3j55H6KB4SYlbvvq4xUFRtBvjCxLPM4g7xPHFmy7EE7xEPs7JcJD4hjnO6IPGt0BWP3wSXPP4SzPPZBcAvZkqlDlY6mJW5QTxFHDP0KmvdR3xJRDVXclRHKcdgI4s0UpCgoIpN6HCQoGrSzrr7kk3fMirkYfS2UAMnRwll8sZJrdJUlapGukqPjprY+/992trMtDc9kgL6Xl33cxwI7QONuuv+nrpu4wwIvADXZttfoT3NfZNeb2uxYyC6A1zetDXlALjaBUaeLZnLTSlA6dc04OMCGCwAQ/dA/7q3q9Y5zp+A/Db9ojvg8AiYoP7oxh+f12feK5ElyAAAAAlwSFlzAAALEgAACxIB0t1+/AAAApdJREFUaEPtWktOAzEMnSJOwYYFp0GITS9RCXXDgpsgJC7RDUKchgUbrlHwjFycjJMXx5OpWmakolL7+fPG4yRuV13X7X9fyzU9AysyeUl/Pr++pzf/jy3eXF8dsu8JXq4mDPSd4aKFaXkHrfYJi/BIbvU5tf56ve7o1YxgMvzx/lYVN7crhEfyKucNQE0quEGcgclTWjOCHqw9enEysU5Kvn3Y/JKyGS2gCJ+7ORKbIhnZ98qtxTNa5J5fXgMbFJBMht7Lx1OT02dsh3Rv7+4PNhE+lwBj6ebFdgnHsaTi88qt5JK+uouQhFAVymS0KteSJeOhnSE8C15LaLBJT4d+jWMJ4/fKrSSbtmlaBQytoOzy4ku8cGtK6XrlJTFIHRPBBNQqwOLUi0e+4hYX63vlyH8sNxMsDXj3o158KlmtNUldr9xCsolgWmQGUoa28Pd/6FLqxQukFc9+4qS0XUocH2M4Bq/cQizr0kBiL0nQFqz4M7lKUzWkFjnWiyvGiqdgkQ2ZvHYIkXivHBH99LjtVXa7XTciGIEXOWZAEgxPcjV9sgaDwy7XOLZ/GSkkmJRrzv01mHIKseax/XOERQTjdBaNFAOjXQR6vErP8qlZRO5WzDELmbsURsOeeFYgT2roLC+3bqlZBEowNwuZwz+KzyofVTA6aaGzvAwAbehTweZmIXP4t5KY0zcdNKZ0XGsLzRJq7bbCnRzBaJbQiqhau1mC0YJX69SLq209Xr81+IBgNGvQzvLxoigXOu0bjZogGYNmCZresb9eUo/KaFYQb+JTFZWaReRIts5C2JYWQ41/TwEwdplFTMFixoZpFtE4lrM33/dgXsz4xxJnn/WMCdIsgvpw/0O15ZqeAUns8ivL6fntfgARjrcUTOE2HQAAAA5lWElmTU0AKgAAAAgAAAAAAAAA0lOTAAAAAElFTkSuQmCC" alt="88x31 natalieee.net"/></a>

View File

@ -0,0 +1 @@
<a href="https://beta.servfail.network"><img src="https://beta.servfail.network/servfail-88_31.png" alt="SERVFAIL DNS written on a 14 segment display. Next to it is a pentagram made out of burning servers."></a>

View File

@ -9,5 +9,5 @@
\ || || / \ || || /
\_oo__oo_/#######o \_oo__oo_/#######o
(portrait of Natalie[ee]) (portrait of Natalie[ee])
-- albert -- unnamed friend entity
</pre> </pre>

View File

@ -0,0 +1 @@
queering the beep/boop binary

View File

@ -0,0 +1 @@
the embodyment of xkcd 1172

BIN
files/natalieee.net.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

20
files/nrc.vcf Normal file
View File

@ -0,0 +1,20 @@
BEGIN:VCARD
VERSION:4.0
SOURCE:https://natalieee.net/files/natalie-roentgen-connolly.vcf
KIND:individual
FN:natalie roentgen connolly
N:connolly;natalie;roentgen
NICKNAME:nat,0x6e6174,▖▖▖▖▘▖▖▖▖▘▌▖▖▖▘,6e6174b8-4dcb-4323-b5ca-c217425e13a7
PHOTO:https://natalieee.net/files/vcard-photo-field.jpg
GENDER:N;preferrably not
X-PRONOUNS:it/its
TZ:Los Angeles/North America
LANG:en
BDAY:20070401
EMAIL;type=home:natalie@natalieee.net
URL:https://natalieeee.net
UID:urn:uuid:6e6174b8-4dcb-4323-b5ca-c217425e13a7
KEY:data:application/pgp-keys;base64,mDMEZyF+dhYJKwYBBAHaRw8BAQdAuh3EVhqODqs4DQasm/jUILG+4cNj0Q3Gb8SITEhqNNu0PW5hdGFsaWUgcm9lbnRnZW4gY29ubm9sbHkgKGJlZXAgYm9vcCkgPG5hdGFsaWVAbmF0YWxpZWVlLm5ldD6ImQQTFgoAQRYhBJo0/NsX3ToM9ZBiC6HD1we8+QjlBQJnIX52AhsDBQkDwmcABQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJEKHD1we8+Qjl0VYBAKrJtKM2bJj6hsU+kTt8HXxDNdCY37eSL6GxzQ4fGBqJAP9NuysVDyyFVL7HOkUa3XbNFkxgSNNfDSXnyXG1/JnZDrg4BGchfnYSCisGAQQBl1UBBQEBB0CebBBPcowxbCbOIAM9aJAe2kHbNZ4bIxZT7klRjf0+WgMBCAeIfgQYFgoAJhYhBJo0/NsX3ToM9ZBiC6HD1we8+QjlBQJnIX52AhsMBQkDwmcAAAoJEKHD1we8+QjldDoBAIj3f2uA6AWu08lWSBkEDKrzKMduShD/Pv8jvDyznHvHAP0VskOMQSFg9MBrwZ+7azZzgnCs2FSiZvHJW7HTo4v9Bw==
NOTE:beep boop
REV:2024-10-24T06:41:28.100Z
END:VCARD

View File

@ -1 +1 @@
<i style='font-family: MapleMonoItalic'>natalie</i>@2024-04-10_17:31:12-327<br>dammit albert<br><br> <i style='font-family: MapleMonoItalic'>natalie</i>@2024-04-10_17:31:12-327<br>dammit unnamed friend entity<br><br>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
files/vcard-photo-field.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: romantic relationships are made up, it thinks --> <!-- TITLE: romantic relationships are made up, it thinks -->
<!-- DATE: 2024-09-05 05:22:24 --> <!-- DATE: 2024-09-05 05:22:24 -->
<!-- CATEGORIES: natalie being multiple words that start with "a";rambling -->
this concept simply does not make sense to it. this concept simply does not make sense to it.
<br><br> <br><br>
it understands the idea of wanting beings that one is close to. this makes perfect sense to it.<br> it understands the idea of wanting beings that one is close to. this makes perfect sense to it.<br>
@ -18,7 +20,7 @@ here is the count for how many times people have asked such a question regarding
<ul> <ul>
<li>cecilie: 21</li> <li>cecilie: 21</li>
<li>odette: 13</li> <li>odette: 13</li>
<li>albert: 1</li> <li>unnamed friend entity: 1</li>
</ul> </ul>
recently, cecilie was happy about the 20th increment to this count because it means that the interlocking metal hearts with notches for each time someone has asked this question that it made this (with a forge and anvil! very cool) would have both a multiple of 10 total notches and the same number of notches on each heart. recently, cecilie was happy about the 20th increment to this count because it means that the interlocking metal hearts with notches for each time someone has asked this question that it made this (with a forge and anvil! very cool) would have both a multiple of 10 total notches and the same number of notches on each heart.
the indicator shall be pictured below, because natalie thinks it is very cool. the indicator shall be pictured below, because natalie thinks it is very cool.

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: audio is bad. so is computer. --> <!-- TITLE: audio is bad. so is computer. -->
<!-- DATE: 2024-07-24 17:18:11 --> <!-- DATE: 2024-07-24 17:18:11 -->
<!-- CATEGORIES: complaining;computers -->
while natalie was making $[make-link /stats/what-song-is-it-listening-to], specifically while it was writing the service that would send song updates to the server from its laptop, it decided to make mpd started by its init system (openrc). while natalie was making $[make-link /stats/what-song-is-it-listening-to], specifically while it was writing the service that would send song updates to the server from its laptop, it decided to make mpd started by its init system (openrc).
this quickly devolved in to also making pipewire start from its init system. prior to now, it was start by an init script ran by the compositor natalie uses, which would run <code>unfuck audio</code>. for some reason, likely due to the fact that natalie uses seatd instead of elogind for session management on its primary laptop, the default artix init scripts for all pipewire related services and mpd did not work. this quickly devolved in to also making pipewire start from its init system. prior to now, it was start by an init script ran by the compositor natalie uses, which would run <code>unfuck audio</code>. for some reason, likely due to the fact that natalie uses seatd instead of elogind for session management on its primary laptop, the default artix init scripts for all pipewire related services and mpd did not work.
it spent around two hours hacking on these, and now have arrived at a system which vaguely works. both mpd and {pipewire,pipewire-pulse,wireplumber} are started by init, however, for some reason which is entirely obscure to it, pipewire does not recognize anything other than its bluetooth headphones. it spent around two hours hacking on these, and now have arrived at a system which vaguely works. both mpd and {pipewire,pipewire-pulse,wireplumber} are started by init, however, for some reason which is entirely obscure to it, pipewire does not recognize anything other than its bluetooth headphones.

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: dns --> <!-- TITLE: dns -->
<!-- DATE: 2024-07-26 07:18:22 --> <!-- DATE: 2024-07-26 07:18:22 -->
<!-- CATEGORIES: rambling;computers -->
odette, one of natalie's meat friends (not computer friends) (though she is a computery friend) just <a href='https://puppygirl.systems'>bought a domain</a>. apparently the registrar she bought it from didn't have an api, which was problematic because she does not have a static ip. odette, one of natalie's meat friends (not computer friends) (though she is a computery friend) just <a href='https://puppygirl.systems'>bought a domain</a>. apparently the registrar she bought it from didn't have an api, which was problematic because she does not have a static ip.
because natalie is a reasonable being, it decided to start hosting dns for her. now it knows (some) things about dns! because natalie is a reasonable being, it decided to start hosting dns for her. now it knows (some) things about dns!
it likes learning things. it likes learning things.

101
html/thoughts/dollcode Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,27 @@
<!-- vim: ft=html -->
<!-- TITLE: nearly all educational institutions exist to mildly inconvenience natalie -->
<!-- DATE: 2024-10-18 23:48:55 -->
<!-- CATEGORIES: rambling;complaining;school -->
there is simply no other explanation.
<br><br>
the only time this one felt as though it was in an environment that valued learning was before it was in high school, when it was still going to a school that followed montessori principles (read: let it do whatever it wanted).
in high school, all of its classes (other than the dual credit or AP ones) were entirely busywork.
then, it dropped out of highschool because it did not like busywork and went to college, because it hoped there would be less busywork.
there was in fact more busywork in college, somehow.
it thought that reading 115 would not contain material from its second grade english class, yet evidently it was wrong.
<br><br>
because college contained even more busywork than high school, it has also dropped out of the college program to get its high school diploma.
this is for some reason an intelligent decision, as it can just take the GED immediately, and then go back to college as a regular college student the next term.
for some reason that is absolutely incomprehensible to natalie, with a GED, the college will not require it to take reading 115.
it is not sure why they will not just allow it to take the language arts placement test to skip that class, this seems as though it would be a lot less convoluted than dropping out of college, applying to the program that will make the college pay for the GED exam, and then immediately starting as a regular college student next term.
<br><br>
portland community college is such a baffling institution.
it scored a 97 on their math placement exam. it scored a 680 on the SAT math section. it has AP credit for math 251 from taking AP calc. it has math credit for math 243 from taking AP statistics. it has PCC credit from taking math 111 under a dual credit program.
the only two math classes they said it was allowed to take under the high school diploma program were MATH 111 (which it did in sophomore year! come on) and ALC 60 (remedial math).
fortunately, there was a secret third option where they just let it not take any math class. this is stupid, what is the point of a placement test if they ignore the result? what is the point of taking the SAT if they ignore the result? what is the point of having AP credit if they ignore it?
why are they like this?
what is the point of taking an english class in which one learns what an adjective is? this is a thing that everyone learned already in second grade.
<br><br>
it is excited to be free of the high school diploma program.
hopefully the amount of stupid busywork is lower once it starts actual college classes next term.
it probably wont be, so hopefully it gets prescribed adderall.

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: this website is bad and fonts are worse --> <!-- TITLE: this website is bad and fonts are worse -->
<!-- DATE: 2024-07-24 03:12:19 --> <!-- DATE: 2024-07-24 03:12:19 -->
<!-- CATEGORIES: complaining;computers -->
natalie is unsure as to what is going on?<br> natalie is unsure as to what is going on?<br>
on $[make-link /html/natalie-sightings.html], the font never loads. natalie has failed to ascertain why it is that this occurs, as this has only become an issue today and no edits have been made to that page remotely recently. what on earth.<br><br> on $[make-link /html/natalie-sightings.html], the font never loads. natalie has failed to ascertain why it is that this occurs, as this has only become an issue today and no edits have been made to that page remotely recently. what on earth.<br><br>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: the medical system --> <!-- TITLE: the medical system -->
<!-- DATE: 2024-09-07 05:44:47 --> <!-- DATE: 2024-09-07 05:44:47 -->
<!-- CATEGORIES: rambling;complaining;healthcare -->
<h2>how is it this bad?</h2> <h2>how is it this bad?</h2>
<hr> <hr>
<h3>endocrinological</h3> <h3>endocrinological</h3>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: it hates debian --> <!-- TITLE: it hates debian -->
<!-- DATE: 2024-09-03 04:19:03 --> <!-- DATE: 2024-09-03 04:19:03 -->
<!-- CATEGORIES: complaining;computers;why is debian? -->
much to natalie's detriment, this server runs debian. much to natalie's detriment, this server runs debian.
<br><br> <br><br>
such circumstances would most likely be acceptable if its computers were not cursed with not working in hard to explain ways.<br> such circumstances would most likely be acceptable if its computers were not cursed with not working in hard to explain ways.<br>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: there is less technical debt now. --> <!-- TITLE: there is less technical debt now. -->
<!-- DATE: 2024-07-27 17:24:16 --> <!-- DATE: 2024-07-27 17:24:16 -->
<!-- CATEGORIES: computers;change to site -->
<p>it modified almost every html file in the site. there are less problems now. </p> <p>it modified almost every html file in the site. there are less problems now. </p>
<p>thoughts like these are no longer viewed as iframes, images are now handled by its img-caption script: <p>thoughts like these are no longer viewed as iframes, images are now handled by its img-caption script:

View File

@ -0,0 +1,25 @@
<!-- vim: ft=html -->
<!-- TITLE: do not under any circumstances expect anyone to join a stupid fucking discord server to read documentation. fuck you. -->
<!-- DATE: 2025-03-25 18:51:46 -->
<!-- CATEGORIES: rambling;angry, either rationally or irrationally -->
<h2>documentation is meant to be read</h2>
do not make it harder for this one, or anyone else to read. if you do, it will hate you forever.
$[img-caption /files/thoughts/fuck-you-make-your-docs-public.png "a warning in a github readme, advising users to read the pinned post in the project discord for help with a recent issue"]
$[make-footnote "font antialiasing is disabled on its computer. the image will look bad unless at a certain size."]
<br><br>
do not make anyone ever join a discord server to read documentation.
if you can write a message about a problem in discord and pin it, you can copy that information in to a markdown document and push it to git.
it does not want to join your discord server. it does not want to join your matrix room. it does not want to join your arcane and non-publicly-indexed forum of any kind.
it wants to fix the issue it is having.
<br><br>
it is perfectly willing to join community forums in cases where it is interested in the project. this is not the issue.
the issue is someone arbitrarily deciding that&mdash;instead of simply providing one with the relevant information&mdash;that one must first solve some poorly constructed riddle made out of group invite links and login portals first, at no benefit to literally anyone.
<br><br>
it cannot understand the thought process that leads to doing this.
unfortunately, it seems to be a common one, as this one has encountered many instances of this.
it cannot fathom how utterly muffin-brained someone must be to write documentation on how to solve an issue and then deliberately obfuscate said documentation.
this makes it more annoyed than scientific articles being paywalled, because it can't even blame the capitalist greed.
publish documentation or don't write it in the first place.$[make-footnote "the particular instance pictured made it annoyed enough to write a \"thought\" for the first time in months."]
<br>
$[put-footnotes]

View File

@ -1,9 +1,11 @@
<!-- vim: ft=html -->
<!-- TITLE: metapost --> <!-- TITLE: metapost -->
<!-- DATE: 2024-09-20 04:22:41 --> <!-- DATE: 2024-09-20 04:22:41 -->
<!-- CATEGORIES: rambling;complaining;computers -->
<h2>it is annoyed by this medium</h2> <h2>it is annoyed by this medium</h2>
<hr> <hr>
this medium presents thoughts in a 1 dimensional manor without an ergonomic way to link between different posts. this medium presents thoughts in a 1 dimensional manor without an ergonomic way to link between different posts.
this annoys it because it generally tend to think of information such that each concept is a node and each relationship between concepts is an edge between those nodes on a two dimensional graph. this annoys it because it generally tends to think of information such that each concept is a node and each relationship between concepts is an edge between those nodes on a two dimensional graph.
the format of this webpage does not allow for such structure due to the linearity. the format of this webpage does not allow for such structure due to the linearity.
<hr> <hr>
perhaps a "digital garden" or similar system would be a better means of managing this page. perhaps a "digital garden" or similar system would be a better means of managing this page.

46
html/thoughts/meta-2 Normal file
View File

@ -0,0 +1,46 @@
<!-- vim: ft=html -->
<!-- TITLE: re: metapost; things resembling an improvement -->
<!-- DATE: 2024-10-21 05:01:21 -->
<!-- CATEGORIES: change to site;computers;rambling -->
natalie has created an alternative means of viewing thoughts. $[make-footnote "$(make-link '/html/view-thought.html' 'find it here')"]
this new method improves upon its complaint regarding linearity in the last metapost by creating a system by which each post can be viewed as its own page.
this in theory adds for ergonomic linking between posts, though doing so would somewhat deprecate the prior means of viewing them in favor of the new means.
it is not sure how to feel about this.
$[put-footnotes]
<hr>
its new means of thought viewing relies on some absolutely cursed code, it is very amused by this.
<pre>
<span class="-punctuation-bracket">(</span><span class="-function-macro">defun</span> <span class="-variable"><span class="-function">html</span></span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span>
<span class="-punctuation-bracket">(</span><span class="-variable">page</span> <span class="String">&quot;$[echo '$'][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' &amp;&amp; echo '{thought}' || echo thoughts index]&quot;</span>
<span class="-string-escape">`</span><span class="-punctuation-bracket">(</span><span class="-variable">section</span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span>
<span class="String">&quot;$[echo '$'][echo &gt; /tmp/footnote_count]&quot;</span>
<span class="-punctuation-bracket">(</span><span class="-variable">h1</span> <span class="-punctuation-bracket">(</span><span class="SpecialChar"><span class="-punctuation-special">:</span>style</span> <span class="String">&quot;display: $[echo '$'][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' &amp;&amp; echo block || echo none]&quot;</span><span class="-punctuation-bracket">)</span> <span class="String">&quot;$[echo '$'][cat ./html/thoughts/$(basename '{thought}') | grep '&lt;!-- TITLE:' | sed 's/&lt;!-- TITLE://; s/--&gt;//']&quot;</span><span class="-punctuation-bracket">)</span>
<span class="String">&quot;$[echo '$'][cat ./html/thoughts/$(basename '{thought}') | grep '&lt;!-- DATE:' | sed 's/&lt;!-- DATE://; s/--&gt;//']&quot;</span> <span class="-punctuation-bracket">(</span><span class="-variable">br</span><span class="-punctuation-bracket">)</span>
<span class="-punctuation-bracket">(</span><span class="-variable">div</span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span> <span class="String">&quot;$[echo '$'][include \&quot;./html/thoughts/$(basename '{thought}')\&quot;]&quot;</span><span class="-punctuation-bracket">)</span>
<span class="String">&quot;$[echo '$'][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' || (echo '&lt;h1&gt;thoughts:&lt;/h1&gt;'; ls ./html/thoughts | while read -r file; do echo \&quot;&lt;p&gt;$(cat ./html/thoughts/$file | grep '&lt;!-- DATE:' | sed 's/&lt;!-- DATE://; s/--&gt;//') &lt;a href=?thought=$file&gt;$(cat ./html/thoughts/$file | grep '&lt;!-- TITLE:' | sed 's/&lt;!-- TITLE://; s/--&gt;//')&lt;/a&gt;&lt;/p&gt;\&quot;; done | sort --numeric --reverse)]&quot;</span><span class="-punctuation-bracket">)</span><span class="-punctuation-bracket">)</span><span class="-punctuation-bracket">)</span>
</pre>
<details>
<summary>
this compiles to the following:
</summary>
<pre><xmp>
$[cat ./html/view-thought.html]
</xmp></pre>
</details>
a particularly amusing bit of this is <pre>
<span class="String">&quot;$[echo '$'][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}'</span>
</pre>
the reason the presence of the thought being set via the url parameter is checked like that is because comparing '{thought}' to '{thought}' would always be true.
when an html file contains a variable that the server does not have present when parsing the file, the variable is left as it is instead of being set to ''.
accordingly, we cannot do something like <code>test -z '{thought}'.</code>
<br><br>
one may think "natalie, is it not dangerous to run bash on user input supplied via url param? could one not send a request like the following: <pre>https://natalieee.net/html/view-thought.html?thought=python-goto%27;while%20true;%20do%20echo%20foo%20%3E%3E%20aoeu;%20done;%27</pre>"
the answer to such a thought is "yes, this is bad".
this badness should(?) be mitigated by the fact that it is impossible to get the server to process a ' in the request params. this hopefully makes RCE impossible, if not email it, please.
<hr>
another interesting feature of this new format is that it would allow for reasonable per-post comments.
this seems like it would be a good feature.
of course, no one actually reads these, but whatever.
per post comments would still be interesting, it could continue its tradition of refusing to use a database for absolutely no reason.
per post comments would also make the view-thought.html file even more cursed, which is amusing to it.

View File

@ -1,2 +1,4 @@
<!-- vim: ft=html -->
<!-- TITLE: this should really probably be made in to a monorepo. --> <!-- TITLE: this should really probably be made in to a monorepo. -->
<!-- DATE: 2024-10-06 23:47:51 --> <!-- DATE: 2024-10-06 23:47:51 -->
<!-- CATEGORIES: no body -->

31
html/thoughts/phones Normal file
View File

@ -0,0 +1,31 @@
<!-- vim: ft=html -->
<!-- TITLE: why are phones so bad? -->
<!-- DATE: 2024-10-23 10:10:10 -->
<!-- CATEGORIES: complaining;computers;natalie specific issues -->
in its experience, there are 0 phones that do not break every 2-4 months.
this is stupid because society made the baffling and frankly quite bad near unilateral decision that phones would be largely required to be a functional being.
<hr>
natalie used to have an iphone SE 1st gen (a1662).
this phone was awful by virtue of being a phone, but it worked.
unfortunately, phones are garbage, so this one probably spent $160 on screen replacements for it$[make-footnote 'how on earth can phones not survive being in a pocket? this is very easy'] because the screen would break every 2-4 months.
also, its home button, both cameras, and speakers all ceased to function and were accordingly removed.
<br><br>
eventually, its father gave it his old phone. this was a samsung galaxy s10e.
this phone managed to be worse than the iphone SE 1st gen a1662.
why on earth would anything design a phone the screen of which protrudes past the body of the phone such that if one dares to even observe it, the screen breaks?
this is like if they asked an engineer to design a phone and then did the exact opposite.
also, the corners were rounded.
not the corners of the case (though those were too), but the corners of the actual screen.
why on earth would one ever do this?
<blockquote>hello, LCD manufacturer? we would like a more expensive and worse screen please.</blockquote>
nonsense.
<br><br>
anyways, the s10e stopped charging and gives an overheat warning 80% of the time that natalie tries to turn it on (just being plugged in to usb-c).
it got this phone in july, so that is within the predicted range of 2-4 months.
<br><br>
why are phones like this?
it wants to not own a phone but they are so necessary.
it really is not sure why people need to be able to {text,call} it.
if one wants to communicate with it, they can send it an email.
this is not a difficult concept, and yet it still regularly receives text messages and phone calls.
$[put-footnotes]

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: implementing goto statements in python (in under 50 lines)--> <!-- TITLE: implementing goto statements in python (in under 50 lines)-->
<!-- DATE: 2024-09-12 08:43:04 --> <!-- DATE: 2024-09-12 08:43:04 -->
<!-- CATEGORIES: hacks;computers -->
python is extremely extensible, though natalie is not sure that is intentional. python is extremely extensible, though natalie is not sure that is intentional.
<hr> <hr>
firstly, here is the end product of this venture: firstly, here is the end product of this venture:

View File

@ -1,3 +1,5 @@
<!-- vim: ft=html -->
<!-- TITLE: re: post from 2024-07-24 10:12:19 --> <!-- TITLE: re: post from 2024-07-24 10:12:19 -->
<!-- DATE: 2024-07-28 11:25:45 --> <!-- DATE: 2024-07-28 11:25:45 -->
<!-- CATEGORIES: followup to prior post -->
this issue has fixed itself. it does not know why. it did not do anything that would have fixed this. it is mildly perturbed. this issue has fixed itself. it does not know why. it did not do anything that would have fixed this. it is mildly perturbed.

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- DATE: 2024-09-01 17:38:24 --> <!-- DATE: 2024-09-01 17:38:24 -->
<!-- TITLE: re: last thought; changes have been implemented --> <!-- TITLE: re: last thought; changes have been implemented -->
<!-- CATEGORIES: computers;change to site;followup to prior post -->
this site now uses <a href='https://git.natalieee.net/nat/htmlgen'>htmlgen</a> to generate html from common lisp and bash commands at compile time. this site now uses <a href='https://git.natalieee.net/nat/htmlgen'>htmlgen</a> to generate html from common lisp and bash commands at compile time.
this has massively improved loading times on nearly all pages by cutting the number of bash commands that need to be used. this has massively improved loading times on nearly all pages by cutting the number of bash commands that need to be used.
<hr> <hr>

View File

@ -1,2 +1,4 @@
<!-- vim: ft=html -->
<!-- TITLE: note to itself: develop better sleep schedule --> <!-- TITLE: note to itself: develop better sleep schedule -->
<!-- DATE: 2024-09-07 11:41:41 --> <!-- DATE: 2024-09-07 11:41:41 -->
<!-- CATEGORIES: no body -->

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: its friend made it a shirt! --> <!-- TITLE: its friend made it a shirt! -->
<!-- DATE: 2024-08-09 20:22:38 --> <!-- DATE: 2024-08-09 20:22:38 -->
<!-- CATEGORIES: natalie being only one word that starts with "a" -->
<image-column-container> <image-column-container>
<image-container> <image-container>
<flex-column> <flex-column>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: this website has a lot of technical debt and natalie should rewrite it --> <!-- TITLE: this website has a lot of technical debt and natalie should rewrite it -->
<!-- DATE: 2024-07-26 01:41:42 --> <!-- DATE: 2024-07-26 01:41:42 -->
<!-- CATEGORIES: complaining;computers;rambling -->
this is horrible and bad. the html of just about every webpage is utter garbage because the author is natalie. this is horrible and bad. the html of just about every webpage is utter garbage because the author is natalie.
rewriting everything is going to be such a task, a task that it really should do. rewriting everything is going to be such a task, a task that it really should do.
<br><br> <br><br>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: terminal emulators --> <!-- TITLE: terminal emulators -->
<!-- DATE: 2024-09-06 23:18:59 --> <!-- DATE: 2024-09-06 23:18:59 -->
<!-- CATEGORIES: computers;rambling -->
natalie thinks that its requirements for a terminal emulator are very simple. apparently they are not. natalie thinks that its requirements for a terminal emulator are very simple. apparently they are not.
<hr> <hr>
things that it does not want in a terminal: things that it does not want in a terminal:

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: things it should do --> <!-- TITLE: things it should do -->
<!-- DATE: 2024-08-09 17:22:38 --> <!-- DATE: 2024-08-09 17:22:38 -->
<!-- CATEGORIES: irregular lists -->
<h2>things to do:</h2> <h2>things to do:</h2>
<ul> <ul>
<li>send email</li> <li>send email</li>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: wow! --> <!-- TITLE: wow! -->
<!-- DATE: 2024-07-23 20:26:07 --> <!-- DATE: 2024-07-23 20:26:07 -->
<!-- CATEGORIES: change to site;computers -->
this post has been edited to remove behavior that would cause breakage at compile time in compliance with changes to site architecture discussed in "2024-08-21 00:25:12: this site serves pages slowly and with asymetric lag times" and the following post. <br> this post has been edited to remove behavior that would cause breakage at compile time in compliance with changes to site architecture discussed in "2024-08-21 00:25:12: this site serves pages slowly and with asymetric lag times" and the following post. <br>
one may think: "but posts don't get compiled". one would be correct, however they get included in documents at the compile time of those documents. <br> one may think: "but posts don't get compiled". one would be correct, however they get included in documents at the compile time of those documents. <br>
this caused behavior where every time the /html/random-thoughts.html page was rendered, it would render approximately 8 times the content. not ideal. <br> this caused behavior where every time the /html/random-thoughts.html page was rendered, it would render approximately 8 times the content. not ideal. <br>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: managing this website is complicated now --> <!-- TITLE: managing this website is complicated now -->
<!-- DATE: 2024-09-10 19:47:59 --> <!-- DATE: 2024-09-10 19:47:59 -->
<!-- CATEGORIES: complaining;computers;rambling -->
to keep this website up to date, natalie now has to manage three separate github repositories. to keep this website up to date, natalie now has to manage three separate github repositories.
this is not ideal, but the previous system was not either. this is not ideal, but the previous system was not either.
<hr> <hr>

View File

@ -1,5 +1,7 @@
<!-- vim: ft=html -->
<!-- TITLE: this site serves pages slowly and with asymetric lag times --> <!-- TITLE: this site serves pages slowly and with asymetric lag times -->
<!-- DATE: 2024-08-21 00:25:12 --> <!-- DATE: 2024-08-21 00:25:12 -->
<!-- CATEGORIES: complaining;computers -->
at the moment, page load times for some pages on this website are quite bad. at the moment, page load times for some pages on this website are quite bad.
<pre> <pre>
curl http://localhost:5000/html/random-thoughts.html 0.00s user 0.01s system 0% cpu 2.889 total curl http://localhost:5000/html/random-thoughts.html 0.00s user 0.01s system 0% cpu 2.889 total

View File

@ -0,0 +1,15 @@
<!-- TITLE: why is it it? -->
<!-- DATE: 2024-11-05 15:11:14 -->
<!-- CATEGORIES: natalie information -->
<!-- vim: ft=html -->
<blockquote>
why is it it?
</blockquote>
it is asked something vaguely similar to this with notable enough frequency to justify writing an explanation that it can link to for all future instances of such a query.
it is it for about 3 reasons:
<ol>
<li>it thinks the grammatical implications of not using first or second perspective pronouns are neat</li>
<li>it would rather be an object than a person</li>
<li>its internal monologue is just sort of like that. this makes speaking "normally" annoying because it needs to pass internal thoughts through a translation layer to speak "normally" (with standard perspective pronouns). it thought this was how most things thought. recently it was informed that most things do not think that way. following this, it decided to give up on translating its internal monologue to first or second perspective.$[make-footnote 'when referring to others, must the reader consult their internal lookup table that maps entities to pronouns? it has been told that this is also an irregular means of thinking.']</li>
</ol>
$[put-footnotes]

View File

@ -1,6 +1,8 @@
<!-- vim: ft=html -->
<!-- TITLE: why is wireless headphone firmware so bad? --> <!-- TITLE: why is wireless headphone firmware so bad? -->
<!-- DATE: 2024-07-29 00:26:54 --> <!-- DATE: 2024-07-29 00:26:54 -->
it is writing this at 12am on a termux session on its phone, on a bus home from its friend's house. that is neat. <!-- CATEGORIES: complaining;computers;rambling -->
it is writing this at 12:30am on a termux session on its phone, on a bus home from its friend's house. it will probably be formatted poorly.
<br> <br>
<br> <br>
its current headphones, and all the wireless ones it has ever had have used what can only be described as the worst firmware. why is this? how is it possible that there are 0 headphone firmware engineers that are competent? it does not understand. its current headphones, and all the wireless ones it has ever had have used what can only be described as the worst firmware. why is this? how is it possible that there are 0 headphone firmware engineers that are competent? it does not understand.

View File

@ -0,0 +1,33 @@
<!-- TITLE: {blog,random-thoughts} deprecation -->
<!-- DATE: 2024-10-31 12:43:27 -->
<!-- CATEGORIES: change to site -->
<!-- vim: ft=html -->
it rewrote the thought viewing interface. it is now comically slow, but a 2.3 second page load time really isn't that bad.
upon seeing the source code for the new interface ($[make-link "/html/view-thought.html"], replacing $[make-link "/html/random-thoughts.html"]), it is sure one will understand why it is so slow.
<pre>
<span class="-punctuation-bracket"><span class="MatchParen">(</span></span><span class="-function-macro">defun</span> <span class="-variable"><span class="-function">html</span></span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span>
<span class="-punctuation-bracket">(</span><span class="-variable">page</span> <span class="String">&quot;$[echo $][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' &amp;&amp; echo '{thought}' || echo thoughts index]&quot;</span>
<span class="-string-escape">`</span><span class="-punctuation-bracket">(</span><span class="-variable">section</span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span>
<span class="String">&quot;$[echo $][echo &gt; /tmp/footnote_count]&quot;</span>
<span class="-punctuation-bracket">(</span><span class="-variable">h1</span> <span class="-punctuation-bracket">(</span><span class="SpecialChar"><span class="-punctuation-special">:</span>style</span> <span class="String">&quot;display: $[echo $][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' &amp;&amp; echo block || echo none]&quot;</span><span class="-punctuation-bracket">)</span> <span class="String">&quot;$[echo $][cat ./html/thoughts/$(basename '{thought}') | grep '&lt;!-- TITLE:' | sed 's/&lt;!-- TITLE://; s/--&gt;//']&quot;</span><span class="-punctuation-bracket">)</span>
<span class="-punctuation-bracket">(</span><span class="-variable">div</span> <span class="-punctuation-bracket">(</span><span class="SpecialChar"><span class="-punctuation-special">:</span>style</span> <span class="String">&quot;height: 0; margin-top: 5px; justify-content: space-between; align-items: center; display: $[echo $][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' &amp;&amp; echo flex || echo none;]&quot;</span><span class="-punctuation-bracket">)</span>
<span class="-punctuation-bracket">(</span><span class="-variable">p</span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span> <span class="String">&quot;$[echo $][cat ./html/thoughts/$(basename '{thought}') | grep '&lt;!-- DATE:' | sed 's/&lt;!-- DATE://; s/--&gt;//']&quot;</span><span class="-punctuation-bracket">)</span>
<span class="-punctuation-bracket">(</span><span class="-variable">p</span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span> <span class="String">&quot;categories: $[echo $][cat ./html/thoughts/$(basename '{thought}') | grep '&lt;!-- CATEGORIES: ' | sed 's/&lt;!-- CATEGORIES: //; s/--&gt;//' | awk -F';' '{ for (i=1; i&lt;=NF; i++) { sub(/^ +| +$/, \&quot;\&quot;, $i); if ($i != \&quot;\&quot;) printf \&quot;&lt;a href=\\\&quot;?filter-category=%s\\\&quot;&gt;%s&lt;/a&gt;, \&quot;, $i, $i } }' | sed 's/, $//']&quot;</span><span class="-punctuation-bracket">)</span><span class="-punctuation-bracket">)</span>
<span class="String">&quot;$[echo $][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' &amp;&amp; echo '&lt;br&gt;' || true]&quot;</span>
<span class="-punctuation-bracket">(</span><span class="-variable">div</span> <span class="-punctuation-bracket">(</span><span class="-punctuation-bracket">)</span> <span class="String">&quot;$[echo $][include \&quot;./html/thoughts/$(basename '{thought}')\&quot;]&quot;</span><span class="-punctuation-bracket">)</span>
<span class="String">&quot;$[echo $][test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' || echo '&lt;h1&gt;posts:&lt;/h1&gt;']&quot;</span>
<span class="String">&quot;$[echo $][test \&quot;$(echo '{' 'filter-category' '}' | sed 's/ //g')\&quot; != '{filter-category}' || test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' || (ls ./html/thoughts | while read -r file; do echo \&quot;&lt;div&gt;$(cat ./html/thoughts/$file | grep '&lt;!-- DATE:' | sed 's/&lt;!-- DATE://; s/--&gt;//') &lt;a href=?thought=$file&gt;$(cat ./html/thoughts/$file | grep '&lt;!-- TITLE:' | sed 's/&lt;!-- TITLE://; s/--&gt;//')&lt;/a&gt;&lt;br&gt;categories: $(cat ./html/thoughts/$file | grep '&lt;!-- CATEGORIES: ' | sed 's/&lt;!-- CATEGORIES: //; s/--&gt;//' | awk -F';' '{ for (i=1; i&lt;=NF; i++) { sub(/^ +| +$/, \&quot;\&quot;, $i); if ($i != \&quot;\&quot;) printf \&quot;&lt;a href=\\\&quot;?filter-category=%s\\\&quot;&gt;%s&lt;/a&gt;, \&quot;, $i, $i } }' | sed 's/, $//')&lt;/div&gt;\&quot;; done | sort --numeric --reverse)]&quot;</span>
<span class="String">&quot;$[echo $][test \&quot;$(echo '{' 'filter-category' '}' | sed 's/ //g')\&quot; != '{filter-category}' &amp;&amp; test \&quot;$(echo '{' 'thought' '}' | sed 's/ //g')\&quot; != '{thought}' || (ls ./html/thoughts | while read -r file; do grep '&lt;!-- CATEGORIES: ' ./html/thoughts/$file | grep '{filter-category}' &amp;&amp; echo \&quot;&lt;div&gt;$(cat ./html/thoughts/$file | grep '&lt;!-- DATE:' | sed 's/&lt;!-- DATE://; s/--&gt;//') &lt;a href=?thought=$file&gt;$(cat ./html/thoughts/$file | grep '&lt;!-- TITLE:' | sed 's/&lt;!-- TITLE://; s/--&gt;//')&lt;/a&gt;&lt;br&gt;categories: $(cat ./html/thoughts/$file | grep '&lt;!-- CATEGORIES: ' | sed 's/&lt;!-- CATEGORIES: //; s/--&gt;//' | awk -F';' '{ for (i=1; i&lt;=NF; i++) { sub(/^ +| +$/, \&quot;\&quot;, $i); if ($i != \&quot;\&quot;) printf \&quot;&lt;a href=\\\&quot;?filter-category=%s\\\&quot;&gt;%s&lt;/a&gt;, \&quot;, $i, $i } }' | sed 's/, $//')&lt;/div&gt;\&quot;; done | sort --numeric --reverse)]&quot;</span><span class="-punctuation-bracket">)</span><span class="-punctuation-bracket">)</span><span class="-punctuation-bracket"><span class="MatchParen">)</span></span>
</pre>
bash is very slow. they should make bash, but with a JIT compiler. maybe natalie[ee] will invent a syntax for running lua code serverside instead of bash.
it has been thinking of rewriting sludge in lua, anyways.
<hr>
ignoring the prior tangent, it has decided it will never fix the blog. this will function as the new blog (which it is basically doing already). the old thought viewing interface will no longer be maintained, but will probably still mostly function.
<hr>
<pre>
~ λ hyperfine -m30 -M30 'curl https://natalieee.net/html/view-thought.html'
Benchmark 1: curl https://natalieee.net/html/view-thought.html
Time (mean ± σ): 2.354 s ± 0.170 s [User: 0.011 s, System: 0.006 s]
Range (min … max): 2.147 s … 2.964 s 30 runs
</pre>
amusing.

42
robots.txt Normal file
View File

@ -0,0 +1,42 @@
User-agent: AI2Bot
User-agent: Ai2Bot-Dolma
User-agent: Amazonbot
User-agent: anthropic-ai
User-agent: Applebot
User-agent: Applebot-Extended
User-agent: Bytespider
User-agent: CCBot
User-agent: ChatGPT-User
User-agent: Claude-Web
User-agent: ClaudeBot
User-agent: cohere-ai
User-agent: Diffbot
User-agent: DuckAssistBot
User-agent: FacebookBot
User-agent: facebookexternalhit
User-agent: FriendlyCrawler
User-agent: Google-Extended
User-agent: GoogleOther
User-agent: GoogleOther-Image
User-agent: GoogleOther-Video
User-agent: GPTBot
User-agent: iaskspider/2.0
User-agent: ICC-Crawler
User-agent: ImagesiftBot
User-agent: img2dataset
User-agent: ISSCyberRiskCrawler
User-agent: Kangaroo Bot
User-agent: Meta-ExternalAgent
User-agent: Meta-ExternalFetcher
User-agent: OAI-SearchBot
User-agent: omgili
User-agent: omgilibot
User-agent: PerplexityBot
User-agent: PetalBot
User-agent: Scrapy
User-agent: Sidetrade indexer bot
User-agent: Timpibot
User-agent: VelenPublicWebCrawler
User-agent: Webzio-Extended
User-agent: YouBot
Disallow: /

7
scripts/add-following-88x31s Executable file
View File

@ -0,0 +1,7 @@
toot following 0x6e6174 | cut -d' ' -f2 | while read -r account; do
url="$(toot whois $account | grep -i site -A1 | grep -E 'https?://')/.well-known/button.json";
[ -n "${url}" ] && response="$(curl -s -o /dev/null -w '%{http_code}' "${url}")";
[ "$response" -eq "200" ] && body="$(curl -s "${url}" | jq -r '.default as $default | .buttons[] | select(.id == $default) | "<a href=\"\(.link)\" id=\"\(.id)\"><img src=\"\(.uri)\" alt=\"\(.alt)\"></a>"' 2>/dev/null)"
[ -n "${body}" ] && echo "${body}" > ./files/88x31/$(echo $url | sed 's/https:\/\///g; s/.well-known\/button.json//; s/\//-/g; s/.$//').html
body=''
done

View File

@ -33,9 +33,9 @@
--alt-bg: #dde1e6; --alt-bg: #dde1e6;
--fg: #161616; --fg: #161616;
--hl: #33b1ff; --hl: #33b1ff;
--link: #0f62fe; --link: #0154EF;
--visited-link: #673ab7; --visited-link: #673ab7;
--highlight: #0f62fe; --highlight: #0154EF;
--gray: #525252; --gray: #525252;
background: var(--bg); background: var(--bg);
background-image: radial-gradient(var(--gray) 2px, var(--alt-bg) 2px); background-image: radial-gradient(var(--gray) 2px, var(--alt-bg) 2px);
@ -45,6 +45,13 @@
align-items: center; align-items: center;
} }
.-punctuation-bracket {color: #ff7eb6}
.-function-macro {color: #08bdba}
.SpecialChar {color: #37474f}
.-punctuation-special {color: #ff7eb6}
.-variable {color: #37474f}
.-string-escape {color: #ffab91}
.-function {font-weight: bold; color: #673ab7}
.-punctuation-bracket {color: #ff7eb6} .-punctuation-bracket {color: #ff7eb6}
.-keyword-function {color: #ff7eb6} .-keyword-function {color: #ff7eb6}
.Number {color: #ffab91} .Number {color: #ffab91}
@ -56,11 +63,16 @@
.-function-builtin {color: #673ab7} .-function-builtin {color: #673ab7}
.Type {color: #ee5396} .Type {color: #ee5396}
.-function {font-weight: bold; color: #673ab7} .-function {font-weight: bold; color: #673ab7}
.String {color: #be95ff}
.Comment {font-style: italic; color: #161616} .Comment {font-style: italic; color: #161616}
.Boolean {color: #ee5396} .Boolean {color: #ee5396}
.-keyword-operator {color: #ff7eb6} .-keyword-operator {color: #ff7eb6}
.-punctuation-delimiter {color: #ff7eb6} .-punctuation-delimiter {color: #ff7eb6}
.-tag {color: #ee5396}
.-tag-delimiter {color: #ffab91}
.Operator {color: #ee5396}
.Underlined {text-decoration-line: underline}
.-tag-attribute {color: #ffab91}
.String {color: #be95ff}
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {
:root { :root {
@ -74,6 +86,13 @@
--gray: #202020; --gray: #202020;
} }
.-punctuation-bracket {color: #3ddbd9}
.-function-macro {color: #08bdba}
.SpecialChar {color: #d0d0d0}
.-punctuation-special {color: #3ddbd9}
.-variable {color: #d0d0d0}
.-string-escape {color: #82cfff}
.-function {font-weight: bold; color: #ff7eb6}
.-punctuation-bracket {color: #3ddbd9} .-punctuation-bracket {color: #3ddbd9}
.-keyword-function {color: #3ddbd9} .-keyword-function {color: #3ddbd9}
.Number {color: #82cfff} .Number {color: #82cfff}
@ -208,9 +227,8 @@ footer {
justify-content: flex-start; justify-content: flex-start;
} }
a { a {
margin: 0 !important;
display: flex; display: flex;
float: right; float: right;
width: 88px; width: 88px;
@ -293,6 +311,7 @@ figure {
margin-bottom: 15px; margin-bottom: 15px;
> a { > a {
width: auto;
padding: 10px; padding: 10px;
padding-bottom: 0; padding-bottom: 0;
@ -338,6 +357,12 @@ iframe {
overflow: hidden; overflow: hidden;
} }
blockquote {
border-left: 10px solid var(--gray);
margin: 4px 16px;
padding-left: 10px;
}
summary { summary {
-webkit-user-select: none; -webkit-user-select: none;
-ms-user-select: none; -ms-user-select: none;
@ -357,6 +382,11 @@ xmp {
a { a {
color: var(--link); color: var(--link);
width: fit-content
}
a ~ a, li:has(a), a ~ span > a {
margin: 4px 0;
} }
a:visited { a:visited {
@ -378,6 +408,7 @@ sup {
footnote { footnote {
font-size: 13px; font-size: 13px;
margin-top: 20px; margin-top: 20px;
display: flex;
} }
.post { .post {