Slashdot Mirror


User: bwt

bwt's activity in the archive.

Stories
0
Comments
1,013
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 1,013

  1. Re:Derivative work on Websites Complaining About Screen-Scraping · · Score: 4, Insightful

    The author does not create the "web page", that is the job of the user agent. The author offers up raw HTML source code and YOU render it. Your argument proves too much -- it proves that all rendering of HTML in a browswer is copyright infringement because it creates a derivitive work of his source code. Indeed, it DOES create a derivitive work, just one that is **authorized**.

    The author creates various files such as HTML text files, pictures, pdf's etc. By using HTML, he has authorized the user agent to render consistent with the HTML standard and his HTML code. Thus, he has explicitly authorized certain limited types of derivitive works to be made from his source code by using HTML. The HTML standard does not require images to be rendered, and since it was the author's choice to use HTML, no violation of copyright law occurs when HTML is rendered in a manner consistent with the HTML spec.

    Had he wanted to mandate the exact representation, he could have used an image format or a PDF. It's his choice, but he must live with it and all that follows from it.

    Of course, there is nothing wrong with not rendering the HTML at all and just looking at it as source code. Nor is there any cause of action under copyright law if you extract unprotectable facts and ideas from either the source code or the rendered version.

  2. Re:HTTP GET is an authorization on Websites Complaining About Screen-Scraping · · Score: 1

    If you left your door unlocked, then he can only be charged with stealing your TV and not with breaking-and-entering.

    However, if somebody knocks on your door and asks you if they can have your TV and you give it to them, then you no longer own a TV. If you make a contract with them, then they would have to abide by it. HTTP supplies no way to constraing the request with a contract, although robots.txt might be sufficiently standard to override this.

    I would have no problem with a lawsuit that said "X sued Y for violating the robots.txt policy". In fact, I think that might be a good thing.

  3. Re:Not completely on Websites Complaining About Screen-Scraping · · Score: 1

    Follow that logic, then by having a telephone a diner has granted explicit permission to the telemarketer to interrupt his meal.

    That is the law, yes. Unless of course you are in a state with a do-not-call list and your name is on it.

    Has the owner of the machine explicitly granted spammer permission to (mis-)use his machine, just because a well-known script is present, or because CONNECT is enabled on the wrong side of the internet connection?

    Yes.

    He is responsible for the content of his site to the extent that his actions create it. He turned on his box with /cgi-bin/formail.pl present, so the consequences of his actions are that he is allowing anonymous relaying, which in my opinion is an uncool thing to do, but it is his right. Some people intentionally do this, by the way. If he is an idiot and didn't intend to do this, then his own negligence is his problem.

    Of course, I am free to put him on my blacklist so that I don't get any traffic from his site.

  4. HTTP GET is an authorization on Websites Complaining About Screen-Scraping · · Score: 5, Insightful

    This is just another example of gross technical incompetence by executives and lawyers.

    A company that attaches an HTTP server receives an HTTP GET request complete with some information in its headers. They have a reasonable case to request that that information be accurate. They have unilateral technical ability to firewall IP's or whole subnets. Otherwise, once they receive a GET request, when the machine that they have configured responds by sending a file, they have granted explicit permission to process that file consistent with the info in the GET request.

    The owner of the server is completely in control at a technical level. If they don't like what you are doing, they can firewall you. Absent a contractual agreement not to, you have the permission to send ***REQUESTS*** for anything you would like to request. They can say no. If you lie in your request, then they have a case to say your use is unauthorized, but short of that, there should be no need to have the judicial system rewrite the technology.

  5. Re:New and Improved for()! on Sneak Peak at Java's New Makeover · · Score: 4, Insightful
    I agree with using "in" instead of ":", but I see no reason to change "for" to "foreach". Needlessly proliferating keywords is a bad thing, but given that they have to add ":", the more readable "in" is better.
    for (String s in c)
    seems like the best syntax to me.
  6. Re:Yay! on Sneak Peak at Java's New Makeover · · Score: 1


    Actually Python is already a feature of Java and Java is already a feature of Python. It's called Jython and you can code against any java package, including SWING or the Eclipse SWT, in Jython.

  7. Re:I just don't care! on Major Step Forward For SVG in the Desktop · · Score: 2, Insightful


    I don't want my icons to be huge!

    You just don't get it. Size should be a property of the rendering, not of the icon. SVG allows this, bitmaps don't.

    You can make an icon out of any SVG file by telling your desktop to render it. Not only that, but it looks good whether you are on 1920*1200 or 640*480.

  8. Re:Parrot on Runtimes and Open Source? · · Score: 2, Interesting


    I think that Parrot needs more buzz about it. The real impact of Parrot would be that if Perl, Python, and Ruby all use it as their VM, then the triplication of effort in library building can be reduced. That is a powerful possibility!

    Think about something like the Eclipse SWT. It uses native GUI calls and provides a platform independent java wrapper around them, and emphasizes a nice set of programming patterns. That could be naturally extended to any of Perl, Python, or Ruby. So build a gui kit directly in Parrot and presto -- you've got all three.

    Additionally, work spent optimizing parrot benefits perl, python, and ruby simultaneously. Things like JIT and hotspot compilers can be developed for the benefit of all. I'd expect us to see a gcp counterpart to gcj as well.

  9. Seattle Wireless on IEEE Standards Board Passes 802.16a · · Score: 1

    I see a day where we no longer have ISPs, we are just all connected to each other in a huge mesh.

    There are already groups trying to do this in various cities. One of the more advanced ones is in Seattle. Seattle Wireless is a not-for-profit effort to develop a wireless broadband community network in Seattle.

    I think the critical factor is as much signal range as it is bandwidth. The Seattle group above is using the 802.11b devices with directional antennas to make their backbone. They've defined classes of nodes in terms of how dedicated the node is to serving just as a backbone. The better the range, the more "connections" happen and the faster the backbone will grow. Looking at their backbone node map shows they are just getting started, but it kind of makes me wish I lived in Seattle.

  10. Re:Java not an option in my biology research on Is Client-Side Java Dead? · · Score: 1

    Actually it was SVG that wasn't ready, not java. The 2D graphics that Batik uses existed several years ago.

    I'm not sure what it means for a language to be "bloated". What are you talking about? Are you saying have a rich class library is BAD?

  11. Re:Maybe a few more buzzwords... on Is Client-Side Java Dead? · · Score: 1

    Congratulations, you've proven that RE's are useless. Except for the fact that the opposite is true, it's a great folksy argument. In particular, the authors of grep will be rather surprised.

    The fact is that (1) hundreds of megabytes is a small data set and should fit whole in memory on a reasonable modern workstation (2) the limiting factor of processing file based data is typically IO (3) I'd expect one row of data to be read in at a time and the RE applied to that (4) the average time to apply a modest RE to a single row is much less than the avg time per row of IO

    Now when it comes to scientific visualization, vector formats aren't exactly all the rage. Neither is XML, since those files tend to be rather large and there tend to be a lot of them - no one wants to waste bandwidth and space on closing tags.

    Hmmm. Obviously you missed Session 7 at the 2002 SVG Developer's Conference, which was titled "SVG for (scientific) visualization". That's a complete crap argument anyway. XML compresses very well, typically 5-to-1. A .svgz file is compressed SVG. The open office document formats handily dispel your tired objections. One of the sample SVG files that comes with Batik is a map of the population density of Spain. Zoom in on it a few times -- if that doesn't satisfy you, I don't know what will.

  12. Re:Java not an option in my biology research on Is Client-Side Java Dead? · · Score: 3, Informative

    A couple summers ago, I was hired to create an application for the visualization and analyzation of a few hundred MB of data- ecological, environmental and meteorlogical.

    Well, Java blew in my tests. That's not to say it doesn't work well for some things, but in the case of this client-side app, it just wouldn't have worked out. It was slow and a pain to develop for. This was a few years ago, and things haven't gotten much better, unfortunately.

    Hogsquat. In fact, if you had this assignment today, it wouldn't take you much coding at all. Batik is an excellent Java based SVG toolkit that includes a Java SVG Brownser called Squiggle. Use java regular expressions to parse your data into some nice internel format (or jdbc if it's from a database). Then use the SVG DOM in the Batik toolkit to spit out SVG XML and render it using Squiggle.

  13. Re:'Programming at Python Speed' ? on Guido van Rossum on Programming at Python Speed · · Score: 1


    A python's buisness plan
    1) Give away free "massages" to rodents
    2) ????
    3) Profit!

    Seriously, if you've ever seen a python strike a mouse or rabbit, they move with great swiftness.

  14. Re:He should switch games... on Humankind Makes Last Stand Against Machine · · Score: 1

    Perhaps this is just a consequence of the fact that computer scientists have studied chess substantially more than they have studied go.

    I also don't understand why people think that because a computer program can play better than you means that you should stop playing. These games are deterministic and finite -- there is a mathematically perfect play whether or not somebody has calculated it. It really makes no difference to me as a chess player that a machine can trounce me any more than it does that Kasparov could trounce me.

  15. Re:Why would anyone use anything else? on MS SQL Server Worm Wreaking Havoc · · Score: 1

    I have never used SQL Server, but my experience with PostgreSQL leads me to believe it might be competitive in many circumstances with it.

    For enterprise grade solutions, PostgreSQL is not remotely competitive to Oracle. For small operations (the recent story on the .org DNS registry come to mind) it's quite likely that postgreSQL is "good enough", but a brief examination of the oracle documentation will reveal exactly what kinds of enterprise features differentiate Oracle from Postgres. Simply comparing this with the Postgres docs should end the discussion.

    For anyone who thinks of them as comparable, I make the following challenge. Pick one of the core manuals from the above page. Register with Oracle Technet and simply read through the table of contents and mark Oracle features identified in the docs and assess if and how well Postgres implements it. I recommend starting with the Performance Tuning Guide, and the maybe the Data Warehousing Guide.

    By doing this you can quickly fill up pages with Oracle features that PostgreSQL does not have. I chose the two guides listed above because I can say with confidence that the features listed in the Oracle docs are heavily used because I have personally done so.

  16. Re:Libraries Comparison on The Future of Java? · · Score: 1

    Java has a great advantage in its JVM and with the JCP (all Sun/Apache politics aside). How can we achieve such integration of community in other languages? Does anyone have any ideas?

    Larry Wall does: it's called Parrot. I'm rather surprised that it isn't getting greater attention in the open source community. In my view, now that Mozilla and Open Office have achieved some measure of usability, Parrot is the biggest unrealized potential in all of open source.

    Parrot will be a VM that perl will target, but that both Python and Ruby (and lots of other stuff) could (and SHOULD) target. Anything that targets Parrot can use any libraries that target Parrot. Imagine Perl, Python, and Ruby all combining forces in terms of library creation, eliminating triplicate creation of everything, and running on 100% pure open source VM.

    Although the Java community is still larger than even this combined pool, the difference is less and if you compare the *open source* java community it might be about even.

    Also imagine the potential for Parrot scripting of other open source apps. Wow!

  17. Re:Libraries Comparison on The Future of Java? · · Score: 1

    Your performance argument is irrelevant.

    The previous poster made the false claim that Python was faster than Java. I clarified the facts. I do not have a "performance argument" -- the original poster did, but it was one based on untruths.

    Personally, I care most about total development time and making programming fun. Each of Java and Python excel in these areas, but in different (and complimentary) ways. Which segways into...

    However, you may not be aware that there are two major versions of Python, standard Python implemented in C and Jython, implemented in Java. Using Jython, you can write Python that has full access to all of Java's libraries.

    I am quite aware of Jython and use it from time to time. In fact, I use the Jedit plugin for Jython as my main way to play with Python. I see Python as a great scripting language for Java classes and actually prefer Jython to Python. I've also played a bit with JRuby, which isn't quite as mature as Jython but shows tremendous promise. On pure joy of hacking our brand new code, Ruby is my favoite.

    Going back to the original story diverse multi-language use of the JVM is a reality NOW and is an advantage of java over .net, contrary to all the marketing FUD saying it's the other way around. The poster I was rebutting was ragging on java for not being as good as python. The existence and success of Jython refutes his points, not mine.

    Your comparison between Apache Jakarta and the various Python libraries underestimate somewhat how the Jakarta projects have substantially less redundency between them and are better coordinated as standard building blocks that fit together (mostly - struts and velocity are alternatives, I suppose). For example, Jetspeed works with Velocity, Cocoon, and Tomcat. All build using Ant. All test with JUnit. Add mail with James. The projects are NOT "all web application servers of one sort or another" but rather more like a coherent and compatible set of mix-and-match components of web application functionality.

    I don't really care much about "lines of code" so much as "lines of code we have to create". The more hardened code you can reuse, the better. The bottom line is that Java's programmer community is extremely well integrated and dwarfs many alternatives.

    Frankly, I like Python's syntax and ease of use better than java's. I'm not a java snob -- there are lots of "cool" languages in the world. I'm just saying that if somebody like the previous poster is going to openly "rag" on java, they'd better have some better points than what was offered.

  18. Re:I guess Oracle didn't help in the transition on .org TLD Now Runs on PostgreSQL · · Score: 1

    If you are talking about reverse engineering the DDL SQL from the objects, then there are many scripts available for doing so. Oracle's designer product can do this for you, TOAD, an Oracle IDE from Quest, can do this, and free open source scripts to do it are a dime a dozen. TOAD's rebuild table feature is particularly handy for doing things like changing column names or sizes or orders.

    If all you want is to dump data in your tables to SQL inserts, then that is a VERY suboptimal solution if your data volumes are anywhere close to that needed to justify using Oracle. Dumping the data out directly to a flat (say tab delimited) file and using your target database's native loader (for oracle this would be sql*loader) will save you probably at least a factor of 10 in runtime.

    On the other hand, if you really want to get insert SQL, how hard is it to type in:

    SELECT 'INSERT INTO table1 VALUES (' || t.field1 || ', ' ... || t.field-n || ')'
    FROM table1 t

    In fact writing a PL/SQL procedure to generate the above using native dynamic SQL after taking in the table name is also trivial, as is writing a PL/SQL procedure to call it for every table in your favorite schema or the whole database.

  19. Re:Not a surprise... on .org TLD Now Runs on PostgreSQL · · Score: 1

    When you say the DB was "locking up" what do you mean? Are you saying that the Oracle background processes were hanging/crashing and all the sessions were dieing or are you saying that your session simply didn't come back (presumably because it was calculating).

    In neither case does it seem reasonable (or believable, I have to say) that oracle support would tell you to reduce the size of your table. First of all, if the error is the latter kind (a simple case of computationally intractable execution plan for SQL) they wouldn't tell you anything at all because you are asking them for application development support (namely tuning). They would point you to the Oracle manuals on SQL tuning.

    Oracle support is for the former kind of error, in which case you should have a specific oracle error that you are getting, like ORA-00600. If you have an enterprise account, then you can literally get an engineer on the phone with you at 4AM on Christmas Eve who will do whatever it takes to get you back online.

    A "Priority 1 Down" TAR requires you to respond back to them at least once an hour with results of things they tell you to try. They will want you to set diagnostic events and take trace files and run STATSPACK and so forth. If you are serious about getting your problem solved they will literally make patches for you in real time if your crash is due to a bug in their code.

  20. Re:Yes they did... on The Future of Java? · · Score: 1, Informative

    It takes twice as much code to get the same thing done as it does in Python, and the result is slower to boot.

    I disagree on both points.

    If you are writing enterprise applications then with java you have a **substantially** larger set of class libraries to start from, so the amount of code that you personally have to write is a lot less, so I disagree on your first point. Go take a look around the Apache Jakarta project some time. If you can show me python equivalents for a quarter of the projects there, I would be surprised.

    On the second point (speed) I can say that according to Bagley's computer shootout, you are objectively wrong. Java uses substantially less CPU than Python to do 25 standard computing tasks. Of the languages Bagley tested, Java placed 9th and python was 13th, although Java scored closer to first place C than it did to Python.

    Java's reputation as a "slow" language seems to be based on hot air. Swing is perhaps somewhat slow, but if you really want to write blazing fast GUI's you can always use the Eclipse SWT.

  21. Re:Simple Solution for ISPs on Verizon Loses Suit Over Subpoena of Subscriber Info · · Score: 1


    If you were ordered to KEEP logs, then failing to do so *might* get you in trouble. I would have a lot of trouble imagining any situation where that could occur. Such an order could only come as part of a final judgement, definitely not as part of the discovery phase. But as I clearly spoke of the discovery phase, no such order could occur. Discovery is about "produce the evidence you have" and not "take the following actions to create the evidence".

    Also, forcing you to keep logs seems to me a very obvious violation of free speech, since it is compelled speech. It might be allowed if you were creating logs and then deleting them, but I don't think an order forcing you not to turn all logging off would fly. Of course, courts don't seem to obey the law much lately anyway, so who knows.

  22. Re:These things are going to continue. on Verizon Loses Suit Over Subpoena of Subscriber Info · · Score: 2, Insightful

    Power is not concentrated in the people who actually create things of value. Power is concentrated in those who own and control the production and distribution of things of value. Big difference.

    To be fair, a distribution system IS a very valueable thing. Moving media closer to the consumer is undeniably a value added activity.

    What has happened is that WHAT the most efficient distribution system actually is changed suddenly. The internet has rapidly and immediately changed the game. Previously, the physical distribution mechanism (CD's in boxes on trucks and trains headed to music stores) was the hardest part of the copyright distribution mechanism. All other phases of the process were optimized for its benefit because it was the bottleneck. When the disruption happened, the economic power in the physical distribution system was severed from economic reality and continues on by sheer inertia. The physical distribution model lost value faster than it lost power.

    So it is accurate to say that power accrues to people who create value, but that does not mean that the powerful are currently the best at creating value.

  23. Re:Simple Solution for ISPs on Verizon Loses Suit Over Subpoena of Subscriber Info · · Score: 1


    Actually, it is in the situation of complying with a discovery request, so long as it occurs before the request.

    court: turn over all your records
    you: OK, here are all zero records

    As a case study, examine cryptome.org who just did exactly this: their logs were subpoena'd and they responded "we delete our logs daily". There is (for now) no legal burden to keep logs.

  24. Re:six sigma and IT on Six Sigma-fying Your IT Department? · · Score: 1

    I like your summary of six sigma, but you fall into the trap that many do at the "measure" stage. It is a fact of life that good metrics aren't always available. Forcing the use of bad metrics so that your quality improvement apporach will fit nicely into a six sigma framework is a good way to drive insane behavior that actually guarantees poor quality.

    But instead of measuring number of defective widgets per million you are measuring number of defective lines of code per million or number of requirements that were failed be met per million...

    As I said above, using metrics like these will result in wasted because they are A) unknowable and non-objective B) don't actually translate to "quality" C) drive behaviour aimed at manipulating meaningless numbers instead of improving the product.

    A metric based on lines of code is not likely to have any relation to actual end user perception of quality. Writing cleae, maintainable code often involves writing MORE lines of code. This reduces waste over the full product lifecycle, yet the metric punishes it. The metric is also not very well defined: if the program doesn't do X how many lines of code are defective? All of them? None of them? The number that I change to add it? If I refactor my code to add the new feature and change 500 lines of code is that always worse than hacking in a 20 line fix that is much more fragile and nobody but me understands?

    Anything based on "number of requirements" is even worse. I have never once worked on a software project where requirements were sufficiently well defined and static to base an objective measurement on. This "problem" is inherent in software development because an application does different things for different people whose understanding of what the application is and could do is constantly evolving. Two people will count the number of requirements not met differently even for the same "bug". If you change the metric to "documented requirements" not met, then the most common answer for bugs is (and should be) "zero". If you count undocumented requirements, then people will always answer "one" to minimize the defect metric, and your requirement documented will evolve into a bug tracking sheet.

  25. Six Sigma on Six Sigma-fying Your IT Department? · · Score: 4, Informative

    "Six Sigma" is a buzzword name given to the methods of W. Edwards Deming, who advocated a methodology that depends on having objective, numerical measures of results. In a nutshell, the methodology tells us to understand the causes of variability in product and process design, and to work systematically to identify, understand, and eliminate causes of variation that propogate into the metric for goodness that we choose. Beware trying to apply these techniques when the metric for goodness isn't even clear.

    These techniques are used heavily in machining and electronics because they provide an objective, rationally based methodology for improvement. If you are building car cylindars, you use these techniques because if your competitor has more perfectly round cylindars than you do, cars built with them get better mileage and are more reliable and durable.

    The Six Sigma methods are difficult to apply in settings where an objective numerical measure of "goodness" isn't available. This is often the case in software design, when features and "ease of use" are the objective. One area where it can be applied quite well in software is in performance monitoring and tuning. Run duration is quantifiable, repeatable, and "faster is better" translates run times into a raw quality measure.

    Trying to use statistical methods on metrics that aren't objective or aren't easily quantified. Beware of using bug or defect coutns unless the failure mode is extremely well defined. Crap like "lines of code" or "number of methods" may be objective but there is no way to translate them into an overall measure of quality.

    Statistical techniques are a very powerful tool, but they are just that -- a tool. Just like a hammer isn't useful if you need to sand wood, don't expect "Six Sigma" to be the solution to every quality problem.