Writing My Own DEFLATE From Scratch to Embed Data in a PNG
A one line project rule: no zlib, no third party compression libraries, turned into writing CRC32, Adler32, a bitstream packer, canonical Huffman codi…
Read post →I started programming as a kid with Visual Basic before moving to C#, where I learned the fundamentals of software development. Later I spent several years building web applications with PHP and Laravel, but over time I became more interested in what was happening underneath the frameworks I was using. That curiosity gradually led me toward C, Linux, operating systems, file formats, and computer architecture.
Today I mostly enjoy systems programming and learning how software works at a lower level. I like reading technical books, specifications, and RFCs, then applying what I learn by building projects from scratch. My current interests include Linux, data compression, file formats and building software in C to better understand the systems I use every day.
I wrote Steganov in C. It's a steganography tool that works with BMP, WAV, and PNG – no third-party libs, not even zlib. The embedding is LSB, nothing fancy, but it does the job. The real pain was PNG: I had to implement the entire DEFLATE algorithm from scratch – CRC32, Adler-32, LZ77, Huffman, the whole bitstream – by reading RFC 1951 and banging my head against it. Honestly, it was confusing as hell at times, but when stuff finally worked, it felt great. I genuinely enjoyed it - (2026).
During my first internship at a startup, I contributed to the backend development of a travel platform named Hobilar (which was later rebranded to Wingswift). My tasks included understanding the database schema, working on the reservation system, and building geolocation queries for maps. With guidance from my CTO, I helped develop the Story, Heatmap, and Reservation modules (2022).
A one line project rule: no zlib, no third party compression libraries, turned into writing CRC32, Adler32, a bitstream packer, canonical Huffman codi…
Read post →LZ77 is the algorithm that taught modern compressors how to spot repetition. Instead of encoding every byte from scratch, it slides a window back thro…
Read post →A deep technical dive into Huffman coding, the greedy algorithm behind lossless data compression. This article covers how Huffman trees are built, why…
Read post →CRC (Cyclic Redundancy Check) is a family of checksum algorithms based on polynomial division, widely used to catch accidental data corruption in stor…
Read post →Adler-32 is a 32-bit checksum algorithm designed by Mark Adler and used by zlib and the DEFLATE format to detect accidental data corruption. This arti…
Read post →