Tuesday, October 30, 2007

Operation American Freedom

This week, the Associated Press empirically proved that Comcast is actively attacking BitTorrent clients. They are sending data to the BitTorrent client that appears to come from the same computer, which effectively shuts off the connection.

This article points out that this is the same tactic used by the Great Firewall of China to block access to the Western World. This is no coincidence. Comcast (among others) wants the ability to block certain kinds of traffic.

What will an evil corporation do with this power? In a few years, maybe Comcast will decide to launch a new video sharing site. Will they have the ability to block YouTube to promote their own site? I can foresee a new MMORPG debuting from Microsoft. Microsoft will pay Comcast, who will then slow all other online games to a crawl.

Our government needs to protect us from the whims of a greedy corporation.

Sunday, October 21, 2007

Sex Equality in Tech

Tech jobs are filled with mostly men. From the point of view of a sociologist, that's a broken system. From a techie, well, ....I don't really think any of us understand why there aren't more women joining us. What we do is fun! We play with machines all day! This should be as fun for a girl as it is for a boy.

From the outside in, the tech world seems like a boy's club...no girls allowed. So let me extend an invitation to any girls out there who like math, and enjoy solving problems: join us! You'll get paid to use your brain, solve problems, and play with machines! And, of course, you have a strong likelihood of being the best looking person in a group of fellow techies, making you look better by comparison.

Graphics Card Working (Finally)

Linux won't ever be the desktop OS of choice unless it's easy for average users. I'm running Ubuntu Feisty, and it's been a wrestling match to configure it the way I want.

Take my struggle to get my Nvidia GeForce FX 5200 working with it. I did my initial install using the onboard graphics card (no HDMI to VGA converter :P.) When I switched the graphics option in the BIOS to "AUTO" to enable the card, Ubuntu wouldn't boot!

After about 10 hours or so of searching online (and a couple patches less of hair), I finally found this thread on ubuntuforums. I had to do lots of weird configurations to make it work just right.

So now Ubuntu uses my graphics card. So I went to turn on the ultra cool desktop effects...CRAP!!! With the desktop effects enabled, all title bars disappeared! Oh, Ubuntu's telling me that they're experimental. That's disappointing. Oh well...here's hoping it's fixed in the next update. (Gloomy Goldfish?)

Anyway, I'll finally get to my point. With Linux, there's a catch-22: The difficulty of configuring it makes me love using it. I'm extremely pleased with myself that I got it working. And by association, I love Linux even more now. Linux is fun to us geeks because it's not friendly.

But its user-non-friendliness is precisely what will always drive standard users away from it. It can either appeal to tinkering geeks like me, or it can appeal to standard users. It can't be both.

Now come along and prove me wrong, Google OS!

Tuesday, October 16, 2007

Am I Paranoid Enough?

Hackers exist. I know that's painfully obvious, but it just occurred to me. Of course I knew that they were out there, but it hadn't hit home until recently. Now I'm realizing that I'm not nearly paranoid enough.

My passwords are an example. I don't do anything stupid like use dictionary words or proper names, but I do use Firefox's handy password tool, which records my user name and password to each of my favorite sites.

But does Firefox have a backdoor or a bug that a hacker could exploit? I don't know, but it wouldn't be the first time*. (Programmers aren't perfect, even though we're much closer than the rest of the human population) The point is that it's theoretically possible that a FF bug exists which would allow a malicious website access to my user names and corresponding passwords. If I was truly paranoid, I would memorize all passwords, and possibly kill anyone who knows them.

I'm not paranoid enough with websites I've worked on. To be paranoid about a website, there are a lot of things to consider:
  • Security patches to all applications must be installed! This is an ongoing process, since malicious hackers usually hear about security flaws the second they're released.
  • All default passwords need to be changed.
  • Web applications need to be protected against all kinds of attacks.
  • User passwords can not be trusted, since users are stupid.
I'm pretty sure I'm up on all security patches. I'm pretty sure that I've changed the default passwords...at least the ones I know about. I'm pretty sure I've protected web apps against SQL injection, etc. I'm pretty sure I've also protected them against people posing as users.

The problem is that to be a developer, you only need to know how to do things, not how to protect what you do. In fact, most bosses will be happy if you can just program things the way they want. It's up to the developer to learn about security and implement security measures. No one else will do it effectively.

So I'm taking possible threats a little more seriously now, and I've turned the personal paranoia level up from yellow to orange. I'm trying to memorize my passwords and keep security in mind whenever I program anything. I can only hope that this will be enough to keep intruders out of my systems.



* Here are a couple of security flaws found in FF: 1 2. I know, IE is far, far worse, but that's a different post.

Tuesday, October 9, 2007

Doing Something Useful

As a code monkey, it's hard to remember that computer stuff is only valuable when it does something useful. Here's an example: In my internet programming class (CS 360), I've been enjoying playing around with threads, fork(), mutexes, semaphores, and signals. Learning about the underlying topics has been fascinating, and programming them has been a blast. It's hard to remember that the technology I'm using and building in this project (IP, TCP, Sockets, and HTTP) exists outside of the project. When I'm coding, dealing with networks, configuring a computer, or learning the theory behind all of this, it's easy to forget that it can be used to do something useful.

Thursday, October 4, 2007

Soul Monkey

For those of you who don't know, I took my blog name from a Jonathan Coulton song*. I like his music because it's clever, geeky, catchy, and, most of all, because he doesn't associate with a record company. I respect anyone who can be successful without selling out.

Yes, I just implied that associating with a record company equals selling out. Why? Here's my logic:

A music artist is someone who has respect for their own music as a piece of art. Artists do not let others deface, devalue, or overexpose their art. When an artist's work is exploited, the artist himself is exploited.

To sign with a record company, one must give up certain rights. Any music the artist makes after signing is subject to the record company's whims. The music can suddenly show up on car commercials, as political theme songs, or (worst of all) on MTV.

Why would anyone in their right mind sign with a record company? It's a business decision, which, by definition, is greedy and self-serving. Musicians who sell the rights to their music have sold their souls.

So be an internet star. Keep your soul and make a little less money. Keep the rights to your art!


*A warning: Code Monkey contains some crude language. It's not bad enough to prevent me from referencing it on my blog, but listener beware.