k0.tel Open in urlscan Pro
2a06:98c1:3121::3  Public Scan

Submitted URL: http://k0.tel/
Effective URL: https://k0.tel/
Submission: On January 02 via api from US — Scanned from NL

Form analysis 0 forms found in the DOM

Text Content

KOUTSIE'S TELENOTES


fedi | rss | sauna
2023


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 :)

Your browser does not support the video tag??? 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: 2023-12-13 16:19:19