Projects and observations
Currently Browsing: Politics

Propaganda: “Ads Make Us…”

One of the first public ad campaigns I ever conceived of was a series of “Ads Make Us…” posters designed for transit advertising. Advertising was my introduction to the study of human decision making, and, indeed, marketing experts have probably conducted more research into short-term decision making than any other group. Marketers have also developed ways to directly apply their findings to ad creation, essentially engineering ads to resonate with us and influence our purchasing decisions. In a society where our role as a consumer is paramount to all others, this influence is extremely lucrative – that is, powerful.

Most ads are not designed simply to inform us about products and services we may wish to purchase. They are designed to make an emotional impact, not just informing us that a thing exists, but also making us feel as if we need the product in some way. While the tricks used for this vary substantially – from classic “sex sells” to pervasive “peer pressure” techniques – a large many of them depend on instilling negative emotions in us. While some ads certainly take a more positive direction, even those are generally selling a fantasy, not a product, and often instill negative emotions in their own way.

Ads often make us feel that, because we don’t have this thing being advertised, we are missing out on something essential, we are less than our peers, we are less than or defective or weird. But these ads make it clear to us that those terrible feelings (that we all have from time to time) will go away if we just spend some money! First, they dig up these feelings, intensifying those we have and instilling new reasons to feel bad about ourselves, and then they provide a convenient answer to the problem. Of course, the answer is never as good or complete or effective as pitched and, as the saying goes, money can’t buy happiness.

That does not stop us from trying.

Even “positive” ads often invoke these same tactics. Instead of overtly showing us how awful our existence is without their widget, positive ads generally show how much better everything could be with one. Of course, only the framing is really different because just as overtly negative ads, you are still left feeling like you have a dark, widget-shaped hole in your life.

Unfortunately, many people believe that ads don’t really affect them. They believe they are too smart or pay too much attention for advertising to make any difference in their behavior. Of course, these people are wrong. Even with lots of study and developing a persistent awareness of (some of) the advertising that reaches me, I know that it affects me. I think that believing otherwise is dangerous.

As a hypothetical way of combating this, I devised a series of public advertisements that point out specific aspects of advertising that effect most of us to some extent. The call to action on these has evolved over time, and currently I choose to feature the line “Limit ads, regain freedom.” This is intended to be a bit provocative, but an essential part of this campaign is based on the idea that we can use the same techniques employed by mass marketers to change public sentiment. This is unproven, but I hope to help make a case for it over time.

Note too that this call to action implicitly requires limits on at least one form of speech: commercial advertising. My thoughts on this are ever-evolving, but I think that to have a functional society, we must curb the level and type of advertising around us. In the US, it is a common fallacy that we do not control speech. In fact, we do limit a great deal of speech: libel; slander; lying to specific classes of individual (the IRS and police); hate speech and more. What is common among the speech we limit is that it is harmful. The speech itself causes harm to the public or to individuals. So, in truth, the US limits harmful speech. Because I believe that commercial advertising is very harmful on both a societal and personal level, I believe that not only can it be regulated, but that it should be. (Please look for additional work on this subject as I don’t want to hijack my own post with this!)

I have created mock-ups of these ads many times now, with previous generations being lost to time (and giant, un-indexed digital storage devices) so I present below a selection of my top favorites, recently recreated. Some day, I hope to have reason to employ a graphic designer to help make these pop!

 


DIY: A “non-rigid” sign pole for protests & marches.

Many police departments across the US have banned “rigid poles” at public gatherings such as protests, demonstrations and marches. The result of this has been dramatic. The photos of these mass gatherings of people, when compared to those from previous eras, seem flat to me, with fewer signs and fewer faces visible. I think it’s important to have these dynamic images of events because we depend so much on media coverage (both journalistic and interpersonal) to spread the messages that inspire these actions.

Currently, many places disallow plastic, wood, and metal as sign poles. However, cardboard is usually acceptable at most events. The common wisdom seems to be to seek out a wrapping paper core and to use that for mounting signs. While a simple solution, it is not really a good one. Mounting signs to curved surfaces is not ideal; buying wrapping paper to use only the core is wasteful and expensive; most paper cores are thin and flimsy and will loose integrity after a couple of dents. Instead, I conceived of a simple way to repurpose normal cardboard boxes into sturdy, practically-free sign poles which are easy to mount to and even collapse into short segments for travel.

