Slashdot Mirror


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."

44 of 231 comments (clear)

  1. The Cheap Alternative to Subscribing by Starship+Trooper · · Score: 2, Offtopic
    If you're like me, you're probably wondering just why the hell anyone would pay for Slashdot, let alone want to support it. As it turns out, Slashdot already has all the features you need to completely disable all advertisements without paying those greedy slobs at VA Software a cent. All you need is a DOM-compliant browser, such as Mozilla or Konqueror, and the User Slashbox. With disgustingly-placed new full-page ads now arriving, the time has come to show that we users will not let ourselves be advertised into submission.

    Follow these five easy steps and never see another Slashdot ad again:

    1. Go into your Homepage Preferences.
    2. Scroll down to the "User Space" textarea, and paste the following four lines of HTML in there:
      <script type="text/javascript" src="http://pknet.com/~joe/adkiller.js"></sc ript>
      <script type="text/javascript"><!--
      delAds();
      --></script>
      (click here to download the adkiller javascript code and put it on your own webspace, in case you don't trust me :-)
    3. Scroll down the list of slashboxes, and make sure the "User Space" checkbox (inexplicably located between "MP3.com" and "Myther.com") is checked.
    4. Return to the front page, and your Slashbox should be there, quietly zapping all iframes and banner-shaped images on the page.
    5. There is no step 5!! It's that easy.
    There are a few problems, however:
    • Opera doesn't seem to work with this at all.
    • Internet Explorer won't automatically remove the ads, but by appending the following to the above code:
      <a href="javascript:delAds()">Click to delete ads</a>
      and clicking the new link in your Slashbox, the ads will go away.
    • The User Slashbox only shows up on index.pl and articles.pl pages, so comment and user pages will still have ads. Luckily, the article pages seem to be the only ones running the obnoxious new full-page ads, so this shouldn't be too annoying.

    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
  2. anonymization arms race by perdida · · Score: 5, Insightful

    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.

  3. Freenet... Why? by Uberminky · · Score: 3, Interesting
    I don't mean this to be a troll or anything. I do realize that there are ideals behind it -- free speech for everyone, censorship is the devil, etc. That's dandy. But seriously. 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!)

    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.

    1. Re:Freenet... Why? by Cryogenes · · Score: 2, Informative
      Inefficiency is not the problem. The protocol is, as I understand it, not inefficient at all.

      The problem is complexity. The Freenet protocol is more complex by orders of magnitude than protocols such as gnutella, FastTrack, edonkey, etc. Complex software is hard to write. Complex software that cannot be tested before release is almost impossible to write.

      Do you believe in death after life?

    2. Re:Freenet... Why? by Harik · · Score: 2, Interesting
      Somebody give me a reason to help the development effort!

      Because someone like you won't let them do something stupid like store files uploaded at your node in plaintext before encrypting them... and _LEAVE_ them in the datastore plaintext, forgotten, just waiting for someone to come and find them.

      Or how about not creating temporary files for large uploads? Would you do that? Would you just tell someone to 'delete them' afterwards, or would you go through and overwrite the contents with random data first?

      Perhaps you would be able to create a block storage system with the simple requirement of storing files sized in powers-of-two that won't continually decide to eat it's own contents.

      Then again, you might choose to implement speed-critical things like cyphers in a machine-native language (C), so the whole project will run at a reasonable speed.

      Perhaps you might be inspired to write the WHOLE thing in a machine native language (C) and spend (gasp) 25 minutes writing some wrappers around the few OS-dependant things it has to do (Network sockets, mostly. Opening files is pretty standard)

      No, someone like you better stay off the project, god forbid it be usable by now!

      --Dan

    3. Re:Freenet... Why? by Uberminky · · Score: 2

      Having a zillion copies of everything, scattered across the globe like dust particles, isn't inefficient?

      --

      The streets shall flow with the blood of the Guberminky.

    4. Re:Freenet... Why? by Gaccm · · Score: 4, Insightful

      have you ever been to cryptome.org, or any sites like it? Those sites create lots of enemies because of their content. If their content was copied to freenet, then it can't all be lost in one fell swoop. Freenet would be the mirror that couldn't be taken down. As for what it currently is being used for? Well, 1) its still beta, but just like all new techs it has lots of porn on it. But i havn't used it in months so i'm not the best source.

      Basicly, once its big enough, i'll use it just like i currently use gnutella.

      --

      Only dead fish swim with the stream...
    5. Re:Freenet... Why? by Uberminky · · Score: 2
      Not at all. That's called redundancy

      Redundancy IS storage-inefficient. My original question was, is this tradeoff worth it? What do you use Freenet for? Somebody, please answer the question!!

      --

      The streets shall flow with the blood of the Guberminky.

    6. Re:Freenet... Why? by km790816 · · Score: 3, Informative

      The founder guy gave a talk that I had the pleasure of attending this summer.

      The coolest thing freenet is used for now: helping free speech in China. There is a version that fits on a floppy and it's used to spread information about things the Communist party doesn't like: basically anything that isn't pro-Communist party.

      The funny thing: when pressed on what freenet is used most for, the answer came back: porn. Laughs all around at the talk, but the positive impact in China seems like a good example to me.

      "To hold a grudge is to maintain an intense connection with someone you might not want to have a relationship with in the first place."
      -Francine Prose

    7. Re:Freenet... Why? by Uberminky · · Score: 2
      I can go into the bathroom and shout into the toilet, and you know what? Nobody will hear me! HEY!! Freedom of speech! I can say anything I want! That's frickin' rad. ;)

      Seriously though. I've gotten a million replies saying "freedom of speech". But is it speech if nobody listens? I'm asking for an actual use. China, yeah yeah. (What do you do when they decide to put anyone using Freenet in prison? Fat lot of good that did you, eh?) Cryptome.. there's a million and one better ways to do it that are here now and working great.

      I'm sorry. Maybe the replies I've gotten are perfectly great, and I'm just stubborn and unaccepting of them. It doesn't feel that way though. These answers are extremely unsatisfying to me. So, in response to all the other people who will repeat that I need to stay away from Freenet: don't bother, I already do. ;) (I am still welcoming any honest answers to my original question, though, from anyone who has more to say than that I am a retard for not understanding what "free speech" means. I look forward to reading them.)

      --

      The streets shall flow with the blood of the Guberminky.

    8. Re:Freenet... Why? by Uberminky · · Score: 2

      I really don't like this whole "stay outta my treehouse, we're better than you" attitude I've been getting. I have been asking legitimate questions. If you are offended or insecure by me asking them, perhaps you have more important things to think about. Fine, so you want a forum for free speech. As I understand it, Freenet does not provide such a forum, it merely acts as a medium. So does such a forum exist? Does anyone use it? Please read my questions before you start insulting my intelligence. I have been trying my best not to be insulting to others, and I'd appreciate it if others did the same for me. We don't have to agree, but being civil is a prerequisite for gaining support. And no matter how 1337 your treehouse may be, if nobody supports it, it will crumble.

      --

      The streets shall flow with the blood of the Guberminky.

    9. Re:Freenet... Why? by Uberminky · · Score: 2, Informative
      Your comments on moving it to packet radio are pretty much wildly inaccurate.
      No, they aren't. GPRS is a GSM thing (if I understand correctly), which isn't what we were talking about. I was referring to amateur radio based packet radio, using amateur radio frequencies. This is what the freenet guy was talking about that I mentioned. (I thought that was clear, but apparently not.) And it is a (unfortunate?) fact that encryption is not permitted on amateur bands. You need to know all of this stuff to pass the ham radio license exam, which is why I know it. Allow me to quote FCC Amateur Radio regulations, part 97.113 ("Prohibited transmissions"), section A.4 (emphasis mine):
      Music using a phone emission except as specifically provided elsewhere in this Section; communications intended to facilitate a criminal act; messages in codes or ciphers intended to obscure the meaning thereof, except as otherwise provided herein; obscene or indecent words or language; or false or deceptive messages, signals or identification
      You are right, people could set up commercial radio transmissions similar to GPRS, but that wouldn't have several of the advantages that the guy I mentioned thought could be had by using ham radio.
      --

      The streets shall flow with the blood of the Guberminky.

    10. Re:Freenet... Why? by dghcasp · · Score: 4, Insightful
      Why? Simple. It's a system for distributing information of questionable legal status.

      If I wanted to put up pictures from my vacation, I'd use the web and HTTP protocol - everyone has it and there is no content problem with my pictures. I wouldn't ask my friends to download (and compile!) a tool and pass around PGP keys.

      Freenet et al come into their own only when you want to put up content that you expect that people will try to force you to take down.

      Sometimes that content does have some redeeming features even if illegal; the Xenu texts help show how ridiculous Scientology is at the higher levels, yet they're illegal (copyright violation.) The documents spirited out of the tobacco companies that proved everything they'd ever said about "no harmful effects" were lies and led to the huge settlements to the government: All private, controlled documents that were effectivly stolen and illegally published by the whistle-blowers.

      These are the things people "think" when they think of how freenet, &c. will save free speech. Yes, they're illegal, but they're important.

      Of course, the report compares their system to Napster, not whistle-blowing. Argue as you may, Napster was just another system for distributing material of questionable legality (i.e., if you had the CD, you could have burnt that MP3 yourself!) The whole report has a feel of "here's how we're not gonna be shut down like Napster was." I don't know the exact history, but didn't freenet really only take off when Napster started having problems?

      Dose of reality: If anything actually useful does make it into the FreeNet (and ugh, couldn't they have picked a name that doesn't mean "Free Network BBS access" to anyone who'se been online > 10 years?), it'll never be found, expired away to make room for all the goat and child movies.

    11. Re:Freenet... Why? by HanzoSan · · Score: 2
      --
      If you use Linux, please help development of Autopac
    12. Re:Freenet... Why? by Hobbex · · Score: 2

      If I wanted to put up pictures from my vacation, I'd use the web and HTTP protocol - everyone has it and there is no content problem with my pictures. I wouldn't ask my friends to download (and compile!) a tool and pass around PGP keys.

      Don't count on it, companies have successfully sued for copyright ownership of the image of their buildings. I believe the landmark case was the rock and roll hall of fame building, so at least if you went to Cleveland (he) you probably cannot freely post your pictures.

    13. Re:Freenet... Why? by Hobbex · · Score: 2


      There isn't enough bandwidth in the HAM frequencies anyways. There are other bands that are completely unlicensed, though typically they are supposed to be limited to low range use (although at least here in Europe there are unlicensed walky-talky bands with typical usage over several kilometers).

    14. Re:Freenet... Why? by cduffy · · Score: 2

      Space-efficient or time-efficient?

      If time-efficiency (or redundancy) is important, then having multiple copies is well worthwhile. Space is cheap. Availability isn't, always.

    15. Re:Freenet... Why? by cduffy · · Score: 2

      Fine, so you want a forum for free speech. As I understand it, Freenet does not provide such a forum, it merely acts as a medium.

      Freenet-the-medium encourages the forum; that's all it can be expected to do. (Incidentally, message boards like Frost make having that forum even easier). Perhaps the forum doesn't exist yet (and perhaps it does) -- but by providing an underlying layer, Freenet makes it easier for those who wish to create it to do so; that's all that one can reasonably expect from any technology.

      Ask yourself: Does the NNTP protocol itself, or any client or server for the same, actually create a forum in and of itself that anyone uses? How about TCP/IP (on top of which NNTP sits)? And if TCP/IP doesn't create a forum (but still provides a medium for applications like newsreaders which you might argue do), does that it make it less valuable, or more?

      Thank Freenet=TCP/IP, and Frost=Usenet. Does that help any?

    16. Re:Freenet... Why? by Greg+W. · · Score: 2

      What do you use Freenet for? Somebody, please answer the question!!

      At the moment, not a whole lot. Some people apparently like to post inflammatory or politically incorrect comments to the authors of popular Freesites (like Content of Evil); and because the submission of this information is anonymous, they can say outrageous things without as much worry that someone in dark sunglasses will come knocking on their door tomorrow.

      But it's rather easy to imagine some of the possible uses for Freenet. Consider a web comic. Most web comics are published daily, or N times per week where N is between 1 and 6. In order to do so, the comic author has to have a place to host the comic, for which he or she probably pays a monthly fee. The more popular the comic is, the more bandwidth the author will have to pay for. The current models of financing this business/hobby are advertisements, merchandise, and requests for donations. Most web comics are doing at least two of these; many do all three.

      Now, consider what would happen if a web comic were published on Freenet instead of the World Wide Web. One of the most popular sites in Freenet, Content of Evil, is published by someone claiming to be a dial-up user! You don't have to pay bandwidth costs for Freenet publication. In fact, the more popular your site is, the better.

      The "daily update" nature of most Freenet sites lends itself perfectly to web comics, which are also updated daily. (If you miss a day, your site will be unreachable for that day, but astute readers will know how to get yesterday's edition.)

      I don't know of anyone who's using Freenet for such a purpose; I don't even know of anyone who's considering it yet. Freenet's not really stable enough for such an undertaking yet. It's also a bit newbie-unfriendly; most of the people who draw comics aren't geeky enough to understand Freenet's CHK, KSK, SSK, etc., let alone that insane "encode the date in hexadecimal" thing.

      But there may come a day when Freenet is fast and stable, and it's relatively easy for an end-user to understand how to publish a Freenet site. (There is a fair amount of documentation floating around now; it varies in quality and up-to-dateness.) When that happens, a great number of assumptions that we take for granted may be overturned.

  4. Main problem now- Freenet is slow and in flux by LM741N · · Score: 4, Informative

    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.

    1. Re:Main problem now- Freenet is slow and in flux by Matrian · · Score: 2, Funny

      "Imagine if Microsoft changed the format for Word files every 6 months, and you get the idea."

      What do you mean 'imagine'? ;o)

      Word 6 to Word2K to WordXP within 3 years, all with back-compatibility issues, far as I've seen.

  5. The best is yet to come... by heretic108 · · Score: 5, Interesting

    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...
    1. Re:The best is yet to come... by Tom7 · · Score: 3, Interesting

      How does having it written in Java make it suffer? I ran a node for a while, and the performance was just fine. It's also nice to know it won't have any buffer overflows.

      I can understand the desire for native-compiled code, but... C??

    2. Re:The best is yet to come... by mikedotd · · Score: 2, Informative
      Agreed. I run a node with OpenJit and the performance is pretty acceptable even after increasing maxNodeConnections threefold.

      --
      -- mikeDOTd
    3. Re:The best is yet to come... by PD · · Score: 2

      I wrote a real-world app that was too slow in Java, but fast enough in C++. It worked against gigantic flat files, tore them apart, then put them back together again into a relational database.

      My benchmarks showed that the Java program would require 12 years to complete the job. I rewrote the program in C++ and the time dropped to 12 hours.

      So, yes, I think Java is slow for some tasks. As you say, those tight loops seem to be something that Java isn't good for.

    4. Re:The best is yet to come... by PD · · Score: 2

      150 megs? Those aren't huge. I was working with files that were gigabytes in size, doing complex transformations. I was using StringBuffer for everything.

      So, obviously you were doing some trivial problem that Java could deliver passable performance on.

    5. Re:The best is yet to come... by PD · · Score: 2

      I've met vast numbers of people who are Java programmers who don't have a clue about programming, yet they still get paid for it.

      I repeat once again: splitting files and such was the trivial part of the task. It's the other things that had to be done that were the killer. If you simply read what I wrote, then you'd have avoided embarassing yourself.

    6. Re:The best is yet to come... by PD · · Score: 2

      OK, I'll explain it to you. If I were your boss, I'd put this reprimand down in your permanent record.

      You started jumping all over me without knowing the basic facts. In effect, what you did was hear the first sentence spoken in a meeting and then proceed to tell all your coworkers how idiotic they are.

      So, since you're so smart, can you tell me

      1) what the platform was
      2) wat the dataset was
      3) what the transformations were
      4) what optimizations were tried on the Java side
      5) what the JDK version was
      6) what the network parameters were
      7) what the database connectivity software was

      Uh oh, you spoke without knowing a DAMN THING! That makes you an idiot.

      For the problem at hand, the C++ tools available really were that much better than the shitty Java tools available.

      As I said in the very first post I put there, there are things that Java is adequate for. This just didn't happen to be one of them. Live with it.

  6. Excellent post. by Uberminky · · Score: 2

    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.

  7. server push vs. client pull by NFW · · Score: 2, Interesting
    So it's more like newsgroups, where servers pass stuff around among themselves, waiting for clients to come by and ask for articles. I don't find that reassuring... At least with newsgroups there's some amount of moderation (reduce spam input), cancelling (retroactive moderation), and traceability (so spammer accounts can be revoked).

    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.
    1. Re:server push vs. client pull by cduffy · · Score: 2

      Cancelation lists are easy to do with freenet -- I'm almost suprised frost doesn't support them already. The concept is simple: You simply publish your cancel list or request someone else's, and your node doesn't request any of those keys. Keys everyone "cancels" that way fall off the network.

      Simple.

  8. Do you like the SSSCA? by HanzoSan · · Score: 2


    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
  9. Its not like that by HanzoSan · · Score: 2



    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
  10. More people know C by HanzoSan · · Score: 2


    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
    1. Re:More people know C by HanzoSan · · Score: 2



      Thats your opinion. C is not object oriented, its designed totally diffrent, in fact C and Java are opposites. You are comparing Java to C++.

      C is a straight forward language, sure you can say that things in C have similar counter parts in java, Java has methods and objects, C has functions, header files, structures and unions.

      C is more well known, theres BETTER C coders and very few good java coders (check out most java programs) Theres more documentation and tutorials for C, theres more C code written for refrence purposes and use in your projects.

      Please dont make me laugh with this Website written in Java stuff, Java will never work for the web, it was a bad idea from the start, Java Applications however i think will be just fine.

      A well written peice of Java can be as fast as C you say, yes thats true, but a well written C program can be as portible as Java.

      The real benifit is the fact that everyone knows C, as far as using C for websites you can do that. Ive never done it myself but i know it can be done.

      The benifit of Java and perhaps the only benifit i know of, your code may be alittle less buggy.

      As far as your code being optimized, you'll never beat C here with java, Java code is not native, You can compile the C code to take advantage of your hardware, now maybe, MAYBE there is a way to get native speeds in java, but its still not as efficient as C.

      My opinion is, for some programs object oriented languages may be better, take a look at KDE vs Gnome for a good example. But for others, i think you could write it faster in C.

      Compare how you'd write a program in C, then compare it in C++, then Java, depending on the program, the size of it, and what its doing, it can be written faster in a certain language.

      I'm no freenet programmer so i cannot say, but if the programmers say java is a problem and they are working on freenet, hey i guess java is a problem.

      The only reason I'm not involved in freenet is because its Java, if it were C i may have gotten involved somehow.

      I dont think i'm the only one.

      --
      If you use Linux, please help development of Autopac
    2. Re:More people know C by Tom7 · · Score: 2

      Just because something is, doesn't mean it ought.

      The fact that more people use C says little about the language except that it is older and popular. (Lots of people here would be upset if you applied the same argument to Linux versus Windows.)

      For a network app, it is ludicrous to write in C. You have to deal with buffer overflows, memory leaks, cumbersome char*-handling routines, and portability problems. Out of it you get a whole lot more code for a lot more time and headache, and also some speed increase. During the same time, you could have been optimizing your Java (or whatever) program and improving things like data structures and algorithms (which as we all know is what *really* matters in performance).

      I ran a freenet node for a while and speed was not a problem. Ease of development and security are much more important, and Java (or other, better modern languages) win hands down for these.

  11. "Easier"? by cduffy · · Score: 2, Insightful

    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.

  12. Well duh by HanzoSan · · Score: 2


    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
    1. Re:Well duh by HanzoSan · · Score: 2

      I agree i dont like perl either. But i prefer C++ over java slightly.

      Java just doesnt feel like a real language to me, it almost reminds me of visual basic, I know its a real language but, I dont like it.

      Perl makes no sense, follows no standards, its just weird, it is good for stuff dealing with strings but thats about it.

      --
      If you use Linux, please help development of Autopac
    2. Re:Well duh by Tom7 · · Score: 2

      You don't have to program with objects in Java. You can program totally C-like code (you just have to do away with some unsafe C idioms that aren't very good anyway) in Java and just benefit from its type safety, memory management, portability, and large library of utilities.

      I think maybe you just haven't had enough experience with Java? Having no core dumps, memory leaks, or buffer overflows really is a nice thing, especially for network apps...

  13. Cheap content distribution by cduffy · · Score: 2

    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.

  14. Few computers know POSIX by yerricde · · Score: 2

    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?
  15. Espra is dead by HanzoSan · · Score: 2

    They havent released an update in almost a year.

    --
    If you use Linux, please help development of Autopac
  16. Yeah, it's for "security reasons" by Starship+Trooper · · Score: 2

    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