koutsie's telenotes


fedi | rss | sauna

April 11, 2024

Warning! The below blog post is mostly an incoherent rant about JavaScript and the modern web once again. I would not recommend reading any further if you are not 100% prepared to try to understand my viewpoint from a point of an angry, angry person who has slow internet.

Anyways, all of the websites that I make are usually simple to the point, have no clutter, usually not even JavaScript, and load quite fast if not being slowed down by my slow web servers, which I host on because they are cheap.

And recently I've started to notice that more and more people have started to go back into single-page websites and more simple designs on them. And even people who I know who love to clutter their sites with JavaScript have started to remove some of that JavaScript from them - I'll come back to this later.

Of course, JavaScript is not the only reason why websites load so slow nowadays, but it's one of the biggest issues that the modern web has - JavaScript bloat; on websites that don't require it, or don't need such huge libraries to do something as simple as, for example, make a pop-up box or animations on the page - you can do that all with CSS.

Now, why do people remove JavaScript and huge libraries from their pages? A recent wake-up call for at least one person was the XZ case. They started to realize that they are pulling code from unverified, un-vetted & unknown sources (because the whole JS ecosystem is a clusterfuck, I guess?) and decided to slowly start to transition to only using "known good libraries" and removed most of the JS from their page - as it was all for simple tasks like blurring (like WTF?).

Now so far it has only been one person that I know that has done this, but this gives me hope that maybe in the future, I can go to other websites that have de-bloated themselves and feel the speed increase! Also, they would also save money because they are not sending huge chunks of JavaScript with their page - wink wink.

I don't really have a point or an end to this blog post. I just wanted to rant about my internet being slow; and most websites using way too much JavaScript to do any - even the most simplest of tasks on them. I hate it. I hate the modern web and especially people who keep insisting on using JavaScript for the most stuff. I mean, not even JavaScript solely, but thousands of JS libraries! It has to stop, now :3


April 06, 2024

Everything needs a date.

In my opinion, everything that is published online or in real life needs some kind of a date indicator when it was published, modified, or released (from private to public).

Every now and then I look at photos and objects and websites with information on them or something interesting on them and I wonder when was this thing released? In the modern web, especially we seem to have dropped release dates and just started to rely on relative dates instead - Which is insane, because what does it mean that a thing was released 48 minutes ago? Why can you not just say that it was released on the 6th of April 2024? What is the difference between those two things? You could even add an @10:4PM or something, you know?

This is especially bad when I'm trying to research something about some modern thing, some modern package, some modern software, some modern thing online, and I cannot find anything that has a proper date, so I have to rely on the Internet Archive to provide me some kind of a timeline for something being released - which again in my eyes is insane (even though shoutouts to the IA <3 you're doing invaluable work) and I do ponder a lot - how did we end up here?

This is almost just like every website losing their RSS for updates. Because way back in the day, you used to be able to subscribe to almost every single webpage that you visited and you would get notified about updates to that website with the RSS feed. It might be minor updates or even bigger new features or games on some sites - But hell, you had a way to date some new thing being released. And especially in news sites. I don't understand why modern blogs and news sites and everything else refuses to tell you when something was released. I don't understand it, and I don't like it. The fact that I have to rely on the internet archive to figure out when something was released.

And I really don't see the negative in this. I really don't understand why we shouldn't put release dates on something that we publish online, or at least some kind of an indication when something was last edited, because it gives valuable information to the reader, or package maintainers, or users who want to install your software, or people who just want to know when something was made.

But anyways, I think I'm just losing my marbles very slowly. We don't have RSS anymore. We don't have release dates anymore. We don't have sites that don't want to load 15 bajillion gigabytes of JavaScript anymore. We don't have any of that. But please, let's at least bring back dates. That's like the bare minimum. I beg you people. I beg your web devs. Please.


February 23, 2024

I just wanna write something, again.

It's been a decently boring week all things considering all the things done and said, be it at work of on-line.
The YouTube layout uproar has slowly began; now that the A/B test is being applied to more and more people. I really hope YouTube wont keep this layout - but lets hope for the best and fear for the worst, right?

