Ashli's Site — Welcome!

Welcome! This is my assignment page for 82000 Web Development! This page, along with everything I'll submit for this class, is not AI generated. I just write like this :)

Introduction & Hobbies

My name is Ashli! I'm non-binary and my pronouns are she/they.

Programming Hobbies

My main interest is computer science and (to a slightly lesser extent) programming. In terms of the latter, I've used a variety of languages, from Kotlin to Factor to Haskell to JavaScript to Bash. My experience and comfort varies, naturally, but Rust has been a stand-out favorite language of mine and is what I write the majority of my code in.

One of the biggest areas of programming that I enjoy is language design. I love writing compilers, interpreters, even just parsers or lexers. One of my largest projects is indeed just a lexer library.

With regard to compilers, I've enjoyed esoteric programming languages for a long time— both reading others' work and making my own! In particular I enjoy math-heavy languages or ones that force you to think outside of the box to use— I like a good puzzle! The language I'm most proud of making is Bleh, which is based on bitstrings and pattern matching (incredible name, I know).

I've recently been thinking about a language that operates on a weird kind of boolean value: Infinity and 0, as well as lists. A list's length can only either be 0 or infinite, and each list element can only be 0 or infinity. (No nested lists!) Not sure where to take it from there, but it seems interesting. I've also had another idea for a declarative language based purely on logical implication, similar to a theorem solver.

Misc. Hobbies

I really enjoy weird or obscure aspects of mathematics. Like my go-to example is: we all know most computers are built atop boolean calculus, but have you heard of ternary calculus? Three-valued logic, in other words. (Okay I know this isn't that obscure) It's very interesting how you're able to interpret 3 values and what operations are derived from them. Should it be True, False, Unknown? Perhaps True, False, Not False? (this sounds weird but I promise it's interesting as well) Et cetera.

I enjoy, as is fairly common, video games as well. I mostly play puzzle games but I also enjoy roguelikes and story-based games. Not much else to really say about this, though— pretty run-of-the-mill, plain hobby.

Prior Experience

I already have some knowledge in solo website development, I have my own site which is currently hosted on Codeberg Pages, though it's a bit politically charged. It was initially written in raw HTML, CSS, and JS, but I've switched to using Svelte with Scss and TypeScript as the codebase has grown. (Though I'm planning on migrating it further into a custom language I'm working on because I have an insatiatble need to build everything myself)

As mentioned, I mostly use Codeberg for my repositories, not GitHub. A majority of my repositories are just various Rust projects, however— Mostly compilers or interpreters. Though again, I host my site there too so it's not all Rust, only like 95% Rust!

Additionally, I used to be a volunteer developer on Minecraft server focused on teaching basic programming, (akin to Scratch) so I'm fairly adept at working with others and using Git. (at least in a small, informal team)

Why am I taking this class?

Well, the boring answer is "it's required for my degree" but that's a bit of a cop-out. All educational experiences have value and you can pretty much always get something out of a class like this! Whether I'm actually a web developer or not is irrelevant, learning is good!

My current knowledge of HTML and CSS are from just simple references like W3Schools and the MDN docs for developing my own site. But, of course, just looking up "how do I do X in CSS" every time I need to do X leaves significant gaps in my knowledge. It is also prone to the XY Problem. Thus, having this class to fill in the inevitable, huge gaps in my knowlege is very helpful!

As for JavaScript, on the other hand, I'm much more confident in it than I am with HTML/CSS. I've used it for over 4 years in several different environments, including, of course, frontend website development. I feel like most of my knowledge gain at the point would be more on the practical side of things, such as learning new libraries or using it in different contexts or whatnot. But, of course, JavaScript is full of obscure, disgusting features (like the whole raw-string function call syntax) so I'm certain I have gaps there too.