Hacker Culture

MDST 2012

it seems to me sometimes I've entered some inverted zone, some mirror world where the dorkiest shit in the world is completely dominant. The world has dorkified itself.—Mercer in Dave Eggers, The Circle (2013)

Are we all hackers now? This course chronicles the story of a kind of identity that began among geeky tinkerers and a murky criminal underground, only to be adopted by management consultants and CEOs. How has hacker culture helped form our technological lives? Do hacker formations like Wikileaks, Anonymous, and open-source software represent a new kind of politics, or a rejection of politics as we know it? How does this culture manage boundaries of access and power in the online economy? We will explore the contested figure of the hacker in the past, present, and science-fiction of the Internet.

This course includes assigned sources, class discussions, guest speakers, and a significant component of hands-on practice. All levels of technological prowess are welcome, but expect to learn some skills and to help teach others. Hacker culture is not a spectator sport.

Nathan Schneider
nathan.schneider@colorado.edu
Armory 1B24, meetings by appointment via email (etiquette suggestions)
Website: nathanschneider.info

  • Gain familiarity with the varieties of meaning and mystique surrounding hacker culture
  • Acquire some hacker skills and the confidence to acquire more independently
  • Apply lessons from and against hacker cultures in entrepreneurial practice

We will use two platforms to carry out our work for the course:

  • Canvas is an open-source learning management system developed by a for-profit company, Instructure. It is currently our campus's official LMS, and we will use it for a variety of tasks, from announcements to grading.
  • Hypothesis is a non-profit, open-source annotation platform that enables users to annotate the Web. Each week we'll use this to annotate and discuss the assigned sources.

Objective 0: Contribute

Students are responsible for contributing to both meatspace and virtual discussions. No attendance will be taken in class. However, showing up and participating in all scheduled meetings will help you get the most you can out of the course, and absence is not particularly compatible with participation. Most weeks will follow a common pattern:

  • The first meeting, plan to have completed the assigned sources for in-class discussion. Be ready to raise insights and questions from the sources. If we have a guest speaker, be prepared to ask excellent questions. Annotations on the sources are due at this time. One strategy is to take great notes on Hypothesis, print them out from your profile page, and bring them to class.
  • The second meeting, be ready for a more practice-oriented DiscoTech. Plan to have done some preparatory work on that week's Exploit—the skill we'll be learning together. We'll share our ideas, however preliminary, and we'll work on them in class, so plan to have a screen device with you.
    Evaluation of in-class and online participation occurs twice—at the midterm and at the semester's end.

Objective 1: Hack

Each week, each student should contribute an Exploit—a hack that addresses the week's topic in a creative way, reflecting technical ingenuity (though not necessarily expertise) and engagement with the week's sources. Exploits are due in Canvas by sunrise on Saturday morning.

Each Exploit should include a README text that explains the nature and rationale of the hack, engaging with at least one relevant assigned source. Exploits need not and should not be lengthy; their value is in the adventuresomeness of their thinking, not their girth. Also: do not break the law.

Objective 2: Teach

We learn from each other. Each week, usually during the second meeting, a group of students will present to the class about a hacker skill related to that week's topic and Exploit assignment. This presentation will generally precede some time for a DiscoTech, so aim to offer something useful—a skill that fellow students may or may not choose to use as part of their own Exploits. Each presentation should be no more than 10 minutes long, with slides and/or a live demo. Slides should be turned in on Canvas before the class period of the presentation begins.

Following the presentation, student presenters will start the DiscoTech with an exercise for the class, using whatever format they like to invite participation, collaboration, and sharing of ideas.

Objective 3: Master

Become a goon. The final project for this course is to write an illustrated, 1,800-to-2,000-word report on a real-world hack that for a relevant establishmentarian organization. Pick a hack that particularly fascinates you.

If the hack in question is of questionable legality, write as an FBI agent, perhaps. If the hack is just a brilliant piece of technology, write as a stiff for a big computer company trying to figure out how to capitalize on it. In any case, with clear language and documented research, explain the nature of the hack, its significance, and a recommendation for what your organization should do about it.

