September 21, 2019

NYC’s Climate March

News cameras cover the front of the march as volunteers in vests clear the way

“Cool kids saving a hot planet”

“Wake up!” – Cops mill around as the march pauses for a moment

“Exxon guilty for murder” – Concerned young faces shaded by protest signs held aloft

“Global climate strike” “We will not be silent” “Youth rise up” “Later is too late” – a noisy contingent of the climate march chants as they wave their plentiful signs

“There is no planet B”

A pair of young protesters leads the crowd in a chant before the police can come to shoo them off the garbage cans

“The planet isn’t dying it’s being killed”

“You’ve made middle schoolers angry / You’ve crossed the line”

Three young women lead a contingent of scientists in the climate march

People and signs filled the New York streets on a hot September day

“Green new deal”

New York’s Climate Strike March passes by as the Freedom Tower shines in the background

August 18, 2019 11 min read

Linocut printing for a bright future

I have made my income using computers for my entire adult life. Designing graphics, writing code, and making websites. I think a lot about what would happen if our world suddenly shifted (for any variety of reasons) and we lost our easy access to computers or the internet.

Put bluntly; when the apocalypse comes, will I be good for anything?

One could make the argument that I have gotten good practice organizing teams of people to accomplish things. Whether that thing is a website or a new well for the village doesn’t really matter.

Most endeavors require making lists, planning, organizing, convincing stakeholders, and building consensus. Those things will be handy whether computers exist or not. (Right?)

Through some combination of Red Dead Redemption and this decade’s resurged interest in hand-painted lettering a thought struck me: signs. No matter what happens in our world, we will almost definitely need signage. “Rice/corn traders 1 mile”, “farmer’s market Saturday”, “don’t go over there that guy is crazy”, “Moonshine for sale”, “museum of the fall of mankind” or whatever.

As a result I’ve been experimenting with different methods of distributing information with analog methods. The easiest and most common is graffiti. People have been writing what they think (more often, their names) on walls in New York for a long time. A phrase written large enough in the right spot in the city can be seen by thousands of people in a day, no electricity required.

The same way some people stock up on rice and beans and ammo I’ve been stocking up on linoleum, ink, and chisels.

Linocut printing is a really interesting medium to me as a means for the easy distribution of information and imagery. It has a long history of successful usage. Descending from a long lineage of woodblock printing used by a range of printers from medieval monks illustrating their bibles to Japanese artisans depicting elaborate samurais and mountain views. The desired image is painstakingly carved into wood– in reverse. Ink is applied, covering only the uncarved parts of the wood. Paper is laid on top and gently rubbed, absorbing the shape of the image.

The advent of linoleum- a robust material that is much easier to carve than wood- results in better curves, more detail, and quicker carving.

I grew up in a house filled with posters from Bread & Puppet. The aesthetic is also prevalent in the patches or pins I would get at the anarchist book fair. Everything is a little squared off and angular, proportions are sometimes a little off to aid with carving. They are always simple, with a lot of contrast. They are often icons, very clear-cut and identifiable. The medium requires that you boil things down until you are only left with the necessary.

Unlike a drawing, you can make as many copies as you have ink, paper, and patience. This is a powerful technology.

In a world different but very similar to ours I can imagine that our networks have been broken and we are left to fend for ourselves, city by city and town by town. I have a lot of faith in my neighbors. I have seen people stand up and do amazing things, thankless anonymous generosity when the city needs to come together. I grew up listening to these stories about Manhattan on 9/11. I was older and understood better when reading news reports about the aftermath of Sandy, when individuals in the city were left to fend for themselves. And I saw it myself, in brief spurts, in Occupy encampments in Oakland and New York, where food and medic tents were always available.

“Medic”, “Water here”, we always need signs is what I’m saying.

Making a linocut

Creating your image

The easiest method I have found for creating an image that you want to print by hand is to start the drawing on tracing paper. It is cheap, plentiful, and to iterate you can lay one sheet over the other. You can rearrange things slightly until everything is proportioned to your liking. (You can also use a projector to project the image onto your tracing paper or the reversed image directly onto the linoleum)

