Day 8-12 of Building in Public
The past few days, I decided to pause feature work and focus on learning Rust more deeply. At the same time, I started researching AES-GCM since that's the feature I really want to implement next in CipherX.
Honestly, I got frustrated.
The documents I tried to read are very technical cryptography papers filled with pseudocode and mathematical symbols that I could barely understand. It felt like reading something written for mathematicians, not for programmers especially for someone like me without a computer science degree.
I don't want to rely on AI to write the code for me so I pushed myself to do my own research. And I realized that studying cryptography from these kinds of materials is really hard when you don't yet understand the math language they use.
So I took a pause.
Instead of forcing myself to understand everything at once, I went back to Rust advanced topics: atomics and locks, macros, unsafe Rust and proper error handling. If you check my CipherX code right now, I still haven't handled errors properly especially in file streaming where I mostly used unwrap just to make things work first.
I also got a mathematics book for programmers and a computer science book for programmers. I'm hoping that next time I encounter those mathematical symbols in cryptography papers, I won't feel lost or intimidated anymore.
Since I'm learning Rust and building things from scratch, I realized that studying core computer science and math concepts will help me a lot especially for low-level work, systems programming and cryptography.
And I think this is the part that self-taught programmers don't talk about much.
Sometimes you really have to stop building, admit you don't fully understand the foundation yet, go back, study the fundamentals and strengthen your base before you can move forward again.
5/5
Final thoughts
There's still a lot I can improve in the codebase, especially in terms of structure, optimization and testing. But for now, I'll continue working on it step by step and refining the implementation as I learn more.
4/5
Why these changes?
These changes are mainly to improve the security and correctness of the encryption system, especially since I'm planning to build additional features on top of it.
It also makes the system easier to extend in the future without relying on custom designs that could weaken security (like the previous 256-byte block structure).
By aligning more closely with AES, I can focus more on building features instead of worrying about whether the underlying cryptography is structurally sound.
Day 6–8 of Building in Public
Still working on my CipherX library (a tool for file encryption and decryption in Rust).
Like I mentioned in my README, this library is mainly for educational purposes and my own learning. Because of that, it originally didn't strictly follow the AES standard.
But after thinking more about security and future features I want to implement, I decided to gradually adapt it toward a proper AES implementation.
So here are the changes I made 👇
Day 4–6 of Building in Public
I thought adding this feature would take few hours but instead it took me 3 days.
I finally finished the file streaming feature in my CipherX library (a tool for file encryption and decryption written in Rust)
This means:
Even if your file is larger than your total memory, it will not crash.
It can still encrypt and decrypt the file safely.
I already tested it on my phone with 12GB RAM using a zip file around 10GB:
Encryption: around 7 minutes
Decryption: around 7 minutes
It took me so long cause i had to:
- review how my library worked internally
- adjust the code to work with streaming instead of full buffers
- understand BufReader, BufWriter, Read, Write, Seek and SeekFrom
- print values everywhere as my way to follow the code logic
- try multiple failed approaches before one finally worked
At first i thought it will be easy but it's not especially if you care about correctness, performance and memory usage.
This feature forced me to understand file I/O, buffering and chunk processing on a much deeper level.
Still adding improvements and more tests but getting file streaming to work safely on large files was a big milestone for me.
#Rust#BuildInPublic
405 Followers 149 FollowingI am investigating integrity of AI decision-making. My focus is on observing how systems navigate high-pressure constraints.
1K Followers 2K FollowingProudly a Muslim believer👳|YNWA♥️|Mechatronics and Systems Engineering Students|Tech Enthusiasts♥|Forex and Crypto 💹|Content Creator| Graphics Designer|♣
445 Followers 400 FollowingBuilding Clipz Engine - AI clipping that learns YOUR style | Helping creators turn long-form content into clips that Actually Hit | #buildinpublic
1K Followers 1K FollowingBuilding https://t.co/d4mHXRNcNW | https://t.co/84T7oXGx6O | https://t.co/ScUkIfkIsT | https://t.co/4ZD9v1DT1a. Sharing what I learn about AI + startups on YouTube ↓
477 Followers 844 FollowingforGL creator: So WE can write the good code in Our choice of languages / Software Developer 20+ years / Computer Programming as Problem Solving Skill / Tool
323 Followers 607 Followinginitializing my tech journey... ⚙️
🎓BCA student documenting the developer journey🔍 currently decoding data structures & web logic🔍 status: learning in public
193 Followers 3K FollowingYour grandma cannot use Whatsapp! https://t.co/SjwufQUygy - videocalls so simple that even grandma can use 👵
Available on Android. (iOS? Join the waiting list!)
445 Followers 400 FollowingBuilding Clipz Engine - AI clipping that learns YOUR style | Helping creators turn long-form content into clips that Actually Hit | #buildinpublic
1K Followers 1K FollowingBuilding https://t.co/d4mHXRNcNW | https://t.co/84T7oXGx6O | https://t.co/ScUkIfkIsT | https://t.co/4ZD9v1DT1a. Sharing what I learn about AI + startups on YouTube ↓
477 Followers 844 FollowingforGL creator: So WE can write the good code in Our choice of languages / Software Developer 20+ years / Computer Programming as Problem Solving Skill / Tool
323 Followers 607 Followinginitializing my tech journey... ⚙️
🎓BCA student documenting the developer journey🔍 currently decoding data structures & web logic🔍 status: learning in public
193 Followers 3K FollowingYour grandma cannot use Whatsapp! https://t.co/SjwufQUygy - videocalls so simple that even grandma can use 👵
Available on Android. (iOS? Join the waiting list!)
72 Followers 170 FollowingFrontend Dev | AI Engineer in progress
React | JavaScript | AI
Building daily. Sharing everything 🚀
Helping beginners start coding
1K Followers 928 FollowingEngineer → Micro SaaS founder. 19 yrs Silicon Valley big tech.
I build small systems that create leverage.
Automation • Systems • Micro SaaS