Social and professional networking

View Ian Clarke's profile on LinkedIn
Shameless plug

Does your company's revenue depend on being able to predict the future based on past data?  SenseArray may be able to help.

RSS
Links
Saturday
05Dec2009

The GOP's war on healthcare ignores facts, and history

Carly Fiorina gave the GOP address this week, claiming that the task force which recently came up with recommendations about breast cancer screenings is a sign of things to come if health care reform is passed. She complains that the task force didn't include an oncologist, a radiologist, or other cancer experts. What was Obama thinking?!

The only problem? This task force was set up last year under Bush, not by Obama! Of course she doesn't mention this minor detail, can't let the facts get in the way.

She goes on to peddle the whole scare tactic about government bureaucrats deciding who lives and who dies. Isn't she aware that health insurance company bureaucrats do exactly this every day?

Doesn't she realize that since breast cancer is a serious pre-existing condition, there is no way she'd be able to get individual coverage under today's system if she had to change insurance providers today? 
Of course, she doesn't have to worry too much about health insurance because she is a multi-millionaire, but most people aren't.

The new reform bill is far from perfect, but the perfect should not be the enemy of the better. The fact that it will prevent insurance companies from denying coverage due to pre-existing conditions is reason enough to support it.

In 10 years when people look back on this, the GOP's war on healthcare reform will look just as ridiculous as their war on Medicare in the 60s when they used all the same rhetoric about "socialized medicine".

I'll end with a quote, let me know if it sounds familiar:

"If you don’t stop Medicare and I don’t do it, one of these days you and I are going to spend our sunset years telling our children and our children’s children what it once was like in America when men were free" - Ronald Regan, 1961.

Thursday
03Dec2009

A great tip for diagnosing Java memory issues

My good friend (and creator of Apache Wicket) Jonathan Locke just gave me a great tip.  I was aware of the jmap utility, but didn't know it could do this:

Just type:

jmap -histo:live <pid>

Where <pid> is the process id of a Java process, and it will dump out all objects, starting with whichever is taking up the most memory.

The handy thing is that the Java process doesn't need to have been started with any kind of special command line options, it will work with any running Java process.

I wish I knew this a few weeks ago while debugging a memory leak on a remote server...

Thursday
03Dec2009

I've found a new URL shortener

I've found a new URL shortener.  It is nowhere near as powerful as BudUrl, but it has one overriding advantage.  Take a look at http://to/

Wednesday
25Nov2009

The Guardian writes about Freenet

A few weeks ago I spoke to Andy Beckett of The Guardian in the UK, he was writing an article about "the darknet", and wanted to talk to me about Freenet.  I was quite pleased about this because when I'm in the UK the Guardian is by far my favorite newspaper.

We had a good conversation, I talked about the original motivation behind Freenet (read about it here), our challenges, like balancing the very theoretical issues we face with the need to write software that non-techies can use, and other things.

At one point he mentioned the dangers of "bad" uses of Freenet, but he did so in a very coy almost apologetic way.  I immediately assumed he was thinking of child pornography, and made it pretty clear that I was more than happy to discuss that, indeed of the hundreds of conversations I've had with journalists about Freenet over the past 10 years, I can't think of one where I didn't discuss the CP issue!

I told him what I tell everyone, which is that like most people I wish CP didn't exist, but there are many ways to get it other than Freenet, and I don't think people should be denied the freedom to communicate just because a small minority might use it for something we don't agree with.

My impression at the time was that he really wanted to get off the subject, which I thought was a bit surprising since journalists love controversy, and there are few things as controversial as child porn.

Anyway, Google Alerts just told me that the article has appeared on the Guardian's website (skip to the bottom for the link).

Overall I think it was quite a good article, I was particularly excited to read:

Installing the software takes barely a couple of minutes and requires minimal computer skills

I think Andy may be the first mainstream journalist in the history of Freenet to actually install and use the software before writing about it!

I was a little surprised that it did focus almost exclusively on the negatives implications of an absolutist "free communication" philosophy.  For example the subtitle is:

In the 'deep web', Freenet software allows users complete anonymity as they share viruses, criminal contacts and child pornography

I was neither surprised nor annoyed that a journalist would want to talk about computer viruses, criminals, and child porn, after all - controversy attracts clicks and lets face it, our newspapers need all the help they can get attracting revenue these days.  Further, it is perfectly legitimate to talk about the fact that freedom of communication implies freedom for people to communicate data and ideas we don't like.

I was a little surprised, however, that Andy didn't seem terribly interested in discussing these issues when we spoke by phone - even though I made it very clear that I was happy to and I even tried to steer the conversation in that direction.

Regardless of this slight surprise, I haven't yet noticed any major errors in it, at least no errors on Andy's part (although the [sic] after the American spelling of "pedophile" is not exactly in the spirit of cross-Atlantic harmony).  I am curious about how he knew I was a pasty teenager (although he was quite right)!  Not so much now that I've been living in Texas for a few years.

I did find this interesting though:

According to the police, for criminal users of services such as Freenet, the end is coming anyway. The PCeU spokesman says, "The anonymity things, there are ways to get round them, and we do get round them.

If, by "the anonymity things" they are referring to stuff like simple referrers, or even just using your browser in "incognito" mode, then they are correct.  But if they are referring to technologies like Freenet and Tor - then either they are mistaken, lying, or they know something about Freenet and Tor that neither I, nor anyone I've ever met or heard from, has discovered.  This is extremely unlikely, I know many of the best security people in the world, and none of them work for the British police.

This isn't to say that identifying a user of software like Freenet or Tor is impossible, but it would require either an impractical expenditure of resources (bugging computers, etc), or for the user to do something like accidentally disclosing their identity on Freenet.  We can guard against many things, but we can't guard against stupidity :-)

Anyway, as I said its a pretty good article, and despite its focus on the negative - it will hopefully bring some new users to Freenet.  Read it here: The dark side of the internet

Saturday
14Nov2009

Polynomial regression on a large dataset in Java

For an internal project at my day job I needed to find the n degree polynomial that best fits a (potentially very large) dataset, something like this:

Note: Yes I know the function illustrated above isn't a polynomial, this was the best illustration I could find of curve fitting on short notice.  I hope you'll forgive me.

I asked a question on Reddit about this, and Paul Lutus was kind enough to respond with a link to some code that did something close to what I needed, however Paul's code was not well suited to very large amounts of data.

So with his help, I modified his code to decouple it from the original application it was a part of, make it follow good Java coding practices a bit more closely, and in doing so make it more flexible and well suited to handling very large datasets.

The code is under the GNU Public License, which is unfortunate since its a library and the GPL is viral and Paul is unwilling to relicense under the LGPL, meaning that I or someone else will need to re-implement under a different license if the library is to be used within non-GPL'd code :-(

Here is the source, collaborative free software at work, and please comment if you find it useful!: PolynomialFitter.java