Friday, May 16, 2008

Problems with going dark

So as I said in my previous article I wanted to try going dark. Here are some of the problems I encountered

1) Tor is slow... I like my internet instantaneous. Having time to get up and make tea while waiting for my websites to load just isn't going to cut it. Also because my IP address comes from a random location every time google tries to guess what language I speak. I was unable to determine how to assure google that I speak english... American english specifically. So I just had to deal with google being in Chinese, German, Dutch, and Italian. Poor show I feel.

2) PGP has a fundamental flaw. You see PGP uses a public key-private key combo. I left my public key on my blog and kept my generated private key hidden on my Ubuntu Linux laptop at home. The trouble is that private key isn't something you can really carry around with you. (Because it's private). I spend more than half my waking hours at work... on a computer where they probably track my keystrokes and other terrible things. So even if I brought my private key encrypted (which it is by default thank goodness... with a passphrase...) that's totally not useful if you worry that someone has placed a keylogger on your system. So I can't use my private key to encrypt anything when I'm at work... which is almost always.

3) IM encryption can't work one way. There is a nice and easy PGP-like encryption plugin for Pidgin called pidgin-encryption, I just added the addon and was immediately able to chat encrypted. The problem is you can't chat encrypted to people who don't use the same encryption. I tested it out with my wife and it worked great. I even checked out my google chat logfiles to see what it looks like going across the wire. Here's a sample:

me: ** Encrypted with the Gaim-Encryption plugin : Send Key
Kelly: ** Encrypted with the Gaim-Encryption plugin : Key: Prot NSS 1.0: Len 249:Odw+YVVO3fV7d3cD/LISGDkAMIJDLFg8,MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEEAQhm477bt1KnprVlD/5nWH+deYoF2IjUxt/5sUOnJezCpWsqRgRoDUxOUEBWkEpWSWJVV8yjPRr7i2nnkWjpe3a+fQ+20pkIdI6qJqRFSU5P2gJLXWl3p38rET6W8i7tE8F20m4Msk57jF4URSqAWjHtsZ0g4bjwpANXlLXkwIDAQAB
me: ** Encrypted with the Gaim-Encryption plugin : Msg:Sf01f547677:R2687548b16: Len 512:N6DFKd+PciYkREHlpv1/EzLYJ3HY2VCo/T30KU48Rqws0CqMPWaAqU4z1dpTUYQWr81Uv3jakPfuB+0tmyW1gVORQscW+SY84uAaovAZpjM0HdtWT762jciqfUfmHs+9iT9mlczvXSk1kFyfUUhKk8h6GPgPxxhUPAWxFFRr5iW8wkMJ+ltUz+u9NsyUfTz8i4x4CqAu3ZUQxGt1vYYzRn3ruzVhlw+mJkGMQA51FsmN68bcUEq01d9fU/Q0cQJmADs6l1N0l+RA5SZOrMDGJixCqrFLzDLQ8Tuv8SK8UDvWS9x20zNIwop3KnJi+DUtk+u1I2VoCSFYPe4qfhDfspXKDtuYc1vBg/aSy+4mA8gLngOMwvCPwxNCEBzs1uVrtYFwL2A630Ah+v2/cJP4qpWH2i7hMISnBXTcDFnQSEj0kVzeqN8FCR/h8iq0yPHMYUM6P7ejKaQW46I+S5X0QxxTr9Md3J4aimu374cI93VUps9zRGe6TE1ImbtFAo48
Super sexy huh? But for it to work generally I need all my friends to encrypt as well. I'll try to always allow encryption on my chats (just in case you're feeling like hiding your talks with me) since it doesn't affect anything else.

4) Everyone uses cookies. I tried turning off cookies and I was immediately making exceptions. Google uses cookies for everything (which is dumb). My work website uses cookies. My comic slurper uses a cookie and that's all. Del.icio.us uses cookies. It's crazy. It's like turning off javascript for how many ill-concieved websites just shove crap on your harddrive. But I don't want to do without those sites so cookies are back on the menu.

5) Https works great. I found that google was especially competent at running SSL. Hotmail fails at it by the way. Even though you can go to the login page on SSL it redirects you to a non-SSL page after login. And you can't even switch to SSL yourself... EPIC FAIL. I'm going to continue to use https on gmail and my google homepage, because I like imagining my communications with those places are only between me and them... regardless of how often they sell my communications to other companies and the government. Though I just checked and blogger fails its https check, though it does redirect you to the regular http, which is better than hotmail. I guess they want to make sure that everyone can watch what you type as you write your blog.

Conclusion
The interwebs are not ready for people to go dark. They still want to hook in and track you and prevent you from hiding. That's really a sad statement, I think that the internet foremost promoter of "anonymity=equality" should allow me to be anonymous. I know that after this experiment I will try to be more conscious of how I design my websites, just in case an uber-paranoid friend needs to contact me.

