Blog

Thoughts, ideas and codes

I mine all day ⛏️.

I'm happy to announce my Minecraft server is back! It's not self-hosted, I use https://aternos.org. But not to worry, I'm still looking for way to buy another server from Kimsufi or So you start and host some game servers like Minecraft and Team Fortress 2. So this Minecraft server on aternos.org is just a temporary station until it moves to my own server(s) as well.

But, do not let that spoil the joy of that, I have Minecraft server now! So you can join it by simply going to mc.esmailelbob.xyz and It's simple survival server, so it's not like full of mini-games. Simple survival, but instead it's online with some anti-grief plugin so no one can break your house or steal your chests unless you whitelist them. And anti-cheat plugin as well to make sure that we all suffer in the survival mode....

It's public for all users, including cracked Minecraft accounts, so enjoy.

PS: Aternos, known for closing the server if there are no players, I use my “ways” to let it open as long as possible but yes you might expect some downtime as the server is offline.

IPTABLES is faster than UFW, change my mind.

TL;DR: Learn and use iptables instead. Much faster and has wide support (at least in docker).

I use UFW since I started to self-host because people kept talking about it and how much it's good and easy to use, and it was, do not get me wrong. It's easy to use, but it was slow. And I can live with its slowness, but I could not bear it when I started to use mailcow, Because of slow SMTP connection times. I thought it's the normal to be honest, sending email takes around 30s to complete. And after asking online I found people usually wait 5s to complete sending email and I said FUUUUUCK. You guys wait 5s? Started to look into it more to understand what causes it, but nothing. Until I suspected in UFW and I closed it and boom, sending email only takes 3s now. I said wow, but then said fuck, now I have to live without firewall? No, no, no. So I gave up and enabled UFW again and called it a day, but I had enough with it, so I came back and someone recommended for me to use IPTABLES instead, and I was like, WTF? UFW is IPTABLES, but I tested and indeed now sending time only takes ~5s, and I was like wow (again) it's much faster. And this is why in the last couple of days I had major outages because simply I was learning iptables 😂. So what we learn here is if you have a chance, learn iptables, it's much faster than UFW (at least in my case) plus what I learned too is that docker uses its own iptables (so you do not need to add ports for your docker containers because docker already do it for you) so if you want to control docker rules, you will have to do it inside iptables not UFW.

NOTE: Unlike UFW, you need to save your rules in a file by using iptables-save and in my case that file was /etc/iptables/rules.v4

#thoughts

It's official, I'm dumb.

Because I believe in transparency, When I do something wrong, I will admit it, and today I want to admit that I did something unintentional and wrong.

Around 3 months ago, I was happy to announce that I finally achieved no IP logging in my nginx access logs. I took the code online and tested it and I thought those IPs were not real (did not look them up to validate it) and today I was checking the logs and found the IPs, so I said hey, let's validate it and I noted my IP then went to access log to search it, and it was in there. So technically I spent the last months lying about no IP logging. I did not mean to, as I said it was not intentional, but it happened. So I know you now might not trust me, I understand that. But I chose to admit it instead of fixing it in the shadows, so right now I'm working on solving it

But on the good side, the 24 hours log policy is working, so it's the IP part only.

UPDATE: Ok, I closed both access_log and error_log, so no IPs, URLs or user agents collected at all. Will this be my new privacy policy? Or maybe anonymizing IP is enough? I will see if I can live without logs at all, then I will close it all together.

UPDATE OF THE UPDATE: Okay, fuck it, no logs at all. For whatever reason, I can't modify the format of logging in nginx, and people on Reddit did not respond to my help post (over a day now) so I set both access_log and error_log to off. And even in docker itself. However, I may re-enable logging back in case of errors.

Without so much talking, I now self-host BreezeWiki. What is BreezeWiki? It's front-end for Fandom so for example now you can learn how to run Roblox on linux without actually visiting Fandom, https://breezewiki.esmailelbob.xyz/roblox/wiki/Tutorial:Using_Roblox_on_Linux

As you noticed, you add /roblox as sub-path instead in original fandom wiki link as subdomain (roblox.fandom.com)

No, I did not get hacked. I changed my onion domain.

