AMA with Steve Phillips, Lead Developer and Project Manager of the Pursuance Project

Steve Phillips (@elimisteve) has co-founded a successful hackerspace, given a DEF CON talk, been programming for 8 years and using Linux for 15, and avoided having a day job for 10+ years through a combination of math tutoring, freelance programming, and entrepreneurship. He is currently Lead Developer and Project Manager of the Pursuance Project, which was started by formerly-imprisoned journalist and activist Barrett Brown.

Background: A few weeks ago, over in the CodeBuddies Slack, a member (@tallpants) suggested that we start an #ama channel. A couple of wonderful people volunteered to do AMAs and figured out a schedule. This post archives one of those AMAs.

How did you get into programming? And into security?

I started using Linux in 2001 because I was told that “only stupid people use Windows”, “Windows is for grandmas playing solitaire”, and “all the hacking tools are on Linux.” Plus, the Matrix is by far my favorite movie of all time, where of course Neo (Keanu Reeves) was a hacker.

Haha wow, you heard that in 2001?

Yes, on Slashdot.

Do you remember what you learned first?

In 2003 I learned a little Bash scripting and a trivial amount of Perl, but there weren’t great resources for learning other than O’Reilly books, and if you got stuck, there were some mailing lists, but it was nothing like it is today.

I remember writing a little script that would:

1. Download a .iso of the latest, greatest Linux distro I wanted to try (using `wget -c <url>`)
2. Burn it to a CD
3. Eject (with the `eject` command)
4. Shut down my computer so it didn’t waste electricity nor make noise overnight

That was some of the first “programming” I did.

I took one college class in high school and it was about Unix. We did a little more Bash scripting, and I felt like I picked it up quickly and really enjoyed it, but I didn’t seriously consider doing a bunch of programming until ~2005 when I was in college.

What did you learn in college? And when did you start getting interested in security?

I took a couple C and Java classes at UC Santa Barbara. Then in 2006, I was reading Paul Graham’s essays about entrepreneurship, and he was saying that startups should be started by technical people who can actually build the product, not business guys who couldn’t.

So in 2006–2008, the appeal of combining programming and entrepreneurship in order to avoid ever having a day job — something I have done to this day, at age 31 — is what really got me into programming in a really serious way.

Security has always seemed awesome, since I was in high school at least. “Hacking” seemed so cool but I didn’t know what that really meant.

In college, I double-majored Math and Philosophy and took ~3 programming classes.

Fun fact: I actually failed my first programming class I ever took! So if you’re new to programming, know that it’s hard for everybody. But stick with it and you’ll have MANY fantastic career choices — freelance, start a company, join a small company, join a medium-sized company, join a huge company, etc. — in addition to not having your job automated away in the next 20 years. ;-)

What advice would you give to folks who want to get into (or better at understanding) security?

Security is a large field. The key thing that I didn’t know early on is: security has a lot to do with just understanding how technologies work.

A lot of “network security” requires knowing a lot about networking, so learning how TCP/IP — the protocol that makes the internet reliable — works is important, for example.

I trained to be a penetration tester for about 3 months in 2009–2010.

Penetration testers are legally paid to hack into banks and other institutions — usually companies that legally have to prove that they’re protecting customer data sufficiently. So how do they prove that? They pay a team of “pentesters” to try to hack in, and write up a report saying what security weaknesses they found and how they can be fixed.

But I didn’t get the job, and decided that the programming I had started learning was something I should continue with. So since about August of 2010, I’ve been programming almost every day (maybe 6 days/week on average).

I was able to help teach a security class at Santa Barbara City College, though, which was a blast.

I was technically the TA, but I gave 6 lectures showing people the basics of security that I had learned on my own, just reading things online: how to use `nmap`, how to use `Nessus`, how to brute force an FTP or SSH password, etc.

Nothing too fancy — my offensive skills are pretty weak, honestly — but it’s empowering to know how a lot of that works.

