Unfortunately, I am not talking about the entirety of the internet, as there is no way for me to measure how bad that one is really, yet.
But, where I live in Germany (since it's German countryside™), we have very poor internet.
You might be thinking 50 Mbit/s or even 25 Mbit/s. And, by contract, that's what it's supposed to be! Most of the time, we are guaranteed 50 Mbit/s. So, what do you guess, how much is actually usable on some days (some are better, some worse, I have not yet found out why that is the case...)?
10 Mbit/s?
5 Mbit/s??
3Mbit/s???
Nope, a solid ~0.5 Mbit/s. YES! A solid 500 kilobytes per second!
That's only about 10 times faster than ancient dial-up modems.
As one could guess, somethingmust be wrong here. But again, as I've said before, I cannot tell on which days the speeds are crawling and on which they are oozing and shuffling in place.
How could I even begin to find that out???
Development of my own calculator / simple programming language I called calcx was going very well up until this point... And now, I feel like I am simply stuck.
I have implemented working systems for handling units and calculations, etc.
The problem I am facing however, is that when I run a command, I parse it all into different tokens and already convert them to their respective numbers with units. This, however, results in me loosing the information which I need for conversion.
If I say I want to convert to Milli seconds, I do not mean to convert to 0.001 seconds...
I genuinely cannot think of a good solution for this problem. I have tried some possibilities, but they are all very clumsy and very much not elegant. As an example, I tried to parse every token after the “to” or “in” token as a single string-token which I could then later use. But this feels very wrong... Since the meaning is supposed to happen during the parsing. And I do not create more meaning by leaving an entire phrase like volt second / (kilo gram) as a string instead of parsing it into actually meaningful numbers...
I believe, I need to spend a few days thinking the problem through until I should start coding new things. Until then, I will try to reorganize the project further (as during writing one of the possibilities, I felt like the code base was a whole mess).
Let's see how this will go!
So I recently had this problem:
My NAS and my home server were both down, I was away (at school) and needed to access some files I had on my big desktop pc at home. Normally, this wouldn't be that bad, since there was physically someone in the house I was able to call, but... Well, let's just say I'm incredibly paranoid and my passwords are 32+ alpha-numeric chars with special signs and everything... The “physically present person” was not too amused and eventually (after mistyping for a few of times) gave up.
Therefore, the need for me to access my files remotely was born. And since I don't want to save everything to my NAS that I might eventually could potentially need sometime in the future, I want it to work on the local actual files on my desktop pc. So what could I do?
Like I already told in my previous post about the state of this blog, I've recently and randomly found a really cool, personal blog, written by Drew DeVault. One of his posts was about his blogging engine and workflow, which, according to him, involves Neovim as the editor (just like I use as well!) and a git server to which he is able to push his changes, which then are instantly deployed using some specific (and I guess quite niche) static site generator.
Said workflow sounds incredibly exciting to me and makes me want to try the exact same thing. With one change, nonetheless, since I do not have the same specific and high requirements for the actual static site generator, which he had. I simply want something that works with the highest priority being the lightweight nature of the service and small footprint on memory and storage (as I only have 1G & 10G respectively on my VPS, as I have stated before as well).
During a recent search on Kagi (my new search engine of choice, you should try it too!), I've stumbled upon an independent software engineer's blogging website by a guy called Drew DeVault.
I was quite pleasantly surprised to have found such results on the web, as such blogs tend to be rather small because they fill a small niche on the web. I guess this has never happened before, without me realized it because of the absence of the “small web” feature in other search engines like DuckDuckGo (which I have used previously).
I've quickly read through the main article I needed for the information I was searching. Then another; and another. It felt so relatable that I've just kept on reading. Most of the things he said were simply right on the same wavelength as I was.
After finishing the last tiny project (port scanner), I now started working on my own calculator app in Rust which I (creatively) called calcx.
By now, I was able to lay some ground work with general structs and making a very simple interactive “tui” using cliclack (through I did switch between tui libraries / crates quite a lot before settling for this one).
The most current version of the source code can be found here:
Github
I was bored, but still did not want to post the link to the onion service, which resulted in my searching for a new project idea.
Since I set as a goal to really learn Rust, I wanted to build the next project in it (if it is not by far easier with another tool).
Having not that much experience with Rust yet, I aimed for quite beginner projects, which are useful for building core skills.
The list of potential next contenders includes:
Snake
Port Scanner
TCP-Chat Application (Client & Server)
CLI Calculator
(I was searching for a really good, extensive one fitting my needs exactly for a long time, might be unrealistic for me to make such a big project, however)
Extension features could include: functions, working with units, live fetched data (–> units like BTC Price in EUR, etc)
This blog post was written in retrospect, since I simply forgot to write about it during the process of setting it up. I guess I am not yet used to documenting my entire procedure when working on projects. Hopefully, that'll change.
To start off a bit of context:
For the previous few months, I have been trying to cut down my screen time on my phone. This eventually resulted in me downloading an open-source podcast app (called AntennaPod, for anyone curious). Since then, I've been replacing my video consumption with audio-media and have accumulated quite a few different podcasts I am subscribed to.
By chance, I've found the option to use GPodder Sync to synchronize these podcasts and my progress through them to a locally-self-hosted server running GPodder.
I recently worked a bit on the way I am going to publish the entire system. The final deploy (since it's only temporary) will be done using a small Raspberry Pi Zero I had laying around (so I don't risk locking my main server in the case that something goes wrong with the service; or even worse, I get hacked...)
So, I recently had an idea for an experiment. I wondered about the TOR Network and how people connect in it. In case you have never tried to use TOR, I would strongly recommend you to. Here are the basics: