Growing up in the 90’s was pretty sweet. There was economic surplus and good music playing on the radio. The schools I attended had very little if no computer curriculum beyond typing proficiency. When I took an “advanced computer applications” course I was able to finish the 3 months of Photoshop tutorials in a week. The rest of the term I spent hacking on linux, a network I built, and C.

I was not the only student who needed technological challenges beyond what the school could offer. My friends and I ran the computer network. It wasn’t official, but we poked, prodded, and hacked our way in to every facet of the schools computer network. We had warez servers, irc, maps of network printers, free printing, and a shared record of how to circumvent every “nanny” app on all of the different computers.

The mischievousness of our actions is not the only thing that kept us from asking adults how to accomplish our tech goals. The teachers simply didn’t know how to do it. We lived in an environment were if we wanted to learn something we had to find out ourselves.

There is a wealth of knowledge that is freely available to anyone who takes the time to look for it. There are libraries, book stores, college campuses with approachable professors, and Google. With a few keystrokes one can get all of the information required for almost any project they could conceive. My friends and I were able to utilize these resources to our advantage.

Continue reading


My Personal Paparazzi

I used to have a mantra about what I posted on the Internet: “I don’t post anything that I would not want the whole world to see.” A picture of me at the East Side Gallery in Berlin is in the wild where anyone can see it. This is fine with me, because I chose to share it. Unfortunately, in the past year my privacy motto has fallen a bit flat as changes to the ways Internet users share information have occured. These changes caused me to leave Facebook and join Twitter even though the later has less privacy controls.

Facebook has settings to help you protect what you post about about yourself. Although it is sometimes convoluted Facebook provides granular control over who can read your posts. For the most part Twitter does not allow for this level of control, and that is fine with me as anything I post online I could care less who reads it.

So what is the problem with Facebook then? I really have no issue with having the ability to share with Facebook that I am at my local coffee shop. However, I do take issue with the idea that someone else at the coffee shop could check me in. Of course Facebook Places does give some control over who can check you into your location, but what happens when a total stranger snaps a picture at the coffee shop with you in the background. This hypothetical stranger could with the best of intentions post that photo on their Facebook account. Now, perhaps you have a mutual friend with this stranger, and upon seeing you in the background of the photo “tags” you. Now, a stranger was able to publicly share your location without ever even meeting you. Continue reading

Don’t Be Evil

I will readily admit that change can be scary. There are about half a dozen meals I enjoy on a regular basis, and when someone offers me food that they think I might enjoy that is not on this short list I am almost always apprehensive. This fear often presents itself today as a reaction to the warp speeds of technological progress. On any given day this feeling can give rise to ones inner Luddite. Technology is often seen as inherently evil or corrupting. There are certainly outliers that fit this description, but there are counterexamples of technology being used for very positive projects. Google recognizes this with their motto “don’t be evil”.

Continue reading

Desktop Fabrication: Blurring the Distinction Between the Physical and the Virtual

I wrote this essay for a computer ethics class. The main focus of the class was the need for computer ethics. The primary argument for this thesis was the newness of action inherent in the information age. After thinking about this for quite some time I realized that 3D printing could move some of this newness from the strictly virtual world to the physical reality we know.

The information age has greatly changed the way we interact with the world around us, but its greatest effects have so far been relegated to a virtual world. The separation of the digital from the physical is being bridged more everyday. We can already witness some of this change in the abstracted idea of monetary wealth and its benefits finding a thriving ecosystem in the digital landscapes. The mass produced consumer goods we see in a store are replicated to a precision that would not be possible without the existence of computer technology. As the ability to fabricate goods becomes cheaper and the skill level needed to use the technology becomes increasingly lower there will be a shift of the centralized power over the means of production to a more diffused power. With the power in the hands of the many the ability to make and share goods will create a physical equivalent to the digital piracy we see today, but it will have a much greater impact on how westerners view property. As the digital creations begin to acquire physical counterparts so to may the artificial intelligences of today. Like the personal computer desktop fabrication will change the way humanity interacts, and it will call into question many of the long term beliefs that westerners have as to what exactly a physical object is.

Continue reading

Fun With Openssh

Networking is something I’ve never found quite as interesting as some of my choice topics in Computer Science. However, I have been playing a lot with various Linux networking tools. Netcat is a great tool, and perhaps I will write about how awesome it is in future. Today, I have had quite a bit of fun with Openssh for which I have found many practical uses.

Continue reading

Hello world!

#include <stdio.h>

int main(int argc, char **argv)


printf(“Hello Blog!\n”);

printf(“More posts to come soon\n”);

return 0;