The design for the 30th anniversary print, created in Illustrator for easy iteration and reversing

Once I am happy with the design I retrace over the outlines pressing hard with a soft pencil. When the tracing paper is flipped and laid on top of the linoleum you can see the reversed design. The pencil side is touching the block, so you can carefully rub on your outlines. This leaves an imprint of the lines and you hope that enough pencil residue is left that you can properly trace them.

Each of these steps is a little “lossy” as they say, every re-tracing of your form simplifies and alters it slightly. I see this is a net benefit, a gift of the medium. Embrace the fact you have 3-4 chances to alter things slightly– just so– to suit your vision.

Once I have retraced in pencil, I will make any adjustments (I can still erase at this point!) looking at it for a while. Once I can’t look at it anymore I’ll start going over my lines with a thick sharpie. Thin sharpies can lead you to create thin intricate designs that might not actually be accomplishable for a beginner.

Carving

I fill in all of my shapes so that I can disconnect my mind and follow a simple rule. If it’s the color of the linoleum: carve. If it’s a color: don’t carve.

Speaking of disconnecting one’s mind, this is arguably the best part of the whole process. In creative work, I find the most rewarding parts are when I can get into a state of flow. Carving out linoleum is the cheapest and quickest way to reliably achieve that feeling of flow, at least for me.

You focus on very mechanical and physical things; the placement of your fingers, the angle of the linoleum, the millimeter between your blade and the line it’s supposed to be following. These thoughts fill your head, leaving little room for the anxieties that regularly occupy your mind.

By the way, the carving process takes a while. On a recent 11 x 18 poster-sized project, I forgot exactly how long and ended up carving from noon to 10pm on day one, and 10am to 6pm on day two. That is not very long to create an object that can be used to distribute information in huge quantities without electricity but it’s not a short amount of time either.

The carving stage, starting with smaller blades and working up to wider scoops for big areas. Ideally carving in the same direction maintains consistency and looks better, but it isn’t always possible.

This leads one to think very deeply and carefully about the things that deserve being committed to linoleum. If it took two days to carve out your 280 characters on twitter it would likely be a very different place. This is another gift of the medium.

The method of distribution is shaping the content. It simplifies it (it is easier to carve one word than two, so it is worth the time to think of that superior word) and it clarifies it- in intent, design, form, and execution. Every step is pushing towards simplicity, whether the creator wants it or not. That is a powerful type of medium that is hard to explain– I hope I am doing it justice.

Modern photographers have explored a similar phenomena with film. In a world where, unlike our grandfathers, we can shoot 10 photos a second in continuous bursts and then sort through them for the best photo later- is there really a “decisive moment”?

Film, on the other hand, has it’s inherent god-given limits. There are 36 shots on this roll. They are in black and white. If you aren’t focused or your settings aren’t right you aren’t going to know about it until later and there isn’t shit you can do about it then. So it pays to think ahead and plan and practice your craft and execute at exactly the right time.

I don’t think that is necessarily a better way to create, but it is undeniably a different way. It produces different work. Creating good work is sometimes simply making things differently than the current fads in lighting or composition or subject. If you had to go to the darkroom every time you wanted to post to instagram, it would be very different (but maybe not better!)

Printing

The process of printing a linocut, once you have assembled your mise en place, is astoundingly easy and efficient. I have also done the field research and the entire process of laying out ink, laying the paper, rubbing it, and slowly unpeeling the print can be conducted by a reasonably intelligent child. I say this as a form of the strongest encouragement to try it yourself.

A few prints on watercolor drying on the clothesline

The linocut I had created- the largest one I’ve done yet– was created for the 30th anniversary of the summer camp owns and runs in New York’s Hudson Valley. I attended my entire childhood and made lifelong friends there. The 30th anniversary seemed like the type of thing that would make the cut (sorry) for committing to a physical form. I also thought it would be cool for people to print their own posters– each one comes out one of a kind (just like us, aw!).

