1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
|
<div class="TText">
<h3><ruby>linguae<rp>(</rp><rt>languages</rt><rp>)</rp></ruby></h3>
<div class="ubx-container">
<div class="ubx"><div class="ubx-ll">ipa-0</div>
<div class="ubx-lr">This user does not understand the International Phonetic Alphabet.</div></div>
<div class="ubx"><div class="ubx-ll">en-0</div>
<div class="ubx-lr">This user does not understand English (or understands it with considerable difficulty).</div></div>
<div class="ubx"><div class="ubx-ll">fr-0</div>
<div class="ubx-lr"><span title="French-language text" lang="fr-fr">Cet utilisateur ne comprend pas le français ou seulement avec des difficultés notables.</span></div></div>
<div class="ubx"><div class="ubx-ll">zh-0</div>
<div class="ubx-lr"><span title="Chinese-language text" lang="zh-hk">此用戶無法理解中文,或難以理解中文。</span></div></div>
<div class="ubx"><div class="ubx-ll">la-0</div>
<div class="ubx-lr"><span title="Latin-language text" lang="la">HIC·​VSOR·​LINGVAM·​LATINAM·​NON·​INTELLEGIT·​AVT·​EAM·​INTELLEGIT·​AEGRE.</span></div></div>
<div class="ubx"><div class="ubx-ll" style="font-family:serif;font-weight:500;font-size:14px;"><div><span title="Chinese-language text" lang="zh-hk">漢字</span><br><s title="Chinese-language text" lang="zh-cn">汉字</s></div></div>
<div class="ubx-lr"><span title="Chinese-language text" lang="zh-hk">此用戶反對運動式的漢字簡化。</span></div></div>
<div class="ubx"><div class="ubx-ll" style="font-size:24px;">⸮</div>
<div class="ubx-lr">This about page contains sarcasm.</div></div>
</div>
<hr>
<h3><ruby>res meae<rp>(</rp><rt>facts about me</rt><rp>)</rp></ruby></h3>
<div class="ubx-container">
<div class="ubx"><div class="ubx-ll">cs.PL</div>
<div class="ubx-lr">This user is a computer scientist wannabe.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/icpc.svg" class="hf" alt="Logo of the International Collegiate Programming Contest"></div>
<div class="ubx-lr">This user was into competitive programming once upon a time.</div></div>
<script>
function ubxLocalTimeInit() {
const ZONE = "America/New_York";
//https://stackoverflow.com/a/63199512
const getTimezoneOffset = (timeZone, date = new Date()) => {
const tz = date.toLocaleString("en", {timeZone, timeStyle: "long"}).split(" ").slice(-1)[0];
const dateString = date.toString();
const offset = Date.parse(`${dateString} UTC`) - Date.parse(`${dateString} ${tz}`);
return offset;
}
window.utcoffset = getTimezoneOffset(ZONE);
const formatLocalTimeISO = (d, offset) => {
const s = d.toISOString();
const ssub = s.substring(s, s.length - 5);
if (offset == 0) {
return ssub + 'Z';
} else {
let offsetmin = Math.floor(Math.abs(offset) / 60000);
const offsethr = Math.floor(offsetmin / 60);
offsetmin %= 60;
return ssub + (offset > 0 ? '+' : '-') + offsethr.toString().padStart(2, '0') + ':' + offsetmin.toString().padStart(2, '0');
}
}
const updatetime = () => {
const dsre = /([0-9\-]*)(T)([0-9:.]*)(Z|[+-−][0-9:.]*)/;
let d = new Date(Date.now() + window.utcoffset);
if (d.getUTCSeconds() == 0 && d.getUTCMinutes() == 0) {
window.utcoffset = getTimezoneOffset(ZONE);
d = new Date(Date.now() + window.utcoffset);
}
const offsethrstr = "UTC" + (window.utcoffset > 0 ? '+' : '-') + Math.floor(Math.abs(window.utcoffset) / 3600000);
document.getElementById("ubx-tz").innerHTML = offsethrstr;
const m = formatLocalTimeISO(d, window.utcoffset).match(dsre);
document.getElementById("ubx-localtime-time").innerHTML = `${m[1]}<span class="datet">${m[2]}</span>${m[3]}<span class="datetz">${m[4]}</span>`;
}
document.getElementById("ubx-localtime").innerHTML = `This user's localtime is <br><span id="ubx-localtime-time"></span>.`;
document.getElementById("ubx-localtime").title = ZONE;
updatetime();
window.setInterval(updatetime, 1000);
}
document.addEventListener("DOMContentLoaded", ubxLocalTimeInit);
</script>
<div class="ubx"><div class="ubx-ll" style="white-space:unset;font-size:12px;" id="ubx-tz">UTC-4 UTC-5</div>
<div class="ubx-lr" id="ubx-localtime">The zoneinfo entry for this user's localtime is America/New_York.</div></div>
<div class="ubx"><div class="ubx-ll" style="white-space:unset;"><span style="transform:scale(.85,1);" title="Fear of the number four">TETRA-PHOBIA</span></div>
<div class="ubx-lr">This user is of Chinese ancestry.</div></div>
<div class="ubx"><div class="ubx-ll" lang="orv" title="Old East Slavic text meaning "word"">слово</div>
<div class="ubx-lr">This user allegedly has partial Slavic ancestry.</div></div>
<div class="ubx"><div class="ubx-ll">1997</div>
<div class="ubx-lr">This user is a "Zillennial".</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1fac0.svg" width="32" alt="Anatomical heart emoji"></div>
<div class="ubx-lr">This user has a heart condition.</div></div>
<div class="ubx"><div class="ubx-ll"><span class="crossed-out" title="3D model of oleic acid with a red X on it"><img src="/ubx-rsc/Oleic-acid-3D-vdW-sc.webp" class="hf" alt="3D model of cis-9-Octadecenoic acid"></span></div>
<div class="ubx-lr">This user is <i>not</i> cis.</div></div>
<div class="ubx"><div class="ubx-ll"><div style="width:100%;height:100%;background:linear-gradient(to bottom,#000 25%, #a3a3a3 25% 50%, #fff 50% 75%,#800080 75%);" title="Asexuality pride flag"></div></div>
<div class="ubx-lr">This user is ace.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/userbox_love_no.svg" class="v90" alt="Userbox with heart"></div>
<div class="ubx-lr">This about page is littered with <a rel="external" target="_blank" href="https://en.wikipedia.org/wiki/Wikipedia:Userboxes">Userboxes</a> as seen on Wikipedia. <a href="/ubx-rsc/attributions.txt">Click me for image attributions</a>.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f452.svg" width="32" alt="Woman's hat emoji"></div>
<div class="ubx-lr">This user is not the late Queen of the United Kingdom, but still likes hats.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f4ad.svg" width="32" alt="Thought balloon emoji"></div>
<div class="ubx-lr">多行不義必自斃。<br>Unjust is doomed to destruction.</div></div>
</div>
<hr>
<h3><ruby>programmatura<rp>(</rp><rt>software</rt><rp>)</rp></ruby></h3>
<div class="ubx-container"><div class="ubx"><div class="ubx-ll">FOSS</div>
<div class="ubx-lr">This user prefers free software and has made <a href="#contribproj">contributions to multiple FOSS projects</a>.</div></div>
<div class="ubx"><div class="ubx-ll ubx-emojislot">⌨️</div>
<div class="ubx-lr">This user can type at 90 WPM.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Gentoo_Linux_logo_matte.svg" class="v80" alt="Gentoo Linux Logo"></div>
<div class="ubx-lr">This user uses Gentoo Linux.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Openlogo-debianV2.svg" class="v80" alt="Debian GNU/Linux Logo"></div>
<div class="ubx-lr">This user runs Debian GNU/Linux on servers.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Arch_Linux__Crystal__icon.svg" class="v80" alt="Arch Linux Logo"></div>
<div class="ubx-lr">This user also uses Arch Linux, by the way.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Klickety_Cuffs.webp" class="hf" alt="A butchered Windows Logo with handcuffs"></div>
<div class="ubx-lr">This user runs Microsoft Windows under duress.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Userbox_Classic_Mac_OS.webp" class="v90" alt="A not very accurate rendation of the old Apple Inc Logo"></div>
<div class="ubx-lr">This user dreads macOS and all post-2015 Apple products.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Vimlogo.svg" class="v80" alt="Vim Logo"></div>
<div class="ubx-lr">This user uses Vim.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/fvwm-block-logo.webp" class="vf" alt="FVWM Logo"></div>
<div class="ubx-lr">This user uses FVWM.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/firefox.svg" class="v80" alt="Firefox Logo"></div>
<div class="ubx-lr">This website is tested on Firefox and Chromium.</div>
<div class="ubx-ll"><img src="/ubx-rsc/chromium.svg" class="v80" alt="Chromium Logo"></div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/lynx.webp" style="image-rendering:pixelated;" class="v80" alt="Lynx Logo created by Brandi Weed based on a character by Conrad Wong"></div>
<div class="ubx-lr">This website is readable with <a rel="external" target="_blank" href="https://lynx.invisible-island.net/lynx.html">Lynx</a> and the like.</div></div>
</div>
<hr>
<h3><ruby>apparatus<rp>(</rp><rt>hardware</rt><rp>)</rp></ruby></h3>
<div class="ubx-container">
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/IBM_TrackPoint_cr.webp" class="vf" alt="The TrackPoint on the keyboard of a ThinkPad"></div>
<div class="ubx-lr">This user owns multiple ThinkPad laptops.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Framework_Computer_emblem.svg" class="v80" alt="Framework Computer Logo in a circle"></div>
<div class="ubx-lr">This user has a laptop made by Framework Computer Inc.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Userbox_Classic_Mac_OS.webp" class="v90" alt="A not very accurate rendation of the old Apple Inc Logo"></div>
<div class="ubx-lr">This user has a PowerBook G4 but doesn't really use it any more.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/IPod_wheel.svg" class="v90" alt="Click wheel on an iPod Classic"></div>
<div class="ubx-lr">This user has an iPod.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Raspberry_Pi_Logo.svg" class="v80" alt="Raspberry Pi Logo"></div>
<div class="ubx-lr">This user owns more than a dozen Raspberry Pi boards.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Server.svg" class="hf" alt="Icon of a generic server"></div>
<div class="ubx-lr">This user has a homelab.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f3ba.svg" width="32" alt="Trumpet emoji"></div>
<div class="ubx-lr">This user has a bunch of hardware synthesizers and doesn't know what to do with them.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Circle-icons-tools.svg" class="h80" alt="Icon containing a wrench and a screwdriver"></div>
<div class="ubx-lr">This user has performed component-level repairs on electronics and supports the right to repair. </div></div>
</div>
<hr>
<h3><ruby>ioci<rp>(</rp><rt>amusements</rt><rp>)</rp></ruby></h3>
<div class="ubx-container">
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/Grass_Block_JE7_BE6.webp" class="v80" alt="Grass block from Minecraft"></div>
<div class="ubx-lr">This user <i>might be</i> somewhat addicted to Minecraft.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u262f.svg" width="32" alt="Yin yang emoji"></div>
<div class="ubx-lr">This user was an avid player of shooting games from the Touhou Project.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f62d.svg" width="32" alt="Loudly crying face emoji"></div>
<div class="ubx-lr">... but stopped playing because of massive skill issues.</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f3b6.svg" width="32" alt="Multiple musical notes emoji"></div>
<div class="ubx-lr">This user is a music producer (sometimes).</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f3b9.svg" width="32" alt="Musical keyboard emoji"></div>
<div class="ubx-lr">This user plays the piano (rarely).</div></div>
<div class="ubx"><div class="ubx-ll">—</div>
<div class="ubx-lr"><i style="color:var(--link-active-fg);">This space is for rent.</i></div></div>
</div>
<hr>
<h3><ruby>linguae programmationis<rp>(</rp><rt>programming languages</rt><rp>)</rp></ruby></h3>
<div class="ubx-container">
<div class="ubx"><div class="ubx-ll">ASM-0</div>
<div class="ubx-lr">This user does not understand assembly (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll"><span style="transform:scale(.75,1);">BASIC-0</span></div>
<div class="ubx-lr">This user does not understand BASIC (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">C-0</div>
<div class="ubx-lr">This user does not understand C (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">C++-0</div>
<div class="ubx-lr">This user does not understand C++ (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">hs-0</div>
<div class="ubx-lr">This user does not understand Haskell (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll"><span style="transform:scale(.9,1);">Java-0</span></div>
<div class="ubx-lr">This user does not understand Java (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">js-0</div>
<div class="ubx-lr">This user does not understand JavaScript (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">ml-0</div>
<div class="ubx-lr">This user does not understand ML (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">lua-0</div>
<div class="ubx-lr">This user does not understand Lua (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll"><span style="transform:scale(.9,1);">lisp-0</span></div>
<div class="ubx-lr">This user does not understand Lisp (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">pas-0</div>
<div class="ubx-lr">This user does not understand Pascal (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">php-0</div>
<div class="ubx-lr">This user does not understand PHP (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">py-0</div>
<div class="ubx-lr">This user does not understand Python (or does not want to program in it).</div></div>
<div class="ubx"><div class="ubx-ll">rs-0</div>
<div class="ubx-lr">This user does not understand Rust (or does not want to program in it).</div></div>
</div>
<hr>
<h3><ruby>conexiones<rp>(</rp><rt>contact</rt><rp>)</rp></ruby></h3>
<div class="ubx-container">
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f4ec.svg" width="32" alt="Open mailbox with raised flag emoji"></div>
<div class="ubx-lr">Send your complaints to <code style="font-weight:bold;text-decoration:underline dotted;font-size:12px;" class="TText" title="Do not use this address if your e-mail provider does not use a reliable DNS.">chris@pineapple.cat</code></div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f4ed.svg" width="32" alt="Open mailbox with lowered flag emoji"></div>
<div class="ubx-lr">Or to this alternative address if you can decipher it: <code style="font-weight:bold;text-decoration:underline dotted;word-break:break-all;" class="TText" title="Paste this into a POSIX-compliant shell. Sorry Windows users.">echo '49:CDac`_hfo8>2:=]4@>' | tr '\!-~' 'P-~\!-O'</code></div></div>
<div class="ubx"><div class="ubx-ll">[ m ]</div>
<div class="ubx-lr">This user is on Matrix <br> @chirs241097:matrix.org</div></div>
<div class="ubx"><div class="ubx-ll"><img src="/ubx-rsc/emoji_u1f511.svg" width="24" alt="Key emoji"></div>
<div class="ubx-lr"><a href="/pubkey.txt">My GPG public key</a>, if you want to use it.</div></div>
</div>
<hr>
<h3><ruby>frequenter allatae quaestiunculae<rp>(</rp><rt>frequently asked questions</rt><rp>)</rp></ruby></h3>
<div class="qablock">
Q1: Why is it "chirs241097" instead of "chris241097" in your usernames?<br>
A1: That was an old typo...
<br>
However according to the Haskell tutorial found at haskell.org,
<code class="TText" style="background:rgba(128,128,128,0.4);border:1px rgba(128,128,128,0.4) solid;">"chirs" == sort "chris"</code>
and is her twin nemesis. So that was an unintended, but appreciated side-effect.
</br>
Why did I use "her" here? I wish I had an answer for you!
</div>
<div class="qablock">
Q2: Why do the pages on your site look <i>so</i> ugly?<br>
A2: The reason is simple but "irrefutable": I simply <i>like</i> this style.
</div>
<div class="qablock">
Q3: What the hell is the favicon of your site?<br>
A3: Well, it's something I cobbled together in a minute, half of which was me
picking the color :).
</div>
<div class="qablock">
Q4: Who's that character down there?<br>
A4: <a rel="external" target="_blank" href="https://en.touhouwiki.net/wiki/Koishi_Komeiji">Komeiji Koishi</a>, manipulator of the unconscious mind.
<br>
The illustration is created by <a rel="external" target="_blank" href="https://www.pixiv.net/users/654238">ana</a> and you may <a rel="external" target="_blank" href="https://www.pixiv.net/artworks/7768871">find the original here</a>.
</div>
|