RSSAmplifier

Blog

Douxx.tech's Blog

Hello and welcome to my new blog! Here you ll find thoughts, write-ups, and sometimes tutorials. Learn more about it here and manage your preferences here . I hope you ll enjoy your stay! ( Pss, robots! )

douxx.blogRSS feed ↗15 posts

Latest posts

Booting to life

Some features may only be available on the original post . I've just finished my second year of software development school, and now I finally have time to write, create, and hopefully rest. I have 6 weeks of summer vacation, so I'll try to post a bit more articles, covering a variety of subjects — obviously tech-related. In this first article of my vacations, I'll document and explain how I've…

A Ping Is a Ping Until It Isn't Anymore

Some features may only be available on the original post . Look at these logs: Those are ICMP echo packets — or more commonly known as ping packets — coming back and forth from my laptop and another device. They're a way for machines to confirm that they can reach other machines on their network. Now lets take a look at my downloads folder: This file wasn't there before — and that's expected, the…

My Nintendo DS Broadcasts Radio (kinda)

Some features may only be available on the original post . I've had a hacked Nintendo DS for a while, and I always wanted to write something for it. I tried once before and gave up. This time I had a better excuse. See, I'm also developing BotWave as one of my many projects, and if you don't know what it is, it's basically a software for Raspberry Pis that lets them broadcast FM radio. Now you're…

A File Is What Reads It

Some features may only be available on the original post . Listen to this audio: Sounds pretty harmless, right? Now look at what that file actually is: Both are the same file. One plays music, one wipes your system. This is a polyglot : a file that is simultaneously valid in multiple formats, and depending on what reads it, does something completely different. How It Works Most parsers are lenient…

I Like It, But I Hate It Even More

Some features may only be available on the original post . This post obviously talks about Artificial Intelligence, the "great tool" of every new developer. I am myself a ChatGPT-era developer, as I started developing a discord bot, my first project, with ChatGPT in 2022-2023. However, it was still some light work — it was the beginning of something way worse. Nowadays, I'm almost starting to…

Starting Over

Some features may only be available on the original post . During one of my dev classes, we had to do a simple web project. The topic was free, so I went with a blog engine. I could've knocked out something basic in three hours – database, some HTML and JS, done. But I figured: if I'm building one anyway, why not make it the one I actually needed? The Old Blog Wasn't Really a Blog The previous…

Your Shell Is Just a Loop

Some features may only be available on the original post . Every developer uses a shell daily. Most people assume it's some complex, arcane piece of software. It's not. At its core, a shell is just a loop that reads a command, runs it, and waits for the next one. That's it. So let's build one. A Prompt That Reads Commands Every shell starts the same way: show a prompt, wait for input, chop it into…

How To "Gaslight" A Binary

Some features may only be available on the original post . Here is a very simple C code: int main() { uid_t uid = getuid(); struct passwd *pw = getpwuid(uid); printf("uid: %d, user: %s\n", uid, pw->pw_name); return 0; } It simply prints your identity in the current session. Let's run it: [local@DouLen] ~ › ./whoami uid: 0, user: root The program says I'm root, but look at the prompt: I'm logged in…

23 Strangers Standing Between You and This Article

Some features may only be available on the original post . You clicked this link. Quite simple, right? But before these words appeared in your browser, they went on a little journey, hopping through routers, data centers, and cables you'll never see, operated by people you'll never meet. And you know what? You can see every one of those stops, and even trace the full path from your machine all the…

An Attempt to Ban Bad Bots Crawling My Sites

Some features may only be available on the original post . I don't really like bad bots , and by that I mean crawlers that don't care about robots.txt . The reason is simple: I don't want my data fed into obscure systems, and also just by principle, if we give you rules, follow them . Credit where it's due: the idea came from Caolan's website . The idea is simple: make the bad bots click a link…

Building a Web Server from Scratch (No, Actually)

Some features may only be available on the original post . When I say from scratch, I mean it. No frameworks, no node_modules taking 500MB of disk space, no runtime. Just you, and your Linux kernel. A Bit of Context Exactly one week ago, I was in my NoSQL class, and got bored, like, really. And what does a sane person do when they're bored? Certainly not learn assembly. But that's what I did. To…

Bringing Web Radios Back to FM

Some features may only be available on the original post . When going on vacation, I listen to local radios stations using a small portable radio that I bring with me. I absolutely love doing this as the music often changes of what I'm used to, and it makes me discover new things. One of those radios I love listening to is the RTL 102.5 , an italian radio. I always listen to it when I go on a trip…

Circuit Bending a Camera

Some features may only be available on the original post . I bought a toy camera. And then dismantled it. Why? Because I wanted to try something called circuit bending . As said on Wikipedia, it consists in modifying the circuits in electronic devices. I recently saw some people circuit bending cameras, and I found it pretty cool. So I decided to try it! (And also document it on here) The goal is…

How I Built a Random Number Generator (Sort Of)

Some features may only be available on the original post . Generating randomness is fascinating, and I always wanted to go deeper than just importing some library into my python project and calling .random() . So I set out to build my own library with its own .random() function. Revolutionary, I know. But I didn't want to just cobble together pseudo-random values. I wanted to build a hardware…

Settings

Some features may only be available on the original post . Here are located your settings on this blog. Changes will be reflected immediately. Please note that these changes are local to your specific browser and you may need to configure them again if you change browser or device. Comments Name / Site This is the default name and site/URL used when posting comments. They are pre-filled on forms…