Slashdot Mirror


User: IBitOBear

IBitOBear's activity in the archive.

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

Comments · 1,129

  1. Having never had a model for storing relationships on SQL, XML, and the Relational Database Model · · Score: 1

    You are right that the problem isn't SQL spesific. The original article pointed to SQL as a sort-of poison-pill that prevented the development of proper relational modeling.

    As a simple example, it is "impossible" to model "Six Degrees of Keven Bacon" entirely within an SQL query, or any "SQL Database". Oracle has an extension that lets you to walk a parentage tree (c.f. that "PRIOR"(?) stuff).

    There is nothing, however, that limits us in the Relational Model itself that prevents the simple entity relationship "Movie ->> Actor" from providing us with all the information we need to find do the six-degrees operation.

    We just can't do that operation if we think of the entity relationship as a table (directed vector) the way all of our tools have taught us to think.

    You have, like the rest of us, learned to think about the subset of the model available in your tools as if it were the model itself. You think of the entity relationship as existing in a vertical table. In so doing you have deprived yourself of horizontal associations and N-dimensional bindings.

    Six degrees of Kevin Bacon is a rooted tree; a mesh floating in space "anchored by" Kevin; once you really understand that both "Movie" and "Actor" are fully valid Candidate Keys. If you do a depth-first traversal of that tree following Movie to Actor AND Actor to Movie as a fully fleshed out "magically complete Relational Database" would allow, the problem becomes trivial. Further, there is no reason that the mesh needs to be anchored with Kevin; any node would do.

    The problem is that everyone on the planet has been conditioned to see those table thingies as the core relationship even though the table isn't actually central to the model. The model does offer up the table as a natural core representation, in that we are predisposed to understand lists and any valid group of entities can be listed. But mistaking the representation of the data as a list for the constraint of having to access the data only in list-order is a mistake.

    Since the tools constrain the thoughts, you tend to become blind to larger possible associations. You know that you *COULD* write a program to build the Six-Degrees mapping, but it would be a pain so you look for other ways to solve the problem.

    So we live with the core abstractions, and every now and again someone tosses in an extension like "PRIOR" or "soundex indices" and we all update statistics for our query optimizer from time to time. But the relationships still exsit in our heads instead of our data base engines and the subtle data is hidden from all but the most subtle operators.

  2. You have no concept of "conceptual" do you? 8-) on SQL, XML, and the Relational Database Model · · Score: 1

    You are still missing the point. You are mistaking the simple conceptual example I originally provided for a complete and potent solution. Try to be a little more abstract.

    There would have to be a way to disambiguate the full model. The SQL modle is disambiguated by the table name. A properly relational model would have "Some Other Mechanisim(tm)". I made no attempt to suggest what that mechanisim-of-syntax might be.

    Now, as a BONUS, in your original discussion of ambiguity you *WRONGLY* assume that the ambiguous result would be incorrect. This is an example of the SQL polution the article writer was talking aobut. There are completely valid reasons to want to fetch, in one EXPOSE, both branches of the abmiguous tree. In SQL this compositing is done by the UNION operator.

    So you state:

    Address -> ZIP Code
    Customer -> Billing Address
    Sales Order -> Sales Order Number
    Sales Order -> Customer
    Sales Order -> Shipping Address

    EXPOSE Sales Order Number, ZIP Code
    WHERE Sales Order Number == "12345"

    Are you asking for the ZIP code where the physical goods should be sent, or the ZIP code where the bill should be sent? The system has no way of knowing.

    And yes, if I am a clod and ask this general question when I want a spesific answer, I will be disapointed.

    On the other hand, if I were doing a marketing distribution graph, I would *EXACTLY* want the general answer that one might get from
    "EXPOSE Part Nubmer, Zip Code" which would "naturally" find all the Zip Codes that were related to the part number. That way my map-of-the-US-grpah would have a push-pin in it for every address it could find, giving me the billing, shipping, contact, and corporate address zip codes.

    Since the discussion at the conceptual level is beyond you, the "real language" implementation of expose would need limiters. So something like:

    EXPOSE Sales Order Number, ZIP Code THROUGH Billing Address
    WHERE Sales Order Number == "12345"

    Or some such.

    I can imagine several better syntax and a good number of operators that this "Real Language" would need. Things like "DISTANCE BETWEEN thing AND thing" to filter on how many Degrees Of Kevin Bacon are interesting to me, or concordancing where one of the "things" in an EXPOSE were an expression like street name(Billing Address) or even (street number, street name, zip code)(Billing Address) or some-such.

    THE POINT was not for me to offer up a complete language, ready an whole, to be nominated as a replacement for SQL. It was just to *EXPLAIN* about the fact that SQL, and the HABBITS OF THOUGHT THAT SQL ENGENDERS IN ITS USERS (habbits like those you have demonstrated in your objection), discard whole-scale many of the things that the "relational model" says "ought to be(tm)" stored in the database along with the shema and the data.

    Those "things" being the relationships themselves.

    As long as the language of access doesn't allow you to think about storing and exploring "relationships" then the RDBMS you are using is just a bunch of lists with Sadly Basic Set Theory Operations on top of it.

  3. um "duh"... ? 8-) on SQL, XML, and the Relational Database Model · · Score: 1

    Yes, IN SQL, it is ambigous.

    That is *EXACTLY* the point.

    If SQL were adaquate to represent "everything the relational model represents" then the ambiguity would be resolved by that NON-SQL language that doesn't exist.

    SQL is inadaquate to the task of fully utilizing the RELATIONAL MODEL because it doesn't have any way to EXPRESS RELATIONSHIPS other than "table".

    Hence the reason (which I was trying to explain in clear terms) the author of the article referenced in the news item was expressing lack-of-happiness for the way SQL works, and the way it is being further debased (his opinion, I haven't read XQUERY) by XQuery.

    This also why I didn't use SQL legal identifiers in my examples, I instead used semantic place holders like "Customer ID". *I* havent invented an adaquate language to express the full set of relational operations *either*. 8-)

    The place were we totally lost out is the COMPLETE ABSENCE of ANY standard language or RDBMS which actually has a means to "store relationships".

    So we create tables, and indexes, and then ask the programmers to go look in documents to figure out how the tables interract. And they each come up with their join-of-choice across the SQL-forced pairs-of-tables.

    And the people who really understand the model of what an "magically complete RDBMS" could really do, are forced to sigh and shake their heads.

    As the market exists today, if you did make the non-SQL RDBMS that would answer this deficiency, you couldn't sell it because it *wouldn't* *be* *SQL*.

    And yes, you could make a meta-system over an existing RDBMS that really understood the RELATIONAL MODEL. But you would pay a hefty entropy cost because you would take your higher understanding and have to decompose it into the SQL_Database operations which are not atomic enough to factor out of the transaction.

    So your four-step over-wrapper (which I have toyed with as an OOS project idea) would suffer terrifically (eat memory or be really slow in round-trip costs) exactly because it cannot adaquately communicate with the underlying Query Optimizer (et al), or influence the real storage/communication/duplication cost.

    It's like putting a future-car "coversion kit" on your sedan. It will change the look but it won't make it fly.

    The shape of an N-way chain of inference, natively executed, would be far different than the shape of a series of 2-way executions that are recombined to look N-way-ish.

    The closest you can come is to, in special cases, use sub-selects to create transient tables in the from clause to pre-filter and anti-join you data deep in the heart of your query engine. You can get some real wins, but again, this is you doing this and not the RDBMS.

    If you truely doubt this, check out the Oracle extension that makes self referental queries work. I don't remember the syntax off the top of my head, but it allows you to do depth-first queries on tables that have a structure like:

    table: Object_ID, Parent_ID, etc...

    It it purely and obviously NOT SQL since it uses (if I recall) "PRIOR" (or something) as a verb and SQL returns "Sets" not "ordered sets".

    But this prior/next kind of relationship (which builds an N-Tree within a table) is an example of one of the many kinds of relationships that the Real(tm) RDBMS over-layer would have to create.

    Then the enforcement of relationships would become an endless string of cascading constraints expressed as (slow) trigger procedures.

    So you might as well then just read the data sets into your own store and do your own work, elsewise the cost is multiplicative.

    Hell, the number of systems that wont let you do the (legal) task of taking the database totally out of state mid-transaction is surprising. By that I mean you should be able to construct

    Table1: Object_ID, feature, thing, whatever
    Table2: Object_ID, property, attribute, whatever_else

    and then constrain the two tables *mutually* such that any Ob

  4. You Are Missing the point of NULLs entirly on SQL, XML, and the Relational Database Model · · Score: 5, Insightful

    table: order ID, part number, quantity shipped

    select part number, sum(quantity shiped), avg(quantity shipped)
    Group By Part Number;

    This works with NULLs in the column for quantity shipped on parts which have not yet been shipped. If you just use zero for "no shipment" then your average number will have no real value for answering questions like "how much do we spend shipping these parts, on average?" etc.

    If you wan't to throw an exception you can throw the execption or not in your program. In that case you fetch the individual values and do the math yourself and the "that's not a number" that is caused by the null gives you the chance to throw your exception.

    But since, in aggregate operations, your program isn't even interractin with the data yet, where would such an exception go?

    What would the SQL syntax be communicating a list of results PLUS a list of exceptions to your program? Which order would things be processed in?

    Your boolean analogy is also flawed. "You have stopped beating your wife?" is not a yes-or-no question because it carries a predicate around with it that you may not fulfill for serveral reasions (not married; you are hetrosexual female, so you don't have a "wife", you have never beaten your wife so you can't "stop" doing it; etc). There are a surprisingly large number of "real data" that nature. For those of you who have trouble abstracting this, the "real comparason matrix" is "True, False, and Not Applicable". NILL buys you "Not Applicable" so very cheaply.

    In poin of fact, people who don't like NULL, usually because they don't understand its purpose and use, make a hell of a lot of work for themselves.

    My current employer has a large database of test values that grows by huge numbers of elements each day. The programmer "didn't understand" NULLs (ro RDBMS' for that matter) and has "-" in fields that should be NULL.

    Consequently we cannot aggregate. All of our client applications end up haveing to bulk-fetch whole table ranges and run through elaborate statistical routines full of conditionals; or do separate fetches with "field != '-'" in the where clause and run a concordance operation in ram after the repeated bulk fetches.

    This costs bocup time and degrades the quality of the product.

    You call "academic bullshit", I suspect you have never had to work the really large or significant data sets. I suspect that you don't ever ask the server-side to aggregate for you. And I suspect you have never worked time-critical transactions across a "slow" link.

    You can't have. You think of "NULL" in terms of equality.

    I will give you the "syntatic" point that "Where X = NULL" ought to be unversal. But, for instance, the cartesian nightmare of having "NULL == NULL" in a join is beyond idiotic.

  5. The Problem, stated more accessibly on SQL, XML, and the Relational Database Model · · Score: 4, Informative

    The problem is that most "Relational Database Management Systems" only represent one type of "relationship", that being "the table".

    This, in turn, means that every operator (programmer, statement, etc) on the database must _individually_ "already understand" all the relationships that lie outside "the table" before they can act on the data at any significant scope.

    That is, you, the programmer or operator must know, from some source besides the RDBMS itself, how the different tables work with eachother.

    In simpler SQL-biased terms, you have to know, before you start, what is "good" to put in your WHERE CLAUSE to make a join. And then the RDBMS query optimizer needs to guess how to satisfy your needs in something other than glacial time.

    Consider a new verb "EXPOSE thing, thing, thing, thing, thing..." that would fish out of a database the one-or-more relationships between the things, and produce a table-looking vector of "tuples" that consist sets of actual values for those things. This is what the theoretical "perfect" RDBMS would do.

    Given (somewhat denormal 8-):

    Customer ID -> Customer Name
    Customer ID -> Street Address
    Customer ID -> Zip Code
    Customer ID -> Purchase Order ID
    Purchase Order ID -> Part Number, Quantity

    One should be able to "EXPOSE Part Number, Zip Code" and have the database "know the relationship" and produce the correct vector of tuples.

    But that doesnt happen.

    Now all the people bleating about the Higherarchial databases and bad things from the past are doing this harping because they remember the bad-old-days when a database would maintian one tree-structured set of relationships like this. In the higherarchical model, you could basically do this EXPOSE operation, but only if you had, by dint of pre-knowledge, asked for things lying on one linear path through the tree. (* simplified for brevity).

    In essence, SQL requires you, the programmer, to be in the business of making up relationships that should be in the data or schema structure but isn't.

    A magically complete RDBMS would take a series of vectors of the form "Independent Datum (key)->Dependent Datum (value)" (where either side of the arrow could be a list of atomic values). The RDBMS would then assemble and maintian tables or linked lists or whatever with no exposure of SQL-esque "tables" and the accessors would be storage method agnostic. (That is, there would be no such thing as a FROM CLAUSE.)

    For instance, in the above list of relationships, Customer ID, Customer Name, Street Address, and Zip Code *could* all live in a "table", or not, but you would never know that. But a better vector of
    Customer ID -> Street Name, Building Number, Suite to replace "Customer ID -> Street Address" has a table-feel, but would not bias against "EXPOSE Street Name, Part Number".

    The power of this comes from being able to do:

    EXPOSE Building, Part Number, Quantity
    Where Building == "Word Trade Center 2";

    And have the RDBMS already know the sequence of relationships to get from Building to (address elements) to Customer ID, to Part Number without the programmer writing the three stage join across the "uninteresting middle tables".

    (The above presumes you have a building relation that has Street Name, Street Number -> Building or some such.)

    All the XML nonsense is nonsense *_BECAUSE_* the strict-nesting enclosure requirements of XML make it "naturally" become hierarchically organized. But data exists outside the single-inheretance strict parantage trees that the hierarchical model dictates.

    The problem is that SQL got real popular and so the idea of structural inferrence got pared down to tables and Query-Like constraints on tables before anybody had a chance to formalize the idea of living, encoded relationships between arbitrarily stored datum. So we never really got a language or system that could "EXPOSE".

  6. Shouldn't that really be on Microsoft Sues Brazilian Official for Defamation · · Score: 1

    For Microsoft, shouldn't that list read:

    1) Proffiteer
    2) Sue Customers
    3) [suppressed for "national security reasons"]
    4) Lease Government back to customers

    ???

  7. How Patents Fell Apart. on Cisco Sued over OFDM Wireless Standards · · Score: 1

    In a "functional world" patents would only be sought by individuals when effort had been expended and they would only be granted when a learned individual said "damn straight, great idea."

    With the advent of the idea patent, or more precisely with the demise of the "working model requirement" we lost the "effort" hoop.

    With the natural tendency to fire people for saying "I don't know (this topic), we need to ask someone who does" from the patent office (or, sadly, most jobs) we lost the "learned individual" hoop.

    With the fee structure we lost the "individual".

    And now, patents are bad. Pretty much "period". And they are bad because of the "presumption" that the patent holder has *already* been vetted by those effort and learned hoops.

    How would *I* fix the patent system? Hmmm...

    -- Only individuals may hold a patent, not corporations nor organizations.

    -- Patents may be "licenced" from that individual but only for a statutatorally (sp?) large fee ($70,000 a year).

    -- Patent holders may "ceede a license" to a standard, standards organization, or public entity etc, but only "for free." and only if the holder, at the time of the grant, had no other financial (etc) connection to that organization. That patent can then and irrevocably and forever be used in connection with that standard.

    -- Patent exhamination would be by-contest. The paid evaluators would sit on a jurry of sorts, and the examiners would be paid bounties, awareded by that jury and paid by the patent applicant, for each element of the patent they successfully submarene. There would be a schedule. You know, $1,000 for each vague claim, $5,000 for each non-intersecting example of prior art, that sort of thing.

    (Ok, so those aren't really all that practical, but I think you get my drift.)

    In short, it should cost *more* and by *a lot*, to "fail to get" a patent then to have one "awarded" and the examiners should be incentivized (sic) to (honestly) fail them.

    When you buy a patent (and you *do* buy them) you are effectively buying the near-certian favorable outcome of all the conflicts and court cases that may arrise regarding a topic.

    That should be expensive to get, and *DAMN* *EXPENSIVE* to ask for if you don't deserve it clearly and beyond question.

    Remember, a Patent is like an Indulgence. You are buying victory now on the supposition that Sin will Follow.

  8. Not Florida on Boucher's Anti-DMCA Bill Gets High Profile Allies · · Score: 1

    Actually, the reports he sights were (the way I read it) core election and not Florida related. He mostly cited things like how the oft cited "I invented the internet" comment attributed to Gore traces back a statement that he funded it.

    So in a world where "funded" and "invented" are the same thing, then "liberal" and "conservative" are the same thing.

    (I generally agree about Al Franken, by the way, since his not-really-funny comedy undermines the message. With friends like this... and all that.)

  9. Not Left-wing media bias again... /sigh on Boucher's Anti-DMCA Bill Gets High Profile Allies · · Score: 1

    Not that I would dare you to look into anything or anything but...

    Read the Al Franken book. When he isn't obnioxious as hell he pretty thuroughly debunks the "left wing liberal media" lie by counting up the "for" and "against" stories in the Bush/Gore contest. There was a clearly republican (right-wing) bias in the numbers alone (2-to-1) in "suupport" stories and something worse (like 5-to-1) for the "detractor" stories. Think back, how much was Gore lionized? Attacked? What was the Bush lionizing and attacking scores?

    Since most "conservatives" can't tell you the first thing they are trying to conserve, or what the cost of that conservation might be, their public needs to understand them for what they are.

    Conservatives wish to "conserve" the momentum of the status quo. What made money yesterday must make money tomorrow. What we thought was true yesterday must be true tomorrow. What was beleived yesterday should remain true always.

    To that end, any person who seeks to enlighten or examine is "not conservative" of somebodies something somewhere. This is not the same thing as being "liberal".

    So the media doesn't seek to conserve the common social myths nor the current feduciary model. Does that alone make them wrong or unfair?

    They ask questions.

    That is *NOT* the same as being liberal.

    The liberal and the conservative alike ask questions only as an excuse to propose their answers.

    Conservatisim and Liberalisim do not constitute an either-or proposition. That third "dilligent" thing is supposed to be in there somwhere.

    The Daily Show said it best, "how can you present facts in an un-biased way, when the facts themselves are biased?"

    Oh look... a question... 8-)

    P.S. Before you go lumping me into a southparkian conceptual pile, I am "for": "guns" (right to keep and bare is very important) "abortion" (thank /whatever/ I have never had to make that choice myself) "conservation of habitat" (you shouldn't be allowed to tear up anything "natural" if you can tear down some old eyesore) "solar, wind, nuclear, etc power" [yes, that should be one group, no-nukers are ill-informed] (fossil fuels are unsustainable, as long as oil==wealth we are screwed) "gay marrage" (the state's interest in marrage is social stability, which is "conserved" by increased marrage rates) and so forth.

    The only thing I am _universally_ opposed to is deliberate ignorance, so I *cant* be a "conservative", the questions are too important.

  10. Re:Speciousness nit-pick on Joel On Microsoft's API Mistakes · · Score: 1

    Nope, Sorry.

    It was an alternate memory management library thing that came with Sun's "Workbench" their (expensive) C/C++ SPARC compiler suite. The .so bound-over malloc()/new with a configurable/debugable implementaiton of same (you know the bit, landing and buffer zones etc) and it also bound-over free()/delete with a no-op [delete would do destruction but not then free the memory].

    The library then leveraged some special memory fragment usage-tracking hardware in the SPARC chip. Periodically it walked the application stacks and static areas, treating every aligned pointers-worth of memory like a pointer. If the value as intrpereted lay within an allocated block of memory the block was likewise scaned (etc, recursively). Memory was freed when it could no longer be reached from any reachable reference.

    Essnetially programs could not leak memory, and pointers could not be stale. (Unless, of course, you worked to sabatoge the system.)

    I used a Workbench(tm) compiler for about two years before I, one day on a whim, started reading through all the directories and obscura that was installed with the package.

    Anyway, I "repaired" several comercial applications that were known to leak memory and/or core-dump [in particular the IDEAS(tm) and Gateway(tm) elements of NetExpert(tm); the worst comercial software package ever written priced over $150,000(USD)] simply by doing the LD_PRELOAD.

    I beleive a similar "mark-sweep" garbage collector is now built into gcc if you know how to use it.

    But the shared library thing (especially with the tunable-by-environment-variables safety/debugging features) was a lifesaver for bringing some very terrible comercial software into rational useability.

  11. Speciousness nit-pick on Joel On Microsoft's API Mistakes · · Score: 2, Insightful

    Quoting AR: (for the furious: byte *buffer = malloc(1024); isn't legal c++)

    not to "/sigh" but... /sigh

    ... in the sense that you will get a warning, I supposed it's not...

    byte *buffer = static_cast<byte *>malloc(1024); is both "legal c++" and warning free.

    byte *buffer = new byte[1024]; is, of course, "better", but the old format (which demanded a (byte*) before the malloc to shut the same warning up anyway) is "just as valid" as the new.

    (All of the above assumes that you have "typedef unsigned char byte;" or some such as, since "byte" was never a C or C++ intrinsic...)

    Most of your compatability argument is trash anyway. It is (arguably) "impossible" to maintain backwards compatability when moving from more-to-less type safety etc, but when moving from less-to-more it is a matter of dilligence in the construction of the tool set and execution environment. If some of that dilligence can be done in hardware, all the better (see the Sparc garbage collection shared object library that you could LD_PRELOAD with any C program to make it self healing) but reguardless, one could produce a C compiler and envrionment that was completely type-safe and "morphic"(tm) by catching all the unsafe language features (pointer, malloc, reference, etc) and passing them through a scrubber library and generating safe code.

    More simply put, one could produce a C "compiler" that really made Java/Python/Perl/etc out of the program and then ran that.

    So all this "can" and "cannot" and "must" is Specious. The only thing you cannot ever do is give Java true multiple inheritance... 8-) [I jest, of course, more or less.]

    The fundamental problem is that things that "just grow into place" but are never "designed" tend to age poorly. They have to be replaced eventually and Microsoft, by edict, "does not re-write code." You see, *IF* they had the stones (and mayhaps they do, in Longhorn), they would write a "real" Windows API that didn't carry all the baggage around, and then they would replace WIN32 with another, identical WIN32 that called into the new API instead of the old. See, the current WIN32 API looks back in all ways, and is often required to have several different implementations of essentially the same functionality in order to get around the lack-of-design mistakes of the past. If they were to take everything they ave learned and make a good (and open) API that ecnompassed all the "functional domains" that have come before, then the old libraries could be re-cast as sub-set adapters insted of super-set side-cars. (e.g. if the small data goes through new big holes, instead of trying to pass big data through old small holes in an "apparently conformant" way, you gain the liberty to make things work.)

    It's all in the "founding assumptions." DOS was assumed to be for tiny systems with no growth potential, and we are still hauling that assumption around. *nix was assumed to be for "big systems" and was cut back variously to make the various smaller variants (invariably 8-). Even so *nix still had some growing to do (look up the saga of time_t sometime.)

    So if Microsoft would stop looking back from it's core, and instead were to look far forward from its core and only have a small adjunct group looking back to do some "compatability layers" then much could be made right with the world. (This is, BTW, why WINE can fit essentially all of Windows into a Linux process.)

    Presuming that the "display surface" offered by the web is "interesting" has always been (IMHO) a symptom of all-flash-no-sizzle. So I agree that "the web" isn't some great healer or panacia. HTTP a transaction-based "fetch" environment, so anything that doesn't look transaction based won't be part of "the web" but will need to be something totally else "attached to" the web via something (hopefully) more sophisticated than "a browser." (Which is where Java, and Flash and god knows what all else came from; the de

  12. An analogy in support on Parties Behind Eolas Patent Reexam Revealed · · Score: 1

    I am actually put in mind of the European expansionism of the 16 and 17 hundreds. The popes and princes ceeded whole tracts of the earth they hadn't even seen to people and organizations they had no interest in managing. It was a "we natrually own everything, and we cede this part of everything to you, if you go away and play with it in peace."

    Arguing that software (and biotech) patents are good is like arguing that Spain was the best possible thing to happen to the Aztec.

    We would like to act like we have learned from our past, but the facts are simple and obvious.

    The "Intelectual Property Land Grab" isn't a vague metaphore, it is a simple extension of the might-makes-right imperialisim at the core of our technology.

    [ASIDE:] before the Ad Hominem attacks start up, I am a white male, SUV driving American, who doesn't think "meat is murder", beleives in gun ownership but doesn't actually own a gun, and I expect to continue to make my living selling computer hardware and software even though I have made public contributions to GPL'd source and my name is principle inventor on at least one patent applicaiton.

  13. The no-weight tag on Webmasters Pounce On Wiki Sandboxes · · Score: 0, Redundant

    It would be cool if sites could set a page or page-group with a "google weight" via a meta-tag. The weights would be from 0 to 100, with 100 being normal and 0 being no-value at all.

    Then sites could take things like their sandboxes and tell people that they are zero-weighted. In fact Wiki, blog, and-such software could automatically zero-weight the free non-user and sandbox pages to prevent this kind of abuse.

    Then you put a disclaimer at the top: "These pages are excluded form search engine page rankings."

  14. Re:Disclaimers of Warranty and Fitness on Is Caps Lock Dead? · · Score: 1

    Every word in the section isn't upper case, only *almost* every word...

    Besides, who was talking about ON THE WEB. I was talking about ON THE COMPUTER where things are often prepared for things other than "the net", like, er.. um... actual courts of law... 8-)

    So unless you are proposing that every legal document be washed by only printing it through a browser, your solution is less than sufficent to the problem set.

  15. Disclaimers of Warranty and Fitness on Is Caps Lock Dead? · · Score: 2, Interesting

    Actually, there are several legal documents (by type) that have sections that *must*, by law, be typed in all caps.

    Ever look at those EULAs? That whole section that disclaims warranty and fitness for any purpose express, or implied. Those sections are always upper case because they must "stand out" in the agreement.

    There are also significant parts of almost any legal document that "must" be typed in all-caps.

    So lots of legal secretaries and the like would be much put out by the disapearance of the caps-lock key.

    Plus, think about how hard it would make it for normal net-trolls to function on the internet if they had to learn to touch-type their troll-text with the off-hand for each keystroke pressing the shift key, sometimes for paragraphs at a time...

    How could the religious extremeists and revisionist racists _function_ on the net without their caps-locks?

  16. Re:Consider the technology instead. on Porn Beats Search Engines in Internet Traffic · · Score: 1

    Indeed, it is, in fact, faster-to-the-eye for virtually every application configuration. (It could be slower for some configuraitions of WAP transports and some crowded gateways, where the servers and browsers can pipeline but the session establishment is expensive, etc, but the wide-fetch vs pipeline wasn't my point... 8-)

    20 is downright typical (nay minimal) for a page, but 200 is not as high as you might imagine. A "typical" banner-ad-filled pop-up porn site can easy hit 80 individual page components *before* you start counting the pop-ups themselves. Most porn sites have 15 to 20 sample images on the front page alone, before you get to the ads and the web-bugs. Then add navigation button images and fragmented image-maps. If you have any sort of non-trivial table or frame set you have to look through those refered pages too.

    So you can find 20 or 30 fetches per page on a porn site "page" without even trying. A hundred isn't atypical for the over-done, baner-ad-plus-popup plagued sites you find one click off of a typical "free porn portal". 200 is hard to find, but not impossible. Chalk the nuber up to hiperbole on my part. 8-)

    Consider that, as I wrote this article I brought up the slashdot main page in another window and did View->Page Source in Mozilla. Then I did a find for the IMG tag. There were sixty-two image tags on that page. So not looking at any other measure, that was up-to sixty-three fetches for the page. Duplicates, of course, would not be fetched twice, so let's throw away ten or so. But there we are, a site you visit every day that is 1/4 of the way to the theoretical 200.

    Automation tools, dreamweaver, etc tend to make people forget about actual composition costs because it is all pretty. And porn is about nothing, if not looking good.

    But you don't need to cover every single angle of every single comment, as too much detail tends to deminish communicaiton insted of enhance it. I chose 200 and I let the number stand by itself as a not-unreasonable near-order maximum. (Hence "some sites can."

    Porn sites still, by their very construction, tend to have at least 4-to-1 sub-fetch profiles compared to almost any other kind of site.

  17. Consider the technology instead. on Porn Beats Search Engines in Internet Traffic · · Score: 3, Interesting

    Actually though, their methodology is still flawed. They aren't doing an intrusive test (replacing the web targets with a pass-through coordinating proxy) so they are snooping the data traffic.

    Ever go to a site where the big flashy graphic of the naked (chosen gender pronoun here) is a tiling together of image fragments so that the "image maps" are easier and coincidentally the user can't steal a freebee for the home colleciton by selecting "save image as"?

    In a frams-based site each ad, and pop-up, and frame element is a separate HTTP request. So if the snoopig method is just counting-the-gets some sites can generate 200 or more HTTP GET transactions in a "page view". Most browsers will open multiple TCP sessions to to do these gets in parallel "to apear faster".

    Contrapostiviely, a well-designed and simple site can have relatively fiew elements and do the entire fetch in one TCP session with maybe even just one HTTP GET.

    So which of the "industry standard definitions" are they using for what term?

    Claiming a standard definition is used is really easy to do. But think about the terms WAN and LAN. They have a "standard definition" that hinge aggressively around "what do you mean, exactly, when you say 'Local' this time Bob?"

    Beleive me, I make test equipment that tests data rates for cellular systems. I juggle (read, "have to argue about") these "standard definitions" all day, every day because each technicion at each customer organization has their own definiton for this or that. And they are about as standard as "a cubit".

    If I used these numbers and definitions in a monthly report I would have my ass handed to me.

  18. hua?? "users have to" what...? on Ken Brown Responds to His Critics · · Score: 2, Insightful

    Your oddest bit: Users have to be able to turn to someone/somewhere for support, for resources, for guidance; because there is no single authority over Linux, many companies and users are uncomfortable with it.

    Having a "single authority" over Linux is no useful goal. The entire point of the history and value of open source is that there is no such point. A single authority is granted draconian control. When Microsoft decides, as the signle authority over Windows, that Win2K is no longer to be sold, distributed, or supported, where will the comfort go? How happy will your business be?

    Where can I go for support? Resources? Guidance? Well, if not to myself, then to *ANY* *KNOWLEDGEABLE* *PERSON* *ANYWHERE* willing to act as guide, resource or structural span 8-).

    To date, companies have become used to the idea that software is a secret art paracticed by some new preisthood. This is expected. It is, indeed, the foundation of every technophobic movie from the fifties and sixties. (Can you say "Colossis: The Forbin Project"?)

    The surreal position that we somehow magically benefit from having an almighty dictate how our things should be is, perhaps, useful as an article of faith in a religion, but it is anathma to every other human persuit.

    Would you, even for a moment, consider accepting a position in life where you just had this one credit card controlled by some finincial manager you never met? Every so often, when your maganger decided you needed more money, he would recharge your card. You can't check your balance. You cannot find out when or if you will receive a deposit. You cannot find out how much your employer is "paying you" and how much of that actually makes it onto your card. You cannot take out cash and you can only lease or rent but never buy. At any time, you may be temporarily or perminantly out of money. And if the card gets declined, you can't find out whether it will be declined for a day or for the rest of your life. Would you accept this?

    And would you be happy when you suddenly discovered that you have nothing to eat?

    These are *exactly* the rules you agree to every time you click that EULA. Sure, it's your Novel, or Dissertation, Family Photo Album, or whatever. But it is M$ Office or whatever that says that you can print or use or look at it. But that's fine. If they decide to take their ball and go home you could... sue... if you could only open Outlook and find your lawyer's phone number...

    The simple fact is that a large number of sheep^Wpeople feel more comfortable if they can just ignore things and do what everybody else is doing. Especially if everybody else is also agressively failing to "look behind the curtian." It is, however, dumb.

    And DUMB is VERY BAD for BUSINESS.

    So I wouldn't put too much stock or desire into giving someone single authority over your computers and such. Someone will take you up on the offer, and it won't be out of altruisim.

  19. Let's see... on Microsoft Receives Patent For Double-Click · · Score: 1

    Press "A" once, get one "A"
    Press-and-hold "A", get lots of "A"s in a row
    Press "A" twice in a short period of time, get "AA"

    Nope, doesn't sound familiar at all...

    Not that the Break key wasn't used for Attention and Break-Disconnnect, nope, didn't do items 1 and 2 on a 1940's era teletype.

    Good thing you never clicked, double-clicked or click-and-dragged on the Apple Lisa in 1980-something.

    No really... I don't see the problem...

    (And welcome all of you nice E.U. folks. Your new corporate overlords from these, the Corporate States of America are beneficent and sublime masters who have only your best interests at heart. And consider carefully... have _you_ joined the Pepsi Revolution?... 8-)

  20. You have that *EXACTLY* backwards... on Brew Your Own Auto Fuel For 41 Cents A Gallon · · Score: 1

    The reasons that Automatic transmissions have a higher towing capacity are several: (oversimplification warning here... 8-)

    1) it is "easy" to snap an axle or damage an engine by dropping the clutch, the "torque converter" acts as a buffering agent to keep unwanted forces in balance.

    2) the "torque converter" has what gear-heads mis-label "torque multiplying". (yea, I know, bull, but that is what they call it.) Simply put, you can rev the engine to its optimal power output range and as long as you don't break traction on your drive wheels that energy is useful to pull the load. A good bit of that is also disapated as waste-heat in the converter, but that heat would be a burnt clutch in a standard transmission.

    The thing to remember is that the "rated towing capacity" is what an idiot can tow without exposing the car manufacturer to complaints and lawsuits. So the rating is mutch lower in the standard transmission configuration so that Ford (et al) don't get complaints from people who blew their clutch or suffered "excessive stalling". 8-)

    On the aside, the reason that tractor-trailer rigs are still standard transmissions is (typically) because you can not build an effective automatic transmission with that many low gears and still get up to high speeds. Planetary gears only gang so well or so deep before becoming impractical. Which is why truck-driving is a skilled position no mater *what* some people may think.

    So a skilled person could probably tow as much with a standard transmission as an normal person can tow with an automatic, but I wouldn't bet on that skill too much. At the high end you will wear the hell out of your clutch, engine mounts, thruster bearing, and all sorts of unhappy-to-replace parts.

    It's not a matter of pure torque, it is a matter of effective delivery vs component wear.

    When I bought my last truck, rather than have an opinion, I researched a position...

  21. As the inventors of guerillia warfare... on Army Plans Overhaul of Infantry Gear · · Score: 1

    As the inventors of guerillia warfare (see the US revolutionary war), the US American people are the only persons who can fairly use guerilla warfare. It's our intellectual property, and those nasty enemy combatant fellows are stomping on our IP rights. It *IS* unfair for them to be profiting from the techniques we invented and clearly own outright. Only *WE* (and our licensed allies) are allowed these means!

    This is just the outer-most expression of their depravity.

    If they keep kicking our asses on the ground like that, we are going to send the RIAA and the MPAA after them with _LAWYERS_. We've been holding off because we don't want to breach the Genovia Convention like that unless we must. The enforced-sex dog-pile at least leaves some vestages of human dignity...

    They are not only terrorists (sic), they are PIRATES! And the one thing we will not stand for as a country is a lapse in the feduciary custody of intellectual property.

    All the WMDs were real you know, they had electricty and computers and could make the little metalized-plastic disks without paying a license fee. Thats right, Weapons of Media Distribution were commonplace, even to the unmitigated extent that the government operated the schools and state-run newspapers and television stations, none of which honored or taught the true doctrine of conformity!

    And they still have printing presses and a spoken language. We will not rest until their ability to infringe on our god-given intellectual territory is abolished to the last sheaf of word-soaked paper and the last mumble of idea-burdened sound, and their godless freloading is wiped from their worthless, unlicensed paws!

    They even know the words to songs.... heathen scum...

    They should have stuck to posioning their own populace, 'cause then at least Disney wouldn't have had to become involved...

  22. Re:Couple of things... on Blimps... In... Space... · · Score: 1

    Other people did "pure math" in reply, but considering that the rarified air is, give or take some laminar flow issues, also "in orbit" more or less, the tendency will be for that air to push you and provide a good bit of the needed vector "automagically".

    Presumably the same effect would happen in reverse during a slow descent.

    So most of the trip to and from LEO would be very cheap indeed.

    You only really need to supply a lot of thrust at about the point you stop being able to rely on your lift.

    So "all that math" but only over somewhat less of the journey than you might suspect.

    Once you stop trying to "punch through" the atmospheric process you should be able to leverage it. See the difference between rocket and airplane for weight and feul vs. time aloft and distance traveled.

    (I, of course, could be totally wrong... 8-)

  23. Re:Offer a /dev/null machine address too on Comcast Thinks About Stopping Zombies · · Score: 1

    Actually, I knew all that. I used the simple understanable word router for simplicity.

    Clearly, my cable provider has some set of routers and filter/firewall boxes that work in concert to form a boundary on my cable segment.

    The same would be true of the miscreant on his comercial access segment.

    Most of these last-mile segments have only one or two borders. However that segment is arranged, the actual choke points are the proper sum (not even product mind you) of those border filter devices.

    Blocking at my nearst boundary is a win for my provider, blocking at his nearest boundary is a win for a lot more people in terms of reduced traffic.

    There is clearly "seems to be" no point in putting a stop-order on each/any random node in some backbone. Oddly, the borders/backbone wouldn't route-around such a stop oder by default though, as the route is still good the route adaptation rebuild wouldn't happen. In fact, the nature of the icmp-redirect-like message would tend to leverage the routing table change mechanisim rather than be thwarted by it. Reguardless, the one address pair is simply being preversely natted into a black hole so there would be no detectable damage to route around. The Real Reason(tm), however, you propigate, but don't want to honor the stop orders on the backbone routers is because they would slow the backbone down.

    But the model of propigating the please-block message back through the routers point-to-point is validation.

    See, my border is going to stop things there, and hopefully his router is going to stop things at his end because he received a "believable" request that had a good provenance. (This is to reduce hack exposure.) So win, or big win.

    The other flaws are there too, but it isn't unworkable. It's just an incomplete idea.

  24. Offer a /dev/null machine address too on Comcast Thinks About Stopping Zombies · · Score: 4, Interesting

    I would dearly love it if Comcast (nee any and every ISP) offered a spesific /dev/null address that I could use with icmp-redirect like clarity.

    When I see a bunch of bogus packets slam into my box that have no reason to exist, I would like to be able to automagically do the IP equivalent of call blocking.

    Sending an ICMP-REDIRECT-like message out in response to a bogus packet should be snuffled up by the ISP equipment and taken as a "call block" request against a particular peer address.

    So if I rig up my firewall to icmp-redirect to some magic address (say 0.0.0.0, which is never legal in a redirect), the upstream router should process it as, say, a 24 hour ban of packets from that address to my address.

    Were such a thing to become common, the ISP could forward that ban on to the next upstream peer and so on until the "well behaved" router closest to the miscreant would be keeping the wastage off of the backbones entirely.

    Since it is a poit-to-point ban it would be rather effective without letting malicious third parties do too much damage unless they could get common-segment with one of the parties.

    Talk about killing a DDOS at the diverse roots.

    Anyway, it would need a little refinement to keep the haxors next door from pretending to be me and cutting all of the sites they sniff me using, you know, check mac addresses or require me to use an activation squib from my firewall from time to time....

    But it should be easy and safe enough once the nearest "Real" router got the do-not-call packet.

  25. The value of not using the official alternate port on Comcast Thinks About Stopping Zombies · · Score: 1

    The value of not using the official alternate port is that an ISP that is going to block 25, and who isn't stupid, is going to block the official alternate port too.

    Of course, how many arn't stupid... 8-)