And because I know some security, and deeply care about trying to solve major world problems, I ended up trying to think of what I could create that would help solve privacy issues. And that train of thought led to my thinking up CrypTag, which makes encrypted data searchable by tag (without decrypting it), and that’s what I gave a DEF CON talk about 2 years ago, in the Crypto & Privacy Village.

How have you noticed the field changing in the past few years?

One very important change over the past few years in security is: most attacks are now phishing attacks. I find this frightening because even if computer security weren’t complete shit — which it is — people would still get “hacked” because people would still fall for phishing attacks where someone poses as their bank or Google or someone, says “we urgently need you to reset your password!” or whatever, and people end up handing over their credentials to the attacker.

Very, very few things will protect you against that, because in that case, the human is the weak link; there’s no buffer overflow or SQL injection or whatever, it’s people voluntarily handing over information that they shouldn’t have handed over.

The other major change that comes to mind is: IoT (“Internet of Things”). I know someone who calls this the “botnet of things.”

Here’s what I think of IoT: IoT is where every physical object contains as much malware as a Windows XP desktop.

That is the future of security. You will try to get into your smart home 5 years from now, and your door won’t open, and you’ll receive a message with a Bitcoin or Monero or Zcash address saying, “you must send us $200 in cryptocoins now or we will turn on your heater full blast and cost you $100/day in heating costs” or just not let you back into your home.

Get ready…

Humans are not good at writing secure software. Combine that with a world where every object runs on software, and, well, you end up with an insecure world.

Security is becoming more and more important.

As security expert Bruce Schneier has said, he used to specialize in computer security, but now that everything is a computer — your phone, your car, your house, etc — “computer security is now everything security.”

You mentioned giving a talk about CrypTag at DEF CON in 2015. Can you talk a little about the project and how you came to give a talk about it? And if you’re using it for the Pursuance Project?

Sure!

CrypTag makes encrypted data partially searchable. But the idea started off very simply.

It started with a problem I actually had myself: I thought, “I have like 5 devices and 2–3 browsers on each, and I can’t access all my bookmarks from any device — much less all my devices — because my bookmarks are trapped in each browser. How might I solve this?…”

I had used Delicious, and liked storing my bookmarks all in one place, but I didn’t like handing over exactly what I had read and what I was interested in to some random company, and I didn’t like having to make my bookmarks public just so I could access them myself.

But with Delicious, you can tag your bookmarks.

This is very useful, and fetching your bookmarks by tag is handy.

So the leap of insight with CrypTag was — instead of storing these tags on the server in plaintext, what if I generated a random string (e.g., “abc123”) for each plaintext tag (e.g., “politics”), and stored the random strings on the server instead?

Then I can encrypt the actual URL, and have the server store that for me, and I can store an encrypted mapping of each “random tag” (“abc123”) to its corresponding “plain tag” (“politics”) on the server as well. Then, all my devices/clients can download these mappings — each one called a “tag pair” — and use them to tag and search my bookmarks stored on an untrusted server!

(I know this is complicated, so I’m happy to answer follow-up questions about what I’m talking about).

So anyway, there are several command line apps that let you do this sort of thing that I wrote in Go. Every day, I type something like `cpass visa digits`, and `cpass` — a password manager I wrote using the CrypTag libraries — does the following:

1. Grabs the tag pairs
2. Looks up which random string corresponds to `visa`
3. Looks up which random string corresponds to `digits`
4. Sends those 2 random strings to a server as search queries
5. The server responds with all the data tagged with both those random strings
6. My client then decrypts and displays them in my terminal, then puts the first search result in my clipboard

Then I just paste my credit card number (or password, or URL I wanted to remember, or whatever I’m searching for) into whatever program I’m using.

That’s basically what I presented at DEF CON.

After DEF CON I realized that, instead of needing to use custom server software for the CrypTag backend, CrypTag could be made to store all its data in Dropbox, and since the Dropbox Search API returns all results that include all search terms in the filenames of the files you’ve stored, I could “tag” encrypted data by stuffing the random strings into the filenames of what I store in Dropbox, thereby making Dropbox CrypTag-compatible without anyone’s permission!

