My thoughts about people in the computer field
I just spawned into the void
Yeah… basically, that’s what happened. When I was 13, I saw a movie about a guy who was basically a hacker (but not quite). As a child I decided to learn how hackers and malicious actors could do the magic with the keyboard. YouTube wasn’t a good source for learning anything because I didn’t know what to look for.
Some stuff happened, and I found my Master Oogway, who taught me most of the things I know in cybersecurity. Not just cybersecurity stuff; to be honest, he taught me EVERYTHING about computers. How CPUs are made, why we see gold at the end of RAM modules, why HDDs love to spin and how they do R/W, and other cool stuff.
After I became good at this thing, I started noticing that people couldn’t acquire the knowledge that I had. That’s why they decided to pursue something easy and less ‘cool.’ For example, being a Front-end Developer is so LAZY when you can be an exploit developer on iOS platform. Maybe you want to be a SOC analyst or Incident Handler or IDK… Be someone who does actually contribute to our society? Is that who you are? Just want to change the color of the button? That’s all?
The hate for Web developers
As you can see, I hate web developers. That’s because the place where I live right now (Tbilisi, Georgia) is full of people who pay hundreds of Laris (local currency) in order to learn how to center a DIV. I never understood why they want to learn how to center a meaningless div on the screen when they can learn how to obfuscate IAT (Import Address Table) in a malicious program, for example. I’m just saying that it’s not that fun writing JSX/TSX components and recreating the same HTML structure for mobile devices.
BTW, if you are wondering about the Georgian job market, I can say that in 2025 it’s terrible. Do you know that there are NO actual infosec job roles? Only courses about cybersecurity. Even when it comes to web development, there are no jobs… Just courses to learn from. In fact, those courses are worthless because everything they teach you can be acquired from YouTube for FREE!!!
Let’s defend
Alright. This is the first post. I’m writing this because there is no index available for Hexo because I deleted the Hello World post, which is default BTW, and because of that the website isn’t working properly. So now I have to write something in order to fix my website.
Let’s get back to the topic. What can you become? Right now I’m doing Incident Response. I also did some Penetration Testing. That means I have experience on both sides, and now I’m Purple Teamer. Why would I ever become a guy who works as a web developer? No idea. In fact, I can do web development (both front-end and back-end).
I’ll write some code here:
1 | |
Alright. As you can see, this is React code that does the following:It sends JSON data to the back-end API and gets a response from it. If the HTTP response status code is equal to 200, then it’ll redirect the user to the ‘success’ page. Now, let’s write back-end code:
1 | |
This code takes JSON data on the /api/submit/ endpoint. If the ‘name’ variable is equal to ‘Toko,’ then it’ll return the 200 status code as a response, which means everything’s ok. If not, the server is going to answer with a 400status code’’ as a response, which basically means that the request was bad.
ADHD kicked in(I don’t have ADHD)
BTW, did you know that the HTTP protocol has this Easter egg, where the server can sometimes answer with this message: I am a teapot. This happens when the server returns a 418 status code as a response. I read Mozilla’s documentation about it, and it says that the status code is just an April Fool’s joke. I started reading more about RFC 2324, and I found out that this is a fully working HTTP-based protocol. The problem I face is that no browser actually supports it because it was just meant to be a joke.
I looked it up on Google and found GitHub repo where the protocol was hosted: HTCPCP
Good, Now I can do Code review!
1 | |
As you can see, this is pot.c file. This contains functions that do the following:
- Initialize a pot
- refresh initialized pot
- brew the pot
- destroy the pot
When initializing a pot, the function takes pot_t* pointer, which has to be the object that was created from pot_t structure. This structure is located in pot.h file:
1 | |
We can see that it has several items inside. For example, there is pot_status_t object that has to be the status of the current pot. There is also a signed integer variable served that holds the information about whether the pot is served or not. There are two time_t items that hold the information about the start time and end time of pot brewing. The final object is pthread_mutex_t type which basically is a mutex for the pot(Mutexes are essential when it comes to sharing items between threads). This allows multiple threads to work with a single pot. When one thread wants to work with an initialized pot, it locks the mutex of the pot, works with it, and after everything is done, it releases the mutex. This makes the initialized pot available for other threads again.
1 | |
pot_status_t is also a part of pot.h file. This contains possible values of pot_status_t. There are three status variants:
- ERROR
- READY
- BREWING
Here is what’s going on. A pot has to be ready before brewing. This functions explains everything:
1 | |
First of all, it receives a pointer to the pot that we initialize. Secondly, it locks the pot’s mutex and then checks if the status of the pot is equal to READY. If not, it unlocks the mutex and stops the function. On the other hand, if the pot is ready, it brews the pot for some time, and then it unlocks the mutex.
What I think about pots and web developers
I think the most meaningless protocol is still more interesting than being a front-end engineer or developer or whatever they’re being called. As you can see, the code is clean and correct. It’s rare to see clean C/C++ code these days because everyone’s so obsessed with higher-level languages like JavaScript, Python, or Ruby. Wait… Is Ruby still alive?