Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
A talk about turning data into other data. Not particularly useful data, but imagine if you could listen to a jpeg, or see what an executable file looked like, or turn a zip file into an orchestral score? Some time ago I stumbled across the header description for WAV files and wondered: what if I took a file and calculated the appropriate WAV file header for it, could I hear my data? Turns out, yes, you can. You probably don’t want to, but you can! In this talk we’ll explore how it works for WAV files, BMP files and MIDI files. Along the way we’ll learn a lot about using ruby to manipulate raw bytes and bits of data, but also we’ll hear a README file, view an executable, and listen to the ruby interpreter itself!
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In Murray Steele's talk titled "Re-interpreting Data" at RubyConf 2023, he delves into the intriguing process of converting various file types into audibly and visually interpretable formats. The core discussion revolves around the ways data can be manipulated and restructured using Ruby, emphasizing the creative and playful sides of programming. Key points discussed include: - **File Extensions and Types**: Beginning with the basics, Steele explains how file extensions indicate file types, but merely renaming a file does not alter its intrinsic structure or content. - **WAV File Structure**: He highlights the simplicity of WAV files, consisting of a header and data section, demonstrating how to create a WAV file from a PDF by appending an appropriate WAV header. - Example: Murray illustrates the concept with Ruby code, showcasing how to manipulate bytes and pack data. - **Experiments with Audio**: Incorporating live demonstrations, Steele generates audio from the Ruby interpreter leading to surprisingly structured but unlistenable outputs. - **BMP File Format**: Steele transitions to discussing BMP files, explaining the image format's header, pixel data, and the complexities in structuring pixel representation. - He notes the necessity for padding to meet format requirements, showcasing techniques to accommodate pixel layouts without wasting data. - **MIDI Files Overview**: Finally, he addresses MIDI files, outlining their unique structure compared to WAV, focusing on compact event representation and efficient data storage. - Steele runs a demonstration to convert a README into a MIDI file, successfully creating an orchestral interpretation. Steele's essential takeaway stresses the value of curiosity and creativity in programming. He encourages programmers to leverage familiar languages like Ruby to explore and discover new ideas within the realm of data manipulation. Emphasizing that programming is a magical process, he concludes by inspiring attendees to embrace their interests and pursue explorative coding endeavors.
Suggest modifications
Cancel