How to safely copy files to a flash drive on Linux

If you copy files to a USB flash drive and remove it right after cp finishes, data may still be in the kernel write cache. That means copy command is done, but device writes are not fully done yet. The safe approach is simple: Copy files Force data to disk Unmount device Remove flash drive Basic safe flow cp -r ./my-folder /mnt/usb/ sync umount /mnt/usb Linux vs Windows write cache behavior On Linux, if you run umount without sync first, umount may take a while....

May 17, 2026 · 1 min

Hello World Without Libc: A Deep Dive into How Programs Really Work

Introduction Most programmers start with a simple “Hello World” program like this: #include <stdio.h> int main(void) { printf("hello world\n"); return 0; } But have you ever wondered what really happens under the hood? What is printf doing? Where does main come from? What happens before main is called? How does the program actually communicate with the operating system to display text on the screen? In this article, we’re going to build a “Hello World” program in C that requires no standard library (no libc)....

May 11, 2026 · 32 min

How go get my public IP address

There are several pretty good websites that can tell you your IP address. ident.me ip.zxc.sx ifconfig.me icanhazip.com ipinfo.io 2ip.ru You can open them in a browser or use the terminal to get your IP address. curl ident.me curl ip.zxc.sx curl ifconfig.me curl icanhazip.com curl ipinfo.io curl 2ip.ru If you don’t have a curl installed, you can use wget. wget -qO- ident.me wget -qO- ip.zxc.sx wget -qO- -U "curl/8.13.0" ifconfig.me wget -qO- icanhazip....

June 22, 2024 · 2 min

How to install Docker on Linux

Installation For the most default installation, you can use the official Docker installation script. This script will add the Docker repository to your system and install the latest version of Docker. Notice that the scripts are not recommended for production environments. curl -fsSL https://get.docker.com | sudo sh Rootless Installation Rootless Installation requires a few more steps than the default installation. Enable lingering for your user: sudo loginctl enable-linger $USER Set XDG_RUNTIME_DIR variable to avoid systemd issues:...

June 18, 2024 · 2 min