Copying Fred Flinstone's rock wheels
on
Brian West Update
·
· Score: 1
One reason you might want to do that, is if you've already published URLs with.asp extensions, and you're getting hits on them, but have switched to using php.
But why anyone would waste their time with a half-assed anemic language like PHP when there are real programming languages that are much better like Python, is beyond me. Ignorance, most likely.
Isn't it a shame that he got busted for copying and (EEEEUUUGH:) reading somebody else's Perl code (like licking dingleberries off a moose butt), and trying to rewrite it in PHP? When he could have just installed Zope, which is totally free, and probably already has 5 different ways of doing whatever he needed to do.
It's like stealing the designs for Fred Flinstone's rock wheels, and then trying to copy them by carving dried mud, when he should be using metal and rubber and air instead, and could have just picked up a set of good wheels for free, if he'd only known any better. Sheez, what a maroon.
Like it or not, a lot of the ActiveScripting stuff and component technology and XML support that Microsoft has developed for Internet Explorer is really pretty useful and cool.
Don't knock it till you've tried it, kids.
I've tried it, and it worked quite well for my purposes. It's good for implementing plug-in reusable easily configured components, that are much simpler to plug in, more reusable and easier to configure than anything you can do in straight-up JavaScript.
There's a technology called "Dynamic HTML Behavior Components", that let you package up a bunch of JavaScript code in an XML file, describing its interface: properties, methods and events. And attach that object to any DHTML element, as a behavior that can respond to events, access dhtml tag attributes, web page content, expose methods and events, etc.
That DHTML Behavior interface can be implemented in any scripting language like JavaScript, VBScript, Python, Ruby, whatever, through ActiveScripting.
That's why ActiveScripting is so important and useful. It lets any language call and use components written in any other language, so you can both implement and utilise components from any language that plugs into ActiveScripting.
Plug-in behaviors are easy to attach to any dhtml element, like so:
<div style="behavior:url(piemenu.htc)"/>
You can easily pass arguments to configure the behavior through dhtml attributes, like so:
The component exposes properties and methods you can access from scripts on the web page, that cna be written in JavaScript, VBScript, Python or whatever. Like so:
And the component can access embeded "XML Data Islands" on the web page, or dynamically created by JavaScript code, or downloaded from a server, or dynamically generated from a database, or the results of evaluating and XSLT style sheet, etc.
XML data islands are a great way to embed XML data on a web page, that the scripts as well as the components can access.
XML is a perfect way to represent the tree structure of pie menus, as well as embedded XHTML that specifies the presentation of the pie menu items and middle.
So you can configure the pie menu component on the web page by embeding an XML data island inside the element to which you attach the pie menu behavior.
Like so:
<div style="behavior:url(piemenu.htc)"
id="Pie"
fixedradius="40"
onselect="HandleSelect(event)">
Click here to pop up a pie menu.
<xml>
<piemenu name="Hello World">
<html>
<B>Hello</B>,
<EM>World</EM>!
</html>
<item name="Hello"/>
<item name="World"/>
</piemenu>
</xml>
</div>
My point is, that this technology saves a lot of time and effort, and makes it quite easy to implement powerful reusable modular components, that are in turn extremely easy for other people to use.
If anything in Internet Explorer is worth for Mozilla to emulate, it's the ActiveScripting and plug-in DHTML Behavior Component technology.
Stop bashing it out of ignorance, and learn about it. Then figure out how to support it in Mozilla.
Don't try to come up with something better, when you're already so far behind, and 95% of the world is already using Internet Explorer.
That's why Mozilla is so far behind. They've been pissing away time trying to implement all these untested half baked ideas, instead of putting time into supporting the standards that already exists, like Microsoft has already done.
Don't believe me? Let me recap some of the promises Netscape made, but never kept, when they should have been working on standard support for DHTML, XML, XSLT, and ActiveX.
The Netscape plug-in API is trivial and useless compared to ActiveX or even the older OLE stuff. It didn't need to be as complicated as OLE, but it sure needed to be a whole lot more powerful and not as half-baked as it was.
Rewriting the browser in Java. They put a whole lot of time and effort of good people into that project, and it finally went nowhere. Netscape exployees couldn't stand working with Sun employees because they were arrogant and bickered all the time, so they couldn't get along well enough to produce anything. The project got canned.
Supporting OpenDoc. Netscape was OpenDoc's last hope. It held the promise of a real component system. More than that, OpenDoc's "killer app" was CyberDog, which was a totally beautiful component oriented web browser. (Well, a lot more than that, because of OpenDoc, but that's how they were selling it.) Of course the implications of integrating OpenDoc and Netscape were that they had to flush everything they'd done so far down the toilet and start over, possibly with CyberDog, or else from scratch. But Netscape was too arrogant to throw out what the'd done so far and take any advice from Apple. Mozilla was a huge monolithic monster that couldn't be simply broken down into a bunch of independent components. No fucking way. One or the other had to go. So after publically promising to support OpenDoc with great fanfare, and hiring the CyberDog team away from the already poor shrivled Apple, Netscape resolutely shot Old Yeller: they killed CyberDog, thus driving the last nail in the coffin of OpenDoc, and summarily fucking both Apple and IBM.
Sun observed OpenDoc's demise and the resulting fallout with the bearded delight of Osoma bin Laden watching CNN, because they wanted to promote their "100% pure" fundamentalist religion of JavaBeans (which at the time only existed as a widely announced name, and wasn't event designed yet) as the one alternative component framework to go up against ActiveX. But OpenDoc was in the way, so they danced on its grave when it died.
Then there was the time that Netscape hired a bunch of former NeXT guys, who had learned Java and decided to implement a NeXTStep-like toolkit in it. It worked really well, and looked really good, so Netscape hired those guys right up, named it "IFC" for "Internet Foundation Classes" so as to position it against MFC "Microsoft Foundation Classes", and announced that IFC was going to be the official "100% Pure Java" cross platform write once debug everywhere bla bla bla widget component toolkit for Netscape.
But the idea of another Java toolkit that wasn't vapourware spooked Sun, who was still vaporising their plans for JavaBeans and didn't want IFC taking away any of their media attention and mind share.
Sun was afraid of IFC because it had such a great name (nothing about the architecture mattered, except that it was not JavaBeans). IFC was what you got when you took the widely successful Microsoft Foundation Classes, removed the Microsoft, and replaced it with Internet instead.
Yes, that kind of thinking really floats the boats of marketing people.
Sun saw IFC as a threat, as long as it was not under their control, so they called in an old favor they did Netscape, when they let them use the holy name "Java" to brand their scripting language that really didn't have anything to do with Java.
So Sun called in the "JavaScript" name favor, and Netscape turned IFC over to Sun in order to be "migrated" and "readjusted" to JavaBeans. Which really means they just disposed of the body, but stored the name away safely for later use.
Anyway, after all that, you can see why I have absolutely no faith in what the religiously anti-Microsoft zealouts come up with. Because their thinking is so clouded by their warped little models of the world, that no matter how good their technology is, they will destroy it for petty, stupid reasons.
Disclaimer: This is all my own warped and interpreted view of the world from my own perspective, as an ex-Sun-employee with an axe to grind, and other undocumented perspectives that I won't go into now, to protect my informers. Take it as fiction if you like.
The part about pie menus isn't fiction, though. You can download the free open source, documentation and demos at:
And if you don't believe that pie menus are faster and more reliable than linear menus, you can prove it to yourself by playing the game "Fasteroids", and read all the source code if you don't trust me.
Will Wright is a hack in the most positive sense of the word. He makes and battles robots in his spare time.
Having been on the receiving end of the bug reports from Maxis quality control, I can definitely state that you have absolutely no idea what you're talking about.
The purpose of this site is to distill useful links to reviewed information about disaster relief, how you can help, information about survivors and memorials to victims.
If you can't give blood, then give money. If you can't give money, then at least give a shit.
That's a great reference to McCarthy's recollections, thanks! I learned a new term: "pornographic programming".
"The unexpected appearance of an interpreter tended to freeze the form of the language, and some of the decisions made rather lightheartedly for the ``Recursive functions...'' paper later proved unfortunate. These included the COND notation for conditional expressions which leads to an unnecessary depth of parentheses, and the use of the number zero to denote the empty list NIL and the truth value false. Besides encouraging pornographic programming, giving a special interpretation to the address 0 has caused difficulties in all subsequent implementations."
First of all, it's foolish to automatically dismiss someone's opinion because you say they "like all things microsoft". Get over it. To take it even further and dismiss all GUI based interfaces, just because one of them comes from Microsoft, is completely close minded, and that kind of self-defeating attitude only helps Bill Gates take over the world. Microsoft did not get where they did by pooh-poohing good technology because it was written by somebody the choose to demonize.
Second of all, GUI based software development tools have been around for a long time, at least since the 70's. Microsoft did not invent them, therefore Linux Political Correctness does not require you to hate them and reject them out of hand.
The Lisp Machines from MIT, Symbolics and Xerox, and Smalltalk and Cedar from Xerox all had extremely rich, well developed graphical programming environments, many years ago.
Lisp (and Python) are excellent languages for implementing and programming graphical user interfaces, meta-programming tools and integrated development environments.
But C++ (and Perl) absolutely unequivocally sucks as a language design, and that's why Visual C++ and all other C++ development environments are so horribly crippled, brittle, inefficient and useless compared to their counterparts designed more than 20 years ago. It's not the GUI that's the problem, it's the language, which does not lend itself to being efficiently understood or debugged by humans or computers.
Remember Saber C? Or Lucid's Emacs based C++ Energize development environment? They failed because of the ill-conceived, ambiguous design of C++, which made the problem of tracking and understanding symbolic debugging information so complex that it was too much for workstations at that time.
But now that we have 1.5 Gigahertz processors with gigs more of ram and disk, we can finally run "modern" development environments like Visual C++ just about as fast as the venerable Lisp Machine development environment ran 20 years ago, but it still takes a hell of a lot more effort to understand and debug programs using C++ templates instead of Lisp macros, and it always will.
The bottleneck is not in the computer, it's in your mind's capacity to take in, understand and manipulate all that information. C++ (and Perl) spend all of their "complexity pollution credits" on the syntax, and there's none left over for the programmer to apply to solving the problem. So of course the development environments have a hard time communicating and allowing you to manipulate all that information.
-Don
Doug Engelbart's NSL demo is absolutely amazing, like the introduction to The Outer Limits: Do not attempt to adjust your computer screen. We control the vertical. We control the horizontal.
Here is the classic video of Doug Engelbart demonstrating NLS, on my streaming quicktime server. It's from "All The Widgets", a video tape of user interface techniques produced by Brad Myers for the ACM SIGGRAPH Video Review (CHI'90 Special Issue #57).
The online video consists of some excerpts from All The Widgets (the original tape is at least an hour long and surveys all kinds of widgets, most pretty repetitive and boring). The first half of the online video consists of a bunch of pie menu demos that I developed and recorded in the 80's, followed by Doug Engelbart's NLS demo near the middle, and the credits for All The Widgets at the end.
My thoughts on the article were that it was good, but missed a whole lot of important stuff. The space wasted on fictional cave-man stories would have been better spent discussing actual early research that the article ignored.
For an excellent classic summary of many important graphical user interfaces that had a lot of influence, I highly recommend "Methodology of Window Management", Proceedings of an Alvey Workshop at Cosener's House, Abingdon, UK; FRA Hopgood, DA Duce, EVC Fielding, Kenneth Robinson, AS Williams (Eds), Springer-Verlag, (1986). No longer in print, but you might find it used or in a good library. It includes some wonderful papers about many important gui systems that weren't mentioned in the article, like James Gosling's original article on "SunDew: a distributed and extensible window system" (which Sun later renamed "NeWS", that I used to implement the pie menus shown in the video, and out of whose ashes arose a popular language called "Java").
I've published a bunch of my own user interface related demos as streaming quicktime videos on my server. Here's the front page with a link to the index. (The index is an XML file using a style sheet, which Mozilla still doesn't understand, unfortunately.)
If you're interested in gui design, I would recommend the demo of the pie menus, architectural editing tools, and the SimAntics visual programming language in The Sims:
PS: There is still a bug in SlashDot and/or the IE textarea with the WRAP="VIRTUAL" attribute, that causes long words (like URLs) to have spaces inserted into them, so the text of the URLs above is split with unwanted spaces. The actual HREF links seem to be ok though. Here is what I mean -- the following should be 80 "x" characters, but instead comes out as 50 "x"'s, a space, and 30 more "x"'s:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
At the top of all the messages in Linux Toady's talkback, it ironically claims:
Linux Today is not responsible for the content of the message below.
Maybe they should clearly label the astroturf articles written by their own editors differently:
Linux Toady is responsible for the content of the message below.
-Don
Linux Toady
Main Entry: 1 toady
Pronunciation: 'tO-dE
Function: noun
Inflected Form(s): plural toadies
Etymology: by shortening & alteration from toadeater
Date: 1826
: one who flatters in the hope of gaining favors : SYCOPHANT
synonym see PARASITE
I think Black and White achieves many of the lofty nobel goals of Art. The design was not as corrupted by outside pressures as most other games are, and they took as long as was required to finish it properly, instead of shipping it before it was done. But most games don't have those advantages, and their quality as Art suffers. I mean the quality of the game as a single coherent piece of art -- how it all fits together as a design, distinct from the quality of the individual pieces of artwork (2d bitmaps, 3d meshes, animation, sound, text and storyline) that comprise the game.
It's hard to get this bug report through the lamness filter, but here goes another try.
Oops, somehow a space crept into that url, and I though it was just bad kerning. Here's the correct URL of Ken Perlin's talk, on my streaming QuickTime server.
No, the space is back, and I am sure I didn't type it this time! So if you want to listen to the talk, please remove the space yourself, because I can't.
This looks like a bug in Explorer or Slashdot. Watch this line of 60 x's:
It displays as 50 dashes, a space, and 10 more dashes. And that's the text I select in the comment preview. But in the comment editor textarea, the space isn't there, even after hitting preview.
This slashdot text area goes:
<TEXTAREA WRAP="VIRTUAL" NAME="postercomment" ROWS="10" COLS="50">
What in tarnation is WRAP="VIRTUAL"? I tried to reproduce the problem by using the same html with Zope, and it doesn't have that behavior. Maybe it's a slashdot, Perl, Internet Explorer, or some combination. Sorry! Does anybody else get their long words chopped after 50 characters?
Ken Perlin's work at NYU is an excellent (and unfortunately unusual) example of how extremely practical academic research can contribute to computer games (and many of other fields).
Most other academics are not as focused on such pragmatic applications of their research, but Ken Perlin serves as a great example for others to emulate. The guy has great ideas, and can really program!
This is the audio of Ken Perlin's talk at the Game Developer's conference, about character animation, noise, and applications to computer gaming. His answer at the end of the talk to the question from a clueless audience member about "how does this apply to computer gaming" is hillarious (but to really appreciate it, you have to understand that he's a New Yorker giving a talk in California).
My background is in user interface research, but I've been frustrated by the industry's lack of acceptance for new ideas. One reason I got into gaming was that it's an excellent way to get new user interface techniques out there where people can use and get used to them.
Most applications are built with standard gui toolkits, and innovation is not a design goal, so they use inefficient but traditional linear menus instead of faster but non-standard pie menus. But immersive games practically require innovative user interface design. So techniques like pie menus that have been around for a long time, but never widely used, are finally showing up in games. Only after pie menus are commonly used in games, will they find their way into the so-called "standard" user interface toolkits.
I designed and implemented the pie menus in The Sims, but they're hard coded, special purpose, and not reusable. But since then, I've implemented a free reusable general-purpose pie menu component, in JavaScript. It requires Internet Explorer 5.5, since it's implemented as a Dynamic HTML Behavior plug-in. Pie menus are specified in XML and rendered in Dynamic HTML, so they can exploit the full capabilities of web browser, and integrate easily with other technologies.
http://www.piemenu.com
I'm sorry that Netscape/Mozilla doesn't support the technologies necessary to run my JavaScript implementation of pie menus. I hope that instead of mindlessly complaining about Microsoft, somebody will take it as a challenge to enhance Mozilla to support XML data islands, generic scripting engines (so you can write scripts in any plug-in language, that can call each other and pass objects and data back and forth), full Dynamic HTML, style sheets, XML DOM and XSL support (just follow the standards like Microsoft did), as well as plug-in Dynamic HTML Behavior components (so you can easily implement your own intelligent reusable plug-in components in any scripting language).
Back to the topic of using games as a virus for innovation: I've written a simple little free game called "Fasteroids", whose user interface incorporates both pie menus and linear menus. (Pie menus have an option that makes them lay down and act like linear menus, so it's easy to compare them fairly.)
But actually, the game is really a candy-coated distributed user interface evaluation experiment, that empirically compares your selection times and error rates of pie menus versus linear menus. It shows you the resulting statistics, so you can judge for yourself how fast and reliable pie menus are for you. No need to take my word on it: you can find out for yourself exactly how much faster they are. And there's a button to report the results back to my server if you like, to share the statistics for use in a study.
http://www.piemenu.com/fasteroids.html
Please tell me if you have any problems with the software (as long as you're running the latest version of IE5.5 on Windows, otherwise I know it doesn't work.) I hope this will convince other people to use pie menus in their own toolkits, games and applications.
Dashslot, you totally missed the anonymous coward's point, although it wasn't very clear. The point was that he agreed with the article, that most games like Quake and Doom ARE based on "trolls and sci-fi monsters".
The Sims players can create their own character skins and objects, so people have made their own trolls and sci-fi monsters in the game anyway. But in The Sims, they have the same motivations and desires as anyone else: eating breakfast, going potty, taking a shower, having an argument, making up, flirting, going to bed...
But what can you do if you put a skin of your mom into Quake? She can run aroud shooting people, and you can shoot her, and watch her guts splatter all over the wall. Big deal.
So Dashslot, instead of arguing against your straw-man misinterpretation of the anonymous coward's statement, I ask you: Please tell us what it is you really don't like about The Sims, and how the dominant genra of Doom and Quake like games is any better.
The most common anti-Sims argument I've heard is "it's gay" and "girls like it". That's certainly a valid argument, if you're a misogynistic homophobic closet case, but most people aren't. It's funny how a silly computer game can bring haters like that out of the woodwork.
What do you have against a peer-reviewed journal? Do you prefer industry trade rags driven by advertising dollars? Or is there something about the peer-review of slashdot that scares you? To me, the Game Studies journal is extremely interesting, fills an important role, and I hope it succeeds.
Oh, come on. Stop bitching about being forced to indent your code so it's readable, and give it a fucking try. There is absolutely no valid reason to object to that. All you can proffer is a lame joke reason, that you want to scare off newbies. Ha fucking ha. How much time do you spend reading other people's code? Personally, I spend a LOT of time doing that, and it's extremely important to me that it be readable. That's why I'd never consider using Perl (although I have in the past, and I regreted it, so I'm not just talking out of my ass like you are), and that's why I appreciate so many things about Python. Python code is extremely clear and easy to read, understand, write and maintain, so I can simply get a whole lot more work done with Python, than you can with Perl.
Uuuuh, people... Really: The goal Larry Wall is aspiring to (but will never come close to hitting, since Perl syntax is far too complex for it to work), was satisfied by Lisp many years ago. It's called "macros". And I'm not refering to lame assed anemic string based macro languages like the C preprocessor or even C++ templates. I mean real Lisp macros, that use the full power of the programming language to easily manipulate the syntax of the code, and seamlessly redefine and extend the programming language itself.
Larry Wall needs to forget everything he knows, go back to CS101, and study Structure and Interpretation of Computer Programs (Abelson, Sussman and Sussman).
Well put. This guy's lame excuse for his self imposed ignorance is shameful. He doesn't realize how much time and effort he's wasting by using Perl, and the time it takes to learn Python is trivial compared to the time and effort he would save by using Python instead of Perl. He's just locked himself into a dead-end job. I pity him having to dig his own grave in 6 feet of ugly Perl code.
As a former Sun employee, I'd like to point out that at Sun, they have a long standing tradition of reading each others email. That's why McNealy doesn't believe in privacy.
Sun developed and promulgated NFS, which stands for No File Security. As it was originally shipped, it was ridiculously trivial to break into NFS. When an NFS client tried to mount a file system from an NFS server, in the request the CLIENT would TELL the SERVER what its host name was, and the server would BELIEVE it, and only check it against the list of allowed hosts in/etc/exports. Whatever hostname the client CLAIMED it was, the server BELIEVED it without question or bothering to check the IP address. So if you wanted to mount any NFS file system with full read/write permissions, all you had to do was find out one of the host names in the NFS server's/etc/exports (say "doober", which was the name of Scott McNealy's workstation), and go "hostname doober ; mount securemailserver://mnt", and you would have complete access to the server.
I found this out when I was a summer intern at Sun in '87. Most of the engineers at Sun knew about NFS's complete lack of security, and thought it was hillarious and convenient, and many used it to get their work done as well as to read each others email and private files. But Sun would still fire anyone who got caught, or read the wrong manager's scheming email and warned the victims about it.
Sun thought their customers should have the same convenience, so they shipped NFS with that wonderful security hole enabled by default, so anybody in the internet could guess or use tftp to get a copy of an NFS server's/etc/exports file, and mount any NFS directory from any NFS server on the Internet.
One of Sun's biggest government customers is the NSA, and I'm sure they appreciated that feature in NFS. Sun has utter contempt for most of their customers, but makes an exception for the NSA, whose ass they kiss on a regular basis (they have a big department dedicated to that onerous task).
[Disclosure: I quit my job at Sun in '91, when they told me repeat their prima facie lies to our customers about the future of NeWS.]
NFS is quite a convenient security hole, huh? That's the real meaning behind "the network is the computer" and "open systems": the computer is insecure, therefore the whole network is a wide "open system". The slogan "write once, run everywhere" should be rephrased: "Write once, there's nowhere to run".
When Scott McNealy says "get over your privacy", it's for his own profit and convenience, because the NSA told him to say it.
But there is another technique similar to operator overloading called "multiple dispatch". It's a feature of some object-oriented-scheme-like languages (Dylan, ScriptX), that might be expressed in Python. But I don't know how useful it would really be, considering efficiency and how it would complicate the language, and there are many other ways to accomplish the same effect.
Many popular object-oriented programming languages, such as C++, Smalltalk-80, Java, and Eiffel, do not support multiple dispatch. Yet without multiple dispatch, programmers find it difficult to express binary methods and design patterns such as the ``visitor'' pattern. We describe a new, simple, and orthogonal way to add multimethods to single-dispatch object-oriented languages, without affecting existing code. The new mechanism also clarifies many differences between single and multiple dispatch.
How would you rate Python for artificial intelligence programming?
Both in the classic sense (as Lisp programmers use the term), and the modern sense (as game developers and players use the term)?
Was Python intended to be used for AI programming, or to cover everything else you can do in Lisp?
How could Python be improved to satisfy AI research programmers, as well as game developers?
Are there many Lisp programmers who have happily switched to Python? What complaints or requests for improvement have you heard from them?
Are there many game developers using Python as a scripting or game ai programming language? How has that worked out? What other high level tools incorporate Python as an extension language, the way Emacs uses Lisp?
Mature AI programming platforms like the various Lisp Machines and Common Lisp have first rate interactive code development / debugging systems. This is because of the dynamic, reflective, interactive nature of the Lisp. C++ is nothing like that, so it has taken many years for tools like Microsoft Visual C++ to catch up with what Lisp Machines had in the 80's, but using millions of times more resources and not running any faster. Since Python is like Lisp in many ways, what kind of interactive visual Python code development and debugging tools are being developed and do you expect to see in the future? (Zope is a great example, but where do you see it headed?)
SGI has always tried to bully people around, even when they didn't have a legal leg to stand on.
Years ago I got a call from some sad minion at SGI whose job it was to track down all the web sites publishing the famous 1993 "Software Usability II" memo, and whine at them to remove it.
He said I should remove it from my web site, because it was an internal memo that wasn't officially released.
I explained to him that it had "already seen fairly broad network distribution", having been widely published on risks-digest, and forwarded all around the internet because it was so hillariously entertaining.
Why it's even assigned reading in university operating systems courses! It's a great thing that computer science students should be required to read this "wonderful record of what goes wrong with large software projects".
You're quite right about Antiorp (aka nn, integer and netochka nezvanova) -- she's a totally unique deconstructionist culture hacker, and a world class programmer/artist with a cult following (and an enemy list longer than Tricky Dick's). She'll probably flame the shit out of me for trying to describe her work in words, but at least it's worth a try.
Antiorp has developed a vast suite of real time video processing plug-ins called "NATO" for the visual programming language "Max" which runs on the PowerPC Macintosh. She's implemented her own Quicktime streaming RTP video broadcaster (in spite of the fact that Apple's own Quicktime documentation says that the api is undocumented and that Sorenson Video Broadcaster is the "only game in town").
An artist/programmer can use the Max visual programming language and NATO plug-in modules to create extremely dynamic interactive audio/video art pieces, with all kinds of real time audio and image processing effects in response to programmed simulations, midi, network, video and other input devices. It enables sending and receiving real time quicktime streams, integrating and sharing live local and globally produced content, and jamming together with other artists over the net.
Unfortunately NATO is just as expensive as Max itself (about $1000 a pop), and it also requires a Mac with lots of horsepower, so it's out of the range of most starving multimedia artists. However, her product support is astounding -- she often replies to questions about NATO within minutes, and writes code and custom modules and posts new plug-ins and patches within days. But sometimes it's hard to discern the raving ascii graphics from the product support (Max patches written out as inscrutable text, and metaphorical anti-corporate diatribes embeded with oblique references to surrealistically named functions and variables).
She is extremly verbose and hard to understand, and you have to wade through a lot of impenetrable multilingual diatribes and ascii graphics to discern what she's saying. It's like she puts out a force field of noisy bullshit to drive away the weak of heart, who don't deserve to understand what she's about.
Here are a couple of her strangely named sites / interactive art pieces -- but first: please fasten your seatbelt and put your tray table into its upright and locked position:
(Be warned: These sites will probably crash your browser if you're foolish and self-flagellating enough to use a lame version of Netscape. But I suppose that's just another aspect of the performance art. If you feel put off, left out and persecuted, then that's how it was meant to be.)
But why anyone would waste their time with a half-assed anemic language like PHP when there are real programming languages that are much better like Python, is beyond me. Ignorance, most likely.
Isn't it a shame that he got busted for copying and (EEEEUUUGH:) reading somebody else's Perl code (like licking dingleberries off a moose butt), and trying to rewrite it in PHP? When he could have just installed Zope, which is totally free, and probably already has 5 different ways of doing whatever he needed to do.
It's like stealing the designs for Fred Flinstone's rock wheels, and then trying to copy them by carving dried mud, when he should be using metal and rubber and air instead, and could have just picked up a set of good wheels for free, if he'd only known any better. Sheez, what a maroon.
-Don
I've tried it, and it worked quite well for my purposes. It's good for implementing plug-in reusable easily configured components, that are much simpler to plug in, more reusable and easier to configure than anything you can do in straight-up JavaScript.
There's a technology called "Dynamic HTML Behavior Components", that let you package up a bunch of JavaScript code in an XML file, describing its interface: properties, methods and events. And attach that object to any DHTML element, as a behavior that can respond to events, access dhtml tag attributes, web page content, expose methods and events, etc.
That DHTML Behavior interface can be implemented in any scripting language like JavaScript, VBScript, Python, Ruby, whatever, through ActiveScripting.
That's why ActiveScripting is so important and useful. It lets any language call and use components written in any other language, so you can both implement and utilise components from any language that plugs into ActiveScripting.
Plug-in behaviors are easy to attach to any dhtml element, like so:
<div style="behavior:url(piemenu.htc)"/>
You can easily pass arguments to configure the behavior through dhtml attributes, like so:
<div id="Pie" style="behavior:url(piemenu.htc)" piemenu="MyMenu" fixedradius="40" onselect="MyHandler()"/>
The component exposes properties and methods you can access from scripts on the web page, that cna be written in JavaScript, VBScript, Python or whatever. Like so:
Pie.fixedRadius = 40
Pie.DoPie(Pie.GetRootPieMenu())
And the component can access embeded "XML Data Islands" on the web page, or dynamically created by JavaScript code, or downloaded from a server, or dynamically generated from a database, or the results of evaluating and XSLT style sheet, etc. XML data islands are a great way to embed XML data on a web page, that the scripts as well as the components can access. XML is a perfect way to represent the tree structure of pie menus, as well as embedded XHTML that specifies the presentation of the pie menu items and middle. So you can configure the pie menu component on the web page by embeding an XML data island inside the element to which you attach the pie menu behavior. Like so:
<div style="behavior:url(piemenu.htc)"
id="Pie"
fixedradius="40"
onselect="HandleSelect(event)">
Click here to pop up a pie menu.
<xml>
<piemenu name="Hello World">
<html>
<B>Hello</B>, <EM>World</EM>!
</html>
<item name="Hello"/>
<item name="World"/>
</piemenu>
</xml>
</div>
My point is, that this technology saves a lot of time and effort, and makes it quite easy to implement powerful reusable modular components, that are in turn extremely easy for other people to use.
If anything in Internet Explorer is worth for Mozilla to emulate, it's the ActiveScripting and plug-in DHTML Behavior Component technology.
Stop bashing it out of ignorance, and learn about it. Then figure out how to support it in Mozilla.
Don't try to come up with something better, when you're already so far behind, and 95% of the world is already using Internet Explorer. That's why Mozilla is so far behind. They've been pissing away time trying to implement all these untested half baked ideas, instead of putting time into supporting the standards that already exists, like Microsoft has already done.
Don't believe me? Let me recap some of the promises Netscape made, but never kept, when they should have been working on standard support for DHTML, XML, XSLT, and ActiveX.
The Netscape plug-in API is trivial and useless compared to ActiveX or even the older OLE stuff. It didn't need to be as complicated as OLE, but it sure needed to be a whole lot more powerful and not as half-baked as it was.
Rewriting the browser in Java. They put a whole lot of time and effort of good people into that project, and it finally went nowhere. Netscape exployees couldn't stand working with Sun employees because they were arrogant and bickered all the time, so they couldn't get along well enough to produce anything. The project got canned.
Supporting OpenDoc. Netscape was OpenDoc's last hope. It held the promise of a real component system. More than that, OpenDoc's "killer app" was CyberDog, which was a totally beautiful component oriented web browser. (Well, a lot more than that, because of OpenDoc, but that's how they were selling it.) Of course the implications of integrating OpenDoc and Netscape were that they had to flush everything they'd done so far down the toilet and start over, possibly with CyberDog, or else from scratch. But Netscape was too arrogant to throw out what the'd done so far and take any advice from Apple. Mozilla was a huge monolithic monster that couldn't be simply broken down into a bunch of independent components. No fucking way. One or the other had to go. So after publically promising to support OpenDoc with great fanfare, and hiring the CyberDog team away from the already poor shrivled Apple, Netscape resolutely shot Old Yeller: they killed CyberDog, thus driving the last nail in the coffin of OpenDoc, and summarily fucking both Apple and IBM.
Sun observed OpenDoc's demise and the resulting fallout with the bearded delight of Osoma bin Laden watching CNN, because they wanted to promote their "100% pure" fundamentalist religion of JavaBeans (which at the time only existed as a widely announced name, and wasn't event designed yet) as the one alternative component framework to go up against ActiveX. But OpenDoc was in the way, so they danced on its grave when it died.
Then there was the time that Netscape hired a bunch of former NeXT guys, who had learned Java and decided to implement a NeXTStep-like toolkit in it. It worked really well, and looked really good, so Netscape hired those guys right up, named it "IFC" for "Internet Foundation Classes" so as to position it against MFC "Microsoft Foundation Classes", and announced that IFC was going to be the official "100% Pure Java" cross platform write once debug everywhere bla bla bla widget component toolkit for Netscape.
But the idea of another Java toolkit that wasn't vapourware spooked Sun, who was still vaporising their plans for JavaBeans and didn't want IFC taking away any of their media attention and mind share.
Sun was afraid of IFC because it had such a great name (nothing about the architecture mattered, except that it was not JavaBeans). IFC was what you got when you took the widely successful Microsoft Foundation Classes, removed the Microsoft, and replaced it with Internet instead. Yes, that kind of thinking really floats the boats of marketing people.
Sun saw IFC as a threat, as long as it was not under their control, so they called in an old favor they did Netscape, when they let them use the holy name "Java" to brand their scripting language that really didn't have anything to do with Java.
So Sun called in the "JavaScript" name favor, and Netscape turned IFC over to Sun in order to be "migrated" and "readjusted" to JavaBeans. Which really means they just disposed of the body, but stored the name away safely for later use.
Anyway, after all that, you can see why I have absolutely no faith in what the religiously anti-Microsoft zealouts come up with. Because their thinking is so clouded by their warped little models of the world, that no matter how good their technology is, they will destroy it for petty, stupid reasons.
Disclaimer: This is all my own warped and interpreted view of the world from my own perspective, as an ex-Sun-employee with an axe to grind, and other undocumented perspectives that I won't go into now, to protect my informers. Take it as fiction if you like.
The part about pie menus isn't fiction, though. You can download the free open source, documentation and demos at:
http://www.piemenu.com
The JavaScript pie menus for Internet Explorer 5.5 on Windows are at:
http://www.piemenu.com/JavaScriptPieMenus.html
And if you don't believe that pie menus are faster and more reliable than linear menus, you can prove it to yourself by playing the game "Fasteroids", and read all the source code if you don't trust me.
http://www.piemenu.com/fasteroids.html
As I said, it requires Internet Explorer 5.5 on Windows. But that was the whole point of this discussion.
-Don
Having been on the receiving end of the bug reports from Maxis quality control, I can definitely state that you have absolutely no idea what you're talking about.
-Don
http://catalog.com/hopkins/arpanet/index-large.htm l
This is the network of IMPs (Interface Message Processors) that comprised the ARPANET in 1986.
-Don
The purpose of this site is to distill useful links to reviewed information about disaster relief, how you can help, information about survivors and memorials to victims.
If you can't give blood, then give money. If you can't give money, then at least give a shit.
"The unexpected appearance of an interpreter tended to freeze the form of the language, and some of the decisions made rather lightheartedly for the ``Recursive functions ...'' paper later proved unfortunate. These included the COND notation for conditional expressions which leads to an unnecessary depth of parentheses, and the use of the number zero to denote the empty list NIL and the truth value false. Besides encouraging pornographic programming, giving a special interpretation to the address 0 has caused difficulties in all subsequent implementations."
-John McCarthy, http://www-formal.stanford.edu/jmc/history/lisp/no de3.html
First of all, it's foolish to automatically dismiss someone's opinion because you say they "like all things microsoft". Get over it. To take it even further and dismiss all GUI based interfaces, just because one of them comes from Microsoft, is completely close minded, and that kind of self-defeating attitude only helps Bill Gates take over the world. Microsoft did not get where they did by pooh-poohing good technology because it was written by somebody the choose to demonize. Second of all, GUI based software development tools have been around for a long time, at least since the 70's. Microsoft did not invent them, therefore Linux Political Correctness does not require you to hate them and reject them out of hand. The Lisp Machines from MIT, Symbolics and Xerox, and Smalltalk and Cedar from Xerox all had extremely rich, well developed graphical programming environments, many years ago. Lisp (and Python) are excellent languages for implementing and programming graphical user interfaces, meta-programming tools and integrated development environments. But C++ (and Perl) absolutely unequivocally sucks as a language design, and that's why Visual C++ and all other C++ development environments are so horribly crippled, brittle, inefficient and useless compared to their counterparts designed more than 20 years ago. It's not the GUI that's the problem, it's the language, which does not lend itself to being efficiently understood or debugged by humans or computers. Remember Saber C? Or Lucid's Emacs based C++ Energize development environment? They failed because of the ill-conceived, ambiguous design of C++, which made the problem of tracking and understanding symbolic debugging information so complex that it was too much for workstations at that time. But now that we have 1.5 Gigahertz processors with gigs more of ram and disk, we can finally run "modern" development environments like Visual C++ just about as fast as the venerable Lisp Machine development environment ran 20 years ago, but it still takes a hell of a lot more effort to understand and debug programs using C++ templates instead of Lisp macros, and it always will. The bottleneck is not in the computer, it's in your mind's capacity to take in, understand and manipulate all that information. C++ (and Perl) spend all of their "complexity pollution credits" on the syntax, and there's none left over for the programmer to apply to solving the problem. So of course the development environments have a hard time communicating and allowing you to manipulate all that information. -Don
Doug Engelbart's NSL demo is absolutely amazing, like the introduction to The Outer Limits: Do not attempt to adjust your computer screen. We control the vertical. We control the horizontal.
t reaming.mov
m ov
s Streaming.mov
s .mov
x xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Here is the classic video of Doug Engelbart demonstrating NLS, on my streaming quicktime server. It's from "All The Widgets", a video tape of user interface techniques produced by Brad Myers for the ACM SIGGRAPH Video Review (CHI'90 Special Issue #57).
Streaming version (loads quickly, allows random access, may not work through firewalls):
http://www.lushcreations.tv/Movies/AllTheWidgetsS
Non-streaming version (plays as it loads, 24 megabytes):
http://www.lushcreations.tv/Movies/AllTheWidgets.
The online video consists of some excerpts from All The Widgets (the original tape is at least an hour long and surveys all kinds of widgets, most pretty repetitive and boring). The first half of the online video consists of a bunch of pie menu demos that I developed and recorded in the 80's, followed by Doug Engelbart's NLS demo near the middle, and the credits for All The Widgets at the end.
My thoughts on the article were that it was good, but missed a whole lot of important stuff. The space wasted on fictional cave-man stories would have been better spent discussing actual early research that the article ignored.
For an excellent classic summary of many important graphical user interfaces that had a lot of influence, I highly recommend "Methodology of Window Management", Proceedings of an Alvey Workshop at Cosener's House, Abingdon, UK; FRA Hopgood, DA Duce, EVC Fielding, Kenneth Robinson, AS Williams (Eds), Springer-Verlag, (1986). No longer in print, but you might find it used or in a good library. It includes some wonderful papers about many important gui systems that weren't mentioned in the article, like James Gosling's original article on "SunDew: a distributed and extensible window system" (which Sun later renamed "NeWS", that I used to implement the pie menus shown in the video, and out of whose ashes arose a popular language called "Java").
I've published a bunch of my own user interface related demos as streaming quicktime videos on my server. Here's the front page with a link to the index. (The index is an XML file using a style sheet, which Mozilla still doesn't understand, unfortunately.)
http://www.lushcreations.tv
If you're interested in gui design, I would recommend the demo of the pie menus, architectural editing tools, and the SimAntics visual programming language in The Sims:
http://www.lushcreations.tv/Movies/TheSimsPieMenu
http://www.lushcreations.tv/Movies/TheSimsPieMenu
-Don
PS: There is still a bug in SlashDot and/or the IE textarea with the WRAP="VIRTUAL" attribute, that causes long words (like URLs) to have spaces inserted into them, so the text of the URLs above is split with unwanted spaces. The actual HREF links seem to be ok though. Here is what I mean -- the following should be 80 "x" characters, but instead comes out as 50 "x"'s, a space, and 30 more "x"'s:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Linux Today is not responsible for the content of the message below.
Maybe they should clearly label the astroturf articles written by their own editors differently:
Linux Toady is responsible for the content of the message below.
-Don
Linux Toady
Main Entry: 1 toady
Pronunciation: 'tO-dE
Function: noun
Inflected Form(s): plural toadies
Etymology: by shortening & alteration from toadeater
Date: 1826
: one who flatters in the hope of gaining favors : SYCOPHANT
synonym see PARASITE
====
-Don
Oops, somehow a space crept into that url, and I though it was just bad kerning. Here's the correct URL of Ken Perlin's talk, on my streaming QuickTime server.
http://www.lushcreations.tv/Movies/KenPerlinStream ing.mov
No, the space is back, and I am sure I didn't type it this time! So if you want to listen to the talk, please remove the space yourself, because I can't.
This looks like a bug in Explorer or Slashdot. Watch this line of 60 x's:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxx
It displays as 50 dashes, a space, and 10 more dashes. And that's the text I select in the comment preview. But in the comment editor textarea, the space isn't there, even after hitting preview.
This slashdot text area goes: <TEXTAREA WRAP="VIRTUAL" NAME="postercomment" ROWS="10" COLS="50">
What in tarnation is WRAP="VIRTUAL"? I tried to reproduce the problem by using the same html with Zope, and it doesn't have that behavior. Maybe it's a slashdot, Perl, Internet Explorer, or some combination. Sorry! Does anybody else get their long words chopped after 50 characters?
-Don
Most other academics are not as focused on such pragmatic applications of their research, but Ken Perlin serves as a great example for others to emulate. The guy has great ideas, and can really program!
http://www.kenperlin.com/
http://mrl.nyu.edu/~perlin/
http://www.lushcreations.tv/Movies/KenPerlinStream ing.mov
This is the audio of Ken Perlin's talk at the Game Developer's conference, about character animation, noise, and applications to computer gaming. His answer at the end of the talk to the question from a clueless audience member about "how does this apply to computer gaming" is hillarious (but to really appreciate it, you have to understand that he's a New Yorker giving a talk in California).
-Don
Most applications are built with standard gui toolkits, and innovation is not a design goal, so they use inefficient but traditional linear menus instead of faster but non-standard pie menus. But immersive games practically require innovative user interface design. So techniques like pie menus that have been around for a long time, but never widely used, are finally showing up in games. Only after pie menus are commonly used in games, will they find their way into the so-called "standard" user interface toolkits.
I designed and implemented the pie menus in The Sims, but they're hard coded, special purpose, and not reusable. But since then, I've implemented a free reusable general-purpose pie menu component, in JavaScript. It requires Internet Explorer 5.5, since it's implemented as a Dynamic HTML Behavior plug-in. Pie menus are specified in XML and rendered in Dynamic HTML, so they can exploit the full capabilities of web browser, and integrate easily with other technologies.
http://www.piemenu.com
I'm sorry that Netscape/Mozilla doesn't support the technologies necessary to run my JavaScript implementation of pie menus. I hope that instead of mindlessly complaining about Microsoft, somebody will take it as a challenge to enhance Mozilla to support XML data islands, generic scripting engines (so you can write scripts in any plug-in language, that can call each other and pass objects and data back and forth), full Dynamic HTML, style sheets, XML DOM and XSL support (just follow the standards like Microsoft did), as well as plug-in Dynamic HTML Behavior components (so you can easily implement your own intelligent reusable plug-in components in any scripting language).
Back to the topic of using games as a virus for innovation: I've written a simple little free game called "Fasteroids", whose user interface incorporates both pie menus and linear menus. (Pie menus have an option that makes them lay down and act like linear menus, so it's easy to compare them fairly.)
But actually, the game is really a candy-coated distributed user interface evaluation experiment, that empirically compares your selection times and error rates of pie menus versus linear menus. It shows you the resulting statistics, so you can judge for yourself how fast and reliable pie menus are for you. No need to take my word on it: you can find out for yourself exactly how much faster they are. And there's a button to report the results back to my server if you like, to share the statistics for use in a study.
http://www.piemenu.com/fasteroids.html
Please tell me if you have any problems with the software (as long as you're running the latest version of IE5.5 on Windows, otherwise I know it doesn't work.) I hope this will convince other people to use pie menus in their own toolkits, games and applications.
-Don
The Sims players can create their own character skins and objects, so people have made their own trolls and sci-fi monsters in the game anyway. But in The Sims, they have the same motivations and desires as anyone else: eating breakfast, going potty, taking a shower, having an argument, making up, flirting, going to bed...
But what can you do if you put a skin of your mom into Quake? She can run aroud shooting people, and you can shoot her, and watch her guts splatter all over the wall. Big deal.
So Dashslot, instead of arguing against your straw-man misinterpretation of the anonymous coward's statement, I ask you: Please tell us what it is you really don't like about The Sims, and how the dominant genra of Doom and Quake like games is any better.
The most common anti-Sims argument I've heard is "it's gay" and "girls like it". That's certainly a valid argument, if you're a misogynistic homophobic closet case, but most people aren't. It's funny how a silly computer game can bring haters like that out of the woodwork.
What do you have against a peer-reviewed journal? Do you prefer industry trade rags driven by advertising dollars? Or is there something about the peer-review of slashdot that scares you? To me, the Game Studies journal is extremely interesting, fills an important role, and I hope it succeeds.
-Don
-Don
Larry Wall needs to forget everything he knows, go back to CS101, and study Structure and Interpretation of Computer Programs (Abelson, Sussman and Sussman).
-Don
-Don
www.catalog.com/hopkins/text/pourne-smut.html
-Don
Sun developed and promulgated NFS, which stands for No File Security. As it was originally shipped, it was ridiculously trivial to break into NFS. When an NFS client tried to mount a file system from an NFS server, in the request the CLIENT would TELL the SERVER what its host name was, and the server would BELIEVE it, and only check it against the list of allowed hosts in /etc/exports. Whatever hostname the client CLAIMED it was, the server BELIEVED it without question or bothering to check the IP address. So if you wanted to mount any NFS file system with full read/write permissions, all you had to do was find out one of the host names in the NFS server's /etc/exports (say "doober", which was the name of Scott McNealy's workstation), and go "hostname doober ; mount securemailserver:/ /mnt", and you would have complete access to the server.
I found this out when I was a summer intern at Sun in '87. Most of the engineers at Sun knew about NFS's complete lack of security, and thought it was hillarious and convenient, and many used it to get their work done as well as to read each others email and private files. But Sun would still fire anyone who got caught, or read the wrong manager's scheming email and warned the victims about it.
Sun thought their customers should have the same convenience, so they shipped NFS with that wonderful security hole enabled by default, so anybody in the internet could guess or use tftp to get a copy of an NFS server's /etc/exports file, and mount any NFS directory from any NFS server on the Internet.
One of Sun's biggest government customers is the NSA, and I'm sure they appreciated that feature in NFS. Sun has utter contempt for most of their customers, but makes an exception for the NSA, whose ass they kiss on a regular basis (they have a big department dedicated to that onerous task).
[Disclosure: I quit my job at Sun in '91, when they told me repeat their prima facie lies to our customers about the future of NeWS.]
NFS is quite a convenient security hole, huh? That's the real meaning behind "the network is the computer" and "open systems": the computer is insecure, therefore the whole network is a wide "open system". The slogan "write once, run everywhere" should be rephrased: "Write once, there's nowhere to run".
When Scott McNealy says "get over your privacy", it's for his own profit and convenience, because the NSA told him to say it.
-Don
"Multiple dispatch is one of the most powerful and elegant features of Dylan."
It's been implemented in Perl.
It might be implemented as a Python module, without sullying the language itself.
Multiple Dispatch as Dispatch on Tuples
Go to town!
-Don
Mature AI programming platforms like the various Lisp Machines and Common Lisp have first rate interactive code development / debugging systems. This is because of the dynamic, reflective, interactive nature of the Lisp. C++ is nothing like that, so it has taken many years for tools like Microsoft Visual C++ to catch up with what Lisp Machines had in the 80's, but using millions of times more resources and not running any faster. Since Python is like Lisp in many ways, what kind of interactive visual Python code development and debugging tools are being developed and do you expect to see in the future? (Zope is a great example, but where do you see it headed?)
-Don
You might as well ask Mother Theresa what she thinks about Howard Stern.
-Don
Years ago I got a call from some sad minion at SGI whose job it was to track down all the web sites publishing the famous 1993 "Software Usability II" memo, and whine at them to remove it. He said I should remove it from my web site, because it was an internal memo that wasn't officially released. I explained to him that it had "already seen fairly broad network distribution", having been widely published on risks-digest, and forwarded all around the internet because it was so hillariously entertaining. Why it's even assigned reading in university operating systems courses! It's a great thing that computer science students should be required to read this "wonderful record of what goes wrong with large software projects".
-Don
Reminds me of the old joke (that foretold the fate of Kaleida and Taligent):
Q: What do you get when you cross Apple and IBM?
A: IBM.
-Don
Antiorp has developed a vast suite of real time video processing plug-ins called "NATO" for the visual programming language "Max" which runs on the PowerPC Macintosh. She's implemented her own Quicktime streaming RTP video broadcaster (in spite of the fact that Apple's own Quicktime documentation says that the api is undocumented and that Sorenson Video Broadcaster is the "only game in town").
An artist/programmer can use the Max visual programming language and NATO plug-in modules to create extremely dynamic interactive audio/video art pieces, with all kinds of real time audio and image processing effects in response to programmed simulations, midi, network, video and other input devices. It enables sending and receiving real time quicktime streams, integrating and sharing live local and globally produced content, and jamming together with other artists over the net.
Unfortunately NATO is just as expensive as Max itself (about $1000 a pop), and it also requires a Mac with lots of horsepower, so it's out of the range of most starving multimedia artists. However, her product support is astounding -- she often replies to questions about NATO within minutes, and writes code and custom modules and posts new plug-ins and patches within days. But sometimes it's hard to discern the raving ascii graphics from the product support (Max patches written out as inscrutable text, and metaphorical anti-corporate diatribes embeded with oblique references to surrealistically named functions and variables).
She is extremly verbose and hard to understand, and you have to wade through a lot of impenetrable multilingual diatribes and ascii graphics to discern what she's saying. It's like she puts out a force field of noisy bullshit to drive away the weak of heart, who don't deserve to understand what she's about.
Here are a couple of her strangely named sites / interactive art pieces -- but first: please fasten your seatbelt and put your tray table into its upright and locked position:
http://www.eusocial.com/nato.0+55+3d
(My favorite part is the Amazonian "just 1 klik" order system you have to go through to buy her products.)
http://www.0100101110101101.org
http://www.m9ndfukc.com
http://www.www.god-emil.dk
(Be warned: These sites will probably crash your browser if you're foolish and self-flagellating enough to use a lame version of Netscape. But I suppose that's just another aspect of the performance art. If you feel put off, left out and persecuted, then that's how it was meant to be.)
-Don