You spread the ink out on a very flat and smooth surface- I bought a speedball device that doubles as a hook for your desk, holding the linoleum close without you having to hold it from slipping (very handy).

I got some color speedball block ink in tubes from the local art store, Bushwick Artist’s Supply, aka the best art store I have ever set foot in. They have everything I could ever want in a manic creative frenzy from clear elmer’s glue to circular watercolor paper to mack brushes and 1-shot lettering enamel.

You put down a big splotch of yellow and big splotch of blue and start rolling them out. It is fun to watch the color blend and everyone who printed their own enjoyed mixing the inks.

Depending on how you load the brayer and lay the ink down you get a different result. Lots of blending of the colors gets a bright forest green. A more relaxed and gentle roller might get discrete sections of yellow and blue that blend while drying and look amazing. It is hard to do wrong.

Because the prints are so easy to make, as long as the paper is relatively inexpensive, I try not to be too precious about each individual poster. If something goes wrong we can easily make another. One person moved their poster around after laying it down and ended up with a final result that looked like a shadow effect of the text which looked awesome. This is a medium that rewards synchronistic “mistakes”.

The best method I found for drying is clothespins and a line. Real printers have cool drying racks and elaborate lever setups for this- but I did all of my printing outdoors and did my best to keep things simple.

I was amazed at the speed with which I could start turning out prints. Arriving with a shoebox containing the ink, the roller, the ink surface, the linocut and some paper I just needed to find a flat surface. It takes about 2 minutes to lay everything out and to put down newspaper for spills. Another 2 minutes to get the ink ready, and you are likely making prints anywhere in the world without electricity in less than 5 minutes.

Plus, it draws a crowd. People seem to have an innate respect for any message that comes from a physical process. Once you explain the carving they look again, tracing the letters with their fingers and imagining the time and work that went into bringing them into existence.

It was a really interesting experience watch children make prints. They would lay down the ink and then together, we would line the paper up, with them carefully pulling things into symmetry. As you rub the paper you can begin to see the shapes of the letters emerge, and I taught them to carefully check and go over any areas that looked like they needed more work.

As they lifted the print up they all smiled. They had a clear sense of making a physical object. They had put the work in and all of their choices and mistakes were reflected in their creation. I really liked that they got that without even needing to carve it. It comes from putting the work into making something exist that didn’t exist before.

August 15, 2019

Hong Kong Protest Techniques

  • Traffic cones - to help contain tear gas cannisters
  • Suitcases (as defenses)
  • Water bottles
  • Laser pointers
  • Breaking bricks
  • Using slingshots
  • Transporting divider fencing
  • Extinguishing tear gas with traffic cones and metal bowls
  • Makeshift armor: saran wrap, garbage can lids, luggage = shields
  • Organization - human supply chain lines
  • Hand signals for when supplies are needed
  • Parting crowds for ambulances
  • Anonymous, leaderless
  • Airdrop and signal/telegram chats for organization
  • “Be like water” move quickly instead of occupying a single location
  • Using trains and public transit to move quickly
  • Hiding identity through laser pointers and spray paint aimed at security cameras
  • Single-use transit tickets for untracked public transit
August 05, 2019 3 min read

Always Have Two Reasons for Something

I will never go to the grocery store because I simply need milk. I will wait until I need milk and bread.

If I am traveling a long distance, I will always try and stack up as many reasons as possible to make the journey.

I think partially I am optimizing my time. But part of it is a fervently-held unquestioned belief that having only one reason to do a thing is not enough. If something is meant to happen the universe will align to make it easier. It will poke and nudge you again in a thousand tiny imperceptible ways.

Part of waiting for two reasons for something is a more sensitive observation of the flow of the things around us. It is easier to flow in the direction that synchronicity pushes you if you are attuned to the small fluctuations and signals that can help you divine one action over another (or no action at all).

I live in Brooklyn, and I don’t think I will ever go to Manhattan just to visit one store, or see one friend. I will always stack up another thing– a task that has been patiently waiting for another Manhattan-related task to come along –and combine them, ravenously, delighting in my efficiency. It feels so good to do two things at once!