In other news, I've personally felt extremely outrageously uneasy, excited or generally anxious about not having much of anything interesting to do.
I mean, I did do the Motorstorm texture-pack thing - but that was something idle-ish to do, not something interesting nor useful.
I think I'd be fine with this type of feeling if it didn't come with such a constant feeling of tension to do something. Or to be in places. All of that - stuff that requires effort and concentration.

Oh well, it'll pass I know, but I do not know how to fill in this time, working? yeah - doesn't fill in the time enough, nor is it what I feel like I want to do to fill these gaps of tensious waiting and boredom.
I think taking a bit of a trip somewhere to get a bit of a reset, solve problems in a different way than "just solving them" - like I do now - would be beneficial?
Honestly, not going to say anyone gets what I mean by all of this but maybe someone echoes the same kind of feelings and has ideas or solutions - I'd appreciate comments on this.

Oh yeah, that reminds me I need to think about moving some servers around once again. These are not public so no need to worry about downtime, just some family / personal NAS's that are not mine.
I think re-installing everything and doing it the Proxmox way would be a go to... tho who knows it's only 4tb of drives.

Can you, the reader - tell that I'm writing for the sheer want of writing something, thinking about text and what I wanna say?
Funny to think about the reader being a/an entity who doesn't know what they're about to read or think about this text - such wonders.

There have also been some burning ideas about doing comments on here somehow, I just don't know that'd work - I kind of want to make it a fedi post -> comments type-a thing but... don't think such thing exists.
Comments on a blog are valuable resources for some stuff but something as borderline insane and personal as this page, I don't think permanence of comments is a high priority. More so a thing you could see in the moment and be like "oh yea, I have thoughts about this" and post a comment & read others.
Whatever, I'll look into it whenever the next batch of motivation to work on Noter comes.
And aw fucking dammit, my sourcehut account needs to be re-topped up. Oh well, next month.


Bored, coffee in hand,
- k

February 22, 2024

Changes, no thanks.

They happen all the time. And we're really good at adapting even if we don't admit it to ourselves.
It should be fine, a minor change in a routine - the way you pour milk into your coffee. The times you take showers.
When you feel relaxed or get to work and listen to the news in your transport. It should be fine to deviate a bit.
But sometimes, changes happen arbitrarily and "for no reason". And honestly, that's usually fine too- a bus not running for some reason?
Should be fine, just take another - run? You have options.

On a website tho. Made by a multi-gazillion dollar company. That had a working layout, with years of habits.
I don't think its acceptable to change something like that. Because as we all know, the only thing better than perfect, is standardized.
Sure, Youtube's layout being the "standard" might not be what I'm after here, I mean that the older layout was simply better, I'd gotten used to it over the past 8 years (?). It worked fine.
Looked alright. And had new features added to it without massive layout changes.
Simply, It just worked.

So what kind of a son of a gun little devious mother fucker at YouTube, don't get me wrong: probably with the intention to keep their job: decided that it was fine to roll out THIS?


What the fuck is this? Is this some kind of an twitch-tube hybrid monster? Why are the comments on the side?
What the fuck is the point of the bottom homepage 2.0 layout?? I already have enough content on the fucking home page, that's where I go if I'm looking for something new to watch?
I try to reveal the description and BOOM I get redirected to the FUCKING CHANNEL PAGE BECAUSE I MISS-CLICKED YOU FUCKING PIECES OF SHIT WHO MADE THE "...more" SO FUCKING SMALL AND I CANT CLICK ANYWHERE ELSE.

Seriously, why the fuck do the transcripts now require detective skills to find?
The underside of the video now feels hideous because its not for comments but MORE FUCKING VIDEOS that we already had on the fucking sidebar before AND IN THE FUCKING HOMEPAGE.
This is I think, the closest I've come to going insane in 2024. These changes, they've pushed me over the edge to set-up RSS feeds, download all of the videos I care about and finally say FUCK YOU to this piece of shit garbage fucking website who loves their idiotic design changes so much they don't even eat their own dog food and test the shit they roll out - its hideous, cumbersome and needs to be killed IMMEDIATELY.
honestly, I sound like a boomer writing this. I do, I really do. And I guess time has finally caught up to me. I cannot fucking stand this shit anymore, stop changing stuff that works for the sole reason of changing it. This will not bring you more money, your job will not be saved because of this. And dear fucking god if it is, I hope you feel sad every single fucking day you got to sleep knowing that your changes have made at least one person diss you to hell and back, and revive their passion for hating this godforsaken mega-corporation even harder, once again.
Yes, the links are to the godforsaken site - right click and YT-DLP if neccesary.
A very angry,
- k