CrypTag can store data in any folder, including a local folder that is contained in your Dropbox folder or the folder for any other file-syncing service in the world.

But when I applied for grants, they said that this isn’t very unique, because GPG can already encrypt things, and can therefore do everything “except the tagging.”

But I took that feedback as a challenge to be more ambitious, and, long story short, I realized that, instead of just storing strings or files, CrypTag could be used to enable secure apps to use any file-syncing service as the server through which they communicate.

So instead of talking to an API or server to share data, today, CrypTag-powered desktop apps (like CrypTag Notes https://www.patreon.com/posts/new-version-of-8344108) save their data in a local folder, which syncs to Dropbox’s (or whoever’s) server, then syncs to the desktop of whoever you’re collaborating with, and their app then sees your changes!

All of this is encrypted end-to-end, so you don’t have to trust Dropbox not to spy on you

This is a new app architecture that makes it so non-technical people can have security without having to manage their own servers.

What was the reception like?

Some people were excited, but honestly my talk was just OK; it wasn’t as clear as it should have been. (I have since participated in Toastmasters and my speaking is now much better… though I still say “umm” way too much if I don’t focus on not saying it.)

I have since had some talks though with Ladar Levison, who created Lavabit, which got famous in 2014 for being Edward Snowden’s secure email service. Ladar gave his talk right after mine at DEF CON, and he’s creating a new standard for encrypted email called DIME. And he thinks it’d be great to make encrypted email searchable/fetching by tag without revealing what those tags are to your mail server.

He had independently thought of something related, so it was fun to brainstorm about this stuff.

One important thing I learned: getting people to try a desktop app is really hard. So since then I’ve focused on web apps, and 1–2 months ago I launched LeapChat, which is end-to-end encrypted chat in the browser. (Thank you Jim McGaw and AJ Bahnken for their help!).

Example room URL: https://www.leapchat.org/#VoyageAerosolSurferUrgentSacrificeTuxedoSnugnessShynessZestfullyLucidityOnionUnderwearExcerptPantyhoseNeitherVexinglyTacoUrologistNailThimbleExquisiteWaspNapkinGeyserMolecule

Increasingly, LeapChat is becoming “encrypted Slack” in the browser.

The URL is long, because the passphrase in the URL hash — after the `#` — is used to deterministically generate a keypair in JavaScript that is then used to encrypt and decrypt the chat messages!

My friend AJ and I started LeapChat before I met Barrett Brown, and once I met Barrett, I realized that LeapChat could form the first pillar of the Pursuance System.

So yes, LeapChat is now part of Pursuance!

The overlap between what I was doing and what Barrett wanted built was so high, that, when it comes to LeapChat’s immediate feature set, I kept building what I had been building before… plus a couple major things that stem from Barrett Brown’s unique experiences with crowd-sourced investigative journalism that he did in 2011.

How did you meet Barrett Brown?

In the last week of March — just 4 months ago — I was reading https://www.wired.com/2016/12/anonymous-barrett-brown-free-ready-pick-new-fights/.

It said that Barrett was out of jail, he’s doing epic stuff again, and he wants to do this:

“Over the next six months, Brown tells WIRED, he intends to build a piece of software called Pursuant, designed to serve as a platform for coordinating activists, journalists, and troublemakers of all stripes. Pursuant, as Brown describes it, would be an open-source, end-to-end-encrypted collaboration platform anyone could host on their own server. Users will be able to create a “pursuance,” an installation of the software focused on a group’s particular cause or target for investigation. The software would offer those groups the same real-time collaboration features as Slack or Hipchat, but also include a kind of org-chart function to define different users’ roles, the ability to host and search large collections of documents, and a Wiki feature that would allow collaborators to share and edit their findings from those documents.”

Barrett wanted better tools for what he did in 2011 with just a wiki and one big IRC chat room.

He wanted to create a secure environment that would also make activists and journalists more effective.

I thought this sounded awesome, and like the “end-to-end encrypted environment for activists and journalists” that CrypTag Notes was one piece of.

But one thing I hadn’t done well is talk to exactly the right people who should be using what I was building, and I didn’t have any sort of media platform or anything.

Barrett, on the other hand, had amazing activists (and some journalists) flocking to him, he had tons of media reach, but he didn’t have a tech team, so I thought that we should join forces.

I was telling my best friend that I couldn’t believe how perfect the overlap and complementarity were between what I was doing and what he was doing.

And she said, “you should fly to go meet him immediately”, which was a great idea, so that’s what I did.

I AGGRESSIVELY reached out to him, via email, snail mail, asked people in SF who I’d met who I thought may have his contact info…

Some interviews he did suggested he was in Dallas. Some said he was in a halfway house (he had just gotten out of jail, remember).

So anyway, I tried this “multi-path strategy” of trying every avenue available at once, rather than 1 at a time and waiting for a response (which is easy to do for some reason…).

After just two days of this, I got a response. He said he’d love to have me involved.

I had said, “I’ll be in Dallas on Monday if you’d like to meet”. After he said to come by, I then booked my plane ticket. :-)