If you use my onion links, you will notice my old domain http://lqs5fjmajyp7rvp4qvyubwofzi6d4imua7vs237rkc4m5qogitqwrgyd.onion has changed to http://esmail5pdn24shtvieloeedh7ehz3nrwcdivnfhfcedl7gf4kwddhkqd.onion and if you are asking why, try and read my new domain. If you still can't catch it. It's because it has part of my name in it now, Why? To make sure it's actually me (sure anyone can brute force the part of my name) but at least it kinda looks cool, right?

NOTE: Changed my crypto address too, to get EE inside of it, like: XMR's address: 46EEHDTGt5PHDcc7hXQhgrULcQ2JZMTJMTEVRHvsaZeUhrN9DmXkQyViZokxoNqqqBHBCAYoH7YRpFfKDs5WcoAA8Bgr5rC

So it's either esmail or ee.

Why not the full name? Well, because it turned out it takes MASSIVE computing power to generate 11 characters, so I had to settle for 6 or 2.

Last but not least, here are the programs I used: – For BTC: https://github.com/JeanLucPons/VanitySearch (it's for windows, but you can run it with wine) – For ETH: https://vanity-eth.tk/ – For XMR: https://github.com/monero-ecosystem/vanity-monero – For onion: https://github.com/cathugger/mkp224o

September 10, 2022

Redbubble? More like Nobubble.

Hi, stranger. Who ever wastes his/her time here reading my weird blogs instead of doing something productive. Redbubble closed my account out of nowhere in the last couple of days. Reason is unknown, I mean ok. I did not understand how copyright exactly work and I maybe posted some designs that break copyright and fair use. But what makes me mad that Redbubble closed my account with no warning, at least warn me. I legit thought if I draw my stuff, it won't be in copyright grounds, but I was wrong. Anyway, Now I have new Redbubble called: https://esmailelbob.redbubble.com/ and I plan to understand copyright before post more designs. And only strict to Canva.com designs, mix and match them to create new art and sell it.

Hope Redbubble gives me another chance. I will be better, promise.