Monday, May 12, 2008

A little taste of 1984

So I read a book today called Little Brother. You should read it, it's only about 200 pages you can finish it in a few hours, I promise it's a good read. I'll even wait while you do it....


Alright for those of you who don't have the time I'll give a brief synopsis. *SPOILERS WARNING: This post contains detailed information about the book Little Brother*

The terrorists bomb the Bay Bridge, Department of Homeland security steps in and locks people up, this story follows a young hacker who gets swept up by DHS and debased. They let him free with an admonition to never tell anyone. And he watches as his city is turned into an Orwellian nightmare before his eyes. He fights back, the underdog, against the DHS... It's really much better to read the story.

It got to me, made me a little wide-eyed, worrying about how this might come to happen.
I got over it, I'm not ready to fight the government, I suppose if things get a little too 1984 for me I'll run away. It's just not a fight I want to enter, I don't want to fight against people I know and care about because they think it's right for a government to revoke our rights to peace and happiness. I'll just leave em to their own devices.

But that doesn't mean I can't help passively. So I've decided to go dark. For me that means that this is my last traceable post... I thought it only fitting it be about this.

So what kind of inconveniences am I going to run into?

I've decided using the Tor onion routers for firefox and gaim. That will make things slower, but generally more anonymous.
I've decided to make a conscious effort to use https in order to run over the secure socket layer when it's available (like in gmail).
I've decided to try to remember to log out of gmail before surfing. Did you know that they can trace every google search you make while you're logged in.
I'm gonna try to go without cookies
I'm going to start encrypting my communications to certain people.

Why am I doing this? Do I have something to hide?

Nope. I don't have a single thing to hide. And probably never will. I'm totally boring. But reading "Little Brother" it made me think, "What if there are people out there who need to hide, but there isn't enough encrypted traffic to hide in." So I can help them hide by going dark myself. And who knows maybe I will have to use it.

So do I support the terrorists who bomb us?

Not really. I don't think bombing people is a very neat way to express yourself. But I must admit I am very partial to privacy... So if it's a choice between not knowing when terrorists are going to bomb me, and being able to live my life privately. I'm gonna have to side with privacy. Terrorist bombers will find holes in the system... just like spammers... just like media campaigns... just like any unwanted offense. I don't want the system to be tighter because the only person it's squeezing is me.

Why won't you actively fight for your privacy rights?

I'm busy. I want to build robots. And like I said before, fighting for people who don't want to be fought for is futile. If the people want cages... give them cages. Just count me out.

I'll try to post something about living in the darknet later. Oh if any of you want to join me here's my Public Key:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)

mQGiBEgpNdkRBACdkLqN3LoXfYJkk4qDWSNdzsLo/BQt/McsZ+4mLNRFmeSqnCOS
RFGpj5tnjNzCK54E7kHjfYK3CBmYlnkbJPsb9vN4G6fShhV6f4YnVgwjW3kgemLL
/j8LbMv6H9SpeAGm6xI3YCZZxz1Yphi5tTEj4noxJICIc0ISvA7InT1aHwCg0NPw
RtoNzdLJ81EFvpw0ZVds1E0D/2XqUrbCJoCHFRy2rxTGLf8gFbCHvw6jkKnKTfvU
26q40u3m2Cq+haulDGqX/NumlMndWA6dfz2LZjnaLt5hl3wKiNP7N9NFEQQc827w
uMLBZz329vhV/QaLAznsq5glRosqmLiR5NbdWuJA61R4bODcXry5T0A6rcAjQS7m
cQXxBACJKAlcoKS4dTXRQ1H8axvH0Aipmr0PUZKdxqpeXLV69cjLf9XeDCPYzDkh
0/kdCc/JWYRK5rgAdXVuE3ylsNMaEJOsdHQPQXN1m84RjEj/6swpyfipEndII/9K
eVRmPDLEO5jKAT60h3AteXottHK4Cz+r8yrQUjsMr8lHtWdAebQ9SmFzb24gU2No
YWNodGVyIChFYXJ0aHMgV2FycmlvcikgPGphc29ub2ZlYXJ0aCtwZ3BAZ21haWwu
Y29tPohgBBMRAgAgBQJIKTXZAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQ
Gonsm9xPhtmLKQCgqUKT0CswiGqw+MlsKgh+Bnc9Z1gAoLLEIe8aThnWJuStDa14
dxm9nlU1uQINBEgpNf0QCACcjXjFxoH3HKPK9TfJs/vG0jmeUhR29NXe4R2YBFXg
YE2y5qLx6e83OS31b6sgP092aLbW4yT44dztCObj1V02RhQrjf400wFCIYbAWWhd
tW05kSerZCxUSWrAA8b96vOX/STIzrh74u3k4eqcStes30tmVeAXnh39VNMRb5mB
XUst6/X2EFcXKvZesUebwFlTcU73harWelTtaJjOp5Vc5gTB9/0pX9jdvF0GSTGN
5wAzOEl6gWPfdXg35E5cXPg1rxPXL5fuLomD1EcFl0EpzYhUb/wSGS3KOyrut8lS
hDLMiYJ0qLl8w0FSLe8hNA8oZXyxcJgYI+G1Ze/ERt/HAAMFB/0V0uKRQ7Icrpkl
CmtteN+4SnCvZaNpGHbRZEV9/Vx98raYOILYdL2tBiPukGDRRxce6pw9t7SbtTV1
roEVISC8rULA4IWtdX38YkO48JEMh/3mB03H2yXuKLnbgakp6dUqA5g3QT/YQTHn
5vc0QAHDKZfzZD17ljjBLy40WT+pGi/8cB2I1wcSnv4FqkSOwAJOUOMW7GSg1qLs
rG6nMD8sfhltIPfCxoTvHvhNYvI24URL6t5v2NWR5nTxReDUlQD7Tu8afFLPrpnm
odA2uyOpM4RW/Zb7t30xnlg7WvBU4cpTGOLeGtpYozwotymJMyg4qEGWCdDZPl7o
WZc2kuFkiEkEGBECAAkFAkgpNf0CGwwACgkQGonsm9xPhtm60gCeLlN9KJ1ofbWM
ftBh+bw4ZfgOT00AmgI/hQ9LkccqRHh+lK7KURvqbmNc
=H3Nj
-----END PGP PUBLIC KEY BLOCK-----

