application-sensitive image-bending
update: go to my new image databending gallery, the new home for all my databent image work!i touched upon this briefly in my previous post, as well as
back in march, but i definitely think this demands further study.
if you don't want to read a bunch of technical databending crap, please scroll down because i have an experiment for you.
different image formats behave differently when they are "databent" (that is, when they are edited or manipulated in an "incorrect" environment), depending on the level of complexity of the image data and how it's stored. in my image editing experience (which is far more limited than i'd like), i can classify the image formats i've worked with into two general categories:
simple formats, which are very resilient to bending (so long as you don't damage the header, which tends to be very short) and yield fairly predictable results, and
volatile formats, which tend to be fairly fragile but produce peculiar results if you manage to bend them without completely breaking them.
BMP and
TIF are simple formats, and their general structure quickly becomes obvious after a few bending experiments. files are structured with a short header and a data block, and that's about it. there might be a footer, but if so then altering it doesn't seem to corrupt the file. the data block for these formats is a basic stream of pixel data, which is read left-to-right, top-down. there is no equivalent to a "line break"; the size of the image is established in the header and the pixels simply load in, in order. each pixel is defined as an RGB (red-green-blue) color value, so the basic structure looks something like this:
[header]RGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGBRGB...
if you were to move or delete the first byte of the data block (the first "R"), the entire image would "color shift" to green (because every pixel's G value would be interpreted as R, etc). this effect can be clearly seen in bends such as this one:
similarly, if you were to run some kind of algorhythmic processing on the data block (i'm thinking audio FX because i prefer to bend in an audio editing environment, but the same principles would apply to other environments), you would simply "corrupt" or alter the color values of the pixel data itself. for example, here is the bollywood vanilla coke ad, converted to BMP, with sound forge's "fuzz 1" distortion preset effect run on the pixel data:
(i haven't experimented much with using FX on simple formats, but others have... sorry, i don't have any links right this second)
PSD and
JPG are both volatile formats. they don't behave anything like simple formats. it's very easy to alter the wrong byte of data and corrupt the whole file. pixel data is definitely not stored in a simple stream; it appears to be stored in two- or three-dimensional arrays (how many arrays are used varies depending on options used). the structure or even the location of these arrays is not transparent to the databender: after dozens of times editing PSD files in a wav editor, i have a good idea of which areas not to edit, but locating the exact boundaries of those areas is beyond me).
editing the data in these arrays corrupts the pixels in a structural sense rather than simply color and location. bizarre horizontal banding effects are common (as seen in
the wallpaper i posted on sunday and the bulk of my image bends).
anyway, on to the inspiration for this post:
it has become increasingly apparent that when bending volatile image files, the end result
varies substantially depending on the end application and OS used to open the bent file. i suspected it was true
back in march, and now i'm dead certain.
the proof came today when i posted an actual bent jpg file. i bent the file using goldwave, then opened it in mspaint to verify that it would open. it did, so i posted it, only to realize that the same file looked different when i viewed it in firefox (using win2k). so i opened it again in paint and copied the image to a new file, to create a permanent version of how paint interpreted the image, and posted that as well. i also tried to capture a version of how it looked in firefox, but while taking the screenshot was easy i didn't have any good cropping tools, so i didn't end up posting it (i should've emailed myself the screenshot... stupid).
later browser testing revealed that the image wouldn't even open in internet explorer. and when i got home and checked on my computer at home (again using firefox, using xp sp1), the image looked different still!
this is a powerful reminder of one of the core concepts of databending: you never really working directly with data; you work with the data
as interpreted by the editing environment you use to access that data. there is at least one built-in layer of abstraction present at all times. with image-bending, you could say that the "real" bending happens not when you edit the data, but when that data is reinterpreted back into its original format. the same exact file will bend differently when opened in different applications on the same computer/OS, and will also look different when viewed in the
same application but on a different computer/OS.
this raises some fundamental questions: just how important is the "computer" part of the equation? will two machines running the same OS and application versions interpret a file in the same way? or do hardware variations, etc factor in? could it be that a bent volatile file will render differently on every computer you open it in? or does OS even factor in at all?
maybe i'm giving away too many of my "trade secrets" in this post (as if anyone other than syntax is reading by this point), but i
desperately want your participation in the following experiment:
stop scrolling now. here's the experiment:look at this image:
if you don't see an image at all (just a red X or whatever), that's fine. you probably won't see one if you're using internet explorer (though if you're using some other browser and can't see it, i'd like to know).
if you can see an image above, compare it to the following images:
if the image above looks like one of those images, please tell me which one it looks like, and what OS and browser you're using, including browser version (you can generally find this in any application's help menu under "about [application]").
if the image above looks different than any of these, please email me a screen capture of what it looks like. this is
extremely important for the experiment to yield any useful results: it will only take at most a couple minutes and i would really appreciate your help. i will post your submitted image, your name/handle, and maybe even a shout-out or two if you like. if you are comfortable with cropping and want to crop it, great, but you sure don't have to.
(if you don't know how to take a screenshot, see "tech help" below)extra credit: if you really want to go above and beyond to help out the experiment and get major brownie points too, here's what else you can do: save the bent image (the one above) to your hard drive, and open it up in microsoft paint (or other image editors; i can't open it in photoshop, but maybe someone could on a mac, not to mention other application on other platforms). if it also looks different than any of these, select all, copy to the clipboard, and paste it to a new document (should be 333x485 pixels), then email me the document.
edits/updates: much thanks everyone for responding, and especially syntax, erroneousrex, ian page-echols, jack smiley, and ken goudswaard for sending in their screenshots (the fifth image is syntax's; the 6th, 7th, & 8th are rex, ian, and jack's mac os x submissions, respectively; and the 9th is ken's). i'll print a full list of everyone who responded (who i have names for) when i post all the results, probably in a few days.
tech help: if you know how to take a screenshot, you can stop reading now.
how to take a basic screen capture (windows): view the image and try to make sure you have the
whole image visible. then press the
print screen key on your keyboard (it might be abbreviated "prt scr" or similar). this will take a "screen shot" of whatever is visible on your monitor, and place it on your windows clipboard. then you simply need to go into an image editor, create a new document that's sufficiently large, and the "paste" the screenshot from the clipboard into a new document. save the file, email it to me, and i'll love you forever.
if you've never used an image editor (or don't think you have one): go to your start menu, choose the "accessories" menu, and then choose "paint". the microsoft paint application will open. in paint, go to the "image" menu and select "attributes". set the "units" to "pixels" and make sure the image size is at least as big as your screen (800x600, 1024x768, 1280x960, etc). now you're ready to paste in your screenshot. go to the "edit" menu and select "paste". then save it up and email it to me. JPG format is better than BMP, etc.
mac users: i'm not really qualified on this subject, but in mac os x, you can create a pdf screenshot by pressing Command+Shift+3. i will gladly accept these pdf files, though i would prefer something like jpg if you are a screenshot wiz.
we didn't start the fire
so there's
this thread on the exbe board... it started off pretty innocuously as a simple thread about a recent noise-friendly "open mic" night at a cleveland venue called "the capsule". but it quickly went sour when a troll showed up and started posting stuff calling some of the unnamed performers (who he hadn't seen) "hacks" and "losers" and the like. (i got in on the flamewar a bit late, starting on
page 3, as i didn't find out about it right away.
things got pretty ugly, as they tend to do during such arguments, and the inevitable calls for peace started coming in. one such post petitioned everyone to "drink a vanilla coke" and "hug a puppy"... i went searching for a funny vanilla coke picture to post, and found this one:
before i knew it, kyle (of etherial transmission, colorforms, and press the button) asked me to
databend the picture! i didn't really have the software to do so properly, but i gave it the old college try and soon downloaded
goldwave so i could bend better. here were my results (all edits are simple cut-and-paste edits):
BMP edited in word.
BMP edited in goldwave.
JPG edited in goldwave.
now this one is weird... the previous image is the actual JPG file that i edited. but
this image is what that
exact same file looked like in mspaint. opening the bent file in different applicatioons made it look different, apparently. that's weird. maybe they don't look different to you! or the first one looks different on your computer than it does on mine!
so the thread took up a bunch of my time today, but at least i made something kinda cool out of something ugly (the flamewar, not the original image).
i wouldn't recommend reading the thread unless you like flamewars and messageboard drama (or you want to read someone call me names like "dick", "prick", "asshole", and "hack-job", in which case you should start reading around the end of
page 6).
so that's what i did today when i wasn't on my job: argued on the net and bent a few pictures. connie, i wanted to email you, but when people are talking about how much they hate you, it gets a bit distracting. sorry 'bout that.
tonight drbmd & i are getting together to watch a nin-ja movie! someday, i really need to write a nice long post about nin-ja movies and other crappy cut-and-paste cinema...
recovery
a good night's sleep will do wonders... i went to bed early last night (around 11:30! that's early!) and virtually slept through the night without problems. i think i woke up once or twice, but that's not unusual... and no waking up simply to cough!
i'm not back to 100% yet, but i'm clearly improved over yesterday or the day before. i've only coughed a few times this morning, and they were quick: a couple coughs, some phlegm, and it's over. not like the 30-second hacking fits i was prone to yesterday.
so i was "sick" just long enough to miss the
INS show... not a big deal, really, since i've seen them play several times and wasn't particularly interested in the other bands on the bill. but still... i feel a little bit bad for not going out to support my friends, who even booked me for a show in cleveland a couple months back. i wanted to be there for them.
oh well... if they are selected to play
MMS again this year, i'll definitely go see them then if possible. (the deadline for MMS submissions is tomorrow... i mailed mine tuesday. in theory, we should know in 3 weeks who's been selected, though it might take a bit longer than that.)
hypocrites
not enough energy for analysis, but some crazy stuff is going on recently... if you were to hold a "hypocrite of the week" contest, you would have some serious competition on your hands.
maybe you would want to pick
spokane mayor jim west, who has made a career of anti-gay legislation, and who is now wrapped up in a huge sex scandal. west spent a lot of time in gay chatrooms like gay.com, gave jobs to young men he hoped to seduce, and was caught having cybersex with someone he thought was a high-school-aged boy (which is a crime even though it was not in fact a teenager).
americablog has lots more coverage.
on a normal news week, he'd be a shoe-in. but
syntax has found more. how about the anti-abortion extremist who
recently admitted to practicing bestiality in his youth? (syntax even found
the audio)
or how about hilary rosen, former head of the RIAA and die-hard advocate of DRM, copyright protections, lawsuits against file-sharers, etc... who has
a post on the huffington post lamenting the ipod's DRM. can it be that hilary finally realized that the crusade she led to lock down content actually harms consumers?
who would you vote for?
an infinite number of coughs
i was hoping to go to the
infinite number of sounds show tonight at bubba's, but that's not going to happen. i feel too sick... i probably shouldn't be at work right now either. but due to weird timing, i can't tell for sure whether i'm suffering an allergy attack or some kind of infection. we had a significant climate shift the other day, as it suddenly got very warm after a cool and rainy spell. so it's quite plausible that a bunch of pollen was released recently and hit me yesterday. but at the same time, barry and ian have been sick for the past few days, so it's likely i caught whatever they have. i never used to get sick before i lived with a small child. they're like germ magnets, i tell ya.
my symptoms are primarily restricted to the tiny area between my sinuses and my adam's apple: congestion and periodic coughing fits. but today i also feel very tired and lethargic, which could be a symptom of my sickness or just a result of the fact that i woke up a good 4-5x in the middle of the night last night so i could cough for a minute.
i also had a dentist appt this morning... just a routine cleaning. but they charge you if you try to cancel less than 24 hours in advance, which is at least part of why i bothered to come in today. but it also means i have to work later than usual tonight, and probably for the rest of the week, to make up the extra hours.
so no INS for me, and not much energy for blogging or writing emails or the like. feh. i'd really like a nap, but that's not going to happen this afternoon unless i go home sick.