In a nutshell, this guide will take you through measuring, scoring, cutting and folding multiple triangular tubes from cardboard. You’ll make two or three outer pole sections (depending on the length you want and cardboard available) and one or two smaller and shorter coupler sections that will snugly fit inside the outer sections.

Below, you’ll find a template which will help take some of the fiddly work out of construction. In addition, you’ll need some supplies:

  • Cardboard – 18-24” wide, and at least 15” long*
  • Straight-edge – Longer is generally better, though a standard ruler will work
  • Pencil/pen for marking
  • Hobby knife, box knife or similar
  • Dull butter knife, letter opener, or similar for scoring fold lines
  • Glue for paper – White PVA glue like Elmer’s is fine. I like Tacky Glue myself.
  • Rubber bands or tape (to secure while drying)

* This does not have to be a single piece 15” long – as long as you have 5” of usable cardboard, you can use multiple pieces for this! Couplers can be made from pieces as small as 8”x5”. Additionally, the “grain” of the cardboard (the direction the ribbing runs in) should be along the longest dimension.

Get the template here!

(Following are text-based instructions that go into more detail than the instructions included with the template. However, the template includes pretty pictures, so I highly suggest starting there!)

What we are making:

Two main pole sections assembled with a single coupler

First up, prepare the template:

Fold template as indicated

  1. Print the template and, optionally, the instructions. Print at 100% without scaling – this is very important!
  2. Fold the template in half where indicated. Since paper feeds and printer margins vary, this gives the template a known starting point for measurements. Try to get this fold pretty accurate.
  3. Familiarize yourself with the template: One side is for making the outer, main pole sections and has identical measurement lines on both ends. The other side is for making a coupler. The measurements for the coupler are different on each edge. Which edge you use depends on whether your cardboard is thin (1/8”) or thick (more than 1/8” but less than 1/4”). Be sure you use only the measurements on one end for making your couplers. Draw a big “X” through the end you aren’t using if you think you might confuse the two.

Next, mark off the cardboard:

Align the bottom of the folded template with the bottom of the cardboard.

  1. Align the folded edge of the template, main side up, with the bottom of the wide side of the cardboard.
  2. Mark each of the score and cut lines on either side of the template at several locations down the length of the cardboard. Be sure the marks are closer together than the length of your straight edge.
  3. Using your straight edge, connect the measurement lines so that you have 4 continuous lines down the length of the cardboard – three score lines and one cut line.

Then, Cut and fold the pole:

Score and cut as indicated.

  1. Using the straight edge and dull butter knife (or other scoring device), score along the three score lines. You want to dent into the cardboard, but not cut it. Try to keep the score from cutting through into the cardboard.
  2. Using the straight edge and sharp knife, cut the cardboard on the cut line.
  3. Fold the cardboard along all three score lines, toward the line. It can be very useful to bend these over the edge of a table or counter. The short flap can be challenging to fold, but try to keep the fold as straight as you can

Now, glue it up:

Fold all main sections and couplers with the short flap inside.

  1. Fold the pole into its final triangular tube shape, with the short flap inside the tube. Adjust any of the folds if you need to get it to make a nice, solid tube.
  2. Lightly unfold the tube, and apply a bead of glue down the short flap where it contacts the inside of the tube.
  3. Re-fold into the final shape and secure the tube with several rubber bands or tape. If using tape, consider its placement carefully as slick, plastic tape can be hard to keep hold of when you are marching down the street!

Repeat to make another outer tube and, using the other side of the template, a coupler. If you are using shorter cardboard and want a longer pole, you can make three outer tubes and two couplers. Be sure to make all couplers 8-12″ long to provide a solid fit.

Finally, fit it together:

Rotating the coupler can provide a good, snug fit.

  1. Once the glue is fully dry, push the coupler about a third of the way into the end of an outer pole. You may need to experiment with the rotation of the coupler and which end you insert first. This should be nice and snug, but no so tight that it pops the glue seams.
  2. Add another outer pole over the other end of the coupler.
  3. Once both outer tubes are partially inserted, carefully push them together until the coupler is fully engulfed in the outer tubes. Repeat with the additional coupler and tube if using.
  4. You can pull the tubes apart to collapse the pole for easier traveling.
  5. If the couplers start or become loose, you can wrap some tape around them to increase their size slightly. Masking and paper tape works great for this, but plastic and duct tapes can cause problems.

