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:
		
							parent
							
								
									7720c9df0b
								
							
						
					
					
						commit
						d968da10a0
					
				
					 24 changed files with 453 additions and 204 deletions
				
			
		| 
						 | 
				
			
			@ -145,7 +145,7 @@
 | 
			
		|||
+ ### the treehouse is a mostly statically generated website
 | 
			
		||||
 | 
			
		||||
    % 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"
 | 
			
		||||
        - 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:)
 | 
			
		||||
 | 
			
		||||
        % 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"
 | 
			
		||||
    - as I alluded to [here][branch:01H89RFHCQ3EAP0F6PRSEK7S1T], treehouse is built to decay gracefully
 | 
			
		||||
      as you take away the fancy parts.
 | 
			
		||||
 | 
			
		||||
        % 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.
 | 
			
		||||
 | 
			
		||||
            % id = "01H8V55APD1RSSRMDZ3CEE9S9C"
 | 
			
		||||
| 
						 | 
				
			
			@ -220,7 +220,7 @@
 | 
			
		|||
          janky, but the content should still be fully readable.
 | 
			
		||||
 | 
			
		||||
    % 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"
 | 
			
		||||
        - 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`:
 | 
			
		||||
 | 
			
		||||
            % id = "01H8V55APD5686J8GTXP118V8E"
 | 
			
		||||
            - ```
 | 
			
		||||
            - ```treehouse
 | 
			
		||||
            % id = "root"
 | 
			
		||||
            - 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.
 | 
			
		||||
 | 
			
		||||
    % 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"
 | 
			
		||||
        - 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"
 | 
			
		||||
            - 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.
 | 
			
		||||
 | 
			
		||||
            % 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"
 | 
			
		||||
                - 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).
 | 
			
		||||
 | 
			
		||||
    % 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"
 | 
			
		||||
        - 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"
 | 
			
		||||
            - 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"
 | 
			
		||||
            - 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"
 | 
			
		||||
    - 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"
 | 
			
		||||
        - (not to be confused with [Font Awesome](https://fontawesome.com/), which I do not use here. icon designs are my own.)
 | 
			
		||||
 | 
			
		||||
        % 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"
 | 
			
		||||
            - 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"
 | 
			
		||||
                + 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.
 | 
			
		||||
 | 
			
		||||
            % 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"
 | 
			
		||||
                + 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.
 | 
			
		||||
 | 
			
		||||
                % id = "01HRD97CSJSQN78SGM691B6PNQ"
 | 
			
		||||
                - UPDATE: not slanted anymore. `slnt` is 0.
 | 
			
		||||
                - NOTE: not slanted anymore. `slnt` is 0.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,192 +1,169 @@
 | 
			
		|||
%% title = "who that! (about me)"
 | 
			
		||||
 | 
			
		||||
% id = "01H89P3CH836K8WKQ9BPR6RE3C"
 | 
			
		||||
- hello! I am liquidex
 | 
			
		||||
% id = "01J09B2BZXJ989S2SGWBNZ397C"
 | 
			
		||||
+ hello! I am **liquidex**.
 | 
			
		||||
 | 
			
		||||
    % id = "01H89P3CH8YZY1MTZS3DZGGFKX"
 | 
			
		||||
    + also known as…
 | 
			
		||||
    % id = "01J09B2BZX54T2GSP8H3D62S6J"
 | 
			
		||||
    + also known as **liquidex**
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8GAHS8DDW1HHEWA3P"
 | 
			
		||||
        - **liquidex** (just including this here for linking sake)
 | 
			
		||||
        % id = "01J09B2BZXQ31FV1M3PMM6Q0GX"
 | 
			
		||||
        - this is [the identity function](https://en.wikipedia.org/wiki/Identity_function) applied to my nickname
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8ER0M5WZBXQ292A2N"
 | 
			
		||||
        - **liquidev** on various [programming-related platforms][def:social/github]
 | 
			
		||||
    % id = "01J09B2BZX0R0AX5QHND6EBRFE"
 | 
			
		||||
    - also known as **liquidev** on [various programming 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 = "01J09B2BZXT6AAJNPEQ044KCDR"
 | 
			
		||||
    - also known as **lqdev**, before I realized that name was taken.
 | 
			
		||||
    you may notice this older name in some places.
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH81FTHTQ552N7N1S3A"
 | 
			
		||||
        - **daknus** [on SoundCloud][def:social/soundcloud]
 | 
			
		||||
    % id = "01J09B2BZXBS2K6MRQYXFH43PW"
 | 
			
		||||
    - also known as **daknus** [on SoundCloud][def:social/soundcloud].
 | 
			
		||||
    I use this as my music making alias.
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8PB76G26M4T8P6QDZ"
 | 
			
		||||
        + **limiter** sometimes jokingly on Discord
 | 
			
		||||
    % id = "01J09B2BZXAD196RA16JTY3K3T"
 | 
			
		||||
    + also known as **limiter**?
 | 
			
		||||
 | 
			
		||||
            % id = "01H89P3CH8Z4MXQ0C9EWV01DPX"
 | 
			
		||||
            + **limitre**, which is British for limiter
 | 
			
		||||
        % id = "01J09B2BZXNRYX758J5S00EZRG"
 | 
			
		||||
        - or **limitre**, which is British for limiter.
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8P7HAGDJVGVWD96K7"
 | 
			
		||||
                - y'know. like centre is British for center, metre is British for meter? :hueh:
 | 
			
		||||
% id = "01J09B2BZX25TN31D0F18YQPB2"
 | 
			
		||||
+ I'm a *he/him*-type cat person doing various stuff with computers
 | 
			
		||||
 | 
			
		||||
    % id = "01H89P3CH8FA0JTX1TPRZV4BFM"
 | 
			
		||||
    - before you ask, pronouns are _he/him_
 | 
			
		||||
    % id = "01J09B2BZXWB695M9XYF7CZ2ZF"
 | 
			
		||||
    - > you said cat person, does that mean you don't like dogs?
 | 
			
		||||
 | 
			
		||||
    % id = "01H89P3CH8A12NYRT3SC324Y2M"
 | 
			
		||||
    - I'm a programmer from Poland
 | 
			
		||||
        % id = "01J09E55G0QWS7X0YNBWRW222X"
 | 
			
		||||
        - I prefer cats myself. though foxes are canids and I consider them pretty cute :smile:
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8VN1MPKS4RQFFW778"
 | 
			
		||||
        + I work in the game industry
 | 
			
		||||
    % id = "01J09E55G0MZ0WFQ3WC98YDDGT"
 | 
			
		||||
    - > unless by *cat person* you mean…
 | 
			
		||||
 | 
			
		||||
            % id = "01H89P3CH88PKW82498V91VZ4W"
 | 
			
		||||
            + somehow my skills brought me to work as a game programmer at CD PROJEKT RED
 | 
			
		||||
        % id = "01J09E55G0YWYMAP62Q7AM18BE"
 | 
			
		||||
        + what? :clueless:
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8SPX5RZDWR00CZ436"
 | 
			
		||||
                + not sure how that happened still so don't ask
 | 
			
		||||
            % id = "01J09E55G09K80E6YE1T4E3KJJ"
 | 
			
		||||
            - > y'know… like a *furry*?
 | 
			
		||||
 | 
			
		||||
                    % id = "01H8YJDNJFB2BGT0ASDNM8S4JJ"
 | 
			
		||||
                    - impostor syndrome going hard right now
 | 
			
		||||
                % id = "01J09E55G0F5TVAK2MT80H598M"
 | 
			
		||||
                + :clueless:
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8QSQY1M7TZVH1FYQM"
 | 
			
		||||
        - but that game programming thing is just coincidence, in reality I love toying with
 | 
			
		||||
          computers in general
 | 
			
		||||
                    % id = "01J09E55G0WS63QCFBPP12EMRM"
 | 
			
		||||
                    + …
 | 
			
		||||
 | 
			
		||||
            % id = "01H89P3CH8TACWXWWZGGHQD2MK"
 | 
			
		||||
            - so you may see me doing other random and weird stuff
 | 
			
		||||
                        % id = "01J09E55G0H58Q8V8NV23QSQGC"
 | 
			
		||||
                        - huh. you're still here? :ahyes:
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH89P2Q9XGQD7BCF0R6"
 | 
			
		||||
                - perhaps [compilers][def:stitchkit/repo] are one of those weird things
 | 
			
		||||
                        welcome to the club!
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8DYZHMQTGZDAEBNXN"
 | 
			
		||||
                + or [audio][def:dawd3/repo]
 | 
			
		||||
                        unfortunately I've got no fursona to show off at this moment, please come back later.
 | 
			
		||||
 | 
			
		||||
                    % 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 = "01J09B2BZX9QV3PM9YWPS628PJ"
 | 
			
		||||
+ I'm a game developer by trade :rarog:
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8R9WKSMMQVY0XARSF"
 | 
			
		||||
                + heck even web development out of all things. I mean you're reading _my_ website right
 | 
			
		||||
                now after all
 | 
			
		||||
    % id = "01J09B2BZXNE1H2SXW9KSZK7Z5"
 | 
			
		||||
    + I do various developer productivity-related stuff at CD PROJEKT RED, mostly focusing on the DX of delivering breathtaking games using the Unreal Engine.
 | 
			
		||||
 | 
			
		||||
                    % id = "01H89P3CH88M1GZ3WN3RXCW1NN"
 | 
			
		||||
                    - like truly *my my* website with *my own* backend, static generator, and all that
 | 
			
		||||
        % id = "01J09B2BZX00X6A8Z6H4R16BDS"
 | 
			
		||||
        - 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"
 | 
			
		||||
                    - none of that pre-built stuff, this baby is generated from the *purest* samples
 | 
			
		||||
                    of Uranium-235 I could source
 | 
			
		||||
% id = "01J09B2BZXQKWYHC51D7QCJ6PF"
 | 
			
		||||
- other than game development, I program various other things…
 | 
			
		||||
 | 
			
		||||
                        % id = "01H89P3CH8HYM5XZRH56880TP5"
 | 
			
		||||
                        - … wait you're saying building your own nuclear reactor at home is illegal? UHHHHHHHHHH
 | 
			
		||||
    % id = "01J09B2BZXRE1VPASMR52RWNTH"
 | 
			
		||||
    - [compilers][def:stitchkit/repo],
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8EGD14MHJEET6MJ27"
 | 
			
		||||
                - who knows at this point
 | 
			
		||||
    % id = "01J09B2BZXYXA16X95H2JKDJNK"
 | 
			
		||||
    + [audio][def:dawd3/repo],
 | 
			
		||||
 | 
			
		||||
    % id = "01H89P3CH8RFRCTC500059H5G8"
 | 
			
		||||
    - apart from programming I also take interest in other various things
 | 
			
		||||
        % id = "01J09B2BZXY51P9D4BM8AADGYW"
 | 
			
		||||
        - my favorite part of that is blowing out my own eardrums with my math skill, which is rather *underdeveloped* so to speak,
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH864VWM4JXQ0N5C1YV"
 | 
			
		||||
        - like video games <!-- [video games][branch:games] -->
 | 
			
		||||
    % id = "01J09B2BZX2P7XDH81BJ079PCP"
 | 
			
		||||
    + [websites](/),
 | 
			
		||||
 | 
			
		||||
            % id = "01H89P3CH8WK8F2XKBXFVE8KNX"
 | 
			
		||||
            - yeah those are pretty great aren't they
 | 
			
		||||
        % id = "01J09B2BZXN6GWK2JPC7YGT0E1"
 | 
			
		||||
        + 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"
 | 
			
		||||
            - my faves are:
 | 
			
		||||
            % id = "01J09B2BZXZAEPD36XG495WYFH"
 | 
			
		||||
            + 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"
 | 
			
		||||
                - [A Hat in Time](https://hatintime.com)
 | 
			
		||||
                % id = "01J09B2BZX0M925RBXR023XM6X"
 | 
			
		||||
                - <!-- what I mean is if you haven't seen anyone else here, you haven't looked hard enough. -->
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8G625Q1NQVT8CJ3K1"
 | 
			
		||||
                - [DELTARUNE](https://deltarune.com)
 | 
			
		||||
    % id = "01J09B2BZXX2R1TH10GGZC25KG"
 | 
			
		||||
    + you name it. as long as it poses a cool and fun challenge, I'll be on it :verified:
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH89TQ3SFG2Z40J29HX"
 | 
			
		||||
                - they're pretty great you should check them out <!-- (also check out [my games corner][branch:games]? :pleading_face:) -->
 | 
			
		||||
        % id = "01J09B2BZX5WED9XE2RAADFW8M"
 | 
			
		||||
        - there's probably only one thing I *don't* like and it's backend web development. where did all the simplicity go?
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8AJATQ5DJBBFXJ1NH"
 | 
			
		||||
        - or [music][page:music]
 | 
			
		||||
            % id = "01J09B2BZXQQMPDYQJ052131GT"
 | 
			
		||||
            - 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"
 | 
			
		||||
            - various genres from electronic through jazz and even rock
 | 
			
		||||
% id = "01J09B2BZXS6NZKYS6CTWMG1QY"
 | 
			
		||||
- and other than programming, I do various other things…
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8V8H7BVWYTFHYQQTZ"
 | 
			
		||||
                - in that order of priority
 | 
			
		||||
    % id = "01J09B2BZXX9PFV33J591B3C9K"
 | 
			
		||||
    + like video games! those are pretty great, aren't they?
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8ZMVBKS6CXGRB8QHB"
 | 
			
		||||
                - electronic definitely leaning toward the more um, _eccentric_ side
 | 
			
		||||
        % id = "01J09B2BZXDB8CZK0X6JMRMNR1"
 | 
			
		||||
        + 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"
 | 
			
		||||
                    - all you have to know is I listen to Venetian Snares pretty regularly
 | 
			
		||||
            % id = "01J09B2BZX9CM8B5G42E2KYDBT"
 | 
			
		||||
            - (you may wanna check out [UNDERTALE](https://undertale.com/) before you play Deltarune though.)
 | 
			
		||||
 | 
			
		||||
                    % id = "01H89P3CH8C719GX9CTK36FXXN"
 | 
			
		||||
                    + if you don't know what that means then good for you
 | 
			
		||||
    % id = "01J09B2BZXYCRJDVJAVYT1P50P"
 | 
			
		||||
    + [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"
 | 
			
		||||
                        + but if you so insist… [you have been warned](https://www.youtube.com/watch?v=BB7ExLcUuH0)
 | 
			
		||||
        % id = "01J09B2BZX5C2KBA2ZC0X0YYD6"
 | 
			
		||||
        -
 | 
			
		||||
 | 
			
		||||
                            % 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 = "01J09B2BZX39FGP634BM5HJ0FD"
 | 
			
		||||
    + did I mention [music][page:music]?
 | 
			
		||||
    I also ~~aspire to~~ [make ][def:social/soundcloud][music][page:music][ sometimes][def:social/soundcloud].
 | 
			
		||||
 | 
			
		||||
                % id = "01H89P3CH8XP6ZA1RWYVZWRXN3"
 | 
			
		||||
                - jazz and rock I don't really know as well but I've been trying to broaden my
 | 
			
		||||
                  horizons a bit
 | 
			
		||||
        % id = "01J09B2BZXGG5HYVYDNPVFRKY1"
 | 
			
		||||
        - I say aspire because I'd really like to be better at it, but *time*, man…
 | 
			
		||||
 | 
			
		||||
                    % id = "01H89P3CH8EYKDYN83VPQQ088C"
 | 
			
		||||
                    + I really like artists who merge them with elements of electronic music
 | 
			
		||||
    % id = "01J09B2BZXY6AN3242DYECK74Z"
 | 
			
		||||
    + from time to time I also try to draw things, but *time*, it's killing me, man…
 | 
			
		||||
 | 
			
		||||
                        % 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 = "01J09B2BZXN3263NEHCKQ931TS"
 | 
			
		||||
        - 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.
 | 
			
		||||
 | 
			
		||||
    % id = "hello"
 | 
			
		||||
    - feel free to come up to me and say hi!
 | 
			
		||||
% id = "hello"
 | 
			
		||||
+ if all that sounds like an interesting bunch of words, feel free to come up to me and say hi!
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH823H89YQJKH9DWMW9"
 | 
			
		||||
        - I would love to make some new friends :ralsei_love:
 | 
			
		||||
    % id = "01J09B2BZXEVKP4AM4NJ0ZY8VJ"
 | 
			
		||||
    - I'd love to make some new friends :ralsei_love:
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8ZQ11ABP0YW86APN7"
 | 
			
		||||
        - in person I'm pretty much exactly as on this website lol
 | 
			
		||||
    % id = "01J09B2BZXMMYDQG3SD6KK8M5H"
 | 
			
		||||
    - you can reach out to me via
 | 
			
		||||
 | 
			
		||||
            % id = "01H89P3CH8DHJC5BJMHVBMDAXS"
 | 
			
		||||
            - like this website is literally meant to be a reflection of my personality and a literal braindump
 | 
			
		||||
        % id = "01J09B2BZXZQSRXV8EHT68YE7M"
 | 
			
		||||
        - Discord - username is [this][branch:01J09B2BZX54T2GSP8H3D62S6J]
 | 
			
		||||
 | 
			
		||||
            % id = "01H89P3CH80XYPAHXH1QZJ9SMZ"
 | 
			
		||||
            + so I type here like I would type on some chat platform. but it's a tree, just like Reddit!
 | 
			
		||||
        % id = "01J09E55G1DB0RCJ2Z0DND38KF"
 | 
			
		||||
        - Matrix - username is [this][branch:01J09B2BZXT6AAJNPEQ044KCDR]
 | 
			
		||||
 | 
			
		||||
                % 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 = "01J09E55G1VQ1K14BZ1QW1X2CA"
 | 
			
		||||
        + email - for people, it's under this domain and is `hi`
 | 
			
		||||
 | 
			
		||||
                    % id = "01H9DAJRZDNS9MSC9SK6HTEX2Z"
 | 
			
		||||
                    - and Reddit sucks!
 | 
			
		||||
            % id = "01J09E55G1AE9HZZYV2A7S8FR7"
 | 
			
		||||
            - if you're not a person you can, I dunno.
 | 
			
		||||
            what do robots like doing?
 | 
			
		||||
 | 
			
		||||
        % id = "01H89P3CH8CD28KGX9GVRFK60E"
 | 
			
		||||
        - anyways you can find me on
 | 
			
		||||
            % id = "01J09E55G1AGZ51ZV5ZGFMF78H"
 | 
			
		||||
            - 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"
 | 
			
		||||
            + Discord - username is [this][branch:01H89P3CH8GAHS8DDW1HHEWA3P]
 | 
			
		||||
            % id = "01J09E55G1XKF12N27Y8TCMQPY"
 | 
			
		||||
            - if not then my email is not that hard to find in other places.
 | 
			
		||||
 | 
			
		||||
                % 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
 | 
			
		||||
        % id = "01J09E55G1T4PPVBXH7PSR8ZNY"
 | 
			
		||||
        - just don't forget to wave at me if you do - I need to tell you apart from bots somehow!
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										192
									
								
								content/about/v1.tree
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								content/about/v1.tree
									
										
									
									
									
										Normal 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
 | 
			
		||||
| 
						 | 
				
			
			@ -22,8 +22,8 @@ this branch is about that.
 | 
			
		|||
 | 
			
		||||
% content.link = "design/sidebars"
 | 
			
		||||
  id = "01HR9ZTS6T2ZBWGMJP8376NGX1"
 | 
			
		||||
+ sidebars
 | 
			
		||||
+ :page: sidebars
 | 
			
		||||
 | 
			
		||||
% content.link = "design/digital-textures"
 | 
			
		||||
  id = "01HQ8JHZ5QTZXQW3M26CXPFQDF"
 | 
			
		||||
+ on digital textures
 | 
			
		||||
+ :page: on digital textures
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@
 | 
			
		|||
            % id = "01HR9ZTS6PKYGVTFF0F78XVXH2"
 | 
			
		||||
            - (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*.
 | 
			
		||||
            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"
 | 
			
		||||
- I'm glad most individuals' blogs are foregoing sidebars, but unfortunately I still regularly see them on various news sites and older blogs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,8 @@
 | 
			
		|||
% 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"
 | 
			
		||||
- it's just here for permalinking purposes. for now.
 | 
			
		||||
| 
						 | 
				
			
			@ -8,7 +11,7 @@
 | 
			
		|||
    - soon... I may put something here.
 | 
			
		||||
 | 
			
		||||
% id = "games/oneshot"
 | 
			
		||||
+ ### OneShot
 | 
			
		||||
+ ### :page: OneShot
 | 
			
		||||
 | 
			
		||||
    % id = "01HA4HJKR3PBM0NJH7MZMYK6V9"
 | 
			
		||||
    - buy: [Steam](https://store.steampowered.com/app/420530/OneShot/)
 | 
			
		||||
| 
						 | 
				
			
			@ -17,7 +20,7 @@
 | 
			
		|||
    - on little cat feet
 | 
			
		||||
 | 
			
		||||
% id = "games/the-talos-principle"
 | 
			
		||||
+ ### The Talos Principle
 | 
			
		||||
+ ### :page: The Talos Principle
 | 
			
		||||
 | 
			
		||||
    % id = "01H9R1NKAXN8NKBPYBEZASA1RA"
 | 
			
		||||
    - buy: [Steam](https://store.steampowered.com/app/257510/The_Talos_Principle/)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,15 +3,15 @@
 | 
			
		|||
 | 
			
		||||
% content.link = "music/reviews"
 | 
			
		||||
  id = "01H969NN1BJYFYJJR0F458ACPN"
 | 
			
		||||
+ ### stuff I listen to
 | 
			
		||||
+ ### :folder: stuff I listen to
 | 
			
		||||
 | 
			
		||||
% content.link = "music/fuck-drm"
 | 
			
		||||
  id = "01HPECQ3ZE1YKC1FS2X23H77R2"
 | 
			
		||||
+ ### fuck DRM
 | 
			
		||||
+ ### :folder: fuck DRM
 | 
			
		||||
 | 
			
		||||
% content.link = "music/spotify"
 | 
			
		||||
  id = "01HVNX7FMW6KJC9H3CQ7TX8ST6"
 | 
			
		||||
+ ### Spotify
 | 
			
		||||
+ ### :folder: Spotify
 | 
			
		||||
 | 
			
		||||
% id = "01H969NN1BR7BH7M7SXBPGB0WC"
 | 
			
		||||
- in the future this section may grow another branch related to music making.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,7 +7,7 @@
 | 
			
		|||
    - I'm aware they know *very well* what they're doing. just, y'know, *fuck them.*
 | 
			
		||||
 | 
			
		||||
% id = "01HPWEESFV7TPXA6H5BCZVZKD6"
 | 
			
		||||
+ exhibit 2: ODDTAXI soundtrack
 | 
			
		||||
+ :page: exhibit 2: ODDTAXI soundtrack
 | 
			
		||||
 | 
			
		||||
    % 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"
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +32,7 @@
 | 
			
		|||
                They handle my payments. the money goes to the artists. and all the parties involved are happy!
 | 
			
		||||
 | 
			
		||||
% 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"
 | 
			
		||||
    - today I went to listen to some good ol'e Benn Jordan The Flashbulb at work, and guess what do I see?
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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"
 | 
			
		||||
+ here you can find my thoughts on music I listen to
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -39,44 +43,44 @@
 | 
			
		|||
 | 
			
		||||
% id = "music/album/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"
 | 
			
		||||
  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"
 | 
			
		||||
  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"
 | 
			
		||||
  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"
 | 
			
		||||
+ 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"
 | 
			
		||||
      content.link = "music/reviews/aphex-twin/drukqs"
 | 
			
		||||
    + ### album: Aphex Twin - drukQs
 | 
			
		||||
    + ### :page: album: Aphex Twin - drukQs
 | 
			
		||||
 | 
			
		||||
        % id = "01H9JB094GTG1TJ029CQ4PNMS0"
 | 
			
		||||
        - buy: [Bandcamp](https://aphextwin.bandcamp.com/album/drukqs)
 | 
			
		||||
 | 
			
		||||
    % id = "music/album/the-flashbulb/our-simulacra"
 | 
			
		||||
    + ### album: The Flashbulb - Our Simulacra
 | 
			
		||||
    + ### :page: album: The Flashbulb - Our Simulacra
 | 
			
		||||
 | 
			
		||||
        % id = "01H9R1NKBD8JA76ZBEFTJ62XV0"
 | 
			
		||||
        - buy: [Bandcamp](https://theflashbulb.bandcamp.com/album/our-simulacra)
 | 
			
		||||
 | 
			
		||||
    % id = "music/album/radiohead/hail-to-the-thief"
 | 
			
		||||
    + ### album: Radiohead - Hail to the Thief
 | 
			
		||||
    + ### :page: album: Radiohead - Hail to the Thief
 | 
			
		||||
 | 
			
		||||
        % id = "01H969NN1B6W19ENMTBJ0D48AF"
 | 
			
		||||
        - buy: [Bandcamp](https://radiohead.bandcamp.com/album/hail-to-the-thief)
 | 
			
		||||
 | 
			
		||||
    % id = "music/album/radiohead/the-king-of-limbs"
 | 
			
		||||
    + ### album: Radiohead - The King of Limbs
 | 
			
		||||
    + ### :page: album: Radiohead - The King of Limbs
 | 
			
		||||
 | 
			
		||||
        % id = "01H9JB094HBXF1G48ZME4WV2JA"
 | 
			
		||||
        - buy: [Bandcamp](https://radiohead.bandcamp.com/album/the-king-of-limbs)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
 | 
			
		||||
% 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"
 | 
			
		||||
    - this is how it looks now:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -16,7 +16,7 @@
 | 
			
		|||
        of a a "this is interesting" than "I disagree with this" vibe
 | 
			
		||||
 | 
			
		||||
% 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"
 | 
			
		||||
    + a concept that's incredibly useful in keeping it cool
 | 
			
		||||
| 
						 | 
				
			
			@ -37,7 +37,7 @@
 | 
			
		|||
    it then.
 | 
			
		||||
 | 
			
		||||
% id = "01HREVZNAHB1H9VMD0NPPFTEQ0"
 | 
			
		||||
+ just shut up sometimes
 | 
			
		||||
+ :page: just shut up sometimes
 | 
			
		||||
 | 
			
		||||
    % 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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,44 +4,44 @@
 | 
			
		|||
    % id = "01H8Y427B4WC1CF9RHPZPXE77W"
 | 
			
		||||
    - and also more than just bit magic but I like how that sounds
 | 
			
		||||
 | 
			
		||||
% id = "programming/projects"
 | 
			
		||||
  content.link = "programming/projects"
 | 
			
		||||
+ ### projects
 | 
			
		||||
 | 
			
		||||
% id = "01HPD4XQQ5GPQ20C6BPA8G670F"
 | 
			
		||||
- ### blog
 | 
			
		||||
- ### :folder: blog
 | 
			
		||||
 | 
			
		||||
    % content.link = "programming/blog/tairu"
 | 
			
		||||
      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"
 | 
			
		||||
      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"
 | 
			
		||||
      id = "01HTWN4XB2YMF3615BE8V6Y76A"
 | 
			
		||||
    + OR-types
 | 
			
		||||
    + :page: OR-types
 | 
			
		||||
 | 
			
		||||
% id = "programming/projects"
 | 
			
		||||
  content.link = "programming/projects"
 | 
			
		||||
+ ### :folder: projects
 | 
			
		||||
 | 
			
		||||
% id = "01HRG2RJCNKT9JJJVQ8WVRC9CA"
 | 
			
		||||
- ### languages
 | 
			
		||||
- ### :folder: languages
 | 
			
		||||
 | 
			
		||||
    % content.link = "programming/languages/cxx"
 | 
			
		||||
      id = "programming/languages/cxx"
 | 
			
		||||
    + ### C++
 | 
			
		||||
    + #### :folder: C++
 | 
			
		||||
 | 
			
		||||
    % content.link = "programming/languages/lua"
 | 
			
		||||
      id = "programming/languages/lua"
 | 
			
		||||
    + ### Lua
 | 
			
		||||
    + #### :page: Lua
 | 
			
		||||
 | 
			
		||||
% id = "01HRG2RJCN8J42NK0KWD3SBSJA"
 | 
			
		||||
- ### technologies
 | 
			
		||||
- ### :folder: technologies
 | 
			
		||||
 | 
			
		||||
    % content.link = "programming/technologies/unreal-engine"
 | 
			
		||||
      id = "programming/technologies/unreal-engine"
 | 
			
		||||
    + ### Unreal Engine
 | 
			
		||||
    + #### :folder: Unreal Engine
 | 
			
		||||
 | 
			
		||||
% content.link = "programming/opinions"
 | 
			
		||||
  id = "programming/opinions"
 | 
			
		||||
+ ### opinions
 | 
			
		||||
+ ### :folder: opinions
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,10 @@
 | 
			
		|||
%% title = "C++"
 | 
			
		||||
 | 
			
		||||
% id = "01H9R1KJESR2F420HE67HW4AVR"
 | 
			
		||||
- design lessons from the best programming language of all time that everyone loves (not really)
 | 
			
		||||
 | 
			
		||||
% 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"
 | 
			
		||||
    - although Java and C#'s approach to symbol privacy may be verbose, it has one great advantage: it is stateless.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,7 +4,7 @@
 | 
			
		|||
- > "Hotland - Bad Opinion Zone"
 | 
			
		||||
 | 
			
		||||
% id = "01HBTSXTTAMWJ2BM6395YS72FN"
 | 
			
		||||
+ log verbosity levels are stupid
 | 
			
		||||
+ :page: log verbosity levels are stupid
 | 
			
		||||
 | 
			
		||||
    % id = "01HBTSXTTA946PJ04NN50P393T"
 | 
			
		||||
    - 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
 | 
			
		||||
 | 
			
		||||
% id = "01HBTSXTTASQDZK2HMCZXR3JJ4"
 | 
			
		||||
+ tracing is better than logging
 | 
			
		||||
+ :page: tracing is better than logging
 | 
			
		||||
 | 
			
		||||
    % id = "01HBTSXTTA08SCA313HSFWB13T"
 | 
			
		||||
    - information about time spans is very valuable for profiling
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +89,7 @@
 | 
			
		|||
        be a worthwhile thing to do
 | 
			
		||||
 | 
			
		||||
% 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"
 | 
			
		||||
    + 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
 | 
			
		||||
 | 
			
		||||
% 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"
 | 
			
		||||
    - 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
 | 
			
		||||
 | 
			
		||||
% id = "01HPEMVAH9JZWYPVN53GVFQNQY"
 | 
			
		||||
+ NaNs should crash the program
 | 
			
		||||
+ :page: NaNs should crash the program
 | 
			
		||||
 | 
			
		||||
    % id = "01HPEMVAH97PDHJJS70SKG5VMN"
 | 
			
		||||
    - 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.
 | 
			
		||||
 | 
			
		||||
% 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"
 | 
			
		||||
    - this one stems from an argument I had today, so I'll write my thoughts for future generations' enjoyment here
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,3 +1,5 @@
 | 
			
		|||
%% title = "Unreal Engine"
 | 
			
		||||
 | 
			
		||||
% id = "01H8Y0CKD0ZDHAH1ET3BJNDS4E"
 | 
			
		||||
- this is that really cool game engine I work with on a daily basis
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -9,16 +11,16 @@
 | 
			
		|||
 | 
			
		||||
% id = "programming/technologies/unreal-engine/blueprint"
 | 
			
		||||
  content.link = "programming/technologies/unreal-engine/blueprint"
 | 
			
		||||
+ ### thoughts on Blueprint
 | 
			
		||||
+ ### :page: thoughts on Blueprint
 | 
			
		||||
 | 
			
		||||
% id = "01HP1FESY5WVJG4X80AZ4ZBX5D"
 | 
			
		||||
- ### random but cool things
 | 
			
		||||
- ### :folder: random but cool things
 | 
			
		||||
 | 
			
		||||
    % content.link = "programming/technologies/unreal-engine/generated-body"
 | 
			
		||||
      id = "01HV1DGFHP6GB268MDGGDXMR12"
 | 
			
		||||
    + how does `GENERATED_BODY()` work exactly?
 | 
			
		||||
    + :page: how does `GENERATED_BODY()` work exactly?
 | 
			
		||||
 | 
			
		||||
    % content.link = "programming/technologies/unreal-engine/fixes"
 | 
			
		||||
      id = "01HP1FESY5ZS6YTZXA8QTT5V1Z"
 | 
			
		||||
    + data validation quick fixes
 | 
			
		||||
    + :page: data validation quick fixes
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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> {
 | 
			
		||||
    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);
 | 
			
		||||
            if let Source::Tree { input, tree_path } = state.treehouse.source(branch.file_id) {
 | 
			
		||||
                let file_path = state.target_dir.join(format!("{tree_path}.html"));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,8 @@ pub struct Treehouse {
 | 
			
		|||
    pub branches_by_named_id: HashMap<String, SemaBranchId>,
 | 
			
		||||
    pub roots: HashMap<String, SemaRoots>,
 | 
			
		||||
 | 
			
		||||
    pub branch_redirects: HashMap<String, SemaBranchId>,
 | 
			
		||||
 | 
			
		||||
    missingno_generator: ulid::Generator,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -56,6 +58,8 @@ impl Treehouse {
 | 
			
		|||
            branches_by_named_id: HashMap::new(),
 | 
			
		||||
            roots: HashMap::new(),
 | 
			
		||||
 | 
			
		||||
            branch_redirects: HashMap::new(),
 | 
			
		||||
 | 
			
		||||
            missingno_generator: ulid::Generator::new(),
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -166,6 +166,8 @@ impl SemaBranch {
 | 
			
		|||
            attributes.id
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        let redirect_here = attributes.redirect_here.clone();
 | 
			
		||||
 | 
			
		||||
        let branch = Self {
 | 
			
		||||
            file_id,
 | 
			
		||||
            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
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -61,6 +61,12 @@ pub struct Attributes {
 | 
			
		|||
    #[serde(default)]
 | 
			
		||||
    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.
 | 
			
		||||
    #[serde(default)]
 | 
			
		||||
    pub content: Content,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										
											BIN
										
									
								
								static/emoji/clueless.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/emoji/clueless.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 14 KiB  | 
							
								
								
									
										4
									
								
								static/emoji/folder.svg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								static/emoji/folder.svg
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										7
									
								
								static/emoji/page.svg
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										
											BIN
										
									
								
								static/emoji/rarog.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 11 KiB  | 
| 
						 | 
				
			
			@ -15,6 +15,7 @@ description = "a place on the Internet I like to call home"
 | 
			
		|||
# Social garbage
 | 
			
		||||
"social/github" = "https://github.com/liquidev"
 | 
			
		||||
"social/soundcloud" = "https://soundcloud.com/daknus"
 | 
			
		||||
"social/listenbrainz" = "https://listenbrainz.org/user/liquidev/"
 | 
			
		||||
 | 
			
		||||
# My own repositories
 | 
			
		||||
"stitchkit/repo" = "https://github.com/abyteintime/stitchkit"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue