Slashdot Mirror


User: j3110

j3110's activity in the archive.

Stories
0
Comments
552
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 552

  1. Re:Why people ask for Java + C++ on C# and CLI Fast-tracked to ISO · · Score: 2

    If you think DBMS systems need processor time, you are badly mistaken. You could write a DBMS in VB and it would be sufficiently fast on old hardware that the harddisk would be the limiting factor.

    For mathmatical algorithms, most people bypass even C and go straight to assembler (though they usually keep an unoptimized version for portability).

    Any management decision is going to be made on economical principals, or else your business isn't going to stand up to competition. Usually, and unfortunately, management isn't always well informed. As you would see someone like me telling management what moves to make, I see management taking your advice and see similarities with cobol.

    Modern computers are fast enough to do 99% of all tasks easily in the slowest of environments. You won't be able to name more than 1% of tasks that require more processing power. If Java was 50% the speed of C++, then by moores law, only software designed for the last year's hardware would not be possible to do in Java. In C++, design and development of software that was that processor intensive would take about a year. Especially considering that you have to worry about buffers and leaks.

    A lot of serious work is still done in C++ and C. I don't dispute that. You wouldn't have disputed that a lot of serious work was being done in COBOL about 5-10 years ago. Java is more efficient because the DLL hell is worried about by one single team of developers. That is the TCO savings. We already have a partial Java port of our software, and I just tested it 2 days ago under XP. It works great so far. Works fine on Linux as well.

    I can't believe you would compare the Java API with MFC. MFC isn't even really object oriented. The types of the data are very similar to assembler directives for declaring memory (DWORD, etc). The Java API is hierarchial, fully OO, and very easy to understand. There is an object for a button, not an ID. I hated every minute of using VC++ and the MFC. Borland's class library was a lot more sane, but interoperability with other Win32 API's that didn't have the BCL to wrap it was a nightmare that I only solved with embedded assembler. C++ is not pretty when dealing with the Win32 API. Then with C++, if you want some sane way to do something, you have to rely on some proprietary third party library. So far, we haven't needed a single third party library in the rewrite of our current software in Java.

    The most popular JVM for windows?? If you mean MS's VM, I'm not even going to argue with you. It's a POS. Anyone programming for that is going to thing Java is a POS. Anyone claiming that it is faster than 1.4.1 from SUN, hasn't really compared the two.

    The wave may not have reached where you work yet, and it may never considering that you might be in the 1% where C++ makes sence. If performance is that important at where you work, then you aren't working in a normal job. You may be working on a kernel, photoshop, or 3d studio, but the average person is building a dynamic storefront online, games, DBMS, etc that are more IO bound than CPU bound. In each of those cases, you will have a larger problem delivering data through the network, rendering graphics on the GPU, and accessing the disk respectively.

    I admited that refactoring came before XP hype. refactoring is one of the greatest forces for OOP though. It is much easier to refactor code and keep an object performing it's usual task than it is to do the same with a set of dlls. dlls compartmentalize sets of functions into something almost recognizable as an object. Else, a bunch of free floating functions would be impossible to maintain or to refactor.

  2. Re:Why people ask for Java + C++ on C# and CLI Fast-tracked to ISO · · Score: 2

    In what circumstance do the speed differences in C++ and Java justify not having the broad compatibility and stable free API's of java?

    Embedded: J2ME is compiled directly to bytecode, there is no difference between C++ and Java. Java still allows a user to write a program, using a subset of the API's of Java, and run it on virtually all consumer, and most other platforms.

    Applications: Processors are -> 3Ghz, RAM is cheaper than pizza and bear. Development costs will dictate the path. It's hard to argue with the hardware abstraction and the availability of free classes that go with Java. 9/10 programming in C++, my bugs and problems where with the subtle API differences between different systems. XP broke a good chunk of my program, and for no good reason. Wouldn't have happened if I were using Java.

    The only place where C will remain prevailant for now is low-level systems programming. It's not likely anyone is going to write a kernel in Java (although with gcj and the like, it is possible).

    You're arguement would have one believe that good programmers choose Java, but the jobs are mostly for C++/C. I don't buy that. Programmers choose the languages that are profitable and make sence to them. Companies choose languages with least TCO. If a project is easiest to implement in Java, that's what a company will choose. Java is usually easiest, but only because there are so many good API's, and it's a strongly typed object oriented language making it easy for developers to understand each other's code. (no a->b[35].chocolate_pudding(-1)?null:0 BS)

    You're arguement about C/C++ developers having stable jobs is exactly backwards from what you think. The number of jobs for C/C++ developers are not dependant on how many C/C++ developers are out of a job. It's based on the growth of market. If companies that specialize in C/C++ projects where growing, then there would be more job openings. The Java market is growing faster than any other. C++ is just behind it. C, on the other hand, is a niche market for system level program. How many kernels are needed? It doesn't grow very much at all. It's the new assembler. It's the great platform portable assembler! .Net has went from a rate of 0 job openings per unit of time, to >100 in 1/3 a year. If it grows linearly, it will be with java in 3 years. Thats pretty good, but I don't think it'll see those numbers until it is truely cross platform.

    The entire XP ideology is based on OOP(small talk originally). Most of it doesn't make sence elsewhere. Refactoring is the #1 concept of XP adopted by most people. That concept was designed specifically for OOP. Refactoring was common place before XP. Now it has a name, and a method to make it easy using OOP.

  3. Re:What good is it on C# and CLI Fast-tracked to ISO · · Score: 3, Interesting

    Monster.com begs to differ:
    Java: 961
    C++: 827
    C#: 118
    C: 885 (also returns C++/C# matches... some want both, few want just C)

    Java + C++: 381

    I'll give you two guesses of why someone needs to know both Java and C++. (Hint, they aren't moving from Java to C++.)

    C# has went from 0->118 in a few months. I think it's surpassed C already. You should have said
    Java absolutely. C++ absolutely. C# soon enough. C not in another few months.

    The programming community is moving to an object oriented philosophy, mostly because XP is common place and XP pretty much requires OOP.

    Given monster.com isn't the all knowing oracle, but I think it does show a trend. In the end, there will be two options for high level languages: Java and .Net. If for no other reason than portability and OO.

  4. IANAL, but on New SecuROM Ties Protection to Physical Structure · · Score: 2

    Doesn't copy-protection make it legal to crack and distribute copies of software. By law everyone is entitled to one backup copy of all software they purchase. It isn't really a backup if it can't be restored. That makes cracking it neccisary for the legal operation of software. Reverse engineering is legal for interoperability AFAIK. Then there is the distribution bit. If the average joe can't make his own backup copy, why would it be wrong to give joe a copy? Basically, if the only route to claim your right to a legal backup copy is for the public to crack it and put it on a warez site, then doesn't that constitute fair use?

    The DMCA is in direct contradiction with legal precidence set up based upon another law. Before the DMCA, you could do that all day long without any legal issues. Is it even legal for them to implement copy protection in the first place? If not, then the DMCA is meaningless. If so, then it has to be legal to break copy protection in order to claim your right to a single backup, unless someone wants to overturn 50+ years of rulings.

  5. Re:J2EE is the C++ of our time on It's Time to 'Re-Align' the JCP? · · Score: 5, Insightful

    Large and bloated or not, it's the best thing right now for what it does. It does remove security, clustering, distributed transactions, as well as the hardware abstraction that java removes, from the list of things the programmer needs. This is a complex problem that I can't really think of a better way to solve. If I named all the class libraries there where and said it was bloat and we didn't need them all, I'ld be laughed at, but this guy names several API's that are each useful in their own way. What's he want to do about it? Drop SOAP, RMI, EJB? You don't have to use any one of those to use any one of the other. The average server side programmer isn't going to avoid SOAP or RMI by not using J2EE. All the technologies he mentions don't go away when you don't use J2EE. He offers a lot of critisism with only the evidence that it is complex. If he thinks it's complex now, he should have had to write clustering, distributed transactions, and security for an application. At least then he would be qualified to call it complex. I don't want VB for the server side, it screwed up the client side enough. Sounds to me like the guy needs a book :)

    Where I will attack J2EE is it's redundancy of input. How many times do you have to tell a computer that there is a public function of this bean that people in the role of admin can call? This is just a tool problem though. There are some nifty tools out there (XDoclet, objectfrontier) that help, but nothing that integrates all knowledge of a bean into one single point of access AND comes with a deploy tool to reconfigure the bean.

  6. Re:Beos.... (I'll bite) on Java For BeOS · · Score: 2

    A lot of windows code was taken from BSD... look in c:\windows\system32\drivers\etc :)
    (substitute winnt for windows on 2k or ntxp)

    One could argue that at least 10% of windows is based on BSD. If so, it's more popular than Linux :)

    I'm not even going into how much of Linux is BSD.

    BSD is the code cow of the industry: everyone takes something from them.

  7. Re:C is a gr34t langu4g3! P1eese k33p u5ing it!!! on ICFP 2002 Contest Winners Announced · · Score: 2

    There is very little more to it than removing pointers, since a good 90%+ of exploits are buffer overflows. It will magically make your program more secure by doing so. Now all you have to do is not do something stupid like open files you shouldn't, and that should take care of the rest :).

  8. Re:C is a gr34t langu4g3! P1eese k33p u5ing it!!! on ICFP 2002 Contest Winners Announced · · Score: 2

    Actually, the system of which you speak is called a microkernel. People complain about context switches when you mention micro-kernels, but there are several good performing microkernels in use today. The way I see it is you had to switch context at some point anyhow :)

    It does depend on the skill of the programmer... that's my point. You are trusting more people than you realize to have written good software that could intentionally or accidentally compromise your precious data.

    Java and other GC languages aren't magical, they don't remove buffers. All they do is what any decent system should: check the buffers in system code. You're not going to break Java programs just because they are running on something that was written in C, because the checks are done and tested.

    Not many people argue that we should still be using assembler. The shift is clear. It began with C taking over the app market, then all of a sudden a bunch of freaky students decided they wanted to write an OS for gaming, and they didn't want to bother with all that low-level assembler crap. I really don't see C living much longer as a popular language. Laugh now, but it happened before, and history repeats itself, and for good reason this time. I wouldn't be suprised if cracking and terrorism speed it up.

    The most likely place where you'll start seeing Java (only because it's the most developed and easy to use of the GC languages) programs crop up are everything from shells to window managers. Then the server processes will be taken over by Java counterparts. A Java DNS server and a Java MTA will be made by someone tired of being hacked every other week through bind and sendmail. It will be easy to administrate because it will have a nice GUI. Then the hackers will pick on another C project.

  9. Re:C is a gr34t langu4g3! P1eese k33p u5ing it!!! on ICFP 2002 Contest Winners Announced · · Score: 2

    Yeah, most OS's are implemented in C, and that's a big portion of why they aren't secure nor reliable in most cases. C doesn't have garbage collection by default, and therefore there are buffer overflows found in virtually every C program. It doesn't show up as much in a kernel just because of the way that they work. It's not a big deal really, but remember you are trusting all your files to the programmers abilities if you install a C program more than say if you are installing a Java or python app.

  10. Re:Somewhat OT, ignorant question on Building Java Enterprise Applications, Volume I · · Score: 2

    Some database engines and database connectivity software is written in java. Also mathmatical software will benifit from the extra precision. Then again, the new 64bit systems arent't really just bringing an extra 32 bits to the table. They are bringing twice or greater number of registers. The benifits of this architecture will be experienced instantaneously by those that use them.

    An old Java library will still work in new java implementations. You don't have to wait for the JDBC drivers to be updated for itanium, PPC, etc. support. In C/C++/Delphi (not C# or .Net with the CLR), you just can't do that.

    *COM* is a cludge that requires more code to do the same task. If COM was worth a it's bits, .Net wouldn't exist. .Net doesn't have a persistance engine that doesn't require you to save the data through the same proprietary SQL statements. When you buy into .Net, you've made your mind on exactly what kind of system your software will run on. When MS increases the tax, you'll have to eat the losses, or redevelop on a different platform.

    As for ebays faults, it just goes to show you how much debugging you can save by using J2EE as well. You don't have to worry about any of those problems with J2EE.

    I don't think you'll be finding a system that does as much as J2EE that is easier to use.

  11. Re:Somewhat OT, ignorant question on Building Java Enterprise Applications, Volume I · · Score: 2

    There really aren't many good arguements for Java on the server-side. Of them, the best seems to be abstraction. The JDBC drivers are required to support ANSI SQL (different versions for different levels of drivers). Also consider that at some point soon, a lot of people are going to have to port their projects to take advantage of the new 64 bit processors and for the Itanium. To you it may be as simple as "a simple recompile" but we both know it's not that easy when you are using third party libraries and components. Half the world can be brought to a halt because one component vendor isn't on the ball in the Delphi/C world.

    The real strong arguements for Java on the server side though come from the wealth of code and architecture available for free. J2EE is a great technology. C# doesn't support clustering, distributed transactions, nor the object persistence that J2EE supports. Do you fully understand how much effort it would take for you to write a security system and distributed transactions for your entire enterprise? How about optimization of this system? J2EE halves the time to market if you need these features. J2EE is often much faster than raw database access because it optimizes your accesses by cacheing as much data as it can. How long would it take you to write a clustering solution for your application? In an enterprise situation, if you can't scale, then you're not going to fly. Ebay doesn't run on one computer, and it doesn't make mistakes when two people bid almost simultaneously. Writing C code for distributed transactions, security, and clustering would take longer than writting the code to make EBay work on one system. J2EE may increase the amount of time it takes to make EBay work on one system, but if it works on one, with J2EE it will be fine on as many as you want.

  12. Re:PuTTY on The Best of Windows Open Source Software? · · Score: 2

    It also supports SCP (called pscp) and key based authentication. Add to this weirdx and X11 forwarding, and you have a great X solution. (WeirdX requires some configuration usually.)

  13. Re:Vendor lock-in on BEA WebLogic Server Bible · · Score: 2

    There are no books because it's that d***ed easy :) Create your standandard ejb-jar or .ear or .war, and copy it to the deploy directory of jboss. That's it, you're done. You don't need the custom jboss.xml file AFAIK, it's only there for tuning performance. You can buy all the JBoss documentation from their site for 30$ or so. That will teach you to use things that haven't made it to the spec yet. JBoss supports Dynamic-QL, which is EJB-QL that is dynamically compiled. It's not part of the spec, but its just the natural progression of the standards. JBoss does this kind of thing quite often, and one would think that it would make them less J2EE compliant, but really, this is why they are usually the first to comply with a new standard. They begin implementing features while they're still in JSR's and sometimes they spawn a few good ideas themselves.

    BEA's weblogic comes with a plethora of tools that few other app-servers do. You won't need a book on how to use it, but maybe how to get the most out of it, since it costs 1000's of $/CPU.

    Then there is websphere. It's a documentation magnet. If you looked in a bookstore, you'ld think they were #1, but few new people are going there. I haven't met a person that said setting up web-sphere for their project was any less than a weekend project.

    I would love a GOOD book on J2EE design. I'm not much of a subscriber to patterns. (They all seem to be obvious solutions for a given problem. Why not refer to them the old way, by the problem they solve.) I've read a few books, but they read like instruction manuals, cook books, and how-to's. Most of the chapters are titled "Setting up ____", "___ and J2EE", or "How to ____ with J2EE". I'm looking more for a point by point coverage with example code of what each class/interface/file in J2EE does (a technical manual) with best use cases that aren't obvious (session facade, etc.).

  14. Re:Photo-Quality on 13.8MP Kodak Tops Previously Leaked Canon · · Score: 2

    13MP=13 million pixels
    720dpi= 720 dots in an inch
    720x720dpi= 518,400 dots in a square inch
    13million/518,400= 25 square inches

    This means you can make a 5"x5" photo quality photo with a 13MP camera if photo quality is 720x720 dpipi to you. Most printers can only really do 360dpi with any real color detail. Look at the vertical resolution of the printer you want to use. I don't think many printers overlap vertically, but they do horizontally. Keep in mind that 600dpi laser printers have more accuracy than any inkjet I've seen so far. They do so because toner is smaller than ink. A new toner had to be invented for 600dpi laser printers AFAIK. Photo printers are magical, so none of this really applies with them since it usually isn't ink, thus no transference or size issues, but I haven't seen any photo printers that print much more than 25 sq. inches.

    Also, just for people who can't do math (not you, other posters), 10x10 is 4 times larger than 5x5. 13MP is indead 4 times more accurate than 3.25MP, not just 2x. (some people are still learning multiplication appearantly)

  15. bootable memtest86 cd? BAH! use lilo on Secrets Of BIOS Tweaking · · Score: 2

    Just add it to your lilo menu :) (You know you've done WAY too much tweaking on your system when memtest86 option of your lilo menu is the first one.)

    Some advice for people on memory tweaking:

    Don't boot a real OS unless you like to reinstall often. Even XFS, EXT3, ReiserFS, and especially NTFS will corrupt if you can't trust your own memory. Instead, boot the Memtest86. Don't stop there!!! Boot Linux and compile your kernel while playing Quake3 :) If you can do that, there's no problems with memory timings.

    Don't forget that you can underclock your CPU and get better system performance overall by having faster ram. A lot of your computer's CPU cycles are wasted waiting for memory. Change the system performance option from "Optimal" to "Turbo" if you have it. Then keep trying tests until they all pass. Adjust your system bus speed down each time. Once you have a good setting, set it down a little more.

    Make sure you don't go too far out of the PCI 33Mhz standard, or don't use an intel video card or various other cards that depend on this heavily. I had an I740 video card that just wouldn't work at any other setting.

  16. Re:Why do you want a degree so much? on On Balancing Career & College... · · Score: 2

    School is great and all, but it's end goal is nothing short of being a more productive member of society. If school will help the man, he should go, but if it won't, maybe he shouldn't. He shouldn't waste his time taking classes that belittle him because his methods are unorthodox. That's my biggest problem with school, and maybe the guy who's asking the question has the same problem. What do you do when you have an OK business in the field that you are trying to study. Especially when most graduates can't achieve that level of success. The way I see it, he has two choices: Get a degree in another field that can help him in his business that he doesn't already know, or go to a bigger school and try to test out of as many stupid classes as possible. There's nothing like sitting through a class that makes you cross-eyed from boredem to kill any kind of enthusiasm that once existed. (Believe me I've sat through my share... I need one class to graduate and I dread it like the plague. I'll probably go have a talk with the chair about it.)

    As for the balance of time, test out of classes as much as possible, and give work priority. As long as there is money coming in, what's the rush of getting through school? Don't kill a business that's going OK during economic downturn for some yerning to have a degree. If the business dies of it's own accord, then you'll just be closer to a dregree and have on-the-job experience that's worth more than school in the CS field. Don't believe me, see how many jobs you can find that don't count 2 years experience for more than 4 years of school. On a 1:1 ratio of time, real world experience will always be regarded as more valuable than education. The principals of economics would say that you need to take as much of the more valuable as possible, then take the other on the side with your spare resources.

    Those saying that going to college is self-discovery are unqualified to say so because anything productive you do after high school is going to induce self-discovery. Does anyone really believe that running a business isn't going to teach you about yourself? I've learned more about CS, business, and myself in my partnership than I learned the two years of college before my friend and I began it.

  17. Re:The magic knob! on Larry Wall On Perl, Religion, and... · · Score: 2

    I'm sorry if I came off a little angry or anything. Just years of repressing that side of myself causes me to be a little imbalanced now and again. You're absolutely right, religion probably did serve a purpose at some point. I still think a lot of the minor religions were bulldozed by catholisism and islam. I wonder what the French believed before "moral fortitude" became their military strategy :) On the other hand, the catholics documented a lot of things we wouldn't have known otherwise.

  18. Re:The magic knob! on Larry Wall On Perl, Religion, and... · · Score: 2

    I know it's possible to write good Perl, I was just exagerating quite a bit :) I only complain because I think there should be some sort of set standards about what is OK about publicly released code that was designed to be functional (It's not really open source if only you can read it). With the big knob, there would be some social issue to not using it on a pretty high setting for code that you expect people to use. That's all I really want :) (and looks like I will have!)

    I use reg. ex. in Java (yep, now you know my source of liking structure), and I think they could be better defined, but it could take away from the ease of writting a reg-ex. In that case, you should probably just make a procedure if you want that much structure instead of a quick (and a little dirty) regular expression. That is unless Larry has some magic tricks for Perl6's reg. ex. that we don't know about :)

    I'm more concerned about the things God told men to do in Leviticus. Stoning a woman for being raped or a child for disobedience is much too brutal for a devine being to have said. If the Bible says that this is the case, how can I believe the Bible to be devine? Besides, if it was ever right, by the definitions of having a perfect God, then it is still the right thing to do. I think religions are very good at showing how morality of man has progressed.

    Larry would have you believe that there is no basis for morality without religion, but an atheist will usually say that religion is an expression of the human desire for morality that branched from the Golden Rule, equality, and very rudementary logic. I hold these as being truths that I test any potential religion with. Sexism (men are better than women) and racism (jews are God's favorite) only serve to make the writers of the Bible feel better about themselves (being jewish men and all). I fail to see how it's so easy to take the Bible seriously with such statements in it. I'm sure Larry isn't sexist, but the Bible is. Should Larry be sexist, or is Larry smarter than God? According to the Bible, one or the other must be true. Don't give me that crap about "all will prophesy in the end" because according to the Bible, all women are still being punished for Eve's sin. Appearantly you're being judged before your own existence based on others. Today, we call this prejudice(look up it's roots... pre->before, judice->judgement), and it's not tolerated. Society has evolved beyond the Bible, and Christians are leaving it behind (not taking it literally already).

    I'm an ex-Christian. I know as much about the Bible as the average christian, I just got tired of making excuses for the Bible's prejudice.

  19. Re:Good point on PHP on Larry Wall On Perl, Religion, and... · · Score: 2

    Oh, get your facts straight... man perl told me it was a "swiss army chainsaw" not a hammer :)

  20. The magic knob! on Larry Wall On Perl, Religion, and... · · Score: 3, Insightful

    Hopefully, this knob of which he speeks will have a "Readable" selection. I find myself, after having written some perl (and commented it), wondering what I just did to make it work. When I go back to fix some bug, I find it easier to just redo a section than to figure out exactly why it was functional (not even considering the bug at this point). The line noise perl programs should be impossible when the knob is set "Readable".

    As for theology, the existance of God to me is a qubit that can be observed with any given teaching. When I use the Bible to observe it, I keep getting a 0 because the old testiment was much to brutal for me to accept as devine. That's better than getting the -1 that I think I would get with scientology though :).

  21. Re:You can do better than that :) on Can Poisoning Peer to Peer Networks Work? · · Score: 1

    See, I told everyone it was obvious :) Thanks for the link... I've taken a look at xolox as well. It allows you to be a "buffer" (upload what you are downloading). The gnutella network is about to include something called a download mesh as well. All people with a file know about the other people with a file, so you can download from people that would usually be too far on the other side of the tree for you to get to and it conserves bandwidth for searching for multiple hosts to "swarm" the file from. P2P is going to nearly impossible to poison technologically in another few years! yea! :)

    I just hope the MPAA/RIAA don't buy Worldcom or something like that.

  22. Re:Doesn't help for Audio MP3/Ogg/etc on Can Poisoning Peer to Peer Networks Work? · · Score: 2

    The MP3/Ogg issue is exactly why you need 50-100K segments... You can play partial streams of either. If you don't like the quality, or it is the wrong file, you don't waste time trusting the original host to begin with. If some id10t downloads a bad file, I don't trust him to not have a few more either. My idea of a system would work because it uses the best of blacklist without going overboard, and still uses whitelist to notify the user that a file is more likely to be accurate (not really... just causes the poisoning party to obtain several independant hosts to lie as well, but the 100K block sample would clear up any network of poison very quick for any given host.) Each host makes it's own decision (actually the user) on who's the liar, but networks of bad files would be colapsed into one file each. The larger the network, the higher it floats. A network would require IP's of computers to vouch for the validity, so if you lie and you're caught, you need a new IP before I'll believe you ever again. Each user blacklists as he pleases, so it can't be tricked into blacklisting files on any other computer.

    The key to the whole system is the 50-100K blocks. It affords a lot of flexibility, the most powerful of which is a preview so you can kill off the idiots, leaches, and poisoners in mass. If they aren't a mass, then they'll probably rank below a good file :)

    They can only make you download another 50-100K if they lie about any given checksum.

    Basically: Anyone that mods up an idiot would be ignored as well as the idiot. If they don't mod up the idiot, he'll never be heard. If they do mod up the idiot, he and his friends are only heard once. The security is not scalable, because it isn't needed to be if you kill 100's of nodes at a time of liars. It's an N*M problem for them. They need N nodes to mod up 1 other node. They need M of those networks. N is the number of people that modded up the highest ranking good file. M is the number of times the user can be fooled.

    Ex) File A has 100 hosts online vouching for the good copy. The user will check three files before giving up. In order to poison the network, you need 101*3 hosts with unique IPs. Even if they had 303 IPs, in order to poison 10 files they would need 3030 IPs, because you will block each 303 IP's everytime you get a poisoned file.

    As for just making the first block work, that's why you use random block sizes. They can't make a random sized block of data conform to the hash on demand. If they could, then you might as well store passwords in clear-text. MD5 makes a 128 bit hash of data that is irreversable in less than 2^127 number of guesses on average. If it took one clock cycle to make a guess, and you had a 2Ghz machine, it would take ~3E21 years to come up with a fake hash on average.

    This could speed up P2P (as BitTorrent has shown), and it significantly increases the cost to poison the network.

  23. You can do better than that :) on Can Poisoning Peer to Peer Networks Work? · · Score: 3, Insightful

    Do GPG signatures on blocks(about 50-100k) of files instead of entire files. When you have a contradiction of checksum's on blocks of files, alert that the user that someone is a liar. Take all the results of the search for that file, and all the gpg signatures and present the user with two options that are the sum of their trust levels. Most files can be previewed to check if it is bogus, and the user can blacklist anyone that even trusted that host, and their IP's as well. From then on, none of those IP's will be allowed to connect to this host. Eventually, they'll exhaust their IP supply before they end piracy.

    Obviously the user would get to select the appropriate action if one of the files are just better than the other with a rating mechanism as well :) (A per file rating instead of a per host rating)

    Other advantages to this method are:
    *Checksums can't be faked except in NP time. (use a random block size to thwart a super computer precalculating bad blocks that MD5 to the right hash... use multiple hashes)
    *Multiple host download is gauranteed to be the same file (even when being poisoned).
    *A computer need not have the entire file to share a block of the file, therefore files propogate the network in a more exponential manner. (host A gets block 1 from B. Host C gets block 2 from B, Host C and A trade blocks 1 and 2. Host D comes along and wants the same file, and can download from A and C instead of bogging down B. Works even better because all connections that I've seen are duplex even if they have a slower upstream. Conserve network bandwidth by refering downloaders to other people who have downloaded before... search for the GPG signature of the hosts on the network.)

    Overall, I see this kind of thing being implemented very soon because it's not that difficult, and it's pretty obvious. Maybe the next edition of Gnutella will support this.

    Of course there are loopholes where the RIAA/MPAA could buy half a million IP addresses or have a lot of computers on the network, but you don't have to have an unbreakable system, just a system that costs more to break than they think they will see in profits from breaking it.

  24. Re:If not mp3... on Java Media Framework Drops MP3 · · Score: 4, Informative

    It's a media framework. That means it's not SUN's job to make it work with everything :) You can add your own plugin audio codecs. Think of it as a portable version of the Windows Media Codec registry. I'm sure there will be sites that you can download MP3 plugins for the JMF. I'm pretty sure Ogg already exists, but I'm not sure about that. ( JavaZoom claims they have some kind of a version)

    Expect to see lots of codec's for JMF provided by third parties, the way it should be. Should be because SUN's programmers don't have the time nor inclination (nor obligation) to learn every little detail about every little file format. It'll be better in the end to have a more dedicated support for each codec whilst keeping the portability and API static for all codecs.

  25. Re:Sobe! on Gaming Fuel: 4-way Shootout · · Score: 2

    Yeah, I know. That's why I said just Sobe. Mr Green sounds too much like Mr. Clean, the stuff you clean the floor with, anyhow. Some of the Sobe products keep me up better than coffee. The regular green tea is great they make is great :)