You can now mount signs to one of the flat surfaces of the pole with tape, glue or staples or save this step till you get to your event. With some extra engineering, you can also create a cross-bar that can be zip-tied across the top to mount non-rigid signs more easily. Just make an additional main section that’s the width of your sign, cut a receiving groove into the top of the main pole, and make some holes for the zip ties. If you’ll use this often, reinforce the holes with plastic tubing or similar.

This is a super-cheap, easy and effective way to bring back some of the dynamic and impressive stature seen in mass protests of the past. It’s obvious that the visual presentation of these actions is important to how they are covered and shared.

Please feel free to share this template and concept! I can’t wait to see more signs at protests, demonstrations and marches soon.

 

Please note that even though this pole is made completely of cardboard, which is explicitly allowed by police departments (Boston, for instance) there is no guarantee that you will be allowed to carry this at any particular event. For instance, when I attended the march protesting the “free speech rally” held in Boston just after Charlottesville, the event organizers declined to allow me to carry one of these. The police officers on site did not have an opinion, but the organizers wished to avoid any appearance whatsoever of weapons being present in the crowd. Luckily, since these are essentially free, it was easy for me to discard most of the pole and carry on with a shortened version on my sign.


Political Stickers – “Tax the Rich” and “$ ≠ 💬” (Money is Not Speech)

I’m not content to only theorize on the public messaging that I want to bring to the world. As is obvious by my Falsum Resist Guide and well-selling sticker and button designs, I have a need to make real, physical manifestations of my ideas. So, a few months ago I had some stickers made with simple but powerful slogans.

Strips of bulk stickers including two designs. One, square with white text on black reads "TAX THE RICH" The second, rectangular, reads "$ ≠ 💬"

First up, is a design that is an extension of my recently blogged Tax the Rich ad campaign for public awareness. These are simple 1.5×1.5″ stickers which are cheap and easy to apply to most anything. I have gifted hundreds of these to people across the country and have encountered many on signs and poles in my own neighborhoods. (Luckily, all of them have been responsibly placed so far!)

A sticker displaying "TAX THE RICH" on a lamp post along with other stickers.

The second sticker I recently created is intended to be an interesting way to proclaim that Money is Not Speech. Since the Citizens United Supreme Court decision, the influx of money into politics has only gotten worse. I do not believe that money is speech. In fact, I believe that commercial speech is harmful speech – the only kind that we routinely limit in this country. These stickers make the point with a simple three-character “sentence” including a fully custom speech bubble as I was not happy with any existing emoji or dingbats. I have also given away hundreds of these and they have received extremely positive feedback. I hope that this or similar shorthand will begin to appear in the messaging of the many groups dedicated to undoing the damage that the Citizens United ruling has had.

Sticker displaying "$ ≠ 💬" on the back of a sign among other stickers.
Sticker displaying "$ ≠ 💬" on the back of a sign among other stickers.
Sticker displaying "$ ≠ 💬" on the back of a sign among other stickers.


We shouldn’t have to wait for camera encryption

I recently completed a project wherein I built a proof-of-concept encrypting camera that included no changes to the essential hardware or user interface of the device, yet provided strong, on-the-fly encryption of digital photos. I want to discuss more about why I created that project.

I have been aware of the targeting of journalists for decades. This is certainly not new – leaders of all kinds of organizations have known that keeping information out of the public view is how power is amassed and retained. Stories of journalists detained, and even killed, existed in my childhood. The Committee to Protect Journalists counts 1237 journalists killed since 1992.

Throughout this time, the raw information collected by journalists has also been a target. The seizing of cameras and notebooks is not a new phenomenon. The difference today is in the magnitude of information that is captured by journalists and the difficulty in securing it against seizure. Not only that, but the very equipment that journalists have come to rely upon can betray them in ways that notebooks and film cameras never could. We no longer expect journalists to return from the field with a couple of notebooks and a few rolls of film, but rather with hours of video and audio recordings, detailed location information, and thousands of high-resolution photos of their sources. To capture and store this information, journalists rely on a lot of technological equipment.

