discount genius

Less expensive than name brand genius.

Restore the Fourth

Those who know me know that I’m not very political. Those who know me well know that I AM quite political, but thinking about a system as broken as ours can frustrate me to the point of mental paralysis. I also worry quite a bit about the fact that nobody really knows which of two candidates or which of two policies would be the best for our country and society in the long run. If top economists and political strategists can wave their PhDs at each other across partisan aisles, what hope do I have of accurately predicting what politically decisions would yield the best possible outcomes? It’s because of this sort of thinking that I have so far avoided voting and I try to ignore politics as much as possible. “Plug back into the Matrix. We have steak.TM

In the end, there are circumstances tragic enough and causes clear enough to wake me out of my selfish funk at make me think for just one lousy minute about the world we’re shaping for our posterity. It doesn’t get much more clear-cut than the bill of rights and few amendments are more clear than the fourth.

The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized.

This is pretty simple stuff. “Papers” includes letters, documents, and records. Today’s letters, documents, and records are stored digitally. So, the government has the right to search and seize my digital information provided they have probable cause. I believe that recently reported abuses are contrary to the Constitution of the United States of America and any laws that enable such abuses should be amended to reflect the freedoms our founding fathers secured for us.

There will always be a trade-off between freedom and security. It is very easy to put bad guys behind bars in societies with limited freedoms. It’s also a lot easier to put good guys behind bars. I believe that the decision makers behind these programs likely believe them to be in the best interest of our nation. The problem is that even if they have purely altruistic motives, what about the next guy? What about the guy after that? Our nation was built with checks and balances that in theory should prevent even the most charismatic tyrant from seizing power. This is why we must act now to restore our freedoms. If we don’t quash these invasive programs and the laws that prop them up, they will one day be used by those who would usurp power and authority over us. How important will security be when there are no longer freedoms to protect?

Get Involved

  • Sign the petition at Stop Watching Us.
  • Join the Restore the Fourth protests.
  • Put this script on your website to help spread the word.
  • Most importantly, read up on your rights and decide what your priorities are. Then act accordingly.

Trickiest Android Game

There’s a lot of games out there for Android, but too many people overlook a great game that ships standard with every Android build.

Here’s how the game works. Try to make the following pattern on your phone starting at the upper-left corner. Bonus points if you can do it without locking yourself out of your phone for attempting too many lock patterns. Extra bonus points if you can somehow grab a screenshot of it.

Lessons Learned From My First Blogging Success

I’ve had this blog for about a year now and I’ve only posted sporadically. I can be something of a perfectionist and many posts perished in the planning stages due to excessive self-criticism. Nothing I had written had much of an impact until my post about Aaron Swartz last week. I have been humbled and somewhat overwhelmed by the positive feedback I have received from those who read it and I’ve tried to analyze what it was about this post that made it different from the rest.

Sincerity and honesty

The internet is a very sensitive BS detector. Savvy readers can tell when you mean what you say or when you’re just trying to sell them something. My motivation behind many of my previous blog posts was to draw attention to myself or a product that I wanted to sell. These attempts to increase my own stature ultimately failed. I wrote my post about Aaron Swartz with the sole motivation of articulating my feelings. There was no “follow me on Twitter” call to action. There were no links to side projects. This resulted, somewhat counterintuitively, in more Twitter followers and click-throughs to my side projects. About 10% of those that came to my blog in the last two days clicked on my ”About John” page or other blog posts. I wrote something personal and people wanted to learn more about me.

Letting ideas simmer

My initial idea for a post about Aaron Swartz was to be entitled “Aaron Swartz was not Robin Hood.” I intended to articulate my anger over a broken justice system with a dash of why copying digital data is not the same as stealing physical objects. It wouldn’t have been anything new or different than the many other posts that had been written. I probably would have lost steam somewhere in the second paragraph and never finished writing it. I allowed these thoughts to roll around my head for a couple of days until I figured out why I was angry and I wrote about that instead which I believe led to a more compelling and useful post.

Static pages

The last time I hit the front page on Hacker News, everything broke. This was partly Bluehost’s fault, but also my fault for not realizing that there might be some problems if you serve a giant 150,000 character image-as-table out of a MySQL database. When the site managed to load, it loaded very slowly. It was somewhat devastating to have potential readers unable to read what I wrote. I have since switched to Octopress and even when traffic was at its peak (about 2000 pageviews/hour) everything remained zippy and responsive.

You might not be bad at that thing you say you’re bad at.

In high school I excelled easily in all my math and science classes whereas I “struggled” in English and history. I arrived at the conclusion that I was just “better” at math and science than other subjects and I distributed my effort accordingly. In retrospect, it is likely that I was just more interested in what was currently being taught to me in calculus and physics which facilitated a higher level of engagement. Even though I have since logically concluded that I wasn’t born inherently bad at writing, every compliment surprised me emotionally. This has helped me realize that I shouldn’t let a self-imposed (or externally imposed) childhood label keep me from writing or doing anything else for that matter. You’ll get better at that thing you think you’re bad at if you practice.