The final product itself should be a convincing hoax in the voice and visual character of the organization it supposedly represents. For examples of what this could look like, peruse Imperva's Hacker Intelligence Reports or Wired's Hack Briefs.

This project includes a built-in debugging and revision process, as well as a one-minute presentation on the last day of class.

Bounties

Grades are not especially conducive to hacking, but we need some equivalent in order for this course to be legible to the university. Therefore, work will be rewarded with bounties. These are functionally the same as grades, but perhaps giving them a different name will prevent them from killing the learning process in the way that grades normally do. The maximum bounty awarded for each portion of the course is as follows:

  • Objective 0: 20 points
    • critical thinking and prolificacy in online annotations (10 points)
    • geeky enthusiasm, insight, and attention to others in class (10 points)
  • Objective 1: 30 points
    • clear explanation along with supporting files in open formats
    • creative implementation and stretching of skills
    • sophisticated engagement with at least one of the module's assigned sources
  • Objective 2: 20 points
    • accessible and fun introduction to a skill and its significance (5 points)
    • how others can go about learning it—what basic steps, what resources? (5 points)
    • cultural context and history, documented in research with both scholarly and primary sources (5 points)
    • well-planned, effective DiscoTech exercise (5 points)
  • Objective 3: 30 points
    • complete beta version and participation in debugging with substantive comments on two fellow students' betas (5 points)
    • revised final (20 points)
      • 1,800-to-2,000-word length, written clearly and with instructive illustrations
      • comprehension of the hack and convincing, accessible analysis of it
      • impressive and documented research with both scholarly and primary sources
      • sophisticated engagement with at least two assigned sources
  • one-minute presentation, with an instructive slide, on the last day of class (5 points)

Bounties will be compiled in (more or less) real time on Canvas for easy access. The final grade will be calculated by adding up the bounties each student has earned. Based on the stated bounty structure, grades will be awarded as follows: A (94-100), A- (90-93), B+ (87-89), B (83-86), B- (80-82), C+ (77-79), C (73-76), C- (70-72), D+ (67-69), D (63-66), D- (60-62), F (0-59).

Terms and conditions

  • This syllabus is a living document and may be revised during the course. The current, binding form will be maintained on Canvas, and any changes will be explained in a Canvas announcement.
  • We respect one another's privacy and freedom to explore. Content shared in the course, in class or online, will not be shared beyond it without permission.
  • Use of laptops and other screen devices is not permitted in class, except during DiscoTech sessions or for purposes of accessibility. Such devices are likely to interfere with your learning experience and that of students around you. Most class discussions, unless otherwise stated, not require or be improved by them.
  • We adhere to basic university policies regarding accessibility and academic integrity; we take responsibility for understanding them and the relevant procedures. Verbum sat sapienti est.

Each week's readings are due at 2 p.m. that Tuesday and Exploits are due at Saturday at 9 a.m. All other due dates are at 2 p.m. Mountain Time:

  • Project proposal: April 2
  • Project beta version: April 21
  • Debugging comments: April 23
  • Final project: April 30

1. Version history

Exploit: Compose a testimony or manifesto. Using appropriate typography and layout, or posting it to an appropriate place, create a testimony or manifesto that introduces your hacker philosophy to the world. Identify yourself any way you like or not at all. Seek to recruit, warn, alienate, terrify, or inform readers. Let the medium be part of the message.

2. White, black, gray

  • Edward Snowden, Permanent Record (Metropolitan Books, 2019): Part II
  • Charlton McIlwain, Black Software: The Internet and Racial Justice, from the AfroNet to Black Lives Matter (Oxford University Press, 2020): 28-43, 55-58

Exploit: Practice self-optimization. Work on your development as a hacker by hacking yourself. Measure some aspect of your life, routine, mind, or body, and test strategies for optimizing it. For inspiration, consider resources like Lifehacker and Hacker News. Produce data based on your experiment and present it so the rest of us can better hack ourselves.

3. Hacktivism

  • Edward Snowden, Permanent Record (Metropolitan Books, 2019): Part III
  • Gabriella Coleman, “The Public Interest Hack,” limn (February 2017)