Yet the industries that provide this equipment are stubbornly behind in providing what should be considered routine and minimal capabilities to protect users, including journalists.

I was fortunate enough to attend MIT Media Lab’s Forbidden Research conference last year during which Andrew “bunnie” Huang and Edward Snowden released their initial research into better tools for monitoring cell phone transmissions. (It is possible for some phones, even in an “off” state, to transmit wireless signals.) One of the inspirations for this work was the tragic story of Marie Colvin.

Marie was a journalist in Syria preparing to report about attacks on civilian targets near the city of Homs. She and photographer Remi Ochlik were killed when radio emissions from their electronic devices, including cell phones, were used to find and target their camp with artillery. This deliberate, state-directed act against a journalist really made clear how the vast amounts of technology that have become mainstays of the journalist have also substantially increased the risk they take.

While I may not be able to do much about rogue wireless transmissions (other than to remind everyone to carry a good faraday bag), I do think I can shed a little light on how direct the path to better encryption on cameras is. As a letter, published by the Freedom of the Press Foundation and signed by 150 documentary filmmakers and photojournalists says, many manufacturers of electronic equipment have begun to implement strong, useful encryption on devices, putting the notes and other content gathered by journalists beyond the reach of those who may want to use it nefariously. However, in the area of high-quality, professional cameras, no on-the-fly encryption is currently available.

This is, simply, not an excusable state. There are no good excuses for Canon, Nikon, Sony, Fuji, Olympus and others not to have added real-time encryption by now. The professional cameras offered by these companies contain very fast processing chips, and while the pursuit of faster frame rates and quicker focus is to be lauded, to not give users the choice to trade some of that performance for basic safety is pernicious.

The driving factor behind why I created my proof of concept encrypting camera is to show that it is possible to retrofit current camera models – even those on the market for years – with strong, easy-to-use encryption without hardware or user interface updates required. I want to show that it is not technical limitations preventing camera vendors from producing these devices but rather an unwillingness to provide the technology that keeps our journalists (and others) in unnecessary danger.

Cameras are seized all the time throughout the world, and with every seizure both the journalist and their sources are endangered. The Committee to Protect Journalists tells Freedom of the Press Foundation:

“Confiscating the cameras of photojournalists is a blatant attempt to silence and intimidate them, yet such attacks are so common that we could not realistically track all these incidents. The unfortunate truth is that photojournalists are regularly targeted and threatened as they seek to document and bear witness, but there is little they can do to protect their equipment and their photos.”

I am tired of waiting for companies to decide adding encryption is a commercially viable feature. I’m tired of companies actively endangering the lives of journalists when this problem that is as old as photojournalism itself can finally be solved. While the best user experience may, indeed require hardware updates, camera vendors can fix this problem now, with a software update alone, so don’t believe any of them that claim there is a major technological hurdle to jump. Don’t believe them when they say you must buy a pricey new model to get these features when they eventually do show up. These cameras can offer encryption today, and vendors should be racing to provide it.

 

Note: Look, cryptography can be complex and getting it right requires time and care, I fully understand this. Additionally, retrofitting a custom processor for new tasks can be problematic and may not result in the best possible performance. However, my research indicates that the custom processors in digital cameras may be well-suited to encryption tasks, even though there will certainly be a substantial performance penalty to pay initially. This is not an excuse for not offering the security and safety of a software update enabling real-time encryption for, at a minimum, still photos to those who are willing to make the trade-off.


Automatic Encrypting Camera Proof-of-Concept

A collage including people icons in the upper right, a camera icon with a compute chip and key icon included, and an old-style photograph with the image replaced by random text representing an encrypted photo.A few months ago, I ran across a post at Boing Boing by Cory Doctorow in which he relayed the desire of journalists to have cameras that would encrypt images on the fly. The uses for this are many and can protect journalists and also, crucially, those the journalist has documented. Siezed images can be used against people by governments and other agencies. It seemed a pretty sound idea to me.
The post imagines the requirement for new user interfaces on cameras to allow the entering of passphrases and the like. While certainly I don’t think that would be a bad idea, the format of dedicated digital cameras does make it a challenge. Small screens are prone to typing errors when using touch-screen keyboards and the small form factor of most dedicated cameras limit hardware input options. However, what immediately struck me was that no changes really need to be made at all, as long as one crucial trade-off is accepted: not being able to review images on-camera.
Since public key cryptography feels well-suited to the task of encrypting images on the fly, I imagined an interfaceless update to existing cameras that would provide strong encryption but without the need to enter a passphrase or any other information. It is, effectively, transparent.

