<commit_before>This page will explain what steganography is...

# Notes for myself, to write the rest of the documentation

The picture "Young woman decorates the Christmas tree" by <NAME> is available in the public domain [through Wikipedia](http://en.wikipedia.org/wiki/Christmas_tree#mediaviewer/File:D%C3%A9coration_du_sapin_de_No%C3%ABl.jpg), downloaded on 9 December 2014.

2010 dataset and documentation http://data.gov.uk/dataset/index-of-multiple-deprivation
Census 2011 https://www.nomisweb.co.uk/census/2011/qs119ew

To create the simple responsive design for the email I followed the great guide published by [Campaign Monitor](https://www.campaignmonitor.com/guides/mobile/).<commit_msg>First good edit<commit_after>what-do-you-see
===============

... so you are **not** happy of what you see! Well done, and welcome to where the secret is unveiled.

![](http://digital-contraptions-imaginarium.github.io/what-do-you-see/Decoration_du_sapin_de_Noel_landscape_wdys.png)

Yes, there *is* data hidden in the painting by <NAME> I used for Digital Contraptions Imaginarium's 2014 Christmas card at [http://digital-contraptions-imaginarium.github.io/what-do-you-see/](http://digital-contraptions-imaginarium.github.io/what-do-you-see/) and in email. I've concealed it using a technique called *steganography*: "the art or practice of concealing a message, image, or file within another message, image, or file" (see the [steganography Wikipedia page](http://en.wikipedia.org/wiki/Steganography)).

The images are produced using [OpenStego](http://www.openstego.info/)'s implementation of the 'random LSB' algorithm. Random LSB hides data by altering the smooth characteristics between adjoining pixels of the source image.

You will find in this repository:
- [the original image I got from Wikipedia](Decoration_du_sapin_de_Noel_original.jpg)
- the edited [landscape](Decoration_du_sapin_de_Noel_landscape.pxm) and [portrait](Decoration_du_sapin_de_Noel_portrait.pxm) versions of the same, cropped and pixelated using [Pixelmator](http://www.pixelmator.com/),
- [the folder containing the data hidden in the pictures](source-data) (but don't cheat! try reverse the steganography first)
- the [script](embed.sh) that hides the data in the final images ([landscape](http://digital-contraptions-imaginarium.github.io/what-do-you-see/Decoration_du_sapin_de_Noel_landscape_wdys.png) and [portrait](http://digital-contraptions-imaginarium.github.io/what-do-you-see/Decoration_du_sapin_de_Noel_portrait_wdys.png)), and 
- the [script](test.sh) I used to check that the steganography was working for real!

On a recent MacOS you should be able to run the scripts without installing anything but Java, that is required by OpenStego.

## Acknowledgments 
I never had the opportunity to write a 'responsive' HTML email. I've used the great guide published by [Campaign Monitor](https://www.campaignmonitor.com/guides/mobile/) as my reference.

OH Paola was instrumental in the finalisation of the text.

## Licence
The picture "Young woman decorates the Christmas tree" by <NAME> is available in the public domain [through Wikipedia](http://en.wikipedia.org/wiki/Christmas_tree#mediaviewer/File:D%C3%A9coration_du_sapin_de_No%C3%ABl.jpg), downloaded on 9 December 2014.

The OpenStego Java libraries re-distributed in this repository are licensed under [GNU GPL v2.0](openstego-0.6.1/LICENSE). 

Everything else is (c) Digital Contraptions Imaginarium. Code is open source under the MIT license. See the [LICENSE.md](LICENSE.md) file for full details. Everything else is [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/).
{'fraction_non_alphanumeric': 0.10063413289219741, 'fraction_numerical': 0.01213123793768955, 'mean_word_length': 5.409893992932862, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 4, 'lorem ipsum': 0, 'www.': 5, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3414940', 'n_tokens_mistral': 1148, 'n_tokens_neox': 1079, 'n_words': 362}