Slashdot Mirror


User: Fnordulicious

Fnordulicious's activity in the archive.

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

Comments · 145

  1. Re:Lisp is great and all but... on Using Lisp to beat your Competition. · · Score: 5

    > I know a bit of Lisp -- I love Emacs and wanted
    > to be able to customize it more, so I played
    > around with Lisp. I learned enough to do some
    > pretty cool things, and learning Lisp has taught
    > me a lot about programming in general...

    Emacs Lisp is not a modern Lisp. It is an archaic and *very* poorly designed implementation of a Lisp developed at MIT in the 1960s and 1970s called MACLisp. Do not confuse Emacs Lisp (which even its maintainers think is a piece of shit -- just ask them) with a *real* Lisp like Common Lisp or Scheme.

    Emacs Lisp is a bane to the Lisp community. An embarrasment. It carries on the awfulness of dynamic scoping (modern Lisps use lexical scoping), horrible garbage collection (GCPRO isn't just a hack, it's a crock -- of shit), and poor support for language extension (no easily constructed user-defined types, no object system, etc).

    > But I'm not convinced that Lisp is the "highest
    > level language of all high-level languages" or
    > "the most powerful of all high-level languages".

    There is no such thing as the 'highest level HLL'. Someone can always make a more abstract interface atop the language in question. So this statement is meaningless.

    There is no 'most powerful' language in any field. Power is a completely relative term. It's relative to the immediate situation at hand. Flexibility on the other hand is measurable by the number of different uses a particular technique can be put to.

    VB is not any higher level than Lisp is. Both remove you from the actual workings of the system. Lisp is *much* more abstract in many ways that VB will ever be. Common Lisp provides a generic and OS-independent interface to filesystems of all sorts, something that cannot be said of VB, which is locked into Microsoft's OS products. Common Lisp also provides a generic I/O system that is OS-independent. VB is again not OS-independent.

    Someone mentioned that Common Lisp had poor I/O facilities. I must disagree -- in Guy L. Steele's book _Common Lisp: The Language_ 2nd ed. there are over 100 pages in chapter 22 on I/O alone. That's not including the following chapter which focuses on filesystem interfaces and accounts for another 50 pages, and the chapter on prettyprinting code which takes up another 20 pages. Common Lisp certainly has a lot of I/O support, in many ways much better than C. And if you want someone else's I/O then you can use a foreign function interface to some other language library to call out to it.

    > Lisp code is hard to read for most programmers

    You just need a better tool. Turn on parenthesis highlighting in your Emacs. Use the sexp-movement functions. Or, quite simply, learn to expand your stack. I see plenty of piles of matched parens and braces and brackets in C. And they're *much* harder to sort out than parens. And if you really don't like parens then you can glue your own syntax onto Lisp. That's something that isn't easy to do with other languages.

    > This story isn't about Lisp being used for a
    > kick-ass user interface or a 3d engine because
    > (IMHO) Lisp isn't as well suited to those
    > things.

    Lisp was used for one of the first production 3D development environments, Symbolics Inc.'s S-Products. This was later sold to Nichimen Graphics who still uses Common Lisp as their base system for extensive 3D products. Nichimen's systems were used for a number of Nintendo 64 games, for instance.

    Kick ass user interfaces can be written in literally *hours* rather than months as in C or C++. And I write user interfaces in C and C++ so I know what I'm talking about. I could do my job in Lisp in one tenth the time, but unfortunately it's too late in the game to rewrite the existing code base.

    Don't open your mouth or your foot may fall into it. Always do your research before you post uninformed opinions.

  2. Re:Things I love/hate about lisp on Using Lisp to beat your Competition. · · Score: 5

    > Things I hate about lisp.
    >
    > Not many good libraries. I would especially like > to find a good gui library. I understand there
    > are people working on this (Free CLiM).

    You must not have looked at CMU Common Lisp closely enough. It includes a binding to Motif, which for me works wonderfully with the Open Motif libraries. (They aren't Liber but they are Gratis.)

    > Language seems to be dying. Not many employers
    > are interested in lisp people.

    Lisp is definitely *not* dying. Certain dialects (such as {Symbolics, TI} Zetalisp, Scheme-style Dylan) are on the wane, but Common Lisp and Scheme are two Lisps that are definitely still going strong. I see Scheme as doing better than ever, actually, and Common Lisp holds its own in many areas.

    The reason why people aren't interested in hiring Lisp people is simply due to a lack of education in Lisp. Most people have some awful memory of it from university, and don't want to deal with it. What they don't know is that under Windows or Unix it's an ideal interface prototyping system, and packages such as CL-HTTP make programming for network applications almost a gedanken exercise. Lisp is still fantastically useful but people are afraid of it or don't know about it.

    > Typing issues.

    There are no typing issues with Lisp. If you want a string you've got a string. You can't go changing it without explicit conversion, just like in C. The idea that Lisp is weakly typed is a myth, something perpetuated from the 1960s and 1970s. Just like the myth that Lisp is slow, which is also a holdover from the 1960s.

    Lisp is a strongly but *dynamically* typed language. Any datum has one type. That typed cannot be changed. If you wish to have that datum converted to another type then you use something like 'coerce' which will create a new datum of different type holding the result of mapping the information in question from the old type to the new.

    It is *dynamically* typed because types are not static. You can change types, you can create new types, etc. It's not restrictive, but it is *safe*.

    C is actually *weakly* and *statically* typed. It's weak because any datum can be converted to any other, particularly through the use of a void pointer. It's static because you have to declare your types at compile time, which limits your program's capabilities, and makes things such as polymorphism very difficult.

  3. Metaobject Protocol? on Ask Guido van Rossum · · Score: 1

    Is Python ever going to include some form of metaobject protocol such as the MOP included in CLOS, the Common Lisp Object System?

    A MOP allows a programmer to fine tune the object system implementation, adjusting such things as inheritance systems (multiple vs single), instantiation mechanisms (and hooks), class inheritance list resolution, and other details of the OO system. It'd certainly be interesting to see another language implement a MOP, particularly one designed for OO from the start, as Python has been.

    The only major drawback to implementing a MOP is that the object system usually needs to have much of its internals carefully picked apart so that the ugly bits aren't accidentally accessible to the user, but the useful parts are.

    One reference for CLOS's MOP is the following URL:
    http://www.elwoodcorp.com/alu/mop/index.html

  4. Garbage Collection on Ask Guido van Rossum · · Score: 1

    Is Python going to continue using a simple reference counter a la Perl, or will it be improved to use a more modern garbage collection system such as the venerable mark-sweep or even a generational system?

    I ask this because I'd like to see a real garbage collector in a scripting language. I was sorely disappointed when I found that Python was using basically the same crufty reference counting mechanism as employed in Perl, supposedly because it was 'fast and easy to implement'. But the deficiencies of reference counting collectors are well known, the most obvious being the incapability of a reference counting collector to deal with cyclic garbage.

    The main excuse for using a reference counter, particularly in a scripting or interactive language, is that it is a simple algorithm and is very fast in comparison to other collectors. However the cyclic garbage problem is a subtle and nonobvious source of leaks in programs, particularly ones which have a long life and relatively extensive creation/destruction cycles.

    A number of successful workarounds for handling cyclic garbage with reference counters have been proposed and implemented. One simple solution is to implement an 'ephemeral' collector in addition to the reference counter, one which uses a more complex algorithm such as mark-sweep, one able to handle cyclic references without problem. The collector is termed ephemeral because it operates only on regions of store which are not in current use, thus avoiding synchronization problems with actively mutating data.

    The following are references to papers by Paul Wilson of the University of Texas, Austin. He has written two important surveys of the fields of garbage collection and automatic storage allocation, two sides of the same coin of automated memory management. I would recommend that whoever is maintaining the collection mechanism of Python spend some quality time with both of these papers and then follow some of the bibliographic references to get an idea of more optimal solutions to the automatic memory management problem.

    ftp://ftp.cs.utexas.edu/pub/garbage/allocsurv.ps
    ftp://ftp.cs.utexas.edu/pub/garbage/bigsurv.ps

    Another good place for links on garbage collection is the somewhat imprecisely labeled section on Memory Management in the Open Directory Project, http://dmoz.org/Computers/Programming/Memory_Manag ement

  5. Trademarks applicable to non-commercial projects? on Trademarks For Open Source Projects? · · Score: 2

    I had no idea that a trademark was applicable to something which was non-commercial. For example, somone has trademarked my last name. But it's my last name and I'm not a commercial entity so there's no conflict. I'm allowed to use my name whenever I want to. Including putting it on any software that I write, or businesses that I run.

    Also, keep in mind that a trademark only applies to something which is *similar in functionality* or *similar in commercial venue*. IOW, if you have a name which is similar to an existing trademark, but your name refers to some open source text editor and the trademark refers to some fossil-fuel refining equipment then there's no sort of infringement. The idea about infringement is that it has to be difficult for a stupid inbred American with an IQ of 80 to mistake not only because the names are similar but also because the functionality or application is similar.

  6. Re:Is this useful for programmers? on Linux 2.4 Schematic Poster (Generated From Source!) · · Score: 1

    My Lisp Machine has a database that it keeps for the *entire operating system*, not just the kernel, which is called WHO-CALLS. It's just that -- a db of what function calls what.

    The object investigator uses this db to provide an in-depth view of every single random thing within the operating system. It's quite useful when hacking on something that has a lot of interconnections to other parts of the system.

    Of course, the debugger is fantastically sophisticated as well. It provides a similar level of functionality. Too bad the Unix people never paid attention to their betters. Maybe someday they'll learn, or someone will write an easily portable Lisp-based OS.

  7. RMS uses Hurd AFAIK on Are You Using the GNU/Hurd Kernel? · · Score: 5

    Last I saw RMS he had Hurd in use on his laptop. I watched him drop into GDB when his Emacs died on him, and he hacked on it and then went back to writing Emacs documentation. It seemed pretty workable, but he was only using it in console mode. He was using a Happy Hacker keyboard, too, which I can't say was an endorsement but he seemed pleased with it.

    This is before his laptop had the horrible screen damage that occured while he was in Brazil. That particular laptop is out of commission now, I think, after his modifying it to display on the unbroken half of the LCD screen, and then dying completely when he tripped over the power cord and knocked it off the table, cracking the other half of the display. The Brazilian Linux people bought him a new one, IIRC, and I think he paid them back later (but I'm not sure).

    So, the Hurd seems to be living through his daily abuse. It must be functional, at least for that.

  8. Re:It's about time on Crusoe and Benchmarks · · Score: 1

    Ah, this poster is obviously a gamer or of similar ilk who doesn't care about the complexities involved in design, research, and experimentation. At least he'll have a good career in management.

    People with this sort of attitude towards computing systems, ie "I want it fast and 31337 and hyped to the max!" scare me. I only hope that they grow out of teenagerdom and actually learn something about what sort of work actually goes into producing computer hardware and software.

    This is the same sort of response from an uneducated art or music critic: "I don't like it because it's not my favorite {style,color,sound,*}." This sort of attitude is usually found amongst the consumer society, which is why automotive manufacturers can get away with producing such horrible products but still sell them to humans who foam at the mouth when the competitor to their favorite brand is mentioned.

    The above is much too wordy. I think I just meant to say "*plonk*".

  9. Why the complaints? on Crusoe and Benchmarks · · Score: 3

    AFAICT the Crusoe is far more interesting for its design and the possibilities for emulation that for its raw processing power. If I wanted to have a fast IA32 machine I'd go buy one. But if I wanted a processor that had the potential possibilty of letting me design my very own processor to simulate atop it, and at near-hardware speeds, then I'd buy a Crusoe. Battery life is nice too, but I'm much more swayed by the possibility that I could even conceivably use the processor as a nice emulation engine for some other existing architecture, or one of my own design.

  10. Re:Documentation? on Microsoft's New Language · · Score: 1

    More interestingly, when the O'Reilly book for Dflat does come out, what will the animal be?

    The Labrador puppy with a stupid look on its face was excellent for VB, as was the inscrutable kitty for UML. Ants for Oracle worked well. And the rat for "Learning Python" was very appropriate.

    Hmm... An albatross (like the one hung around one's neck)? A baboon?

    Oh, I've got it -- a poodle. Cute, but coddled, noisy, and annoying.

    Aside: The C#/Db joke is a good one, and the slight but noticeable (and incompatible) difference between these two notes has even more tasty flavor when you consider the slight but incompatible difference between this bogus language and the more accepted and well established norms.

    (And yes, there *is* a difference even with equal temperament dammit! I play viola, and I *know* when I've hit the wrong one!)

  11. Old Guard Won't Let Go on Net Films Not Eligible For Oscar · · Score: 1

    This is IMHO an example of the increasing amount of backlash against technological innovation in the mass media business. The media businesses don't like having to deal with a system in which they can't have total control from the creative period all the way to the customer standing in line.

    This attitude is probably not shared by most of the people in the industry, but is quite obviously the certain feelings of the upper executive tier of the industry, most of whom are very leery of change in any form. They are very satisfied with the status quo because it's making them very rich, and any drastic change in the mechanisms of distribution or production bother them to no end. These are people who started back in the sixties when the media was a strict, hierarchical machine, well greased and well oiled with the blood of young innovators. The current management clawed and maimed their way into their current positions of power, and aren't about to let anything disturb their life.

    All we can really do is wait patiently for these people to die. Harassing them simply makes them more anxious and more likely to do rash things, like this announcement. Leave them alone with their millions and someday the younger vultures will move up, looking for chinks in the armor to make their money from.

  12. Re:Multiboot BIOS? on Linux BIOS · · Score: 1
    > ... Is it possible to do a multiboot BIOS that could boot Linux and Windows (and BSD and Solaris and BEOS) with equal efficiency?

    You didn't read their web page closely I suppose, which notes (at the bottom of the page, under the heading "Current Status":

    • ...
    • We have Linux booting Linux. So our NVRAM-based Linux can decide to boot something else.

    So in answer to your question, this is already done. Linux can boot anything else you want. If you want to boot LILO to boot something else (like Windows®) I suppose that you could do that too.

  13. Re:Microsoft's Next Move on Giant Linux Boost From Washington Post · · Score: 1
    > ... called Microsoft Linux. I bet.

    No, it would be called "Microsoft L++" of course.

    BTW, that "++" in "Microsoft Visual C++" and "Microsoft J++" and other such humorous titles is pronounced "double-plus ungood".

    (Thanks to Tony@UIUC for enlightenment.)

  14. Re:too bad on Giant Linux Boost From Washington Post · · Score: 1
    > ... "a kickass operating system you'll love" ...

    I think I have a better slogan: "Linux -- the operating system that will help you stop being a dummy."

  15. Meme pollution (was World Domination) on Giant Linux Boost From Washington Post · · Score: 1
    > ... it was grossly inadequate so 'hackers' started writing tools ...

    You don't need to scare-quote the word `hacker' unless you're using it just like I did (as a literal symbol), or if you're referring to the sensationalized sense of the word. By scare-quoting it you imply semantic inaccuracy or trivialization, implicitly questioning the contextually derived meaning of the word.

    Remember: mental semantics isn't taught to people, it's absorbed by them.

    Thus the more you use words popularly felt to be negative in a positive sense the more people tend to question their original concept of the meaning. So use the word `hacker' in a positive sense more often and people will begin to accept its positive meaning.

    The point I am getting at is that linguistic subversion is the easiest way to propagate memes (which is why euphemisms are so popular in culturally negative discussion). Advertising is second. The Angry Penguin advert may perhaps draw attention to the article, but it certainly isn't going to do anything interesting to a memosphere that doesn't have a strong anchor meme to attach it to. All it will likely do to a non-fan will be to attract attention to the article beneath it, if the viewer makes that connection at all. The article's words will be what change things in the reader's mind. And I have to admit that, intentional or not, the author did a remarkable job in constructing a fine mesh of intersupporting memes that will do well at infecting the minds of people already worn down by a fairly negative meme complex already resident in the audience's minds (assuming the audience has had a hefty dose of BSODs and crashing programs from their Windows(R) experiences).

    It's interesting to contemplate what people who have never experienced any other operating systems think about Windows(R). Do they simply accept what happens to their work when some Office(TM?) application crashes and sends their document to the Great Bit Bucket in the Sky? It's unquestionable that they feel some remorse over lost effort and time, but do they simply accept what happened as a fact of life? Do they wish that their computer and its applications crashed less often? Do they even understand that that sort of thing isn't supposed to happen in a piece of software that you pay more than a couple of dollars for? That sort of program behavior seems acceptable in a US$25 shareware toy or the like, but for anything requiring a greater monetary investment one generally doesn't expect such poor quality. After all, the typically sensible consumer doesn't simply accept a US$2000 automobile that has some catastrophic malfunction every week. For US$2000 perhaps a malfunction every few months is acceptable (at worst, with a complacent owner), but certainly not every week or so.

    The fact that ordinarily sensible people will accept such poor performance at all is a frightening example of the strength of meme pollution that has been perpetrated by large corporations (with some not inconsiderable help from various political systems) for the past several decades. The average citizen of a post-industrial nation today is ever more willing to accept psychological, political, and economic mistreatment from their perceived societal superiors. I won't analogize to some other period of history since it would be entirely facetious, but I dare say that within another couple decades or so if such continual psychological manipulation occurs your Average Citizen will endure almost constant mental anguish from simply maintaining their existence in society. People do not take well to constant negative meme bombardment from family, much less nameless entities that they can't even face. The subtle implications of self-worthlessness caused by poor craftsmanship in products with which people spend much of their lives interacting are not something the human mind is used to dealing with. Remember that humans generally want to work with their tools and feel some form of success after each session with them. Even if a person isn't satisfied with the end product of a tool using session they will still gain some measure of enjoyment from simply manipulating the tools which they used. When such tools continually break during normal use a human becomes steadily more frustrated until they either obtain or create some other tool to work with or abandon the project altogether (if possible). If all the tools are of poor quality and the person doesn't have the capability to create an appropriate tool of their own or abandon the project they will rapidly become despondent and the longer this persists the more it will cause mental imbalance. Have you ever wondered why so many people in 'First World' countries are clinically depressed? Think about why people become depressed -- then look at what constant difficulties and stresses they have imposed on them from outside sources in their daily lives.

    Just thought I'd share these thoughts.

    ObDisclaimer: All the trademarks and other copyright and similar legal bulldada that aren't mine are the respective property of the people or organizations who supposedly own them. Though how a person can `own' a purely linguistic entity in any context still escapes me, even after the lawyers explained it. If I didn't attach the proper sequence of letters after a trademark or other lexical property please assume that the intent exists on my part and on the part of all other legally involved parties for whom I can speak.

  16. Violence only breeds violence on No Logo: Taking Aim At The Brand Bullies · · Score: 3
    Violence against corporations in the form of destroying or defacing their advertising is a completely useless and indeed inconscionable act. It is akin to the firebombing of corporations in the late 60s, a purely destructive act with no results other than enhancing the perpetrator's ego and harming innocent drones who work for the target corporations. Perhaps no innocents are harmed during spraypainting of billboards (I won't mention overspray ;-), but all this does is show to the public at large that someone doesn't like the company who placed the advertisement.

    The general public typically isn't smart enough to make complex assumptions like "Gee, that Nike billboard covered with spraypaint must mean that someone is protesting the advertising saturation practices of Nike." No, instead they think "Gee that Nike billboard is covered with spraypaint. That must mean some evil gang members crawled up there in a drug frenzy and marked their territory." The ordinary populace is, as I keep reminding everyone, the dumbest people you'll ever meet. They don't make logical leaps in their thought processes, but instead try to reform the world in a shape that they're comfortable with. Never understimate the stupidity of the average human being.

    The harmful part of this anti-advertising violence is that corporations, once provoked by such activities, will make attempts to bring the perpetrators to justice for the willful destruction of private property, a crime that is unquestionable in the courts. Anti-abortion protesters aren't allowed to spraypaint nasty messages on the automobiles owned by gynaecologists who perform abortions, and by the same account it's equally illegal to spraypaint billboards. There's no question of free speech rights here. And remember that corporations are absolutely ruthless when it comes to prosecuting someone -- they'll pull out their army of bloodthirsty, slavering lawyers to beat you into a pulp and twist the judge's arms until they sentence you with the maximum possible sentence and award punitive damages to the corporation plus legal fees and your indentured servitude for five years in their shoe factory in Malaysia.

    Violence is, as usual, not the answer. It is nothing but a poor, victimizing form of instant gratification. I'm not going to offer anything as satisfying as violence, however; there is little more satisfying than pillaging an enemy village and raping its women, taking its children as slaves.

    Instead, I offer a more peaceful form of activism. When you see a friend wearing a billboard on their head or chest or the like, mention it to them. Ask them why they feel the need to pay money to advertise for a company that makes much more money than they'll ever see. Ask them why they feel that they need to identify with a corporation that has never given a fid for their best interests, indeed is only interested in the latest profit figures. Convince them that they should do the same for their friends, and actively avoid wearing brand names themselves, even if it means buying a new wardrobe of advertising-free clothing. If enough people actually begin communicating like this the idea of having big corporate brands pasted across your chest will begin to seem ridiculous (it always has to me).

    Obstructionist tactics work well too. When your local city government reviews an application for construction of a billboard, show up at the open hearing if there is one and argue the case against. If there isn't an open hearing, protest against the government for not holding open hearings on billboard construction. When you see yet another billboard that you don't like, give the corporation's local representative (if there is one) a call and complain that the billboard is ugly and lacks taste. Come up with other irritating complaints to waste their time and money. Write letters to the local paper about how the billboards you see are annoying or disgusting. Above all, find some way to waste the corporation's time and money on frivolous complaints about their billboards -- this hits them where it really hurts them, in their profit margin.

    Thankfully, the billboard problem has never reared its ugly head in Alaska. This state has laws specifically targeting billboards. The people who live here enjoy the beautiful scenery of this state and do not wish to be confronted with ugly billboards every time they turn around. In fact, the construction and renting/leasing of billboards is illegal, and signage built on private property has to conform with certain regulations on size and placement. All of this is to prevent the construction of billboards. Places like California are probably too far gone to consider enacting laws such as these, and the community there is probably too complacent to worry about advertising saturation, but perhaps other states with less advanced cases of saturation can look into enacting laws modeled on those of Alaska's. I can't describe how refreshing it is to return home to a billboard-free land after having spent time in the advertising saturated lands of America.

  17. Computing Standards aren't Grown Up Yet on How Are Standards Monitored And Enforced? · · Score: 2
    In the engineering and construction businesses almost every aspect of a structure and its components are designed and built according to `The Code', a term which refers to the set of building and engineering standards relevant to a particular aspect of the profession. There is the National Plumbing Code for instance, which lays down all sorts of rules regarding the type of pipe which can be used for a particular purpose (ABS (the black plastic stuff) can only be used for waste water and vents, copper is allowable for fresh water but not for waste water involving highly acidic substances, etc.), the distance that a pipe can be from an external wall depending on its use, the minimum diameter of a certain weight and type of pipe WRT its distance from the source or sink, etc, etc, etc. Every rule has a real purpose for existing, and disastrous, often life-threatening problems can result if they are ignored. These sorts of rules must be followed by engineers and construction workers or else the city, state, and federally mandated inspectors who review the plans and the finished structure will not pass the work and thus it can't be put into use. No ifs ands or buts (excepting the rare exemption) are allowed.

    The computing industry has no such system of absolute conformance. This is because the government has to get involved to enforce such a thing. Standards for computing have been around a long time relative to the industry's age (check the date for ASCII if you don't believe me), but still there is no way to enforce compliance to a standard. This is mostly because there simply isn't an easy way to classify the products being sold and to determine whether they should be standards compliant or not. The Government would have to be involved, and would have to enact legislation requiring products to be standards compliant before they could be sold to the public, much in the same way that construction is so regulated. Until computers are seen as life-threatening and as life-preserving and as essential to modern human existence as buildings are, this isn't going to happen.

    OTOH, there are perfectly good reasons why the computing industry shouldn't have enforced standards. Innovation in engineering and construction doesn't proceed as rapidly as it does in computing. A standards organization charged with reviewing the state of the art in plumbing can barely keep up with the workload it is presented with; it's absolutely unreasonable to imagine a standards organization reviewing the state of the art in computing. Also, engineering and construction have been around for two thousand years or more -- most of the major concepts have been worked out already and are well known. In computing, which has only been around fifty years or so (at least in its current form), the grounding concepts are still being debated in academia and the reasearch communities. We still aren't totally sure how to describe a programming language -- how can we determine whether a given implementation of a language complies with the standard? Debates still rage about the vagaries of user interfaces, and the underlying concept of a user interface is terribly hard to pin down (Just try thinking about that -- what exactly is a user interface? What makes a user interface good?), so it's absolutely impossible to enforce user interface design. Also, remember that standards don't get updated but about once every five years or so, and any legislation regarding standards usually doesn't change without major political action. Imagine having a standards enforcement representative (read `code police') reading your code. Not a happy idea.

    IMHO there should be some level of enforcement requiring compliance to a standard if such compliance is going to be an integral, advertised part of the product. Thus, if Web Browser v23 claims to comply with HTML 5.0 then it has to abide by every last little requirement of the HTML 5.0 standard. Extensions are always possible, but advertising that Web Browser v23 complies with HTML 5.0 when it actually doesn't can result in legal action by the standards body, possibly causing that product to be pulled from the shelves until it either complies with the standard or is replaced by one that makes no such claim.

    I'd really like to see such a system enforced for the hardware manufacturers. IIRC there's no reason that some random motherboard manufacturer can't claim that their new board has PCI support even if it only implements a broken subset of the actual PCI standard. The existence of this glib attitude towards hardware standards is probably due to the fact that most IA32 machines are still based around the `industry standard' IBM PC design, which being an `industry standard' was never really a formal, enforceable standard. Nowadays nearly all the parts of an IA32-based PC are standardized in one form or another, but even today major manufacturers sell machines with broken implementations and gratuitously incompatible hardware. If they were regulated by a standards requirement of some form then this sort of thing would happen much less often (I won't say it wouldn't happen at all).

    So, computing standards aren't grown up. They haven't reached the stage where they are enforceable by legislated authorities. Someday they probably will be, but only if the end users want such a thing. If the end users don't complain enough the Big Money in corporate hands will keep such a thing from ever happening. The situation is very similar to that of automobiles in the 1970s -- until Ralph Nader and friends started making ugly noise with class-action lawsuits and large, expensive legal cases, the manufacturers blithely ignored their end users, often with horrible results.

  18. Re:Wait for RMS on Open Source Release Of Bell Labs' Plan 9 · · Score: 1

    > Seriously, wouldn't food get just about permanently stuck in that beard?

    It does. I've dined with him, and he does get a tidbit stuck in there now and then. Food for later when on a hacking (or more likely documenting) run. However, his hair-combing habits at the table are much more disturbing. Particularly when pulls at his hair over a plate full of food.

  19. UNU Appears to be lacking in linguistic knowledge on A Universal Networking Language for the Internet? · · Score: 1

    It appears that the people at UNU who discussed this idea of UNL didn't bother to talk to anyone trained in modern linguistic theory. (I don't claim to be trained, but I have more than a passing familiarity with linguistics, *and* I read /., so...)

    The first major problem that they will have is defining a syntax for the language. That's not so tough if you just define an arbitrary syntax and leave it at that. But I suspect that they will try hard to design a syntax that distills the most popular aspects of each of the languages that they're translating from, thus getting stuck in a linguistic tar-pit from which they will never escape. I hope.

    You see, there have been many attempts at discussing the "universal syntax", that is the base syntax for the language that the brain uses. In most flavors of Chomskyan syntax theory this is termed something like "deep structure" (lately it's been "D-Structure" to avoid any implied but inaccurate meanings of the word 'deep'). DStruct is in essence the most general syntax needed for accurate expression of any sentence structure in any human language. It's supposed to be general, not differentiating between different languages on the syntax level (notice that I haven't mentioned meaning yet -- that's something completely different, the /semantics/ of a language). This unfortunately isn't usually the case, since many languages like to put different sentence constituents in different locations within a typical sentence structure. English, f'rinstance, is said to have an SVO (Subject Verb Object) word order. That is, the Subject of a sentence will be the first major constituent in a sentence, followed by the Verb, then the Object constituent. This isn't general, however. In the case of a question, the word order of an English sentence often (but not always!) changes to a VSO (Verb Subject Object) form. Other languages use completely different word orders. Japanese, IIRC has a word order approximating OSV (could be wrong). That doesn't even consider the lower levels of syntax, where one discusses what's known as "X-bar theory". X-bar theory uses representations of constituent phrases connected in various manners to develop a phrase structure tree that represents the syntax of a particular sentence or phrase. Thus a noun phrase (NP) has two branches from it, one being a specifier (Spec), the other being the intermediate projection of the NP (N', read "n-bar" for hysterical raisins). N' in turn projects a complement (Comp) and a noun (N). Syntax in one language, say English, will project the Spec to the left of NP, and the Comp to the right of N'. Thus the noun N is in the middle of the NP. This isn't true for all languages, they are free to choose whatever branching order they wish to have (dependent on certain Parameters which define particular instances of Principles, which I won't get in to).

    Another theory, Head-driven Phrase Structure Grammar says that every word projects its own dependent structure, and that the structure projected from a word in the lexicon must adjoin properly to other words projected from the lexicon to form grammatical sentences. This theory also takes into account some semantics issues as well, and is very popular amongst the Computational Linguistics and Natural Language Programming crowds, but isn't too popular amongst the older ranks of theoretical linguists. It too is language dependent in its structure of syntax, although very comprehensive syntaxes of certain languages have been developed with some success.

    That's just syntax. It's not easy. It's not very regular. It's very context sensitive. If anyone has written a compiler for any programming language they know how complex a language will get if you allow it to be context sensitive (instead of context free).

    Semantics, the meaning behind a particular word or phrase, is a ridiculously complicated problem in linguistic research. People have spent their entire lives researching it with little success, and at various times in the history of linguistics certain well-known demagogues have denounced the study of semantics in its entirety because it appeared to them to be too unfounded or scientifically reasonable. Chomsky to this day makes nasty comments about semanticians and is well-known for denouncing research into semantics because most work is not provably consistent in even restricted domains.

    Semantics is gnarly. It's weird. Researchers who work in semantics are said to get their more successful ideas from hallucinogenic chemicals. Semantics is a subdiscipline in which any random researcher can overturn the field with one paper, tossing out all of the research done previously -- and get away with it successfully. I don't mean to degrade the work of semanticians, and I'd love to join their ranks some day, but it must be admitted that much of semantic research and theory has a hard time standing up because it's in its infancy.

    Look carefully at the construction of a programming language compiler. It deals with what's known as a 'regular language'. This is a language that is known to follow certain rules consistently, and all special cases are well-defined (for most languages anyway ;-). The syntax of the language (the part you wrote in lex) is usually a bit simpler than the semantics (the part you wrote in yacc), if you examine the respective sources for complexity. Now consider the fact that for *any* human language the complexity of both of these tasks is exponentially (perhaps even factorially) more difficult. Since semantics is at least an order of magnitude more complex than syntax with respect to computer languages, one could imagine how bloody awful complex this is for a human language. Now consider that to make a translation requires *complete* semantic comprehension of both the source and target languages -- translation is not a simple word-for-word lookup table (and I'm glad it isn't -- we wouldn't have much expressibility and I wouldn't be able to write this if it were).

    To put all of this into perspective, consider a universal translator for computer languages -- what's it called? It's called a computer. So what do we call a universal translator for human languages? Surprise -- a human.

  20. Microwave processor emissions on PowerPC Processor Roadmap · · Score: 3

    So when these latest and greatest processors running at GHz speeds start emitting radiation in the microwave spectrum are we all going to have to start wearing lead aprons like your local radiologist? Or are we just going to have to shield the entire box in a faraday cage?

    Looks like there won't be any more topless, skeletal machines in the future -- "Removing the cover from this machine may void your warranty AND cause severe radiation burns while the machine is in operation."

    fnord