Here is the system I imagined:

  1. Use a well-known (and thoroughtly vetted) public key crypto package on a computer to generate a keypair
  2. Copy the public key to the removable media used by the camera
  3. Insert the media in the camera, which imports the public key included thereon
  4. All images taken by the camera and written to the media will be encypted by the key included on that media
  5. The key is purged from the camera when the media is removed

In this system, the camera never writes an image to storage without first encrypting it. There is nothing for other parties to recover from the media apart from the strongly encrypted images and the public key – which cannot be used to decrypt the images stored. This does bring up the one tradeoff I mentioned previously – there is no way to view any of the images taken on camera. In practice this should not be too difficult to live with as taking lots of shots to be sure a good one is captured has become standard practice, but certainly this could be an unacceptable tradeoff in some situations.

 

Theory is all well and good, but I wanted to see if this system could be realized in the flesh. Since affordable prototyping platforms abound these days, I decided to build a proof of concept encrypting digital camera.

First, I chose a platform – this was a very easy decision. I went with the Raspberry Pi as it is readily available, has substantial online resources available for it, it very cost effective, and supports a native camera device. It ended up being particularly wonderful that Adafruit (an online retailer of electronics) also had a tutorial and software available to turn the Pi into a ready-to-use point-and-shoot camera — that made this a relatively straightforward project.

A clear plastic box containing a circuit board and camera. A power cable is attached to the top and a removable USB drive to the side.

The Raspberry Pi 3 with camera mounted in a case from Adafruit

Step one was getting the hardware. As I live in the Boston area, I’m lucky enough to have a Micro Center local to me which carried everything I needed. (I used the BOM from Adafruit’s camera build.)

  • Raspberry Pi 3 (the faster processor is good for prototyping and encryption, but a Zero might work)
  • Adafruit touch screen
  • Nifty case for the screen+Pi
  • Pi camera w/cable
  • 64GB USB flash drive (I used one with an A and micro-B connector so it could be tested with a Zero in the future – one could also use an SD card reader with card.)
A black plastic case with an opening for a 2.3" touch screen displaying a "gear" and "play" icon. Four hardware buttons are on the right of the case, a USB drive is attached on the left and a power cable is attached on the top.

The back of the Adafruit case with their touch screen installed displaying the camera UI developed for the linked tutorial.

From there, I simply followed Adafruit’s tutorial until I had a working digital camera. If you’d like to build one of these for yourself, follow Adafruit’s build and then come back for the rest.

Please note that this is intentionally not a detailed tutorial. This is a proof-of-concept project and it is not audited or secured in any way. If you need the protection of an encrypting camera, you’ll need to understand it deeper than following a recipe allows. However, below is a discussion of the steps I followed to implement the camera along with snippets of my custom code. With work and understanding, you’ll be able to re-create my project.

Once I had the camera working, I needed to identify how I would have the system perform the encryption. I chose GPG (Gnu Privacy Guard) because it is well-vetted, available for every platform, includes a Python library (conveniently, the camera software is Python) and already familiar to many. I installed GPG on my laptop and on the Pi and performed a few excercies to familiarize myself with the tool, such as generating, exporting, and importing keys, and encrypting/decrypting files between systems. Once I was comfortable, it was time to automate things on the Pi.

I installed the usbmount library on the pi and created a mount script for my USB device in /etc/usbmount/mount.d. Usbmount allows the system to automatically run a script when a specific USB device or class of device is inserted or removed. An included script ensures that the flash drive is always mounted at /etc/usb0 so I can make sure to put images in the right place. My custom script then automatically imports a GPG key from the “key.asc” file found on the drive into a known GPG homedir. That way the camera script has the key available in a known location later. In addition, I created an unmount script that removes the key from the system once the drive is removed.

