Slashdot Mirror


User: nellardo

nellardo's activity in the archive.

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

Comments · 126

  1. Latency, Aliasing, and Blur on Motion-Blurred Mouse Pointers? · · Score: 2
    As others have noted, "mouse trails" are not motion blur, even faded. The temporal aliasing of the mouse cursor is due to sampling - in theory, high enough sampling goes above the Nyquist frequency (the frequency at which humans stop perceiving a series of discrete events as discrete and start perceiving the series as continuous). While the Nyquist frequency is often cited as around 10Hz, it varies for different applications. Clearly, for motion video, it's closer to 100Hz than 10 (that's why TVs run at 60Hz, for example (that's fields, not frames)).

    Now, I don't know of any studies off-hand about rapid objects moving across the screen (though it seems like a good one for someone to do - hmmmm), but it seems reasonable that the Nyquist freq for things like mouse cursor movement is at least correlated to speed. Which means, the bigger the screen, the faster the acceleration, the more you would need to sample. If you've got a 1000 pixel screen, and acceleration is set to get the mouse from one side to the other in one second, then a sampling rate of 100Hz produces 10 pixel jumps. As mouse cursors are often smaller than 10 pixels (e.g., the I beam), I would not be surprised if people perceived discrete jumps.

    This is why you need real motion blur. Real motion blur would treat the samples as points on a presumed-continuous curve. Once you've reconstructed the curve, then go back and take the section of the curve covered by the time interval you are drawing, and draw a polygon covering the entire range of motion. Enhancements would include fades along the length, beyond the range covered by the sample interview. This is computationally a pain in the ass.

    The problem is complicated by latency - the more time you spend computing this stuff, the older the mouse position is when you finally draw it. Get too far behind (typically 100 milliseconds) and the user no longer feels in control.

    For some related stuff in 3D, focusing on how these problems get even uglier in a distributed environment, see m y paper on using blur and transparency to give the user added information about latency and such like.

  2. Check out Adobe FrameMaker... on Technical Documentation With Automated Publishing? · · Score: 3
    While it is a commercial, closed-source product, Adobe FrameMaker is rather good at this sort of thing - widely used by technical writers (e.g., it's one of the formats O'Reilly accepts manuscripts in). There's a version of it that produces SGML, FrameMaker+SGML, that comes with DocBook already configured.

    It imports text in a variety of formats, including Word, so you can deal with free-lance writers. It is WYSIWYG, with options to view markup as well. Tables, graphics (imports there, too), and the best math formatting I've seen short of LyX/TeX - it will even evaluate mathematical expressions (Mathematica it ain't, but I don't know of any other non-emacsoid text editor/page layout program that can do matrix math and integrals)!

    Automatic TOC, index and the like. Rock solid for simply huge documents, supports multi-file documents too. I've used it for an 800 page textbook, from original writing to "camera ready" output.

    And the file format is exactly the same on Macintosh, WinDoze, and Unix. That's right - set up Samba, NetATalk, and NFS all pointing to the same directory, and any platform can edit the same documents (with its own cross-platform file locking, too).

    N.B. I don't work for Adobe, nor have stock - I just happily use the product.

  3. Flexibility - It's a Good Thing on The Docking Station Meets The MP3 Player · · Score: 2
    I'm very happy to see someone coming out with such a flexible device - most consumer electronics companies prefer releasing several different "models", all with their own cryptic product number, rather than letting the consumer tinker with it herself.

    I know why they do it - cheaper to deal with customer support when you know you have only a fixed set of things to deal with. But if you can do customer support for WinDoze, you ought to be able to handle swapping a few hard drives around :-)

    Still prefer the portable Jukebox one ThinkGeek sells, but I live in Manhattan - no car. Very glad to see more hard-disk devices anyway - I remember telling Sony engineers to use hard disks for music download years ago, and the response was "We don't make hard disks. We make MD." :-(

  4. Re:Strangers raising your kids! on Do Techies Care For Daycare? · · Score: 2
    You know, I told myself "Self, don't answer - they're just flamebait." But I can't resist.... Be warned....
    How? By letting a stranger teach and instill values for half the child's waking hours!
    As a divorced dad, well, my daughter's mother seems like something of a stranger these days. Should I take my daughter away from her mother? How about her mother's boyfriend? Or my girlfriend (supposing for a moment that I had one :-( )

    I'm sure you think mom doesn't constitute a stranger, but frankly, she's not the same person I married - for one thing, she's making a big deal about being Catholic, something she never did before. I don't especially want my daughter raised Catholic. What do you suggest I do?

    As for day care staff, others on this thread have pointed out that, in fact, day care staff may be more qualified to raise the kid that the parent. Blood relationship does not confer knowledge of what a child needs. When we brought her home from the hospital when she was born, both I and my then-wife had the same reaction - "I can't believe they let us keep her. What do we do now?" - and we'd read everything we could get our hands on and been to no less than three series of classes.

    They can't decide anything if you haven't taught them the decision making process! Remember - kids don't start out knowing how to decide.
    Mmmm. Sounds like you don't have a young child - a two-year-old most definitely knows how to make decisions. You have heard of the "terrible twos"? The "fearsome fours" might even be worse - the kid (at least, my kid) can argue with you with some fair amount of linguistic skill. She can explain cause and effect, previous history on related situations, emotions, all going to explaining how she reached a particular decision - where to go for brunch, what game to play, why she does or doesn't like a particular video, person, toy, place, you name it.

    Young babies routinely perform "experiments" to figure out how the world works. They'll do something, watch the results, then do it again to see if the same thing happens. I know some scientists that could learn something about decision-making from babies.

    How about you teaching them what you've learned in ~30 years, rather than letting them figure things out with ~30 _months_ of experience?
    Duh, you're right, I never teach my daughter anything. Putting aside what I see as a veiled insult, how about letting the daycare professional, with ~30 years of experience with kids do some of that teaching? Teaching is a skill, and I know just enough about it (having written a textbook, fer hemos's sake) to know that it is hard and I do not have any special gift for it.
    They need a stable base to begin from BEFORE moving on to "new environments".
    Frankly, bullshit. Children are complete learning sponges. You can throw them in a completely new environment and they'll start to learn. My ex wife is not technically a native speaker of English - she's Korean, born in Seoul, came to the US at age 2. You'd never know it now to talk to her. In fact, she can't speak Korean anymore (though she could when she came to the US). When my mother speaks French to her grand-daughter, my daughter soaks it up and starts talking back in French.

    This is not limited to language - my daughter does the same kind of thing whatever is thrown at her (except maybe vegetables :-) Give her a new toy, a new book, new art supplies, a new mode of transportation (she hasn't been on a Concorde (yet) but has dealt with car, bicycle, boat, airplane, train, subway, bus, shoulders, stroller, and probably some I've forgotten), a new animal, a new city, anything.

    Children naturally CRAVE stability, as everything is new and they need a solid place to start before exploring - and you wish to deny them even the comfort of mommy & daddy for half of each day!
    If a child "craves" stability, it is because that child has only ever had "stability." Mommy and Daddy may be more familiar, but beyond that, there's no "magic sense" there that Mommy and Daddy are somehow different. Yes, kids look up to their parents - their parents are a major part of their life. Providing them with safe places to get some of that security makes them less dependent, more able to be their own person, more capable of coping with both joy and tragedy (spirits forfend Mommy or Daddy get hit by a car).

    In today's world, I'd rather have my daughter exposed to as many different experiences as possible.

    "Specialization is in-breeding. It's slow death."
    -- Major Kusanagi

  5. Re:Watch for hypocrisy on Do Techies Care For Daycare? · · Score: 5
    I highly recommend that anyone who would call for IT companies (or any company, for that matter) to provide daycare while they are also calling for parental responsibility instead of government censorship think twice about what they are saying.
    Okay. I'm a parent. My daughter (4 years old) is in daycare full time. Any form of government censorship is repugnant to me.

    So let's look at this again:

    By giving your children, which are supposed to be the most important thing in your life, to daycare, you are explicitly opting out of taking parental responsibility.
    I'm sorry - this just doesn't make sense. How have I opted out of parental responsibility by choosing how my daughter will be cared for? I have taken responsibility for deciding what kind of environment she is in. I talk with her every day about what happened at "school". Any problems she had, anything especially fun she did, anything especially significant she accomplished (like when she counted to 102). Where have I opted out of parental responsibility? Just because I am not personally around her every moment of every day? I've got news for you - that kind of hovering is smothering. You get children that can't decide anything for themselves.

    Raising a child is not about producing a clone of yourself. Raising a child is about helping a human being reach his or her full potential. Exposing a child to new environments is letting the child learn. Your child will never learn to walk if you catch them before they fall.

  6. Designing Curricula - a Tightrope on College: Are They Training Engineers Or Coders? · · Score: 2
    When I was still at Brown's Computer Science department, I spent a lot of time working on designing the early stages of the curriculum. The tension between teaching the students the science as opposed to the programming was a frequent and recurring topic of debate.

    Most members of the department were in favor of the science-oriented approach (algorithms, language doesn't matter, etc.). However, the founder of the department (and the "power behind the chair"), despite being in favor of the science, pointed out that the department survived on enrollments. More enrollments == more money from the university. So the students have to want to take the early courses. And the most frequently cited motivation?

    "I want to learn to program so I can get a k3wl summer job."

    So you have to teach coding, or your enrollments go down, and the department withers. Hopefully, you can throw in enough of the science to keep the people that want the science, and enough entertainment to keep any of the coders scared away by the science (the founder, Andy van Dam, always taught the first semester programming course, and the class ran pretty much like a circus - Halloween saw Andy dressed up as a witch).

    So it's a delicate balance.

  7. Re:Oh, but if only... on 3Dwm Updates · · Score: 4
    I seem to remember some people having gotten a Nintendo Power Glove connected and working with a PC as an input device
    The first example I remember of that was Randy Pausch's group, then at UVa, in a paper called "Virtual Reality on $10 a day," in the UIST conference. It was a cute (and effective) demonstration of how researchers were pursuing expensive toys and not actually addressing the issues. Rather than a half a mil in SGI and one-off things, Randy put together a complete, head-tracked, head-mounted, glove-input (using the Nintendo glove), 3D virtual environment, for less than $10000, in 1994. The most expensive component was the magnetic tracker for about $6000. It was monoscopic, black-and-white, and wireframe, but it did 30 HHz, using SPHIGS (the simplified educational version of PHIGS used by Foley, van Dam, Feiner, Hughes).

    Unfortunately, glove interfaces (even with a more expensive and more accurate DataGlove) have two problems: fatigue and lack of haptics.

    Re fatigue, how long can you mouse around on the desk for? (hint - how long can you play quake at one sitting?) Now try swinging your arm, unsupported, in the air for that amount of time - that's called calisthenics.

    Re haptics, a great deal of control comes from kinesthetic feedback (why you can touch your finger tips on opposite hands together with your eyes closed). When using something like a mouse, the inability to move in certain directions gives you a great deal of information. A mouse is relatively crude at this, but a pressure-sensitive tablet is better and an actual paintbrush is better still. Now pick up a virtual paintbrush (hint - you can't feel it in your fingers) and try to paint with it (hint - you can't tell when it touches the canvas). Researchers have tried substituting sound (a noise when you run into something), and "ghosting" to show where the virtual object actually is (because of physical constraints) and where you put it (i.e., straight through the canvas).

    This has, in part, I think, led to the recent research popularity of augmented reality and "virtual desktops".

  8. Re:big deal on 3Dwm Updates · · Score: 2
    Actually, I believe 4dwm was simply SGI's name for their own slightly modified version of mwm - at least whenever I was running 4dwm it looked like mwm with uglier widgets.

    Or were you trying to be funny?

  9. Re:I have heard this Idea before. on Candle · · Score: 2
    Sounds like these "Memes" are religions..... This reminds me a lot of the theme of Snow Crash where the human language works as a programming language and viruses are passed from person to person. In that book they are refered to as namb-shums
    Indeed. I'd also compare Rudy Rucker's "Live Robots" series, especially Freeware, where entire sentiences are represented in cosmic waves - someone figures out how to get them into the flexible computing goo that, with the addition of certain molds, becomes intelligent itself. The cosmic waves are superimposed on the "Moldies", wiping out their old personalities. This even gives one of the Moldies a certain kind of prescience - it was overlaid with a sentience that understood time as multidimensional and multidirectional, so it could "see" what was going to happen.

    As for "memes as religions", books on memetics usually use religions as examples of numerous memes, meme complexes, self-propogation, destructive memes, and all sorts of other stuff. Most propaganda works the same way. As for a literal physical virus, it might be helpful but, to my thinking, the scarier thing is memes as they exist today - they do control minds (religious fanatics? Republicrats?) and they do propagate (AOL Time Warner? The Demoblican National Party?).

    As for the ideas of free will, I'd be interested in how this book compares to Clockwork Orange - both the book and the film. Are you really "good" if you have no choice in the matter? In Clockwork Orange, for Burgess, this is tied up in religion. But, interestingly enough in a memetics context, the answer to the question is "no" if you run with the standard Christian meme complex/religion - "God gave us free will so we could choose to love Him."

    Sounds like an interesting read one way or the other.

  10. Re:An Example of Why I Won't Vote for Nader on When The FBI Knocks, A First-Person Account · · Score: 2

    First off, in keeping this in the context of this case, let me clarify part of my point, lest more Anonymous Cowards wrongly construe that this "assclown" is a "facist" [sic]. I'm not suggesting taking a personal stand against the FBI and gunning them down as they come through the door. Obviously, that's suicide. The feds can bring much greater force to bear than a citizen can. And that's the problem! And what the Second Amendment was meant to address. Had arms rights never been curtailed to this point, even with a warrant, feds would be hesitant to go storming in - too dangerous to personal skin. Instead, the feds know they can throw their weight around, because they are the ones with overwhelming force.

    That's funny, I'm pretty sure we have exactly as much right to bear arms as the Second Amendment claims.

    I'll disagree with that (clearly, since I started this subthread). My rights to bear arms have certainly been curtailed - the list of weapons I can't freely carry includes such things as guns with more than a certain (small) size magazine, blades over a certain size, and anything that might be construed as police-grade (i.e., military quality). If that isn't "infringement", what is?

    You claim that we have as much as the Second Amendment permits. So, following your lead, let's look at the wording:

    The Second Amendment: A well regulated militia, being necessary to the security of a free state, the right of the people to keep and bear arms, shall not be infringed. (emphasis mine)

    First off, there's substantial documentation in Jefferson's writing that the militia clause was a concession to people wanting more of a central government. But you might say, "well, we should go by the words in the Amendment, not what the author said elsewhere." I'm sure there's a few literary criticism and history professors that would disagree with that, but you seem to want to take a literal interpretation of the words.

    The main clause of this statement is "The right of the people to keep and bear arms shall not be infringed." The militia part is a subordinate clause. In other words, you could legitimately rephrase this amendment as "The right of the people to keep and bear arms shall not be infringed, because a well regulated militia is necessary to the security of a free state." The subordinate clause is providing an explanation for the main clause, and so does not affect the meaning of the main clause. We could even use a parenthetical or footnote: "The right of the people to keep and bear arms shall not be infringed (a well regulated militia is neccessary to the security of a free state)." The amendment is not about militias. It is about weapons and the right of the people to have access to them.

    So if you're in the army, or you're in a state-supported militia, you have the right to bear arms. If you're not, and you're not supporting the state's security and you're not training so that you can support the state's militia, you don't.

    Go back and read up on what constituted the "militia" at the time of the writing. It was not the Continental Army of George Washington. It was people, roused out to defend their homes with the weapons they had on hand.

  11. An Example of Why I Won't Vote for Nader on When The FBI Knocks, A First-Person Account · · Score: 2

    Now, really, like SJ Games, like the "War on Drugs", this is a great example of how the government is getting out of hand with its control of the people. No, he won't get his computers or data back, even if he never gets charged. The Feds just harassed and put down a non-conformist, one of "those hackers."

    So what the hell does this have to do with Nader and politics? Second Amendment. If people had as much right to bear arms as the Second Amendment claimed, warrant or no the Feds would be a lot more skittish about busting in if any random citizen had firepower. Reading Jefferson, that was a significant part of the intent of the 2nd - an armed populace not only protects the nation but protects itself from the government and keeps it from getting out of line.

  12. Store Locator! on Second Generation Aibo Specs Officially Released · · Score: 2
    Maybe I missed it earlier, but what surprised me most was the beginning of retail sales at brick-n-mortar stores. Looks like only Sony Style and Sharper Image for now (at least, in the U.S.), but that's a big change from the online-only sales in the past.

    Model numbers even. Now we can expect "upgrades" with new version numbers and minor pointless configuration changes, just like stereos and TVs (and WinDoze :-). Dr. Doi (the head of the D-21 lab at Sony HQ) must be sitting pretty. Not quite Kutaragi (of Playstation fame) levels of prestige, but still doing quite well.

    And they haven't even released the coolest stuff yet (and no, I can't talk about it - even though I don't work there any more, NDAs still apply).

    ----------------

  13. Strong Language - Posting DeCSS as Assassination! on DVD/DeCSS: MPAA Wins In New York · · Score: 5
    I found Kaplan's opinion strongly worded, to say the least. He starts out by equating programming as speech to political assassination as speech.

    I understand the limitations on "calls to action" like incitement to crime or yelling fire in a crowded theater. But if that's the basis for eliminating the First Amendment as protecting DeCSS, there's a contradiction between that and the protection that Loompanics books get, which include guidelines on credit fraud, making and using explosives, manufacturing illegal drugs, escaping from jail, etc. Posting DeCSS isn't an incitement to commit crime anymore than posting a description of how to make a submachine gun is - what the user does with the information is the user's responsibility, not the information's.

  14. VA Linux for price, components on Who Is The Best Vender For Rackmount Unix Systems? · · Score: 2
    In my own comparison shopping, VA Linux seems to have the best prices for a given configuration. They seem to beat Penguin Computing by maybe $100 (and often for a slightly better config at that price). They're always several hundred ahead of the "big boys" like Dell and Compaq (even without the $1000 "WinNT tax"). Generally, they seem to have the best configurations available earliest, too.

    The Fullon 2x2's are solid, stable, and well-built. Easy to set up, too. Turn it on, give it a root password, tell it where to find the gateway and DNS and what its own IP is (or tell it about a DHCP server) and it's running. Takes five minutes - more time to get the thing out of the box.

    I'm also quite fond of the 1U high Network Engines boxes - VA has recently started reselling those. You can stack them 40 per rack.

    Anyway, IMNSHO, YMMV, etc.

  15. BTDTGTTS - others did this before on Techno Jacket · · Score: 3
    Aside from research efforts like the Media Lab at MIT, there have been other products developed and released. About two years ago, Sony displayed a vest in this vein in the windows of their Madison Avenue store - designed by Diane von Furstenberg no less, in a pale blue that coordinated with VAIO purple and brushed steel, pockets sized for a cell phone, an MD player, and a PCG-C1X laptop (the one with a camera). It looked a lot dressier than these jackets.

    Some smaller companies have been making jackets in the same vein, often out of Kevlar (now all it needs is thermoptic camouflage (okay, so I was watching Ghost in the Shell last night)).

    And of course you can buy vests specifically designed for the many wearable computers out there.

    Cool to see more minds thinking about it, though. Maybe someone will get it right eventually.

  16. Bravo to the HOWTO author on Lego + Linux HOWTO · · Score: 3
    A cool HOWTO. Clearly it could use some fleshing out, but that's more a "You're going in the right direction" rather than "You didn't do enough". Writing doc is one of those thankless tasks, but I'm glad someone is doing it.

    Now if only there was an environment that provided something outside the Algol family. Oh wait, of course, I can use Forth. I RPN like not. :-) A nice functional language (Haskell being my current fave) would be well-suited to the MindStorms system. Pure functional PLs handle data flow so cleanly, and the flow from sensors to actuators is exactly that. Six built-in primitives for the three sensors and the three actuators.

    A simple Braitenberg-style mouse:

    main = union (connect sensor1 actuator2) (connect sensor2 actuator1)
    Simple, clear, understandable. I like it.

  17. Re:data security on @Home Stops Allowing VPNs · · Score: 4
    The only "good" reason I can think of for them to bring in this change is that they don't like not being able to sniff all the information on your/their connections.
    Even this doesn't make much sense to me. If they start sniffing everything, they open themselves up to huge liability problems (of course, they can and do hire lots of lawyers to deal with this). It's the difference between being a common carrier like a telco (who is not responsible for what is said over their wires) and a newspaper (who is responsible for everything said in their pages). Slashdot skims this line - Slashdot is liable for the stories, but not for the comments (since they never get deleted or edited, Slashdot can reasonably claim common carrier status) (ObDisclaimer - I ain't no steeekin' Lawyer)
    The only bad reason I can think of for them to bring in this change is that they don't like people using their service because that means they need more real bandwidth....
    No, I think they have higher rates for @Work. If you can't put a LAN on @Home, you can't really use it in a business environment. So you're forced to use the more expensive commercial service, rather than the residential one. In some sense, this is a very crude way of doing usage-based metering (about as much as minimum age requirements "guarantee" responsibility in drinking, smoking, voting, or driving). IMNSHO, these kinds of policies are going to eventually change as home networks become more and more prevalent. No one will sit still for paying more for a cable modem connection just because their "set-top box" happens to be made by Sony and thus has a 1394 connection that happens to be capable of running TCP/IP. I mean, really. That would be like charging someone different phone rates based on having a y-jack for their phone.

  18. Re:Troll? on OpenGL vs. Direct3D? · · Score: 2
    The next version of Direct3D (v4) will be OpenGL compatible. They (Microsoft) are also working with the OpenGL consortium to generate an improved standard (GL3) that will incorporate many of MSoft's inovations into OpenGL whilst preserving cross-platform compatibility.
    References, please? Maybe I'm just out of the loop, but you'd think either of these announcements would be of a magnitude to be shouted far and wide, on the Slashdot homepage, at least.
    SGI and Microsoft had committed to merging OpenGL and Direct3D a couple years back. Several of the top engineers from Cosmo Software stayed at SGI rather than go to Platinum Software when Platinum bought Cosmo from SGI. At the time, it was widlely heralded in the gaming community, and to a lesser extent, in the CAD/CAM and FX communities - there would only be one API to program for (this was when even Wired was running stories like the one of the Apple logo wrapped in barbed wire titled "Pray.").

    However, this was also before SGI started to really tank. And before Microsoft got slammed by the DOJ (causing everyone to want to be as far away from Bill as possible, even Bill, who tied Ballmer to the DOJ stake).

    Since then, SGI has open-sourced Performer, Inventor, and, most recently (and most surprisingly) a sample implementation of OpenGL itself. As SGI has never really understood software above the level of microcode, open-sourcing those made sense. But it also would have fairly kiboshed any efforts to unify with Direct3D - Microsoft and open source? Yeah, right.

    There may be more current scuttlebutt than that, but I haven't made the last two SIGGRAPHs, so haven't had a chance to talk to all the geeks that would have been in the thick of this (Paul Strauss, Rikk Carey, Gavin Bell, etc.)

  19. Re:The classic obfuscated contest (hilarious) on 5th Annual Obfuscated Perl Contest · · Score: 5
    My favorite from the Obfuscated C Contest was the one that played Conway's life in the root window of your X display.

    What made it obfuscated?

    • It didn't use Xlib. It opened a socket and wrote the X protocol directly.
    • It was about 1024 characters long.
    • It ran like a bat out of hell - each pixel was a cell (so typical workstation monitor == one million cells), and it appeared to do about five or ten generations a second!
    I loved just leaving that puppy running.... It started out with a random sampling of cells, and watching gliders spring up and soar across the screen....

    ObPerl: And people have suggested using this language as a first programming language? Eep.

  20. Re:It depends a LOT on hardware on What Is The Future Of Programming Languages? · · Score: 3
    What I mean is this: Microcode allows you to soft-code each "instruction" in the instruction set. There is therefore nothing to stop you making those as high-level as you like.
    That's true. But keep in mind that microcode existed before RISC instruction sets. You could program in a high-level byte-code, but almost no one ever did (the most recent exception that I'm aware of is SGI's propensity for microcoding the hell out of their graphics accelerators to run GL real fast). I think it was the VAX that had an assembly-level instruction for "find the roots of this polynomial". Essentially no one programmed in assembly (except kernel hackers, who didn't usually need polynomial roots....) but no compiler was smart enough to figure out when it could use that instruction. Even if the instruction had a library call interface, people that really cared about the accuracy of their roots would want to choose their own algorithm (and if they weren't coding in assembly, there was no way they were going to touch microcode).
    What I'm suggesting is that the compiler does NOT compile the "program" to suit the processor(s), but change the processors to suit the program.
    At one level, there's no theoretical difference - do you transform A to use B or B to use A? If the program and processor are both correct, and the transformers are both correct then this kind of transform should be associative through composition - i.e., (trans A) -> B == A -> (trans' B). On another level, transforming machine types (in the Turing sense of machine) can change the run-time, sometimes exponentially.
    In this case, what you'd do is, for each object, is replace the microcode for each opcode on the corresponding processor with the compiled code for a given method.
    Realistically, what's the difference here between what you've proposed and what presently happens? RISC instruction sets are pretty close to microcode already - that's intentional, and how they were designed, for just the kinds of purposes you propose. Register windows on modern processors were in fact designed for object-oriented programming (see David Ungar's Ph. D. thesis on a processor designed for Smalltalk - Ungar is now a researcher at Sun and one of the pioneers in just-in-time compilation).
    eg: Let's say you have a class "btree", with methods for creating a new root node, checking if a tree is empty, adding a node, deleting a node, and returning the value of a node. You program these as your new opcodes for your processor. You now have a RISC instruction set, with 5 opcodes and a pseudo-register for the value of the node. (You actually have a further opcode for selecting an instance.)
    Self's bytecodes are in fact much like this. Self has eight bytecodes - three bits. If I remember correctly:
    • Send a message. This used five bits to index into a table of message names.
    • Put a message string in the table.
    • Extend identifier. This is used to have more than a five bit index, either for putting in the message or retreiving it.
    • Non-local return.
    • Primitive assign. Used five bits for the slot name.
    and a couple others I dont recall - non-local return probably, and possibly one to push "self" onto a stack.
    The concept of a program no longer exists, in this model. As your "program" is now just a series of opcodes, spread over a number of processors, ALL you have, in the way of a program, is an initial call to one opcode on one processor. Nothing else has any meaning.....
    I suggest you look into the Agents programming language, by Gul Agha. This is exactly what it is. Even simpler, really - each agent (processor) can send and receive messages, and has one register worth of local storage and a script describing what messages to send when other messages are received.
  21. Testing on Mir berfore ISS makes sense on Tethers Will Be Tested To Boost, Deorbit Payloads · · Score: 2

    Russia may in fact be diverting ISS resources to Mir (as the IEEE article suggests to the point of virtually stating it as fact) but putting a tether on Mir before putting one on ISS makes lots of sense. Russia was ready to let Mir turn into a crispy critter in the atmosphere, so if the tether doesn't work so well, c'est la vie.

    But if the tether does work, then NASA for once gets something back from industry - a cheap way to keep the muy expensive ISS from becoming muy caliente. The theory behind government-funded research (like NASA) is that eventually, the research becomes disseminated to industry. The taxes that payed for the research in the first place end up benefitting the entire economy (TCP/IP and the Internet would be a sterling example of that). It's much more unusual for industry to provide something new and useful to government without a big fat government contract (i.e., not just overpriced versions of widely available products).

  22. Transmeta Had Them At PC Expo (with 802!) on Linux Based Webpad · · Score: 3

    At PC Expo this past June, Transmeta had web pads running Linux. And they used 802.11 for wireless networking. No cords. They expected something like 8 to 10 hours of running time (with a color LCD screen, no less).

    However, the case had a industrial prototype feel to it - no logo or insignia of any sort visible anywhere. I asked the Transmeta booth-babe (who talked quite knowledgably about the pad and what was in it - she sounded like a real geek employee, not your typical "Hi I want to be an actress!" show floor model) about it, and she explained that the product hadn't been announced yet, but that the expectation was that pricing would be very low, because it would come with a ISP or service contract of some sort.

  23. What I thought - the comic come to life on Slashdot Meets X-Men · · Score: 4

    Okay, Katz is right - the X-Men really speaks to alienated geeks. 'Nuff said.

    Alright, so I can't resist picking on Katz just a bit more. I'm weak. Flame me. Jonjon claims Congress is the most ineffectual organization on the planet. Au contraire, mon frere! Congress isn't ineffectual enough. Try this equation on for size: Mutant registration = drug user registration. "Oh but we don't register drug users - we just throw them in prison for ten years!" (let's not even start on the proposals that were made when AIDS first appeared) Leaving aside the question of which is worse, I'd say that felon status constitutes a form of registration. True to Singer's filmography (and his last film was Apt Pupil, Jon, which I'm sure about a million flaming penguins have told you by now), X-Men manages to be a wonderfully entertaining movie with a deeply hidden subtext of trenchant commentary on complex issues. Usual Suspects - the nature of reality, of story-telling, even of crime. Apt Pupil - the nature of evil, who's the truly evil one in that movie? The Nazi? Or the boy who provokes him (and more)?

    Alright. Enough on Katz.

    What impressed me the most was how the movie presented the world of the X-Men. It didn't try to develop all the characters - Singer knew (as he has said in interviews) that he couldn't do justice to them all. So he took two of the strongest ones (Dr. X and Magneto) and gave them to top-flight actors. Then he used two of the most appealing ones to draw the audience in - Wolverine (for the fanboys) and Rogue (for the teen girls and for the grown-ups - she has always struck me as one of the most tragic characters - her high-school kiss and the boy's unfortunate coma may have been told only once in the comics, but it stuck with me ever after). Wolverine he gave to a good actor who's unknown in the US - like Superman (and unlike Batman), the unknown face makes it easier to suspend disbelief (imagine if George Clooney played Wolverine.... ugh). And Rogue, the tragic character, he gives to a young Oscar-winning actress, who's attractive as all hell, but has been too young until recently to be seen as anything but a girl. Brilliant casting.

    The plot at least makes some amount of sense (for a comic book, at least). Magneto in the comics would occasionally fall prey to bad writers and try to conquer the world. But his rhetoric matched the kinds of things we heard in the movie, and his plot fits that rhetoric well. There's a reason for the four main characters to be interacting. There's a reason for these teams of mutants to be fighting.

    All the while, it kept a comic-book tone without succumbing to the gloom of Burton's Bat or the primary colors of Superman or the (shudder) whatever of "Batman and Robin." And part of that tone was that it didn't take itself too seriously. Seeing Toad pull a Darth Maul movie (alas, I was the only one in the theater that seemed to get it) was perfect. Wolverine's dialog had just that right edge of rudeness without turning him into a complete asshole - it was in some ways more than the comics (I don't think he's ever called anyone a "dick" in the comics) but that's because you can do more in a movie (even a PG-13) than in a Code-Approved comic book.

    I recommend it. Even if you were never a fan, you or someone you know read the books.

    "You actually wear this outside?"

    "What else should we wear? Yellow spandex?"

  24. We Have X Because Sun Wanted to Keep Da Goodies! on X Windows Must Die! · · Score: 5

    About fifteen years ago, Sun pulled a classic move akin to the blunder Apple made in not licensing the MacOS. Sun had a beautiful system called "NeWS" (for "Networked Windowing System"). It used PostScript for the basic rendering model, but added interaction, threads (!), object-oriented programming, and networking. Windows were defined by PostScript clipping paths, which meant you could have a window shaped like a text string if you wanted (years before X added the Shape extension). It was more powerful than Display PostScript (which, I think, came along a little later), and like the Berlin Project, widgets could be run server-side. You'd send PostScript code (which could contain objects, threads, etc.) down a socket, and the server would execute it. Like eXene, which runs under Concurrent ML, you could, conceptually, at least, make an object in its own thread that was a widget. No callbacks - just a while (1) loop (well, a tail-recursvie function in eXene - CML is functional).

    But Sun wanted to keep full control of NeWS to itself (just like with Java nowadays). It pissed off so many people in the community that everybody else got together behind X, knowing full well that X was much worse. As it was once explained to me by Andy van Dam, the industry settled on a steam locomotive because Sun didn't want to share their bullet train.

    NeWS of course died a slow and lingering death. For a while, it was included as an extension to Sun's Openwin X server. It was fun - you could scribble all over the root window with PostScript with a couple of lines of code. Eventually, I think Sun dropped NeWS entirely because no one used it.

    An old story.....

  25. Linda Not a Silver Bullet on JavaSpaces Principles, Patterns and Practice · · Score: 3

    Having both worked with Linda variants before and critiqued their designs, I have a couple of comments I'd make before rushing out to learn JavaSpaces.

    While some classes of distributed programming problems are trivial to implement in Linda-likes, others are at best no easier and may even be harder. Some examples of things that are easier:

    • A work queue or a distributed server farm. Spawn a bunch of processes, and have them all take tasks off of one common queue. So long as tasks are sufficiently complex that network isn't the bounding factor, you can add and drop processes willy nilly and everything still works. You can even do some load balancing - if a process looks at its task and says "Ugh, too big" and can split it into two tasks, it can keep one and enqueue the other.
    • A semaphore controlling access to a shared resource. Simply use one slot with a dummy value. Any process that wants the shared resource must first remove the dummy value. When done with the resource, it must put it back. Because of the way slots work, any other process that wants the resource waits until the dummy value gets put back.

    However, both of these are fraught with the usual perils of distributed programming. Deadlocking a Linda-like system is trivial:

    • Make processes A and B and slots a and b.
    • Proc A uses slot a to send stuff to proc B.
    • Proc B uses slot b to send stuff to proc A.
    • Proc A reads from slot b (blocking until B puts something there).
    • Proc B reads from slot a (blocking similarly).
    "So don't make those kinds of loops! Duh!" But cycles are difficult to avoid (unless you're using a pure (and I mean pure) functional language). Consider a real-world system and think about how easy it might be for such a cycle to accidently spring up among a network of a dozen processes, each with their own complex flow control. Consider the following simple mistakes for the work queue and semaphore above:
    • If tasks depend on results from other tasks, then you lose parallelism.
    • Forget to put the value back, or forget to take it in the first place.
    And of course, "good programmers will avoid those pitfalls." Uh huh. BTDT. "Good programmers don't need revision control." Heard that, too.

    Programming in Linda-likes is a lot like programming in Self. If Self slots were queues (and Self is so flexible, you can make them queues if you want), it would be a Linda-like. Self makes some things really easy, but it's the old flexibility problem - get enough rope, hang yourself six ways til Sunday.