IEEE Computing Covers Freenet
Rayban writes: "From the Freenet Project homepage: IEEE Internet Computing has an article (pdf) entitled 'Protecting Free Expression Online with Freenet.' It provides an excellent technical introduction to the core ideas behind Freenet."
Follow these five easy steps and never see another Slashdot ad again:
- Go into your Homepage
Preferences.
- Scroll down to the "User Space" textarea, and paste the following four
lines of HTML in there:
(click here to download the adkiller javascript code and put it on your own webspace, in case you don't trust me
:-)
- Scroll down the list of slashboxes, and make sure the "User Space" checkbox (inexplicably located between "MP3.com" and "Myther.com") is checked.
- Return to the front page, and your Slashbox should be there, quietly zapping all iframes and banner-shaped images on the page.
- There is no step 5!! It's that easy.
There are a few problems, however:If you are a Javascript wizard and know how to make this script work on Opera or IE, please tell me. Ad-free Slashdot should be available to everyone!
Loneliness is a power that we possess to give or take away forever
I worry that things like freenet are going to make it so that people will have to engage in continual warfare with people like John Ashcroft.
Ashcroft is the guy who pulled lots of federal enviro data on pipeline locations and stuff from the Net. He will have to attack Google caches and stuff to completely hide this information.
Total lack of anonymity is next. How can Freenet survive if the service is branded as terrorist and the individual humans are pulled away from their terminals while servers are confiscated? No robustness of code can prevent this.
I love Freenet, but to protect anonymity we must acknowledge that not all solutions to civil liberties restrictions are code-based. We must back them up with aggressive defence of civil liberties in political and protest arenas.
Goat sex free since 2001
A year or two ago there was a presentation at my college about Freenet. One of the CS guys here was "on the development team" (whatever that means). I never did hear a real reason, other than ideals, for doing it. (In fact the kid that was talking about it was mentioning an effort to try moving it onto packet radio, thus freeing it from even the censorship of ISPs. This threw a huge red flag for me that he didn't know what he was talking about: this is blatantly illegal by FCC regulations, and anyone who tries it will lose their ham license! No encryption is allowed, in any form whatsoever. You can't even legally come up with a substitution cypher, like "beans" means "meet me in the parking lot" and "chicken" means "9:30pm". NOTHING. And the encryption issue is just the tip of it. Read up on it, get your ham radio license, it'll be immediately clear that doing anything even remotely resembling this is just not feasible on the ham bands in the US.)
So yeah, I'm veering off-topic. Anyway. Let me reiterate: I'm not telling anyone NOT to do work on something they're devoted to. I do appreciate the ideals that Freenet stands for. But seriously, what's going to make it succeed? What makes it worth the horrible inefficiencies designed into the protocol? Is it actually useful to anyone? Alright, enough from me. I hope someone can answer these, I'm very curious. Somebody give me a reason to help the development effort!
The streets shall flow with the blood of the Guberminky.
I've been running a node or two for several years now. There were once a large number of Freenet web sites, but when the protocol changed, most of them dissappeared. Now a lot of them are coming back. But who's to say the protocal won't change again in a few months, and we're back to square one. It seems to be a project with no plan and thus no endpoint. Imagine if Microsoft changed the format for Word files every 6 months, and you get the idea.
I put 8 months of hard work into Freenet - in particular, developing the W--dows FreeWeb client program and the multi-platform FCPtools library. It's very possible that I will return to the project at some time in the near future.
In my mind, Freenet is still very much in its infancy. At present, it's mostly a prototype, suffering severely from being written in J---, but if gcj gets into a fit state (or some hard-assed hackers re-code it in C), the major problems will be overcome.
But to me, one of Freenet's greatest strengths is almost totally unknown - the bottom layer is designed so that almost anything can be easily slotted in and used as a transport - not just plain TCP/stream sessions, but UDP, or tunnels, or anything.
Because of this design foresight, it's very straightforward to write and plug in a few steganographic transport drivers which traffic keys in devious ways, eg usenet groups with graphics file carriers, or whitespace/grammatical stego in plaintext mailing lists or IRC, hidden packets within webcam feeds, even pirate radio (note that Freenet is high on redundancy and very fault-tolerant).
The way I see it, any determined effort at stamping Freenet out will bring the project alive like never before, and cause it to attract legions of talented and inspired developers to keep n steps ahead in the arms race.
"Repress a religion, and it will flourish"
-- James Herbert
-- In the beginning was the WORD, and the WORD was UNSIGNED, and the main(){} was without form and void...
Excellent post, thank you very much! (I must admit, I'm not quite inspired to join the dev team, but.. ;) I very much appreciate your opinions, and your good examples. If only more of the posts on Slashdot were of this caliber. I am so tired of the "you're not good enough for Freenet, we don't want you" attitude I keep getting. (All from the ACs, unsurprisingly enough. ;) Why wouldn't they just answer my question instead of getting all defensive? You did! Thank you! Good post. :)
The streets shall flow with the blood of the Guberminky.
Spammers pollute. Freenet appears to be designed to allow for maximum pollution per unit of legitimate content.
I'd prefer to be proven wrong about this, but it looks to me like the bad apples are going to spoil this barrel even more so than we saw with usenet.
Build stuff. Stuff that walks, stuff that rolls, whatever.
Well then, if you dont like the SSSCA, the RIAA, the DCMA, and you want to challenge it, write applications which are impossible to stop.
Gnutella isnt enough, eventually Gnutella will be attacked in some way and people will need somewhere to go,when this happens freenet has to be ready.
We already have a frost front end, and freenewsreader, we have the FreeWeb, as far as having a napster like app for freenet, thats not going to happen, but you will be able to share files on freenet in complete safety.
If you use Linux, please help development of Autopac
I understand programmers can be esoteric. I took the chance to talk to some of them in IIRC, alot of them are cool. Certainly not as bad as the gnome programmers.
Anyhow, Why sould you develop for freenet? I'll tell you why, because you'll be helping a great deal of people, millions in fact, including yourself. Theres many reasons to use freenet, free storage for the masses is the most obvious reason. Webpages wont cost a dime anymore using freenet So you and many others would save money.
Popular websites would never be taken down, the more popular it is the better the connection is. Freenet works almost like the brain does, the most popular your data the more connections to it.
Work on freenet to make an alternative to the current world wide web if the ideals dont impress you do it for the technology aspect, make freenet a success and you could end up with millions of users who switch from the regular internet, because the regular internet is becoming more and more censored.
Hey i cant tell you what to do, but if i had the ability ( I dont know java ) I'd help make some kinda front end for freenet
If you use Linux, please help development of Autopac
C is also an easier language, its faster, and its better for these types of programs by nature.
If you use Linux, please help development of Autopac
C is easier than Java only in the sense that Windows is easier than UNIX; there's less of it to learn. Once you've learned either well, however, one can build complex projects much more quickly with Java than C.
C is certainly faster. C is without question better in most cases for low-level code -- whoever thought of writing an OS in Java should be shot.
On the other hand, Java makes it much easier to assemble (fairly) large, complex projects -- which, in case you haven't noticed, Freenet is. Network and stream handling is genuinely easier in Java than in C; the same goes for many other tasks. SQL is another that jumps to mind, though it's not particularly relevant here; proper exception handling is Yet Another Java Advantage (don't you hate checking every function's return value in C? Or worse yet, do you just not do it?), and not having to worry about buffer overflows or accumulating unfree()'d memory over days of operation is damn nice.
Understand -- almost all the code I write is in C, Java or Python, and I respect all three for the things they're good at. Freenet is certainly not a Python project, and (due to the need to structure its design effectively and do correct error handling easily) it strikes me as more of a Java project than a C one.
Yes, more people know C -- but if it takes them twice as long to get to release (tracking and removing all the memory leaks and potential buffer overruns, recreating the network code Java does for them, &c) or just takes newcomers twice as long to understand the program's structure (something OO, when done right, makes easy), that's no killer advantage.
Java is object oriented, the whole point of the object oriented design,is to help with complex BIG projects.
However freenet while its complex, i dont think its a "BIG" project. KDE is a big project and its not nearly as complex as freenet.
Big projects benifit from using objects.
As far as if C is easier than Java, to me C is easier, Java has"MORE" syntax than C, its a totally diffrent way of thinking (Object Oriented)
Theres alot of confusing things about Java.
As for bugs yes Java can handle bugs. I just dont think Freenet benifits from the Object Oriented style, please tell me how.
You are right about memory leaks, you are right about buffer overrun, what you forget is how much C code is already written, people wouldnt have to reinvent the wheel for alot of things like they will have to do in Java.
You are right it will take them longer to release at first the foundation, however once that is complete i think C would be nice. If it were C it would also be much easier for Windows users, and Linux users, even Mac users because it could be intergrated very well into the OS.
As far as understanding structure, I think C code is more unstandable but thats just me, anyhow my point is, If its written in C it would have more developers, the project might have been more on the scale of gnutella instead of what it is now.
It would be easy to write a freenet frontend in visual basic for windows but as for java, how do you write a front end for that.
I dont know, I think java has its advantaged but if they needed object oriented i still think C++ would have been better. But if they dont need object oriented, C would have been my choice.
My choice doesnt mean much though does it.
If you use Linux, please help development of Autopac
Why Freenet? It's such a tremendous effort, for something that so few will use. In fact, does anyone actually use it for getting work done? Heck, does anyone use it for anything? (I honestly want to know!)
Forgetting about all the anonymity/freedom-related arguments in favor of freenet... it provides a means of allowing the users to pay for your content distribution!
This is great for folks running, say, a free webcomic who hitherto have had to pay $750 a month for their bandwidth. With freenet, the cost of distributing the content is paid by the users; the more the users use it, the more it's automatically distributed. That has a great deal of value. If I were running a non-commercial web site with a fair bit of traffic and couldn't find free hosting elsewhere, I'd probably run it on freenet myself (perhaps with a for-pay web version so folks who want to go that route can pay for the bandwidth themselves). If the webcomic authors wanted to take advantage of freenet's anonymity features (which they probably wouldn't -- getting credit for your work is a Good Thing), they could also avoid being sued by corporations angry about such things as, say, Jesus peanut butter cups.
Sure, not many people use it right now. Once critical mass is reached (of either users or content), it's reasonable to expect that to change.
a well written C program can be as portible as Java.
Not if you want to use advanced OS features such as sockets or a GUI and the most common workstation operating system on the most common consumer workstation doesn't support POSIX well, let alone X11. Or are you talking about emulating POSIX on a winbox (that is, the opposite of WINE)?
Java code is not native
Bull. GCJ can compile Java language source code to a native binary using the same code generator G++ uses. Granted, you do lose a bit of performance to the GC thread.
Will I retire or break 10K?
They havent released an update in almost a year.
If you use Linux, please help development of Autopac
Post a comment to this Sourceforge bug report telling Jamie what tags you want liberated.
Loneliness is a power that we possess to give or take away forever