January 27, 2024

So, here we are - the futuristic year of 2024 - happy (late) new years to everyone!
What a doozy, time just flies by when you're having fun (being under constant stress) and having to be places to look important huh?

For a late Xmas / New years present this year I'm bringing you some very good news - we're no longer under crimeflare (cloudflare)!
The original reason I even had to go with CF is because there was a singular, very persistent person who loved to crawl and DDoS the site's original host - they're now gone and we've got a decent enough host (Netcup) now that I feel OK to get back on the roll of hosting under our own infra without a massive MITM happening constantly via CF.

I don't know if you've noticed but I've also teetered some of the services and hosts away because of low usage and the inability to keep them up with the current funding of just me - stuff has become a tiny bit more expensive since the beginning... economics yada yada.
There are still a lot of changes happening even as I'm typing this and not everything has propagated properly yet - that's fine as long as people report these issues to me if they spot them - this does include you - my dear reader :D

In other news, the Minecraft server has gained a back-up node for a "100%" uptime capability - you will be teleported to the lobby server if the main node goes down for whatever reason (I spill coffee on it, I happen to unplug it, etc., etc.).

I think that's pretty much all I have to say for this one, I'll be posting a migration postmortem at some point, so keep your eyes on that RSS feed for that.

The services cost's page has also been updated for the new nodes and costs - it's missing the_sauna1 from it - but I don't count that in because it's paid split by me and another person, see the current cost calculation here.

- k

December 13, 2023

the router is here!

so the router(page) arrived, hell yeah!
here's some specs:

Specification Details
CPU SF19A28 Dual-Core, @1GHz
Memory DDR3 128MB
Storage SPI NAND Flash 128MB
Wi-Fi Speeds 300Mbps (2.4GHz), 867Mbps (5GHz)
Protocols IEEE 802.11a/b/g/n/ac
Antennas 2 x undetachable Wi-Fi
USB Port 1 x USB 2.0
Ethernet ports 1 WAN port (WAN/LAN assignable), 2 Dedicated LAN ports
Ethernet Speed 10/100/1000Mbps
Power Input Type-C, 5V/3A
Power Consumption <6W~
Dimensions 118 x 85 x 30mm
Weight 145 g

The original price for this cute piece of kit was 52,90€~ euros but it's on sale (as time of writing) at 31% off (36,48~)!
So far it's been the basic OpenWRT Router experience but honestly, it just autoconfiguring IPV6 out of the box when I enabled it was super duper nice.
I had so many issues getting IPV6 to just work on my previous shitty 20€ zbt router, I hope this one really pays itself off, being a 36€ one haha :D
- k

December 12, 2023

kitty is a cool terminal emulator


so, i fucking love kitty - its fast - it does what i want... and most importantly it runs at framerates up to *whatever your pc can do*
which doesnt sound super interesting but lemme tell yea - the difference in responsiveness between 60 and 165 is fucking massive
in related news i made a thing to generate colour shcemes for this terminal emulator :)
oh yeah, and this december? im having a bit of a thin month so its time to

point you all to the donations page

again �
that's that, there might be another; proper post this month when my new to (and) ys arrive :) go hog wild, and try out Kitty because it's baller!

- k

November 29, 2023

YOU CAN BLOCK ADS?

or how installing Firefox and uBlock Origin made a friend's life a bit less unbearable??
this is a rant post - please read with a tablespoon of salt

So, you've come to a relatives/friends place, you've had your mandatory coffee and small talk and they try to show you something on their computer. It's a mess, they have OperaGX, Chromium and PrivateInternetAccess, fucking CCleaner and have applied multiple registry tweaks to "speed up their computer" because it's slow.

