# 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
- Ari-web things
- My dotfiles: https://ari.lt/dotfiles
- My Gentoo Linux overlay: https://ari.lt/overlay
- A quite simple sudo alternative for purely Linux (bc I suck and I don't use BSD yet, will be painful to port but eh, we'll see (yes I actually use it)) written in C++: https://ari.lt/gh/kos
- A TUI telegram client people seem to love but like it's not working with any modern features because I have not worked on it properly in like 9 months: https://ari.lt/gh/arigram
- Yafetch's fork, same name, just a completely reworked build system and I do active porting to newer lua versions: https://ari.lt/gh/yafetch
- A bot I made for CollabVM when I was actually active on it, just a simple websocket client ig, just specifically for CollabVM: https://ari.lt/gh/abot
- I needed a GNU BASH plugin manager which doesn't take 3 hours to start up and load all the plugins so I made my own, actually I do that often, whenever I can't find proper software that fits me, I just make my own: https://ari.lt/gh/baz
- Youtube CLI client I guess, some people seem to like it, although it's quite meh, there are many better alternatives, I still use it from time to time: https://ari.lt/gh/myt
- A purely POSIX sh functional daemon manager on top of SysVinit: https://ari.lt/gh/arci
- Some tools I use for generating passwords, validating them, etc. I like my passwords strong: https://ari.lt/gh/pwdtools
- Licence manager, quite useful, purely POSIX sh, I find using it quite a lot because I really don't want to go manually find and fill in licence templates: https://ari.lt/gh/pwdtools
- SearX meta-search-engine CLI, as you can tell I really like CLI tools, my terminal is my literal life, I use it sometimes too i guess: https://ari.lt/gh/searx-cli
- A simple package manager for the R programming language: https://ari.lt/gh/cran
- Make projects from templates, I use it as often as I use lmgr, because I hate doing things manually if I can easily automate it: https://ari.lt/gh/mkproj
- Random
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.lt/page/90s although I'd suggest not visiting it if you like having eyes
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
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.lt/b/my-gentoo-linux-setup/
Thank you for listening to my presentation about this, have a nice rest of your day