Imagine the amount of time I’ve saved instead of doing these things one by one! Some order-oriented demon inside me groans in pleasure.

I realize this is not the worldview of a healthy “be here now”-oriented person living truly “in the moment”. I am inspired by all of you impulse-driven free spirits who surf radically on the vibes of the moment and go wherever that takes you, minute by minute.

Instead I live by mechanisms I designed long ago to make sure my time isn’t wasted. Over the years these mechanisms have been honed down into rituals that I repeat for reasons I have forgotten. My own inexplicable personal religion.

Late at night, after a party, a friend is walking home. “Where do you live?” I ask, fortuitously. She answers with a neighborhood far from my own, but that lines up with a previous impulse, bottled up by the two-reason rule. “Oh, cool, I’ve been meaning to check out a store over there. I’ll walk with you.” and in this, the two-reason gods have not only been satisfied, but have steered me towards a better path. One that I may not have taken otherwise. Something mystical and imperceptible aligned in that moment, and it is on me to notice them and seize them. (That is the key to life, no?)

June 14, 2019 2 min read

Taking things for granted

One of the traits I get most annoyed at myself about is taking things for granted. It is a pernicious vice. It is very easy to do without thinking. It is, in some ways, built into our DNA as humans. To expect that the sun will always rise, grass will always be green, and our favorite coffeeshop will always be on the corner to make the perfect cup of coffee in the morning. Oh wait, shit. No, the coffee shop is gone. You loved it, but you still took it for granted.

The same could also be said for the friendships we make. I think a lot of my annoyance with some people and the way they approach friendship in adulthood is based in this belief. Some people expect that things will always be the same. They seemingly think that you will always have time in the future. That you will live in geographic similar places that facilitate hanging out and helping those relationships survive. I am most grateful to my friends who find time to facetime or visit despite busy schedules.

Taking things for granted comes into sharp relief when someone close to you dies. You realize the ways in which you took for granted their presence in the world.

Sometimes people are taken way too early, by chance, or by evil, and all of the plans for different futures you had made together evaporate. In my worst moments, this makes me hate myself and anyone else who takes people for granted. It makes me hate anyone who acts as if we will be here tomorrow. They don’t know that. None of us know that.

June 13, 2019 2 min read

Movies to Watch

For a variety of reasons there are many movies that I have not seen. Often in conversation, these movies will come up and people will say “you haven’t seen that?” and I feel pangs of guilt.

This is a list of all of those movies, cultural touchstones, that I should probably get around to watching at some point.

Wish me luck.

  • The Godfather 1
  • The Godfather 2
  • Mulholland drive (1999)
  • --Annie hall--
  • Duck soup
  • Idiocracy
  • The Third Man
  • Groundhog day
  • The Shining
  • The great Gatsby
  • Schindler’s List
  • Pulp Fiction
  • The Good, the Bad and the Ugly
  • Fight Club
  • One Flew Over the Cuckoos Nest
  • Seven Samurai
  • The Silence of the Lambs
  • Wild Strawberries
  • Vertigo
  • The seventh seal
  • Rashomon (1950)
  • Eraser head (1977)
  • The Graduate (1967)
  • Network (1976)
  • There will be blood
  • Requiem for a dream
  • Bicycle thieves (1948)
  • Aguirre, the Wrath of God
  • Apocalypse Now
  • Singing in the rain
  • Troll 2 (1990)
  • Life is Beautiful
  • American History X
  • Spirited Away
  • Psycho
  • This Is Spinal Tap
  • Beasts of the Southern Wild
  • Bottle Rocket
  • The Crying Game
  • Safe
  • Metropolitan (1990)
  • My Own Private Idaho
  • Eternal Sunshine of the Spotless Mind
  • Gummo
  • Requiem for a Dream
  • Swingers
  • Two-Lane Blacktop (1971)
  • Memento
  • Lost in Translation
  • She’s Gotta Have It
  • Reservoir Dogs
  • Metropolis (1927)
  • Nosferatu (1922)
  • Army of Shadows (1969)
  • I Am Not Your Negro (2017)
  • Life Itself (2014)
  • Deliver Us from Evil (2006)
  • Seymour: An Introduction
  • Rebel Without A Cause
  • A Fistful Of Dollars (1964)
  • Sunrise (1927)
  • Bringing up baby (1938)
  • The day the earth stood still
  • 8 1/2 (1963)
  • The Cabinet of Dr Caligari (1920)
  • The Phantom Carriage (1921)
  • The Gold Rush (1925)
  • The Oyster Princess (1919)
  • Sherlock Jr. (1924)
  • Man With A Movie Camera (1929)
  • An Andalusian Dog (1928)
  • Rosemarys Baby
