Slashdot Mirror


User: presidenteloco

presidenteloco's activity in the archive.

Stories
0
Comments
2,238
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 2,238

  1. Was Carl Marx right? on WIPO Creating New IP Rights Over Web Content · · Score: 3, Interesting

    Is Intellectual Property a Crime?

  2. The Kolmogorov Complexity of requirements changes on What Makes Software Development So Hard? · · Score: 1

    (and design changes and implementation changes) is not well enough understood as
    a factor that makes code development expensive and in some cases infeasible.

    Relative Kolmogorov Complexity is, roughly speaking, a quantitative measure of the
    informational (descriptional) difference between a bitstring (e.g. program) A
    and another bitstring (e.g. program) B.

    What we really need to understand is the complexity of the difference in the expected
    input to output patterns of a program, after someone specifies or makes a certain change
    to the program.

    Often, a requirements change that sounds to a layperson as very simple actually results
    in a very large informaitonal complexity of the difference in the program and intermediate
    data structures needed to achieve the change, compared to the previous program and data
    structures.

    Usually, programmers have some inkling of this complexity of change, and
    managers/executives/customers do not.

    For a software program to be well-architected and well designed means, among other
    things, that it is explicitly designed (via appropriate patterns and abstractions)
    to make many hypothetical future changes to the behaviour of the program be achievable
    with low Relative Kolmogorov Complexity of the software change.
    The program's form must also be constantly minded by a software architect so that it
    retains this low-complexity adaptability property.

    The opposite of this is known technically as a "hairball" codebase, and unfortunately
    is what the overwhelming majority of programs turn into in very short order after
    a small number of changes from the original conception (initial requirements understanding)
    are implemented.

    Formally, a hairball codebase has almost no changes in its external behaviour (appearance
    or logic of the output or process) that can be made without an infeasibly high relative
    Kolmogorov Complexity. The "hairball" program structure is encrusted with special-case "warts" that
    lead to geometrically multiplying complexity of the program's logic, and consequent multiplying
    complexity of changes to the program.

    Oh I suppose it is important to mention that the relative Kolmogorov Complexity of a software
    change will be highly correlated with the cost and likely bug introduction rate of that change.

    Until this (admittedly very) theoretical notion is understood by the authority figures
    (PHBs, managers, executives, and customers)
    who make the executive decisions controlling the conduct of software projects, disaster will
    almost always loom.

    The PHBs and customers need to ACTUALLY LISTEN to the software architects who say we should
    spend some time and money up front crafting a maintainable, adaptable program, and we should
    spend some time and money throughout the lifetime of the program to keep it that way. The
    architects, grokking as they do at least the essence of the "RKC of change" problem, are actually wisely
    trying to SAVE money (and maximize the chances of project success, in the medium and long term)
    but are usually incorrectly perceived as being geeks with "no sense of business" if they
    are foolish enough to bring these issues up in meetings with PHBs.

    As Ray Ozzie says, "complexity kills", and the "relative Kolmogorov complexity of software change"
    theory (aka "hairball entanglement theory") should tell us exactly when, why, and how much.

  3. Re:Principles for improving software on Why Software Sucks, And Can Something Be Done About It? · · Score: 1

    Oops.

    3. What do you think the missing principle should be?

  4. Principles for improving software on Why Software Sucks, And Can Something Be Done About It? · · Score: 1

    In a world where there is so much software to choose from and so many different applications to use from time to time,
    a user should not be required to become an expert in any piece of software in order to get good use of it. Most software
    should have the universal appeal of chocolate rather than the appeal to the connoisseur of fine caviar.

    Specific Principles:

    1. The Default Shall Be Good.

    2. There Shall Be Only One Place (or Name, or Form) For Each Thing.
            (applies to data standards as well as code and user interfaces.)

    4. Everything needed shall be automatically and unambiguously found
          on the Internet.

    5. Occam's Razor.

  5. A modest proposal on Judge Rules Against Deep-Linking of Content · · Score: 1

    If you don't want your material hyperlinked to, might I humbly suggest that you not put your material
    on the worldwide web (web: (n) - a network of interlinked strands) and perhaps not render your material
    in HYPERTEXT markup language (HTML) and perhaps not make it available with a HYPERTEXT TRANSPORT protocol
    (HTTP) server.

    Seriously, though: Putting your material on the web implies consent to have it linked to by any other site or
    web browsing tool. This judge is ignorant of the nature and intent of the web, or is just a general dufus.

  6. Had to get my 2 cents in on Why Does Everyone Hate Microsoft? · · Score: 1

    Ok it's late in the game and I'm getting sucked into this blatant troll, but anyways...

    I hate Microsoft because it has become immensely rich and powerful by selling mediocre to poorly
    designed product to masses of people who don't know any better. And that makes me mad because
    it illuminates something sad about the human condition.

    I hate Microsoft because they popularized the piece-of-shyte computer architecture that was the
    early x86 computer. This architecture was a nightmare of incompetent, inelegant hardware design.
    The ONLY thing it had going for it was that the plans were somehow made public so they could
    be copied by offshore pirates to give us all dirt cheap computers. That was the first real case of
    open source, I suppose. But still... Segmented memory architecture, non-orthogonal instruction
    set... supplemented by bizarre hacks to make programs fit into memory. Gads...

    Oh and wasn't it cool how Microsoft assumed that everyone would surely only want to run
    one program from one vendor on their computer. If you had more, they'd stomp on each
    other's shared libraries. Perhaps if we had, say, an OPERATING SYSTEM, it could sort things
    like that out for us, hmmm?

    And of course only one hardware device too, because if you wanted more, chances are they'd
    stomp on each others' interrupts with the OS blithely ignorant of this and the subsequent lock-ups.

    Oh and how about the cool way they asphyxiated Java on the client by distorting it and
    refusing to adhere to standards, and refusing to make it easy to get a java program running on
    your computer.

    Software is a field where there are few constraints on making incredibly elegant solutions that
    will constrain complexity and lead to easy to understand and easy to improve software, and
    yet, and yet...
    Microsoft has held the field back to banal, wart-ridden, C++ implemented ugliness for generations
    now.

    But hate is too strong a word. Queasiness is more like it. And a tendency to RUN FOR YOUR LIVES
    whenever you have an opportunity to use anything other than it for any serious computer
    work.

  7. Terrible idea to give ISPs traffic control on P2P - From Internet Scourge to Savior · · Score: 2, Insightful

    As the Internet evolves, more and more of everyday data storage for a variety of needs from storing family albums
    to medical histories to corporate databases will be done in (highly encrypted and massively distributed)
    data clouds, including P2P-hosted data clouds.
    And more and more computing will be done in on-the-fly compute farms in grids, and some of this computing will no
    doubt be hosted on legions of small P2P edge-of-net computing resources.

    With such a scenario, how is it a good thing to allow ISPs to peer inside this cloud of encrypted and fragmented
    and dynamically coalescing data to somehow exercise traffic cop (or border patrol) authority over it.

    That sounds to me like the worst possible idea.

    This idea is effectively the same as saying the ISPs should be staring over my shoulder as I surf or work over the net and
    vetoing which websites or webapps I look at or use. No way. The net must be neutral to what it's carrying, or it just
    won't work. And the P2P-based net of the future must have the same properties of neutrality to traffic that the
    current general internet does (or should have.)

  8. Re: No one knows on NIST Condemns Paperless Electronic Voting · · Score: 1

    There are mathematical ways of using strong encryption (digital signatures and all-or-nothing encodings and the like)
    to prove that all the votes got included in the count, and for an individual, if they have an encrypted receipt code,
    to submit that code to a process that can verify that that vote, as entered, was included in the final result.

    So then we have the complaint: "But I wouldn't understand how that worked so I wouldn't trust it."

    What if all the code
    - including the encryption code and
    - the all-or-nothing proving code
    - and of course the code that proves which version of the vote gathering and counting software
        was running throughout the election
    were open source and inspectable by anyone?

    What if you were given access to an online forum where only people with masters degrees or phds in math, logic,
    computer engineering, or computer science could supply the answers to general or specific questions posed by
    each other and by any voter about the integrity of the system?

    I think the combination of open source code and clever use of encryption for verification, should be able to
    make systems that are trustable by rational people.

    I suppose now the problem is to convince all of the irrational people. Now that's a problem.

  9. This applies to anything we use computers for then on NIST Condemns Paperless Electronic Voting · · Score: 1

    Because similar technical processes go on in e-commerce, e-banking, e-government services etc.

    I guess we just care more about election results.

    Are they really saying there is, theoretically,
    no mathematically and logically sound cryptographic solution for ensuring
    the validity of this kind of process, or just that we don't know how to do that yet?

  10. Re:presumes that on-line voting is a good idea on Transec, a Secure Authentication Tag Library · · Score: 1

    You are right. Having reliable soldiers delivering truckloads of ballotboxes from reliable regions to our safe central counting center (and reliably burning truckloads of ballotboxes from those other regions...)

    is SO much better. So much more... reliable.

  11. Well I sure hope they invented it before early 80s on Automatic Image Tagging · · Score: 1

    When I was studying textbooks on how to do this in undergrad comp sci.

  12. It's essential that Java not fragment on Java To Be Opened For Christmas? · · Score: 2, Insightful

    A wise zen monk went into a fast-food joint and said "Make me one with everything."

    An even wiser zen monk didn't go into a fast-food joint, and said
    "Make me one OF everything."

    One standard version of core Java things like the language definition, bytecode definition,
    and the annointed standard libraries is absolutely ESSENTIAL to Java's continued success.

    Because "one of everything" means that a java app and library code-sharing culture and a
    shared and reusable expertise can flourish. Fragmentation of the core standards will lead
    to disintegration of the core value proposition of Java.

    I hope that this issue can be dealt with as Java is opened.

    Perhaps by trademark protection means? Break (fork) the standard if you want, but if you do
    you can't call it Java.

    Or perhaps just by a consensus-agreed committee approval structure like the java community
    process.

    Can you imagine if everyone were free to fork the XML standard and still call it XML.
    Sheer pointless chaos.

    Java forked in its core standards and libraries is the same.

  13. Re:Control of variation is essential on Java to be Open Sourced in October · · Score: 1

    Basic tenets: Simplicity and uniform, predictable extensibility at the core levels of something are essential to manageability of complex systems built on top of that core. Java has held to this better than any other computing platform to date. OOPS! EXCEPT LISP OF COURSE - MY BAD

  14. Control of variation is essential on Java to be Open Sourced in October · · Score: 1

    Open sourcing java might be ok, but we should realize that a significant part of its predominance
    and popularity in fact comes from its rigidity and lack of variation between implementations,
    platforms etc.

    Basic tenets: Simplicity and uniform, predictable extensibility at the core levels of something
    are essential to manageability of complex systems built on top of that core.

    Java has held to this better than any other computing platform to date. And it is a very
    important part of its success. Once you know Java, and its core libraries, you're set, and
    you're skills are portable to all kinds of uses of Java, and you don't have to keep re-learning
    or debugging variants of the basic core.

    So it is essential that compliance tests (and a BDFL) are allowed to put a stamp on what is
    to be called "Java" going forward. Variants can be called "java-like" or java-lite" or something
    but the simplicity and control of variation is THE ESSENTIAL CHARACTERISTIC of the Java
    brand, in programming.

  15. How to make CYC more "human" on OpenCyc 1.0 Stutters Out of the Gates · · Score: 5, Interesting

    Cyc has an ontology of general conceptual terms, and represents the precise logical way in which
    those concepts interrelate. In other words, it emulates an aspect of the pure rational part of
    human reasoning about the world.

    But it's known that humans are not dispassionate rational agents. And indeed that there probably
    is no such thing as a dispassionate rational agent. Commander Data and Spock are very ill-conceived
    ideas of robot-like reasoners. Passion (emotion, affect) is the prioritizer of reasoning that allows
    it to respond effectively (sometimes in real time) to the relevant aspects
    of situations. Without the guidance of emotion, no common-sense reasoning engine would be powerful
    enough, no matter how parallel it was, to process all of the ramifications of situations and
    come up with relevant and useful and communicable and actionable conclusions.

    So how do we give CYC passion? Or at least a simulation of it?
    Well the key would seem to lie in measuring the level of human concern with each concept, and with
    each type of situational relationship between pairs (and n-tuples) of concepts.

    How could we do that? How about doing a latent semantic analysis from google search results. Something
    similar to Google Trends, but which measures specifically the correlation strengths of pairs of
    concepts (in human discourse, which Google indexes). The relative number of occurrences (and co-occurrences)
    of concept terms in the web corpus should provide a concept weighting and a concept-relationship weighting.

    If we then map that weighting on top of the CYC semantic network, we should have a nicely "concern"-weighted
    common-sense knowledge base, which should be similar in some sense to a human's memory that supports
    human-like comprehension of situations.

    Combining a derivative of google search results with CYC is my suggestion for beginning to make an AI that can talk to
    us in our terms, and understand our global stream of drivel.

    I wish I had time to work on this.

  16. Layers is the key on Interview with Sun's Tim Bray and Radia Perlman · · Score: 2, Insightful

    Google is based on a network of x-number (say 500,000) of low-grade server pcs.
    They layer on a highly redundant, fault tolerant, hot-computer-swappable,
    massively distributed file system.

    This is a much smarter solution for reliability than centralization. Further
    decentralization (even across corporate boundaries) would lead to even less risk of
    information loss.

    Consider that one single corporation, even with massive decentralization, is still
    vulnerable to a single legal attack by a single misguided corporation or government.

    A distributed, encrypted, cache-migrating filesystem layer on top of millions of
    anonymous peer computers would be even more secure and reliable.

    The fact that 1 expensive Sun computer can be replaced by 2 or 3 (or 10 or 20)
    commodity pcs networked together is what is causing the death of Sun.
    And make no mistake; unless Sun reinvents its business model to FULLY recognize the
    power of commodity-computing and decentralization, it WILL complete its long death
    spiral, or live out a weak, pathetic old age selling replacement Sun "mainframes" to
    technically locked-in fortune 500 customers.

    Note: You can re-introduce a layer that creates virtual "centralization" and "registration"
    on top of a fully decentralized, encrypted, and migrating filesystem layer, if you need
    to. Google already does this. So the argument made in the article is specious.

  17. What does the data tell us about humans? on AOL Releases Search Logs of 657,427 Users · · Score: 2, Insightful

    Let's step back a minute.

    Presumeably, this whole collection is actually interesting and informative data
    about peoples' patterns of interest. Yes, the privacy violation of including any personally identifying searches is terrible, but that's water under the bridge now.

    Here's a question. Are we, collectively, afraid of finding out what human beings are really like? What our statistical behaviour actually suggests, as opposed to what sanitized morality-focused religious "education" would have us believe about peoples' nature?

    The "shocked and appalled" tone of the responses certainly suggests that we are afraid of finding out the truth about ourselves. Some of the negative reaction is, justifiably, about the dumb release of identifying information,
    but what of the rest of the negative reaction? Surely it would be fascinating to do some statistical socio-psychological research on this data, and other data like it, and find out answers to questions like "what are people interested in,
    in general, and relatively how much are they interested in various topics, and various connections between topics. This would tell us a lot about the behaviour of the human animal."

      Are we ready to know these answers?

  18. You Americans are so funny on House Passes Ban on Social Site Access · · Score: 1

    Well if you're ever up in Canada, you can come and use Slashdot at my space.
    (And I promise not to have a hidden video camera staring over your shoulder.)

  19. Re:Links for trackpads on Input Solutions for Repetitive Stress Victims? · · Score: 1

    I used a cirque (cat?) touchpad with some success when I had right-hand tendonitis from mouse-use.

    Other factors that help:
    1. Use the touchpad with the opposite hand
    2. Make sure it is down almost as low as you can reach (on a side table, not on the desk.)
    3. Clean the finger-grease off it regularly. A greasy one requires strong repeated movements
    to move the pointer so contributes to the RSI.
    4. Get a Microsoft ergonomic (split and raised in middle) keyboard. (I don't work (nor will ever work) for MS.)
    5. Mix up your work so you can take it easy on the computer use for several months. i.e. Don't
    write a big program, a large work of fiction or other documentation project. Do some design work or
    management for a while.

    A combined solution is required. This worked well for me.

  20. Neutrality is a fundamental architectural feature on Net Neutrality, Schlocky Salesmen vs Monopolist Plumbers · · Score: 1

    Neutrality toward packets is a fundamental and essential feature of the architecture of the Internet.
    Only temporary exceptions, such as defensive measures against denial-of-service attacks, can really
    be contemplated.

    It depends what we think the contract of the middle of the net is. And for it to remain scalable,
    the middle must remain ignorant of the semantics of the content of the packets. Anything else just
    becomes unworkably complex and a barrier to application level evolution. Anything else will have
    complex and unpredictable dynamics. Think L.A. at rush hour.

    A non-neutral Internet is not the Internet. It's something else. We could call it digital TV perhaps.
    As such, if the U.S. gets too silly in its non-neutral internet architecture, then the rest of the Internet
    will just have to treat it like trouble and route around it.

  21. Fast programming is unimpressive on LiveCoda, Real-Time Coding Competition · · Score: 1

    except to ADD gamers.

    Quality not quantity is what counts.

    How about a programming contest where you get 6 months, and the winner is the program
    judged most elegant, applicable, comprehensible, extensible, and all the other ibles.
    Oh, and has the cleverest recursive acronymic moniker of course.

  22. Net Neutrality = Human Freedom on BitTorrent's Bram Cohen against Network Neutrality · · Score: 1

    This is an important issue. Our natural tendency is to form hierarchical societies, with a few thought-and-action leaders, and large flocks of mostly compliant followers. Television is a technology whose 1-n broadcast architecture is perfectly suited to being a top-down control communications medium for such a hierarchy. "Iraq bombed the towers".
    Need I say more on that?

    A neutral, peer-to-peer internet has the potential to allow a human future where the power of hierarchies can be mitigated by free and open competition for our attention from competing compelling individuals and groups. Yes, if their rise was unchecked, these individuals and groups would themselves become rigid hierarchies over time, but the point is that an architecturally-flat, n-to-n, neutral internet provides a fair tournament field where "may the most effective, focussed, supported hierarchy (on a given jurisdictional or economic topic) win." The hierarchies that prevailed in such a game would be appropriate and responsive, and generally constrained to civilized behaviour. The governing or prevailing hierarchies would be the product of the "free will" of constituents possessing unbiased knowledge.

    Allowing the internet to become a 1-to-n broadcast architecture like television, is like letting the currently prevailing hierarchy control and tilt the playing field. Control-directed communications and directed mass opinion formation are the PRIMARY TOOL for the perpetuation and expansion of hierarchical organizations. Allowing any small group of such organizations to control the medium of communication grants them permanence and corrupting levels of power.

  23. Re:that last subject line on Ars Technica Reviews the MacBook · · Score: 1

    Crawl back into your hole.

  24. A 1024x768 subnotebook would be great on Ars Technica Reviews the MacBook · · Score: 1

    I use my 12" iBook on the bus on the way to work. It's only the size of an 8 1/2 x 11 piece of paper, and 4.6 pounds. Makes it feasible to do that, and barelyfeasible to drag it around with me all day in the city, googling and slashdotting wherever I go, on whatever wifi happens to be around.

    The new, larger and heavier Macbooks, with a screen that doesn't seem like it would perform in high light conditions, is not an advance for me. The quiet and long battery life of my ibook, along with the portability, are the keys, and the performance is just fine, even for watching DVDs and other bittorrent wares.

    My ideal mac at this point would be a small thin one with a 1024x768 screen but able to drive an external monitor at higher resolution. That would be my livingroom and bus and coffeeshop and bedroom and kitchen computer all in one.

  25. Scientific systematic pragmatic environmentalists on Tilting At Windmills · · Score: 1

    Observation 1: We really are badly messing up the ecosystems and climate of the planet, so dissing environmentalists; those who have noticed this and are justifiably concerned about it, is inappropriate.

    Observation 2: Environmentalists need to be scientific in their assessment of what are the most serious problems, and what are the most likely effective solutions.

    Observation 3: The biggest obstacle to solving anthropogenic environmental problems is a problem of scientific education, philosophical education, and values inculcation. The technical problems and solutions that would work are much easier than solving the knowledge and motivational gaps.

    Observation 4: Environmentalists need to have bottom lines in that they have to insist on effective solutions and they need to call "greenwashing" when it occurs, as it usually does,
    but above all, they need to be pragmatic, and accept some trade-offs.

    So environmentalists who oppose windmills really do need to get their heads examined.
    But this does not characterize the vast majority of more level-headed environmentally
    concerned people who would of course prioritize non-GHG-emitting and perpetual energy
    sources over a few viewscapes. Windmills look cool and elegant and almost biological,
    anyway.