User:Which Linden/Office Hours/2009 Jan 29

From Second Life Wiki
Jump to: navigation, search
  • [11:04] Saijanai Kuhn:  ;the abilities of 1990s NeXT were ground breaking. This is NeXT dfor the 21st Cnetury. THey've "done it again"
  • [11:04] Which Linden: Raise da roof!
  • [11:04] Saijanai Kuhn: hey which, playing with the iPHone SDK
  • [11:05] Morgaine Dinova: Hiya Which :-)
  • [11:05] Which Linden: Hey Sai, do you have an iPhone version of SL yet?
  • [11:05] Which Linden: Morning Morgaine!
  • [11:05] Saijanai Kuhn: that's what I'm researching. Looks completely doable, though would have to dubm down the 3D graphics a good bit
  • [11:06] Saijanai Kuhn: did you ever play with NeXT Which?
  • [11:06] Which Linden: Yeah the draw distance would be 1 foot or something
  • [11:06] Which Linden: I did not play with NeXT, the best I did was to find an old Cube which my friends ground down for magnesium to set alight
  • [11:06] Saijanai Kuhn: which, has hardware accelerated 3D using the portable OpenGL
  • [11:07] Which Linden: It's only got like 128 mb of ram and a 400 mhz processor
  • [11:07] Saijanai Kuhn: iPHone? several GB IIRC
  • [11:07] Morgaine Dinova: Which: lol @ magnesium :-)
  • [11:07] Saijanai Kuhn: its a proprietary implementation of freeBSD
  • [11:08] Saijanai Kuhn: downloaded the helloworld app, compiled, and it lauched a working iphone simulator (guessing I can't make phone calls on it though)
  • [11:08] Which Linden: the iphone has several gigs of disk, but only a little bit of RAM
  • [11:09] Saijanai Kuhn: prifiler works with the simulator or you can redirect it to the actual device for accurate timing
  • [11:09] Saijanai Kuhn: not sure about that... checking
  • [11:09] Morgaine Dinova: Sai: still missing what's got you all excited, try and explain for us non-Apple, non-iPhone, non-NeXT folks ;-)
  • [11:09] Which Linden: it's totally possible to hook up C++ modules to objective-c so it would be possible to reuse things like llmessage
  • [11:10] Saijanai Kuhn: its only got 76ish MG or RAM but apparently nicely optimized VM handling
  • [11:11] Morgaine Dinova: Making tea while Sai jumps up and down ;-)))
  • [11:11] Saijanai Kuhn: Morgaine, NeXT pioneered IDEs 18 years ago. They pretty much invented the concept of a GUI builder and graphical programmer
  • [11:11] Which Linden: wow, that's even less than I thought
  • [11:11] Saijanai Kuhn: apparently it keeps the graphics mem separate.
  • [11:11] Which Linden: really, NeXT did that? people did all their coding in emacs previously?
  • [11:11] Saijanai Kuhn: BUT, ive seen some pretty nice Doom level games running on it
  • [11:12] Which Linden: still does all his coding in emacs
  • [11:13] Saijanai Kuhn: Which John Cormack of id did the original Doom prototyping on a NeXT when Apple bought NeXT, comrack spent several months of his own time porting X-Windows in order to support his "favoriate programming tools"
  • [11:13] Which Linden:  :-O
  • [11:14] Saijanai Kuhn: the whole SDK has the famous Jobs OCD RDF feel to it. DOes for programming what the Mac did for GUIs
  • [11:14] Saijanai Kuhn: just plain slick
  • [11:15] Which Linden: nice, too bad XCode isn't that slick
  • [11:15] Saijanai Kuhn: eh, the optimization isn't as good as it could be, but the're moving away from gcc with the next version, I've heard. COuldn't do really fancy stuff due to the GPL license
  • [11:16] Which Linden: IDEs seem like the one case where the user is going to be so nerdy and spend so much time with it that usability concerns should be governed by expert-user metrics
  • [11:16] Morgaine Dinova: Sounds like the RDF is strong hereabouts ;-)
  • [11:16] Saijanai Kuhn:  :-)
  • [11:17] Saijanai Kuhn: used to get in public debates with the NeXT graphic guru at Apple. Recalls time the NeXT guy and Adobe "Cheif Scientist" ganged up on him on the adviocacy.mac newsgroup
  • [11:18] Saijanai Kuhn: was laughing hysterically. They kept on telling me I was nuts. Which was why two Fortune 500 egineers came online in an advoacy newsgroup: to argue with a nut
  • [11:18] Morgaine Dinova: What was the dispute?
  • [11:18] Saijanai Kuhn: lots of corporate politics playing out behind the scenes
  • [11:18] Saijanai Kuhn: Ah Apple's 2D graphics vs Display Postscri[t
  • [11:19] Saijanai Kuhn: NeXT invented DPS so they decided to use that instead of Apple's Poscript Killer graphics lib
  • [11:20] Saijanai Kuhn: was doing stuff 15 years ago that Adobe stil hasn't caught up with like non-opaque printing of vectors, text and images
  • [11:20] Which Linden: Ah, postscript. It's hard for us to recall in this modern era that it used to be quite contentious. Now it's just sort of a common interchange language
  • [11:21] Morgaine Dinova: And we're still stuck in prehistory now with X11
  • [11:21] Saijanai Kuhn: and pisspoor at that
  • [11:22] Saijanai Kuhn: QuickDraw GX was Aple's deliberate PostScript killer. Meant to compete directly and win. Adobe got it killed in exchange for helping jobs take over apple
  • [11:22] Morgaine Dinova: It's complaining about decorations though, when the basis of computer programming itself is flawed, so "Meh".
  • [11:22] Which Linden: Incidentally, has anyone else been bothered by people who say that multicore programming won't have "arrived" until it looks just like procedural programming?
  • [11:22] Saijanai Kuhn: shrugs. in the 90's NeXT was too RAM intensive to be useable outside workstations. Now you can get a version on a smartphone
  • [11:24] Saijanai Kuhn: I think that's the goal of the Snow Leopard update from Apple. Optimize multi-core programming in black box libraries that the programmer doesn't need to worry about
  • [11:24] Morgaine Dinova: Which: I'm not bothered by the comments of institutionalized inmates ;-)
  • [11:25] Which Linden: I look at people who say stuff like that about making multicore programming "more natural" by making it look more iterative, and I think "don't you guys realize that procedural programming is a completely different paradigm than most people are used to, and that programmers only get it after years of training? Shouldn't multicore programming allow us to develop more natural ways of programming?"
  • [11:25] Morgaine Dinova: Which: I think you may be saying the same as I've been saying for a decade now, depending on your definition of "natural". :-) Explain
  • [11:26] Which Linden: Erlang is not a good example of being easy to program, but things like Processing are, and those things are designed to be parallel from the start
  • [11:26] Saijanai Kuhn: it may, eventually. Look at Quartz Composer IDE. Lets you mix CPU and GPU modules seamlessly
  • [11:26] Which Linden: Morgaine: yes, I've definitely been influenced by that dijkstra essay you passed along a while ago
  • [11:26] Which Linden: I think the very languages that we use for parallel processing should be different than C or whatever
  • [11:27] Morgaine Dinova: Oh, hehe, that's a good one, yeah. Browse all Dijkstra's archive, he was an amazing person, like Feynman.
  • [11:27] Which Linden: I don't claim to know what those languages look like, only that they must exist, and it will be possible to program in them as easily, or more easily, than with current programming languages
  • [11:28] Saijanai Kuhn: [1]
  • [11:28] Which Linden: It's hard to think of dijkstra as someone who lived fairly recently. His ideas are timeless.
  • [11:28] Morgaine Dinova: But I go further than just the choice of programming form, Which. I think that "natural" means something entirely different in the context of humans.
  • [11:28] Saijanai Kuhn: glance at that webpage, morgaine. Should be possible to extend it to multi-core programming rather than just GPU/CPU
  • [11:30] Which Linden: Sai : hm yes, that's definitely a step in that direction
  • [11:30] Saijanai Kuhn: those boxes can be nested btw
  • [11:31] Which Linden: Though for whatever reason I think that any programming-by-flow-chart is doomed to fail, maybe someday someone will actually get it right
  • [11:31] Saijanai Kuhn: so you can have hierachies
  • [11:31] Morgaine Dinova: My premise is this: humans are impossibly ill-suited to the task of programming computers at all. The essential skill required in programming (which I've been doing forever) is manipulation of the multiple (with very large N) elements of state, behaviour, and interface, with extreme precision. And that is something that we as humans cannot do. Therefore we're on the wrong path entirely in trying to do it. Computer programming, while great fun in the same way as chess, is something that not we but computers should be doing.
  • [11:32] Morgaine Dinova: Parallel programming just takes the "level of impossibility" a stage further :-)
  • [11:32] Which Linden: Hm, the thing that's hard for me about programming is that you're only modifying one tiny state primitive at any one time, and it's hard to predict the emergent effects of lots of tiny modifications
  • [11:33] Morgaine Dinova: This is why I call the current period the "Dark Ages of Computing" ... we're currently trying to transmute lead into gold, and finding it hard. ;-)))
  • [11:33] Which Linden: I'd much prefer something that allows me to specify larger outcomes and handles the microstate changes necessary. We may be kind of talking about the same thing
  • [11:33] Morgaine Dinova: We'll exit the Dark Ages when we stop trying to do something that is impossible for us, and leave it to machines.
  • [11:34] Morgaine Dinova: Yes, exactly: human-direction of programming done by machines .... very loose from our end, because we simply cannot cope with the complexity.
  • [11:35] Saijanai Kuhn: Which talk to Zero about QC. He's used it a bit for his Terraformer app for SL
  • [11:35] Saijanai Kuhn: Bulldozer or whatever its called
  • [11:35] Which Linden: Ha ha, but then we have to instruct the machines how to work on our behalf, and that is, itself, impossible
  • [11:35] Morgaine Dinova: No, we can never instruct, we can only hint
  • [11:35] Morgaine Dinova: That's the key difference.
  • [11:36] Morgaine Dinova: It's not a matter of raising the level of abstraction at which we program ... if we have to do it precisely and the machines to obey, then we're suck.
  • [11:36] Morgaine Dinova: sunk*
  • [11:36] Which Linden: I am indeed really curious to see what comes out of snow leopard. I expect it to just be evolutionary changes, some library functions and somethings sped up
  • [11:37] Which Linden: Morgaine: I was just pointing out that whatever level of abstraction we insert must, itself, be programmed using lower levels of abstraction, which humans have a hard time doing
  • [11:38] Morgaine Dinova: Which is why we cannot "program" (specify with precision) at any level of abstraction at all.
  • [11:38] Which Linden: It's also worth entertaining the notion that some of the problems we face (especially systems problems) are just hard, in the mathematical sense, and that we might never cross any particular hurdle in solving them, just provide slight improvements
  • [11:39] Saijanai Kuhn: somma bitch. The iPhone simulator has a an internect connection
  • [11:40] Saijanai Kuhn: I really CAN port pyogp to this thing without buying an iPhone
  • [11:40] Morgaine Dinova: Indeed, they are beyond our ability to specify with precision, and that's the whole reason for the "software crisis". People are looking for a magic bullet for us to fire ... they don't realize that the problem is intrinsic to ourselves, our total inability to handle the requirements of the programming task.,
  • [11:40] Which Linden: yeah, you totally can sai
  • [11:40] Which Linden: Some people do understand computers, though, otherwise they wouldn't exist
  • [11:41] Which Linden: And by understand I mean in the Githzerai sense of knowing
  • [11:41] Which Linden: is so nerdy
  • [11:42] Morgaine Dinova: No, nobody fully understands any non-trivial computer system or program. It's simply not possible for us, not even our "Grand Masters". All we understand are the basic flows and relationships, not the full state explosion.
  • [11:42] Morgaine Dinova: If people could do that, programs would have no bugs.
  • [11:43] Which Linden: I dunno, perhaps perfection is physically unattainable
  • [11:43] Morgaine Dinova: The number of things we can grasp simultaneously is severely limited, totally out of proportion to the number of elements in any program.
  • [11:44] Which Linden: Ah, but programs themselves cannot grasp very many things simultaneously either
  • [11:44] Morgaine Dinova: But perfection in programming *IS* physically attainable by computers themselves. Just not by us.
  • [11:45] Morgaine Dinova: Sure they can, they're perfect up to their memory limits, hardware failures excepted.
  • [11:45] Which Linden: What if it's not attainable by computers themselves except in trivial cases?
  • [11:46] Morgaine Dinova: The state explosion isn't that huge to be beyond the capabilities of current comuting machinery. It's just so huge as to be beyond our human capability.
  • [11:46] Which Linden: Do you have any examples of anyone doing anythign close to what you are talking about?
  • [11:47] Morgaine Dinova: Nope. The world hasn't realized it yet.
  • [11:47] Morgaine Dinova: Not the first time that the cleverest people in humanity have been deluded ;-)
  • [11:48] Which Linden: Well certainly
  • [11:48] Morgaine Dinova: There have of course been many attempts at automated programming, but they've been scuppered by (mainly) people saying "Screw this, I can do a better job by hand".
  • [11:49] Which Linden: And the fact that none of us here really knows what the true solution even looks like indicates that it's a very hard problem indeed
  • [11:49] Which Linden: That microsoft guy, forgot his name, is working on automated programming
  • [11:49] Morgaine Dinova: Which misess the point that people can't do a better job when the problem becomes complex.
  • [11:50] Saijanai Kuhn: there's always Koza's eveolutionary programming
  • [11:50] Morgaine Dinova: I'm not a blogger, or I'd have a Dark Ages of Computing site up, hehe.
  • [11:51] Saijanai Kuhn: Korza?
  • [11:51] Morgaine Dinova: Looking him up
  • [11:51] Which Linden: [2]
  • [11:51] Morgaine Dinova: [3]
  • [11:52] Saijanai Kuhn: [4]
  • [11:52] Which Linden: YES!!! 1000 Pentium II Beowulf cluster!
  • [11:54] Saijanai Kuhn: have you looked at the Breve screen saver?
  • [11:54] Saijanai Kuhn: [5]
  • [11:54] Morgaine Dinova: Looking
  • [11:55] Morgaine Dinova: Oh, cute.
  • [11:55] Saijanai Kuhn: tends ot be very stupid creatures. No feedback just random motion and a single fitness measure (net distance from starting point)
  • [11:55] Which Linden: "A new idea is patentable only if there is what the courts have called an “illogical step” (i.e., a logically unjustified step). The required illogic distinguishes the proposed invention from that which is readily deducible from what is already known."
  • [11:56] Which Linden: Oh, breve looks cool
  • [11:56] Which Linden: I'd mess around with that
  • [11:56] Saijanai Kuhn: that's a silly definition. There's very few innovations that aren't logical in hindsight
  • [11:56] Morgaine Dinova: Which: nice theory, when in practice the USPTO will let you patent breathing ;-)
  • [11:57] Morgaine Dinova: Which: does LL hold any patents?
  • [11:57] Which Linden: Ha ha yes that's true. The criteria applies at the time of invention though, so things that are logical in hindsight are not logical beforehand
  • [11:57] Which Linden: Morgaine: no, we hold no patents, though 2 are pending
  • [11:58] Morgaine Dinova: Are those two related to virtual worlds? Because the community will need to know whether LL is intending to submarine some Opensim developments in the future or not.
  • [11:59] Which Linden: This guy is doing evolution in breve: [6]
  • [11:59] Which Linden: I met Karl Sims at a party. I guess he's moved on a bit from his original GA work
  • [11:59] Saijanai Kuhn: was thinking of pointing the Breve Community to OpenSim
  • [12:00] Morgaine Dinova: Are pending patents already published?
  • [12:00] Which Linden: Morgaine: I'm not sure; I assume so
  • [12:00] Saijanai Kuhn: I think they have to be
  • [12:00] Which Linden: That would be the point of patents
  • [12:01] Saijanai Kuhn: there are patent search engines online. NOt sure how to access though
  • [12:02] Morgaine Dinova: Well we're going to need either LL to state that it's not going to torpedo VW work with them, or to look them up and make sure we don't use those ideas if LL doesn't want to make such an undertaking.
  • [12:02] Which Linden: Hm, yes, that's an interesting point
  • [12:03] Which Linden: I should note that one of the pending patents is for The Escrow, but given that the code is licensed under the apache license, patent rights are granted with the code
  • [12:03] Saijanai Kuhn: [7] ?
  • [12:03] Morgaine Dinova: Since LL is actively promoting the development of 3rd party VWs, I think they'd find it tough to defend patent action. But even so, it would be good to have it made clear.
  • [12:04] Saijanai Kuhn: user-defined maps. Looks very LL-ish to me
  • [12:04] Which Linden: Maybe that's the other one, who knows
  • [12:04] Saijanai Kuhn: might be from teh work Philip did on the Map API
  • [12:05] Which Linden: At my previous job, we were advised that we were to patent as many things as possible, no matter how trivial, simply in case some other company sued us we could have something to fight back with
  • [12:05] Saijanai Kuhn: yeah, I forget what that's called.
  • [12:06] Which Linden: And, of course, because damages are treble if infringement is knowing, you're also not supposed to ever do a patent search
  • [12:06] Which Linden: It's called "defensive patenting" aka "the system is messed up"
  • [12:06] Morgaine Dinova: Aye, it's common, and it's created the mess we're in today. Because those defensive patents are bought up by patent troll companies and then used offensively as a business revenue method.
  • [12:06] Saijanai Kuhn: e.g. the xor cursor thing
  • [12:07] Morgaine Dinova: And the double-linked-lists thing. And a zillion others.
  • [12:07] Which Linden: Yup
  • [12:07] Which Linden: Hey, I gotta run, and it's been nice chatting with you all
  • [12:07] Which Linden: Take it easy!
  • [12:07] Saijanai Kuhn: what is funny is that some patents are really innovative, but the company hollds on to them so tight that no0-one ever uses it and then the patent lies forgotten after it expires
  • [12:08] Morgaine Dinova: Hehe, not exactly an SL-tech discussion today, but was fun anyway :-)
  • [12:08] Saijanai Kuhn: e.g QuickDraw regions
  • [12:08] Which Linden:  :-)