June 12, 2019 2 min read

Step Zero

This can also be called mise en place. It’s a concept from cooking that describes advanced preparation for a meal. You cut your onions and carrots beforehand and keep them in an accessible place. You gather all the spices you will need. You make your sauces.

You’re still not making the meal- you’re doing everything but. You are preparing for the optimal moment. When your friends (or customers) arrive you assemble the dish. Everything is ready.

With the right preparation it is much easier to enter a flow state where everything just comes together. It can be beautiful to experience, even as a spectator. I spend a lot of time searching out different creative ways of reaching that state.

You aren’t worried about where the salt is (it’s placed perfectly within arm’s reach). That would pull you out of your flow.

When talking to friends about ideas or projects, I often find myself saying some version of “well the step zero for that is…” by which I mean, the task(s) that precede the actual task.1 All the work that comes before even beginning.

With the right preparation not only can you accomplish the task better, but you can enjoy yourself more as you do it.

Footnotes

  1. As Carl Sagan said “If you wish to make an apple pie from scratch, you must first invent the universe.”
March 25, 2019 3 min read

Attempting to find unsecured ICE cameras

A friend DMs me on Twitter:

yo, you know how security cameras are sometimes open feeds on the internet? is there any chance ICE fucked up in this very specific way at a facility?

That sounds very plausible. Let’s give it a try. Webcam scanning with Shodan is a pretty well-known technique at this point. I’m not very familiar with it, so it’s time to learn.

First idea: IP ranges

With cursory knowledge, it seemed like the best approach would be to feed Shodan an IP range for the state of Texas (or other Mexico-border states) and then look through the resulting webcams by hand for anything that looks like a prison, holding facility, or government institution.

To do this, first you would need to find IP ranges for the state of Texas

The first thing that jumps out to me is El Paso, home to the ICE El Paso Processing Center where a Honduran migrant died in late May.

El Paso: 12.162.129.0 - 12.162.129.255

Better idea: query by latitude and longitude

But then I started doing more research on how to use shodan, and found a great guide:

How to Find Vulnerable Webcams Across the Globe Using Shodan

Shodan even enables us to be very specific in searching for web-enabled devices. In some cases, we can specify the longitude and latitude of the devices we want to find. In this case, we will be looking for WebcamXP cameras at the longitude and latitude (-37.81, 144.96) of the city of Melbourne, Australia. When we search, we get a list of every WebcamXP at those coordinates on the globe. We must use the keyword geo followed by the longitude and latitude. webcamxp geo: -37.81,144.96

Oh! I don’t need to use IP ranges at all. I can just feed latitudes and longitudes directly into my searches.

Now, we need a geocoded list of every ICE facility. Luckily, I’ve already done that based on data released in response to a FOIA from Immigrant Justice. This data is hosted on a wikipedia-style site I created for open source information related to ICE.

This excellent resource on manipulating CSVs with the command line teaches us:

Specific columns can also be easily extracted from CSVs. For example, if we wanted to extract columns 2, 4, 5, and 6 from input.csv: cut -d , -f 2,4-6 input.csv

How do you use CSV lines as command parameters?

Shodan CLI

The first example in the Shodan CLI documentation is shodan count microsoft iis 6.0 which returns 5310594

What we want to do is go through our list of ICE facilities and do shodan scans of their longitude/latitude.

Using the shodan CLI, it should be possible to automate this a bit.

