Various Linkage

  • There is serious academic study of legacy code accumulation, mission creep and feature bloat in the halls of computer science.
  • Some claim that Google’s refusal to play by basic marketing rules may hurt it in the long run. I think this remains to be seen. I would argue that Google’s unconventional behavior is part of it’s success.
  • As if pop-ups aren’t bad enough, now some marketing weasels are using JavaScript to install software without prompting the user at all. All the more reason to simply turn JavaScript off or at least use the latest version of Internet Junkbuster.
  • On another hand, the Folsom anti-spam tool works by collaboratively filtering junk e-mail in a peer-to-peer network of mail servers.
This entry was posted in Miscellaneous. Bookmark the permalink.

7 Responses to Various Linkage

  1. Most people think that a structures lateral strength is the most important variable in seismic design. This is not the case! Of utmost importance is controllling drift (displacement) and providing sufficient ductility through proper detailing. Yeah man… What a forgbarg.

  2. Regarding Mr. Farlops concept of how great it would be if humans could be power by solar energy: Did you ever think how bad the farts would smell? Talk about silent-but-deadly!

  3. Pace Arko says:

    Holy Cow! I am besieged by mutants!

  4. Gailileo ain’t that smart
    RE: Galileo’s Work on the Strength of Materials.
    All of Galileo’s work on the mechanics of materials is included in the first two dialogs of his book “Two New Sciences”.
    The following is based on his observations on the descrution of a Venitian arsenal. In that text, he states “It is clear that, if the cylinder breaks, fracture will occur at the point B where the edge of the mortise acts as a fulcrum for the lever BC, to which the force is applied; the thickness of the solid BA is the other arm of the lever along which is located the resistance. This resistance opposes the separation of the part BD, lying outside the wall, from that portion lying inside. From the preceding, it follows that the magnitude of the force applied at C bears to the magnitude of the resistance, found in the thickness of the prisim, ie, in, the attachment of the base BA to its contiguous parts, the same ratio which half the length BA bears to the length BC.” [1]
    Huh? with a crappy analysis like that its amazing he got anything right.
    Whatever Galileo. (gal pal) — translated he said that the breaking strength of a cantilever beam is 3 times what we now know as the “correct theoretical solution” (he assumed a bending stress distribution constant with depth)
    Just goes to show you that the smartest people ain’t always right.
    [1] Stephen P. Timishenko, “History of strengths of Materials”

  5. Do you see the bug??
    // novice function to remove all trailing
    // white space from a null-terminated
    // string
    void ClearEnd(char *pt)
    (
    int i;
    assert(pt != NULL);
    for(i=strlen(pt)-1; isspace(pt[i]) && i>=0; i–) ;
    pt[i+1] = ‘�’;
    return;
    )

  6. Pace Arko says:

    It’s been a long while since I messed around with C++ but let me see:
    1) We declare a function “ClearEnd” and use an address variable to aim it at a string in memory somewhere.
    2) We initialize a counter.
    3) Don’t quite understand the assert statement but, I am guessing it prevents the loop from triggering if there is nothing in the memory address.
    4) For loop is started with the following conditions:
    a) The strlen function gets the integer value of the length of the string in that memory address.
    b) The loop counter is set to the value one less than the value derived from strlen. I assume this takes care of the zero offset.
    c) The isspace function finds all the whitespace characters (tab, space, nonbreaking space, linefeed, etc.) at the end of the string.
    d) The conditional which terminates the loop holds that as long as there is whitespace at the end and the loop counter is greater than or equal to zero keep cycling the loop.
    e) As the loop cycles, decrement the counter by one for each iteration.
    5) Line 12 doesn’t make sense to me. Is it the one that does the cutting of whitespace? It seems to state that address variable starts the end of the string and replaces each whitespace character with zero. Or is ‘�’ a special way of saying NULL? And if we point the address variable to NULL it doesn’t point at anything and thus loop fails?
    6) The function, after terminating the loop returns control back to main or some other block of code.
    How’s that?

  7. in Response to Mr. Farlops analysis:
    [1] The assert makes sure the user of the library doesn’t pass a NULL pointer, That is, an invalid memory address. This function (or macro) is only used when a -DDEBUG is used for compile. It’s a debug statement. (the analysis in item 3 above is correct)
    [2] Line 12 puts the end of the string at the last white-space character.
    [3] the bug is that if the string consists of all white-space characters, isspace(pt[0]) is true and the counter i decriments to a value of -1. Then on the next loop, isspace(pt[-1]) is evaluated. It is a bug to attempt to read memory that the current process did not allocate. It may generate a GPF because one may attempt to read protected memory. Bounds Checker by Numega will catch this. I swear by it. That is the hard-to-find bug.
    Post your fix?

Comments are closed.