{"id":2070,"date":"2024-12-23T09:00:45","date_gmt":"2024-12-23T09:00:45","guid":{"rendered":"https:\/\/exponentialdecay.co.uk\/blog\/?p=2070"},"modified":"2025-06-26T20:30:43","modified_gmt":"2025-06-26T20:30:43","slug":"what-will-you-bitflip-today","status":"publish","type":"post","link":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/","title":{"rendered":"What will you bitflip today?"},"content":{"rendered":"<p>I want to let you into a secret: I enjoy corruption. Corrupting digital objects leads to undefined behavior (C++&#8217;s <a href=\"https:\/\/www.youtube.com\/watch?v=k9N8OrhrSZw&amp;t=120s\" target=\"_blank\" rel=\"noopener\">definition<\/a> is fun). And flipping bits in objects can tell us something both about the fragility, and robustness of our digital files and the applications that work with them.<\/p>\n<p>I had a pull-request for <a href=\"https:\/\/github.com\/aybabtme\/bitflip\" target=\"_blank\" rel=\"noopener\">bitflip<\/a> accepted the other day. Bitflip is by <a href=\"https:\/\/github.com\/aybabtme\" target=\"_blank\" rel=\"noopener\">Antoine Grondin<\/a> and is a simple utility for flipping bits in digital files. I wrote in my COPTR <a href=\"https:\/\/coptr.digipres.org\/index.php\/Bitflip\" target=\"_blank\" rel=\"noopener\">entry<\/a> for it that it reminds me of <a href=\"https:\/\/web.archive.org\/web\/20090323121026\/http:\/\/hki.uni-koeln.de\/material\/shotGun\/\" target=\"_blank\" rel=\"noopener\">shotGun<\/a> by Manfred Thaller. The utility is exceptionally easy to use (and of course update and maintain written in Golang) and has some nice features for flipping individual bits or a uniform percentage of bits across a digital file.<\/p>\n<p>My pull-request was a simple one updating <a href=\"https:\/\/web.archive.org\/web\/20090323121026\/http:\/\/hki.uni-koeln.de\/material\/shotGun\/\" target=\"_blank\" rel=\"noopener\">Goreleaser<\/a> and its GitHub workflow to provide binaries for Windows and FreeBSD. I only needed to use Windows for a short amount of time thankfully, but it&#8217;s an environment I believe is prevalent for a lot of digital preservationists in corporate IT environments.<\/p>\n<p>Bitflip is a useful utility to improve your testing of digital preservation systems, or simply for outreach, but let&#8217;s have a quick look at it in action.<\/p>\n<p><!--more--><\/p>\n<h2>To infidelity and beyond<\/h2>\n<p>As you know, I previously harnessed the effects of <a href=\"https:\/\/en.wikipedia.org\/wiki\/Data_degradation\" target=\"_blank\" rel=\"noopener\">bitrot<\/a> in my game <a href=\"https:\/\/exponentialdecay.co.uk\/blog\/nibble-in-cyberspace-digipres-adventures-vol-1\/\" target=\"_blank\" rel=\"noopener\">Nibble in Cyberspace<\/a>. In that same blog I mentioned some outreach work I did using bitflip at Ravensburger AG to demonstrate the effects of bitrot on an old Spinnaker computer game called Weltraumkolonie.<\/p>\n<p><iframe loading=\"lazy\" title=\"Weltraumkolonie: Corruption Remix\" width=\"1200\" height=\"900\" src=\"https:\/\/www.youtube.com\/embed\/tdnyrk5m5vQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>I had previously used bitflipping techniques in my interview for Ravensburger and then again for a whole of company presentation later in the year 2021 but I needed a reliable tool for my own bitflipping experiments and bitflip became my goto.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/ravensburger-bitflip.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2093\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/ravensburger-bitflip.png\" alt=\"An example of bitrot using the Ravensburger mobile games logo, the image is split into four quadrants and demonstrates the different visual artefacts and color changes that result from the degradation of a bytestream.\" width=\"1920\" height=\"1080\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/ravensburger-bitflip.png 1920w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/ravensburger-bitflip-500x281.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/ravensburger-bitflip-1024x576.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/ravensburger-bitflip-768x432.png 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/ravensburger-bitflip-1536x864.png 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><\/p>\n<p>I found that I liked to use the tool&#8217;s\u00a0<code>spray<\/code> command which allows you to flip multiple bits in a file for a given number of bytes using a uniform distribution. An example spray command might look like:<\/p>\n<p><code>bitflip spray percent:0.001 file-to-corrupt.jpg<\/code><\/p>\n<p>This command will corrupt 0.001 percent of a digital file. You can increase or decrease the percentages as required.<\/p>\n<p>It turns out, 0.001 percent really is enough to mean the difference between an object rendering and an object not.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-image.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2081\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-image.png\" alt=\"Corrupt JPEG in Image Magick's display utility\" width=\"1455\" height=\"759\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-image.png 1455w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-image-500x261.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-image-1024x534.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-image-768x401.png 768w\" sizes=\"auto, (max-width: 1455px) 100vw, 1455px\" \/><\/a><\/p>\n<address><em>TIp: check out PNG for even greater fragility!<\/em><\/address>\n<p>0.001% seems a fairly arbitrary amount but I worked backwards from a higher number until I had more success corrupting objects while maintaining some of their &#8220;fidelity&#8221; i.e. ability to open.<\/p>\n<p>With an affinity for <a href=\"https:\/\/exponentialdecay.co.uk\/blog\/tag\/painter-goblin\/\" target=\"_blank\" rel=\"noopener\">visual noise<\/a>, I of course gravitate toward images, and so I took one of my favorite JPEGs saved from around the internet (it&#8217;s often one of the first images in test corupi that I write) and started corrupting away.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-meow.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2075\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/corrupt-meow.gif\" alt=\"Cat's meow from the Offner Dynograph animated based on contiguous attempts at corrupting the image using bitflip\" width=\"1200\" height=\"1200\" \/><\/a><\/p>\n<p>I ran the spray command iteratively on the Cat&#8217;s Meow. I took each result that would continue to render successfully and turned them into frames for an animation until images could no longer be rendered. The result was about 19 frames and combined we see the effects of decreasing file integrity with the image slowly disappearing on us, but also, the introduction of interesting visual elements, from the pseudo-movement of the cat through the frame, and if you pay attention to the sound wave it also starts to move through space as if actually echoing. I also like the ghostly artefacts of the different objects in the bitmap.<\/p>\n<p><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2086\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage.jpg\" alt=\"A montage of images of the Cat's Meow corrupted contiguously using Bitflip\" width=\"2500\" height=\"2000\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage.jpg 2500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage-500x400.jpg 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage-1024x819.jpg 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage-768x614.jpg 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage-1536x1229.jpg 1536w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/meow-montage-2048x1638.jpg 2048w\" sizes=\"auto, (max-width: 2500px) 100vw, 2500px\" \/><\/a><\/p>\n<h2>Decreasingly analog or increasingly digital?<\/h2>\n<p>How likely we are to see bitrot in the wild today I don&#8217;t know. The concept is a little harder to grasp with more complex digital storage and tooling. While not necessarily a mythological problem, documented cases are hard to come by. I suspect it was more likely when we had media such as floppy disks where their natural (as in nature) physical properties could degrade with time, e.g. their magnetic resonance.<\/p>\n<p>Clever folks in the field doing more with floppy disks than I am will see this more regularly and have cool visuals to support their analysis, check out this <a href=\"https:\/\/digitalpreservation-blog.lib.cam.ac.uk\/raw-flux-streams-and-obscure-formats-further-work-around-imaging-5-25-inch-floppy-disks-5a2cf2e5f0d1\" target=\"_blank\" rel=\"noopener\">blog<\/a> and visual from Leontien Talboom.<\/p>\n<figure id=\"attachment_2088\" aria-describedby=\"caption-attachment-2088\" style=\"width: 1920px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/leontien-greaseweazle.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2088\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/leontien-greaseweazle.png\" alt=\"Example visualization of a floppy disk image in GreaseWeazle via Leontien's blog at Cambridge University Libraries\" width=\"1920\" height=\"880\" srcset=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/leontien-greaseweazle.png 1920w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/leontien-greaseweazle-500x229.png 500w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/leontien-greaseweazle-1024x469.png 1024w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/leontien-greaseweazle-768x352.png 768w, https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/leontien-greaseweazle-1536x704.png 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/a><figcaption id=\"caption-attachment-2088\" class=\"wp-caption-text\">By Leontien Talboom via https:\/\/digitalpreservation-blog.lib.cam.ac.uk\/raw-flux-streams-and-obscure-formats-further-work-around-imaging-5-25-inch-floppy-disks-5a2cf2e5f0d1<\/figcaption><\/figure>\n<p>I was working with floppies once, and did <a href=\"https:\/\/openpreservation.org\/blogs\/weirder-old-cpm-file-system-and-legacy-disk-extracts-new-zealands-department\/\" target=\"_blank\" rel=\"noopener\">think<\/a> that I saw bitrot in real-life but it turned out to be the way Wordstar represented word boundaries or other formatting directives!<\/p>\n<p>And fortunately, for the day-to-day work in archives, digital preservation is built around numerous strategies to control against bitrot &#8211; <em>a checksum at the earliest point of control of a digital object is probably one of the single biggest pieces of information we can generate to help maintain integrity and prove authenticity<\/em>.<\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">24.<\/p>\n<p>The only <a href=\"https:\/\/twitter.com\/hashtag\/digipres?src=hash&amp;ref_src=twsrc%5Etfw\">#digipres<\/a> joke I know; here goes:<\/p>\n<p>&#8220;I thought I was losing sleep because I was worried about the integrity of my records, but I looked at my checksums and found that I hadn&#8217;t lost any!<\/p>\n<p>It&#8217;s a low-bar from me, what <a href=\"https:\/\/twitter.com\/hashtag\/Archive30?src=hash&amp;ref_src=twsrc%5Etfw\">#Archive30<\/a> jokes do you have?<a href=\"https:\/\/twitter.com\/hashtag\/Day24?src=hash&amp;ref_src=twsrc%5Etfw\">#Day24<\/a> <a href=\"https:\/\/twitter.com\/hashtag\/SomethingFun?src=hash&amp;ref_src=twsrc%5Etfw\">#SomethingFun<\/a><\/p>\n<p>\u2014 \ud83d\udcbe\ud83d\udc9c <a rel=\"tag\" class=\"hashtag u-tag u-category\" href=\"https:\/\/exponentialdecay.co.uk\/blog\/tag\/digital\/\">#Digital<\/a> \u2693\ufe0f <a rel=\"tag\" class=\"hashtag u-tag u-category\" href=\"https:\/\/exponentialdecay.co.uk\/blog\/tag\/vagabond\/\">#Vagabond<\/a> \ud83d\udc9c\ud83d\udcbe (@beet_keeper) <a href=\"https:\/\/twitter.com\/beet_keeper\/status\/1121096820518682628?ref_src=twsrc%5Etfw\">April 24, 2019<\/a><\/p><\/blockquote>\n<address><script src=\"https:\/\/platform.twitter.com\/widgets.js\" async=\"\" charset=\"utf-8\"><\/script><\/address>\n<address><em>Via <a href=\"https:\/\/x.com\/beet_keeper\/status\/1121096820518682628\" target=\"_blank\" rel=\"noopener\">https:\/\/x.com\/beet_keeper\/status\/1121096820518682628<\/a><\/em><\/address>\n<h2>What will you bitflip today?<\/h2>\n<address><a href=\"https:\/\/github.com\/aybabtme\/bitflip\" target=\"_blank\" rel=\"noopener\">bitflip<\/a> (the tool) on the other hand allows us to experience bitflip and bitrot for real with our everyday commodity file formats in the safety of our own laboratories. Maybe you&#8217;ll take inspiration from Antoine, and this blog, and try it out on some of your favourite files, maybe an audio file (would WAV work better than FLAC or MP3?) or maybe even some of your executables; maybe the bitflip binary itself?! Share your results, especially if they&#8217;re interesting! What will you bitflip today?\u00a0<\/address>\n<hr \/>\n<h2>A quick note on COPTR and GitHub actions<\/h2>\n<h3>COPTR might be changing<\/h3>\n<p>Andy Jackson has posted an important post on the future of COPTR <a href=\"https:\/\/github.com\/orgs\/digipres\/discussions\/53#discussion-7673675\" target=\"_blank\" rel=\"noopener\">here<\/a>. I have shared my thoughts there with a request to try and decouple some of the problems expressed, to focus on COPTR as an important registry in its own right; but please do take the time to read Andy&#8217;s comments and chime in with your thoughts, especially, as if like I do, you find COPTR to be an invaluable resource.<\/p>\n<h3>GitHub actions<\/h3>\n<p>If like me you find GitHub actions to be a dark art that is hard to grasp, checkout this GitHub action playground, it has helped me more than a few times to iron out issues in the past year, and it might help you too.<\/p>\n<ul>\n<li><a href=\"https:\/\/rhysd.github.io\/actionlint\/\" target=\"_blank\" rel=\"noopener\">https:\/\/rhysd.github.io\/actionlint\/<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2070\" class=\"pvc_stats total_only  \" data-element-id=\"2070\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>I want to let you into a secret: I enjoy corruption. Corrupting digital objects leads to undefined behavior (C++&#8217;s <a href=\"https:\/\/www.youtube.com\/watch?v=k9N8OrhrSZw&amp;t=120s\" target=\"_blank\" rel=\"noopener\">definition<\/a> is fun). And flipping bits in objects can tell us something both about the fragility, and robustness of our digital files and the applications that work with them.<\/p>\n<p>I had a pull-request for <a href=\"https:\/\/github.com\/aybabtme\/bitflip\" target=\"_blank\" rel=\"noopener\">bitflip<\/a> accepted the other day. Bitflip is by <a href=\"https:\/\/github.com\/aybabtme\" target=\"_blank\" rel=\"noopener\">Antoine Grondin<\/a> and is a simple utility for flipping bits in digital files. I wrote in my COPTR <a href=\"https:\/\/coptr.digipres.org\/index.php\/Bitflip\" target=\"_blank\" rel=\"noopener\">entry<\/a> for it that it reminds me of <a href=\"https:\/\/web.archive.org\/web\/20090323121026\/http:\/\/hki.uni-koeln.de\/material\/shotGun\/\" target=\"_blank\" rel=\"noopener\">shotGun<\/a> by Manfred Thaller. The utility is exceptionally easy to use (and of course update and maintain written in Golang) and has some nice features for flipping individual bits or a uniform percentage of bits across a digital file.<\/p>\n<p>My pull-request was a simple one updating <a href=\"https:\/\/web.archive.org\/web\/20090323121026\/http:\/\/hki.uni-koeln.de\/material\/shotGun\/\" target=\"_blank\" rel=\"noopener\">Goreleaser<\/a> and its GitHub workflow to provide binaries for Windows and FreeBSD. I only needed to use Windows for a short amount of time thankfully, but it&#8217;s an environment I believe is prevalent for a lot of digital preservationists in corporate IT environments.<\/p>\n<p>Bitflip is a useful utility to improve your testing of digital preservation systems, or simply for outreach, but let&#8217;s have a quick look at it in action.<\/p>\n<div class=\"link-more\"><a href=\"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &ldquo;What will you bitflip today?&rdquo;<\/span>&hellip;<\/a><\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2070\" class=\"pvc_stats total_only  \" data-element-id=\"2070\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":2073,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":3,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"federated","footnotes":""},"categories":[114,3,20],"tags":[266,59,24,62,270,269,61,96,147,150,103,115,71,17,68,272,118,271,267,268],"class_list":["post-2070","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-literacy","category-digital-preservation","category-just-code","tag-archive30","tag-archives","tag-art","tag-binary","tag-bitflip","tag-bitrot","tag-code","tag-coding","tag-digipres","tag-digital","tag-digital-archiving","tag-digital-literacy","tag-digital-preservation","tag-file-formats","tag-generative-art","tag-glitchart","tag-outreach","tag-ravensburger","tag-somethingfun","tag-vagabond","entry"],"a3_pvc":{"activated":true,"total_views":215,"today_views":0},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What will you bitflip today? - ross spencer :: exponentialdecay.digipres :: blog<\/title>\n<meta name=\"description\" content=\"A look at Bitflip, a utility you can use to test digital preservation systems, or simply improve your understanding of digital records.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What will you bitflip today? - ross spencer :: exponentialdecay.digipres :: blog\" \/>\n<meta property=\"og:description\" content=\"A look at Bitflip, a utility you can use to test digital preservation systems, or simply improve your understanding of digital records.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/\" \/>\n<meta property=\"og:site_name\" content=\"ross spencer :: exponentialdecay.digipres :: blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-23T09:00:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-26T20:30:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/cats-meow.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ross Spencer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@beet_keeper\" \/>\n<meta name=\"twitter:site\" content=\"@beet_keeper\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ross Spencer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/\"},\"author\":{\"name\":\"Ross Spencer\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\"},\"headline\":\"What will you bitflip today?\",\"datePublished\":\"2024-12-23T09:00:45+00:00\",\"dateModified\":\"2025-06-26T20:30:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/\"},\"wordCount\":1094,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\"},\"image\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cats-meow.jpg\",\"keywords\":[\"Archive30\",\"Archives\",\"Art\",\"Binary\",\"bitflip\",\"bitrot\",\"Code\",\"Coding\",\"digipres\",\"digital\",\"Digital Archiving\",\"digital literacy\",\"Digital Preservation\",\"File Formats\",\"Generative Art\",\"GlitchArt\",\"outreach\",\"Ravensburger\",\"SomethingFun\",\"Vagabond\"],\"articleSection\":[\"Digital Literacy\",\"Digital Preservation\",\"Just Code\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/\",\"name\":\"What will you bitflip today? - ross spencer :: exponentialdecay.digipres :: blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cats-meow.jpg\",\"datePublished\":\"2024-12-23T09:00:45+00:00\",\"dateModified\":\"2025-06-26T20:30:43+00:00\",\"description\":\"A look at Bitflip, a utility you can use to test digital preservation systems, or simply improve your understanding of digital records.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#primaryimage\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cats-meow.jpg\",\"contentUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cats-meow.jpg\",\"width\":1200,\"height\":1200,\"caption\":\"Cat's Meow from the Offner Dynograph EEG\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/what-will-you-bitflip-today\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What will you bitflip today?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/\",\"name\":\"ross spencer :: exponentialdecay.digipres :: blog\",\"description\":\"Digital preservation analyst, researcher, and software developer\",\"publisher\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/#\\\/schema\\\/person\\\/4cae0a954400f42b9c1b70c699837716\",\"name\":\"Ross Spencer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\",\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\",\"contentUrl\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\",\"width\":2560,\"height\":2560,\"caption\":\"Ross Spencer\"},\"logo\":{\"@id\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/avatar-scaled.png\"},\"description\":\"Digital preservation domain expert and full-stack software developer.\",\"sameAs\":[\"http:\\\/\\\/www.exponentialdecay.co.uk\\\/blog\",\"https:\\\/\\\/www.instagram.com\\\/b33tk33p3r\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/ross-spencer-b6b9b758\\\/\",\"https:\\\/\\\/x.com\\\/beet_keeper\"],\"url\":\"https:\\\/\\\/exponentialdecay.co.uk\\\/blog\\\/author\\\/exponentialdecay\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What will you bitflip today? - ross spencer :: exponentialdecay.digipres :: blog","description":"A look at Bitflip, a utility you can use to test digital preservation systems, or simply improve your understanding of digital records.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/","og_locale":"en_US","og_type":"article","og_title":"What will you bitflip today? - ross spencer :: exponentialdecay.digipres :: blog","og_description":"A look at Bitflip, a utility you can use to test digital preservation systems, or simply improve your understanding of digital records.","og_url":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/","og_site_name":"ross spencer :: exponentialdecay.digipres :: blog","article_published_time":"2024-12-23T09:00:45+00:00","article_modified_time":"2025-06-26T20:30:43+00:00","og_image":[{"width":1200,"height":1200,"url":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/cats-meow.jpg","type":"image\/jpeg"}],"author":"Ross Spencer","twitter_card":"summary_large_image","twitter_creator":"@beet_keeper","twitter_site":"@beet_keeper","twitter_misc":{"Written by":"Ross Spencer","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#article","isPartOf":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/"},"author":{"name":"Ross Spencer","@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716"},"headline":"What will you bitflip today?","datePublished":"2024-12-23T09:00:45+00:00","dateModified":"2025-06-26T20:30:43+00:00","mainEntityOfPage":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/"},"wordCount":1094,"commentCount":1,"publisher":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716"},"image":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#primaryimage"},"thumbnailUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/cats-meow.jpg","keywords":["Archive30","Archives","Art","Binary","bitflip","bitrot","Code","Coding","digipres","digital","Digital Archiving","digital literacy","Digital Preservation","File Formats","Generative Art","GlitchArt","outreach","Ravensburger","SomethingFun","Vagabond"],"articleSection":["Digital Literacy","Digital Preservation","Just Code"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/","url":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/","name":"What will you bitflip today? - ross spencer :: exponentialdecay.digipres :: blog","isPartOf":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#primaryimage"},"image":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#primaryimage"},"thumbnailUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/cats-meow.jpg","datePublished":"2024-12-23T09:00:45+00:00","dateModified":"2025-06-26T20:30:43+00:00","description":"A look at Bitflip, a utility you can use to test digital preservation systems, or simply improve your understanding of digital records.","breadcrumb":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#primaryimage","url":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/cats-meow.jpg","contentUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2024\/12\/cats-meow.jpg","width":1200,"height":1200,"caption":"Cat's Meow from the Offner Dynograph EEG"},{"@type":"BreadcrumbList","@id":"https:\/\/exponentialdecay.co.uk\/blog\/what-will-you-bitflip-today\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/exponentialdecay.co.uk\/blog\/"},{"@type":"ListItem","position":2,"name":"What will you bitflip today?"}]},{"@type":"WebSite","@id":"https:\/\/exponentialdecay.co.uk\/blog\/#website","url":"https:\/\/exponentialdecay.co.uk\/blog\/","name":"ross spencer :: exponentialdecay.digipres :: blog","description":"Digital preservation analyst, researcher, and software developer","publisher":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exponentialdecay.co.uk\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/exponentialdecay.co.uk\/blog\/#\/schema\/person\/4cae0a954400f42b9c1b70c699837716","name":"Ross Spencer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png","url":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png","contentUrl":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png","width":2560,"height":2560,"caption":"Ross Spencer"},"logo":{"@id":"https:\/\/exponentialdecay.co.uk\/blog\/wp-content\/uploads\/2025\/06\/avatar-scaled.png"},"description":"Digital preservation domain expert and full-stack software developer.","sameAs":["http:\/\/www.exponentialdecay.co.uk\/blog","https:\/\/www.instagram.com\/b33tk33p3r\/","https:\/\/www.linkedin.com\/in\/ross-spencer-b6b9b758\/","https:\/\/x.com\/beet_keeper"],"url":"https:\/\/exponentialdecay.co.uk\/blog\/author\/exponentialdecay\/"}]}},"views":1507,"_links":{"self":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=2070"}],"version-history":[{"count":17,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2070\/revisions"}],"predecessor-version":[{"id":2097,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/posts\/2070\/revisions\/2097"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/media\/2073"}],"wp:attachment":[{"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=2070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=2070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/exponentialdecay.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=2070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}