How are images stored?

#612 – February 09, 2025

JPEG is a treasure trove of delightful engineering marvels

How Are Images REALLY Stored?
40 minutes by Moncef Abboud

In this deep dive Moncef explores how digital images are stored and compressed, focusing on three major image formats: GIF, PNG, and JPEG. GIF uses a fixed palette of 256 colors and LZ compression, while PNG supports both paletted and true color images with lossless compression. JPEG achieves high compression ratios through lossy compression techniques making it particularly efficient for photographs while maintaining acceptable visual quality.

Meet Harmony
sponsored by bit

Harmony is an open source library for composing consistent and highly performant platforms from independent business features. It empowers developers to seamlessly integrate API-centric features into shell applications while maintaining optimal user experience, performance, safety, and developer experience.

How Learning Assembly Changed my Programming
6 minutes by Higor Dinis

Higor discusses how learning Assembly programming helped him become a better software engineer by providing deeper insights into computer operations, particularly memory management and pointers. He explains key concepts like Stack and Heap memory, demonstrating how Assembly's low-level nature makes these concepts more tangible and understandable. Additionally, learning Assembly helped him appreciate compiler optimization and write safer code, though they note that Assembly itself isn't practical for large projects.

When Greedy Algorithms Can Be Faster
19 minutes by Benjamin Summerton

In the realm of computer science, we're always told to pursue what is the most efficient solution. This can be either what is the fastest way to solve a problem; or what may be the cheapest. In this article Benjamin explores the performance comparison between rejection sampling and analytical methods for generating random points within unit circles/spheres in a ray tracer.

How Precision Time Protocol handles leap seconds
4 minutes by Oleg Obleukhov, Patrick Cullen

In this article Oleg and Patrick discuss Meta's approach to handling leap seconds in modern data centers, particularly focusing on the challenges of time synchronization using Precision Time Protocol versus Network Time Protocol. They explain how Meta implements leap second smearing through their fbclock library for PTP systems, while highlighting the complications that arise from maintaining different time synchronization methods.

Developer philosophy
9 minutes by qntm

Amazing as it may seem after all these years, there are still junior developers in the world. This article discusses key insights and personal software development philosophies aimed at guiding junior developers toward better practices. The advice covers a range of crucial aspects, such as avoiding the pitfalls of ground-up rewrites by managing technical debt, recognizing the challenges of the final stages of development, and automating best practices to enhance team consistency.

The most popular link from the last issue was:

Lastly, here's a bonus guide to git that covers everything from basic concepts and commands to advanced topics like rebasing, submodules, and configuration:

newsletters