We met up, and he jumped immediately into showing me his sketches and drawings and ideas for what we now call the Pursuance System.

He asked what ideas I had based on my experiences online, and we combined some of these ideas together.

So I went back to my Airbnb and started a very intense solo brainstorming session.

I thought about how LeapChat could be combined with the sort of task management system that it seemed like we needed in order to achieve what Barrett thought would be most effective.

I hacked on LeapChat for a few days, and designed some more things, then met up with him in person again (I stayed in Dallas for a total of 7 days).

During our second meeting, I peppered him with very hard questions that he, quite impressively, answered with ease.

I emphasized that we needed to do something REALLY unique, or else people wouldn’t switch to this from whatever they were currently using. And what he had in mind seemed very unique, and there were things that I thought should be normal (especially security-wise) that I’ve only seen done a couple times ever, so that all seemed fine.

“What is the most important thing you can imagine anyone ever doing with the Pursuance System?” I wanted to make sure that we were optimizing for impactful use cases, not just common use cases.

He said: “it all starts with the media. People believe what they believe and vote the way they vote because of what the see in the media, so if people can use Pursuance to hold the media accountable, that would be very impactful.” (Compelling, right?)

At that point I realized that Barrett Brown is one of the most insightful people I’ve ever met.

Anyway, that conversation lasted for 2.5 hours, and we hammered out a lot of details about how the system should work.

At the end, I was super energized… and Barrett slumped in his chair and said, “I don’t think I can brainstorm anymore” lol.

Then I came back to SF, and two days later he emailed the couple other people who had started to be involved, and he said, “this is Steve Phillips from SF, and he is in charge of building the Pursuance System.”

I was proud of myself for making such a positive impression, but it turns out that there wasn’t anyone else who had stepped up to build it, ha ha, so I’m the guy.

And I am now the lead developer and project manager of the Pursuance System.

So between recruiting others to help me build it, and build it myself, that’s my job.

And actually, I’ve since gotten some GREAT help on LeapChat from @spetastian, who I met right here on CodeBuddies!

LeapChat/Pursuance tech stack: React + Go + Postgres.

And @spetastian just made our React build system waaay better, and has started integrating Redux, which we needed badly.

What’s the current status and timeline of the Pursuance Project? How can one get involved?

First of all, all our code is open source and on GitHub at https://github.com/PursuanceProject.

If you want to get involved, PM me, sign up for the mailing list at pursuanceproject.org , and read this for the current technical status/plans for building the rest of Pursuance: https://gist.github.com/elimisteve/5f434892dba623aaae052aafa69456a4

We are currently applying for funding for Pursuance, so astonishingly, I will probably soon be getting paid to build the Pursuance System, which really is the most important thing I could be doing.

