Today's handheld computers are machines with amazing capacity for storing and processing data. With the most memory and highest bandwidth the world has ever seen, combined with easily used general purpose compression algorithms, the use of human-friendly data encodings such as JSON has become nearly universal.
This works great, until it doesn't. Whether you're using a low-speed mobile data connection, working with peripherals that must minimize radio power usage, or simply working with large data sets, there may come a time where saving a byte or two is vital.
In this session we'll explore various methods of storing only the minimum number of bits required to express a piece of information, including bitmasks, sub-byte fields, and run-length encoding... and the portability woes you may face.