Programming Digest - Zip: How not to design a file format
#431 — August 02, 2021 | View in browser |
Programming Digest
Spread the word, build the community, share the knowledge – invite your friends.
sponsor
Free eBook: Docker Security Essentials by HackerSploit
Docker is a popular platform to quickly create, deploy and host web applications, databases and other business critical solutions. Learn how to audit and secure Docker in this comprehensive guide and 9-part video series. Download instantly – no registration required.
this week's favorite
Zip: How not to design a file format
The Zip file format is now 32 years old. You'd think being 32 years old the format would be well documented. Unfortunately it's not.
Towards inserting one billion rows in SQLite under a minute
Recently, I ran into a situation where I needed a test database with lots of rows and needed it fast. So I did what any programmer would do: wrote a Python script to generate the DB. Unfortunately, it was slow. Really slow. So I did what any programmer would do: went down the rabbit hole of learning more about SQLite, Python, and eventually Rust… in my quest to get a 1B row database under a minute. This blog post is a summary of this fun and educational exercise.
In Glue: the Dark Matter of Software, Marcel Weiher asks why there’s so much code. Why is Microsoft Office 400 million lines of code? Why are we always running into the truth of Alan Kay’s statement that “Software seems ‘large’ and ‘complicated’ for what it does”?
Rendering more than 1 million particles
Particles are one of the most mesmerizing systems across computer graphics. They are simply a group of objects that act together, following the same set of rules but with some amount of randomness. However, they are only impressive when they number in the thousands or hundreds of thousands.
700,000 lines of code, 20 years, and one developer: How Dwarf Fortress is built
Dwarf Fortress is one of those oddball passion projects that’s broken into Internet consciousness. It’s a free game where you play either an adventurer or a fortress full of dwarves in a randomly generated fantasy world. The simulation runs deep, with new games creating multiple civilizations with histories, mythologies, and artifacts. I reached out to him to see how he’s managed a single, growing codebase over 15+ years, the perils of pathing, and debugging dead cats. Our conversation below has been edited for clarity.
newsletters
Older messages
What I learned from software engineering at Google
Sunday, July 25, 2021
And more news, tutorials and articles about programming and technology in this week's issue. #430 — July 26, 2021 View in browser Programming Digest Spread the word, build the community, share the
How to improve your website’s uptime from 9 5’s to 5 9’s
Sunday, July 18, 2021
And more news, tutorials and articles about programming and technology in this week's issue. #429 — July 19, 2021 View in browser Programming Digest Spread the word, build the community, share the
Programming language memory models
Sunday, July 11, 2021
And more news, tutorials and articles about programming and technology in this week's issue. #428 — July 12, 2021 View in browser Programming Digest Spread the word, build the community, share the
A day in the life of a professional software engineer
Sunday, July 4, 2021
And more news, tutorials and articles about programming and technology in this week's issue. #427 — July 05, 2021 View in browser Programming Digest Spread the word, build the community, share the
What every programmer should know about SSDs
Sunday, June 27, 2021
And more news, tutorials and articles about programming and technology in this week's issue. #426 — June 28, 2021 View in browser Programming Digest Spread the word, build the community, share the
You Might Also Like
iOS Dev Weekly – Issue 694
Friday, January 10, 2025
Hopefully you won't see that much difference with receiving this issue, but it's ALL CHANGED behind the scenes! 😱
Daily Coding Problem: Problem #1664 [Easy]
Friday, January 10, 2025
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Twitter. A permutation can be specified by an array P , where P[i] represents the
Spyglass Dispatch: The Case for a For-Profit OpenAI
Friday, January 10, 2025
RIP Venu • A More Political and Real Time Threads • An OpenAI Auction • Apple's Tough 2025 The Spyglass Dispatch is a newsletter sent on weekdays featuring links and commentary on timely topics
⌨️ 10 Mods to Improve Your Mechanical Keyboard — How to Set Up Quick Share on Windows
Friday, January 10, 2025
Also: Why Are Tech Companies Trying to Sell Me Expensive Clocks? How-To Geek Logo January 10, 2025 Did You Know Famed biologist Charles Darwin and US President Abraham Lincoln were born on the same day
Your best friends in design
Friday, January 10, 2025
Working With Designers Product manager & UX designer collaboration guide. How members of your product team work together is just as important as the work itself. A fundamental relationship within
Charted | How Canada Would Rank as the 51st State 📊
Friday, January 10, 2025
Donald Trump has floated the idea that Canada should be the 51st state. Here's how it compares statistically. View Online | Subscribe | Download Our App Presented by: Global X ETFs Power AI's
Pinpointing The Actual Problem 🎯
Friday, January 10, 2025
WordPress accidentally diagnoses its own business problem. Here's a version for your browser. Hunting for the end of the long tail • January 10, 2025 Pinpointing The Actual Problem A blog post from
😱Major Azure Outage in EastUS2, 🚀New AI and Azure Developer CLI Courses, azureedge.net DNS retiring
Friday, January 10, 2025
͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
iOS Cocoa Treats
Friday, January 10, 2025
View in browser Hello, you're reading Infinum iOS Cocoa Treats, bringing you the latest iOS related news straight to your inbox every week. Adopting Swift 6 across the app codebase I've been
Issue #575: Excalibird, bird’s eye metropolis, and Stimulation Clicker
Friday, January 10, 2025
View this email in your browser Issue #575 - January 10th 2025 Weekly newsletter about Web Game Development. If you have anything you want to share with our community please let me know by replying to