Legalizing file sharing

In response to this slashdot article and its Source article by Karl Sigfrid (politician in sweden) I have a few words. First, a quote from Karl Sigfrid’s article:

Politicians who play for the antipiracy team should be aware that they have allied themselves with a special interest that is never satisfied and that will always demand that we take additional steps toward the ultimate control state. Today they want to transform the Internet Service Providers into an online police force, and the Antipiracy Bureau wants the authority for themselves to extract the identities of file sharers.

So any words I have to say from here on are in the giant shadow of that paragraph. I am of course as usual not endorsing theft, but internet freedom. Realizing and understanding that the internet is made up of connections of computers. Everybody’s computers, backbones everywhere; almost by definition de-centralized and in everybody’s hands. The internet is now omni-present; and it shall only continue to be more so in the future. It has become (minus ISP fees) a near public-good; a universal source of information and connectivity.

The sooner politicians, big interest groups (read: RIAA), and other self-interested people of supposed ‘power’ come to grips with the reality that the internet can not, and should not be controlled the better off the world will be. Not only because I fear a police state as Karl Sigfrid does, but because I value the personal power I have to communicate with anybody, sending any information via any means on any protocol at any time for any purpose.

My message to those who wish to control the ‘internet’ (read: all the people in the world using the internet. Me. You.) remember whom you serve. The constitution of the United States begins with “We The People”, all the powers of the United States government are derived directly from the will of the people giving them those powers. This is a fundamental in the philosophy of American government. The instant the government is perceived to be acting against the will of the people (which limiting the people’s ability to communicate and share information certainly is) the people have the right to demand change in their government. Similar ideas reside in many other governments of our world and these thoughts should apply universally.


The simple truth is that almost all communication channels on the Internet can be used to distribute copyrighted information. If you can use a service to send a message you can most likely use the same service to send an mp3-song. Those who want to prevent people from exchanging of copyrighted material must control all electronic communication between citizens.

Not most likely Karl, definetly.

Android Test 7 (Success)

Good news: We have a working AIM client that can handle a conversation 🙂 There were many bumps and bruises along the way (lots of technical hickups) but it works, with surprisingly few hacks.

I’ll put aside the detailed analysis of what i’ve done (I plan to comment the code extensively and post a tarball. Thus far about 800 lines of code without including the protocol library) for a while for sake of screenshots:

Android part 6

Happy new year all!

It’s time for a really big status report. After talking with some folk on IRC I’ve learned how to properly use ListAdapters and work their magic. Google really, really, likes polymorphism. Thats cool though.

I spent most my time during the day today (12/31) actually working on the buddy list. I was using some fairly complicated number juggling but after about 3 hours I got things to display in a … sort’ve right way.

So I got back from my new years part post 1AM. I said to myself, wow, this buddy list code is maybe 70 lines long, its ugly, horribly un-modifiable and i’m not confident the output it produces is 100% accurate. So, I commited to SVN for safe-keeping then scrapped it. All of it. About 6 hours of work writing/debugging down the tubes. We learn from our mistakes.

As you can tell, I’m writing this blog post at 2:40 and I’m not in a terribly sour mode. Yep, in a bit over an hour I’ve entirely re-written the buddy list (using vastly wiser data structures) and debugged it. Now not only is the code squeaky clean, and short; but i’m much more confident that the buddy list looks right.

So as of right now, I have 3 different AIM accounts signed on and its showing all their buddies in one big list. The actual “sign on” process takes a reasonably small amount of time; but collecting all of the “this buddy signed on” messages from AIM for some reason takes a bit longer than it should it seems. Will have to investigate and optimize.

Also, if anybody from google who is knowledgable in Android is reading this I have a question. Early on I was worried that I was sending too many intents from my network service; afraid some might get lost because the IntentReceiver was still busy handling the first one. So I wrote a queueing system: The network adds the intents to be sent to a queue and the messenger, in a round robin, when it completes an intent polls each network service for any intents it has left. If they have any, they get broadcast and de-queued. The system works 100% and I’m confident there is no Intent-back log. However, it does require some extra marshalled calls back and fourth; which are expensive. If I don’t have to worry about Intent-backlog I can scrap the whole system and save a handful of marshalled calls.