Welcome to my little collection of stuff I wanted but couldn't find anything I liked, so I decided to create my own version of it.
Web-Development isn't exactly my speciality so it may be a bit rough around the edges.
The design on this site may be a little outdated by 'modern' web development 'standards' as it doesn't need ginormous frameworks with 1600 dependencies to work.
(yes I am still salty about that and yes I think most 'modern design' looks crap and sacrifices a lot of functionality on the altar of 'modern')
On top of that I'm about as talented with graphic/visual design as a brick.
A copy of the source for this site can (in the near future, i have to sort a few things first, I need to rewrite some of the code due to possible copyright issues. I don't think very loose inspiration would be an
issue but better safe than sorry, especially if I'm going to publish it) be found at my GitHub. Do note the GitHub repo is not the ground-truth for the code but merely a mirror, so there may be
slight differences that haven't been synchronised yet.
Available Tools:
ASCII table with ISO/IEC 8859-1/15 (aka Latin-1/9) and Windows cp1252 single-byte encodings and html entities
UTF-8 based Text converter (Text/UTF-8, Hexadecimal, Decimal, Octal, Binary, Base64)
something that started out as an oh-my-zsh plugin but grew into so much more (I call it ShellTools)
Why I made those tools
ASCII Table
Obviously there are plenty of ASCII tables available, but none really fit what I wanted.
two notable sites that came sort-of close are:
-
asciitable.com/several others like it (I'm not linking to that)
[fails due to literal hundreds of 'partners' getting permissions to set/read cookies,
permission to perform device profiling and getting access to precise location data,
also there's quite a lot of ads on that page and it's basically unusable on mobile]
-
torsten-horn.de
[that is a bit too fiddly/unstructured for my tastes but otherwise very good]
Text Converter
I at some point needed a hex/binary/text converter but everything I found was either quite fiddly to use (one page for text -> Hex, a separate one for Hex->Text and yet more separate pages for Binary etc.) or completely messed up by
"modern web design" where they reused the input box for output and thereby constantly overwrite your input and require a hundred million different cookies and you have to fight very hard to not get subscribed to their newsletter and
browser push-notifications and whatnot.
None of the otherwise useable options I found allowed customisation of the output in ways that were useful to me, so I just implemented it myself.
ShellTools (oh-my-zsh 'theme')
This started out as a single-line modification to oh-my-zsh's built-in 'robbyrussel' theme to make the git status indication clearer but over time it grew to the quite comprehensive tool-suite it is today
Principles/Goals of this site
- no cookies
- as few as possible libraries (currently none at all)
- I can 100% understand what it's doing
- as flexible as possible with in/output
- simple/no-nonsense/'oldschool' design
- no third party analytics
if there's any analytics at all, the data needs to be non-identifiable
and must be publicly available in its entirety without preprocessing
more info (and downloads) here
These same principles I also apply to any potential library I mighe use in the future.
Some of this isn't particularly nice to view on mobile phones due to the vertical aspect ratio and tiny screen, but I did make sure it is still useable, even if it is very much designed for desktop.
Why I don't use any 'modern' framework
I had to maintain/extend a react web-app and in trying to familiarize myself with the framework I set up an empty project using the same framework as what I'd need to work with.
The setup took a good 10 minutes just to download/install the 1638 npm dependencies needed for that 'state of the art web development framework'
Sure, large projects tend to have quite a few dependencies, but well over a thousand for a mostly static website?
And, remember: this wasn't actually a site with any content whatsoever, just the emptpy framework template...
What's even worse is: the dependencies of this 'state of the art' and 'actively maintained' framework had several version conflicts between them and about a dozen packages were marked as deprecated.
And that was with an actively maintained framework (and we all know that it'll only stay 'actively maintained' until the next sprint when it gets invariably abandoned...)
That is to say nothing of the fact that is exactly how you get to several hundred 'partners' wanting to place cookies and trackers on everyone's devices through your website.
You also open yourself to 'supply-chain' problems like the 'left-pad' issue back in 2016.
There should not have even been a library for that simple functionality, but there was and it was used.
a lot.
So when it got deleted things broke.
a lot.
Even if any given project didn't use such a trivial library, chances are some library they were using did.
There's also the meme of is-even/is-odd libraries that could be replaced by TWO CHARACTERS, not 200 lines, or even 2 lines, just TWO CHARACTERS [if(is-odd(number)) can be replaced by if(number%2)].
This is where my resolution to not use any library if at all possible comes from.