You, as a (big) nerd, now face an issue - what do you do?

  1. Ignore it and feel guilt and regret for not nerding out and totally destroying their used-to user experience but also their expectations for how "slow" their PC is?
  2. Ask them when they last re-installed Windows and get the classical answer of "uhh what does that mean?" and sigh deeply
  3. "Hold on..." and nuke CCleaner, run Win-Debloat-Tools & install an adblocker to their preferred Chromium fork
  4. Number 3, but install Librewolf/FF and uBlock Origin and explain what manifest v3 is, and change their DNS Resolver to something more privacy-centric?

I was faced with the above, I've done all of the above - but #3 a couple of days ago. Mainly because a friend who is a massive gamer (i.e., dumb - sorry gamers) wanted more FPS out of their rig (Ryzen 5 2600, GTX 1050ti + 16GB 3200 DDR4 and for some reason a 360hz monitor?) and was wondering if they could achieve YouTube without adverts because for some reason (cough cough they were using adblockplus :skull: which lets certain advertisers through and probably isn't updated for YouTube, I don't know if they update as regularly as uBlock Origin does :)) was not blocking adverts :D

Boot time's also went from almost 30 seconds (???? this system has a 512GB Samsung SSD) to around 8~ ish - the face of the peepo when they saw that for the first time was priceless :D