Send me your public key and I'll consider you a friend. If you're really a secret DHS agent pretending to be my friend... well done... you've infiltrated a group of revolutionaries... I happen to be a pioneer in the art of sitting on my butt, doing nothing.

Friday, May 9, 2008

I want to work for you

Your company must be making a difference. I don't mean a difference in what kind of software an average engineer will use. I mean a difference in the path of technology of the world. If you are working on robots, or nanotechnology, or synthetic biology, or space exploration, or superconductivity, or brain augmentation, or extending lifespans. Any of the hundreds of applications that will be useful to bring us closer to the singularity. I want to work for you.

I am a programmer, that means I know programming languages and how to use them. I am not an expert in any one language, but I have used almost all of them. I'm learning lisp to work on AI (I will keep doing that until you hire me). I studied Java and C++ in school, and continue to use it wherever I'm working now, they are unimportant languages unless used to solve complex dilemmas and no place I have worked has ever provided me with any.

I am a simplifier, I take complex systems and break them down in order to create the simplest solutions. As a programmer this makes me exceptional at design, I use my abilities to force the creation of the simplest structure that will work. I don't believe complex and elegant work well together. Complexity makes things harder to work with and should be hidden behind abstraction so it does not spread. I think any lasting code (that will remain in production for more than 5 years) should value simplicity over clever hacks and creative solutions. Solutions to programming problems should not look creative in the end, it may take all your ingenuity to come up with the idea, but in the end it should look simple, like it always belonged where you put it.

I am a creative thinker, however I am not good at generating original plans. This means that if you provide me a framework I will work exceptionally creatively and design you the best possible solution to the problem posed. The tighter the framework the more elegant my solutions tend to be. If you tell me to make "something cool", I won't have anything for you.

I am open. I believe in truth in communication. I am a facilitator, I work with all teams and value every well reasoned opinion. I refuse to "hang with the engineers", I am equally capable of discussing with product managers, designers, customers. I do not lie, I will not attempt to further my career at the expense of others, I will tell you about any aspect of my life if you ask.

I am steadfast. To change my opinion you must make me agree with you. This is an impossible task unless you speak with logic and conviction. If you fail to convince me of a direction I will still follow your orders, but I will likely be slower and less creative in a direction that I don't agree we should go. I don't waver on opinions without solid backing, all of my choices are well reasoned to start with.

I should work for you. You should pay me to learn, and build whatever you ask. I will go to school to learn more for you, I will work as hard as I can to help bring about the singularity before I die. You should harness my powers, rather than let me languish in a cubicled prison.

Wednesday, May 7, 2008

My Kaizen List

I just found this wiki article on kaizen through lifehacker, and it struck a good chord with me. Continual small improvement always seems doable to me. So I've decide to set up a kaizen list. Which I've decided will be a list of three things that I will attempt to continually improve. The list can shift but whatever is on the list should get some attention each day, even if it's just to think about or read an article about it. I can't cop out of the list by using blanket statements like "get better at programming" because that could mean anything and doesn't get to a really solid goal. My current list includes only two, but I will look for a third over the course of the week.

My List:
1) Lisp
2) SCA swordfighting
3) ???