homework: -ish have to present some stuff about my projects and things

# Projects

Don't ask me about the names, ari-web came from how I name my hostnames while using Linux distros like ari-<distro> so it only makes sense that ari-web would be for my website ig, other names I just made up ig, I really have 0 clue what they mean but yeah, also I only created my GitHub account in 2020/09/10, meaning I have not released too much, usually my projects used to be smaller scale, the most I did was share them on discord or something, but also there's the issue that I have deleted over 50 of them from github because they're.. Very useless

Plus a bunch others, some private, some unreleased, some just too small to share lol, some just have bad code, actually some of that bad code is intentional, so like I got obsessed with stack based languages and I got 2 attempts at making 2:

All of them use python as a bootstrap and had a plan to self-host, Rys is just dead although Fa I'm pretty sure is turing complete, also I think it's possible to self-host it, I'm just too lazy to do so, also too lazy to prove its turing compleeness, the reason why the code is bad is because I literally did not try, 'It's just a stupid script to what will disappear after some time' I thought, although Fa is def not a fully dead project lol

Kay, so besides those, ari-web also has pages ig, like I don't think I can consider them projects but yk, it's all in the main page kinda, actually a lot of it is indexed at https://www.ari-web.xyz/page/90s although I'd suggest not visiting it if you like having eyes

# Tools

I am a Linux user as of now, I usually work with Linux, although I try to be as friendly as possible towards other *NIX-like operating systems, examples being BSD and MacOS, mainly BSD though as I myself got plans for 2023 to switch to it, Linux is getting too mainstream and large for my taste, although most likely I will still be using Linux is some form or another

My code editor is ViM, a lightweight TUI code editor which is really extensible, vim is extremely fast and also has a very powerful plugin system using various languages (even compiled ones) bounded together by VimScript, there is another project called NeoVim which tries to improve more things on it because vim is an extremely old project which is basically controlled by one person, although still many people contribute, NeoVim is more speed and community focused, although I prefer ViM because I don't need the extra features and improvements nvim brings with it

My main interpreted language is Python, a very powerful, abstract high level programming language, also quite powerful with its ability to load C and C++ extensions for lower level access, its API is fairly simple, you just work with basic PyObjects

My main compiled languages are C and C++, as I'm not a huge fan of OOP and I barely find use for it, I mainly use C++ for its type system and namespaces, I also like C, a very simple and small programming language with low level access to the point of assembly, one thing which I don't really like about C is that you basically work with raw pointers all the time, C++ makes it less of a pain in my opinion

For configuration languages I prefer JSON, JSONC or DOSINI, all of them have their own uses, but one works better than others in certain cases, JSON works well for basic config with multiple types, JSONC works better for bigger and more complex configuration and DOSINI pretty much works on anything that uses repositories or needs a basic header-key-value config, like {"header": {"key": "value"}} is a much more painful syntax than just

[header]
key = value

Also we cannot live without scripts, they help up automate repetitive tasks like building a C++ binary with a whole bunch of flags, Makefiles are cool, but quite painful, also I use 4 spaces rather than tabs (yes ik so controversial smh how dare I wasted space blah blah blah) and Makefiles force you to use tabs, which is extremely annoying, so I just resort to using POSIX sh and in very very very rare cases where I need to use more special features I use BASH

My web stack for frontend is mainly (S)CSS, JS and HTML, although I like TS more, usually I'm just too lazy to set it up and end up running into countless bugs just because of people's beloved JavaScript (+ other million languages that have 'Java' in their name but have nothing in common with java), SCSS is also not a rare thing for me to use, it just requires some transpiling and you get way more features than in CSS, I mainly use it in styles that require me to use a central configuration file or I just need those extra features, for backend I usually use python with the flask web framework and jinja templating engine, if I need it also an SQLite3 database using SQLAlchemy because we all know how amazing, enjoyable and secure it is to write raw SQL queries <3333, this is a joke for the ones that don't get sarcasm

The languages I mentioned is not all I know, I have tried many languages, some of them liked, some of them meh, same with knowledge of them, some of them I know better than others, for example racket, scheme. haskell, lua, ruby, chicken, etc. and languages I really didn't include and which didn't fit like markdown, roff, etc. (which are not programming languages) I still use them

And finally some random things I use can be found on https://blog.ari-web.xyz/b/my-gentoo-linux-setup/

Thank you for listening to my presentation about this, have a nice rest of your day