Artemis Post-launch Thoughts · · · (updated )
Artemis II launched today (April 1st), a couple hours ago at the time of writing I believe! And it was more beautiful to watch than I thought!
New project! Writing a C Compiler · · ·
Hey girlies and boyos!! Now that I’ve slowly started to return from a break I’ve been taking from Discord for the past few months, I’m going to (attempt) to start writing updates for projects I’m working on! First off…
Mixture of Trackers (draft) · · ·
Draft Progress
- First draft
- Second draft (cleanup & editing notes)
- Third draft (fix notes?)
Draft
I’ve been playing a lot of VRChat recently, and one topic that keeps coming to mind is the immersion you can get from tracking the pose of your body. By default, for almost every virtual reality (VR) headset in existence, there are three trackers: your headset, and two controllers. That tells you very little about the player’s pose; just the positions of the hands and the head. You can’t really move your legs around, or your hips, or really anything at all. A lot of hardcore VRChat players invest in buying more trackers to fix this. Full Body Tracking (FBT) as it is known improves immersion significantly and makes it so much more fun to socialize! Some headsets have hand tracking, like the Meta Quest, and some even have eye and face tracking, the most exotic form of tracking in my opinion.
Abusing the powers of query based compilers (draft) · · ·
Long before spacetime had been born, wizards of olde fought in the endless legendary debates of naming conventions. Some wielded CamelCase as heavy handily as they wielded C++ and Java. Others wielding the incomprehensible powers of snake_case could materialize deep learning codebases using only a wave of their hand and 16 gigabytes of Python extension modules. The wizards using Upper_Snake_Case died out long ago.
Compilers: Query, Key, Value? (draft) · · ·
Compilers are very pointer heavy, as they often use linked lists for lists of operations, trees, graphs, and if they use it, single static assignment (SSA) form is riddled with pointers (SSA is a program representation where the result of an operation is a pointer to that operation, essentially meaning that a program in SSA is a graph with ‘no’ statements). This is a huge blow to performance, as compilers like LLVM (used in Clang) and GCC spend an enormous amount of time dereferencing pointers! Arrays are used, but heavy pointer use reigns supreme in compiler implementations.