David Morgan-Mar (a.k.a. DangerMouse) is an Australian physicist, best known for his webcomics, and for creating several humorous esoteric programming languages. He is also the author of several GURPS roleplaying sourcebooks for Steve Jackson Games, as well as a regular contributor to Pyramid magazine.
Computer Color is Broken
Physics: Balanced and Unbalanced Forces
9/11: The Best Physical Evidence of Explosives - David Chandler Lecture
If you put a colorful image into photoshop or instagram and blur it, you’ll see a weird, dark boundary between adjacent bright colors. Yuk! In the real world, out of focus colors blend smoothly, going from red to yellow to green – not red to brown to green! This color blending problem isn’t limited to digital photo blurring, either – pretty much any time a computer blurs an image or tries to use transparent edges, you’ll see the same hideous sludge. There’s a very simple explanation for this ugliness – and a simple way to fix it. It all starts with how we perceive brightness. Human vision, like our hearing, works on a relative, roughly logarithmic scale: this means that flipping from one light to two changes the percieved brightness a TON more than going from a hundred and one to a hundred and two, despite adding the same physical amount of light. Our eyes and brains are simply better at detecting small differences in the absolute brightness of dark scenes, and bad at detecting the same differences in bright scenes. Computers and digital image sensors, on the other hand, detect brightness purely based on the number of photons hitting a photodetector – so additional photons register the same increase in brightness regardless of the surrounding scene. When a digital image is stored, the computer records a brightness value for each colors – red, green and blue – at each point of the image. Typically, zero represents zero brightness and one represents 100 percent brightness. So 0.5 is half as bright as 1, right? NOPE. This color might LOOK like it’s halfway between black and white, but that’s because of our logarithmic vision – in terms of absolute physical brightness, it’s only one fifth as many photons as white. Even more crazy, an image value of 0.25 has just one twentieth the photons of white! Digital imaging has a good reason for being designed in this darker-than-the-numbers-suggest way: remember, human vision is better at detecting small differences in the brightness of dark scenes, which software engineers took advantage of as a way of saving disk space in the early days of digital imaging. The trick is simple: when a digital camera captures an image, instead of storing the brightness values it gives, store their square roots – this samples the gradations of dark colors with more data points and bright colors with fewer data points, roughly imitating the characteristics of human vision. When you need to display the image on a monitor, just square the brightness back to present the colors properly. This is all well and good – until you decide to modify the image file. Blurring, for example, is achieved by replacing each pixel with an average of the colors of nearby pixels. Simple enough. But depending on whether you take the average before or after the square-rooting gives different results!! And unfortunately, the vast majority of computer software does this incorrectly. Like, if you want to blur a red and green boundary, you’d expect the middle to be half red and half green. And most computers attempt that by lazily averaging the brightness values of the image FILE, forgetting that the actual brightness values were square-rooted by the camera for better data storage! So the average ends up being too dark, precisely because an average of two square roots is always less than the square root of an average. To correctly blend the red and green and avoid the ugly dark sludge, the computer SHOULD have first squared each of the brightnesses to undo the camera’s square rooting, then averaged them, and then squared-rooted it back – look how much nicer it is!! Unfortunately, the vast majority of software, ranging from iOS to instagram to the standard settings in Adobe Photoshop, takes the lazy, ugly, and wrong approach to image brightness. And while there are advanced settings in photoshop and other professional graphics software that let you use the mathematically and physically correct blending, shouldn’t beauty just be the default?
Morgan-Mar has created a number of esoteric programming languages (including Chef and Piet) and algorithms. He invented Piet as part of an esoteric programming language project. Some of them are full Turing-complete languages while others are simple jokes, often based upon the idea of how a given group (e.g., chefs, orangutans, or necromancers) would be expected to program.
He was one of the inventors of "Determining a depth map from images of a scene" which was granted a patent in 2013, and "Geometric parameter measurement of an imaging device" which was granted a patent in 2014.
It is a mark of Morgan-Mar's humor that his algorithms often reflect the practices of or misconceptions about the computing industry, for instance "LenPEG", an image-compression algorithm, is designed such that if it is given the standard Lenna image it produces an output file of 1 byte, otherwise implementing a standard JPEG, GIF or PNG compression, therefore beating these in benchmark tests. His intelligent sort algorithm (a parody of intelligent design), which suggests that any sufficiently complicated list is already sorted according to the whims of a sorter implying any further sorting is unnecessary, was referenced in the "Feedback" section of New Scientist. The Intelligent Design Sort algorithm just says that information must already be sorted according to the will of a great unknowable being, instead of actually sorting the information.
Morgan-Mar is known for his webcomics: Irregular Webcomic!, Infinity on 30 Credits a Day, Darths & Droids, Square Root of Minus Garfield and mezzacotta.
Established at the end of 2002 and running until late in 2011, Irregular Webcomic! was a photo-comic that consisted mostly of photographs of Lego characters and sets with speech balloons added above them (although there were some strips named Me - with Morgan-Mar in them - as well as the fantasy and space themes - which were photographs of painted miniatures) and had several (usually) distinct casts of characters (called "themes") with many different kinds of jokes and story arcs. Since completing its run as a webcomic, Morgan-Mar uses the site for a weekly blog, as something of a carry-over from the occasionally-long notes to the former webcomic.
Infinity on 30 Credits a Day
Infinity on 30 Credits a Day is an idea that was developed by David Morgan-Mar in response to a poll he conducted, asking the fans of Irregular Webcomic! whether they would create a webcomic, given the ability to do so. It is a webcomic created entirely through collaboration between the 500 or so fans that signed up to help. Essentially, the creation of each comic is a collaborative effort by several people, chosen for their skills.
The comic started off with many contributions, but input tapered off during 2008.
Darths & Droids
Inspired by DM of the Rings, Darths & Droids takes place in a universe where Star Wars was never created. The concepts of Star Wars are thus largely unknown to the characters, with concepts such as lightsabers' deflection abilities, midichlorians, the Gungan race and Anakin as either made up by the players themselves or hastily invented by the Game Master after the players go off his prepared plot line.
- Bradley, Stephanie (20 November 2008). "Another brick in the wall". The Newcastle Herald. p. 43.
- "Jane Goodall Meets Webcomics". Wired. 8 August 2006. Archived from the original on 23 September 2015.
- Basu, Saikat (30 July 2012). "10 Programming Languages You Probably Never Heard Of". MakeUseOf. Archived from the original on 14 August 2015. Retrieved August 23, 2013.
- "GURPS Update". Warehouse 23. Archived from the original on 23 September 2014.
- Morgan-Mar, David. "The Flowers in My Mind". Redbubble.com. Archived from the original on 14 September 2014. Retrieved 15 December 2012.
- "Piet: Turing-complete abstract art". 8 January 2016.
- Morgan-Mar, David. "Morgan-Mar's Esoteric Programming". Archived from the original on 5 September 2015. Retrieved 12 May 2007.
- "Determining a depth map from images of a scene".
- "US Patent Issued to Canon on Aug. 26 for "Geometric Parameter Measurement of an Imaging Device" (Australian Inventors)". 29 August 2014.
- "Geometric parameter measurement of an imaging device".
- "Feedback". New Scientist: 84. 12 May 2007. Retrieved 12 May 2007. Subscription required
- "Why Not: A Sorting Algorithm Based on the Fake-Theory of Intelligent Design".
- "Darths & Droids". Darthsanddroids.net. 2 January 2011. Archived from the original on 20 September 2015. Retrieved 24 August 2013.
- DM's home page
- Irregular Webcomic!
- Infinity on 30 Credits a Day
- Darths & Droids
- David Morgan-Mar :: Pen & Paper RPG Database archive