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
|
@ -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…
Reference in a new issue