Slashdot Mirror


User: SimHacker

SimHacker's activity in the archive.

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

Comments · 1,231

  1. Notes from Will Wright's Spore demo on Will Wright's Next Game: Spore · · Score: 2, Informative
    I took notes at Will Wright's talk about Spore, cleaned them up and filled in some more details from talking with him about it and seeing earlier prototypes over the years it's been in development.

    The Future of Content:
    What I learned about content from the Sims.
    ...and why it's driven me to procedural methods.
    ...And what I now plan to do with them.
    Will Wright
    Game Developers Conference
    3/11/2005

    Wired asked for an illustration to print in the magazine, anything he wanted. So he made a diagram of Spore that Wired published, but he didn't tell them what it was. The design docs for Spore have been out in Wired Magazine for a year now. (It's in the Feb 2004 issue of Wired.)

    Here's a link to the web site where you can find out What Kind of Care Bear Are You?

    -Don

  2. Re:Perl and work on Randal Schwartz's Perls of Wisdom · · Score: 1
    The thought of Perl avoiding useful language constructs in the name of "language purity" is like fighting for peace, fucking for virginity, or Anne Nicole Smith going on a low-carb diet so she can shovel handfuls of Crisco into her mouth.

    -Don

  3. Re:Perl doesn't kill readability... on Randal Schwartz's Perls of Wisdom · · Score: 1
    "Perl has several features which people mistake for non-readability"

    If people "mistake" the Perl features for non-readability, then aren't the features actually causing people to make mistakes? Are you saying that people are just mistaken that they're confused by Perl, and actually they understand it perfectly, but they just don't realize it?

    How can you write this stuff without realizing what it really means? Are you just a Python programmer making fun of Perl programmers by pretending to evangleize Perl?

    -Don

  4. Re:Reading Perl code? on Randal Schwartz's Perls of Wisdom · · Score: 2, Insightful
    "Don't get me wrong. Common LISP is on my list of cool languages to learn more about right below Python and Ruby."

    Please, work your way a little bit further down that "list of cool languages to learn more about", before telling people they should use Perl.

  5. Re:Reading Perl code? on Randal Schwartz's Perls of Wisdom · · Score: 1

    Oh. My. God. This guy is such a great example of why Perl programmers just don't get how horrible the language they're evangelizing is. Dude: it's ok to use it privately, just don't try to convince other people to make the same mistake.

  6. Re:Python Photoshop plugin for Mac? on Adobe Unveils Open Source Library · · Score: 1
    You're right that Maya has a much more deeply integrated scripting language. The reason it's much more powerful is that it was was designed and built in from the start, which was the right thing do do, so much of the system is written MEL (Maya Extension Language) itself.

    The idea isn't new: This is also the case with Emacs of course, which is why it's so powerful. But Emacs lacks a way to plug in new code written in other languages.

    Unfortunately Kinetix (now Discrete) didn't understand jack-shit about scripting languages until John Wainwright explained it to them by implementing MaxScript and showing them what it could do. Before that, Kinetix thought it would be a good idea to script 3D Studio Max with Java, which was just foolish. Java may be a lot of things, but a scripting language it's not.

    When I wrote the character animation system for The Sims, I originally developed a 3D Studio Max exporter plug-in in C++, using the same code that ran in the game to create and export content. But I ran up against the limitations of the inflexable exporter plug-in interface, and it was impossible to make a decent user interface to configuring the many parameters, drive it from a database, use it to batch export more than once file at once, or check the integrity of the content and provide feedback to the artist.

    Then a new version of Max with MaxScript came along, that had an SDK for developing plug-in MaxScript language extensions. So I rewrote the exporter as a MaxScript extension, then it was easy to script a user interface dialog so the artists could configure and control the exporter, integrate it with the database and source code control system, perform batch exports, and provide detailed feedback, warnings and error messages. Maxis used it to develop content for the original game, 7 expansion packs, and The Sims Online.

    As a programming language, MaxScript is a lot like Kaleida's ScriptX, which is a lot like Dylan, Scheme, CLOS and Lisp. It's no co-incidence, because John Wainwright was the cheif architect of ScriptX as well as MaxScript. We worked together at Kaleida, where I programmed in ScriptX. Since I liked ScriptX, I also liked MaxScript. It has its quirks and limitations, but the important thing about it was not the syntax, but that it was easy to plug code into it, and extend the language.

    In the ideal world, Kinetix should have had something like that from day one, but they didn't, and 3D Studio Max's quality and ability still suffers in comparison to Maya, which was done right from day one.

    In the real world of developing content for virtual worlds, it's absolutely necessary to integrate new and pre-existing code and libraries into tools like 3D Studio Max, and script them with a high level open-ended language. It's not enought to have a close-ended toy language like JavaScript. It requires a real extensible language like Python or MaxScript, so programmers can plug their own binary code and modules into the scripting language itself, instead of being bound to inflexible single purpose plug-in interfaces.

    -Don

  7. Re:Where are the previous open source projects? on Adobe Unveils Open Source Library · · Score: 1
    I think Grant Munsey is a brilliant programmer, because I used and read the code he wrote to interface Python to AfterEffects, and it was a lot of work, very well planned and executed. I'm very sorry about his health problems, and also disappointed that Adobe didn't have the sense to carry on his work, or keep it around.

    He had the right idea, but he was the shining exception to the rule that Adobe doesn't know jack-shit about extension languages, and for years has squandered the opportunity to develop Photoshop, AfterEffects and their other products into the truly "useful things" that they could have been. It's a good thing that a third party developer was inspired to take up the ball.

    -Don

  8. Re:Adobe's docking tab window patent is invalid. on Adobe Unveils Open Source Library · · Score: 1
    Here's the description of tab windows from the PSIBER paper:

    5.2. Tab Windows The objects on the deck are displayed in windows with labeled tabs sticking out of them, showing the data type of the object. You can move an object around by grabbing its tab with the mouse and dragging it. You can perform direct stack manipulation, pushing it onto stack by dragging its tab onto the spike, and changing its place on the stack by dragging it up and down the spike. It implements a mutant form of "Snap-dragging", that constrains non-vertical movement when an object is snapped onto the stack, but allows you to pop it off by pulling it far enough away or lifting it off the top. [Bier, Snap-dragging] The menu that pops up over the tab lets you do things to the whole window, like changing view characteristics, moving the tab around, repainting or recomputing the layout, and printing the view.

    -Don

  9. Adobe's docking tab window patent is invalid. on Adobe Unveils Open Source Library · · Score: 2, Informative
    Adobe's docking tabbed window patent is totally bogus, and it should be invalidated.

    Here are some pictures of dockable tab windows in a visual PostScript debugger for NeWS called "PSIBER (for PostScript Interactive Bug Eradication Routines)", that I wrote at the University of Maryland Human Computer Interaction Lab in 1989. And also Tab Windows with Pie Menus for The NeWS Toolkit that I wrote at Sun in 1990.

    What's ironic is that Adobe wrote PostScript, so I corresponded with Adobe employees about PSIBER when I was writing it, even sending them early copies of the source code. Understandably they were very interested in a visual PostScript debugger. So Adobe certainly knew about prior art of docking tabbed windows since 1989.

    -Don

  10. Adobe's fishing for suckers to sue! on Adobe Unveils Open Source Library · · Score: 1
    I think you've hit the nail on the head. Adobe is probably releasing this user interface library as open source, so people will use it and Adobe can sue them for violating their user interface patents!

    -Don

  11. Re:Python Photoshop plugin for Mac? on Adobe Unveils Open Source Library · · Score: 1
    Only a fanatical Perl programmer would try to make such a lame dig at Python, and be afraid to use his own name.

    Oh come on now. Once you get over the horrible shock of being forced to indent your code so it's readable, what's wrong with Python?

    -Don

  12. Sounds like the Laszlo language that runs on Flash on Adobe Unveils Open Source Library · · Score: 1
    Adam and Eve sound like they have some good ideas in common with Laszlo, which is an open source, XML-native, declarative, constraint based, event driven, cross platform user interface development platform, which generates rich web applications that run on the Flash player.

    -Don

  13. Re:Python Photoshop plugin for Mac? on Adobe Unveils Open Source Library · · Score: 2, Insightful
    Funny you should ask. Adobe always had a problem with scripting languages, which has held them far back from their potential. They've finally adopted JavaScript after all these years, but they should have been pioneering scripting languages years before that, not catching up to the rest of the industry years later.

    Adobe never took the open source Python scripting extension their own employee developed seriously enough, nor did they continue to develop and support it, and now they've white-washed it from their open source web site. But they certainly should have given it more consideration: It was a brilliant idea.

    Photoshop and AfterEffects would have been vastly more useful if they had well designed built-in scripting languages supporting binary plug-in interfaces, the way 3D Studio Max has MaxScript, Gimp has Scheme, or Poser and Paint Shop Pro have Python.

    Profound Effects, a third party AfterEffects plug-in developer, has created an amazing plug-in called "Useful Things", which true to its name enables you to easily script AfterEffects in Python to do all kinds of useful things.

    Adobe has always left the scripting languages to third party developers, but they should have been doing it themselves to achieve a much deeper intergration than is possible through third-party plug-in interfaces.

    3D Studio Max originally didn't have its own scripting language, but then Lyric, a third party 3D Studio Max plug-in developer, implemented a plug-in called "MaxScript", which enabled developers to easily script 3D Studio Max. The important thing about MaxScript is that it had its own plug-in interface, which enabled developers to plug their own primitives into the scripting language! MaxScript was so powerful that Kinetix (now known as Discrete) bought MaxScript and built it into Max, integrating it as deeply as it should have been in the first place.

    The ability to plug external binary code into an application's scripting language is vitally important. On Windows, that's traditionally achieved through ActiveX/OLE, which you can use in any of the Windows scripting languages like JScript and VBScript. And you can plug the scripting language into your application and expose your application's API to it throught ActiveX/OLE.

    But cross platform applications like Photoshop can't use ActiveX/OLE (or decided not to -- OLE and ActiveX were ported to the Mac and Unix years ago, but weren't widely used or supported).

    Python is an excellent choice for a cross platform extensible scripting language. It's a much more serious language and it's much easier to extend that JavaScript, and there is a huge library of existing modules to draw from.

    -Don

  14. Adobe ported Photoshop to Sun years ago on Adobe Unveils Open Source Library · · Score: 3, Interesting
    I still have my original copy of Photoshop 2.5 for Sun Sparcstation (from around 1993, registration number PUW250S7100427-380), which uses the ever-popular Flex license manager.

    Adobe used the Quorum Latitude Macintosh application porting libraries to port Photoshop to Unix and X-Windows.

    The result of using a complex Mac emulation library that mapped quirky Mac toolbox calls onto the byzantine X-Windows graphics model and shoddy Motif/X Toolkit API was an absolutely horrible, ugly, buggy, unusable version of Photoshop. I could quickly cause it to core dump with three clicks of the magnifying glass tool.

    Here is a case study of porting Adobe Photoshop to Windows and Unix. It describes some of the reasons Adobe decided to use the Macapp emulation approach for Unix, instead of properly rewriting their code to be platform independent.

    Quorum had been around for a while. When I started porting SimCity to Unix in 1991, I evaluated Quarum Latitude, and decided that it was not worth using because my goal was to make a better version of SimCity than the one that ran on the Mac, not a crippled one. For example, I implemented multi-player support via multiple X11 connections to different servers at once, which would have been impossible if the program though it was running on a Macintosh.

    -Don

  15. Where are the previous open source projects? on Adobe Unveils Open Source Library · · Score: 4, Interesting
    For several years, Adobe used to have several other open source projects on their old web site, that have now been removed from their current web site, http://www.opensource.adobe.com. The missing projects include:

    Simulated Partial Specialization for non-compliant C++ compilers. Allows a user to obtain many of the benefits of partial specialization of C++ templates without direct compiler support.

    Python action plug-in for Adobe Photoshop. Allows a user to write Photoshop action plug-ins using Python. Has Python interfaces to all the actions APIs.

    Python plug-in for Adobe Illustrator. An Illustrator plug-in adapter that allows users to access the C level API from Python

    Python plug-in for Adobe After Effects. An After Effects plug-in that allows users to access the C level API from Python.

    Python module for Perforce SCM. A C coded Python module that provides access to all the calls in the Perforce source code management system SDK.

    -Don

  16. "theorem provers" on Gosling Claims Huge Security Hole in .NET · · Score: 1
    He's just parroting what Gosling has always said about Java, since the time it was named Live Oak. Gosling just likes to write and think of programs as "theorem provers".

    Years before Java, James Gosling wrote a "combination macro-preprocessor and theorem prover" named Ace, which was used to compile the rasterop code in X11/NeWS.

    NeWS supported all 2^4 rasterop codes, but some were MUCH more commonly used than others. So Craig Taylor and James Gosling came up with a way to write huge pyramids of parameterized CPP macros, that could generate small slow code for uncommon rasterops, and big unwrapped fast code for common rasterops and their permutations (like scrolling up and down).

    Eventlly it got out of hand, so for X11/NeWS, Gosling wrote a new C parse tree based macro processor called "ACE", that was more of a "theorem prover" (isn't everything?) than just dumb string replacement like CPP. It could estimate the number of instructions and the speed of the code, and you could advise it how to make the trade-offs in deciding between "fast" and "small" branches of macro expansions. You could write a 2-d raster loop macro several different ways, with alternative ways to expand it, and ACE would decide based on how fast you wanted each raterop variation to run.

    Unfortunately, Java never had a macro facility, let alone a "theorem prover" like ACE. Of couse Lisp macros are more powerful, general purpose, cleaner and better intergrated than ACE. Unfortunately, Java's C-like syntax makes it impossible to design a decent macro facility. So instead of having indecent CPP macros like C, Java has no macros at all.

    The lack of a built-in macro processing facility is one of Java's major weaknesses, which is one reason that Java simply can't hold a candle to Lisp.

    -Don

  17. Gosling Emacs security holes + spyware + malware! on Gosling Claims Huge Security Hole in .NET · · Score: 3, Funny

    Gosling Emacs (written by none other than James Gosling) has many HUGE security holes that you can pilot an aircraft carrier through.

    Emacs has a notorious "shell" facility that can actually run a shell and send it arbitrary commands!!!

    In fact, there's even a built-in scripting langauge called "Mocklisp" that enables hackers and viruses to totally reprogram the behavior of the editor (and it looks like Lisp, but without any of those confusing lexical closures and list processing functions).

    Gosling Emacs is actually spyware, because it has a hidden "keyboard macro" facility that can spy on every character you type! Emacs is also malware, because at any point it can instantly undo any editing changes you've made!

    One of the biggest most offensive mistakes is that James Gosling has not fixed these huge security holes in Emacs, after all these years. In fact, many of the security holes have been reimplemented in another notorious piece of communist spyware called Gnu Emacs!

    All Emacs should be banned!!!

    -Don

  18. Re:M$ on Apple Explains How to Run X11 on Mac OS X · · Score: 1
    The great Guy Harris wrote:
    No, whoever packaged ximian-connector for Fink spelled Microsoft as M$. Apple just cut-and-pasted the output from the fink command.
    Whoever it was at Apple who cut-and-pasted the output from the fink command obviously wasn't running X-Windows themselves, because X-Windows interapplication cut-and-paste has never worked reliably and never will, thanks to ICCCM.

    Who needs X-Windows when Emacs is still a much more reliable window system? Cut-and-paste in emacs has always worked perfectly, with full undo/redo and a kill ring! An Emacs shell with fully editable text beats X-Term any day.

    X-Windows can sit on it and rotate its cut buffers.

    -Don

  19. MacOS X-Windows on Apple Explains How to Run X11 on Mac OS X · · Score: 1
    The best term to annoy X-Windows pedants is MacOS X-Windows.

    -Don

  20. Xanadu--some initial reactions (from 1999) on Xanadu: The Forgotten Hypertext · · Score: 1
    Here's some email I sent to Dave Winer in 1999 about my initial reactions to Xanadu going Open Source, which he asked me to publish on his proto-blog.

    Author: Don Hopkins
    Posted: 8/27/1999; 9:50:10 PM
    Topic: Xanadu--some initial reactions

    I sent this to Dave and he insisted I post it, but I'm not sure it will fit, so I'm posting it in parts... I suppose Xanadu would solve all these problems, but hey we're stuck with the World Wide Web today, so you're all going to have to SUFFER!!! Condolences in advance.

    -Don

    From: Hopkins, Don <DHopkins@maxis.com>
    To: <dave@scripting.com>
    Sent: Wednesday, August 25, 1999 7:59 PM
    Subject: RE: Ted Nelson Returns

    Sheez. You don't actually believe anybody will be able to do anything useful with all that source code, do you? Take a look at the code. It's mostly uncommented glue gluing glue to glue. Nothing reusable there.

    Have you gotten it running? The documentation included was not very helpful. Is there a web page that tells me how to run Xanadu? Did you have to install Python, and run it in a tty window?

    What would be much more useful, would be some well written design documents and port-mortems, comparisons with current technologies like DHTML, XML, XLink, XPath, HyTime, XSL, etc, and proposals for extending current technologies and using them to capture the good ideas of Xanadu.

    Has Xanadu been used to document its own source code? How does it compare to, say, the browseable cross-referenced mozilla source code? Or Knuth's classic Literate Programming work with TeX?

    Most of the stuff that's going on with XML is much more down-to-earth, up-to-date and interesting.

    A simple, reusable library like Jim Clark's Expat XML parser gets me a lot closer to my goal, than all that hot air about grandiose theories that have never been tested in the real world.

    -Don

    From: Dave Winer <dave@userland.com>
    Sent: Wednesday, August 25, 1999 8:06 PM
    To: Hopkins, Don
    Subject: Re: Ted Nelson Returns

    I agree with you, but let them have a little bit of sunshine. Ted Nelson was a big influence on me, and for that I am grateful. Dave

    From: Hopkins, Don <DHopkins@maxis.com>
    To: 'Dave Winer' <dave@userland.com>
    Sent: Wednesday, August 25, 1999 8:58 PM
    Subject: RE: Ted Nelson Returns

    I suppose they deserve all the attention they can get. It's just disheartening how the open source cheerleaders are ooohing and aaahing about it without seeing it for what it is. It makes me worry about them...

    Last time I saw Ted Nelson talk (a few years ago at Ted Selker's NPUC workshop at IBM Almaden), he was quite bitter, but he didn't have anything positive to contribute. He talked about how he invented everything before anyone else, but everyone thought he was crazy, and how the world wide web totally sucks, but it's not his fault, if only they would have listened to him. And he verbally attacked a nice guy from Netscape (Martin Haeberli -- Paul's brother) for lame reasons, when there were plenty of other perfectly valid things to rag the poor guy about.

    Don't get me wrong -- I've got my own old worn-out copy of the double sided Dream Machines / Computer Lib, as well as Literary Machines, which I enjoyed and found very inspiring. I first met the Xanadu guys some time ago in the 80's, when they were showing off Xanadu at the MIT AI lab.

    I was a "random turist" high school kid visiting the AI lab on a pilgrimage. That was when I first met Hugh Daniel: this energetic excited big hairy hippie guy in a Xanadu baseball cap with wings, who I worked with later, hacking NeWS. Hugh and I worked together for two different companies porting NeWS to the Mac.

    I "got" the hypertext demo they were showing (presumably the same code they've finally released -- that they were running on an Ann Arbor Ambassador, of course). I thought Xanadu was neat and important, but an obvious idea that had been around in

  21. Diebold Voting Machine for The Sims on EA Considering Sims TV Show · · Score: 1
    According to the rumor I heard, Diebold will make the interactive TV voting software that allows viewers to elect what The Sims will do next on TV!

    -Don

  22. Re:"GIMP is also not meant to be like Photoshop" on Paint.NET: The Anti-GIMP? · · Score: 0, Troll
    You got it right: They're only shooting for mediocrity. That's why it's so embarassing when anyone compares GIMP to Photoshop, thus the taboo against it.

    There's also a Macho element in the GIMP developers' rejection of easy, accessible user interfaces. Their attitude is that they are Macho programmers who don't need or even want GIMP to be easy to use, because GIMP is not intented for sissy wimpy wooses.

    Perl programmers have exactly the same emperor-has-nice-clothes attitude when faced with the inscrutability of their favorite language.

    -Don

  23. Re:MONO? on Paint.NET: The Anti-GIMP? · · Score: 1
    Why did Sun leave Linux and Mac and OS/2 out of the loop? Learn your history.

    They may have been targeting the two most popular server and desktop OSs at the time, but they SAID that Java was "cross platform", which was not true.

    Remember Sun's big lie, "Write Once Run Anywhere"? Sun specifically claimed that Java ran "Everywhere", not "the two most popular platforms".

    -Don

  24. What studies have you done to back up "500%"? on Paint.NET: The Anti-GIMP? · · Score: 0, Flamebait
    And where did you get that "500% more efficient than Photoshop" number from? Sounds like you're onto something.

    Have you published the results of your usability studies in a peer reviewed journal so the rest of us can read them and try to reproduce your results?

    Or are you just pulling the number out of your ass, and bullshitting your head off?

    The emperor has no clothes, and you're totally blind to that fact, going on and on about how well dressed he is.

    Yet another brainwashed fanatic does no good for the cause, only harms its credibility.

    -Don

  25. Re:MONO? on Paint.NET: The Anti-GIMP? · · Score: 1
    "Sun _made_ Java run on multiple platforms from the start and didn't do any features that favor Sun's platform." -AstroDrabb

    Bzzzt. Wrong. According to Sun's view of the world, "cross platform" means it runs on Solaris and Windows. It took years before a usable port of Java arrived on the Mac.

    -Don