Basically we want to parse our CSV of every facility, pull out the latitude and longitude of that facility, feed that to shodan, run our search, and save the results to a file where we can go back and look for any results (anything besides a 0).

We want our results to look something like this:

latlngresults
0.00.00
0.00.00
0.00.00
0.00.01
0.00.00

This article, helpfully, gives us a list of webcam brands to search for:

  • ACTi
  • Axis
  • Cisco
  • Grandstream
  • IQinVision
  • Mobotix
  • Panasonic
  • Samsung Electronics
  • Samsung Techwin
  • Sony
  • TRENDnet
  • Toshiba
  • Vivotek
  • WebcamXP

Unfortunately I did not find anything. After running through all of these manufacturers and a number of locations, then combing through the results by hand, I did not locate any unsecured webcams of interest to this particular search.

Additional Resources

List of webcam default usernames / passwords

March 20, 2019 5 min read

How I prototype apps and dataviz quickly

I’ve been really enjoying using Vue as a framework for my javascript applications. It allows me to quickly and easily lay out my data structure, some DOM-elements that are controlled by data, and handle any interactions / application state stuff I might need.

In years past, my development workflow usually started with me cloning my @ejfox/starter project, which has gulp, webpack, and a handful of other useful frameworks for making things quickly already set up.

Now, since it’s upgrade to 3.0, I pretty much exclusively use > vue create project-name which gives you a little CLI wizard to create a new Vue project. Importantly, you can manually select the features you want and create your own project defaults.

Mine, for example, automatically pulls in the Router, Vuex, Linter, and Stylus.

I recorded a video of myself spinning up a prototype of a D3 force layout using the techniques I describe below, it’s around 90 minutes but you can tell YouTube to play it double-speed and click around - if you’re curious.

Pulling in data

In my old starter project, I would pull in data with d3.queue which was super easy and very little code.

With Vue as my default framework, I’ve moved over to using the pattern of using axios to update objects in the component’s data which is also super easy and very little code. Check out this super-simple example of axios+vue which powers ejfox.com/vibes.

When I’m pulling data from an API, it’s as simple as setting up the keys, building the API call, looking at the returned data in the Vue Chrome Devtools Inspector, and then building out the DOM elements with Vue’s v-if and v-for directives.

Combining Vue and D3 for dataviz

Part of the reason that I really like using Vue is that it meshes with my understanding of D3, which I use to create a majority of my data visualization work both personally and professionally.

Vue makes it so that we no longer need our old, trusty friend d3.select().enter().append().exit() to bind data to various DOM elements, since Vue is doing it for us.

Before Vue, I would have an SVG already on the page and do something like

const svg = d3.select("svg");
const circles = d3
  .selectAll("circle")
  .data(myData)
  .enter()
  .append("circle")
  .attr((d) => {
    return {
      r: d.radius,
      cx: d.x,
      cy: d.y,
    };
  });

But now with Vue, I just use the HTML declarations in the template like - because of the built-in reactivity, when the data changes the DOM elements are updated. No need for the old D3 select, enter, append pattern.

<svg>
  <circle
    v-for="circle in myData"
    :r="circle.radius"
    :cx="circle.x"
    :cy="circle.y"
  />
</svg>

I still use a ton of D3 functions though, topojson-client, all the D3 number and color scales, force layouts, etc.

Animating entering/exiting

If I want to fade elements in and out like you would do with d3.select(selection).enter().transition(t).style(‘opacity’, 1) I’ve been using animate.css in combination with Vue’s custom transition classes. So I’ll do something like

<circle
  v-for="circle in myData"
  enter-active-class="animated fadeIn"
  leave-active-class="animated fadeOut"
/>

It’s also easy enough to use this same pattern with custom-made CSS transitions or animations, but I don’t find myself doing that too often.

Database and user authentication

Over the past 3 months or so, I’ve fallen head over heels for the combination of Vue and Firestore via the vue-firestore Vue binding. You set up your Firebase app, plug in all your auth keys, and then bind data objects to firestore collections. This binding is instantaneous and reactive, so if your Vue template references an object that is bound to a collection, the page automatically updates if an item is added, removed, or changed in firestore. You don’t have to do anything different. It feels like magic.