Mount Script
#!/bin/sh
mkdir /tmp/gnupg
export GNUPGHOME=/tmp/gnupg
gpg --import /media/usb0/key.asc
gpg --list-keys --with-colons 2>/dev/null| awk -F: /^pub/{print\$5} > /tmp/gnupg/keyid
exit 0
Unmount Script
#!/bin/sh
rm /tmp/gnupg/*
exit 0

After a few rounds of testing, I was ultimately happy that this solution was reasonably robust. To get the key onto the camera, one only has to export it from GPG into “key.asc” and place it in the root of the media. Every drive/card could have a different key if needed, and all could be prepared ahead of time. (In fact, the system containing the private key need not even be in the same country as the camera or even available to the camera user!)

Next, I needed to modify the camera script that was installed as part of the Adafruit tutorial. This turned out to be pretty straightforward. (Though there was a bit of trial-and-error getting the python gnupg package to properly encrypt.) Ultimately, I simply needed to intercept the saving of the image to camera, run the in-memory image through the encryption package instead, and redirect the output to the configured USB drive. Just a few lines of code (mostly to import and configure python-gpg) were needed. Note that I did not take the time to disable alternate saving methods like Dropbox, and I did not test what happens should one try to use them with my script modifications.

#At the top of the file with the other imports:
import gnupg

#I modified the array (~line 260) used to direct where images are stored this way:
pathData = [
 '/media/usb0/DCIM', # Path for storeMode = 0 (Removable Media)
 '/boot/DCIM/CANON999', # Path for storeMode = 1 (Boot partition)
 '/home/pi/Photos'] # Path for storeMode = 2 (Dropbox)
]

#In the takePicture() routine (about line 450) I added these GPG-related lines to
# read the key ID that the usbmount script helpfully stored for us:
gpg = gnupg.GPG(gnupghome = '/tmp/gnupg')
 infile = open('/tmp/gnupg/keyid', 'r')
 gpgTempKey = infile.read()
 gpgKeyID2 = gpgTempKey.rstrip('\n')

#A little further down in takePicture() I intercepted the camera capture
# and writing commands and replaced with this:
camera.capture(camera_image, 'jpeg')
#I found gpg.encrypt didn't play well with the BytesIO() object
temp_image = camera_image.getvalue() 
#encrypts and automatically writes the output to filename
encrypted_image = gpg.encrypt(temp_image,gpgKeyID2,always_trust=True, output=filename) 

A photo inside a building including part of a table-top in the foreground with a wood door and glass door in the background a few feet away.

This haphazard photo of the inside of the Democracy Center in Cambridge, MA was the first encrypted photo to be taken with my camera.

Finally, I had a working Encrypting Digital Camera! Whenever I insert media in the camera that contains a valid GPG key in a file called “key.asc” the camera then begins to encrypt every image taken until the media is removed. On my computer, I can then use the private key (protected by a passphrase) to decrypt the images on the command line and I’m left with pristine* jpgs! (*Well, 8MP noisy JPGs but that’s a function of the mediocre Pi camera, not the encryption!) It’s not exactly fast, though. It took approximately 6-10 seconds to encrypt and write the JPG to disk. Of course, this is a low-powered processor and a single-threaded encryption engine. It is, however, a very successful proof that this system can work.

I have shown that with minimal software changes, cameras can support robust encryption with no changes to user interface at all. I would hope that we see commercial camera producers consider integrating a system like this in the near future. Additionally, I have to wonder if third-party firmware updates (like CHKDSK for Canon cameras) could add such support. At worst, with some effort, platforms like the Raspberry Pi could offer a decent starting point. Of course speed may be an issue until dedicated encryption hardware is added to cameras. I am unclear as to how well-suited the DSP custom processors found in digital cameras could be adapted for encryption tasks (possibly very well!) but in the near future, retrofit software would probably preclude the super-fast capture rates that professional photographers have come to expect.

Now, for the BIG HUGE DISCLAIMER: This is a PROOF OF CONCEPT. While I’m providing some code snippits here so that others can recreate my work, it’s super important that everyone understand that this project has not be audited or vetted by security professionals, nor was it created with the intention of being used in the field. It’s possible that this project could give some level of protection as-is, but it’s also possible that there are glaring errors that would erase any gains or even exacerbate the situation you may be trying to avoid. Please don’t use this in production! (As a note, I have made no attempt to harden the Pi against access, for instance via wifi, ethernet, or USB. It could be trivial to circumvent the entire encryption system via these vectors.)


« Previous Entries

Powered by WordPress | Designed by Elegant Themes

Pin It on Pinterest