I need to do more with my life.

This was a realization that I came to while I wrote the blog post, but it didn’t really cement itself until I saw the response to it. If I can make a difference by writing one blog post, what kind of impact could I have on the world if I reach my academic and professional potential? I was newly motivated to be the best version of myself I could be. This led to a reevaluation of my goals and my progress towards them. I have decided to get a real job and reevaluate my education options. If anyone knows of an open web development position that might be a good fit for me, please let me know about it or pass along my resume.

How I Got a Date With Seven Lines of Python

I met an interesting girl at a party and things started off kind of weird. I don’t remember why, but my first words to her involved me getting down on one knee and eloquently proposing marriage. She called my bluff and accepted. We chatted a little bit more and I got her number and learned, among other things, that nobody can ever guess her middle name. It starts with ‘S’ and is five letters long. Challenge accepted.

This would be a much better story if she had said something to the extent of “I’ll only go out with you if you can guess my middle name.” That never happened. What did happen is I went home, found a csv of female first names conveniently arranged by how common they are and threw the following code at it.
import csv

csvfile = open('female.firstnames.csv', 'rb')
csvreader = csv.reader(csvfile)

for row in csvreader:
    if(row[0].startswith('S') and len(row[0]) == 5):
        print row[0]


The output consisted of 59 names and started out like this:

snames output

I had already guessed “Sally” at the party. Via text I discovered that “Sarah,” “Susan,” and “Stacy” were also no-gos. On my fifth official try, I found “Sonia” to be her middle name. Once again, this would be a much better story if getting a date with her were explicitly contingent upon the correct guessing of her middle name. This was still not the case. I also realize that any sufficiently technical people reading this post can recognize the simplicity and triviality of the code I wrote. However, the feeling of being some kind of magical tech wizard in her eyes who could turn raw numbers and letters into successful results lent me the confidence necessary to offer to drive her to a restaurant and pay for her dinner.

We got Mexican. It was delicious. My offer of a second date was preemptively quashed. I saw her at another party a month later. It was weird.

Why Am I So Upset About Aaron Swartz’s Suicide?

For the last couple of days, I have been obsessively checking Hacker News for new articles about Aaron Swartz. I did not know the man. I am not remotely connected to him in any personal way. I had not heard of him before his arrest and had not read much about him since. The last couple days have left me pondering what exactly it is about him that has affected me so profoundly.

For those who are unfamiliar with his story, it has now been written many times by many different people. The Wall Street Journal has covered it, as has The New York Times. Tributes have been penned by Cory Doctorow, Larry Lessig, and the President of MIT. The expert witness who would have testified on his behalf explained how Aaron died an innocent man. The most touching tribute came from those who knew him best who created Remember Aaron Swartz.

I find myself on the outside looking in not with morbid curiosity, but with a genuine concern and care for those most affected by this tragedy. This is atypical for me. I have lived much of my life ruled by a cold logic with regards to tragedies that do not immediately influence me. I ignore death and disease and famine and war justifying myself with the thought that there’s nothing I can do about it now anyway. Maybe someday when I’m older or stronger or richer I will care and I will contribute. The loss of Aaron Swartz has broken that pattern and it has taken me a couple of days to try to figure out why. Why am I so upset? Why am I so quick to take up my pitchfork and call for an end to the career of an attorney I have never met? Why has the suicide of one man had a greater emotional effect upon me than almost any war, natural disaster, or school shooting in my lifetime?

The conclusion I have arrived at after two days of pondering is probably incomplete and may shift with time. Aaron Swartz is what I wish I was. I am a bright technologist, but I’ve never built anything of note. I have strong opinions about how to improve this world, but I’ve never acted to bring them to pass. I have thoughts every day that I would share with the world, but I allow my fears to convince me to keep them to myself. If I were able to stop being afraid of what the world would think of me, I could see myself making every decision that Aaron made that ultimately led to his untimely death. This upsets me immensely. I am upset that we have a justice system that would persecute me the way it did Aaron. I am upset that I have spent 27 years of my life having made no discernible difference to the world around me. Most of all I am upset that Aaron’s work here is done when there is so much more he could have accomplished.

I took a computer systems class in college with a lab that involved solving programming challenges in the fewest number of operations. A live leaderboard was kept that showed the number of operations in which each group had accomplished each task. One task sat for days with nobody having accomplished it in fewer than the four operations needed for full credit. Once somebody accomplished it in three, it proved to the rest of the groups that three was possible and others soon solved it in three. Aaron Swartz has shown us what is possible and it is now up to us to try to match him.