So far for me Vue + Firestore has been fast, easy, and scalable. It reminds me of working with Meteor.js way back when.

Deploying

I’ve been really enjoying using Netlify, and the Netlify CLI makes things even easier and faster. Once I’m ready to show someone what I’ve been working on, I just do npm run build; netlify deploy —dir=dist and the CLI walks me through creating a URL.

If I end up working on a project for a few days, I’ll go ahead and set up Netlify’s continuous deployment with a GitHub repo so that every time I push to master netlify automatically re-builds production from the latest commit.

It doesn’t happen that often, but if I want to go even further, it is super easy to just buy a domain name from Namecheap and point it at the Netlify DNS servers. Netlify delivers websites incredibly fast, especially combined with Nuxt.

If I need to host really big files that I don’t want to put into a git repo, I’ll put them on S3 and reference the uploaded URLs in the project. I’ve also been experimenting with using Cloudinary for hosting my images.

From start to finish, I can do everything described in this guide in about 30 minutes.

The lack of friction with this workflow causes me to try and start new things more often. This is really important to me right now as I experiment with different technologies and approaches. I have definitely had ideas and hesitated to start giving them a try because I knew I would need to spin up a new project, set up my IDE, etc. Code that exists is better than a good idea. I’d rather have a dozen half-built prototypes than a hundred good ideas.

February 01, 2019 8 min read

The Internet Was Built To Be Hacked

Nothing we ever do is truly novel, no matter how much we convince ourselves it is. Faced with nearly any seemingly insurmountable problem, you can easily scare up comparable examples from the not-too-distant past.

You often find heroes who saw the darkness and then dedicated their lives to alerting everyone and future generations to a better way. We largely ignore those people, it seems.

But the systems that we have inherited were designed in certain ways. The internet, and computing in general, is an interesting example. The roots of computing go back to the eternal struggle between free-spirited hackers with long beards and men in suits who want to make profits.

Yet that struggle seems to have blossomed into something that encompasses our whole lives. Friendships maintained or forgotten. Money made or spent. Elections won and lost based on systems that we inherited and are seemingly unchangeable.

But what is so crazy is the fundamental building blocks of the internet were designed to avoid monopolization and manipulation. The system is built in a way that leans towards what I believe is a freer world, a place where things are shared instead of commodified. But the struggle between good and evil continues.

The tools of self-governance, of self-creation, the ability to control our own destiny- are being robbed of us by certain silicon valley entrepreneurs, scheming suits, and a gang of arrogant money hounds who treat human attention like the new oil.

The internet has evolved into a place where we have all accept pre-fab houses, presenting ourselves in Facebook blue, homogenized and consumable. Consumable first to corporations and advertisers, secondly to each other. But at best this an abnormal and new way for humans to interact and present ourselves to each other. At worst it is robbing us of something seemingly indefinable- our individuality, our ability to express ourselves, our ability to decide what we see and when.

It is hard to turn off a machine, no matter how crooked, when they have asked us to store our friends and family inside it.

The number of artists whose whole body of work, and not only that, but their connections to other artists and potential future income, all stored inside the machine. It is hard to feel all of this was done by accident.

The virtual world is remarkably more shapeable than the physical world. It feels no less real- and the creations we have made that we can experience and inhabit can easily be related to physical wonders like huge libraries or museums.

The internet was built with an idyllic vision where everyone could craft anything they wanted and give that, freely, to anyone else. The plumbing of the internet was built by dreamers, anarchists, and hackers. We have seen only a portion of the impact these ideas have had on the world, and already we are in awe. The world is already changing more quickly than we can comprehend.

Much of our current world ties back to the stew of hippies and hackers in California in the late 70s and early 80s that birthed much of the technology we use. Academics and college students and computer scientists bounced off each other and got a lot of things rolling in ways we still experience today.