Exploit: Set a valuable piece of information free. Lots of data and knowledge are caught up in places that aren't accessible—in offline archives, behind paywalls or private intranets, trapped in someone's mind. Following the hacker dictum “information wants to be free,” let something loose in a way that will facilitate its flow. Post it online in an appropriate spot, or share it with those who will, or find a liberating offline place for it, like a flyer or a megaphone. Be sure to explain what makes the information valuable and how what you do with it is meaningfully liberating.

4. Disintermediation

Exploit: Devise a tool that disrupts a gatekeeper. What is in the way of something worth doing? What systems do you encounter that are needlessly cumbersome or inefficient? Who is leeching profits without contributing any useful value? Come up with an idea—you don't have to implement it, especially if it's risky—that would clear the way. Bypass a government or skirt around a middleman. Get the goods.

5. School

Exploit: Teach yourself a bit of a computer language and make a program that does something neat. It might seem scary or fancy, but it's completely possible to start learning how to code online, and lots of hackers are more or less self-taught. Whatever you know already, use this Exploit to learn a new programming language or trick. You can do something as simple as the classic “Hello World!” or make your own chatbot. Try the elegant language Python on CodeAcademy, or get visual with JavaScript at Khan Academy, or play with MIT's Scratch. The Hour of Code project has tons of activity ideas on top of that.

6. Identities

Exploit: Create an identity. Who you appear to be can change what you can do. Try on a new online mask—on a social network, for instance, or across a few. Form a profile, take on a character, and see what happens. What can you do that you might not otherwise try?

7. Remix

Exploit: Make a remix. Take something out there and turn it into something else. Mash up music or video into something surprising, or rewrite a book. Make some fan-fiction. Save a website's HTML code to your computer and mess with it. Explore the possibilities of free culture, or what culture would be like if it were really free. Show us what you can come up with.

8. Craft

Exploit: Do something worthwhile with an old machine. Dig up an old, obsolete machine and have fun with it. What's lying around your house or our campus collecting dust? What neat software have most people forgotten about? What can it do that a fancy smartphone can't? Pay a visit to the Media Archaeology Lab on campus and play around. Show us what you can do with a neglected tool.

9. Order

Exploit: Submit a bug report or feature request to an open-source project. Critical to any open-source project is the participation of the community. For those of us who are not amazing software engineers, one of the best (and most rewarding) ways of participating is through feedback. Identify which software that you use is open-source—Canvas and Hypothesis are a start—and try to find where the developers communicate with users. (It's usually in the Issues section of the project's GitHub page.) Write to them with a bug you've noticed or a feature you'd like to see. Keep in mind Raymond's essay on questions to help ensure your recommendation is usefully phrased and well researched.

10. Anonymity

Exploit: Get someone who doesn't know who you are to do something. Use your identity created in the previous module, or try another, or use no identity at all. This can be online, over various kinds of networks, or in meatspace. Take a stranger to lunch, or get a stranger to send you a dollar. Make a friend, or not. But exercise your capacity to influence the world without doing it as you.

11. Security culture

Exploit: Audit your communication practices and identify improvements. Review some of your regular practices, digital and otherwise, and locate potential security vulnerabilities. Do some research about the nature of potential threats and how they might be mitigated. Check out software listed at PRISM Break, if the dangers are digital. Try out a few patches, and determine whether they're worth the trouble.

12. Weary giants

Exploit: Improve or subvert a government process. Look for old-world inefficiencies, combat them with hacks. Where are governments needlessly burdening people? How do bureaucratic processes waste time and resources? Apply your hacking skills toward devising a strategy that solves the problem, whether those in power like it or not.

13. Gentrification

Exploit: De-co-opt something. Notice something fresh, original, grassroots, and authentic that has been transformed into something palatable, profitable, and safe for a dominant class. Reverse the process. Identify forgotten radicalisms, incite people to re-embrace them, and renew their dangerousness to the powers that be. Reflect on the consequences of doing so.

14. Mastery

Debug the final project with peers and conclude the course.