Go to content Go to menu

I know I’ve said it a million times before, but I’m going to try and do better with the blog. All of my cool friends have lively blogs and I really should have one too. I mean, lets admit it: I am that interesting. ;)

Like everyone else in the Western MA Developer’s Group, I have been playing with Clojure. Rich Hickey did an extremely interesting presentation on Clojure for the group and it made a strong impression on all of us.

I do a lot of web application development and I found a couple things really interesting. The way Clojure has been designed to minimize mutability and the idea of managing memory in a transactional way make the development of applications with a lot of concurrency really easy. Rich showed us a short demonstration program that simulated some ants running around for food and it was very exciting to see. Every ant was doing it’s own thing, there wasn’t any code for managing locks and it was all very concise.

Which is the other thing I found really exciting: the brevity. I’ve been coding Java for many moons and it’s true, I admit it: Java code is wordy. So is a lot of C and C++, certainly Objective C is also right up there. But still, it was very exciting to see something interesting happening with such little code. It wasn’t particularly difficult to understand, Rich walked us through it pretty much line by line and I was surprised to see it mostly making sense to me.

Clojure is a Lisp and the last time I looked at a Lisp I ended up with a headache. It was the sort of headache that makes you feel slow and stupid. Lisp has always looked weird to me and I’ve taken a stab at it a couple of times but I think I just wasn’t interested enough. After Rich’s talk, I can actually see problems that Clojure can actually help me solve. I’m going back over some books and example programs and I have to say it’s really exciting. Coming from languages like Java and C, it all seems so much different, so novel.

I’ll try an post an article a week, I’ll also try to keep them all from being about Lisp and Clojure. :P

At the last meeting of the Western MA Developers’ Group the subject of data and privacy protection came up (as it often does). Everyone had a story about this or that company letting a large amount of data into the wild and most of them were amusing anecdotes. Stories about developers loading live data into a test system and then making the test system publicly available. Stories about corporations mailing tapes of data to incorrect addresses via the postal service. Funny stuff.

As I was chuckling to myself about the story of some consultants for Hewlett Packard losing a laptop full of live employee data, I remembered something important: some of that data was mine! There was a time when HP was sending me a letter every couple of months, insisting that they would get the data back any minute and even if they did not, I shouldn’t worry as it was encrypted with space-age, unbreakable encryption.

That’s when I started to think about this data in an entirely different way: no matter who’s data is lost (Fidelity Mutual, Hewlett Packard, your local grocery store) odds are good that there is something about you in there. Corporations buy and sell our information on a daily basis, in other cases companies merge and our data is transferred from one to the other. I’m starting to think that this distinction between “my” data and everyone else’s data is mere wishful thinking.

This leads to my next thought: why can’t we get at our data? If I’m worried about Facebook sharing my data I can close my account. I can take a look at what they are sharing and make an educated decision. In the case of Citibank, I have no idea what they are collecting and where it’s going. Sure, I can get a credit report, but I’m not so naive as to think that’s all the data that Citibank is collecting. Hospital’s are the same way, why can’t I see my x-rays or test results?

Perhaps this is the new frontier in computing: letting people manage their data. Giving people the ability to see what data is being collected and where it’s going. It’s an interesting logistical problem.

I have just finished up my newest website, AmigoCodes.com. The site will store your “friend codes” for Nintendo DS games and then share them with people that you add to your list of “friends”. So far I’ve only tested it with a couple of people, so I’m leaving that “Beta” stamp on there for now.

Now that the site is live, I’m trying to drive some traffic to it. I have posted the story to my two favorite news sites, Digg and Reddit. If you have a minute, please check them out and maybe vote on my story.

This is my first real Ruby and Rails application, I am really curious to see how it handles the traffic. I did some load testing myself, but it’s not the same as having people sign up and actually interacting with the site. I also rely pretty heavily on Amazon’s ECS web service and I’m hoping that doesn’t end up slowing things down.

Fingers crossed!


I am nerdier than 91% of all people. Are you a nerd? Click here to find out!

Badi tagged me this morning and I had to find out my Nerd Score. The questionnaire is pretty short, some of these things make you slog through a zillion questions but this one wasn’t bad. I am surprised by my score: 91!

There were a couple easy questions that I missed, but my knowledge of the periodic table appears to have put me over the top. I blame you, freshmen-year Chemistry teacher!