Archive for April, 2006

p2p HTTP proxy

Wednesday, April 26th, 2006

The other day I read the article in BBC News about Google that is going to censor itself in China (article, same on CNET). I really think that is disgusting to make the most free and open human creation (the Internet) a self-censoring medium. Of course, who can blame Google? China is a highly flourishing economy and the guys in Google want to make business - and money. If they don’t, someone else will, so do not blame them.

For quite some time I was thinking of having the ability to offer proxies to all those, like the Chinese people or the citizen of Saudi Arabia, that have limited or censored access to the Net. The idea has matured in my head and I am proposing a peer-to-peer HTTP proxy service.

I strongly believe that through minor modifications or plugins to existing p2p software - I believe the best candidate are the Gnutella network and Freenet - we can support a p2p service that could be available to all people around the world. I am willing to share a portion of my bandwidth to let anyone to read and write freely. Are you?

Technical proposal: I am proposing a scheme that is to be built around an existing p2p network (Gnutella, Freenet, other) that could look like this:

  • For users that act as proxies
  1. create a virtual shared file over the p2p network (for example bouncy_proxy.nocensor)
  2. start the proxy plugin
  3. you are ready ;)
  • For users that need to bypass censorship
  1. start the p2p software
  2. configure the web browser to use the p2p plugin as a proxy
  3. when you write a URL to the web browser, the plugin searches the p2p network for file bouncy_proxy.nocensor and registers it as a valid proxy
  4. use one or more proxies to retrieve the content for the requested URL
  5. you are free ;)

I do not know how this would work and how to solve some security issues - this is not something that you would use to login to your bank account. And of course forget HTTP pipelining and persistent connections.

However, IMHO, it worths a try. If only I had more time. To make the Net more free.

Java 2 Browser Edition

Wednesday, April 12th, 2006

In his blog, Ethan Nicolas suggests to have a smaller, more compact Java2 version, the J2BE (Java 2 Browser Edition).

He thinks that JRE (Java Runtime Edition) is too bloated (~7MB) and Sun must create a smaller edition that will dynamically download any necessary classes from the Internet whenever they are needed.

I totally agree with the above. JRE is indeed too bloated and that new cut-down version could be nice and could easily beat Macromedia Flash (now part of Adobe) and AJAX.

However, he also supports that 1) Java is slow, 2) it is unreliable and 3) it cannot be installed easily. Starting from the latter, I say that he either didn’t install Java or that he is using some exotic hardware. I’m using Java on GNU/Linux and Microsoft Windows XP and have never had any problems installing it - moreover on my Linux (OpenSUSE 10.0) it was installed automatically during installation. And I do not know anyone, either simple user or developer that had problems. Of course I’ve never had any problems with Flash either.

He states that Java is unreliable. Yes it is, if the developer does a crappy job. In the mean time, my browser hung while viewing Flash content, just because the developer made a crappy job. So it is not a Java problem, it is a developer mentality and ability.

And here comes the first argument: Java is slow (while starting). Yes, the JVM is a bit slow to come up, however in today’s machines it is not that bad. And I prefer to have a slow start than a slow experience (TM).

What he forgets though is that:

  1. Flash is only available in a few platforms, while Java, through the open-source implementations, is available in almost all platforms - have you ever seen Flash on Alpha processors? I haven’t…
  2. Java is a lot safer than Flash - yes, Flash has some security flaws and nobody, except Macromedia, knows them. Recently a bug was discovered. What was the last time there was a security flaw in Java?
  3. AJAX does not scale well. Today’s AJAX applications are simple. But what will happen tomorrow when there will be full featured applications? Are there any tools to create such applications? For Java I can think of some (eclipse, NetBeans, JBuilder etc.).

Photoshop cannot be ported to MacIntels

Saturday, April 1st, 2006

According to Scott Byer, an Adobe software engineer, they cannot make the transition for Photoshop CS from PowerPC to x86. The problem is that they cannot port the existing codebase to XCode (Apple’s development tool) and create Universal Binaries.

So now, they are doing heavy work to clean things up and make the transition to XCode. All of you remember, this is not open-source software that one can make a quick compile, distibute, see what is wrong and then fix it.

They must create a quality application that will be used by professionals all over the world and if it is bad it won’t be nice for the company profile.

My point of view: MacOS and Photoshop were an endless hack. So now, they need to revert it to more clean code. It would have happened some time in the future.