refreshing pages & look and feel a bit

hopefully the new :folder: and :page: icons help you navigate the hobby corners better
This commit is contained in:
liquidex 2024-06-13 21:18:41 +02:00
parent 7720c9df0b
commit d968da10a0
24 changed files with 453 additions and 204 deletions

View file

@ -145,7 +145,7 @@
+ ### the treehouse is a mostly statically generated website + ### the treehouse is a mostly statically generated website
% id = "01H89RFHCQ2GWJPTAKTRGS1QAC" % id = "01H89RFHCQ2GWJPTAKTRGS1QAC"
- weird poems and philosophical talk are over, it's time to focus on the tech. + weird poems and philosophical talk are over, it's time to focus on the tech.
% id = "01H8V55APDEF8WTQ3KFC7E9HWB" % id = "01H8V55APDEF8WTQ3KFC7E9HWB"
- call this an overview, Defense of Design, or what have you - call this an overview, Defense of Design, or what have you
@ -170,14 +170,14 @@
- (yes, I know that website is super old, but I still find it incredibly funny :hueh:) - (yes, I know that website is super old, but I still find it incredibly funny :hueh:)
% id = "01H89RFHCQRA4BBBWDC8K68BB0" % id = "01H89RFHCQRA4BBBWDC8K68BB0"
- if you wanna browse the source code, feel free to [check it out on GitHub][def:treehouse/repo] - if you wanna browse the source code, feel free to [check it out here][def:treehouse/repo]
% id = "01H89RFHCQFWC2FWBAE9PVNC08" % id = "01H89RFHCQFWC2FWBAE9PVNC08"
- as I alluded to [here][branch:01H89RFHCQ3EAP0F6PRSEK7S1T], treehouse is built to decay gracefully - as I alluded to [here][branch:01H89RFHCQ3EAP0F6PRSEK7S1T], treehouse is built to decay gracefully
as you take away the fancy parts. as you take away the fancy parts.
% id = "01H8V55APDMPF3WFTNTFSYBQRF" % id = "01H8V55APDMPF3WFTNTFSYBQRF"
- you will be able to read it just fine without JavaScript, just that it'll be a little + you will be able to read it just fine without JavaScript, just that it'll be a little
less pleasant. less pleasant.
% id = "01H8V55APD1RSSRMDZ3CEE9S9C" % id = "01H8V55APD1RSSRMDZ3CEE9S9C"
@ -220,7 +220,7 @@
janky, but the content should still be fully readable. janky, but the content should still be fully readable.
% id = "01H8V55APDWN8TV31K4SXBTTWB" % id = "01H8V55APDWN8TV31K4SXBTTWB"
- myself, I'm writing this content in a bespoke format called `.tree`. + myself, I'm writing this content in a bespoke format called `.tree`.
% id = "01H8V55APDGX4EYV8W7ECXZ6FP" % id = "01H8V55APDGX4EYV8W7ECXZ6FP"
- the structure of `.tree` files is extremely minimal. there are only a few syntactic features to speak of. - the structure of `.tree` files is extremely minimal. there are only a few syntactic features to speak of.
@ -229,7 +229,7 @@
- here's a taste of `.tree`: - here's a taste of `.tree`:
% id = "01H8V55APD5686J8GTXP118V8E" % id = "01H8V55APD5686J8GTXP118V8E"
- ``` - ```treehouse
% id = "root" % id = "root"
- this is a branch - this is a branch
@ -276,10 +276,10 @@
- …actually, that's a lie. see that code example above? Markdown code fences \`\`\` are handled specially to let embed `.tree` source code blocks within `.tree` files. that's all. - …actually, that's a lie. see that code example above? Markdown code fences \`\`\` are handled specially to let embed `.tree` source code blocks within `.tree` files. that's all.
% id = "01H8V55APDVQB6AD23Y6PZPPB8" % id = "01H8V55APDVQB6AD23Y6PZPPB8"
- you may have noticed in that code example above that almost every branch has an `id` attribute. - every branch in the treehouse has a globally unique ID.
% id = "01H8V55APD4H5JT8NTYCCTN77G" % id = "01H8V55APD4H5JT8NTYCCTN77G"
- this is because I want every branch to be individually linkable and quotable. + this is because I want every branch to be individually linkable and quotable.
% id = "01H8V55APDPSZNP9AK7QRK62BG" % id = "01H8V55APDPSZNP9AK7QRK62BG"
- if you ever want to link anything I said in an argument online: hover over a branch, right-click that little _permalink_ icon that's on the right side of the screen, and _Copy Link_. - if you ever want to link anything I said in an argument online: hover over a branch, right-click that little _permalink_ icon that's on the right side of the screen, and _Copy Link_.
@ -288,7 +288,7 @@
- but manually coming up with ids for branches would be quite the nuisance. - but manually coming up with ids for branches would be quite the nuisance.
% id = "01H8V55APDXV0KRVEF9PTA72J7" % id = "01H8V55APDXV0KRVEF9PTA72J7"
- that's why with the power of Tools Programming™, I built a tool that fills out all the ids for me. + that's why with the power of Tools Programming™, I built a tool that fills out all the ids for me.
% id = "01H8V55APD8VG7WE6JX5JBDJEC" % id = "01H8V55APD8VG7WE6JX5JBDJEC"
- I chose [ulids](https://github.com/ulid/spec) for generated ids, for a few reasons: - I chose [ulids](https://github.com/ulid/spec) for generated ids, for a few reasons:
@ -324,10 +324,20 @@
- which is cool because it's much denser while avoiding ambiguous characters - `0`, `O`, and `o` are all interpreted as `0` (zero). - which is cool because it's much denser while avoiding ambiguous characters - `0`, `O`, and `o` are all interpreted as `0` (zero).
% id = "01H8V55APDXT064G9PA78JW0CM" % id = "01H8V55APDXT064G9PA78JW0CM"
- noticed how fast the treehouse restores your state? there's basically no delay. + noticed how fast the treehouse restores your state? there's basically no delay.
% id = "01H8V55APDGS626M5Y6DDAS9ZE" % id = "01H8V55APDGS626M5Y6DDAS9ZE"
- this is because it restores your state _as it's loading in_, by using [Web Components](https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements). + this is because it restores your state _as it's loading in_, by using a [`MutationObserver`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).
% id = "01J09E55GTGHTGJP3JQN1SY4BM"
- initially the treehouse used Web Components, but for Webkit compatibility reasons, I had to switch that out to a more bespoke solution.
% redirect_here = ["01H8V55APD4V54M2EKQKQ4GNP8"]
id = "01J09E55GTFSQW46JSG3T3SSMQ"
- elements such as linked branches are implemented using _spells_, which are a custom framework for composing behaviors on top of existing elements.
% id = "01J09E55GTHJXWRG0P9MADASRQ"
+ in addition to that, many things on the treehouse are Web Components, which are another awesome API that lets you prepare the DOM as soon as everything is ready.
% id = "01H8V55APD73AG65NP2VGX6169" % id = "01H8V55APD73AG65NP2VGX6169"
- despite many people calling that API extremely low-level, I beg to differ. it's actually pretty easy and pleasant to use. - despite many people calling that API extremely low-level, I beg to differ. it's actually pretty easy and pleasant to use.
@ -335,20 +345,17 @@
% id = "01H8V55APDDHYNRZXQDEG0A242" % id = "01H8V55APDDHYNRZXQDEG0A242"
- most importantly it lets me enhance vanilla `<li>` elements with custom behavior executed on load, which I use to restore your reading progress as the page is loading in. - most importantly it lets me enhance vanilla `<li>` elements with custom behavior executed on load, which I use to restore your reading progress as the page is loading in.
% id = "01H8V55APD4V54M2EKQKQ4GNP8"
- linked branches also use Web Components by the way.
% id = "01H8V55APDKY0HYEJM2C1CJHEG" % id = "01H8V55APDKY0HYEJM2C1CJHEG"
- while not strictly a technical topic, I'd like to shout out [Recursive](https://recursive.design) for being an awesome font :ralsei_love: + while not strictly a technical topic, I'd like to shout out [Recursive](https://recursive.design) for being an awesome font :ralsei_love:
% id = "01H8V55APD88JCQBQ4SHVCYR97" % id = "01H8V55APD88JCQBQ4SHVCYR97"
- (not to be confused with [Font Awesome](https://fontawesome.com/), which I do not use here. icon designs are my own.) - (not to be confused with [Font Awesome](https://fontawesome.com/), which I do not use here. icon designs are my own.)
% id = "01H8V55APD0S00ACN0YY7Y9MSW" % id = "01H8V55APD0S00ACN0YY7Y9MSW"
- being a variable font, I can tweak the text's look and feel on many different axes. + being a variable font, I can tweak the text's look and feel on many different axes.
% id = "01H8V55APDRG88JRV74MMDTV4J" % id = "01H8V55APDRG88JRV74MMDTV4J"
- the one that I wanted to shout out in particular is `CASL`, which lets me make it look a lot more happy and playful. + the one that I wanted to shout out in particular is `CASL`, which lets me make it look a lot more happy and playful.
% id = "01H8V55APDMP5FE9ZCMRACH18W" % id = "01H8V55APDMP5FE9ZCMRACH18W"
+ almost like Comic Sans, but without all the stigma. + almost like Comic Sans, but without all the stigma.
@ -363,7 +370,7 @@
- not everyone runs Windows or macOS, so just assuming the reader has Comic Sans installed isn't ideal. - not everyone runs Windows or macOS, so just assuming the reader has Comic Sans installed isn't ideal.
% id = "01H8V55APD2BPGQXEK7JARYJ9H" % id = "01H8V55APD2BPGQXEK7JARYJ9H"
- ~~in particular the variant on my website is 100% casual (`CASL`), and -2.0 slanted (`slnt`).~~ + ~~in particular the variant on my website is 100% casual (`CASL`), and -2.0 slanted (`slnt`).~~
% id = "01H8V55APDXZJE3HHH5AQ8ZQHF" % id = "01H8V55APDXZJE3HHH5AQ8ZQHF"
+ that little bit of slant makes it look just a little more like handwriting. + that little bit of slant makes it look just a little more like handwriting.
@ -384,4 +391,4 @@
- not to mention I'd have to handwrite a lot of text, and *then* either use OCR or type it all out again for accessibility. yeah, no thanks methinks. - not to mention I'd have to handwrite a lot of text, and *then* either use OCR or type it all out again for accessibility. yeah, no thanks methinks.
% id = "01HRD97CSJSQN78SGM691B6PNQ" % id = "01HRD97CSJSQN78SGM691B6PNQ"
- UPDATE: not slanted anymore. `slnt` is 0. - NOTE: not slanted anymore. `slnt` is 0.

View file

@ -1,192 +1,169 @@
%% title = "who that! (about me)" %% title = "who that! (about me)"
% id = "01H89P3CH836K8WKQ9BPR6RE3C" % id = "01J09B2BZXJ989S2SGWBNZ397C"
- hello! I am liquidex + hello! I am **liquidex**.
% id = "01H89P3CH8YZY1MTZS3DZGGFKX" % id = "01J09B2BZX54T2GSP8H3D62S6J"
+ also known as + also known as **liquidex**
% id = "01H89P3CH8GAHS8DDW1HHEWA3P" % id = "01J09B2BZXQ31FV1M3PMM6Q0GX"
- **liquidex** (just including this here for linking sake) - this is [the identity function](https://en.wikipedia.org/wiki/Identity_function) applied to my nickname
% id = "01H89P3CH8ER0M5WZBXQ292A2N" % id = "01J09B2BZX0R0AX5QHND6EBRFE"
- **liquidev** on various [programming-related platforms][def:social/github] - also known as **liquidev** on [various programming platforms][def:social/github]
% id = "01H89P3CH8943QGT52K7MRW12Q" % id = "01J09B2BZXT6AAJNPEQ044KCDR"
- **lqdev**, before I realized that name is taken. since then I use liquidev but you may see - also known as **lqdev**, before I realized that name was taken.
this older name in some places you may notice this older name in some places.
% id = "01H89P3CH81FTHTQ552N7N1S3A" % id = "01J09B2BZXBS2K6MRQYXFH43PW"
- **daknus** [on SoundCloud][def:social/soundcloud] - also known as **daknus** [on SoundCloud][def:social/soundcloud].
I use this as my music making alias.
% id = "01H89P3CH8PB76G26M4T8P6QDZ" % id = "01J09B2BZXAD196RA16JTY3K3T"
+ **limiter** sometimes jokingly on Discord + also known as **limiter**?
% id = "01H89P3CH8Z4MXQ0C9EWV01DPX" % id = "01J09B2BZXNRYX758J5S00EZRG"
+ **limitre**, which is British for limiter - or **limitre**, which is British for limiter.
% id = "01H89P3CH8P7HAGDJVGVWD96K7" % id = "01J09B2BZX25TN31D0F18YQPB2"
- y'know. like centre is British for center, metre is British for meter? :hueh: + I'm a *he/him*-type cat person doing various stuff with computers
% id = "01H89P3CH8FA0JTX1TPRZV4BFM" % id = "01J09B2BZXWB695M9XYF7CZ2ZF"
- before you ask, pronouns are _he/him_ - > you said cat person, does that mean you don't like dogs?
% id = "01H89P3CH8A12NYRT3SC324Y2M" % id = "01J09E55G0QWS7X0YNBWRW222X"
- I'm a programmer from Poland - I prefer cats myself. though foxes are canids and I consider them pretty cute :smile:
% id = "01H89P3CH8VN1MPKS4RQFFW778" % id = "01J09E55G0MZ0WFQ3WC98YDDGT"
+ I work in the game industry - > unless by *cat person* you mean…
% id = "01H89P3CH88PKW82498V91VZ4W" % id = "01J09E55G0YWYMAP62Q7AM18BE"
+ somehow my skills brought me to work as a game programmer at CD PROJEKT RED + what? :clueless:
% id = "01H89P3CH8SPX5RZDWR00CZ436" % id = "01J09E55G09K80E6YE1T4E3KJJ"
+ not sure how that happened still so don't ask - > y'know… like a *furry*?
% id = "01H8YJDNJFB2BGT0ASDNM8S4JJ" % id = "01J09E55G0F5TVAK2MT80H598M"
- impostor syndrome going hard right now + :clueless:
% id = "01H89P3CH8QSQY1M7TZVH1FYQM" % id = "01J09E55G0WS63QCFBPP12EMRM"
- but that game programming thing is just coincidence, in reality I love toying with + …
computers in general
% id = "01H89P3CH8TACWXWWZGGHQD2MK" % id = "01J09E55G0H58Q8V8NV23QSQGC"
- so you may see me doing other random and weird stuff - huh. you're still here? :ahyes:
% id = "01H89P3CH89P2Q9XGQD7BCF0R6" welcome to the club!
- perhaps [compilers][def:stitchkit/repo] are one of those weird things
% id = "01H89P3CH8DYZHMQTGZDAEBNXN" unfortunately I've got no fursona to show off at this moment, please come back later.
+ or [audio][def:dawd3/repo]
% id = "01H89P3CH859AAGFEABN8EANSJ" % id = "01J09B2BZX9QV3PM9YWPS628PJ"
- my favorite part of that is blowing my own eardrums out with my math skill, which is rather *underdeveloped* so to speak + I'm a game developer by trade :rarog:
% id = "01H89P3CH8R9WKSMMQVY0XARSF" % id = "01J09B2BZXNE1H2SXW9KSZK7Z5"
+ heck even web development out of all things. I mean you're reading _my_ website right + I do various developer productivity-related stuff at CD PROJEKT RED, mostly focusing on the DX of delivering breathtaking games using the Unreal Engine.
now after all
% id = "01H89P3CH88M1GZ3WN3RXCW1NN" % id = "01J09B2BZX00X6A8Z6H4R16BDS"
- like truly *my my* website with *my own* backend, static generator, and all that - technically I don't really love *playing* big and serious games, but making one is a whole other challenge - a challenge of *scale*.
which is what really gets me going!
% id = "01H89P3CH8CFBVXBF5W3GYA70X" % id = "01J09B2BZXQKWYHC51D7QCJ6PF"
- none of that pre-built stuff, this baby is generated from the *purest* samples - other than game development, I program various other things…
of Uranium-235 I could source
% id = "01H89P3CH8HYM5XZRH56880TP5" % id = "01J09B2BZXRE1VPASMR52RWNTH"
- … wait you're saying building your own nuclear reactor at home is illegal? UHHHHHHHHHH - [compilers][def:stitchkit/repo],
% id = "01H89P3CH8EGD14MHJEET6MJ27" % id = "01J09B2BZXYXA16X95H2JKDJNK"
- who knows at this point + [audio][def:dawd3/repo],
% id = "01H89P3CH8RFRCTC500059H5G8" % id = "01J09B2BZXY51P9D4BM8AADGYW"
- apart from programming I also take interest in other various things - my favorite part of that is blowing out my own eardrums with my math skill, which is rather *underdeveloped* so to speak,
% id = "01H89P3CH864VWM4JXQ0N5C1YV" % id = "01J09B2BZX2P7XDH81BJ079PCP"
- like video games <!-- [video games][branch:games] --> + [websites](/),
% id = "01H89P3CH8WK8F2XKBXFVE8KNX" % id = "01J09B2BZXN6GWK2JPC7YGT0E1"
- yeah those are pretty great aren't they + after all the treehouse is *my* website, with *my* own backend, static generator, *my* own design, [an only partially stolen color scheme](https://github.com/ayu-theme/ayu-colors), and most important, lots of fun stuff hidden underneath the surface.
% id = "01H89P3CH817HEVWCFHGJEGQHR" % id = "01J09B2BZXZAEPD36XG495WYFH"
- my faves are: + like have you wondered just how deep the rabbit hole goes?
I'm sure you can find some rather interesting easter eggs in there if you look hard enough.
who knows what you may find?
% id = "01H89P3CH8MHZMYKRFV30GSYWC" % id = "01J09B2BZX0M925RBXR023XM6X"
- [A Hat in Time](https://hatintime.com) - <!-- what I mean is if you haven't seen anyone else here, you haven't looked hard enough. -->
% id = "01H89P3CH8G625Q1NQVT8CJ3K1" % id = "01J09B2BZXX2R1TH10GGZC25KG"
- [DELTARUNE](https://deltarune.com) + you name it. as long as it poses a cool and fun challenge, I'll be on it :verified:
% id = "01H89P3CH89TQ3SFG2Z40J29HX" % id = "01J09B2BZX5WED9XE2RAADFW8M"
- they're pretty great you should check them out <!-- (also check out [my games corner][branch:games]? :pleading_face:) --> - there's probably only one thing I *don't* like and it's backend web development. where did all the simplicity go?
% id = "01H89P3CH8AJATQ5DJBBFXJ1NH" % id = "01J09B2BZXQQMPDYQJ052131GT"
- or [music][page:music] - obviously treehouse is a very simple website with a very simple backend, but. seriously.
why do people have to make websites be so complicated. and slow.
% id = "01H89P3CH8XQ59YZD3RFRYQ2BM" % id = "01J09B2BZXS6NZKYS6CTWMG1QY"
- various genres from electronic through jazz and even rock - and other than programming, I do various other things…
% id = "01H89P3CH8V8H7BVWYTFHYQQTZ" % id = "01J09B2BZXX9PFV33J591B3C9K"
- in that order of priority + like video games! those are pretty great, aren't they?
% id = "01H89P3CH8ZMVBKS6CXGRB8QHB" % id = "01J09B2BZXDB8CZK0X6JMRMNR1"
- electronic definitely leaning toward the more um, _eccentric_ side + my favorites are :hueh: [A Hat in Time](https://hatintime.com) and :nap: [DELTARUNE](https://deltarune.com).
if you haven't played them yet, I highly recommend checking them out!
% id = "01H89P3CH836WYRR77815D8HCH" % id = "01J09B2BZX9CM8B5G42E2KYDBT"
- all you have to know is I listen to Venetian Snares pretty regularly - (you may wanna check out [UNDERTALE](https://undertale.com/) before you play Deltarune though.)
% id = "01H89P3CH8C719GX9CTK36FXXN" % id = "01J09B2BZXYCRJDVJAVYT1P50P"
+ if you don't know what that means then good for you + [music][page:music] is also cool.
did you know I listen to a lot of [music][page:music]?
and I mean, [a lot of ][def:social/listenbrainz][music][page:music]!
% id = "01H8V55G7M7KEKBYX2D2RP9QQE" % id = "01J09B2BZX5C2KBA2ZC0X0YYD6"
+ but if you so insist… [you have been warned](https://www.youtube.com/watch?v=BB7ExLcUuH0) -
% id = "01H8V55G7MWC7MQ9YQVDDFZ9QV" % id = "01J09B2BZX39FGP634BM5HJ0FD"
- (this is one of the more crazy ones anyways. he makes some [more normal stuff](https://www.youtube.com/watch?v=IuI6MMUtNdU) too if you care) + did I mention [music][page:music]?
I also ~~aspire to~~ [make ][def:social/soundcloud][music][page:music][ sometimes][def:social/soundcloud].
% id = "01H89P3CH8XP6ZA1RWYVZWRXN3" % id = "01J09B2BZXGG5HYVYDNPVFRKY1"
- jazz and rock I don't really know as well but I've been trying to broaden my - I say aspire because I'd really like to be better at it, but *time*, man…
horizons a bit
% id = "01H89P3CH8EYKDYN83VPQQ088C" % id = "01J09B2BZXY6AN3242DYECK74Z"
+ I really like artists who merge them with elements of electronic music + from time to time I also try to draw things, but *time*, it's killing me, man…
% id = "01H89P3CH8G5CFPME3Z88GNDD8" % id = "01J09B2BZXN3263NEHCKQ931TS"
- ~~while the music corner is under construction I can recommend [Elaenia by Floating Points](https://floatingpoints.bandcamp.com/album/elaenia) - I'm sure one day you'll see the results of my practice, (unless you've already seen them :ralsei_wave:,) but for now I keep them largely to myself.
as a good example of that~~ the music corner is no longer under construction. go [check it out][page:music]!
% id = "hello" % id = "hello"
- feel free to come up to me and say hi! + if all that sounds like an interesting bunch of words, feel free to come up to me and say hi!
% id = "01H89P3CH823H89YQJKH9DWMW9" % id = "01J09B2BZXEVKP4AM4NJ0ZY8VJ"
- I would love to make some new friends :ralsei_love: - I'd love to make some new friends :ralsei_love:
% id = "01H89P3CH8ZQ11ABP0YW86APN7" % id = "01J09B2BZXMMYDQG3SD6KK8M5H"
- in person I'm pretty much exactly as on this website lol - you can reach out to me via
% id = "01H89P3CH8DHJC5BJMHVBMDAXS" % id = "01J09B2BZXZQSRXV8EHT68YE7M"
- like this website is literally meant to be a reflection of my personality and a literal braindump - Discord - username is [this][branch:01J09B2BZX54T2GSP8H3D62S6J]
% id = "01H89P3CH80XYPAHXH1QZJ9SMZ" % id = "01J09E55G1DB0RCJ2Z0DND38KF"
+ so I type here like I would type on some chat platform. but it's a tree, just like Reddit! - Matrix - username is [this][branch:01J09B2BZXT6AAJNPEQ044KCDR]
% id = "01H8V55G7MS3NBPFFFKYE8YGFK" % id = "01J09E55G1VQ1K14BZ1QW1X2CA"
- except on chat I don't capitalize "I" so if that pisses you off you may wanna brace yourself (or just tell me, I'll do my best to adapt) + email - for people, it's under this domain and is `hi`
% id = "01H9DAJRZDNS9MSC9SK6HTEX2Z" % id = "01J09E55G1AE9HZZYV2A7S8FR7"
- and Reddit sucks! - if you're not a person you can, I dunno.
what do robots like doing?
% id = "01H89P3CH8CD28KGX9GVRFK60E" % id = "01J09E55G1AGZ51ZV5ZGFMF78H"
- anyways you can find me on - listen I'm trying to ward off spam with this weird wording, but I bet you can figure out my email adddress from this pretty easily.
% id = "01H89P3CH8EMM31JEMJRVRAKF4" % id = "01J09E55G1XKF12N27Y8TCMQPY"
+ Discord - username is [this][branch:01H89P3CH8GAHS8DDW1HHEWA3P] - if not then my email is not that hard to find in other places.
% id = "01H89P3CH89HHDVHGB9GE287TR" % id = "01J09E55G1T4PPVBXH7PSR8ZNY"
- I'm most active there so you'll have the best chance of getting a reply - just don't forget to wave at me if you do - I need to tell you apart from bots somehow!
% id = "01H89P3CH8FBBJ6FKDCYDMD3T5"
- you'll know it's me if you see a profile with a fluffy boy avatar
% id = "01H89P3CH8WTBKXP0GGN0HYQK2"
+ Matrix - username is [this][branch:01H89P3CH8943QGT52K7MRW12Q] at gacko.pl
% id = "01H89P3CH832E4GK0NJ77KED06"
- I try to be as active there as on Discord but my availability may be a little more
limited
% id = "01H89P3CH8A31GJE0A0JTMK00B"
- just don't forget to wave at me when you do! I need to tell you apart from bots somehow
% id = "01H89P3CH8R323RCDZAG6Y6C1X"
- my email for people is under this domain and is `hi`
% id = "01H89P3CH8TAC5AB4QVA3E2Z0E"
- if you are not a person you can, I dunno. what do robots like doing?
% id = "01H89P3CH8QTANJJ5F1E4GCBNK"
- listen I'm trying to ward off the spam with this weird wording but I bet you can
figure out my email address from this pretty easily
% id = "01H89P3CH80QR285WFDTK5X5VF"
- if not then look at my GitHub it also has an email address

192
content/about/v1.tree Normal file
View file

@ -0,0 +1,192 @@
%% title = "who that! (about me) (version 1, archived 2024-06-13)"
% id = "01H89P3CH836K8WKQ9BPR6RE3C"
- hello! I am liquidex
% id = "01H89P3CH8YZY1MTZS3DZGGFKX"
+ also known as…
% id = "01H89P3CH8GAHS8DDW1HHEWA3P"
- **liquidex** (just including this here for linking sake)
% id = "01H89P3CH8ER0M5WZBXQ292A2N"
- **liquidev** on various [programming-related platforms][def:social/github]
% id = "01H89P3CH8943QGT52K7MRW12Q"
- **lqdev**, before I realized that name is taken. since then I use liquidev but you may see
this older name in some places
% id = "01H89P3CH81FTHTQ552N7N1S3A"
- **daknus** [on SoundCloud][def:social/soundcloud]
% id = "01H89P3CH8PB76G26M4T8P6QDZ"
+ **limiter** sometimes jokingly on Discord
% id = "01H89P3CH8Z4MXQ0C9EWV01DPX"
+ **limitre**, which is British for limiter
% id = "01H89P3CH8P7HAGDJVGVWD96K7"
- y'know. like centre is British for center, metre is British for meter? :hueh:
% id = "01H89P3CH8FA0JTX1TPRZV4BFM"
- before you ask, pronouns are _he/him_
% id = "01H89P3CH8A12NYRT3SC324Y2M"
- I'm a programmer from Poland
% id = "01H89P3CH8VN1MPKS4RQFFW778"
+ I work in the game industry
% id = "01H89P3CH88PKW82498V91VZ4W"
+ somehow my skills brought me to work as a game programmer at CD PROJEKT RED
% id = "01H89P3CH8SPX5RZDWR00CZ436"
+ not sure how that happened still so don't ask
% id = "01H8YJDNJFB2BGT0ASDNM8S4JJ"
- impostor syndrome going hard right now
% id = "01H89P3CH8QSQY1M7TZVH1FYQM"
- but that game programming thing is just coincidence, in reality I love toying with
computers in general
% id = "01H89P3CH8TACWXWWZGGHQD2MK"
- so you may see me doing other random and weird stuff
% id = "01H89P3CH89P2Q9XGQD7BCF0R6"
- perhaps [compilers][def:stitchkit/repo] are one of those weird things
% id = "01H89P3CH8DYZHMQTGZDAEBNXN"
+ or [audio][def:dawd3/repo]
% id = "01H89P3CH859AAGFEABN8EANSJ"
- my favorite part of that is blowing my own eardrums out with my math skill, which is rather *underdeveloped* so to speak
% id = "01H89P3CH8R9WKSMMQVY0XARSF"
+ heck even web development out of all things. I mean you're reading _my_ website right
now after all
% id = "01H89P3CH88M1GZ3WN3RXCW1NN"
- like truly *my my* website with *my own* backend, static generator, and all that
% id = "01H89P3CH8CFBVXBF5W3GYA70X"
- none of that pre-built stuff, this baby is generated from the *purest* samples
of Uranium-235 I could source
% id = "01H89P3CH8HYM5XZRH56880TP5"
- … wait you're saying building your own nuclear reactor at home is illegal? UHHHHHHHHHH
% id = "01H89P3CH8EGD14MHJEET6MJ27"
- who knows at this point
% id = "01H89P3CH8RFRCTC500059H5G8"
- apart from programming I also take interest in other various things
% id = "01H89P3CH864VWM4JXQ0N5C1YV"
- like video games <!-- [video games][branch:games] -->
% id = "01H89P3CH8WK8F2XKBXFVE8KNX"
- yeah those are pretty great aren't they
% id = "01H89P3CH817HEVWCFHGJEGQHR"
- my faves are:
% id = "01H89P3CH8MHZMYKRFV30GSYWC"
- [A Hat in Time](https://hatintime.com)
% id = "01H89P3CH8G625Q1NQVT8CJ3K1"
- [DELTARUNE](https://deltarune.com)
% id = "01H89P3CH89TQ3SFG2Z40J29HX"
- they're pretty great you should check them out <!-- (also check out [my games corner][branch:games]? :pleading_face:) -->
% id = "01H89P3CH8AJATQ5DJBBFXJ1NH"
- or [music][page:music]
% id = "01H89P3CH8XQ59YZD3RFRYQ2BM"
- various genres from electronic through jazz and even rock
% id = "01H89P3CH8V8H7BVWYTFHYQQTZ"
- in that order of priority
% id = "01H89P3CH8ZMVBKS6CXGRB8QHB"
- electronic definitely leaning toward the more um, _eccentric_ side
% id = "01H89P3CH836WYRR77815D8HCH"
- all you have to know is I listen to Venetian Snares pretty regularly
% id = "01H89P3CH8C719GX9CTK36FXXN"
+ if you don't know what that means then good for you
% id = "01H8V55G7M7KEKBYX2D2RP9QQE"
+ but if you so insist… [you have been warned](https://www.youtube.com/watch?v=BB7ExLcUuH0)
% id = "01H8V55G7MWC7MQ9YQVDDFZ9QV"
- (this is one of the more crazy ones anyways. he makes some [more normal stuff](https://www.youtube.com/watch?v=IuI6MMUtNdU) too if you care)
% id = "01H89P3CH8XP6ZA1RWYVZWRXN3"
- jazz and rock I don't really know as well but I've been trying to broaden my
horizons a bit
% id = "01H89P3CH8EYKDYN83VPQQ088C"
+ I really like artists who merge them with elements of electronic music
% id = "01H89P3CH8G5CFPME3Z88GNDD8"
- ~~while the music corner is under construction I can recommend [Elaenia by Floating Points](https://floatingpoints.bandcamp.com/album/elaenia)
as a good example of that~~ the music corner is no longer under construction. go [check it out][page:music]!
% id = "hello/v1"
- feel free to come up to me and say hi!
% id = "01H89P3CH823H89YQJKH9DWMW9"
- I would love to make some new friends :ralsei_love:
% id = "01H89P3CH8ZQ11ABP0YW86APN7"
- in person I'm pretty much exactly as on this website lol
% id = "01H89P3CH8DHJC5BJMHVBMDAXS"
- like this website is literally meant to be a reflection of my personality and a literal braindump
% id = "01H89P3CH80XYPAHXH1QZJ9SMZ"
+ so I type here like I would type on some chat platform. but it's a tree, just like Reddit!
% id = "01H8V55G7MS3NBPFFFKYE8YGFK"
- except on chat I don't capitalize "I" so if that pisses you off you may wanna brace yourself (or just tell me, I'll do my best to adapt)
% id = "01H9DAJRZDNS9MSC9SK6HTEX2Z"
- and Reddit sucks!
% id = "01H89P3CH8CD28KGX9GVRFK60E"
- anyways you can find me on
% id = "01H89P3CH8EMM31JEMJRVRAKF4"
+ Discord - username is [this][branch:01H89P3CH8GAHS8DDW1HHEWA3P]
% id = "01H89P3CH89HHDVHGB9GE287TR"
- I'm most active there so you'll have the best chance of getting a reply
% id = "01H89P3CH8FBBJ6FKDCYDMD3T5"
- you'll know it's me if you see a profile with a fluffy boy avatar
% id = "01H89P3CH8WTBKXP0GGN0HYQK2"
+ Matrix - username is [this][branch:01H89P3CH8943QGT52K7MRW12Q] at gacko.pl
% id = "01H89P3CH832E4GK0NJ77KED06"
- I try to be as active there as on Discord but my availability may be a little more
limited
% id = "01H89P3CH8A31GJE0A0JTMK00B"
- just don't forget to wave at me when you do! I need to tell you apart from bots somehow
% id = "01H89P3CH8R323RCDZAG6Y6C1X"
- my email for people is under this domain and is `hi`
% id = "01H89P3CH8TAC5AB4QVA3E2Z0E"
- if you are not a person you can, I dunno. what do robots like doing?
% id = "01H89P3CH8QTANJJ5F1E4GCBNK"
- listen I'm trying to ward off the spam with this weird wording but I bet you can
figure out my email address from this pretty easily
% id = "01H89P3CH80QR285WFDTK5X5VF"
- if not then look at my GitHub it also has an email address

View file

@ -22,8 +22,8 @@ this branch is about that.
% content.link = "design/sidebars" % content.link = "design/sidebars"
id = "01HR9ZTS6T2ZBWGMJP8376NGX1" id = "01HR9ZTS6T2ZBWGMJP8376NGX1"
+ sidebars + :page: sidebars
% content.link = "design/digital-textures" % content.link = "design/digital-textures"
id = "01HQ8JHZ5QTZXQW3M26CXPFQDF" id = "01HQ8JHZ5QTZXQW3M26CXPFQDF"
+ on digital textures + :page: on digital textures

View file

@ -41,7 +41,7 @@
% id = "01HR9ZTS6PKYGVTFF0F78XVXH2" % id = "01HR9ZTS6PKYGVTFF0F78XVXH2"
- (I'm not saying this structure is any better than a conventional blog though. - (I'm not saying this structure is any better than a conventional blog though.
it has its own set of challenges you need to take into account while writing, like *when to split*, and *when to nest*. it has its own set of challenges you need to take into account while writing, like *when to split*, and *when to nest*.
arguably, I still haven't learned how to write the treehouse well, but I think I'm getting better at it; compare [about][page:about] to this page and you'll see what I mean.) arguably, I still haven't learned how to write the treehouse well, but I think I'm getting better at it; compare [about (version 1)][page:about/v1] to this page and you'll see what I mean.)
% id = "01HR9ZTS6P484GD6Y9QR4TEGWD" % id = "01HR9ZTS6P484GD6Y9QR4TEGWD"
- I'm glad most individuals' blogs are foregoing sidebars, but unfortunately I still regularly see them on various news sites and older blogs - I'm glad most individuals' blogs are foregoing sidebars, but unfortunately I still regularly see them on various news sites and older blogs

View file

@ -1,5 +1,8 @@
% id = "01H9R1NKAXQMXWBA9Z65E4CG2T" % id = "01H9R1NKAXQMXWBA9Z65E4CG2T"
- sorry, nothing to see here in this section yet! + sorry, nothing to see here in this section yet!
% id = "01J09B24M33NAE3D4VHKTR361J"
- (I'm just waiting for DELTARUNE Chapters 3 and 4 to come out to kickstart my theory-crafting)
% id = "01H9R1NKAX7F0AEF374RWD4026" % id = "01H9R1NKAX7F0AEF374RWD4026"
- it's just here for permalinking purposes. for now. - it's just here for permalinking purposes. for now.
@ -8,7 +11,7 @@
- soon... I may put something here. - soon... I may put something here.
% id = "games/oneshot" % id = "games/oneshot"
+ ### OneShot + ### :page: OneShot
% id = "01HA4HJKR3PBM0NJH7MZMYK6V9" % id = "01HA4HJKR3PBM0NJH7MZMYK6V9"
- buy: [Steam](https://store.steampowered.com/app/420530/OneShot/) - buy: [Steam](https://store.steampowered.com/app/420530/OneShot/)
@ -17,7 +20,7 @@
- on little cat feet - on little cat feet
% id = "games/the-talos-principle" % id = "games/the-talos-principle"
+ ### The Talos Principle + ### :page: The Talos Principle
% id = "01H9R1NKAXN8NKBPYBEZASA1RA" % id = "01H9R1NKAXN8NKBPYBEZASA1RA"
- buy: [Steam](https://store.steampowered.com/app/257510/The_Talos_Principle/) - buy: [Steam](https://store.steampowered.com/app/257510/The_Talos_Principle/)

View file

@ -3,15 +3,15 @@
% content.link = "music/reviews" % content.link = "music/reviews"
id = "01H969NN1BJYFYJJR0F458ACPN" id = "01H969NN1BJYFYJJR0F458ACPN"
+ ### stuff I listen to + ### :folder: stuff I listen to
% content.link = "music/fuck-drm" % content.link = "music/fuck-drm"
id = "01HPECQ3ZE1YKC1FS2X23H77R2" id = "01HPECQ3ZE1YKC1FS2X23H77R2"
+ ### fuck DRM + ### :folder: fuck DRM
% content.link = "music/spotify" % content.link = "music/spotify"
id = "01HVNX7FMW6KJC9H3CQ7TX8ST6" id = "01HVNX7FMW6KJC9H3CQ7TX8ST6"
+ ### Spotify + ### :folder: Spotify
% id = "01H969NN1BR7BH7M7SXBPGB0WC" % id = "01H969NN1BR7BH7M7SXBPGB0WC"
- in the future this section may grow another branch related to music making. - in the future this section may grow another branch related to music making.

View file

@ -7,7 +7,7 @@
- I'm aware they know *very well* what they're doing. just, y'know, *fuck them.* - I'm aware they know *very well* what they're doing. just, y'know, *fuck them.*
% id = "01HPWEESFV7TPXA6H5BCZVZKD6" % id = "01HPWEESFV7TPXA6H5BCZVZKD6"
+ exhibit 2: ODDTAXI soundtrack + :page: exhibit 2: ODDTAXI soundtrack
% id = "01HPWEESFVY5WGP5NY94QXFQ2A" % id = "01HPWEESFVY5WGP5NY94QXFQ2A"
- I watched this anime recently and I really liked the soundtrack, so I thought to myself "cool, gotta buy it and enjoy it in glorious FLAC while I'm driving my ~~taxi~~ car" - I watched this anime recently and I really liked the soundtrack, so I thought to myself "cool, gotta buy it and enjoy it in glorious FLAC while I'm driving my ~~taxi~~ car"
@ -32,7 +32,7 @@
They handle my payments. the money goes to the artists. and all the parties involved are happy! They handle my payments. the money goes to the artists. and all the parties involved are happy!
% id = "01HPECQ3Z1SG5J6Y12TD2E4Q1B" % id = "01HPECQ3Z1SG5J6Y12TD2E4Q1B"
+ exhibit 1: The Flashbulb's music is gone from Spotify + :page: exhibit 1: The Flashbulb's music is gone from Spotify
% id = "01HPECQ3Z10FVJTAKE90W57X7R" % id = "01HPECQ3Z10FVJTAKE90W57X7R"
- today I went to listen to some good ol'e Benn Jordan The Flashbulb at work, and guess what do I see? - today I went to listen to some good ol'e Benn Jordan The Flashbulb at work, and guess what do I see?

View file

@ -1,3 +1,7 @@
% id = "01J09B24KXE16SKSHFTWPE5AM9"
- NOTE: I haven't updated this branch in a while because I kind of got bored of doing music reviews.
however the content's still here if you wanna read it
% id = "01H969NN1B0752RC4VSEEK1CAT" % id = "01H969NN1B0752RC4VSEEK1CAT"
+ here you can find my thoughts on music I listen to + here you can find my thoughts on music I listen to
@ -39,44 +43,44 @@
% id = "music/album/aphex-twin/syro" % id = "music/album/aphex-twin/syro"
content.link = "music/reviews/aphex-twin/syro" content.link = "music/reviews/aphex-twin/syro"
+ ### album: Aphex Twin - Syro + ### :page: album: Aphex Twin - Syro
% id = "music/album/radiohead/a-moon-shaped-pool" % id = "music/album/radiohead/a-moon-shaped-pool"
content.link = "music/reviews/radiohead/a-moon-shaped-pool" content.link = "music/reviews/radiohead/a-moon-shaped-pool"
+ ### album: Radiohead - A Moon Shaped Pool + ### :page: album: Radiohead - A Moon Shaped Pool
% id = "music/album/radiohead/ok-computer" % id = "music/album/radiohead/ok-computer"
content.link = "music/reviews/radiohead/ok-computer" content.link = "music/reviews/radiohead/ok-computer"
+ ### album: Radiohead - OK Computer + ### :page: album: Radiohead - OK Computer
% id = "music/album/telefon-tel-aviv/map-of-what-is-effortless" % id = "music/album/telefon-tel-aviv/map-of-what-is-effortless"
content.link = "music/reviews/telefon-tel-aviv/map-of-what-is-effortless" content.link = "music/reviews/telefon-tel-aviv/map-of-what-is-effortless"
+ ### album: Telefon Tel Aviv - Map of What Is Effortless + ### :page: album: Telefon Tel Aviv - Map of What Is Effortless
% id = "01H9R1NKBDKVKZ2515CJJ2G8HJ" % id = "01H9R1NKBDKVKZ2515CJJ2G8HJ"
+ the following albums I haven't had time to review yet, but I'm including them here for permalinking in case I do review them in the future + the following albums I haven't had time to review yet, but I'm including them here for permalinking in case I do review them in the future
% id = "music/album/aphex-twin/drukqs" % id = "music/album/aphex-twin/drukqs"
content.link = "music/reviews/aphex-twin/drukqs" content.link = "music/reviews/aphex-twin/drukqs"
+ ### album: Aphex Twin - drukQs + ### :page: album: Aphex Twin - drukQs
% id = "01H9JB094GTG1TJ029CQ4PNMS0" % id = "01H9JB094GTG1TJ029CQ4PNMS0"
- buy: [Bandcamp](https://aphextwin.bandcamp.com/album/drukqs) - buy: [Bandcamp](https://aphextwin.bandcamp.com/album/drukqs)
% id = "music/album/the-flashbulb/our-simulacra" % id = "music/album/the-flashbulb/our-simulacra"
+ ### album: The Flashbulb - Our Simulacra + ### :page: album: The Flashbulb - Our Simulacra
% id = "01H9R1NKBD8JA76ZBEFTJ62XV0" % id = "01H9R1NKBD8JA76ZBEFTJ62XV0"
- buy: [Bandcamp](https://theflashbulb.bandcamp.com/album/our-simulacra) - buy: [Bandcamp](https://theflashbulb.bandcamp.com/album/our-simulacra)
% id = "music/album/radiohead/hail-to-the-thief" % id = "music/album/radiohead/hail-to-the-thief"
+ ### album: Radiohead - Hail to the Thief + ### :page: album: Radiohead - Hail to the Thief
% id = "01H969NN1B6W19ENMTBJ0D48AF" % id = "01H969NN1B6W19ENMTBJ0D48AF"
- buy: [Bandcamp](https://radiohead.bandcamp.com/album/hail-to-the-thief) - buy: [Bandcamp](https://radiohead.bandcamp.com/album/hail-to-the-thief)
% id = "music/album/radiohead/the-king-of-limbs" % id = "music/album/radiohead/the-king-of-limbs"
+ ### album: Radiohead - The King of Limbs + ### :page: album: Radiohead - The King of Limbs
% id = "01H9JB094HBXF1G48ZME4WV2JA" % id = "01H9JB094HBXF1G48ZME4WV2JA"
- buy: [Bandcamp](https://radiohead.bandcamp.com/album/the-king-of-limbs) - buy: [Bandcamp](https://radiohead.bandcamp.com/album/the-king-of-limbs)

View file

@ -12,7 +12,7 @@
from a consumer standpoint it's also really nice for discovering new music, because you don't have to pay a large amount just to give a listen to an album you may not end up liking. from a consumer standpoint it's also really nice for discovering new music, because you don't have to pay a large amount just to give a listen to an album you may not end up liking.
% id = "01HVNX7FMSR6TFJK3A9VVQ667K" % id = "01HVNX7FMSR6TFJK3A9VVQ667K"
- a couple days ago I've noticed the queue in the desktop app has changed... - :page: a couple days ago I've noticed the queue in the desktop app has changed...
% id = "01HVNX7FMSREB52W6J2D8EYK7W" % id = "01HVNX7FMSREB52W6J2D8EYK7W"
- this is how it looks now: - this is how it looks now:

View file

@ -16,7 +16,7 @@
of a a "this is interesting" than "I disagree with this" vibe of a a "this is interesting" than "I disagree with this" vibe
% id = "01HFYZKREV634J021ZMCDSP7G4" % id = "01HFYZKREV634J021ZMCDSP7G4"
+ hedonic treadmill ([wikipedia](https://en.wikipedia.org/wiki/Hedonic_treadmill)) + :page: hedonic treadmill ([wikipedia](https://en.wikipedia.org/wiki/Hedonic_treadmill))
% id = "01HFYZKREVV2CX1GYJQ18BJS78" % id = "01HFYZKREVV2CX1GYJQ18BJS78"
+ a concept that's incredibly useful in keeping it cool + a concept that's incredibly useful in keeping it cool
@ -37,7 +37,7 @@
it then. it then.
% id = "01HREVZNAHB1H9VMD0NPPFTEQ0" % id = "01HREVZNAHB1H9VMD0NPPFTEQ0"
+ just shut up sometimes + :page: just shut up sometimes
% id = "01HREVZNAH8XFRMVB9G58TPV8R" % id = "01HREVZNAH8XFRMVB9G58TPV8R"
- I just caught myself writing a few paragraphs long comment on [Lobsters](https://lobste.rs) without really understanding what the author of the comment meant in the broader context of the discussion, - I just caught myself writing a few paragraphs long comment on [Lobsters](https://lobste.rs) without really understanding what the author of the comment meant in the broader context of the discussion,

View file

@ -4,44 +4,44 @@
% id = "01H8Y427B4WC1CF9RHPZPXE77W" % id = "01H8Y427B4WC1CF9RHPZPXE77W"
- and also more than just bit magic but I like how that sounds - and also more than just bit magic but I like how that sounds
% id = "programming/projects"
content.link = "programming/projects"
+ ### projects
% id = "01HPD4XQQ5GPQ20C6BPA8G670F" % id = "01HPD4XQQ5GPQ20C6BPA8G670F"
- ### blog - ### :folder: blog
% content.link = "programming/blog/tairu" % content.link = "programming/blog/tairu"
id = "01HPD4XQQ5WM0APCAX014HM43V" id = "01HPD4XQQ5WM0APCAX014HM43V"
+ <span class="badge blue">featured</span> tairu - an interactive exploration of 2D autotiling techniques + :page: <span class="badge blue">featured</span> tairu - an interactive exploration of 2D autotiling techniques
% content.link = "programming/blog/lvalues" % content.link = "programming/blog/lvalues"
id = "01HY5R1ZW0M0Y5KQ1E8F0Q73ZT" id = "01HY5R1ZW0M0Y5KQ1E8F0Q73ZT"
+ places, or what is up with `*x` not always meaning the same thing + :page: places, or what is up with `*x` not always meaning the same thing
% content.link = "programming/blog/or-types" % content.link = "programming/blog/or-types"
id = "01HTWN4XB2YMF3615BE8V6Y76A" id = "01HTWN4XB2YMF3615BE8V6Y76A"
+ OR-types + :page: OR-types
% id = "programming/projects"
content.link = "programming/projects"
+ ### :folder: projects
% id = "01HRG2RJCNKT9JJJVQ8WVRC9CA" % id = "01HRG2RJCNKT9JJJVQ8WVRC9CA"
- ### languages - ### :folder: languages
% content.link = "programming/languages/cxx" % content.link = "programming/languages/cxx"
id = "programming/languages/cxx" id = "programming/languages/cxx"
+ ### C++ + #### :folder: C++
% content.link = "programming/languages/lua" % content.link = "programming/languages/lua"
id = "programming/languages/lua" id = "programming/languages/lua"
+ ### Lua + #### :page: Lua
% id = "01HRG2RJCN8J42NK0KWD3SBSJA" % id = "01HRG2RJCN8J42NK0KWD3SBSJA"
- ### technologies - ### :folder: technologies
% content.link = "programming/technologies/unreal-engine" % content.link = "programming/technologies/unreal-engine"
id = "programming/technologies/unreal-engine" id = "programming/technologies/unreal-engine"
+ ### Unreal Engine + #### :folder: Unreal Engine
% content.link = "programming/opinions" % content.link = "programming/opinions"
id = "programming/opinions" id = "programming/opinions"
+ ### opinions + ### :folder: opinions

View file

@ -1,8 +1,10 @@
%% title = "C++"
% id = "01H9R1KJESR2F420HE67HW4AVR" % id = "01H9R1KJESR2F420HE67HW4AVR"
- design lessons from the best programming language of all time that everyone loves (not really) - design lessons from the best programming language of all time that everyone loves (not really)
% id = "programming/cxx/access-modifiers-as-labels" % id = "programming/cxx/access-modifiers-as-labels"
+ access modifiers as labels (`private:`, `protected:`, and `public:`) + :page: access modifiers as labels (`private:`, `protected:`, and `public:`)
% id = "01H9R1KJES39Z6RBCKY4E71PYD" % id = "01H9R1KJES39Z6RBCKY4E71PYD"
- although Java and C#'s approach to symbol privacy may be verbose, it has one great advantage: it is stateless. - although Java and C#'s approach to symbol privacy may be verbose, it has one great advantage: it is stateless.

View file

@ -4,7 +4,7 @@
- > "Hotland - Bad Opinion Zone" - > "Hotland - Bad Opinion Zone"
% id = "01HBTSXTTAMWJ2BM6395YS72FN" % id = "01HBTSXTTAMWJ2BM6395YS72FN"
+ log verbosity levels are stupid + :page: log verbosity levels are stupid
% id = "01HBTSXTTA946PJ04NN50P393T" % id = "01HBTSXTTA946PJ04NN50P393T"
- because when should you use any log level other than `error`, `warn`, or `info`? - because when should you use any log level other than `error`, `warn`, or `info`?
@ -60,7 +60,7 @@
- I have no clue how well that will work but it would be pretty interesting - I have no clue how well that will work but it would be pretty interesting
% id = "01HBTSXTTASQDZK2HMCZXR3JJ4" % id = "01HBTSXTTASQDZK2HMCZXR3JJ4"
+ tracing is better than logging + :page: tracing is better than logging
% id = "01HBTSXTTA08SCA313HSFWB13T" % id = "01HBTSXTTA08SCA313HSFWB13T"
- information about time spans is very valuable for profiling - information about time spans is very valuable for profiling
@ -89,7 +89,7 @@
be a worthwhile thing to do be a worthwhile thing to do
% id = "01HCD90XT3G0J8G9Y48H5QT1GJ" % id = "01HCD90XT3G0J8G9Y48H5QT1GJ"
+ don't use [`RefCell<T>`](https://doc.rust-lang.org/std/cell/struct.RefCell.html) + :page: don't use [`RefCell<T>`](https://doc.rust-lang.org/std/cell/struct.RefCell.html)
% id = "01HCD90XT3X82R37WTJJABZF4Y" % id = "01HCD90XT3X82R37WTJJABZF4Y"
+ usually if you have to resort to `RefCell<T>`, it means something is wrong with your architecture + usually if you have to resort to `RefCell<T>`, it means something is wrong with your architecture
@ -149,7 +149,7 @@
drop the temporary `Ref<'b, T>` guard after the expression ends drop the temporary `Ref<'b, T>` guard after the expression ends
% id = "01HCG7KTGGAFS07QYJXZG6WHJJ" % id = "01HCG7KTGGAFS07QYJXZG6WHJJ"
+ `None` or `Invalid` cases in enums are a bad idea + :page: `None` or `Invalid` cases in enums are a bad idea
% id = "01HCG7KTGGHWTT1ME9GQ5VPFPR" % id = "01HCG7KTGGHWTT1ME9GQ5VPFPR"
- by having them, you're forcing your users into an API that forces them to think about the - by having them, you're forcing your users into an API that forces them to think about the
@ -163,7 +163,7 @@
to represent a possibly-invalid case to represent a possibly-invalid case
% id = "01HPEMVAH9JZWYPVN53GVFQNQY" % id = "01HPEMVAH9JZWYPVN53GVFQNQY"
+ NaNs should crash the program + :page: NaNs should crash the program
% id = "01HPEMVAH97PDHJJS70SKG5VMN" % id = "01HPEMVAH97PDHJJS70SKG5VMN"
- any time I see a NaN I cry inside knowing how much pain debugging it's gonna be. - any time I see a NaN I cry inside knowing how much pain debugging it's gonna be.
@ -178,7 +178,7 @@
- worst case scenario you pull a Rust and disable those checks on release mode. that *does* work, but I don't like the idea of disabling numeric safety checks on release mode either. - worst case scenario you pull a Rust and disable those checks on release mode. that *does* work, but I don't like the idea of disabling numeric safety checks on release mode either.
% id = "01HPEQ01JRMM17Y30BP7ZFKZRJ" % id = "01HPEQ01JRMM17Y30BP7ZFKZRJ"
+ operator overloading is good, but getters and setters are not + :page: operator overloading is good, but getters and setters are not
% id = "01HPEQ01JR57B057439SY90BQ9" % id = "01HPEQ01JR57B057439SY90BQ9"
- this one stems from an argument I had today, so I'll write my thoughts for future generations' enjoyment here - this one stems from an argument I had today, so I'll write my thoughts for future generations' enjoyment here

View file

@ -1,3 +1,5 @@
%% title = "Unreal Engine"
% id = "01H8Y0CKD0ZDHAH1ET3BJNDS4E" % id = "01H8Y0CKD0ZDHAH1ET3BJNDS4E"
- this is that really cool game engine I work with on a daily basis - this is that really cool game engine I work with on a daily basis
@ -9,16 +11,16 @@
% id = "programming/technologies/unreal-engine/blueprint" % id = "programming/technologies/unreal-engine/blueprint"
content.link = "programming/technologies/unreal-engine/blueprint" content.link = "programming/technologies/unreal-engine/blueprint"
+ ### thoughts on Blueprint + ### :page: thoughts on Blueprint
% id = "01HP1FESY5WVJG4X80AZ4ZBX5D" % id = "01HP1FESY5WVJG4X80AZ4ZBX5D"
- ### random but cool things - ### :folder: random but cool things
% content.link = "programming/technologies/unreal-engine/generated-body" % content.link = "programming/technologies/unreal-engine/generated-body"
id = "01HV1DGFHP6GB268MDGGDXMR12" id = "01HV1DGFHP6GB268MDGGDXMR12"
+ how does `GENERATED_BODY()` work exactly? + :page: how does `GENERATED_BODY()` work exactly?
% content.link = "programming/technologies/unreal-engine/fixes" % content.link = "programming/technologies/unreal-engine/fixes"
id = "01HP1FESY5ZS6YTZXA8QTT5V1Z" id = "01HP1FESY5ZS6YTZXA8QTT5V1Z"
+ data validation quick fixes + :page: data validation quick fixes

View file

@ -160,7 +160,13 @@ async fn sandbox(State(state): State<Arc<Server>>) -> Response {
async fn branch(RawQuery(named_id): RawQuery, State(state): State<Arc<Server>>) -> Html<String> { async fn branch(RawQuery(named_id): RawQuery, State(state): State<Arc<Server>>) -> Html<String> {
if let Some(named_id) = named_id { if let Some(named_id) = named_id {
if let Some(&branch_id) = state.treehouse.branches_by_named_id.get(&named_id) { let branch_id = state
.treehouse
.branches_by_named_id
.get(&named_id)
.copied()
.or_else(|| state.treehouse.branch_redirects.get(&named_id).copied());
if let Some(branch_id) = branch_id {
let branch = state.treehouse.tree.branch(branch_id); let branch = state.treehouse.tree.branch(branch_id);
if let Source::Tree { input, tree_path } = state.treehouse.source(branch.file_id) { if let Source::Tree { input, tree_path } = state.treehouse.source(branch.file_id) {
let file_path = state.target_dir.join(format!("{tree_path}.html")); let file_path = state.target_dir.join(format!("{tree_path}.html"));

View file

@ -43,6 +43,8 @@ pub struct Treehouse {
pub branches_by_named_id: HashMap<String, SemaBranchId>, pub branches_by_named_id: HashMap<String, SemaBranchId>,
pub roots: HashMap<String, SemaRoots>, pub roots: HashMap<String, SemaRoots>,
pub branch_redirects: HashMap<String, SemaBranchId>,
missingno_generator: ulid::Generator, missingno_generator: ulid::Generator,
} }
@ -56,6 +58,8 @@ impl Treehouse {
branches_by_named_id: HashMap::new(), branches_by_named_id: HashMap::new(),
roots: HashMap::new(), roots: HashMap::new(),
branch_redirects: HashMap::new(),
missingno_generator: ulid::Generator::new(), missingno_generator: ulid::Generator::new(),
} }
} }

View file

@ -166,6 +166,8 @@ impl SemaBranch {
attributes.id attributes.id
); );
let redirect_here = attributes.redirect_here.clone();
let branch = Self { let branch = Self {
file_id, file_id,
indent_level: branch.indent_level, indent_level: branch.indent_level,
@ -210,6 +212,38 @@ impl SemaBranch {
) )
} }
for source_branch_named_id in redirect_here {
if let Some(old_branch_id) = treehouse
.branch_redirects
.insert(source_branch_named_id.clone(), new_branch_id)
{
let new_branch = treehouse.tree.branch(new_branch_id);
let old_branch = treehouse.tree.branch(old_branch_id);
treehouse.diagnostics.push(
Diagnostic::warning()
.with_code("sema")
.with_message(format!(
"two branches serve as redirect targets for `{source_branch_named_id}`"
))
.with_labels(vec![
Label {
style: LabelStyle::Primary,
file_id,
range: new_branch.kind_span.clone(),
message: String::new(),
},
Label {
style: LabelStyle::Primary,
file_id: old_branch.file_id,
range: old_branch.kind_span.clone(),
message: String::new(),
},
]),
)
}
}
new_branch_id new_branch_id
} }

View file

@ -61,6 +61,12 @@ pub struct Attributes {
#[serde(default)] #[serde(default)]
pub id: String, pub id: String,
/// Redirect old and deleted listed in the list to this branch.
///
/// This can be used to keep links permanent even in case the structure of the treehouse changes.
#[serde(default)]
pub redirect_here: Vec<String>,
/// Controls how the block should be presented. /// Controls how the block should be presented.
#[serde(default)] #[serde(default)]
pub content: Content, pub content: Content,

BIN
static/emoji/clueless.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

4
static/emoji/folder.svg Normal file
View file

@ -0,0 +1,4 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5333 7.4L19 11.5L17 18H9L5 16V10C5 8.34315 6.34315 7 8 7H12.3333C12.7661 7 13.1871 7.14036 13.5333 7.4Z" fill="#D29A57"/>
<path d="M5 15V22C5 24.2091 6.79086 26 9 26H23C25.2091 26 27 24.2091 27 22V14C27 11.7909 25.2091 10 23 10H17.6667C17.2339 10 16.8129 10.1404 16.4667 10.4L13.5333 12.6C13.1871 12.8596 12.7661 13 12.3333 13H7C5.89543 13 5 13.8954 5 15Z" fill="#FFD977"/>
</svg>

After

Width:  |  Height:  |  Size: 490 B

7
static/emoji/page.svg Normal file
View file

@ -0,0 +1,7 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8 12V23C8 24.6569 9.34315 26 11 26H21C22.6569 26 24 24.6569 24 23V9C24 7.34315 22.6569 6 21 6H14L8 12Z" fill="#DBE1E2"/>
<path d="M14 9V6L8 12H11C12.6569 12 14 10.6569 14 9Z" fill="#9DA7AD"/>
<rect x="12" y="20" width="6" height="2" rx="1" fill="#9DA7AD"/>
<rect x="12" y="17" width="8" height="2" rx="1" fill="#9DA7AD"/>
<rect x="12" y="14" width="8" height="2" rx="1" fill="#9DA7AD"/>
</svg>

After

Width:  |  Height:  |  Size: 500 B

BIN
static/emoji/rarog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -15,6 +15,7 @@ description = "a place on the Internet I like to call home"
# Social garbage # Social garbage
"social/github" = "https://github.com/liquidev" "social/github" = "https://github.com/liquidev"
"social/soundcloud" = "https://soundcloud.com/daknus" "social/soundcloud" = "https://soundcloud.com/daknus"
"social/listenbrainz" = "https://listenbrainz.org/user/liquidev/"
# My own repositories # My own repositories
"stitchkit/repo" = "https://github.com/abyteintime/stitchkit" "stitchkit/repo" = "https://github.com/abyteintime/stitchkit"