I imagine jumping on a plane and spending a week out of town was a luxury you could afford because you were freelancing/working for yourself.

You are right; if I had a day job, it would have been hard to fly somewhere and be away from home for a week. I have avoided the day job thing like the plague so that I can spend as much time as possible doing whatever I think the most important thing in the world I could be doing is, while working as few paid hours as possible (while still getting by). I’ve been lucky the last couple years, and I’ve had a couple long-term clients want repeat work.

Freelancing can be stressful, because you never know when you’re getting paid next.

I have always tried to live as cheaply as possible so that I don’t need to work as many paid hours in order to afford to pay rent and whatnot.

What advice would you give to aspiring freelancers?

The important advice, I think — is to live cheaply so you can have gaps in your freelance work without having to run back to a day job.

I don’t have a formula for meeting clients, and have met most of mine through word of mouth and at the hackerspace I co-founded in 2010 — the Santa Barbara Hackerspace.

People would come by and say, “someone told me there are programmers here, and I need a web app built.”

Also, for a brief period, my business partner was a guy who had more freelancing experience than I had at the time, so we got repeat work from his old clients.

I also got some work via Upwork (Elance and oDesk merged to become Upwork like 2–3 years ago).

More advice: create an Upwork profile. I didn’t fill mine out in detail really, but the basics are there and I link to my LinkedIn profile.

My LinkedIn profile is purposely pretty decked out: https://www.linkedin.com/in/sdphillips

There’s a lot of side projects I had for awhile, and learned a ton from them.

Project-based learning is the best kind of learning when you’re learning to code.

Build something that you think is meaningful, and not only will you end up building more meaningful things, but you will become better at programming faster because you will care a lot more about the quality of your work than if you were building something you don’t think matters.

So juggling multiple sources of income can be tough, but if you live cheaply and constantly get better, you can make it work.

Knowing basic things — like that the client cares about the result and the features, not the technology — helps.

Trying to impress a non-technical client with your whiz-bang tech knowledge will not make you seem smart, it will make them feel stupid.

So I never do that. I try to come up with exciting ways to make their idea(s) even better, and they like that very much.

Do you prefer longer-term or shorter-term freelance projects?

I’ve never wanted super long-term contracts, because then it’s basically a day job in the sense of being locked into something that you can’t get out of, even if the most amazing opportunity in the world comes along.

But at this point, I simply won’t do tiny gigs.

If someone only has $500 to spend, they can find someone on Craigslist; that’s just not worth my time, because it’ll take 5+ hours just to fully understand what they want, and write up a contract with all the features in it, and so on. $2,000-$20,000 contracts are what almost all mine have been. (Or not even contracts, really — but per-hour work.)

Advice: put into the contract that they get a couple hours of tweaks for free, but they pay for them on a per-hour basis afterward.

My first several jobs were with really picky clients who wouldn’t pay until we’d made all these free changes, and we didn’t feel comfortable demanding money for the changes because we wanted them to have what they wanted.

But that is terrible business.

More advice: once you’re no longer just starting out, never compete on price.

You do not want to compete with poor people in third-world countries for work.

After a while of doing low-dollar gigs, I decided to “retreat up-market” and do high-quality work for people who could afford it, not boring, repetitive work for too little money.

Do you use any third-party tools for drawing up contracts?

My ex-business partner and I put together a contract that we’ve been using (together then separately) for years.

I don’t know if it’s fantastic, but I’d be happy to share my contract template with anyone in the CodeBuddies community free of charge.

What’s your opinion of the tech scene in San Francisco?

The tech scene in SF is interesting. I’ve lived here for about 8 months and haven’t gone to many entrepreneurship-related Meetups, so I don’t see as much “Silicon Valley” (the show)-type people as I thought I would just by being in the vicinity of SF. :)

I figured that SF was the best place in the world for me to be to develop CrypTag, so that’s where I moved.

Advice (Sam Altman says this too) — if you’re really serious about accomplishing something, you should be willing to move some place that will give you a significantly better chance of success (if there is such a place)