Fast forward to yesterday and they were on full swing, eager to learn more about why Chrome (that they switched to, from OperaGX after some discussion about Opera, how they operate and how their browser doesn't do jack shit to improve gaming performance but just act as "mehware") is not a good option either (manifestv3 going away (rip uBlock?), privacy issues & toll on the system :skull:).

I literally have no conclusion to this, I just needed to voice this (unfortunately?) common pipeline down something so I don't have to think about it alone anymore, if you have better tools/ideas do let me know via the magical fediverse

--- very tired but in the end happy, Kouts.


November 26, 2023

speeding up networking on modern PC's under linux

Sooo... I got extremely frustrated at my pc being absolute dogshit for web browsing lately.
DNS requests take too long, general networking performance is dogwater and everything has massive amounts of latency, which obviously drives me nuts.

I was wondering if there was anything that could resolve my issues until I had to recently set-up a server... and on servers there are certain tweaks that I always perform - you know because I want my servers to be as performant as possible.
Now being a dumbass, I did not even think about the possibility of applying those (sysctl) tweaks on my host's - because I for some stupid reason just have not thought about this.
So, as it goes - In the mids of setting up sauna_02 I realize holy shit I'm running linux, and have been for the past 15 years - I could just *literally* enable the same tweaks as I do on my servers :D
Amazing, would you guess? My internet speed almost tripled - I really don't know how or why (because you'd assume Arch has sane defaults) but fuck it - we ball.
I went from an average of 60mbit/s to a whopping 96mbit/s (you have to realise im on 4G and my router was literally 20€ - oh and it also doesn't have gigabit ports) so I'd say im decently happy!
Here's the tweaks:
net.core.netdev_max_backlog = 16384 net.core.somaxconn = 8192 net.core.rmem_default = 1048576 net.core.rmem_max = 16777216 net.core.wmem_default = 1048576 net.core.wmem_max = 16777216 net.core.optmem_max = 65536 net.ipv4.tcp_rmem = 4096 1048576 2097152 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.udp_rmem_min = 8192 net.ipv4.udp_wmem_min = 8192 net.ipv4.tcp_fastopen = 3 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 2000000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 10 net.ipv4.tcp_keepalive_time = 60 net.ipv4.tcp_keepalive_intvl = 10 net.ipv4.tcp_keepalive_probes = 6 net.ipv4.tcp_sack = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_rfc1337 = 1
Let's go trough some of these, shall we?
do note that these are not technical explanations and will just be here if you wanna omit some options
max_backlog is basically how big your packet queue is.
somaxconn how big the *current/half open* queue is.
(tcp/udp)rmem_default/wmem_defaul and min/max for both: buffer sizes - how big of an buffer you have - these will affect overhead but 99.99% of the time you won't notice/care - tho you *might* not want to adjust these - more info here
tcp_fastopen: allows syn/synack to carry data - i don't personally see the harm of having this option - see rfc here: here - tldr: it's OK.
tcp_max_syn_backlog: how big the queue of connections that have not been aknowledged by the connecting client is.
tcp_max_tw_buckets: queue size for the amount of clients that are stagnated (well, thats bad wording) or in the TIME-WAIT state.
tcp_tw_reuse: reuse connections in the TIME-WAIT state if safe to do so.
tcp_fin_timeout: self explanatory.
ipv4.tcp.keealive*: self explanotory - you should probably expriemnt with having fever of these if you're on shotty connections tho.
tcp_sack: allow transmission of only lost data segments if possible (in my experience gives a performance boost on 4g??)
tcp_syncookies: tldr: SYN Flood attack protection by the virtue of SYN Cookies (Wikipedia)
tcp_rfc1337: tldr: provides protection against time-wait assassination hazards (stackoverflow)
I sincerely hope that these help someone who has a shitty router/otherwise connection issues like me, If you have suggestions / corrections don't hesitate to send them my way:
fediverse
homepage with more contacts

September 15, 2023

So, I ended up setting up homeassistant and setup some sensors for it. Also whipped out this quick'n'cool temperature monitor with a clock on an NodeMCUV3 + 123x128 spi screen. Here's the code for it, enjoy as you please.
#include <SPI.h> #include "Arduino.h" #include <Adafruit_GFX.h> #include <TFT_ILI9163C.h> #include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> #include <ArduinoJson.h> // NTP #include <NTPClient.h> #include <WiFiUdp.h> const char* ntpServer = "europe.pool.ntp.org"; const int ntpPort = 123; WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, ntpServer, 2 * 3600); // GMT+2 for Helsinki const char* ssid = "yourwifiname"; const char* password = "yourwifipassword"; const char* humidityUrl = "http://192.168.1.135:8123/api/states/sensor.t_h_sensor_humidity"; const char* temperatureUrl = "http://192.168.1.135:8123/api/states/sensor.t_h_sensor_temperature"; const char* authToken = "hassio_key"; // clock: unsigned long previousMillis = 0; const unsigned long dataUpdateInterval = 120000; const unsigned long clockUpdateInterval = 1000; unsigned long lastDataUpdate = 0; unsigned long lastClockUpdate = 0; // COLORDEFS #define BLACK 0x0000 #define WHITE 0xFFFF #define RED 0xF800 #define GREEN 0x07E0 #define BLUE 0x001F #define AQUA 0x07FF #define YELLOW 0xFFE0 #define ORANGE 0xFBE0 #define DEEPORANGE 0xFD20 #define GRAY 0x8410 // WRING // for LOL1N NodeMCU V3 #define D0 16 #define D1 5 #define D2 4 #define D3 0 #define D4 2 #define D5 14 #define D6 12 #define D7 13 #define D8 15 #define D9 3 #define D10 1 // LEDS - LOL1N NodeMCU V3 is kinda shit and tries to force the LED on... #define LED_BUILTIN 2 // OTHER const int fontSize = 2; TFT_ILI9163C tft = TFT_ILI9163C(D8, D4, D3); int16_t displayWidth = tft.width(); int16_t displayHeight = tft.height(); void setup() { tft.begin(); tft.fillScreen(BLACK); tft.setTextColor(DEEPORANGE, BLACK); tft.setTextSize(fontSize); Serial.begin(115200); delay(10); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(3000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to WiFi"); // NTP Stuff timeClient.begin(); timeClient.setTimeOffset(2 * 3600); // (GMT+2) or Finland like they call it. timeClient.update(); tft.fillScreen(BLACK); tft.setTextColor(WHITE, BLACK); tft.setCursor(0, 0); fetchAndDisplayData(humidityUrl, "Humidity"); fetchAndDisplayData(temperatureUrl, "Pyrexia"); } void fetchAndDisplayData(const char* dataUrl, const char* dataLabel) { WiFiClient client; HTTPClient http; String authHeader = "Bearer " + String(authToken); http.begin(client, dataUrl); http.addHeader("Authorization", authHeader); int httpCode = http.GET(); if (httpCode == HTTP_CODE_OK) { String payload = http.getString(); DynamicJsonDocument jsonDoc(512); deserializeJson(jsonDoc, payload); const char* dataValue = jsonDoc["state"]; // Check if unit contains "°C" and replace it with "*C" because we do not have the fonts for this :( const char* unit = jsonDoc["attributes"]["unit_of_measurement"]; if (strstr(unit, "°C")) { unit = "*C"; } tft.setTextColor(WHITE); tft.setTextSize(fontSize); tft.print(dataLabel); tft.print(": "); tft.println(""); tft.print(dataValue); tft.print(unit); tft.println(""); tft.println(""); } else { Serial.print("Error getting data. HTTP Code: "); Serial.println(httpCode); } http.end(); } void loop() { digitalWrite(D4, HIGH); unsigned long currentMillis = millis(); if (currentMillis - lastClockUpdate >= clockUpdateInterval) { digitalWrite(D4, HIGH); lastClockUpdate = currentMillis; tft.setTextColor(GRAY, BLACK); tft.setTextSize(2); tft.setCursor(0, displayHeight - 30); tft.print(timeClient.getFormattedTime()); } if (currentMillis - lastDataUpdate >= dataUpdateInterval) { digitalWrite(D4, HIGH); lastDataUpdate = currentMillis; tft.fillScreen(BLACK); tft.setTextColor(WHITE, BLACK); tft.setCursor(0, 0); fetchAndDisplayData(humidityUrl, "Humidity"); fetchAndDisplayData(temperatureUrl, "Pyrexia"); } }

August 13, 2023

So, nothing new with the Powkiddy - just made a few scripts to handle boot-time operations for it but not ready for release...

but I did do the above :)