PS: If you are asking about my college exam results, trust me they are not out yet :(

#thoughts

r/im14andthisisdeep

Well, my dear friend. I can't take it anymore. At least for now. The last couple of weeks, or even months, were pretty damn hard on me (giggity) emotionally, of course. From finals to life to people to now college exam to see if I'm qualified to get accepted or not. That exam, was the last straw that broke the camel's back. Or my back. It was hard, 50 choose question, in one hour with a lot and I mean a LOT of English, here is an example: (https://cloud.esmailelbob.xyz/s/jXJn2NtYnjEHFcx/preview) And the thing is, it was not only me who was mad about it, almost all of us were mad at it. It's hard exam, and it's not like we got 70%, most of us got ~95% in graduation, so we know what we fucking studied, and yet we all said damn son this exam is harder than Johnny Sins's dick. While going back to home yesterday, I was about to cry because of that exam. I hear you, saying okay talk to somebody, and you are right except it won't work, you see months ago, someone started a campaign about better and unlimited internet, just good internet, did not talk about politics or anything and that guy who started the campaign got arrested following other people till the whole campaign gave up (Yes it's real: https://nitter.esmailelbob.xyz/Abdelra44708184/status/1545920759142715392) now imagine with me fellow reader what will happen when almost all students demand their right to get fair exam? I will leave it up to your imagination. So, talking will solve nothing. And that's why I just can't take it anymore, I mean sure results did not come out yet, and will keep you updated and trust me I keep praying every minute in fear and stress, and hopefully I get accepted, but god forbid if I did not get accepted, I will get in another big depression phase/episode, and I will stop posting for a while or even try to suicide again. So until the results come out I'm in fear and stress and let's hope I pass because I think I have never been in stress like this before and not to worry about the server I will keep monitoring it and fixing it, it might not be as fast as I used to be (thanks for my depression and lost hope) but yeah I will be there, at the end the server is almost like last thing that left for me

PS: sorry for my crappy English, I'm not in the mood to proofread.

UPDATE – Fri, Sept 9, 22: If you wonder where are the results, it's already the end of day. Well, according to people here that they have withdrawn failed peoples' results and my results did not come out, so this gives me a big vibe that I failed. They said that they will look into it and see if they will make pass score from 50% instead of 60% or re-take the exam, I'm not sure yet, again will keep you on updates and let's just hope that whatever actions they will take, it helps me to get accepted in college.

UPDATE – Sun, Sept 11, 22: Results just came out now, and I have failed, so yup...

UPDATE – Tue, Sept 13, 22: Well, still failed. But the good news is there is another path, actually. Not really fun path, but at least there is another path, so I plan on taking it. So wish me luck!

And I finally know why I failed in that exam, it's because the exam was from new subjects that we did not study, so yup. What I find weird is people who graduated with high numbers like 92% or 95% did not pass the exam and people with lower numbers like 85% did pass the exam, some might say luck, but I'm damn sure (or alleged) they did it on purpose because after you pass that exam there is another thing and that the college will say which minimum number required to get accepted because it's not about the college test only. So as you might have guessed, people with lower graduation numbers who passed in the exam they are most likely won't get accepted in the collage. It's still unclear why the college did it and not want to accept new students, like what are the benefits. But I'm sure everything will be clear someday~~

#thoughts

How to be a successful programmer

TD:LR: you don't be one!

I write this blog because some people want to get into the space but afraid of coding and how weirdly it looks, and I understand that, dealing with people that literally unaware of what version of windows they are running (whether it's 7 or 10), I really get it. But I want to tell you to not get scared, As you might know I started to code since I was at 11, and I take it as a hobby actually and trust me when I tell you I can read code, but I suck at reading people, haha! (sad little story) so I want to tell you it's not that scary or hard, it's just a new thing. Like if you work in teaching and get a handy man to fix your pipes, you look at them and say wow they are smart, how do they do it? And maybe they look at you and say oh a teacher wow, smart dude. So same thing. And below I will try to mention all questions for new starters in programming:

Do I need to save codes in my head?

Nope, not at all! You need to understand the code like for example this snippet:

print("hi")


You have to know what it does, so when you forget how to do something and google it online, you be certain it's code for what you need.

Do I need to be good at English or math?

It depends on really, I mean look at my bad English. I'm bad at English (and well at coding) but but it's unneeded if you will take local programming course in your main language like for example the amazing free CS50 course is translated to Arabic, so I can take it if I'm bad at English. About math, it depends on too, I have spent most of my time, needed nothing from math until I got hit with data science here when I started to say oh fuck I need math teacher so if you will work light work like web or android apps or scripts you won't need math as much aside simple formulas like adding numbers together.

Do I need to be smart?

No, you need to know how to search on Google to find the snippet you need on stack overflow and copy it!

How to master programming?

You don't, I'm not putting you down, but it's real. You don't. Not only that, but you can find people who spent 5 years in JavaScript, and they keep learning new stuff plus even if you master one language, it will get updates and some stuff will change, and you will have to re-learn it again.

A lot of programming languages >_<

Nah, I mean yea, but nah. You first need to learn basics that almost all programming languages share like if statements, loops while loops and so on. Then select which platform you want to release your code on if it's android for example then go with Kotlin, if it's PC then go with python/c/c++/c# and if it's web you have JS and PHP and so on so yup!

So mostly, you need nothing except kick in and actually start by free courses on YT or paid ones on Coursera/EDX/Alison/edraak/khan academy. And yup good luck with your journey :D

PS: if you have a question that is not answer, feel free to contact me, I will answer it.

#thoughts

Bedrock Linux rocks!

As you know, I use Gentoo btw nowadays. I love it, I love its idea and I love the USE of flags and I started to love emerge itself even! Except one darn thing I do not love at all, and it's repos. While Gentoo got fairly big packages repo including its overlays it's not nearly as big as AUR in Arch Linux and as you know I used to drive arch and artix Linux for some months, so I was missing the packages arsenal of AUR in gentoo but fear not as bedrock solves this issue. Bedrock is a meta Linux distribution which allows users to mix-and-match components from other, typically incompatible distributions. Bedrock integrates these components into one largely cohesive system, For example, one could have: * Debian's stable coreutils * Arch's cutting edge kernel * Void's runit init system * A pdf reader with custom patches automatically maintained by Gentoo's portage * A font from Arch's AUR * Games running against Ubuntu's libraries * Business software running against CentOS's libraries All at the same time and working together, mostly as though they were packaged for the same distribution. ___ It's install is fairly easy, you can use any distro from Debian to Gentoo and use bedrock's install script https://bedrocklinux.org/0.7/installation-instructions.html and done, restart your system and use see commands to install arch as strata and install yay with makepkg and now you can use yay alongside emerge in gentoo! bedrock is smart enough so when you call just yay it will load arch linux for you so no need to add prefix like brl (bedrock's command line) before it

#thoughts