I thought maybe, just maybe, that moving to SF would mean meeting a bunch of smart, ambitious people. And there are some people like that here, but what’s really missing is: (1) original thought, and (2) genuine ambition.

There is something very ambitious about starting a company, but… if you’re building a photo sharing app, well, let’s just say I’m not impressed.

To put it impolitely: the percentage of people in the history of the world who could work on whatever they wanted is approximately zero, so I can’t tell you how disappointed I am in those with the resources to do what they want, and decide that the most epic, meaningful, world-changing thing they can do is build a bunch of bullshit.

I don’t look down on poor people, I look down on upper-class people who waste their lives.

Are there any communities/meetups in SF you did find interesting, and would like to shout out?

Yes! Noisebridge is amazing.

Noisebridge is a hackerspace in San Francisco.

I chose the place I currently live in specifically so I could be close to Noisebridge, where there’s lots of smart people who are generous with their time.

It’s really strange and interesting talking to brilliant people who seem to know everything about their field (that I don’t know nearly as much about), and then to talk to other people who think I know a ton, all in the span of a day and in the same room.

Usually you’re in a group or club or group of friends or in a class where you’re stably one of the more knowledgeable people, or you’re one of the less knowledgeable people.

At Noisebridge, you can be all of those things at once, because of the intellectual diversity and diversity of interests everyone has.

So: Noisebridge is great. There are also cool meetups.

I’ve been going to a Civic Hack Night that is hosted by Code for San Francisco, which is put in by Code for America.

I’ve been recruiting out of there, and have met some interesting and helpful people.

I got some design and React help with Pursuance/LeapChat. I go there every Wednesday https://www.meetup.com/Code-for-San-Francisco-Civic-Hack-Night/, so come by if you’d like!

Relatedly, I also run a weekly privacy hackathon at Noisebridge, every Saturday from 4pm to 10pm https://www.meetup.com/Cypherpunks-Write-Code/.

We recently had a Wired journalist come in and talk to people about the cool projects they’re working on, which was cool! And then that journalist interviewed me a bit more for a book he’s writing about security people and the “civic-mindedness” some of us have.

Before we forget: what hackerspace did you co-found?

Santa Barbara Hackerspace, in 2010. It’s now about 3500–4000 sq ft, thanks mostly to the hardware guys who’ve really built it up.

After 9 months of meeting once per week, on Saturdays, in my co-founders apartment, we had 7 people willing to put in $100/month, and we used that to get a small space! We outgrew it after a year, but we were there for 3 years until a couple (amazing) people decided to more or less loan SBHX money to get bigger space, and once we had it, our membership grew enough to cover those additional costs.

In 2008 I was deciding whether I wanted to do a tech startup, or start a hackerspace. I decided that I needed to be way better at programming if I was going to be able to compete against teams full of like ex-Google engineers, so I decided to start a hackerspace first.

In 2013, my tech startup was renting office space from my hackerspace.

One thing I should come clean about is: since 2009, most of my projects have failed, but I didn’t let that make me feel like a loser; I knew that if I kept trying, I would eventually succeed.

The middle half of 2012 was hell because I didn’t have enough work, and felt really, really, really bad about it. I actually interviewed at a startup, didn’t get it, and felt relieved… I noticed that I had managed to make it that long without work, so I should continue trying to remain free and not get a job.

So I caught a break and ended up getting my first paid Go programming gig in September of 2012! And since then things have worked much less terrible, money-wise.

What was your first business baby that got you into entrepreneurship? Was it the hackerspace?

I co-founded SBHX to have an environment where I could learn a lot, and I never thought that starting a non-profit would be the best business decision I ever made — but it was.

Advice: do shit. If you are actively creating things, great results are then possible. But if you’re not, well, then they’re not.

My first entrepreneurial project actually came about from a guy I met at SBHX.

We started a website to help people train for this standardized test that city employees need to pass in order to become water operators, and like manage the public water supply.

