Curiosities for March 2010

March 7, 2010

I bought lemonade and a granola bar from a sidewalk lemonade stand yesterday. Yes, spring is here. This (hopefully) means less computery time and more outsidery time. Yes, I just made up the word "outsidery." Coining new words should be part of my curiosities this month...

As for actual things I want to explore:

  • Jetpack - Last month I switched back to Firefox from Chrome because Chrome just didn't hack it for me as a web developer. One thing that Chrome had that I really liked was the extension mechanism. Basically. it was just some javascript. Jetpack is an extension that provides similar support for Firefox. After diving into Firefox extensions a few times and needing a lifeguard to get out, I thought I'd explore Jetpack to create simpler Firefox extensions.
  • Android SDK - I offered to help a friend create an Android App. No pay was involved, but I have been provided a more recent Android phone to replace my Android Dev Phone, so I actually have something of an obligation to complete and app for Android as opposed to just poking around in it.

Free Software is a Pyramid Scheme

March 3, 2010

Last week, I was asked to meet with a family member for lunch. I went to venue only to find that the family member was joined by other people. Those other people wanted me to get involved in network marketing. People that aren't in network marketing often refer to network marketing as a "pyramid scheme." Yeah, one of those, you know, where you alienate your family and friends trying to get them to not only buy a product but to have them sell the product as well. I decided to decline the offer mostly because I'm a geek, not a salesman. I can't schmooze people; I'm direct and to the point.

On my bike ride home from that appointment though, I realized that I am a salesman, and I think I'm a pretty good one. The only difference is that I can only "sell" the things I truly believe in. One of those things is Free Software.

In 1999, I was a sophomore/junior in high school in a small podunk town. I don't remember a lot of my life then, but I do remember the computer lab high school. It had a T1 (lightning fast at the time) and hardly anyone at the school knew anything about computers. I guess you could say I was the man with one eye in the land of the blind.

With all that unused bandwidth, I had no choice but to start pirating software hand over fist. I stumbled over a piece of software called "Red Hat Linux" which sounded really geeky cool, and I had access to downloading all 8 cds (or whatever it was). I was such a pirate for downloading all those cds. Man, I was cool.

Installing it was a pain, eventually leading to me getting a book called "Linux for Dummies" before I really knew what to do. I played around a bit, but didn't really see the appeal of Linux over Windows. There was nothing like Visual Basic (a habit I'm ashamed to admit I developed during high school). I also wasn't a fan of the terminal.

2001 came and I found myself buying a copy of Mandrake 8.1 from Best Buy. It was sexier than Red Hat, and seemed to have everything I wanted. Unfortunately, I couldn't get my sound card to work, and every time I wanted to install something that wasn't an rpm from the cd, I had to go build all sorts of dependencies from source. It was hopeless, but I trudged on for the geek cred.

That same year, I discovered Debian because someone else I knew was using it. Debian was cool, because it had this apt-get thing that would help you install things magically. At this point, I took off. Installing things was so easy that I was always trying out new software. I was showing it to other people. I'd see people using a piece of Windows software and start talking about the Free version I got from apt, and how much better it was.

As time past, I started seeing the benefit of Free Software in everything. I started talking to people about how they needed to embrace this idea of Free Software. There was light in my eyes when I told people they didn't need to be slaves to software vendors; they had choice in how their computer worked.

Over the years, I've helped many people convert their lifestyles to use more Free Software in some capacity, whether it be through the use of OpenOffice, or the big jump to Linux. It's been rewarding and eductional for me, and it's even better when those that I've helped turn around to help others.

So, if I put this blog post to cheesy music on a DVD, sat you down and made you watch it, would you join the Free Software Pyramid Scheme? What if I promised you that if you worked as hard as I did, you would make as much money as I have convincing people to use Free Software?


February 2010 Exploration Report

February 28, 2010

Earlier this month, I posted about some technologies that I was curious about. Here's my report:

Tahoe-LAFS

I actually like the Tahoe community a lot; enough for me to want to contribute to it. Tahoe 1.6 was my first sponsored package into Lucid earlier this month, and I'd really like to get together with other local Coloradoans and sprint on Tahoe.

If you just want to see what Tahoe provides, you'll want to check out the Test Grid. It gives you a nice web interface to explore Tahoe. You can create directories, upload files, etc.

The web interface wasn't enough for me. I installed Tahoe, and then made a few KVM virtual machines and set up my own test grid (albeit a crippled version, as I was lazy and only wanted to set up the parts I to play with). My installation had some hiccups, but was incredibly happy to find that my tahoe mv and tahoe cp were working.

Being a web developer by day, I think the web interface could use a little more love, and could be a bit sexier, but I suspect that the web interface isn't the main way to add things to a Tahoe installation.

I'd like to find some ways to contribute to Tahoe in the future.

Node.js

Node.js is a cute idea. It's a web server for server side javascript. It may be a little perverted to say, but I really love javascript. Sure, it has its bad parts, but the good parts are pretty good. Naturally, this meant that I was curious to write server-side javascript.

As I was working on it, I started writing a little web app. I was handling post data and stuff. I was returning html. Pretty soon I was writing a templating engine and basically re-implementing Django/Zope/Rails/Your-Web-Framework-of-Choice. This really put me off, because there are better existing tools to build web apps than building something from scratch with Javascript (no matter how much I like Javascript).

One thing I thought was funny was that my server side javascript was sending javascript through in the response for the client to work with. This is a phonomenon I'd never encountered before: using the same language on the server and the client. It made me wonder what having python in the browser would be like.

I think I might play with Node.js again when I don't have to create an entire framework around it.