Slashdot Mirror


Why Freenet is Complicated (or not)

JohnBE writes "'This article is primarily a friendly rebuttal to Steven Hazel's CodeCon 2002 talk entitled "libfreenet: a case study in horrors incomprehensible to the mind of man, and other secure protocol design mistakes". Hazel presents the Freenet protocol as an overly complicated, self designed crypto layer. In fact, though somewhat complicated, literally every step in the protocol was carefully thought out to resist certain attacks and to increase certain properties desirable for Freenet operators and the network as a whole.' Interesting in light of Peek-a-booty, this article covers many of the issues involved with creating a anonymous P2P system."

153 comments

  1. A little honesty is refreshing sometimes by Tri0de · · Score: 3, Interesting

    (from the article) ...
    Some perceived minor irritations may arise due to the implementation of Freenet in Java. Java is not like C, so some porting issues are bound to arise. Porting is hard sometimes.

    --
    "Everyone is entitled to their own opinion, but not their own facts."
    1. Re:A little honesty is refreshing sometimes by grammar+nazi · · Score: 5, Interesting
      In paragraph specifically mentions that the security model is overly complicated. For comparison...

      Microsoft's argument for a long time was that Java's security model was overly complicated. ASP, by contrast, had a simplified security model. Either an ASP executes scripts locally, or it doesn't. Thus ASP does have a simple security model.

      Now... which security model will be suitable for your projects? Which security model is potentially better for the client browsers?

      I am extremely familiar with freenet and I can tell you that the current security model is very *robust* yet I feel that it is very streamlined. By contrast, napster's security model was simple. So Mr. MP3 Pirate, which security model would you prefer? Do you want to continue to enjoy music or would you rather get nasty letters from the MPAA/RIAA and get your cablemodem shut off.

      --

      Keeping /. free of grammatical errors for ~5 years.
    2. Re:A little honesty is refreshing sometimes by Zeinfeld · · Score: 2
      Microsoft's argument for a long time was that Java's security model was overly complicated. ASP, by contrast, had a simplified security model. Either an ASP executes scripts locally, or it doesn't. Thus ASP does have a simple security model.

      I am at Rsa2002, Microsoft just presented a security model that is much richer than than Java's.

      Basically they combine the fine grained permissions model of VMS (also seen in Java) with a policy engine layer similar to that of Matt Blaze's Policymaker (not surprising given the people involved).

      The problem with the java model is that it is too complex for people to use. It increases the permissions complexity without providing user interface sophistication to match.

      PS: contrary to the FUD spread by Gosling the other week it is clear that the security model was built into the design of .NET and was not an afterthought.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    3. Re:A little honesty is refreshing sometimes by Anonymous Coward · · Score: 0

      Huh? policytool GUI is pretty damned idiot proof. Stop spreading FUD about Java security. If you actually knew anything about it, you'd know that the equivalent of policy engines are pluggable classloaders...

  2. Oh the joys of cross-posting by stjobe · · Score: 2, Informative
    --
    "Total destruction the only solution" - Bob Marley
  3. Why Freenet is complicated by October_30th · · Score: 0, Troll
    Because it's been written in Java.

    How do you expect people to set it up when the majority of people are not familiar with non-standard implementation languages such as Java?

    I for one couldn't figure out how to get it to work even though I have been programming in C and C++ for over ten years.

    --
    The owls are not what they seem
    1. Re:Why Freenet is complicated by coltrane99 · · Score: 0, Flamebait

      What a great opportunity for you to stop resting on your laurels and learn something then.

    2. Re:Why Freenet is complicated by hardburn · · Score: 1

      Yeah, crypto is easy. Knowing what a "CHK" is without looking it up is easy. Figuring out how to stop Man-in-the-middle attacks is easy. Solving the initial node announcment problem is easy. It's just that gosh darn Java that is getting in the way.

      Incedently, there are many people working on a GCJ-compiled Freenet, which would allow you to run a Java node as a native program. Why don't you go help them out instead of whining on Slashdot?

      --
      Not a typewriter
    3. Re:Why Freenet is complicated by benad · · Score: 1
      Yeah, crypto is easy. Knowing what a "CHK" is without looking it up is easy. Figuring out how to stop Man-in-the-middle attacks is easy.
      Yes, especially if you use GnuPG and/or SSL. Oh wait, their security code in Java is getting in the way...

      - Benad

    4. Re:Why Freenet is complicated by Anonymous Coward · · Score: 0

      Because it's a doomed project. It was from the start. Those that spent time working on it were/are fools for not seeing the obvious limitations and the *obvious* misuse of the system. I really don't feel like contributing to the warez and kitty prOn fuckers out there thankyew.

    5. Re:Why Freenet is complicated by darkmoon · · Score: 1

      As a previous node operator and development mailing list lurker, I can tell you that shitty VMs account for half of Freenet's problems. When you write in C, you don't have to put up with a VM.

    6. Re:Why Freenet is complicated by Anonymous Coward · · Score: 0

      Oh, come on. What's wrong with warez and kitty porn? You're just intolerant and bigoted.

    7. Re:Why Freenet is complicated by cduffy · · Score: 1

      A court system with the presumption of innocense is a doomed project. It was from the start. Those that died fighting for it were/are fools for not seeing the obvious limitations and the *obvious* misuse of the system. I really don't feel like contributing to the rapists and murderers out there thankyew.

      ...or maybe do you think that in order to give the rest of us rights it might be necessary to let a murderer or two go free?

  4. I could have sworn I read this verbatim before by DebtAngel · · Score: 2, Redundant

    http://www.kuro5hin.org/?op=displaystory;sid=2002/ 2/17/203032/375

    It would have been nice for the person who submitted the article to at least include the link to the article that paragraph came from...

    --

    Is this post not nifty? Sluggy Freelance. Worshi

    1. Re:I could have sworn I read this verbatim before by Salamander · · Score: 3, Interesting

      It was posted on infoAnarchy before it was published on kuro5hin (1:15am EST vs. 2:25am EST). It might have been posted elsewhere, or sent via email. Someone's sure going out of their way to get publicity.

      --
      Slashdot - News for Herds. Stuff that Splatters.
    2. Re:I could have sworn I read this verbatim before by emag · · Score: 2
      It would have been nice for the person who submitted the article to at least include the link to the article that paragraph came from...

      Yeah, well, looking at the dates on both the k5 and infoanarchy articles, and considering how the /. article's linked to the infoanarchy one, it looks like k5 was posted over an hour later, so it's likely not the source the submitter found it on. Not to mention that the same person is creditted on both infoanarchy and k5 with the article. Not everyone flocks to k5 as the end all and be all of "better-than-slashdot news".

      You'll also note that the /. article starts off:
      JohnBE writes "'This article
      See the double quote followed by the single quote? Looks like the submitter was quoting the article. The relevant single quote ends here:
      as a whole.'
      at which point the "this article", hyperlinked to the infoanarchy piece, is supplied. Which looks an awful lot like attribution to me.
      --
      "The urge to save humanity is almost always a false front for the urge to rule." --H.L. Mencken
    3. Re:I could have sworn I read this verbatim before by JohnBE · · Score: 2, Informative

      I beleive the paragraph I submitted was the original article, the Kuro5hin article was posted later on. If that wasn't the case it was submitted simeltaneosly to two different sites. Big deal. Does it matter as long as we get the beef?

      --
      e4 e5
    4. Re:I could have sworn I read this verbatim before by JohnBE · · Score: 2, Informative

      I did supply single quotes for cosmetic reasons and to denote that it wasn't written by me. Hence the link to the article with full author attribution. I have no control over the time it was posted, or if it was seperately posted at Kuro5hin.

      --
      e4 e5
    5. Re:I could have sworn I read this verbatim before by Sanity · · Score: 2
      For the record, Scott posted the comment first to infoanarchy.org, and then to kuro5hin. No idea who posted it to slashdot.

      Scott should really be ashamed, imagine wanting people to see your rebuttal to public criticism of your work!

    6. Re:I could have sworn I read this verbatim before by Anonymous Coward · · Score: 0

      Kuro5hin has a user-visible submission queue, since people vote on the stories that are published (unlike slashdot, which is at the whim of the "editors") - so the story appeared in the k5 queue before it appeared on /., just didn't get "posted" - i.e. it got more than the forntpage-threshold of votes for a while afterward.

  5. Until... by Anonymous Coward · · Score: 2, Insightful

    ...we can find the latest Britney Spears album, complete with high-res cover scans and 320kbps MP3s, I highly doubt Freenet will catch on. It's already surpassed by Morpheus and Gnutella in terms of users. The thing preventing Freenet from gaining wide acceptance is, for sure, the fact that mysterious files which you have no knowledge of their content, are automatically downloaded to your shared directory. This of course helps other people, including people you don't want to help.

    1. Re:Until... by Scott+BaioWulf · · Score: 1

      Actually unless I'm mistaken (haven't checked freenet out in awhile) there still isn't a search function. This is hindering its acceptance more than the filespace surely.

    2. Re:Until... by Anonymous Coward · · Score: 1, Informative

      Not only can you NOT search anything on Freenet, it's sloooowwwww.

      I gave it a spin a while back (a week ago), and even pulling down the pages from the proxy home page (which are presumably quite popular, ie the site of good and site of evil, etc) took a good few minutes. I gave the thing a couple of hours to get some connections established, and, well, no improvement. My machine certainly had no lack of cpu power, or diskspace, or bandwidth. Pathetic.

      Speaking of disk space, I initially allocated 10gb to my node, and boy, is that a mistake! I now know why the default is 100kb! Because it takes roughly half hour to initialize the storage for 1gb I ended up giving it. Hey, no one said Java was an IO champ...

    3. Re:Until... by Anonymous Coward · · Score: 0

      Which translates into: Screw freedom. We only want illegal copies..

  6. An Overview of Freenet by jACL · · Score: 5, Informative
    --
    "It remains to be seen if the human brain is powerful enough to solve the problems it has created." Dr. Richard Wallace
  7. Seriously by Anonymous Coward · · Score: 0

    Java is such crap.

  8. Re: A version in C++ IS available. by Anonymous Coward · · Score: 0

    Go figure..

  9. Freenet is not perfect! by Andreas(R) · · Score: 0, Redundant

    My bias out of the way: I like freenet. A Lot. I run a freesite (Fishland).

    This being said, I'm sorry, but parts of freenet, right now, are a complete train wreck, and the only thing keeping me around is basically the lack of another solution which achieves the goals that I want to see.

    The main freenet developers are good at designing protocols. It's often been said that it's a real testiment to the freenet protocol spec, that freenet works in spite of it's codebase and lack of documentation. Those of you who've seen the freenet code will most likely agree with me, that many of the freenet developers couldn't code their way out of a wet paper bag.

    (And no, it's not about java vs. C - it's entierly possible to write good java, but java isn't a magic bullet that makes your code good without any effort. Freenet is proof of this ;))

    Freenet 0.4 may be beta, but it is a deployed network which people are encouraged to use. There is no 0.3 download at freenetproject.org anymore, which leads me to believe that therefore, 0.4 is the network that you all want me to publish into. And if this is the case, you don't get to say "Oh, but it's the development network" as an excuse for fucking everyone who tries to actully do something with it in the ass.

    Similarly, development is no damn excuse for no documentation at all, in face, development is when you *should* be creating the documentation for something as important as FNP, not as some afterthought. FCP is NOT a substitue for FNP, it only allows me to talk to my own node. There are some very good reasons sometimes to not do that. Moreover, since we have had but one set of mandatory upgrades since august 2001 (in january this year), FNP must be pretty static... older nodes seem to interoperate, for the most part, so the node->node protocol can't have changed that dramatically.

    You say documentation is a priority. But the actions and words of the freenet teams scream in my face until they are blue, that if I want documentation, then I can go and fuck myself.

    This is really the attitude that is percieved... that if one isn't happy with the current situation, then one should go and fuck ones self, if one isn't happy that we get mandatory upgrades with no notice at all on the web page or anywhere else a normal freenetter would look, then one should just go and fuck ones self. If one isn't happy that the general attitude of the freenet developers is that the people who are creating tools for the network, and content for the network don't fucking matter, then one should go fuck ones self.

    One day, all of the freesite and freeapp authors will do exactly that, and then where will your network be?

    1. Re:Freenet is not perfect! by amlutias · · Score: 0, Redundant

      god damnit, you posted this on kuro5hin too. pick one.

    2. Re:Freenet is not perfect! by JohnBE · · Score: 1

      I must say I agree in every respect. I've written a few apps in the past working on the fproxy level and I was stunned by the (lack of) quality of the documentation. Things like not labelling that numbers are hexadecimal (watch out for that one) or just plain mis-information. I have however found the Freenet team to be quite responisive to direct questions. But in the end it was too much of a pain and I gave up. The program worked OK enough though (for its purposes).

      --
      e4 e5
    3. Re:Freenet is not perfect! by keesh · · Score: 0, Redundant
      Those of you who've seen the freenet code will most likely agree with me, that many of the freenet developers couldn't code their way out of a wet paper bag.


      Yes, I ran "eleganceCheck" on the Freenet code and got 3.2, oh, sorry, there is no such thing. While I am clearly biased, the sheer complexity of what is achieved by the current Freenet codebase would make most software engineers give up before they had started. Connection pooling, real-time unwrapping, progressive hash checking, splitting, and rewrapping of encrypted streams, incorporation of a servlet architecture, threadpooling, unit tests, the list goes on, this is a massively sophisticated piece of software, the code is well commented, and as soon as the inter-node protocols are finalized, they will be documented (in fact, Adam Langley is working on this as we speak). Yes, the code and protocol are complicated, but no more-so than they need to be.

      The development team has worked hard to make life easier for third-party developers by creating the Freenet Client Protocol (FCP), a simple protocol which anyone can use to allow third-party applications to talk to the Freenet node. The only protocol that is as-yet undocumented is the protocol used by nodes to talk to each-other. Such documentation is only of use to people hoping to develop their own Freenet node. So far, only one person has seriously attempted to do this, Adam Langley, and lack of protocol documentation didn't stand in his way (the core developers were very forthcoming with the information he needed).

      In-case you are thinking how unreasonable it is for us to create a reference implementation before we document the protocol, note that the only reason everyone uses the BSD reference implementation of the TCP stack is that the TCP specification isn't worth the paper it is written on!

      You say documentation is a priority. But the actions and words of the freenet teams scream in my face until they are blue, that if I want documentation, then I can go and fuck myself.


      This is an Open Source project, people are working on their own time. If you want something done that badly, then the onus is on you to do it yourself. Why didn't you start work on documentation of the FNP protocol? I am sure the core developers would have given you all of the information you need. Criticising others who are already devoting huge amounts of time to a project for not doing the stuff that you want is like criticising someone for not giving enough to a charity while giving none yourself.

      If one isn't happy that the general attitude of the freenet developers is that the people who are creating tools for the network, and content for the network don't fucking matter, then one should go fuck ones self.

      You really need to take a reality check. The Freenet core development team spend hours of each and every day, their own spare time, working on Freenet, not for themselves, but for its users, yet all you can do is bitch about the fact that they aren't working on the things that you think they should work on first.
    4. Re:Freenet is not perfect! by JohnBE · · Score: 3, Interesting
      I agree with you in respective of the "fuck you" attitude of the developers, that is their perogative, but I think it is counter productive to one of their goals which is widespread acceptance.

      I really beleive that good documentation coupled with good code is the reason that some projects prosper and others fail. Maybe they have the balance right, the system is ludicrously easy for Windows users now. On the plus side:

      They have a Wiki system on their homepage which allows you to add to the documentation easily (had this been available 6 months ago I would have)

      The code is nearing a stable level (Datastore bug gone)

      Usefull non-Pr0n applications are been developed such as Frost.

      --
      e4 e5
    5. Re:Freenet is not perfect! by Xerithane · · Score: 2

      ...the sheer complexity of what is achieved by the current Freenet codebase would make most software engineers give up before they had started. Connection pooling, real-time unwrapping, progressive hash checking, splitting, and rewrapping of encrypted streams, incorporation of a servlet architecture, threadpooling, unit tests, the list goes on, this is a massively sophisticated piece of software, the code is well commented, and as soon as the inter-node protocols are finalized, they will be documented (in fact, Adam Langley is working on this as we speak). Yes, the code and protocol are complicated, but no more-so than they need to be.

      Just to insert my $0.02 on this statement. While I think that Freenet is spiffy, and the work is great, judging programmers skill by what they produce is not always the best method. Please note I am not talking about the Freenet developers here.

      I strongly believe in the million monkeys principle. I have seen code that was written by a team of people that expanded over 150K lines to do some amazing things. But the code was shit. You could tell the programmers did not have a grasp on not only how to write what they wrote, but even on common agreed-upon design and implementation principles.

      The result: a rewrite bringing it to 57K lines and utilizing a tremendously lesser amount of memory.

      The code when we got it was really phenominal. It did a lot, but had a lot of problems under the hood.

      Judge a persons ability by the quality of code, not the features they produce.

      --
      Dacels Jewelers can't be trusted.
    6. Re:Freenet is not perfect! by Outland+Traveller · · Score: 1

      > Those of you who've seen the
      > freenet code will most likely agree with me, that
      > many of the freenet developers couldn't code their
      > way out of a wet paper bag.

      I remember looking at Scott Miller's code on Gamora and feeling like, "Wow, this is the most elegent OOP code I've seen in the wild". Most code really sucks, especially if it's written in an OOP language and gets to be more than a few thousand lines.

      Very few people could make the concept work in those days when Design Patterns was still new. Scott was one of those people and it looks like he's still an active developer. So, while I agree with the other statements in your comment I must disagree with the snipe about the coders not being any good.

    7. Re:Freenet is not perfect! by 42forty-two42 · · Score: 1

      So YOU'RE the phish!

    8. Re:Freenet is not perfect! by tqbf · · Score: 2
      In-case you are thinking how unreasonable it is for us to create a reference implementation before we document the protocol, note that the only reason everyone uses the BSD reference implementation of the TCP stack is that the TCP specification isn't worth the paper it is written on!

      Every major operating system (Solaris, Linux, Windows, BSD) has an independant implementation of TCP. None of them share significant code, each was designed with different goals. Every one of these implementations is validated against the standard, which spans multiple RFCs. The entire Internet is held from congestion collapse by cooperation amongst these implementations.

      What are you talking about?

    9. Re:Freenet is not perfect! by Anonymous Coward · · Score: 0

      Windows' TCP stack is STILL, despite what MS astroturfers post on /. these days, based on the BSD one.

    10. Re:Freenet is not perfect! by swright · · Score: 1

      mmm, wonder how that relates to the old Win95 issue of giving a socket OOB data when it wasnt expecting it; causing it to throw a wobbly and lock the whole box in seconds....

      IIRC there was one guy who wrote most (all?) of the original Win95 stack, dunno if he nicked anything from BSD though.

  10. War was beginning by Anonymous Coward · · Score: 1, Funny

    All your freenet are belong to us

  11. nobody uses freenet. by Anonymous Coward · · Score: 0

    therefore, nobody cares.

  12. Oh my beautiful mind! by October_30th · · Score: 0

    My beautiful mind is about to blow!

    --
    The owls are not what they seem
  13. At least quote who you stole it off by Anonymous Coward · · Score: 0

    This is a straight copy..paste from this posting.

    1. Re:At least quote who you stole it off by JohnBE · · Score: 1

      This was posted two hours before on Infoanarchy. I don't understand why people don't understand single quote marks.

      --
      e4 e5
  14. Kuro5hin artical as well. by autopr0n · · Score: 4, Informative

    This was also posted to another scoop site, kuro5hin :)

    For those of you who care, Ian Clark also commented on the story himself(1 2 3 4 5)

    --
    autopr0n is like, down and stuff.
    1. Re:Kuro5hin artical as well. by Anonymous Coward · · Score: 0

      Someone mod him down redundant.

  15. Freenet is not complicated by HanzoSan · · Score: 1, Redundant



    When you compare it to stuff like gnutella, mojonation and others, freenet is about average.

    Freenet's not hard to write programs for at all, Freenet itself is whats complicated.

    Currently I know C, VB, and I'm learning Java.

    Freenet is not that complicated. Its just not documented as well as it could be.

    --
    If you use Linux, please help development of Autopac
    1. Re:Freenet is not complicated by hardburn · · Score: 2, Insightful

      In comparison to what? Client development? Ease-of-use? Node implementation?

      Freenet is pretty easy for client development and average for ease-of-use. However, node implementation is no easy task (just ask Adam Langly).

      --
      Not a typewriter
    2. Re:Freenet is not complicated by jon_c · · Score: 4, Informative

      I can't really comment on mojonation as last time i checked they didn't have any real documenation on how it actually worked, but Gnutella is way simpler then Freenet.

      I wrote a gnutella client in one night, when gnutella first hit the net people had already figured out the protocol and we're writing clients for it within days. There are only about 5 different commands in Gnutella, i have no idea how many freenet is. But i have attempted to understand more then just a high level concept and found the details to be confusing as all hell.

      anyway,

      -Jon

      --
      this is my sig.
    3. Re:Freenet is not complicated by JohnBE · · Score: 1

      Use FCP. It is incredibly easy, watch out for foibles in the documentation like a numeric value indicated but no reference to the fact that it should be hexadecimal represented by ASCII chars.

      Look for the FCP documentation on the Freeenetproject.org website, it is one of the aspects that is fairly well documented (I would link to it but the site appears down).

      --
      e4 e5
    4. Re:Freenet is not complicated by delta407 · · Score: 1

      Yes, you are correct -- Gnutella is way simpler than Freenet. But, this comes with a price; Gnutella hands out your IP to anyone and everyone that wants it, cannot scale beyond a certain point, and makes no effort to protect your activities on the network.

      Yes, Freenet is complicated, but what you lose in simplicity you gain in security, functionality, and resilience. (When was the last time people in China got news via Gnutella...)

    5. Re:Freenet is not complicated by jon_c · · Score: 2

      Freenet does not scale any better then gnutella. It has the same problem, which is flat decentraliztion. Meaning that every node has to pass trafic for every other node.

      Freenet only does this for hash query matchs, where Gnutella does it for search strings, so it might be slightly more efficiant. Freenets real problem is the way it keeps data anonymous. For data to get from point D to point A it needs to copy all the data from D->C->B->A which uses all the bandwidth of C->B. It also limits the download speed to the slowest of C and B. On the other hand it distributes the traffic, so while A is getting data slowly from D->C->B, it's also getting it from X->Y->Z and maybe N->O->P. Multiplexing the download would be faster for A, but looking at the whole picture a lot of traffic is passing through nodes.

      I think the biggest problem with FreeNET is that people compare it (unfairly) to Napster or Gnutella. I don't think it is trying to be these things, at least the design in it self doesn't speak that way. To me is seems like a robust system for keeping anonymous safe data, at the cost of speed and ease of use and resources.

      -Jon

      --
      this is my sig.
    6. Re:Freenet is not complicated by delta407 · · Score: 1

      Not so. Freenet does not pass traffic for every other node, only a small subset of nodes. Unlike Gnutella, there are no broadcasted messages. Freenet not only intelligently routes queries and query hits, it routes intelligently every message on the network.



      While Freenet does pass file data in-band, this is a Good Thing (TM). I will agree that Freenet is unfairly compared to Gnutella or Napster; Freenet is an anonymous data publishing and retrieval system, while Gnutella and Napster are simple file sharing clients. Passing data in-band is what makes this anonymous, dynamic caching system possible. Agreed, it may be slower and use more CPU time, but many are willing to trade extra resources for anonymity.



      One final point of note is that there is not an excessive amount of traffic on the network; data is passed through very few nodes on its way back to the client, and if the data is more "popular", it will be cached on a series of nodes, reducing the overhead further.

  16. No kidding. by autopr0n · · Score: 3

    Its just so wrong for that scgmille to copy so blatently from that poorscgmile guy. er. wait...

    --
    autopr0n is like, down and stuff.
    1. Re:No kidding. by JohnBE · · Score: 1

      Cheers for taking the time... Unlike some other morons, your site appears to be the most modern looking (functional) porn site I have ever seen.

      --
      e4 e5
  17. It'll be done when: by metalhed77 · · Score: 0, Troll

    I'll start using freenet when:

    1. Response times are less than 5 seconds
    2. Data is retrieved at over 6kb/s
    3. A way to search data over freenet is made.

    --
    Photos.
  18. I agree by HanzoSan · · Score: 2



    I also think if freenet were written in C, it would have far more developer support.

    Documentation is lacking and that doesnt help, what also doesnt help is using java, Freenet barely works on Linux and MacOSX.

    C would have been the language of choice simply because more people know C than java, porting would have been faster.

    As far as the freenet project going down, someone needs to port freenet to C right now, if its ported to C people will develop for it.

    While I konw C, i dont know java. Alot of people would like a freenet DLL for windows from which they could do somethinng like write a vb app front end for the freenet backend. This would make freenet more popular for windows.

    I dont know, I disagree about the freenet developers not knowing how to code, they code way better than me, they dont seem to document anything, they dont have a status page, they rarely use the mailing lists and talk too much on frost, communication skills would help.

    I think freenet has come far, I think with alittle more support, perhaps some kinda sponser or from donations, or if they make it easier for people to contribute code, freenet will be a success.

    Right now freenet is just too underground and esoteric for normal programmers to deal with.

    --
    If you use Linux, please help development of Autopac
    1. Re:I agree by hardburn · · Score: 1

      C would have been the language of choice simply because more people know C than java, porting would have been faster.

      Freenet did not initialy start using Java because of being cross-platform. It was used because Java is a nice language for prototyping, and because Java is very nice to use for network-centric programs.

      someone needs to port freenet to C right now, if its ported to C people will develop for it.

      Are you talking about the node or the clients? The clients have FCP, an easy protocol to implement, so there is no reason why you can't write your client in C. As for the node, do you really expect Freenet to throw away all the work that has been done for the last few years and start over in C? (We actualy had this debate on the Freenet development lists recently).

      Further, while lack of documentation certainly doesn't help, Freenet is a inheirently complex beast that isn't for the faint of heart to attempt understanding of. Knowing a lot about crypto will give you a head start, but even so, the typical time to overcome Freenet's learning curve is about six months, if you push it. Porting the node to C isn't going to help people who are having problems getting over basic Freenet concepts, such as CHKs.

      If you don't like the lack of documentation, why don't you write it yourself. The developers are quite responsive to anyone needing help with documentation.

      --
      Not a typewriter
    2. Re:I agree by bnenning · · Score: 3, Insightful
      C would have been the language of choice simply because more people know C than java, porting would have been faster.


      It's much easier to write network applications in Java than C, and cross-platform compatibility is far better. Performance is another matter, but apparently they would rather make it work first and then make it work faster, which is entirely reasonable.


      While I konw C, i dont know java.


      There's your problem :) I know both, and in my opinion Java is a much better choice for what Freenet is trying to do.

      --
      How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
    3. Re:I agree by Anonymous Coward · · Score: 0

      I think a reference c/c++ implementation would be fantastic. Freenet is just begging to be wrapped in a dll for inclusion in a real app. This would generate interest amongst developers and would get users using the network. You know, users, people who actually might have content worth looking at? People who make the network?

      BTW, for all its freedom to post unpopular content, not only is freenet slow, but it's damn near impossible (no, just impossible) to find anything. For example, how would I find the decss code on freenet?

    4. Re:I agree by Random+Walk · · Score: 2
      It's much easier to write network applications in Java than C, and cross-platform compatibility is far better.

      Now that Apple has turned to BSD, there is Unix and Windows left for the desktop. And last time I checked, JAP (Java Anon Proxy) worked ok on Win98 (except that Win98 occasionally crashes ..), but had huge problems on Linux (incomplete page downloads) - which might tell something about the "portability" of Java.

  19. Freenet... by arnoroefs2000 · · Score: 2, Funny

    Possible the only network with a higher Porn : Non-Porn ratio than the Internet itself :P

    1. Re:Freenet... by arnoroefs2000 · · Score: 1

      Trust me, Freenet has more (relatively).

    2. Re:Freenet... by Anonymous Coward · · Score: 0

      You'd be VERY disappointed. If you actually managed to find some on your own (impossible I'd say), you'll be waiting a few minutes for a small IMAGE to download.

    3. Re:Freenet... by WWWWolf · · Score: 1
      Actually, I think Internet has more Porn than Freenet. After all, Freenet is just a protocol on top of the Internet.

      I assume you meant WWW, not Internet =)

      (Then again, pr0n is often found in FTP, too... but let's not split hairs further, okay?)

  20. REPOST! by Anonymous Coward · · Score: 0

    Please ignore. Thank you.

    --C0WB0YN34L

  21. Digital Cable by autopr0n · · Score: 1, Offtopic

    Do these things work with digital cable? Most of the coolest stuff on HBO, Showtime, MTV2 is really only available with digital cable. Would these things work with that?

    --
    autopr0n is like, down and stuff.
  22. Anonymous P2P systems by Anonymous Coward · · Score: 2, Informative

    If you wish to read about well-designed anonymous P2P systems, look at Crowds (similar design to Pick-a-Booty, years earlier).
    Anonymity has many more uses: censorship resistant systems often use anonymity. See, for example Free Haven or the following article on a new design
    http://www.cl.cam.ac.uk/~aas23/Anon_p2p2.ps

  23. Re:Never mind that, everyone sing along! by Anonymous Coward · · Score: 0

    OK, why is this -1! It's a classic!

  24. The way k5 works.. by eightball · · Score: 2, Insightful

    Stories are put in a submission queue for users to rate on. When a story has been sent to the front page (or a section), the date is set for that time.

    This story was submitted Feb 17 <21:33 (time of comment 1)

    I can't say anything of the submission process for infoAnarchy, as to whether it is readily available before it is 'posted'.

    1. Re:The way k5 works.. by Anonymous Coward · · Score: 0

      infoAnarchy uses the same engine as kuro5hin, though perhaps a different version. iA's clock is also off by five hours (just checked) so the story was actually submitted there at 20:15PM EST on February 17.

      Get over it.

  25. Re:Java sucks and I'll prove it. by BrookHarty · · Score: 2

    I have millions+ customers being server on a handful of java programs. The only problem I have is jvm for Solaris seems to leak memory, so we load balance and restart the java processes once a day. We did it once a month, but decided to make it nightly to be safe with the high volume of traffic. (And sys-admins are lazy!)

    Most times its not the language that's the problem, its the environment, either os bugs, or some other software incompatibility.

    Java seems to be fast enought for realtime mission critial apps, so stop the fud.
    -
    Courage is resistance to fear, mastery of fear - not absence of fear. - Mark Twain (1835 - 1910)

  26. Re:Java sucks and I'll prove it. by Anonymous Coward · · Score: 0

    ANSI C is portable. C isn't. ISO C++ is portable. C++ isn't.

    Also, libraries make a language. Most libraries aren't available in a lot of platforms.

    I hate Java, so I agree that these languages would be a better choice for any project, but they're not transparently portable.

  27. Please tell me why... by james_underscore · · Score: 2, Insightful

    I'm not sure why I would want to install freenet on my system. From what I understand, basically I'm expected to download and install this software and give a certain amount of my own bandwidth and disk space over to the network. I have no way of knowing what's stored on my hard disk and being downloaded from me. I've peered through a key list for freenet and it seems most of the data is porn. You might accuse me of being alarmist but i'm fairly confident a good amount of that will be illegal porn (underage, etc) otherwise it would be on the web somewhere.

    So now I've paid money to buy bandwidth and disk space to set up a porn server, and I'm not even getting ad revenues.

    As for protecting speach, couldn't a government just make the freenet software itself illegal if it wanted to?

    I can't see it really catching on - apart from a few paranoid "lone gunmen" types and comic book store guy, who's it going to appeal to?

    Just a question.

    James

    1. Re:Please tell me why... by JohnBE · · Score: 2, Interesting
      A government could make encryption software illegal, however the legal barriers are quite high. In Europe they have the Human Rights act which protects a lot of rights (which is one of the reasons the RIP Act has not been rigourously enforced in England) and in the US you have the constitution.

      I started using Freenet for the technical challenge, a kind of Internet within Internet, which is a kind of neat concept, but there are also some interesting quite innovative sites on there. But danger Will Robinson, there is also some evil!

      Has there ever been a time that you want to comment about something and protect you identity? Freenet allows this.

      --
      e4 e5
    2. Re:Please tell me why... by Anonymous Coward · · Score: 0

      Did he choke on it?

    3. Re:Please tell me why... by Anonymous Coward · · Score: 0
      ...give a certain amount of my own bandwidth...

      Actually, no, you'll give ALL your bandwidth should the need arise. You see, the bandwidth limiter in the node doesn't actually do anything.

    4. Re:Please tell me why... by Anonymous Coward · · Score: 0

      Since all the data stored on your drive is encrypted it's not porn. it's just a stream of random bytes and cant be intepreted as anything else.

  28. Re:Java sucks and I'll prove it. by Anonymous Coward · · Score: 0

    Java is ok, but i have yet to see a successful project written in java.
    The core of Corel Word Perfect is Java.
    Whether or not you call that successful or not depends if you compare it to Microsoft Word.

  29. Re:Java sucks and I'll prove it. by _underSCORE · · Score: 4, Interesting

    Why do I feel the need to defend java on slashdot? Here I go again:

    Java is slower than C, yet less powerful than C++.

    Yeah, that's a testable statement. Most of java's use is network-bound programming, where pure speed isn't an issue, but it's excellent networking library is a benefit. No one is coding an OS in java.Add to this the fact that java 1.4 is on part (except for GUIs) with C++, and you have no speed issue.

    Java is portible but so is C#, C, C++.
    Java is binary portable which is a huge advantage. I can take compiled code from one architecture, and run it on another. Do that in C or C++. Hell, you can't even run a complete C# program in solaris now, so much for the common run time.

    Java currently doesnt seem to be a match for C#

    Is that why C# is an almost exact syntatic copy of java? Is that why the architectures and security models are almost the same? Which language has more users now? Which actually has deployed code running in production?

    Java is ok, but i have yet to see a successful project written in java.

    Have you heard of Tomcat? That's a moderately successful java project. Also, many real businesses use java on the web layers. I guess those don't count as 'successful projects', but they should count for something. The fact that there are relatively few java projects has more to do with the open source community being stand-offish regarding java, and not with language faults.Just posted on slashdot a couple of weeks ago: Root Node Live, which is a java project (brought to you by konspire) helps people trade jam-band music.

    --
    "This is not a company that appears to be bothered by ethical boundaries."
    Attorney General Mike Hatch on Microsoft
  30. With regards of duel posting. by JohnBE · · Score: 1

    Here is the original post, on the Freenet homepage about the Infoanarchy piece, as to whether it was posted on Kuro5hin or InfoAnarchy, read either, it doesn't matter. At the above link is an MP3 file of the original cited speech (at Codecon).

    --
    e4 e5
  31. The problem with Freenet... by Andreas(R) · · Score: 1, Insightful

    ... doesn't lie in its protocol or security, but in its inconvenience to users. Information simply disappears off of the network, making it almost impossible for regular use. While it was not designed for sharing music and porn, thats what most people think p2p networks are for these days. As a result, the oppressed people that the project was designed for can't use the system. The initial concept that one cannot store information on their system was good, but is being abused by too many people. There simply are not enough permanent connections with enough disk space to support the current incarnation of Freenet.

    The second problem is the inability to find information. Even if it does exist, very few people know how to find it. Until the key indices are completed and a uniform naming system is accepted, information will just sit there, and be as good as lost.

    I apologize for this being somewhat offtopic and please correct me if either of these problems have been solved. I'd really love to see Freenet take off, but it seems that it may be dead on arrival being too difficult to use for end users.

    1. Re:The problem with Freenet... by JohnBE · · Score: 1

      There are several applications running on top of Freenet that solve some of the problems, one of which is Frost which allows you to search files, and has BBS features. The other way that people are running indices which people can submit information to. These are linked from the initial Freenet banner. Content Of Nice is one of these on the 0.4 network.

      --
      e4 e5
    2. Re:The problem with Freenet... by flink · · Score: 1

      Part of the problem with data disappearing is due to the instability of the code base. Up until recently people had to reset their datastore anywhere from once a week to everyday. This made it kind of hard for your inserted data stick around very long unless you're CofE :)

      I think the new store is pretty stable. It croaked once on me, but it was a pre-459 running under a build 459 node, so I don't reall blame it. I think once 0.5 is out things will start to look pretty good.

    3. Re:The problem with Freenet... by Anonymous Coward · · Score: 0

      There is almost NOTHING on the content of nice (and bad as a matter of fact), and more than half of it is giving me network error/not found after spinning wheels for several minutes

    4. Re:The problem with Freenet... by JohnBE · · Score: 1

      Give up then. Think I care? :-)

      But seriously, it could be any number of reasons, please try the FAQ and the Freenet project website. There is also a support mailing list that is quite good.

      --
      e4 e5
    5. Re:The problem with Freenet... by Anonymous Coward · · Score: 0

      "Andreas(R)"'s comment #3028666 is plagiarized from http://www.kuro5hin.org/comments/2002/2/17/203032/ 375/6.

  32. java vs c wars. by leuk_he · · Score: 2

    You can always pick fight over Java is better than c or c is better than java. its tried a logt on the tech mailing list of freenet project.

    There is a whiterose C++ implementation of freenet.(development is frozen there however 8) i think this is not picked up before 1.0

    But above all freenet now requires:
    -documentation. (no coding
    -testing procedures. a test set or something like that. (you can code the tests in the language of your choice.....)
    -more nodes in the network. (just download it)
    -better client software. you can write a client in any language you want.

  33. Re:It's hopeless by Anonymous Coward · · Score: 0

    C write once. Compile everywhere, run it on unix....
    Java. compile once. run everywhere, decide on a native compilation for speed, compile everywhere, convert to .NET ...

  34. Freenet overall... by XRayX · · Score: 2

    I really like Freenet overall and thought a while about putting my new HP up as a freesite. I didn't do it for minor reasons. Anyway I think it is a great project and put all my (big)file releases up as a public KSK, simply beacuse it's a good, clean and simple way to share files.
    The main problem is that it will never gain popularity. Freenet has mainly two target audiences: The file-sharing community (WareZ Groups etc.) and the people, who like the Idea of browsing anonymously.
    Until now Freenet has no popularity in both areas. The egoistic WareZ Groups don't even think about using Freenet, eventhough they really should contribute more to OpenSource projects, because they are the ones using them really heavily (think of LAME, MPEG2Decoders, etc.), and stick with old/insecure/closed Technologies like FTP, IRC and EDonkey.
    Maybe all this would get better if we all start advertising freenet a bit more wherever we hang around (Boards, IRC, Weblogs) and promote it as a fast, secure, anonymous, stable, easy way to share files.

    --
    Boycot? Blackout? Subscriptions?
    I don't care!
    1. Re:Freenet overall... by hardburn · · Score: 2, Insightful

      Anyway I think it is a great project and put all my (big)file releases up as a public KSK, simply beacuse it's a good, clean and simple way to share files.

      Sorry, but I'm about to make this a whole lot more complex :) In the Freenet development cicle we have a saying:

      DON'T USE A KSK!!!

      KSKs are highly insecure, because you have no means of validating that the data is really the data that you orginally inserted. I suggest you migrate your old KSK data over to a subspace.

      Until now Freenet has no popularity in both areas.

      The MAME community has distributed quite a number of ROM images via Freenet. That has to count for something.

      --
      Not a typewriter
    2. Re:Freenet overall... by Anonymous Coward · · Score: 0

      Uh, like .000000000000000000000001% of the Internets current functionality? No, that really doesn't count for anything at all...

    3. Re:Freenet overall... by cduffy · · Score: 1

      Huh? Freenet supports most of the Internet's current functionality. Not only is stuff like FProxy available to provide the most-used functionalities (that is, web), but folks have put together code to run newsgroups, discussion forums, even databases over Freenet. If you can do it over TCP, you can probably do it over Freenet -- just a fair bit slower, and anonymously.

  35. Freenet project official website... by 42forty-two42 · · Score: 0, Redundant
  36. Re:Java sucks and I'll prove it. by zaxus · · Score: 1

    What about ArgoUML? It's written in Java and I'd say it's successful....

    --
    /. zen: Imagine a Beowulf cluster of Beowulf clusters...
  37. Re:Java sucks and I'll prove it. by Anonymous Coward · · Score: 0

    >Java seems to be fast enought for realtime mission critial apps

    What are you refering to? Would that be soft or hard realtime programs? Serverside only? Does it meet the requirements on widely used hardware or only on custom hardware or Sun workstations?

    It is hard to believe when you do not give examples, especially given the apparently complete lack of Java games several years after Java was first hyped. Most games do have soft realtime requirements. If it is 'fast enough' for even soft realtime programs why are there no games written in Java?

  38. And my sanity is intact by OO7david · · Score: 1

    I saw this after on /. after I got home from school and could have sworn I saw it earlier. I checked K5 (my main hideout), but it was neither in the queue nor on the front page. I was about to question my sanity.

    By the way, Kuro5hin is Scoop based, Slashdot is Slashcode based.

  39. Just tried it out by Anonymous Coward · · Score: 0

    The freenet sounded interesting so I just downloaded it and checked it out. I dunno if my firewall was blocking something but boy was it slow. I could only get the basic html and I never saw a single image come across. I waited for about 3+ minutes before I saw the text.

    I read in the faq that 0.5 will be faster but they have a really really long way to go, from what I saw.

    For now I've uninstalled it.

    1. Re:Just tried it out by JohnBE · · Score: 1

      The longer you use it the faster it gets. [unfourtunately] You will have to open the port that handles FCP request (default 8888 IIRC) on your firewall (don't run the Freenet.jar as root, nor your JVM), after 1-2hours live requests are pretty fast (within 20 seconds) even on this crappy 56k modem that I'm using.

      --
      e4 e5
  40. Re:It's hopeless by Anonymous Coward · · Score: 0

    If that's true then what's this talk of porting?

  41. GnuPG??? by benad · · Score: 1
    Why not? GPG works pretty well already and is distributed under GPL, so why re-invent the wheel?

    I still can't beleive that encryption, digital signatures and random key generators can be both fast and secure in Java...

    - Benad

    1. Re:GnuPG??? by LinuxHam · · Score: 3, Informative

      The purpose of GPG is either to encrypt data specifically for one person, certify exactly who created/encrypted said data, or both. Freenet was designed to encrypt data for anyone while guaranteeing anonymity of the submitter.

      Yes, you could use GPG to encrypt with a symmetric key and just not sign it, but you'd still need to build an infrastructure around it. Freenet wants "plausible deniability" for the hosting server, making it impossible for anyone to decrypt the data as its stored on the disk. A symmetric key with GPG would be immediately decryptable.

      --
      Intelligent Life on Earth
    2. Re:GnuPG??? by Anonymous Coward · · Score: 0
      Freenet wants "plausible deniability" for the hosting server, making it impossible for anyone to decrypt the data as its stored on the disk

      That's not what "plausible deniability" means. In FreeNet's case there are two possiblities:

      1. A node does not know what content it is hosting or serving.
      2. A node does not know who requested a particular piece of content.

      While you are technically correct (in that if you can't decrypt your data store you don't know what you're hosting), plausible denialability does not make it impossible to decrypt what's stored on disk, it's the other way around.

    3. Re:GnuPG??? by cduffy · · Score: 2

      Why not? GPG [gnupg.org] works pretty well already and is distributed under GPL, so why re-invent the wheel?

      Simply put, GPG and Freenet do very different things. I use both; those things GPG is good for (like signing email) Freenet doesn't do; those things Freenet is good for (widely distributing information which some party may wish to suppress, possibly using force of government), GPG doesn't do. Freenet also is useful for folks running a perfectly legal web site (say, an online comic strip) who can't afford hosting costs; with Freenet, the hosting costs are paid for by the users -- ideal! GPG has no relevance to this kind of situation at all.

      I still can't beleive that encryption, digital signatures and random key generators can be both fast and secure in Java...

      "Fast" is a relative thing. Even if it's 3x slower than a C implementation, if it's fast enough on a modern computer that the user doesn't notice, does the speed difference matter?

    4. Re:GnuPG??? by benad · · Score: 1
      GPG has no relevance to this kind of situation at all.

      Freenet needs encryption and digital signatures, GPG already does that. Even if their goals are different, a lot of code can be safely reused.

      - Benad

    5. Re:GnuPG??? by benad · · Score: 1
      As I said in another post, a lot of code could be reused even if their purposes are different. GnuPG is a very good implementation of OpenPGP, and encryption of any kind is difficult enough.

      But this is confusing me:
      making it impossible for anyone to decrypt the data as its stored on the disk

      How can you encrypt data with a non-public key system that anyone can decrypt except when it is stored on disk? If it is impossible to decrypt, then it's because you don't have the key. You seem to be highly confused about encryptions, and is, in turn, confusing me...

      - Benad

    6. Re:GnuPG??? by cduffy · · Score: 1

      GnuPG's crypto code is very little of the app -- only 1609 lines of code for the ciphers themselves or 4517 for all the crypto-involved code together, out of the 45klocs in total (specs generated using SLOCCount by David A. Wheeler). These ciphers are well-written (and highly readable) java, making good use of OO and such. Because they're such a small portion of the total code, changing the language or using native extensions to make using non-native 3rd-party code easier is nonsensical -- particularly when plenty of Free or public domain crypto implementations are already available in any major language, Java included.

      gnupg is pure C. It's well-written, highly readable C, with good internal documentation, but it's quite different. Its MPI implementation, for instance, has an interface which is entirely reasonable in C but which no Java coder (or other OO-literate person) would ever want to touch. Hence, a rewrite would really be necessary to make its crypto code be good Java (or, for that matter, good C++... if we were to acknowledge such a thing to exist).

      The opportunity for actual code reuse between Freenet and GPG just isn't what you make it out to be.

    7. Re:GnuPG??? by LinuxHam · · Score: 2

      How can you encrypt data with a non-public key system that anyone can decrypt except when it is stored on disk? If it is impossible to decrypt, then it's because you don't have the key. You seem to be highly confused about encryptions, and is, in turn, confusing me...

      Thanks, but I'm not highly confused about encryption. In this situation, the discussion was about replacing Freenet's local file encryption with GPG. Freenet's intention is to distribute information to anyone who requests it via the client, while at the same time denying access to a local user trying to access the data as its stored on disk.

      GPG offers two methods of encryption, public key and shared (or symmetric) key. When you use public key encryption, you encrypt data specifically for one person to decrypt. That's useless for this situation since you want to distribute the data to anonymous clients. When you use a symmetric key, you tell the recipient(s) the passphrase via another path. If GPG would be used in place of Freenet's on-disk encryption, then there would obviously be a symmetric key passphrase stored somewhere on the server to be read and used by the server code and used to encrypt and decrypt the data on the local disk.

      Perhaps the setup routine for the Freenet server could include making up a random, 1024-bit symmetric key passphrase to be used only by the local Freenet node. You'd better hope that the encryption used to store the generated symmetric key passphrase would be strong enough to survive an attack by federal agents. Not to mention the feds could brute force the symmetric key passphrase... eventually.

      My point was, if you replace Freenet's on-disk encryption (which is an unknown quantity to me at least) with a known-good system such as GPG, you need to consider the weakest point of that system. I would consider it to be the storage of the symmetric passphrase used to encrypt and decrypt all of the files in the main Freenet node's server space.

      I'm a five year GPG user and I keep my keyring on my USB keychain hard drive. Am I still confused? Are you?

      --
      Intelligent Life on Earth
  42. Re:Java sucks and I'll prove it. by Anonymous Coward · · Score: 0
    did you ever wonder that your l33tn3ss is not a factor of the real world, only your linux box dreamworld in your room



    get a life motherfucker

  43. Freenet Trademark by farrellj · · Score: 2

    Has anyone dealt with the problem that Freenet is trademarked by some univesity that was responsable for the original community network software that runs places like the National Captial Freenet (ncf.ca), and similar sites?

    ttyl
    Farrell

    --
    CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
  44. Re:Java sucks and I'll prove it. by wurp · · Score: 3, Insightful

    Java is ok, but i have yet to see a successful project written in java.


    Wow, rarely have I seen such a ridiculous statement. J2EE is incredibly widely used for internet businesses of all kinds. In this time of declining job options for programmers, java (well, J2EE, anyway) programmers are still somewhat in demand.

    I have worked on many successful java projects. Xtra Online, Marconi Communications, and PDX, are just a few of the companies at which I have worked on successful java projects.

    Business software is generally about reliability. Computers are easily fast enough to do any kind of business calculation blindingly fast in virtually any language, and Java is fairly speedy. Java has great reliability (no buffer overflows, no uninitialized pointers, no stack overflows, no doubly-deleted pointers, etc, etc).

    If you think java is too slow for business applications, the game we are working on over at http://www.cosmgame.com is all in java. I get 50-100 frames per second in full screen 3d mode, all running under java. I shit you not. We will be showing it at the Game Developer's Conference in San Francisco March 20-23rd at Sun's booth.

    Virtually no business application has anything vaguely close to the kind of performance requirements we have, and we run just fine.

    See you at the GDC! ;)

  45. not the freenet but.. by Anonymous Coward · · Score: 0

    the fred.

    I used to run freenet for a year or so because I loved its ideas, but half a year ago i finally gave up.
    Why? Here comes fud.

    -The routing has been broken so that most nodes had a single one reference with efficiency worse than random routing. 0.4 fixed it though but still..
    -The node tends to use up resources. (Way too many "active" threads for almost no activity etc)
    -Somewhere in the world of billion random connections the nodes eventually get flooded and fred becomes useless. once you get flooded you have probably flooded someone else and the snowball starts when enough nodes are down.
    -Datastore is broken and so is the node every now and then forcing random resets and restarts.
    -Dbrs (ugh). No real updating, not even a kludge with no guarantee of propagation. Why on earth not?
    -Unability to participate behind a firewall.
    -Incredibly high latency even from locally cached data.
    -Just about all limits are broken. When they get hit things go not good.

    So really, the protocol is (almost) okay. However, the developers could use a bit of the coder-thing between ears instead of university oo bullshit..

    Next time, keep it short and simple. (and try to aim it self-healing instead of self-foot-shooting)

    1. Re:not the freenet but.. by JohnBE · · Score: 1

      All of the above are fixed, bar the inability to work behind a firewall, but I guess that's an act of God/R00T.

      --
      e4 e5
  46. How ABSURD!! by xintegerx · · Score: 1

    ...Judge a persons ability by the quality of code, not the features they produce.

    How absurd. Programming is about solving a problem (especially by definition of a "program"). How one gets there is his or her own journey.

    I have seen code that was written by a team of people that expanded over 150K lines to do some amazing things. But the code was shit. You could tell the programmers did not have a grasp on not only how to write what they wrote, but even on common agreed-upon design and implementation principles

    This all sounds well and good, but the reality is that users/clients/consumers would choose a "poorly coded" (but stable) program with amazing features and GUI over a slightly faster, well-coded, and similarly priced application with NO amazing features. Why? Because consumers aren't stupid! Nobody will reward a company just because they put "USES 100KB LESS DISK SPACE THAN OUR LEADING COMPETITOR" on the box. People's $$ will just simply go further if they choose to buy the poorly coded, amazing features one. And if both versions are exactly the same (features, price, GUI, relative execution speed), then people will buy from the company that offers the best technical support, guarantee, and testimonials (and the most dollars to spend on advertising ;P). Also, don't forget that a re-write of old code will always be more efficient than the original...and if the re-write is done by a third party (100% efficient coders, but no access to the original source!) then, well... The sloppy-coding team will have a new 2.0 version to offer to consumers by the time the third party is done creating a smaller, slightly speedier clone. That's how the market works.

    In the real world, nobody except your company has to know how crappy your code is. If it's stable, who cares how it's written! What you get done at the end of the day is what counts. For example, I know of a very poorly-coded RPG written entirely in Visual Basic and made by a novice teen-age programmer. It was to be a free Ultima Online clone. Well, the graphics sucked, the code sucked, the networking sucked, but it was a fun game! Thousands of people have played, or at least heard of "Era Online", and hundreds of people still keep current about its progress (with the game's new developers) via message boards.

    You *need* to have spaghetti code to finish large projects. Most programs do not get completed. An article on gamedev.net states that in only 1 instance of 50 does a started game is ever completed to the point of release. And that's remembering that with most games, it seems 'obvious' to most programmers how to code them. But take a network protocol of such complexity and see how only freenet authors are up to the challenge: if they've had direct competition developing such a protocol since 1999, then there are probably not many competitors still going strong.

    And let's not forget that no program is ever perfect. Making a compiler work how you imagine it should work sometimes fails, and one ends up hacking up work-around code... which eventually end up being part of the permanent code.

    Successful programmers don't write the most efficient code. Successful programmers accomplish things. There is nothing one can criticize Freenet programmers for with what they have done so far.

    1. Re:How ABSURD!! by Xerithane · · Score: 2

      You totally missed my point.

      My point is - bloated, poorly coded software vs. well coded and slim software.

      Same features. There is always more than one way to write something, a successful and good programmer finds the shortest path and does it well.

      If you believe you *need* spaghetti code to finish, I think you're a dipshit in all honesty. Because I've finished many software projects that were well-designed and thought out. Yeah, sure there are components that were not as clean as they could be - but those are things that typically act as black boxes and can be re-written later (and typically do).

      You wonder why Microsoft software sucks? Because people have the same rational as you.

      --
      Dacels Jewelers can't be trusted.
    2. Re:How ABSURD!! by GSloop · · Score: 1

      If you've read "The Software Conspiracy" from Mark Minasi, you'll be enlightened about software design, and our expectations.

      What I think many miss is that BUGS = INSECURITY! and also MORE CODE = Exponentially MORE BUGS.

      To make a more secure and less bug prone system, we need to limit the code size.

      From Firewalls and Internet Security (the God book of security IMHO)
      - All programs are bugy
      - Large programs are even buggier than their size would indicate.
      - If you do not run a program, it does not matter whether or not it is buggy.
      - Exposed machines should run as few programs as possible; the ones that are run should be as small as possible.

      This all applies to security, but in a more general sense, it applies to reliable code.

      (I'm a lousy coder in general...) Sure, I can create cool IDEAS, and impliment them, though in a crude but working manner. But, when you want to maintain my code, it's not so pretty. Since 9/10th's of a project is maintain and extend, the real cost of my code comes after I've written it. Thus, someone that has COOL ideas paired with someone that has AWESOME coding skills is a real marriage made in heaven.

      Successful coders DO write the most efficient code. Probably not the most efficient POSSIBLE, but really efficient. If you don't start there, by the time the project is extended, and maintained, you've got a massive mess. (Believe me, I know!)

      The best programmers make a balance between perfect technical code, and actually finishing a project. If you slap it all together, and "just get the project done..." the result is sucky code, and really sucky extendability and maintainability. If they work too hard on technically wonderful code, you get wonderful code, and no finished project.

      The best coders I know _DO_ write elegant code - it's truely beautiful to read - but they also know that eventually, some compromises will need to be made. The actual design can't always mirror the design spec, and so they're willing to deviate. But frankly, the tendency it to "slap it together." If I were to stray to one tendancy or the other, it would be to produce more elegant code. More often than not, when it gets "slapped together" the maintainers and extenders go back and fix it right later anyhow. Why not do it right the first time!

      Cheers!

  47. ALERT /. EDITORS: Stolen comments by Sanity · · Score: 2
    Just thought that people should know that this comment and its parents were copied from here on Kuro5hin, and at the very least, this reply does not belong to the person who posted it here (since I wrote it myself).

    While the comment obviously deserves the score, I really don't think that those who posted them deserve the karma for posting other people's work unattributed. Perhaps if one of Slashdot's editors reads this, they can take appropriate action.

  48. Re:Java sucks and I'll prove it. by BrookHarty · · Score: 1

    Serverside, but it is java. What lack of Java games? Almost all web games are either flash or java!

  49. wish they would have written it in C by argoff · · Score: 2

    I understand why they did it in Java, but still wish they would have done it in C. Most JRE's are not free (like Stallman free) and C runs faster, C code is often more compact inspite of what java was supposed to be, and is already pre-installed on most linux platforms - this is expecially nice when you use a modem and don't want download all the overhead of a JRE - but rather just a progam and run it.

    Either way, I am just thankfull that they did it. Freenet has huge implications in terms of saving redundant use of bandwidth, and has huge benefits in terms of protecting peoples freedoms in the face of copyright freaks who would turn the world into a police state rather than give up their precious government monopoly on copying that they lobied to extend 100 years longer than it ever should have been, and then shoved the DMCA down our throats, and then wonder why people have had it with copyrights.

  50. There's no honor among thieves. (nt) by Hobbex · · Score: 0, Offtopic


    I said nt.

  51. Re:Java sucks and I'll prove it. by Pussy+Is+Money · · Score: 1
    Oh god. Java is hell. Forget about it. Don't defend it. Everything about it is broken.

    1.4? Yeah. But how are you going to deploy your apps? Not everybody is running 1.4 -- can't very well expect everybody to download a 15MB installer. So you will still need to support 1.3 for at least six months to a year.

    Memory use. Java eats memory for breakfast. A simple GUI app can easily take upwards of 70MB of memory. Now try to maximize the window to fullscreen. You have entered a world of PAIN. It is too slow.

    Threads. You have to do frigging everything in Java with threads. It's fragile! Livelocks and deadlocks lurks after every code block.

    Seriously, the Java language and the libraries are fundamentally flawed.

    --
    Pushin' 'n dealin', shovin' 'n stealin'
  52. Re:Java sucks and I'll prove it. by Gorgonzola · · Score: 1

    Although I have never written a single character of code in Java myself (I'm a functional designer, not a coder), I know that the last four to five really successful projects at the systems integrator I work at were all done in Java. And since these involve server applications, stuff like GUI's don't really matter. Deployment of applications in an typical mass-market end-user environment maybe tough, but don't forget that 90% of the code out there is being written for a single customer.

    --
    -- Spelling and grammar errors tend to be a sign of erroneous thinking.
  53. Re:Java sucks and I'll prove it. by Pussy+Is+Money · · Score: 1

    Java works well when you have a large degree of control over the environment where your application will be deployed and ample resources to spare. However, this is quite contrary to the alleged portable nature of Java, and rules out most thin-client applications (another Java selling point at one time). So although it is commercially successfull and has encouraged for the first time widespread adoption of useful programming techniques such as object orientation and garbage collection, both implementation and design leave so much wanting that I think on the whole it must be concluded that Java is a technological failure.

    --
    Pushin' 'n dealin', shovin' 'n stealin'
  54. Re:Java sucks and I'll prove it. by Dr.+Evil · · Score: 2
    Java is slower than C, yet less powerful than C++.

    Yeah, that's a testable statement. Most of java's use is network-bound programming, where pure speed isn't an issue, but it's excellent networking library is a benefit. No one is coding an OS in java.Add to this the fact that java 1.4 is on part (except for GUIs) with C++, and you have no speed issue.

    Why is it that when I run my freenet node, the CPU is throttled?

    I'm running a P200, it's enough for Apache, X, my firewall, storing my mail, processing mailing lists, compiling programs, serving files, serving a printer, but none of that throttles the CPU.

    The only reason I would have to upgrade this box is to run Freenet. This is consistent with all my experiences with Java.

    You're probably right that the Freenet networking code probably isn't sucking the system dry, my guess is that it would be either the encryption, or some data shuffling going on in memory.

    There must be some troubleshooting tools out there to narrow down the heaviest lines of code. But I can't speak Java.

  55. Re:Java sucks and I'll prove it. by EllisDees · · Score: 2

    1.4? Yeah. But how are you going to deploy your apps? Not everybody is running 1.4 -- can't very well expect everybody to download a 15MB installer. So you will still need to support 1.3 for at least six months to a year.

    Java is not VB. Older applicaions written in java have no problem running on a newer JVM. Most of the time, they are actually faster. Also unlike VB, you can continue to use nearly all of your older code in a new project. Have you even seen what Microsoft has done with VB.net? It's a new language with some passing similarity to VB.

    Threads. You have to do frigging everything in Java with threads. It's fragile! Livelocks and deadlocks lurks after every code block.

    Pure fud. You have either never actually used java or are actively trolling.

    --
    -- Give me ambiguity or give me something else!
  56. Re:Java sucks and I'll prove it. by Pussy+Is+Money · · Score: 1
    Of course, you can run your older apps on a new VM. But then you don't get any of the new features. And I'm not talking gee-whiz bang features. I'm talking about features like "setting the creation date on a file". Or features like "Swing widgets actually get focus when you click on them".

    As for threads, well, it's true. You need heaps and gobs of them. If you're a server, you'll need a separate thread for every child, because Java is rather lacking in the "sane I/O" department.

    Sure, the new I/O layer in 1.4 will fix that (once they get the bugs out on all platforms) -- but then you are back to point number 1: you can't use the new I/O layer when your customers don't have/want 1.4. So it's no panacea.

    --
    Pushin' 'n dealin', shovin' 'n stealin'
  57. it already is by Anonymous Coward · · Score: 0

    To the best of my knowledge, Freenet is already illegal, under authority of the Chinese government. Still, there are a number of tricks around that (a Freenet node will look and act like an SMTP server until you send it some sort of magic key) that allows freedom of speech to survive in China, if only a little bit.

  58. Kill your sig. [OT] by cduffy · · Score: 1
    When you compare it to stuff like gnutella, mojonation and others, freenet is about average.
    I'm not so sure of that -- quite a bit of the stuff Freenet goes into is utterly untouched by the others (do /any/ have something comparable to Freenet's various key types?). The thing is, this is entirely acceptable -- Freenet's goal is different from these projects, so of course it'll be designed differently; indeed, the capabilities it presently posesses necessitates a fairly complex design. Those who say it should be simpler implicitly argue that it should dump features -- and while simplicity over features is often The Right Thing, I'm not sure that it's so in this case, particularly when the features in question are helpful (or necessary) in maintaining security, anonymity, scalability, interoperability, and other Good Things.

    Now, as for that sig...
    All who want games in linux will sign up to Transgaming,All who dont sign up to Transgaming dont want games
    Bullshit, complete and utter.

    All those who want to run Windows-based games on Linux and are willing to pay to have them available on a timely basis will sign up with Transgaming. All who don't sign up with Transgaming don't want Windows-based games on Linux, or are unwilling to pay for having said privilige in the near future.

    I "want games", but not necessarily commercial games -- Nethack, bzFlag and the results of the annual Interactive Fiction Competition provide all the entertainment I need. When I want to run commercial games, I'm generally happy with releases old enough that the main WINE tree will run them correctly. Your statement implies I don't want games to run on Linux at all -- bullshit, plain and simple. Someone who does want new Windows games to run on Linux soon but doesn't have the cash to subscribe on hand (or has higher priorities -- rent is a frequent one) can also exist; folks can also work towards this goal by contributing their time to mainline WINE rather than sending their dollars to Transgaming. Your attempt to place a sharp and incorrect division between two sets of people stops just short of offensive.
  59. Re:Java sucks and I'll prove it. by cduffy · · Score: 2

    Why is it that when I run my freenet node, the CPU is throttled?

    When I run my freenet node the CPU isn't even close to throttled -- indeed, freenet's more often than not just idling and using no CPU time at all. My guess would be that you're running an old, buggy version of freenet; try a current snapshot. Ya know, it's possible (pretty easy, even!) to throttle the CPU in C code, too.

    In short, it's almost certainly the code itself, as opposed to the JVM, that's causing this issue. IIRC, freenet has had such issues from time to time.

  60. Re:Why Java Sucks for writing REAL apps. by Anonymous Coward · · Score: 0

    Java isn't even typesafe... Who the hell would want to use it for something "secure"? ...and then there are the comments that Freenet's too slow... well JAVA == SLOW in case people forgot.

    90 percent of people's negative comments about this project are influenced by the slow and clunky nature of JAVA. Don't get me wrong, JAVA might be great for some kind of cross-platform widget, but if you want to do anything in or near REALTIME, FORGET JAVA! Even the most optimized JAVA code will NEVER run in realtime. (Well, unless you have a couple hundred grand for parallel computing hardware) Imagine a couple thousand JAVA apps strung together with TCP/IP hiccuping and sputtering info at one another in between waiting for the code to finish taxing the CPU and MEM usage of their respective hosts. The more machines, the more latency. Suddenly, many semi-okay latencies become one big-ass mutha latency, and I'm doing an rm -rf * in my freenet dir.

    I haven't EVER installed a JAVA app that actually worked correctly (esp. on the *nix platforms) or didn't suck up 80% CPU drawing a damn window with a couple menus. Ooh, just what I want, a JAVA based word processor... hey, let's do a CTRL-A in my document and watch the display freeze for about 20 seconds... Joy!

    Yeah, I'll be waiting for a C implementation...