There weren’t good study materials, so in 2010, two of us started building that.

I (barely) knew enough Django to build it, and he knew CSS/jQuery and had the domain expertise, so he could make the questions.

He put $5000 into the business (mostly advertising), and we made like $3000 of it back, but our bounce rate on our homepage was VERY high and we didn’t know why.

So: talk to your users.

Advice: if you’re thinking about getting into entrepreneurship, watch this video many times, which covers in like 1 hour what it took me years to learn — https://www.youtube.com/watch?v=CBYhVcO4WgI

Also, read Peter Thiel’s book “Zero to One”.

Okay, two quick things I want to squeeze in:

1. What is the Pursuance Project?

To partially quote from the website, pursuanceproject.org, the Pursuance Project is creating software called the Pursuance System, which enables individuals to create groups, called pursuances, which “engage and collaborate among themselves to whatever extent they choose, leading ultimately to a vast and formidable ecosystem of opposition to institutionalized injustice.”

Concretely, the first major release — to be released later this year — consists of task management for groups, and chat (built on LeapChat).

Lots more semi-technical details here: https://gist.github.com/elimisteve/5f434892dba623aaae052aafa69456a4

2. What is the most important thing that a human being can ever do?

My answer: create for yourself an explicit value system. I say that’s the most important thing that you can ever do, because once you know your values, that will help you make literally every other decision in your life.

Which projects should you commit to? What kind of job should you try to get? What kind of company should you start?

Which events should you attend? What should you spend your money on?

If you do not know what your values are, there is a deep sense in which it is literally impossible to answer these questions — because you don’t know what you’re optimizing for.

So create your value system, and decide what to do based on those values.

My values are:

1. Greatness
2. Justice

I spent most of college and significant time since then trying to revolutionize philosophy. Why? Greatness. A world without human Greatness, without human striving, is not very meaningful to me.

We could have a world without injustice, a world without pain or suffering, and nonetheless have a world where every man, woman, and child, spends all day… dicking around on Facebook.

Would that be a meaningful existence for our species? Not at all. So Greatness, which of course requires great striving, is necessary.

Secondly, I value Justice. And CrypTag and Pursuance are fundamentally about maximizing justice. If I knew of avenues for defeating injustice that were more impactful than I expect Pursuance to be, I would be doing that instead.

Through Pursuance I am able to play my strengths, and benefit from the tremendous resources that Barrett Brown attracts, in order to try to create a gigantic lever for humanity that enables large numbers of like-minded people to join forces to oppose injustice.

There are many problems in the world, but if we can make a tool that enables us to band together and solve these problems, then the 21st century can be the Greatest we have witnessed, rather than the worst we’ve seen in some time.

So know yourself, play your strengths, only commit to projects that you want to spend at least a decade of your life pursuing, and create an explicit value system.

And surround yourself with people who complement you well.

In the pre-questions thread, Angelo asked: What makes you tick?

Revolutionizing:

1. Philosophy
2. Human privacy
3. Human collaboration

Revolutionizing these is what my goals are and have been for Executable Philosophy, CrypTag, and Pursuance, respectively.

If I’m not trying to revolutionize something, then there’s no chance that I’m living my ultimate life — and that is unacceptable.

To quote Jack Dorsey, creator of Twitter: “We are not here to do what has already been done.”

What’s your favorite IDE? And do you have music you enjoy listening to while programming?

I’ve used Emacs since 2006. I actually don’t recommend it to people starting out, because you have to configure it too much in order for it to do all the basic things you would want, but I like it.

Hard to do without macros once you’re used to them.

When programming, I listen to brain.fm, which helps me get into the flow.

But I am a very emotional person in certain ways, so if I listen to anything that sounds too epic, I can’t focus on what I’m trying to accomplish and end up just thinking about the music. :-) (Let’s-fucking-do-this-type passion/emotion, not sad/crying-type emotion.)

Thank you so much, @elimisteve!

My pleasure!