"The e-mail list started at Stanford a decade ago, now connected to MIT, has gotten so big that it needs to be split into two: Dead-Heads, for people who only need to have the set lists and tour dates… and Dead-Flames… for the people who want to talk about everything. They burn through memes in a way that won't become common to the rest of the world for almost a quarter century. Jesse Jarnow in "Heads: A Biography of Psychedelic America"

We can barely understand the ability ideas have to spread from person to person now. The only thing we can relate it to is viruses– going viral. Ideas can spread like a cough, person to person, out of the control of any leader, director, or king. They can be a joke, or a dance, or a rhyme like they've been for thousands of years. Or they can be ideas like freedom, liberty, truths that powerful people don't want told. We've seen the effects of those memes too.

Individual freedom, liberty, and the ability to express yourself to the world around you are embedded in the DNA of computing and the internet. At least for now.

But 200 years ago, to spread an idea far and wide, you had to travel by foot and tell people yourself. There were human limits to your impact. Maybe you came from the right family, the right race, had the right amount of money and could access a printing press, let alone the time to write. We lost out on a tremendous amount by not building a system where we could listen to anyone's ideas. Systems kept the powerful in power and reinforced themselves.

I like living in a world where everyone has the ability to express themselves on the most powerful mechanism humans have ever created to do so. Computers – and the worldwide network we have built to tie them together – are such an amazing, world-changing thing that our human minds can barely comprehend the speed and completion with which our world has changed. And is changing. And will change.

We have direct access to all of that. We have the ability to harness some of the most advanced technology that not even the richest and most sophisticated have figured out what to do with. But there are a lot of people who want to monopolize that power for a variety of motives.

I like the idea of living in a world where everyone has hand-crafted their own house because I want to live on that block. I want to see the ways people express themselves. I want to visit those houses. I think the will of humanity in the absence of self-imposed scarcity bends towards goodness and beauty.

"It is quite clear that the society of open-source hackers is in fact a gift culture. Within it, there is no serious shortage of the 'survival necessities' – disk space, network bandwidth, computing power. Software is freely shared. This abundance creates a situation in which the only available measure of competitive success is reputation among one's peers" Eric S. Raymond in "The Cathedral & The Bazaar"

There is definitely some privilege required to learn how to code. You need consistent access to a computer, electricity, the internet. You need time in your day, you need to have food in your belly. But compared with the effort required to get a message to 100 or 1,000 or a million people without a computer, it is easier than it ever has been to make an impact on the world. We will continue to see that impact us all in beautiful and terrible ways.

"Online communication has given rise to a new global commerce in ideas, information, and services. Because electronic messages readily cross territorial borders, and many online transactions have no necessary relationship to any particular physical location, existing geographically based legal systems have difficulty regulating this new phenomenon. This creates a new form of law– a law of cyberspace… Will this emerging cyberlaw provide 'due process'? Will it, in other words, respect basic principles of fairness, as embodied in current legal doctrines?" David R. Johnson in "Due Process and Cyberjurisdiction" 1996

The only necessary right we have in our new digital world is to move on to new systems or create our own. We were given those with intention. But we will have to defend those rights.

Too often I think our natural instinct as citizens of particular pockets of the internet is to petition our feudal lords for the changes we want to see. We often forget we have the ability to create our own world, craft our own future to our liking. I suppose it is a hard lesson because it is so different from the reality we inhabit outside of the virtual world. But that it is why it is so interesting and powerful and worth defending.

But how do we do that?

How do we seize back the means of self-expression on this amazing network we've inherited and built together?

It requires sorting through a world of tools and services and seemingly-friendly fellow travelers and looking for those that share those core ideals. People who have pledged in one way or another to abide by those original shared goals. Or at least enough of them for us to work together. Sometimes referred to in shorthand as "The Hacker Ethic" or "Open Source" or "DIY" there are a set of ideals that help people create tools that can be bound together without sacrificing the ability to modify them or fix them or leave them altogether if you find a better tool later.

Little pockets of hackers exist on the internet solving their own problems– and yours too. They share them freely partially because it is the right thing to do, and because it's easy, and because they share the hacker ethos.

The future lies with with those hackers and the kids that we teach those skills to.