a (going to be) FOSS gauge/dashboard for the outgauge protocol (LiveForSpeed / Beam.NG) with fully open-source firmware/software!

I got frustratd for not finding a solution that'd be open-source and not expensive as *fuck* so I ordered a 4€ (+2€ shipping) esp8266 + screen kit from AliExpress and this happened haha

It has fully working indicators (headlights, blinkers, handbrake/parkingbrake, ABS and TC....); gear display and a speedometer!

I hope to add more, ie; modes (mileage(?), drag mode, rally etc) and somehow get a case for this - there isn't almost any modular cases for the NodeMCU v3!?


The project is not even close to completion but here's some (old) video of it running :)

don't mind the bad gaming, I had higher fever at the time :D
also the above video is only 7mb in size!!? - webm is truly wonderful


I don't think I have any other news to tell you than that the mumble server is back on-line!

page with links to join & download a client

That's all

-k


July 21, 2023

Sooo... the phone - it's great - best part has to be the god damn automatic F-Droid app updates :D

FINALLY I don't need to manually click "install" on every single god damn app update wooo

In other news the new 165hz "G A M I N G" monitor does not have any dead pixels in it - which being a discounted product really makes me happy :)

Finally I can experience crashing into a tree/wall/another car in BeamNG.Drive like it was intended - in HIFREZ

Other than that I'm still waiting for a few things to arrive - like the Powkiddy v90 that I got (mainly so I can have a "proper" way to play my old GBA dumps :) - in fire red shell, ofc.

I'm also thinking of adding RSS to Noter so that these updates can be easily broadcasted but I'll need to figure out a way to do that in bash properly.

That's all Folks!


July 13, 2023

Phone exhaustion. Soooo... It's time to switch - my old Nokia 5.3 had it's final security updates last month and the device itself has lasted very well overall! The phone had gotten a crack at the top right corner (before my friend even gave it to me after I managed to smash my 7.2 between a Toyota Yaris and hard place :D) that didn't hinder use at all - tho the selfie camera was a bit blurry :D The main reasons why I landed on this mf are:
  • It has a mother fucking 3.5" jack!
  • Sony provides bootloader unlocks, tho you will void your warranty
  • Small (153 x 67 x 8.3 mm) and lightweight (160 g) !
  • And of course... I had to get the best color, Mint !

July 12, 2023

hello world 👋 this is gonna be a blog-type-a-note-type-a-thing in the future and i'll probably be posting every week or so :) we shall see. topics hopefully related to mainly computer stuff, but some recipes and thoughts might slip in 😳 - k
generated with noter
Back to Top
last Updated: 2024-04-11 11:43:06