From simon at photogabble.co.uk Wed Dec 9 04:11:34 2009 From: simon at photogabble.co.uk (Simon Dann) Date: Wed, 9 Dec 2009 12:11:34 +0000 Subject: [FoRK] Cloud is more than just data hostage In-Reply-To: References: <979097.23009.qm@web33003.mail.mud.yahoo.com> Message-ID: <478c7da50912090411i33c61747gfdebd8adc9b2f538@mail.gmail.com> hmm, this is interesting stuff. For my masters dissertation I wrote at length about the problematic nature of the "cloud" it can be scary to think of the many abusive ways in which certain organisations and people could utilise it for illicit purposes. But then again we already have that with certain applications, digital and real world. So I guess it is too late to worry. From jbone at place.org Wed Dec 9 07:48:57 2009 From: jbone at place.org (Jeff Bone) Date: Wed, 9 Dec 2009 09:48:57 -0600 Subject: [FoRK] Google Goggles Message-ID: If you haven't seen this yet, go look for it. This has the potential, perhaps, to be the most important innovation since the Web itself, IMHO. And it may well be *the* driver for mass adoption of AugR tech and the creation of a mass market for critical AugR consumer technologies (like practical everyday HUD gear, etc.) Combined with a remembrance agent (perhaps fed with Wikipedia and a few other key public data sources) and total recall technologies, and we're at some kind of a critical tipping point in human intelligence augmentation. $0.02, jb From jbone at place.org Wed Dec 9 08:23:44 2009 From: jbone at place.org (Jeff Bone) Date: Wed, 9 Dec 2009 10:23:44 -0600 Subject: [FoRK] Heh... Quantum propulsion, etc. Message-ID: <6A15FCD4-8D9C-4D45-BD8A-8A73D7A1F4DF@place.org> I believe that this was proposed by somebody (ahem) on this list a decade or so ago... not this specific mechanical arrangement, but something similar. (In particular, the authors miss the fifth case: asymmetric nanoscale-quasifractal surfaces arranged around an axis of rotation.) http://www.technologyreview.com/blog/arxiv/24499/ So quick: what's the speed limit? (Conjecture: 2/3c. For the reader: why?) jb From tomhiggins at gmail.com Wed Dec 9 10:05:29 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Wed, 9 Dec 2009 10:05:29 -0800 Subject: [FoRK] Google Goggles In-Reply-To: References: Message-ID: I should be getting a hands on of this over the weekend. I would think this added to the Sixth Sense platfrom would make for one hella good gargoyle agent setup. The combo of the two with some other methods/devices I have seen floating about (glyph tracking, gesticulation base commands, shadow lighting..etc) could well bring us some very interesting devices to don in a few months. -tom(I might even get a real cell phone )higgins From ken_ganshirt at yahoo.ca Wed Dec 9 11:56:34 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Wed, 9 Dec 2009 11:56:34 -0800 (PST) Subject: [FoRK] Cloud is more than just data hostage In-Reply-To: <478c7da50912090411i33c61747gfdebd8adc9b2f538@mail.gmail.com> Message-ID: <265585.16740.qm@web33006.mail.mud.yahoo.com> --- On Wed, 12/9/09, Simon Dann wrote: > hmm, this is interesting stuff. For > my masters dissertation I wrote at > length about the problematic nature of the "cloud" it can > be scary to think of the many abusive ways in which certain > organisations and people could utilise it for illicit purposes. > > But then again we already have that with certain > applications, digital and real world. So I guess > it is too late to worry. > _______________________________________________ > Nope, it's never too late to worry. Indeed, it's only too late when you stop worrying. ...ken... __________________________________________________________________ Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now http://ca.toolbar.yahoo.com. From ken_ganshirt at yahoo.ca Wed Dec 9 12:25:14 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Wed, 9 Dec 2009 12:25:14 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: Message-ID: <673286.81686.qm@web33001.mail.mud.yahoo.com> --- On Wed, 12/9/09, Jeff Bone wrote: > If you haven't seen this yet, go look for it. > > This has the potential, perhaps, to be the most important > innovation since the Web itself, IMHO.? And it may well > be *the* driver for mass adoption of AugR tech and the > creation of a mass market for critical AugR consumer > technologies (like practical everyday HUD gear, etc.) > > Combined with a remembrance agent (perhaps fed with > Wikipedia and a few other key public data sources) and total > recall technologies, and we're at some kind of a critical > tipping point in human intelligence augmentation. > > > $0.02, > You're kidding. Right? If I can remember where the hell I put the visual I can certainly remember whatever I need to know about it. (At my age I'm lucky to remember my name some days. I had to ask my wife what day it was yesterday.) Or put another way, you STILL can't get an answer if you can't think of the right question. At least not a particularly useful answer. So I have to go out and take a picture of something I want to know about. Why don't I just go in and ask someone while I'm there? I'll probably get a lot better information than what someone takes the trouble to type into the computer. Same dealeo with someone's business card .. just pick up the damn phone. I'll give you that it's an interesting toy that will probably turn out to have some useful applications for some people in some situations. I sure don't mean to knock anything that makes searching easier for more people, if this turns out to do that. (Have you seen the LMGTFY site? Stands for "Let Me Google That For You". Amazing how few people can think of the right questions to ask.) For the present I'll view it as not much more than an interesting toy. Maybe with potential. But even if it turns out to be really really useful I don't get that it's "augmentation" any more than packing a PDA or smartphone is "augmentation". Perhaps our definitions of "augmentation" differ. Do you consider PDAs, smartphones or an automobile to be human augmentation in this context? (I don't.) ...ken... __________________________________________________________________ The new Internet Explorer? 8 - Faster, safer, easier. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/ From ken_ganshirt at yahoo.ca Wed Dec 9 12:56:12 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Wed, 9 Dec 2009 12:56:12 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: <673286.81686.qm@web33001.mail.mud.yahoo.com> Message-ID: <391283.74523.qm@web33006.mail.mud.yahoo.com> I need to clarify my last post (below). Google Goggles is predicated on your being "there" AND having connectivity with sufficient bandwidth to make it feasible. I get that it can be really handy if you're standing right beside something and have a good connection and can't be bothered to go inside and ask your question or ask a passerby. It's either useless or terribly inconvenient in any other situation. Yeah, some of us travel places where there's no cellular service AT ALL, never mind no, or poor, data service. For instance, almost every place I'm likely to be interested in the answer to the question, "What sort of plant is this?", will likely be outside coverage. Same goes for many landmarks. And some of us live in regions where cellular data plans are too expensive for this sort of frivolity if you're employer is not picking up the tab. (Naturally there's a bit of sour grapes in there.) ...ken... --- On Wed, 12/9/09, Ken Ganshirt @ Yahoo wrote: > --- On Wed, 12/9/09, Jeff Bone > wrote: > > If you haven't seen this yet, go look for it. > > > > This has the potential, perhaps, to be the most important > > innovation since the Web itself, IMHO.? And it may well > > be *the* driver for mass adoption of AugR tech and the > > creation of a mass market for critical AugR consumer > > technologies (like practical everyday HUD gear, etc.) > > > > Combined with a remembrance agent (perhaps fed with > > Wikipedia and a few other key public data sources) and total > > recall technologies, and we're at some kind of a critical > > tipping point in human intelligence augmentation. > > > > > > $0.02, > > > > You're kidding. Right? If I can remember where the hell I > put the visual I can certainly remember whatever I need to > know about it. (At my age I'm lucky to remember my name some > days. I had to ask my wife what day it was yesterday.) > > Or put another way, you STILL can't get an answer if you > can't think of the right question. At least not a > particularly useful answer. So I have to go out and take a > picture of something I want to know about. Why don't I just > go in and ask someone while I'm there? I'll probably get a > lot better information than what someone takes the trouble > to type into the computer. Same dealeo with someone's > business card .. just pick up the damn phone. > > I'll give you that it's an interesting toy that will > probably turn out to have some useful applications for some > people in some situations. I sure don't mean to knock > anything that makes searching easier for more people, if > this turns out to do that. (Have you seen the LMGTFY site? > Stands for "Let Me Google That For You". Amazing how few > people can think of the right questions to ask.) For the > present I'll view it as not much more than an interesting > toy. Maybe with potential. > > But even if it turns out to be really really useful I don't > get that it's "augmentation" any more than packing a PDA or > smartphone is "augmentation". Perhaps our definitions of > "augmentation" differ. Do you consider PDAs, smartphones or > an automobile to be human augmentation in this context? (I > don't.) > > ? ? ? ???...ken... > __________________________________________________________________ Make your browsing faster, safer, and easier with the new Internet Explorer? 8. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/ From tomhiggins at gmail.com Wed Dec 9 14:29:29 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Wed, 9 Dec 2009 14:29:29 -0800 Subject: [FoRK] Google Goggles In-Reply-To: <391283.74523.qm@web33006.mail.mud.yahoo.com> References: <673286.81686.qm@web33001.mail.mud.yahoo.com> <391283.74523.qm@web33006.mail.mud.yahoo.com> Message-ID: On Wed, Dec 9, 2009 at 12:56 PM, Ken Ganshirt @ Yahoo wrote: > Make your browsing faster, safer, and easier with the new Internet Explorer? 8. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/ OK so I am just saying, yea...just saying. As for the content on being there and use... I think you could make the same arguments about a lot of tech that then goes on to find uses not dreamt of in our curmudgeonuing. Who the hell would have picked twitter as a thing of note. -tom(I have kids to go pick up but would like to dig into this more latter...and yea I want a Droid)higgins From lucas.gonze at gmail.com Wed Dec 9 15:19:11 2009 From: lucas.gonze at gmail.com (Lucas Gonze) Date: Wed, 9 Dec 2009 15:19:11 -0800 Subject: [FoRK] Google Goggles In-Reply-To: References: <673286.81686.qm@web33001.mail.mud.yahoo.com> <391283.74523.qm@web33006.mail.mud.yahoo.com> Message-ID: On Wed, Dec 9, 2009 at 2:29 PM, Tom Higgins wrote: > I think you could make > the same arguments about a lot of tech that then goes on to find uses > not dreamt of in our curmudgeonuing. Who the hell would have picked > twitter as a thing of note. I'll buy this one. I think Goggles is a flat-out brilliant idea with potential to become a major modality. That said, I think that it's just one contribution within the larger field of computing that is leaving the computer behind. That's in incredible branch of work. What's the name of that project/scanner which you wear like a necklace? Whoa. I'd love to have one of those to hack with. If I get a chance to make the jump from music to augmented reality I'll take it. From tomhiggins at gmail.com Wed Dec 9 15:34:19 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Wed, 9 Dec 2009 15:34:19 -0800 Subject: [FoRK] Google Goggles In-Reply-To: References: <673286.81686.qm@web33001.mail.mud.yahoo.com> <391283.74523.qm@web33006.mail.mud.yahoo.com> Message-ID: On Wed, Dec 9, 2009 at 3:19 PM, Lucas Gonze wrote: > That said, I think that it's just one contribution within the larger > field of computing that is leaving the computer behind. ?That's in > incredible branch of work. ?What's the name of that project/scanner > which you wear like a necklace? The Sixth Sense thing I keep drooling over in TED videos http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html The makers of that are open sourcing the thing, they claim a 300$ cost to cobble one togther from off the shelf parts and the code. Jebus forkers, talk about cottage/niche/longtailing project base. I am just about excited enough about what I have been seeing from Google , Sixth Sense and some other projects to think about doing something other than raising kids. It is not helping any that I am reading C Doctorow's book "Makers". -tom(I await Beberg to talk me down from this perilous brush with productivity:)- )higgins From ken_ganshirt at yahoo.ca Wed Dec 9 15:34:52 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Wed, 9 Dec 2009 15:34:52 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: Message-ID: <739503.25377.qm@web33007.mail.mud.yahoo.com> --- On Wed, 12/9/09, Tom Higgins wrote: > On Wed, Dec 9, 2009 at 12:56 PM, Ken Ganshirt @ Yahoo > wrote: > > > Make your browsing faster, safer, and easier with the > new Internet Explorer? 8. Optimized for Yahoo! Get it Now > for Free! at http://downloads.yahoo.com/ca/internetexplorer/ > So if I had any way of anticipating what dreck Yahoo would append to each of my outbound missives I *promise* I would be embarrassed by that one. Just saying... > > As for the content on being there and use... I think you > could make the same arguments about a lot of tech that then goes on to > find uses not dreamt of in our curmudgeonuing. Who the hell would > have picked twitter as a thing of note. > Which is why I specifically said I won't discount it. The major part of my professional life was spent working in the IT and Engineering departments of a Canadian telco. Much of that time I was fortunate to be working in areas of convergence (you may not be aware that our telcos up here are still of the full-service variety .. landline, long distance, cellular, internet, digital TV, hotel entertainment services .. which makes working in areas of convergence much more meaningful and so much more fun). I learned long ago to never bet on what will win and what won't. Certainly not to bet against something simply because it does not fit my particular needs or lifestyle choices or methods of doing things. Perhaps, if you take a long enough view, JB is right and this is a precursor or harbinger to something we could eventually consider augmentation. But there are some things in the way of it being/becoming so. Or enablers yet to come, if you're the glass-half-full sort. > -tom(I have kids to go pick up but would like to dig into > this more latter...and yea I want a Droid)higgins > I hope you do (dig further). And yea I want data prices to come down to where I could afford to USE a Droid. And GSM service from my service provider. At which time I would likely want one. I should live so long.... ...ken... __________________________________________________________________ Be smarter than spam. See how smart SpamGuard is at giving junk email the boot with the All-new Yahoo! Mail. Click on Options in Mail and switch to New Mail today or register for free at http://mail.yahoo.ca From lucas.gonze at gmail.com Wed Dec 9 17:09:26 2009 From: lucas.gonze at gmail.com (Lucas Gonze) Date: Wed, 9 Dec 2009 17:09:26 -0800 Subject: [FoRK] Google Goggles In-Reply-To: References: <673286.81686.qm@web33001.mail.mud.yahoo.com> <391283.74523.qm@web33006.mail.mud.yahoo.com> Message-ID: > On Wed, Dec 9, 2009 at 3:19 PM, Lucas Gonze wrote: > What's the name of that project/scanner > which you wear like a necklace? On Wed, Dec 9, 2009 at 3:34 PM, Tom Higgins wrote: > The Sixth Sense thing I keep drooling over in TED videos > > http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html > > The makers of that are open sourcing the thing, they claim a 300$ > cost to cobble one togther from off the shelf parts and the ?code. Hell yeah. That style of computing is a huge deal IMO. Every time there's a new form factor there are big product innovations in the wake, and that sixth sense thing is a million different form factors in one. Like, my iPhone is the last alarm clock I'll ever buy. Boom. No more dedicated alarm clocks for me. Product category vaporized just like that. From ken_ganshirt at yahoo.ca Wed Dec 9 19:16:27 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Wed, 9 Dec 2009 19:16:27 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: Message-ID: <723550.38340.qm@web33008.mail.mud.yahoo.com> --- On Wed, 12/9/09, Lucas Gonze wrote: > > Like, my iPhone is the last alarm clock I'll ever > buy.? Boom.? No more dedicated alarm clocks for me.? > Product category vaporized just like that. > What took so long? Mine went when I got my first Palm. Or are you too young to remember Palm? Rumour has it they might try to make a comeback some day. :-) ...ken... __________________________________________________________________ Make your browsing faster, safer, and easier with the new Internet Explorer? 8. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/ From ken_ganshirt at yahoo.ca Wed Dec 9 19:27:30 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Wed, 9 Dec 2009 19:27:30 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: Message-ID: <958136.9217.qm@web33001.mail.mud.yahoo.com> --- On Wed, 12/9/09, Tom Higgins wrote: > > > That said, I think that it's just one contribution within the larger > > field of computing that is leaving the computer behind. ?That's in > > incredible branch of work. ?What's the name of that project/scanner > > which you wear like a necklace? > > The Sixth Sense thing I keep drooling over in TED videos > > http://www.ted.com/talks/pattie_maes_demos_the_sixth_sense.html > > The makers of that are open sourcing the thing, they claim > a 300$ cost to cobble one togther from off the shelf parts and > the? code. > > Jebus forkers, talk about cottage/niche/longtailing? > project base. I am just about excited enough about? what I have been > seeing from Google , Sixth Sense and some other projects to think about > doing something other than raising kids. It is not helping any > that I am reading C Doctorow's book "Makers". > Okay, after you two I begin to see some of the potential for excitement that perhaps I missed in Jeff's brief note. The Getting-there-is-half-the-fun part, at least. Especially if you can do some of it the Altair or Heathkit way. Is that dating me again? Perhaps I should check to see if the parts or a kit are available on Make's website.... Thanks for the pointer to the book, Tom. I'm cheap so perhaps I'll read the serialized version online. ...ken... __________________________________________________________________ Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now http://ca.toolbar.yahoo.com. From tomhiggins at gmail.com Wed Dec 9 19:33:13 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Wed, 9 Dec 2009 19:33:13 -0800 Subject: [FoRK] Google Goggles In-Reply-To: <723550.38340.qm@web33008.mail.mud.yahoo.com> References: <723550.38340.qm@web33008.mail.mud.yahoo.com> Message-ID: On Wed, Dec 9, 2009 at 7:16 PM, Ken Ganshirt @ Yahoo wrote: > > What took so long? ?Mine went when I got my first Palm. ?Or are you too young to remember Palm? ?Rumour has it they might try to make a comeback some day. ?:-) I still use my Lifedrive every day, well mostly nights as its my bedside netcast stream/podcast listener (gota love quicknews) as well as for any bed time web browsing, email reading or homenet admining (mostly thru vnc and an ssh client) I love that damn device. But Palm as a company has lost my trust nearly completely. I have been thru thick and thin with them since I got an early Pro.. No mas. tom(I would love to get the lifedrive to use the widgets from Chumby)higgins From tomhiggins at gmail.com Wed Dec 9 19:44:46 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Wed, 9 Dec 2009 19:44:46 -0800 Subject: [FoRK] Google Goggles In-Reply-To: <958136.9217.qm@web33001.mail.mud.yahoo.com> References: <958136.9217.qm@web33001.mail.mud.yahoo.com> Message-ID: On Wed, Dec 9, 2009 at 7:27 PM, Ken Ganshirt @ Yahoo wrote: > Okay, after you two I begin to see some of the potential for excitement that perhaps I missed in Jeff's brief note. The Getting-there-is-half-the-fun part, at least. Especially if you can do some of it the Altair or Heathkit way. Is that dating me again? >Perhaps I should check to see if the parts or a kit are available on Make's website.... > No kits yet for the Sixth Sense, but the MakerShed will probably carry it. If you have the spare income and time to mess with something in the time being they do still have some Chumby guts and tons of Arduino kits. I was half tempted to get some of the Arduino kits for the boys and I to mess with but in all honesty we are still getting a ton of learning experience out of the 2 old Radio Shack 200-in-1 spring loaded electronic sets I thrifted last year. Make has yet to come out with something as cool or as cheap. I think that by this summer my 7 year old will be ready for his first soldering iron. That sentence still scares the snot out of me for so many reasons. > Thanks for the pointer to the book, Tom. I'm cheap so perhaps I'll read the serialized version online. > By necessity and training I am what the hipsters now call a "frugalista", I am reading it as an epub gotten for gratis off of the authors site http://craphound.com/makers/download/ He has it in a few dozen formats. The next time my book budget allows I will be buying a copy to donate to my teen agers high school. -tom(not frugal enough to pas up getting new gear now and again though, lords no ..MOON that spells new gear)higgins From ken_ganshirt at yahoo.ca Wed Dec 9 21:32:17 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Wed, 9 Dec 2009 21:32:17 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: Message-ID: <361553.13888.qm@web33007.mail.mud.yahoo.com> --- On Wed, 12/9/09, Tom Higgins wrote: > > > I was half tempted to get some of the Arduino kits for the boys > and I to mess with but in all honesty we are still getting > a ton of learning experience out of? the 2 old Radio Shack > 200-in-1 spring loaded electronic sets I thrifted last year.? > Make? has yet to come out with something as cool or as cheap. This is a long way from being as cheap, even if you had bought them new, but it looks like it might be almost as cool .. it claims 300 projects: http://www.makershed.com/ProductDetails.asp?ProductCode=MKEL10 > > I think that by this summer my > 7 year old will be ready for his first soldering iron. That > sentence still scares the snot out of me for so many reasons. > When you get over being scared you can look at this one. And get scared again at the price. It's on sale at the moment but $39.95 is still pretty steep for something that doesn't even include a soldering iron and some solder .... some kinda "Learn to" kit that is. :( > > By necessity and training I am what the hipsters now call > a "frugalista", I am reading it as an epub gotten for gratis > off of the authors site http://craphound.com/makers/download/ > He has it in a few dozen formats. The next time my book > budget allows I will be buying a copy to donate to my teen agers high > school. > Again, thanks for the tip. I'll get a copy that works on one of the readers on my T|X. Buying a copy for the school sounds like a fine compromise. I am fortunate to be between teenagers at the moment. My daughter is beyond that and her kids still have a few years before they get there. Hopefully I will be old enough by then that they will tolerate my "guidance" better than my daughter did (does). ;-) ...ken... __________________________________________________________________ Looking for the perfect gift? Give the gift of Flickr! http://www.flickr.com/gift/ From lucas.gonze at gmail.com Thu Dec 10 08:10:43 2009 From: lucas.gonze at gmail.com (Lucas Gonze) Date: Thu, 10 Dec 2009 08:10:43 -0800 Subject: [FoRK] Google Goggles In-Reply-To: <723550.38340.qm@web33008.mail.mud.yahoo.com> References: <723550.38340.qm@web33008.mail.mud.yahoo.com> Message-ID: > --- On Wed, 12/9/09, Lucas Gonze wrote: >> >> Like, my iPhone is the last alarm clock I'll ever >> buy.? Boom.? No more dedicated alarm clocks for me. >> Product category vaporized just like that. On Wed, Dec 9, 2009 at 7:16 PM, Ken Ganshirt @ Yahoo wrote: > What took so long? ?Mine went when I got my first Palm. ?Or are you too young to remember Palm? ?Rumour has it they might try to make a comeback some day. ?:-) Maybe I didn't make the switch in Palm days because I wasn't mentally ready. I started using a portable as an alarm when I first got a cell phone for business travel. But the alarm software in the cell was not as good as a dedicated bedside alarm. I don't even remember my Handspring's alarm. From jbone at place.org Thu Dec 10 08:49:02 2009 From: jbone at place.org (Jeff Bone) Date: Thu, 10 Dec 2009 10:49:02 -0600 Subject: [FoRK] the fix is in? lang, os, etc. continued Message-ID: Okay, so here's the way I see it. Lots of movement on the JavaScript front these days. the 1.7-onwards series with e.g. generators / etc., commonJS, narwhal, node.js, er.js, competitive work in the engine space (particularly v8) etc. --- all headed in the same direction --- not converging yet, different wrinkles in each. But the trends seem clear: - js is leaving the browser behind - js is gearing up to become a general "systems programming language" - js solves the adoption problem implicitly - ubiquity - some variant runs everywhere - familiarity - everybody's written a little bit - *good enough* --- for just about anything? - big dogs pouring resources on it - but *can* it be made to be performant enough? - most performance is architecture, not code paths - can it be made to play nicely w/ native-code for fast paths? - but of course: it always *has* done exactly that! We're moving a meta-level up the technology stack, same sort of move as assembler-to-C. With appropriate new engine technologies like V8, it's looking like js could be used for all but the very-close-to-metal apps. Hell, node.js isn't even to version 0.2 and it already gives thin a run for its money; I like where this is going. Don't get me wrong; I've held my nose and done as little javascript as possible for years now, just like many of us. It's got a lot of cons, not the least of which is bulk (node is ~2.5M by default on OSX, ugh; compare / contrast w/ tiny Scheme VMs ala Wasp and Hedgehog.) But: perhaps it's time to acknowledge the writing on the wall... I'm not sure how I feel about all this, but I think it is what it is... I'd like to see js evolve in the right direction --- tail recursion optimization a required feature, first-class continuation support, reified interpreter / vm / program state, cross-engine standardized FFI, etc. I'm not sure it will get there. (I'm not sure it has to, but...) Those would provide a better substrate language for future systems. But maybe we don't need all that fancy stuff, maybe it's good enough as-is. I see a sort of stack evolving that looks something like this: - interactive user shell (in e.g. javascript) - javascript + runtime "user OS" / environment - javascript VM (eventually bootstrapped) - host OS - bare-metal (Nb., the above looks a hell of a lot like the Inferno stack... ala: - interactive user shell (Inferno sh, in Limbo) - Limbo + runtime Inferno "user OS" / environment - Dis VM (eventually bootstrapped) - host OS - bare-metal Rather than continue down the road of dithering on substrate and vacillating between different toy implementations on different substrates, maybe I should just byte the bullet. Thoughts? Is js the "next" *real* "systems programming" language? jb PS - for the progeddit trolls, should this get cross-posted and should you stumble upon this... enjoy. Please note the rant tags. Take this w/ a grain of salt, and in context please. Just musing out loud... From danbri at danbri.org Thu Dec 10 08:58:27 2009 From: danbri at danbri.org (Dan Brickley) Date: Thu, 10 Dec 2009 17:58:27 +0100 Subject: [FoRK] Google Goggles In-Reply-To: References: <723550.38340.qm@web33008.mail.mud.yahoo.com> Message-ID: <8544D005-F8B2-4672-8503-24613AFB2623@danbri.org> On 10 Dec 2009, at 17:10, Lucas Gonze wrote: >> --- On Wed, 12/9/09, Lucas Gonze wrote: >>> >>> Like, my iPhone is the last alarm clock I'll ever >>> buy. Boom. No more dedicated alarm clocks for me. >>> Product category vaporized just like that. > > On Wed, Dec 9, 2009 at 7:16 PM, Ken Ganshirt @ Yahoo > wrote: >> What took so long? Mine went when I got my first Palm. Or are you >> too young to remember Palm? Rumour has it they might try to make a >> comeback some day. :-) > > Maybe I didn't make the switch in Palm days because I wasn't mentally > ready. I started using a portable as an alarm when I first got a cell > phone for business travel. But the alarm software in the cell was not > as good as a dedicated bedside alarm. I don't even remember my > Handspring's alarm. Someday they'll invent a smartphone alarm smart enough to warn you that there's not enough battery left to be running in the morning. Dan From drernie at radicalcentrism.org Thu Dec 10 09:36:10 2009 From: drernie at radicalcentrism.org (Dr. Ernie Prabhakar) Date: Thu, 10 Dec 2009 09:36:10 -0800 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: References: Message-ID: Sent from my iPhone On Dec 10, 2009, at 8:49, Jeff Bone wrote: > I see a sort of stack evolving that looks something like this: > > - interactive user shell (in e.g. javascript) > - javascript + runtime "user OS" / environment > - javascript VM (eventually bootstrapped) > - host OS > - bare-metal I see JS eventually becoming performant and rich enough for more uses, but I'm still not sure the culture will ever support broad app programming, much less systems work. Culture matters in the type and quality of frameworks that get provided, which can determine the fate of a language. Especially one driven more by committee. Look at Java :-/ Also, do you really think VMs will be everywhere? We are moving the opposite direction with MacRuby and LLVM. From jbone at place.org Thu Dec 10 09:58:12 2009 From: jbone at place.org (Jeff Bone) Date: Thu, 10 Dec 2009 11:58:12 -0600 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: References: Message-ID: Dr. Ernie asks: > Also, do you really think VMs will be everywhere? We are moving the > opposite direction with MacRuby and LLVM. I think it's a strong possibility, perhaps in an even stricter sense than you may mean, though. I think hardware virtualization and language-level VMs converge; easier to implement mobility, adaptation to multiple devices, Internet suspend / resume, etc. (I'd love it, for example, if somebody (else ;-) hacked v8 to support suspending / serializing internal state to an image then resuming it from such an image. Cf. IBM's ISR work from several years ago; hardware emulation VMs are really just a kind of big brother to the typical language-level VM, and given API and other "sleep" related functionality ISR's an interesting possibility. Network connection and other IO state mobility is a bit tricky, but various folks are working on that, too...) But the trick is all the surrounding technology; i.e. performant distributed filesystem for VM image distribution; device adaptation to wildly different devices; and so on all have to be "solved" to make adoption of this stuff ubiquitous for end users. But here, too, the writing's on the wall, IMHO. Data center virtualization proceeds apace, and the intersection between solutions there and the generalized solution for end users is large. In the long view, we *all* have our own large, heterogeneous, dispersed "data centers" / personal clouds of devices, data and services to manage... (For the even longer view, ^have^are. ;-) I think the underpinnings change quite a bit, too... LLVM etc. as cases-in-point. But the VM as an architectural abstraction becomes, I think, an ever-more-visible feature of the user landscape in the long run. jb From sean at conman.org Thu Dec 10 12:23:02 2009 From: sean at conman.org (Sean Conner) Date: Thu, 10 Dec 2009 15:23:02 -0500 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: References: Message-ID: <20091210202302.GA32468@brevard.conman.org> It was thus said that the Great Jeff Bone once stated: > > I'm not sure how I feel about all this, but I think it is what it > is... I'd like to see js evolve in the right direction --- tail > recursion optimization a required feature, first-class continuation > support, reified interpreter / vm / program state, cross-engine > standardized FFI, etc. I'm not sure it will get there. (I'm not sure > it has to, but...) Those would provide a better substrate language > for future systems. Lovely, we're headed right back towards the 80s, with a bunch of different implementations, each with a slightly different "standard" library, only this time without benefit of conditinal compilation [1]. Heaven forbid we get fast software any time soon [6]. But of all those, FFI *needs* to be standardized, otherwise JS will end up like Common Lisp---a huge collection of standard library calls that are inadequate in 20 years (CL---no threads or networking and without a standard FFI, each implementation handles it differently, even if the same functions as a C library are available). It also needs to be either dead simple to install, or available on every system that exists. Otherwise, it's dead [7]. > Thoughts? Is js the "next" *real* "systems programming" language? I thought that was supposed to be Perl? -spc (Or is it D? I've lost track of C replacements ... ) [1] Ala the C Preprocessor [2]. No, what we'll get is run time checking, all the time, for various features [3] [2] Not that that's the paragon of macro expansion. [3] Yeah, I know---compile time checking is a form of optimization, and as we all know, optimization is eeeeeeeeevil [4] [4] Well, from reading several programming related webboards, the very notion of optimization comes across as eeeeeeeeeeeeeevil and that any point you attemp it, it's still to @#$@#!#$ early to even consider it. Then again, it appears that even thinking about the program is considered a form of optimization ... [5] [5] Ooops, hot topic button for me. [6] I kid, I kid! [7] Go ahead, try to install any form of Lisp under two different operating systems [8]. See how fun it is. Then see if you can do anything with networking, or even threads. And have your code run under the two different operating systems. [8] Out of three---Linux, Windows or Mac. [6] From ken_ganshirt at yahoo.ca Thu Dec 10 15:58:13 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Thu, 10 Dec 2009 15:58:13 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: Message-ID: <596391.68384.qm@web33005.mail.mud.yahoo.com> --- On Thu, 12/10/09, Lucas Gonze wrote: > > On Wed, Dec 9, 2009 at 7:16 PM, Ken Ganshirt @ Yahoo > wrote: > > What took so long? ?Mine went when I got my first > Palm. ?Or are you too young to remember Palm? ?Rumour has > it they might try to make a comeback some day. ?:-) > > Maybe I didn't make the switch in Palm days because I > wasn't mentally ready.?... I can relate. And thank you very much for that headslap. I still have my clock radio sitting on the night table, unused for years. Still sitting there from either habit or inertia. I never use it so it annoys me when I have to reset the time after a power failure. It never occured to me to simply unplug it and give it away rather than reseting it yet again ... until you mentioned mental readiness. It never ceases to amaze me how it's so easy to overlook the simple and obvious until some outside stimulous brings it into focus. ...ken... __________________________________________________________________ Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now http://ca.toolbar.yahoo.com. From jbone at place.org Thu Dec 10 19:40:36 2009 From: jbone at place.org (Jeff Bone) Date: Thu, 10 Dec 2009 21:40:36 -0600 Subject: [FoRK] Google Goggles In-Reply-To: References: Message-ID: BTW... in case anybody missed one implication... the image queries themselves, their associations with existing stored images and what gets clicked on in search results are all independently *excellent* ways to do supervised reinforcement learning for visual processing of real world visual / temporal / spatial / social / etc. fields. In combination, it's a heady thing. I.e., this thing gets educated fast in a lot of associative ways, via a very pragmatic --- and unwitting mass collaborative --- means. Before too long perhaps the Goggles will be wearing *you.* ;-) jb On Dec 9, 2009, at 9:48 AM, Jeff Bone wrote: > > If you haven't seen this yet, go look for it. > > This has the potential, perhaps, to be the most important innovation > since the Web itself, IMHO. And it may well be *the* driver for > mass adoption of AugR tech and the creation of a mass market for > critical AugR consumer technologies (like practical everyday HUD > gear, etc.) > > Combined with a remembrance agent (perhaps fed with Wikipedia and a > few other key public data sources) and total recall technologies, > and we're at some kind of a critical tipping point in human > intelligence augmentation. > > > $0.02, > > > jb > From jbone at place.org Thu Dec 10 19:50:30 2009 From: jbone at place.org (Jeff Bone) Date: Thu, 10 Dec 2009 21:50:30 -0600 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: References: Message-ID: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> Mr. Sean Connery makes several excellent points, all of which I agree with. (Love your movies, btw. ;-) My post is intended as a bit of file for the gumbo, rather than especially seriously... It's a bit of a paradox: on the one hand, repeating the mistakes of Common Lisp while at the same time (perhaps) failing to learn the lessons of "Worse is Better." If they could just get the last bit right, it might win. Maybe not in the browser, because that's such a politicized environment... but maybe outside of it. (Isn't it ironic: the browser was to be our gateway to freedom from vendor lock-in...) Maybe it's too late even outside the browser. Maybe not. But the troops are seriously amassing on the horizon to make a run at it... Don't quite know what to do about it. Suggestions? jb From jbone at place.org Thu Dec 10 19:53:06 2009 From: jbone at place.org (Jeff Bone) Date: Thu, 10 Dec 2009 21:53:06 -0600 Subject: [FoRK] One reason to keep an actual alarm clock... Message-ID: ...it's easier to see what time it is by looking at those big glowing green numbers than fish around for the iphone on the bedside in the dark. ;-) j ("the form factor is the application") b From andrew at ceruleansystems.com Thu Dec 10 20:02:24 2009 From: andrew at ceruleansystems.com (J. Andrew Rogers) Date: Thu, 10 Dec 2009 20:02:24 -0800 Subject: [FoRK] Google Goggles In-Reply-To: References: Message-ID: <73A31E4F-EF3B-4D87-B798-55F1966649EB@ceruleansystems.com> On Dec 10, 2009, at 7:40 PM, Jeff Bone wrote: > Before too long perhaps the Goggles will be wearing *you.* ;-) I have it on good authority that they do nothing. From tomhiggins at gmail.com Thu Dec 10 20:03:20 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Thu, 10 Dec 2009 20:03:20 -0800 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> Message-ID: On the one hand... screw the religious bent of the code, its all about the protocols and data On the other hand... crack don't smoke itself...protocols and data do not move, mash and reassemble themselves So, we are all biotches to the companies, comities and conglomerated mind shares that run the workings of both hands. In a great and perfect world the fairy unicorns would ride me the science playground every morning and we would all spend our days knee deep in invention factory fun making great and wonderful things without a hitch from border collisions, meme attacks or territorial pissing...and then you wake up and realize you have to fight the same fights decades latter with a smile pasted on your face saying "Oh yes sir thats some tasty foo bar you are serving up, I never tasted better in my life" whilst creating data stream parsers in some new variant of MSjs(tm)(c)(yf) Ok its not that bad, but yeah maybe it is. I still think Id rather have open protocols and data standards that way you could do the code end in whatever floated your boat that moment/month/year/decade/epoch (your life/interest cycle will vary) -tom(flat head or philips...ya see...turtles all the way down)higgins From dmorton at bitfurnace.com Thu Dec 10 20:07:15 2009 From: dmorton at bitfurnace.com (Damien Morton) Date: Fri, 11 Dec 2009 15:07:15 +1100 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: References: Message-ID: <8092dc770912102007p2c8f5d5bodb725ab9d6cc78a0@mail.gmail.com> Personally I think the javascript-for-everything community will be amongst the first to be put up against the wall and shot by future energy-wastage tribunals. On Fri, Dec 11, 2009 at 3:49 AM, Jeff Bone wrote: > > > > Okay, so here's the way I see it. > > Lots of movement on the JavaScript front these days. ?the 1.7-onwards series > with e.g. generators / etc., commonJS, narwhal, node.js, er.js, competitive > work in the engine space (particularly v8) etc. --- all headed in the same > direction --- not converging yet, different wrinkles in each. ?But the > trends seem clear: > > ?- js is leaving the browser behind > ?- js is gearing up to become a general "systems programming language" > ?- js solves the adoption problem implicitly > ? ?- ubiquity - some variant runs everywhere > ? ?- familiarity - everybody's written a little bit > ? ?- *good enough* --- for just about anything? > ? ?- big dogs pouring resources on it > ?- but *can* it be made to be performant enough? > ? ?- most performance is architecture, not code paths > ? ?- can it be made to play nicely w/ native-code for fast paths? > ? ?- but of course: ?it always *has* done exactly that! > > We're moving a meta-level up the technology stack, same sort of move as > assembler-to-C. ?With appropriate new engine technologies like V8, it's > looking like js could be used for all but the very-close-to-metal apps. > ?Hell, node.js isn't even to version 0.2 and it already gives thin a run for > its money; ?I like where this is going. > > Don't get me wrong; ?I've held my nose and done as little javascript as > possible for years now, just like many of us. ?It's got a lot of cons, not > the least of which is bulk (node is ~2.5M by default on OSX, ugh; ?compare / > contrast w/ tiny Scheme VMs ala Wasp and Hedgehog.) ?But: ?perhaps it's time > to acknowledge the writing on the wall... > > I'm not sure how I feel about all this, but I think it is what it is... ?I'd > like to see js evolve in the right direction --- tail recursion optimization > a required feature, first-class continuation support, reified interpreter / > vm / program state, cross-engine standardized FFI, etc. ?I'm not sure it > will get there. ?(I'm not sure it has to, but...) ?Those would provide a > better substrate language for future systems. > > But maybe we don't need all that fancy stuff, maybe it's good enough as-is. > > I see a sort of stack evolving that looks something like this: > > ?- interactive user shell (in e.g. javascript) > ?- javascript + runtime "user OS" / environment > ?- javascript VM (eventually bootstrapped) > ?- host OS > ?- bare-metal > > (Nb., the above looks a hell of a lot like the Inferno stack... ?ala: > > ?- interactive user shell (Inferno sh, in Limbo) > ?- Limbo + runtime Inferno "user OS" / environment > ?- Dis VM (eventually bootstrapped) > ?- host OS > ?- bare-metal > > > Rather than continue down the road of dithering on substrate and vacillating > between different toy implementations on different substrates, maybe I > should just byte the bullet. > > Thoughts? ?Is js the "next" *real* "systems programming" language? > > > jb > > > PS - for the progeddit trolls, should this get cross-posted and should you > stumble upon this... ?enjoy. ?Please note the rant tags. ?Take this w/ a > grain of salt, and in context please. ?Just musing out loud... > > > > _______________________________________________ > FoRK mailing list > http://xent.com/mailman/listinfo/fork > From michaelslists at gmail.com Thu Dec 10 20:11:23 2009 From: michaelslists at gmail.com (silky) Date: Fri, 11 Dec 2009 15:11:23 +1100 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <8092dc770912102007p2c8f5d5bodb725ab9d6cc78a0@mail.gmail.com> References: <8092dc770912102007p2c8f5d5bodb725ab9d6cc78a0@mail.gmail.com> Message-ID: <5e01c29a0912102011v6e0997ffx5e631432341c2dba@mail.gmail.com> On Fri, Dec 11, 2009 at 3:07 PM, Damien Morton wrote: > Personally I think the javascript-for-everything community will be > amongst the first to be put up against the wall and shot by future > energy-wastage tribunals. This is a most brilliant proposal ... -- silky http://www.mirios.com.au/ http://island.mirios.com.au/t/rigby+random+20 psychic monger engender UNRECOGNIZED: chaotic abettor open-minded anticipatory output SORTIE ... From tomhiggins at gmail.com Thu Dec 10 20:22:38 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Thu, 10 Dec 2009 20:22:38 -0800 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: Message-ID: On Thu, Dec 10, 2009 at 7:53 PM, Jeff Bone wrote: > > ...it's easier to see what time it is by looking at those big glowing green > numbers than fish around for the iphone on the bedside in the dark. ;-) > I have a small stand I put my lifedrive on right before I drift to sleep. I set the audio to stream and then punch up the clock app (oh yeah, that old freaking bit of tech fakes multitasking...)Screen blanks in 1min...stream plays on...I wake up and touch the screen..pop there is the clock as if to say to me...repent harlequin...but thats a whole other post. The problem I have with the those always glowing friends ( I am not actually your friend) alarm clocks is they ALWAYS FREAKING GLOW. The dark descending to sleep is not rendered anymore useful with the glow of clocks, hard drives, power indicators or kids toys ... I have standing orders that all such devices that enter the bedroom are taped such that those lights are blacked out as sure as London during the blitz. The light I need is the liht I will see, not the light that deamnds attention from devices better made the wallflower. -tm(posted via my fIngers)higgins From tomhiggins at gmail.com Thu Dec 10 20:26:35 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Thu, 10 Dec 2009 20:26:35 -0800 Subject: [FoRK] Google Goggles In-Reply-To: References: Message-ID: n Thu, Dec 10, 2009 at 7:40 PM, Jeff Bone wrote: > / temporal / spatial / social / etc. fields. ?In combination, it's a heady > thing. ?I.e., this thing gets educated fast in a lot of associative ways, > via a very pragmatic --- and unwitting mass collaborative --- means. > > Before too long perhaps the Goggles will be wearing *you.* ;-) > This Skynet takeover made possible by a grant from the National Association of Science and by Google users like you.. Thank you... -tom(resistance is fertile, baby)higgins From ken_ganshirt at yahoo.ca Thu Dec 10 20:46:06 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Thu, 10 Dec 2009 20:46:06 -0800 (PST) Subject: [FoRK] Google Goggles In-Reply-To: Message-ID: <734057.77990.qm@web33008.mail.mud.yahoo.com> --- On Thu, 12/10/09, Jeff Bone wrote: > > BTW...? in case anybody missed one > implication...? the image queries themselves, their > associations with existing stored images and what gets > clicked on in search results are all independently > *excellent* ways to do supervised reinforcement learning for > visual processing of real world visual / temporal / spatial > / social / etc. fields.? In combination, it's a heady > thing.? I.e., this thing gets educated fast in a lot of > associative ways, via a very pragmatic --- and unwitting > mass collaborative --- means. > > Before too long perhaps the Goggles will be wearing *you.* > ;-) > And Tom Sawyer getting you to pay him to let you paint his fence. ...ken... __________________________________________________________________ Looking for the perfect gift? Give the gift of Flickr! http://www.flickr.com/gift/ From sean at conman.org Thu Dec 10 20:47:54 2009 From: sean at conman.org (Sean Conner) Date: Thu, 10 Dec 2009 23:47:54 -0500 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> Message-ID: <20091211044754.GA28127@brevard.conman.org> It was thus said that the Great Jeff Bone once stated: > > Mr. Sean Connery makes several excellent points, all of which I agree > with. (Love your movies, btw. ;-) Thank you, but I do apologize for Zardoz (what can I say, it was the 70s and I needed the work ... ) > Don't quite know what to do about it. Suggestions? I personally like Lua better than JavaScript (or Perl or Python or PHP or Ruby or ... ). It interfaces with C very easily, and apparently, the new LuaJIT 2.0 (output x86 code) is a drop-in replacement for the Lua library (I haven't tried it yet, but it's been really well received in the Lua community). Sure, it doesn't quite have all the batteries included, but that just means it isn't a bloated mess quite yet ... -spc (Who never expected modern software development to have so many moving parts ... ) From ken_ganshirt at yahoo.ca Thu Dec 10 21:06:13 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Thu, 10 Dec 2009 21:06:13 -0800 (PST) Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: Message-ID: <570125.32038.qm@web33002.mail.mud.yahoo.com> --- On Thu, 12/10/09, Jeff Bone wrote: > > ...it's easier to see what time it is by looking at those > big glowing green numbers than fish around for the iphone on > the bedside in the dark. ;-) > Well here's the mind-numbing idiocy of not getting rid of mine sooner. We have two other digital clocks with glow-in-the-dark numbers in the room. One on the video recorder; the other on my wife's alarm clock. But it gets worse.... We like a very dark bedroom so we have heavy dark curtains. In such a dark room, the numbers on my clock radio light up the room like a beacon. So one night a long time ago, in a fit of annoyance, I grabbed a small cloth and tossed it over the radio to dull the numbers at night. I have long been in the habit of uncovering the numbers in the morning and covering them when I go to bed. On a clock radio that I never use. Sorta puts real meaning to the word "thoughtless"... > > j ("the form factor is the application") b > Yes!!! ...ken... __________________________________________________________________ Looking for the perfect gift? Give the gift of Flickr! http://www.flickr.com/gift/ From dmorton at bitfurnace.com Thu Dec 10 21:21:35 2009 From: dmorton at bitfurnace.com (Damien Morton) Date: Fri, 11 Dec 2009 16:21:35 +1100 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <570125.32038.qm@web33002.mail.mud.yahoo.com> References: <570125.32038.qm@web33002.mail.mud.yahoo.com> Message-ID: <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> Clearly what's needed here is an alarm clock with eye-tracking capabilities, so that the number light up only when looked at. On Fri, Dec 11, 2009 at 4:06 PM, Ken Ganshirt @ Yahoo wrote: > --- On Thu, 12/10/09, Jeff Bone wrote: >> >> ...it's easier to see what time it is by looking at those >> big glowing green numbers than fish around for the iphone on >> the bedside in the dark. ;-) >> > > Well here's the mind-numbing idiocy of not getting rid of mine sooner. We have two other digital clocks with glow-in-the-dark numbers in the room. One on the video recorder; the other on my wife's alarm clock. > > But it gets worse.... > > We like a very dark bedroom so we have heavy dark curtains. In such a dark room, the numbers on my clock radio light up the room like a beacon. So one night a long time ago, in a fit of annoyance, I grabbed a small cloth and tossed it over the radio to dull the numbers at night. I have long been in the habit of uncovering the numbers in the morning and covering them when I go to bed. > > On a clock radio that I never use. > > Sorta puts real meaning to the word "thoughtless"... > >> >> j ("the form factor is the application") b >> > > Yes!!! > > ? ? ?...ken... > > > ? ? ?__________________________________________________________________ > Looking for the perfect gift? Give the gift of Flickr! > > http://www.flickr.com/gift/ > _______________________________________________ > FoRK mailing list > http://xent.com/mailman/listinfo/fork > From michaelslists at gmail.com Thu Dec 10 21:25:46 2009 From: michaelslists at gmail.com (silky) Date: Fri, 11 Dec 2009 16:25:46 +1100 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> Message-ID: <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> On Fri, Dec 11, 2009 at 4:21 PM, Damien Morton wrote: > Clearly what's needed here is an alarm clock with eye-tracking > capabilities, so that the number light up only when looked at. Substantially more trivial solution: The amount of light it shows is configured by the amount of pressure on the bed. If you stand up, it's fully lit, if you're lying flat, it's completely off. If you sit up, then it can gradually get lighter. -- silky http://www.mirios.com.au/ http://island.mirios.com.au/t/rigby+random+20 POLLING wizard! Plagiary disparate peacock edged-skier listlessness. From tomhiggins at gmail.com Thu Dec 10 21:34:29 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Thu, 10 Dec 2009 21:34:29 -0800 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> Message-ID: On Thu, Dec 10, 2009 at 9:25 PM, silky wrote: > On Fri, Dec 11, 2009 at 4:21 PM, Damien Morton wrote: >> Clearly what's needed here is an alarm clock with eye-tracking >> capabilities, so that the number light up only when looked at. > > Substantially more trivial solution: The amount of light it shows is > configured by the amount of pressure on the bed. If you stand up, it's > fully lit, if you're lying flat, it's completely off. If you sit up, > then it can gradually get lighter. > Feh, Over enginering at its finest:)- Voice activiated , for me keyed to the phrase "wuzdafraktimeizit". Of course it would respond not only with a visual but auditorialy (ala http://www.voco.uk.com/ but more like tuxdroid meets fry (rss feeds read to you as well as time...and yeah I have mentioned this project before and have gotten just baout..oh...no further with it than last I mentioned it))...Hmm now shiz that reminds me... the tux droid has a light sensor and a sound senor/mic. hmmmm -tom(another project idea to fill up the OneDay folder)higgins From michaelslists at gmail.com Thu Dec 10 21:45:57 2009 From: michaelslists at gmail.com (silky) Date: Fri, 11 Dec 2009 16:45:57 +1100 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> Message-ID: <5e01c29a0912102145h5220ce22g1fd9093dc0edc7ab@mail.gmail.com> On Fri, Dec 11, 2009 at 4:34 PM, Tom Higgins wrote: > On Thu, Dec 10, 2009 at 9:25 PM, silky wrote: > > On Fri, Dec 11, 2009 at 4:21 PM, Damien Morton wrote: > > > Clearly what's needed here is an alarm clock with eye-tracking > > > capabilities, so that the number light up only when looked at. > > > > Substantially more trivial solution: The amount of light it shows is > > configured by the amount of pressure on the bed. If you stand up, it's > > fully lit, if you're lying flat, it's completely off. If you sit up, > > then it can gradually get lighter. > > > Feh, Over enginering at its finest:)- Voice activiated , for me keyed > to the phrase "wuzdafraktimeizit". Of course it would respond not only > with a visual but auditorialy (ala http://www.voco.uk.com/ ?but more > like tuxdroid meets fry (rss feeds read to you as well as time...and > yeah I have mentioned this project before and have gotten just > baout..oh...no further with it than last I mentioned it))...Hmm now > shiz that reminds me... the tux droid has a light sensor and a sound > senor/mic. hmmmm No but voice activated means you need to be there; in the weight-based system, it can be anyone who happens to be sleeping there and waking up. Nobody wants to be talking the second they wake up, it seems to me to follow the natural way you want to be aware of the time (to a degree), without requiring anything more than a pressure-sensitive mat. > -tom(another project idea to fill up the ?OneDay folder)higgins -- silky http://www.mirios.com.au/ http://island.mirios.com.au/t/rigby+random+20 From dmorton at bitfurnace.com Fri Dec 11 03:33:10 2009 From: dmorton at bitfurnace.com (Damien Morton) Date: Fri, 11 Dec 2009 22:33:10 +1100 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <5e01c29a0912102011v6e0997ffx5e631432341c2dba@mail.gmail.com> References: <8092dc770912102007p2c8f5d5bodb725ab9d6cc78a0@mail.gmail.com> <5e01c29a0912102011v6e0997ffx5e631432341c2dba@mail.gmail.com> Message-ID: <8092dc770912110333h1e131208u63f12c833cba20d5@mail.gmail.com> These guys, in particular, will be the first to be put against that wall. http://github.com/revis/Really-Cloudy On Fri, Dec 11, 2009 at 3:11 PM, silky wrote: > On Fri, Dec 11, 2009 at 3:07 PM, Damien Morton wrote: >> Personally I think the javascript-for-everything community will be >> amongst the first to be put up against the wall and shot by future >> energy-wastage tribunals. > > This is a most brilliant proposal ... > > -- > silky > ?http://www.mirios.com.au/ > ?http://island.mirios.com.au/t/rigby+random+20 > > psychic monger engender UNRECOGNIZED: chaotic abettor open-minded > anticipatory output SORTIE ... > _______________________________________________ > FoRK mailing list > http://xent.com/mailman/listinfo/fork > From jbone at place.org Fri Dec 11 04:58:40 2009 From: jbone at place.org (Jeff Bone) Date: Fri, 11 Dec 2009 06:58:40 -0600 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: Message-ID: Re: the light in the room from alarm clocks, I feel yer pain... totally agreed with those who said that, I like a dark room, too. OTOH, interrupted sleep schedule related to having newly-arrived child subprocesses* --- and the attendant need to frequently get a time hack during the numerous priority sleep interrupts --- have sort of trumped that for me. The wife was in the habit of putting something in front of the alarm clock before, and that's now driving me batty. Damien's eye-tracking may not be too far off; perhaps some kind of motion sensing or something. (Have been eyeing those clocks that project onto wall / ceiling / etc... if I could figure out how to make it work *only when it needs to* that would be a winner for me.) jb * two of 'em, back in September. Did I forget to mention that on-list? From jbone at place.org Fri Dec 11 05:02:29 2009 From: jbone at place.org (Jeff Bone) Date: Fri, 11 Dec 2009 07:02:29 -0600 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: Message-ID: Tom suggests: > rss feeds read to you as well Feh, serialized, too damn slow. Same problem I've got with the recent surge in popularity of e.g. video presentations (TED, DefCon, Google Talks, etc.) Text still wins on a bandwidth basis for many applications. Watching the presentation by the MOSREF guy --- for a full hour --- made me want to poke my eardrums out with sharp instrument. Have noticed that Google is now providing auto-transcription to text of some videos... sweet. And says something about the state of feeding the beast, too... jb From ken_ganshirt at yahoo.ca Fri Dec 11 07:51:09 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Fri, 11 Dec 2009 07:51:09 -0800 (PST) Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: Message-ID: <761488.28814.qm@web33008.mail.mud.yahoo.com> --- On Fri, 12/11/09, Jeff Bone wrote: > ? (Have been eyeing those clocks > that project onto wall / ceiling / etc...? if I could > figure out how to make it work *only when it needs to* that > would be a winner for me.) > If you get one just be sure that there is only one clock in it. The cheaper ones have one clock in the main display and another clock in the projector display. Given the variability of the crystals in the cheap clock modules the two clocks are never in sync for more than the first few minutes after you manually sync them yourself. If you are a lintpicker you will find it annoying even though the difference is seldom more than a few of minutes, depending upon how often you get pissed off and resync them. I found that it works best to project it at a wall, just high enough on the wall that both parties can see it while still lying down, rather than the ceiling. The one we had was brightness adjustable for the projector. If you're looking for a new toy just pay attention to the caveats above and have fun. Otherwise I don't particularly recommend it. Ours was a Xmas gift so we felt obligated to use it for at least a little while before it hit the garage sale box. ...ken... __________________________________________________________________ Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your favourite sites. Download it now http://ca.toolbar.yahoo.com. From tomhiggins at gmail.com Fri Dec 11 08:19:51 2009 From: tomhiggins at gmail.com (Tom Higgins) Date: Fri, 11 Dec 2009 08:19:51 -0800 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: Message-ID: On Fri, Dec 11, 2009 at 5:02 AM, Jeff Bone wrote: > > Feh, serialized, too damn slow. Not all the time. Waking up there is a window of time when my eyeballs are not tracking text. I hold that in those states of waking, sleeping, stupor or simply whilst hold a child sub process (OMG did you say you now have two of em??) the ability to scan text is diminished...thus have it read to you. Sure it is slower, but it is >0wps -tom(i have also been playing with speed of the spoken feeds and comprehension...you can crank that puppy up and get more bang for your time..think Carl Kassel on speed)higgins From ken_ganshirt at yahoo.ca Fri Dec 11 08:27:34 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Fri, 11 Dec 2009 08:27:34 -0800 (PST) Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: Message-ID: <693331.86305.qm@web33005.mail.mud.yahoo.com> --- On Fri, 12/11/09, Tom Higgins wrote: > > -tom(i have also been playing with speed of the spoken feeds and > comprehension...you can crank that puppy up and get more bang for your > time..think Carl Kassel on speed)higgins > Yeah, go helium. Look at some of the technology square dance callers use. You can tweak the speed considerably without changing tone. ...ken... __________________________________________________________________ Looking for the perfect gift? Give the gift of Flickr! http://www.flickr.com/gift/ From paul at remsset.com Fri Dec 11 09:24:20 2009 From: paul at remsset.com (paul) Date: Fri, 11 Dec 2009 11:24:20 -0600 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> Message-ID: <4B228044.5050206@remsset.com> silky said the following on 12/10/2009 11:25 PM: > On Fri, Dec 11, 2009 at 4:21 PM, Damien Morton wrote: >> Clearly what's needed here is an alarm clock with eye-tracking >> capabilities, so that the number light up only when looked at. > > Substantially more trivial solution: The amount of light it shows is > configured by the amount of pressure on the bed. If you stand up, it's > fully lit, if you're lying flat, it's completely off. If you sit up, > then it can gradually get lighter. > Wiring the bed with pressure sensors is too complicated. Perhaps just a sensor under one foot? And then with a waterbed, how? Do we want to need HDMI cables to connect the bed to the clock? Simpler would be a photo sensor in the clock to dim the display. Or how about a knob? Like a volume control? Like on the GE clock radio I bought at Woolco in 1977? Very simple. And it still works. paul -- _____________________________________ http://remsset.com Do you smell something burning or is it me? - Joan of Arc From dmorton at bitfurnace.com Fri Dec 11 09:47:31 2009 From: dmorton at bitfurnace.com (Damien Morton) Date: Sat, 12 Dec 2009 04:47:31 +1100 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <4B228044.5050206@remsset.com> References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> <4B228044.5050206@remsset.com> Message-ID: <8092dc770912110947v33c0659fm6efd657ba6a654e0@mail.gmail.com> Knobs are, like, yesteryear. Gaze detection is the way to go. Wide angle lens CMOS camera on the face, a couple of infrared LEDs, look for pairs of reflections that move together, then have your PTZ telephoto lens zoom in to find the detail on where the pupils are. Might be possible to get rid of the PTZ camera if you use a high megapixel video camera with digital zoom capability. Better yet - pulse picosecond pulses of UV and look for the veiling glare. This will be so short it will be below the threshold of perception. Might induce nightmares though. Hard to know. I think that at a price point of $500, we would be delivering real value to the US market. On Sat, Dec 12, 2009 at 4:24 AM, paul wrote: > silky said the following on 12/10/2009 11:25 PM: >> >> On Fri, Dec 11, 2009 at 4:21 PM, Damien Morton >> wrote: >>> >>> Clearly what's needed here is an alarm clock with eye-tracking >>> capabilities, so that the number light up only when looked at. >> >> Substantially more trivial solution: The amount of light it shows is >> configured by the amount of pressure on the bed. If you stand up, it's >> fully lit, if you're lying flat, it's completely off. If you sit up, >> then it can gradually get lighter. >> > > Wiring the bed with pressure sensors is too complicated. Perhaps just a > sensor under one foot? ?And then with a waterbed, how? > > Do we want to need HDMI cables to connect the bed to the clock? > > Simpler would be a photo sensor in the clock to dim the display. > > Or how about a knob? ?Like a volume control? ?Like on the GE clock radio I > bought at Woolco in 1977? > > Very simple. ?And it still works. > > > paul > > > -- > _____________________________________ > ? http://remsset.com > > > ? Do you smell something burning or is it me? > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - Joan of Arc > > _______________________________________________ > FoRK mailing list > http://xent.com/mailman/listinfo/fork > From geege4 at gmail.com Fri Dec 11 10:24:21 2009 From: geege4 at gmail.com (geege schuman) Date: Fri, 11 Dec 2009 13:24:21 -0500 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <8092dc770912110947v33c0659fm6efd657ba6a654e0@mail.gmail.com> References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> <4B228044.5050206@remsset.com> <8092dc770912110947v33c0659fm6efd657ba6a654e0@mail.gmail.com> Message-ID: <493a95a00912111024w3343435fgc1f664cc433ee5e1@mail.gmail.com> http://www.dreamessentials.com/a_intro_eye_masks.aspx?gclid=CJmjya2Az54CFQwdswodVWORpw From bullwinklemouth at yahoo.ca Fri Dec 11 10:37:50 2009 From: bullwinklemouth at yahoo.ca (John Parsons) Date: Fri, 11 Dec 2009 10:37:50 -0800 (PST) Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: Message-ID: <583819.89421.qm@web112302.mail.gq1.yahoo.com> I rather like the constant, passive nature of the dimly glowing beacon of reality. I don't want a "Heisenberg" clock that only quantifies time when queried. Besides, the slight additional light is useful for verifying (in that confused, half-stupor of waking) that whatever limb which is still numb and asleep, is actually attached (if not functioning). :D --- On Fri, 12/11/09, Tom Higgins wrote: From: Tom Higgins Subject: Re: [FoRK] One reason to keep an actual alarm clock... To: michaelslists at gmail.com, "Friends of Rohit Khare" Received: Friday, December 11, 2009, 5:34 AM On Thu, Dec 10, 2009 at 9:25 PM, silky wrote: > On Fri, Dec 11, 2009 at 4:21 PM, Damien Morton wrote: >> Clearly what's needed here is an alarm clock with eye-tracking >> capabilities, so that the number light up only when looked at. > > Substantially more trivial solution: The amount of light it shows is > configured by the amount of pressure on the bed. If you stand up, it's > fully lit, if you're lying flat, it's completely off. If you sit up, > then it can gradually get lighter. > Feh, Over enginering at its finest:)- Voice activiated , for me keyed to the phrase "wuzdafraktimeizit". Of course it would respond not only with a visual but auditorialy (ala http://www.voco.uk.com/? but more like tuxdroid meets fry (rss feeds read to you as well as time...and yeah I have mentioned this project before and have gotten just baout..oh...no further with it than last I mentioned it))...Hmm now shiz that reminds me... the tux droid has a light sensor and a sound senor/mic. hmmmm -tom(another project idea to fill up the? OneDay folder)higgins _______________________________________________ FoRK mailing list http://xent.com/mailman/listinfo/fork __________________________________________________________________ Looking for the perfect gift? Give the gift of Flickr! http://www.flickr.com/gift/ From jbone at place.org Fri Dec 11 11:13:50 2009 From: jbone at place.org (Jeff Bone) Date: Fri, 11 Dec 2009 13:13:50 -0600 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: Message-ID: Tom sez: > OMG did you say you now have two of em?? Yup. All at once. Well, more or less; 12 minutes apart. jb From lucas.gonze at gmail.com Fri Dec 11 11:17:02 2009 From: lucas.gonze at gmail.com (Lucas Gonze) Date: Fri, 11 Dec 2009 11:17:02 -0800 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> Message-ID: A simpler way to implement this is by using a motion detector that's pointing just above the horizontal position. On Thu, Dec 10, 2009 at 9:25 PM, silky wrote: > On Fri, Dec 11, 2009 at 4:21 PM, Damien Morton wrote: >> Clearly what's needed here is an alarm clock with eye-tracking >> capabilities, so that the number light up only when looked at. > > Substantially more trivial solution: The amount of light it shows is > configured by the amount of pressure on the bed. If you stand up, it's > fully lit, if you're lying flat, it's completely off. If you sit up, > then it can gradually get lighter. > > -- > silky > ?http://www.mirios.com.au/ > ?http://island.mirios.com.au/t/rigby+random+20 > > POLLING wizard! Plagiary disparate peacock edged-skier listlessness. > _______________________________________________ > FoRK mailing list > http://xent.com/mailman/listinfo/fork > From corinna.schultz at gmail.com Fri Dec 11 14:28:31 2009 From: corinna.schultz at gmail.com (Corinna Schultz) Date: Fri, 11 Dec 2009 14:28:31 -0800 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: <570125.32038.qm@web33002.mail.mud.yahoo.com> <8092dc770912102121v1b7d2b7aj691994f8bf4e79e3@mail.gmail.com> <5e01c29a0912102125w95ad4ccp89672975a0f87642@mail.gmail.com> Message-ID: On Fri, Dec 11, 2009 at 11:17 AM, Lucas Gonze wrote: > A simpler way to implement this is by using a motion detector that's > pointing just above the horizontal position. I'm boring, I guess. I plug in my cheap (free) Nokia phone to charge overnight, and when I want to know the time, I find the big button in middle by touch, press it, and the screen lights up for a second or two. If I'm really sleepy, I look at it with one eye, so focusing is easier. :) It lets me curse the cat when she wakes me up 15-30 min before my alarm is set to go off. (I use my phone for the alarm, too. It makes a gentle tap-tap-tap sound that doesn't wake my husband.) From pj at place.org Fri Dec 11 15:59:07 2009 From: pj at place.org (Paul Jimenez) Date: Fri, 11 Dec 2009 17:59:07 -0600 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: Message-ID: <4B22DCCB.5040501@place.org> On 12/10/2009 09:53 PM, Jeff Bone wrote: > > ...it's easier to see what time it is by looking at those big glowing > green numbers than fish around for the iphone on the bedside in the > dark. ;-) > Chumby FTW! From lucas.gonze at gmail.com Fri Dec 11 16:24:09 2009 From: lucas.gonze at gmail.com (Lucas Gonze) Date: Fri, 11 Dec 2009 16:24:09 -0800 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: <4B22DCCB.5040501@place.org> References: <4B22DCCB.5040501@place.org> Message-ID: On Fri, Dec 11, 2009 at 3:59 PM, Paul Jimenez wrote: > Chumby FTW! My own Chumby is a paperweight these days, along with my old Handspring and Zip drive. Any ideas for constructive things to do with it? From jbone at place.org Fri Dec 11 19:13:39 2009 From: jbone at place.org (Jeff Bone) Date: Fri, 11 Dec 2009 21:13:39 -0600 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> Message-ID: <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> Mr. Sean Conner(y) suggests: > Lua Absolutely a contender for my own pet shell and related automation projects. Very nice, very small and tight, properly tail recursive, has good coroutine support at VM level, (though lacks first-class continuations, perhaps not a problem given the coroutine implementation, cf. HoPL '07 paper etc.), has a nice packaging system, gets a lot of things right, fast-ish... and it has the purtiest FFI since Elk. IMHO, of course. Downside: minimalism leads to lack of expressivity leads to higher LoC leads to lower readability and unnecessary complexity, take a look at e.g. some of the wiki implementations in it, e.g. Nanoki. Hardly nano... Suffers a bit from the lack of standards for modules, object system, etc. --- like lisps in that respect, or Tcl --- a little too meta for its own good, sometimes constraints can be empowering. Has some momentum by virtue of its de facto standard in the gaming community; obviously less so than js, but still fairly reasonable. Spent a good several months playing with it intensively; prior to 5.0 it posed some difficulties that have now been addressed, but I haven't picked it back up seriously lately. For the record, here are the substrates / targets and approaches I've actually done more with (i.e. in the "new shell / user environment" space being discussed) than just considered at this point, over the last 10+ years: (1) roll your own in straight ANSI C. Loses because of lack of "draft-ability" on other efforts.* (2) a Scheme, stock or roll-your-own, port Termite, build on that. Probably loses, too many Catch-22s. (3) Regular Python. Great for prototyping, loses for GIL, performance, and other reasons. (4) Stackless. Actually a contender, but suffers for same reasons as stock Python sans GIL. (5) Erlang. Problem there is FFI... also, very static, impl. unwieldy. Needs a decent shell, though. (6) Lua. Also Metalua. Still strong possibilities... Things I've considered but haven't really actively pursued too far for various reasons. (7) various Occam-pi solutions, including TyCo and Transterpreter (sexy, baby!) (8) LLVM. Too compiler-centric, would need extensive runtime support. (9) JVM / CLR. GMAFB. Bloat city, just don't like 'em. Other things I've at least entertained conceptually for at least a little while lately include Go (no kidding) --- problem there is *they don't carry their own chosen abstractions far enough* --- i.e. if you're really itching to do pi-calculus then *just do it* --- having to jump out of the abstraction to do e.g. RPC is just silly. These guys *invented* the "few high-level abstractions, uniformly applied" idea but apparently they lack the strength of their convictions when it comes to the process calculi their work rests upon. Hell, if you're going to talk the talk, walk the walk. Why stop in 1985 when you can sprint all the way to 1993? That's irritating enough to put me off even attempting to use it, just on principle. Have also burned a few days thinking about e.g. node.js, er.js (incompatible due to version support of former vs. requirement of latter) and friends, and various Prologs have tempted from time to time. (Prolog as a language-implementation-language *may even beat lisps* in various cases. If you're curious, ask, I'll point you to a couple of existence proofs. An impressively-capable though toy Algol- like language interpreter can be had in literally a few 10s to 100s of lines of Prolog; and some Prolog implementations offer nice substrate support for various concurrency experiments. Compare and contrast to similar language implementation in Scheme in recent editions of EoPL.) To date the most progress, and the testbed for all the ideas, has been Python (regular or Stackless, or Logix language toolkit --- or my own rather pathetic port of Budd's OO version of Kamin's interpreters; Pascal to C++ to Python, ugh.) But I have no illusions that that's anything but a throwaway, a sort of language laboratory "whiteboard" substrate. Erlang or Lua are probably the top substrate contenders if I ever get around to doing anything beyond monkeying around with ideas, with ground-up roll-your-own in ANSI C being a close third. In all seriousness, though, non-browser js does have its attractions. (I about gacked when I saw home many LoC in C++ there were in node.js + V8 + the additional dependencies, though. About 240k > than what I want to deal with. Not that Erlang's any better... ;-) While we're on the topic, here's an interesting new language that actually gets a lot of things right on the kitchen-sink "systems programming language" front: http://fantom.org Their concept of actors --- async invocations returning promises / futures --- is seriously flawed, though. But the language as a whole and its libraries, documentation, etc. --- the "whole enchilada" --- has the "feel" of being well thought-out and well-crafted, though. Random thoughts... jb * PS - i.e., the goal is to be in the shell business, not the VM business. But if you go the straight interpreter route, then you lose some nice abstraction boundary and portability properties... OTOH, this (bare-bones ANSI C) is probably the least-risky choice from an adoption perspective. PPS: to be clear, there are two general use-cases that I'm interested in; two general templates for my "everyday computing environment(s)" that I work within and move freely between daily. These are: (a) typical highly-coupled mostly-homogeneous large-scale cluster computing with large data - order of 100s to 1000s of CPUs - terabytes of chunky, mostly-homogeneous (few kinds of) data - gig+ highly reliable redundant networks - generally compute- and IO-intensive problems - generally embarrassingly-parallel problems (b) very loosely-coupled (dispersed), highly heterogeneous, personally-focused computing - lots of little, some big, no huge data --- but highly heterogeneous in model and form - dispersed: high standard deviation of latency, frequent disconnection - order of dozens of devices, very heterogeneous - controller-scale devices - plug servers (ala Sheeva / Tonido) - special-purpose shared devices (readers, touchpads, etc.) - personal end-user IO and compute devices (desktop, laptop, etc.) - personal end-user O-only and O-mostly devices (think TV...) - local and remote, often specialized servers (home media server, remote mail server, etc.) - lots of different applications and automation scenarios - generally coordination is a bigger problem than compute or IO intensity The desire is to be able to treat each of these *sets of devices* conceptually as *a single programmable unit* by an individual user (e.g., me.) (We punt the administration boundary problem; each is deemed to be contained *within* a single administrative boundary, but implementations in the case of the latter at least must take care to implement enforce that boundary appropriately around the set of computational resources involved while crossing external boundaries.) The thesis is that, with proper selection of abstractions, the *same set of abstractions* (universally / uniformly applied) works for both purposes. The product of this would therefore be an implementation of a distributed computing environment that spans both and provides a high-level, interactive, shell-like experience for *programming* both sorts of environments at the same level of expressivity and efficiency as e.g. existing shells do on UNIXen. The proof in the pudding would then be that I could work exclusively within that meta-environment for most purposes rather than having to lash together a bunch of crap using dissimilar tools for each of these; the "right tool for the job" proponents could then be clearly shown the Hobson's choice inherent in their limited view of the possibilities... Whether this would have value for anyone else is beyond the scope of what I'm interested in doing... The general shape of the solution is this: - start with a rich-data language for IPC (think JSON, OGDL, or similar with enriched types and symbols) - for integration purposes, mappings to some / all of: - HTML (output-mostly) - JSON (full round-trip) - XML (full round-trip) - possibly protobufs, Thrift, etc. (how to make reflection feasible?) - potentially others (texts -> some wiki markup; etc.) - (some of) these mapping must have transitive closure - for some source data language S and target T and transforms x, x', y, y' etc. - x.S -> T; x'.T -> S --> x.S | x'._ -> S - note intermediate forms are desirable x.S | y._ | y'._ | x'._ -> S - path of least resistance might be: - extend JSON with first-class rich type literals, e.g. at least - URIs - quantities (numerics with dimensions, e.g. "5 joules") - symbols per se - possibly first-class node labels / references - consider Haskell data / labeled record declaration syntax - consider Lua table / method sugar: T { foo = 1 } ... - possibly some additional syntactic sugar to make less onerous - build a shell around that - i.e., functions / filters / processes / commands / pipes / composition - seamless integration of in-node micro-processes and external processes - structure-preserving pipes and richer pipe wiring - runtime provides: - configurable universal resource namespace - local and remote access to resources via generic interfaces - native devices and services - synthetic devices and services - need less statefulness than 9p; consider Octopus op - nb. op <~~> REST (!) - a decent distributed data store (implicit versioning, replication when appropriate, etc.) - cf. Amoeba Bullet filesystem, SOAP (not that SOAP) directory services, etc. - cf. OceanStore, etc. - cf. Lamport's, Cox's etc. research on distributed synchronization - cf. operational transform (OT) theory and patch theory, time / state vectors, etc. - mobility solution TBD. Mobile u-processes or reflect / reify / migrate the entire node? - use that to build as much of an end-user environment for the use cases as possible - need task-farming / process mobility etc. in the cluster case - need universal eventing, coordination, code swapping, etc. in the dispersed case Been sort of blocked (pun intended) on the idea of trying to define the shell's semantics as a block-reduction semantics with PAR, SEQ, ALT, and friends from Occam for a while now. Getting a bit academic; starts to look like Piccola's form algebra, or in more generalized form the ambient calculus. May simply punt on that; defining a stream algebra and stream combinators is trivial by comparison, even though it leaves something to be desired in definitional rigor. A couple of key requirements: - the meta-computer should be trivially extensible with / to new hosts and devices - "inject" / install / execute a single, small code unit to join into cloud - bootstrap from there into full environment - for tiny nodes (controllers, sensors) --- two options - host complete but minimal runtime environment (implies other requirements, ~prohibitive) - possibly two (or more) distinct roles hosts can play e.g. - "full" node vs. - merely sensor / controller "device" nodes - potentially others: storage, compute, console, etc. nodes - bigger issue for the "personal cloud" case than the generic cluster case - the meta-computer contains a single administrative boundary from user perspective - but must smoothly cross certain "external" administrative boundaries - network barriers (firewalls), etc. - when appropriate -not suggesting unauthorized circumvention) - user environment / view of the world extends across these "translucently" (One last, last thing to note: the resemblance of my desiderata to what you see with e.g. botnets is not accidental. A white-hat variant of the botnet concept is actually a pretty good model for end-user computing in the scenarios I mentioned, and the use cases are very similar, particularly (b), with the important exception that the motivation is to merely make use of one's *own* disparate resources more effectively. Existing botnet technologies fall short of providing the kind of seamless global environment desired, though, and are pretty much a kitchen sink mishmash of crapware you'd never want to try to use and without any abstraction away from pure, native, if remote / distributed command-and-control. Wasp and it predecessor Mosquito being, perhaps, the exception (and not enough of one.) Admin tools like puppet and chef are, as previously mentioned, a lot closer on some levels, not on others.) (One last, last thing to note: was deeply into in the mobile agent thing back when that was tres cool, circa General Magic era. Gave up on it back then as a solution in search of a problem; agents for mail clearly trumped by my own then-company's standards-based e-mail product. Have identified two problems for which it may be *the* solution over the last decade. First, in the dispersed case, mobile computation is generally going to be the lowest-friction solution to certain problems (i.e., programming a limited controller or sensor edge-node, particularly one with intermittent connectivity). And in the large-cluster / chunky-data case, it's nearly an absolute necessity to take the computation to where the data is... These two recognitions have forced me to really move towards considering higher- order pi-calculi and friends, and even dabbling with the ambient calculus a bit. Ambient in particular is really interesting, though Cardelli can be a bit formal and inscrutable (on this or any other topic) and it's a bit early-days in that regard, probably too big a mindset shift to make a practical solution out of, really. FWIW, we dabbled with something so close to the ambient calculus that it was indistinguishable back at Active* --- w/o the formalism, of course. That was mostly Sean M.'s doing, though, props etc.) jb From jbone at place.org Fri Dec 11 20:01:20 2009 From: jbone at place.org (Jeff Bone) Date: Fri, 11 Dec 2009 22:01:20 -0600 Subject: [FoRK] silky's links... Message-ID: <04488445-476D-4E77-B7B8-34FA79F70AE9@place.org> ...hmm, deja vu... distinct feeling I've seen this before. Quite a why the lucky stiff vibe... could it be? Or is that just a matrix- glitch? ;-) jb From sean at conman.org Fri Dec 11 22:41:08 2009 From: sean at conman.org (Sean Conner) Date: Sat, 12 Dec 2009 01:41:08 -0500 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> Message-ID: <20091212064108.GB23958@brevard.conman.org> It was thus said that the Great Jeff Bone once stated: > > Their concept of actors --- async invocations returning promises / > futures --- is seriously flawed, though. But the language as a whole > and its libraries, documentation, etc. --- the "whole enchilada" --- > has the "feel" of being well thought-out and well-crafted, though. > > > Random thoughts... Random thoughts indeed. Here are a few of mine. To me, they're related, but your milage may vary. About thirteen years ago (back when I was a tenured undergrad) I was playing around with language design and implemented my own Forth-like language (basically because I wanted to know how Forth was implemented). Unlike Forth, though, it had an object system, polymorphism and operator overloading. I even used the language for a class project---a Unix shell (the class was "Unix Systems Programming"). The real innovation in my "shell" (which was really an extention of the language to execute programs) was the fact that a Unix command was a first class object. Not only simple commands but piped commands as well: unix var lspager ( declare a unix command variable ) { "-l" "ls" } { "more" } | ( 1st cmd ) ( 2nd ) ( this connects the two together in a single object) lspager ! ( var ) ( store object into var ) Yes, syntax sucked (it's Forth). But I loved the idea that Unix commands could be stored in variables, and that you could do stuff like: { "-l" "ls" } unix const ls { "more" } unix const pager ls pager | unix const lspaged lspaged exec { "less" } some.function.that.needs.a.pager.program And so on and so on. I even had easy ways to redirect stdout and stderr, and adding support to pipe stderr would be easy, but the resulting pipelines would have been rather interesting to construct (stderr through one set of pipes, stdout through an entirely different set). It was also round this time that I was hired by a local company to help port Unix programs to QNX. QNX is an underrated operating system (kernel is only 8K on an 80486 class machine, Pentium kernel probably isn't much larger) but you really need a network of machines to see the full potential of it: it's entirely network transparent. Sure, at the command line it looks like a Unix system, but that's just a superficial layer over the operating system. Each machine on the network (and really, it's a network segment as the underlying protocol is Ethernet only) has an id and you could do stuff like: //5 ls | //3 grep foobar | //7/tr -d '\r' | iconv -f utf-8 -t iso8859-1 >//8/tmp/output Which translated into English reads: Run the program "ls" on node 5, pipe the output to the program "grep" on node 3; pipe that output to the localnode running the program "tr" which resides on node 7, then output that again to the program "iconv" which is on the localnode and finally place the output on node 8 in the file "/tmp/output". I used to regularly use the modem on my boss' machine, and he would use the printer hooked up to my machine (yes, you can use devices from other nodes as if they were local). I really liked QNX, but never ran it at home because the value (as I saw it) was in multiple machines, and while I had multiple machines at the time, they all weren't 386 or better. A related thought---I was interested in the VAX architecture (not VMS, the actual VAX assembly language) primarily because I was an assembly language junkie. The assembly language, despite being about as CISCish as you can get, was also very RISCish in a certain regard---all instructions followed the same format, and all instructions could use all addressing modes (and with enough exposure, one could literally read hex code and decode the instructions), and all the registers (including the PC) were general purpose. Two of the instructions, CALLS and CALLG were very interesting. With CALLS, you push parameters onto the stack and called the function: movl #val2,-(sp) movl #text,-(sp) calls #2,printf ; two parameters being passed (close to that---my VAX reference is currently unavailable to check right at the moment). Okay, nothing odd about that. The other call, CALLG, takes a pointer to a block of memory that contains the parameters: foo: dw 2 ; two paramters dl #text ; pointer to text dl val2 ; some value callg printf,foo But notice we can call the same functions as with CALLS! printf will get a pointer to the parameters (in R12 if I recall) regardless of which method was used to call the procedure. Take a call like the following (please): gwindow = XCreateSimpleWindow( gdisplay, RootWindow(gdisplay,DefaultScreen(gdisplay)), 0, 0, WIDTH, HEIGHT, 0, 0, WhitePixel(gdisplay,DefaultScreen(gdisplay)) ); That's nine parameters to push onto the stack. Not that much of a problem when called once, but if I were creating several? On the VAX, I could (hypothetically) do something like: XCreateSimpleWindowParams swp; swp.display = gdisplay; swp.parent = RootWindow(gdisplay,DefaultScreen(gdisplay)); swp.x = 0; swp.y = 0; swp.width = WIDTH; swp.height = HEIGHT; swp.border_width = 0; swp.border = 0; swp.background = WhitePixel(gdisplay,DefaultScreen(gdisplay)); for (i = 0 ; i < 5 ; i++) { swp.x = i * 100; swp.y = i + 100; window[i] = XCreateSimpleWindow(&swp); } Simpler, a bit more self-documenting and possibly a bit faster (especially if you have repeated calls to functions that take a huge number of parameters, most of which the same). But when I realized that, another thought struck me---this is a form of message passing! Flashback: To the days of the Amiga (AmigaOS---a real run operating system to code for) and passing messages between tasks (and this is why QNX was so cool). On the Amiga, you would do something like: struct mydata { struct Message base; int a; int b; /* etc etc */ }; then fill in an instance of struct mydata (or maybe struct Message if that filled the needs of the message), then pass that to the SendMsg() function (on the Amiga, device drivers all registered a message port, so using a device, or even a file system, was nothing more than passing messages). But, getting back the VAX---CALLG looked more like sending a message than calling a function that I suddenly made the realization that a function call was nothing more than synchronous message call. I'm sure there's some implication of this, but of what, I'm still not sure. One other related thought I had years ago---again with the Amiga. AmigaOS is actually comprised of three parts---Exec (the actual "kernel", handles memory, devices, message passing and task scheduling), DOS (files, filesystems and the concept of a "process") and Intuition (the GUI). What made AmigaOS even more unique (in my opinion) is that all three were (maybe even still are) shared libraries. All the functions in Exec were called the same way as all the functions in DOS or Intuition or any other shared library. Device drivers were also shared libraries, but ones that could have their own tasks (read: threads). And in theory (but I never proved it), one could make an application that was also a shared library. It always bugged me that Unix typically wrapped whole programs around function calls (like kill, or stat or mkdir) and yet stuff I would have loved to use in my programs, like grep, could not be used directly in my own programs. Sure, Microsoft made it possible to use their applications as a library, but that was more "remote control" than an actual library call. Why can't I just make a straightforward API call into an application? -spc (Then there's the filesystem I designed on paper that allowd one to use sound clips for "filenames" ... ) From drernie at radicalcentrism.org Fri Dec 11 23:39:39 2009 From: drernie at radicalcentrism.org (Dr. Ernie Prabhakar) Date: Fri, 11 Dec 2009 23:39:39 -0800 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> Message-ID: <612446AD-876C-4BED-911D-338A33881416@radicalcentrism.org> On Dec 11, 2009, at 7:13 PM, Jeff Bone wrote: > (8) LLVM. Too compiler-centric, would need extensive runtime support. I still have great hopes for MacRuby (just got commit access -- woot! :-). It is built on LLVM and the Objective-C runtime, and there's lots of clever ways we might be able to leverage the dynamic nature of Ruby to exploit both of those. Plus, the GCD support opens lots of intriguing options for managing concurrency. While not as pure (or easily made cross-platform) as the other languages you mention, MacRuby + LLVM + GCD opens some really interesting ideas; that might actually become mainstream (at least on the Mac). -- Ernie P. From michaelslists at gmail.com Sat Dec 12 05:16:34 2009 From: michaelslists at gmail.com (silky) Date: Sun, 13 Dec 2009 00:16:34 +1100 Subject: [FoRK] silky's links... In-Reply-To: <04488445-476D-4E77-B7B8-34FA79F70AE9@place.org> References: <04488445-476D-4E77-B7B8-34FA79F70AE9@place.org> Message-ID: <5e01c29a0912120516g73742e2fq8d5c5302d0c913fd@mail.gmail.com> On Sat, Dec 12, 2009 at 3:01 PM, Jeff Bone wrote: > > ...hmm, deja vu... distinct feeling I've seen this before. ?Quite a why the > lucky stiff vibe... ?could it be? ?Or is that just a matrix-glitch? interesting; well I have heard this persons name before, but I haven't seen any of his work. I can confirm that I am me, and no-one else :) -- silky http://www.mirios.com.au/ http://island.mirios.com.au/t/rigby+random+20 guileless: medicinal bravo. MUSIC INVARIABLY? UNREGISTERED. From jbone at place.org Sat Dec 12 05:47:30 2009 From: jbone at place.org (Jeff Bone) Date: Sat, 12 Dec 2009 07:47:30 -0600 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> Message-ID: Sean writes: > It was also round this time that I was hired by a local company to > help port Unix programs to QNX. QNX is an underrated operating > system (kernel is only 8K on an 80486 class machine, Pentium kernel > probably isn't much larger) but you really need a network of > machines to see the full potential of it: it's entirely network > transparent. Sure, at the command line it looks like a Unix system, > but that's just a superficial layer over the operating system. Each > machine on the network (and really, it's a network segment as the > underlying protocol is Ethernet only) has an id and you could do > stuff like: //5 ls | //3 grep foobar | //7/tr -d '\r' | iconv -f > utf-8 -t iso8859-1 >//8/tmp/output Good stuff, Maynard! Like the Forth thing, never thought about it in the shell context though (beyond e.g. using dc....) Wrote a bunch of Forth back in the day (on mucks, and before that on the PC; my second "serious" program I ever wrote was in a language called Graforth that ran on the original PCs. The program was a 3d animated star map fed from real astronomical data (meticulously hand-typed in by me from some paper map that showed xyz in c-years with Sol at the origin.) Graforth was extremely cool for graphics programming; it provided 3- ary cartesian coordinates and 3d point and wireframe animation at ~10 FPS on a first-gen Compaq luggable! That coupled with an early fixation on RPN sealed my fate for me for a while. That said, I can't really stomach it enough anymore to take things like Factor seriously...) Familiar w/ QNX; had it running on a few machines at the house a few years back when they made it more freely available, and had read the papers etc. long before that. One problem here, with this: that style of network transparency isn't really network transparent at the level of the individual composition of commands. For one thing, network transparency is a bit of a canard anyway, cf. Waldo et. al. Anytime you've got a network of any complexity involved, you've got all kinds of failure modes that you don't have in the purely local case. W/o making those explicit, your code tends to break in weird ways. Second thing: explicit *node* addressing is a bit troublesome, as it requires certain things of the namespace; either a global name resolver or some significant amount of shared context between nodes. This induces quite a bit of coupling in the code. Various languages / systems of course tackle this in different ways; in the "delay-tolerant networking" limit, it implies async store-and-forward and routing coupled with some clever naming tricks. In the more usual sense, Erlang's process addressing (rather than e.g. channels) provides a bit looser coupling but still doesn't entirely suffice; though at least failure is handled explicitly, even if remote PIDs embed the node name. Still, yeah, even simply adding QNX-style node addressing into the shell leads to a lot of power, particularly in the more homogenous / well-networked cluster case. The next big problem, dealt with reasonably in Plan 9's approach via e.g. its 'cpu' command, is that each element in that pipeline runs in a completely unique environment. Plan 9 and Inferno get around this by arranging to have the invoking shell's entire environment exported to the remote node, so that it sees the same filesystem / resource namespace as the invoking process. (Which is pretty weird, but cool, if you think about it.) If necessary the subprocess can then customize that namespace, mounting in local resources as appropriate. No conclusions here, just musing. Summing up, composition and coordination in the distributed case are interesting problems. Several approaches: - channels (very tight coupling) - explicit node-addressed synchronous composition / dispatch / coordination (tight coupling) - global / local namespace mapping and synchronous RESTful interaction (fairly tight coupling) - pid-addressed async messaging (semi-tight coupling) - async store-and-forward w/ some clever abstract naming and routing (moderate coupling) - completely content-based dispatch (i.e. Linda and generalizations thereof; very loose coupling) I'm sure that's far from a complete taxonomy, but it's early am and the caffeine hasn't kicked in yet. ;-) jb From drernie at radicalcentrism.org Sat Dec 12 09:03:23 2009 From: drernie at radicalcentrism.org (Dr. Ernie Prabhakar) Date: Sat, 12 Dec 2009 09:03:23 -0800 Subject: [FoRK] composition and coordination in the distributed case Re: the fix is in? lang, os, etc. continued In-Reply-To: References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> Message-ID: <86A98A67-4ABD-4095-B555-B98359C2CA39@radicalcentrism.org> Hi Jeff, On Dec 12, 2009, at 5:47 AM, Jeff Bone wrote: > No conclusions here, just musing. Summing up, composition and coordination in the distributed case are interesting problems. Several approaches: > > - channels (very tight coupling) > - explicit node-addressed synchronous composition / dispatch / coordination (tight coupling) > - global / local namespace mapping and synchronous RESTful interaction (fairly tight coupling) > - pid-addressed async messaging (semi-tight coupling) > - async store-and-forward w/ some clever abstract naming and routing (moderate coupling) > - completely content-based dispatch (i.e. Linda and generalizations thereof; very loose coupling) Great taxonomy. Where would you put tools like ssh, Capistrano, and other flavors of remote shell / configuration? -- Ernie P. From ken_ganshirt at yahoo.ca Sat Dec 12 10:29:08 2009 From: ken_ganshirt at yahoo.ca (Ken Ganshirt @ Yahoo) Date: Sat, 12 Dec 2009 10:29:08 -0800 (PST) Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: <20091212064108.GB23958@brevard.conman.org> Message-ID: <628718.62688.qm@web33005.mail.mud.yahoo.com> --- On Sat, 12/12/09, Sean Conner wrote: > It was thus said that the Great Jeff > Bone once stated: > > > > ...[snip]... > > > > Random thoughts... > > ? Random thoughts indeed.? > > ? Here are a few of mine.? ... > > ...[snip]... > Thank you for that, Sean. I can comprehend that. If it's at all related to Bone's Babblings, it helps. I grok assembly language and *nix. I mostly get VAX and AmigaOS. All stuff, or similar to, that I've worked with. My serious developer days are so far behind me that I generally have to infer about 100.3% of what Jeff goes on about. Of course maybe that's him, not me.... My affair with assembly language predates VAXen a little bit. I did a lot of development on PDP-11s running RSX (a realtime operating system), Macro-Assembler and DecNet. That combination didn't give you anything quite like QNX but it was sure easy to do interprocess communication both on and between nodes. Initially we were using it to build SCADA systems, process monitoring and some early crude network management for telco networks. But we even built a major order entry system with it. First mechanized order entry system in the world for telco service order entry, tracking and scheduling. Doesn't seem like much today, but it was sure the cat's ass in '75. We did demos for visitors from telcos in the US and Europe and even a delegation from Japan. We were the first DEC customer in North America with an actual fully-implemented fully-networked non-SCADA production system on DECNet. (Doing networked SCADA systems on DECNet was trivial.) We were also incredibly naive. We didn't learn until years later that it's impossible to structure and reuse assembly code. So we just did it. I guess our extensive Macro-Assembler code library was just a figment of our imaginations. DEC's Macro made it so easy to use library code that, after we built the first SCADA system, all subsequent ones were more like playing with Lego than programming. RSX Macro-Assembler had similar capabilities to the ones you described for CallG on VAXen and the message passing on AmigaOS (actually it took a combination of RSX Macro and DECNet to get that). Not quite as simple but one did not have to make a large distinction (mentally) between making function calls and message passing. Back in the day we mostly just refered to it all as interprocess communication (yeah, I know that's gross and inaccurate but it worked for talking about it in such an early un-networked environment as it was.).. didn't much matter what device the "other" process was on, either. For communicating with/controlling non-computer devices, when you have to write all your own device drivers it's pretty easy to make them more homogeneous, and appear more like just another process, than if individual vendors do their independent proprietary thing. Which makes treating it as simply function calls or message passing much easier, too. And, when you also have to roll your own file system, that all makes for a very nice homogeneous environment to play in. So when I first saw technical decriptions of the AmigaOS, it was sort of, What took you so long? Yeah, ours was primitive by comparison but, logically, I saw AmigaOS as evolutionary, not revolutionary. Sorry about the trip down memory lane. It really is sort of relevant, at least as far as the deja vu component of these discussions go. *nix is still a central and significant, or at least useful, OS today. I am still reasonably functional with it. But that's not where I learned it. In my SCADA development days I also worked with another DEC operating system, RT-11. After becoming fluent with it and RSX, learning *nix -- and CP-M and MS-DOS -- was really just refresher courses. Something old, a little bit new, something borrowed, something.... Well, you get the picture. Just wanted to thank you for using "language" I could understand and relate to. If it's even fractionally related to what Jeff's rambling on about, it's nice to have confirmation that some of the headaches I've got from reading and inferencing him has not been entirely in vain. ...ken... __________________________________________________________________ Looking for the perfect gift? Give the gift of Flickr! http://www.flickr.com/gift/ From sean at conman.org Sat Dec 12 13:29:21 2009 From: sean at conman.org (Sean Conner) Date: Sat, 12 Dec 2009 16:29:21 -0500 Subject: [FoRK] the fix is in? lang, os, etc. continued In-Reply-To: References: <8E720DA5-92A9-458F-A2AC-7A72741F88A6@place.org> <36BC2C9B-DFD8-43AE-82FD-1DCA723F1B16@place.org> Message-ID: <20091212212921.GA30394@brevard.conman.org> It was thus said that the Great Jeff Bone once stated: > > One problem here, with this: that style of network transparency isn't > really network transparent at the level of the individual composition > of commands. For one thing, network transparency is a bit of a canard > anyway, cf. Waldo et. al. Anytime you've got a network of any > complexity involved, you've got all kinds of failure modes that you > don't have in the purely local case. W/o making those explicit, your > code tends to break in weird ways. Second thing: explicit *node* > addressing is a bit troublesome, as it requires certain things of the > namespace; either a global name resolver or some significant amount > of shared context between nodes. This induces quite a bit of coupling > in the code. Various languages / systems of course tackle this in > different ways; in the "delay-tolerant networking" limit, it implies > async store-and-forward and routing coupled with some clever naming > tricks. In the more usual sense, Erlang's process addressing (rather > than e.g. channels) provides a bit looser coupling but still doesn't > entirely suffice; though at least failure is handled explicitly, even > if remote PIDs embed the node name. Recent problem at work. Upstream Internet provider burps, we're off the Internet for about five minutes, then things appear okay. I was working on a server at the time and needed (okay, "wanted" is more like it) the snmptrap daemon to record MIBs numerically instead of the half-assed method currently being used. I'll skip over the issues with *that*, but yes, I got it working and it even survives a reboot (the server in question is 1: virtual, and 2: my "workstation" so no customers are involved). Only now syslog is hanging. About the only coupling between snmptrapd and syslogd is the fact that snmptrapd uses syslog() to log messages (which writes to a local Unix socket called "/dev/log") and that syslogd reads whatever is sent to "/dev/log" and does whatever it's programmed to do with the information. I'll skip over the several hours I spent tracking the issue down, but the actual problem was caused by the upstream Internet provider burp earlier in the evening. Now, if the coupling between snmptrapd and syslogd is loose, what could possibly be coupling syslogd and some upstream routers? Well ... syslogd [1] on that server is instructed to not only keep a local copy of the logs, but forward them to another server (on a different network). The server is on the 10.10.10.0/24 network [3], the DNS resolver it's using is on the 192.168.100.0/24 network (but it's still local) and the network the logs are being sent to is on the 172.18.4.0/24 network (not local---in fact, it's somewhere else on the Internet). We're in the process of phasing out the 192.168.100.0/24 network and the only things left running on it are a few nameservers due to legacy issues (both with out network and several customers). Apparently, when the upstream Internet provider burped, they stopped announcing (to the Internet at large) the 192.168.100.0/24 network. So syslogd starts up, and is trying to resolve the host it's supposed to send data to. It queries the DNS server (and since it's on the local network, even though a different IP block, no problem), but the DNS server, which didn't have the information cached, attempted a lookup, but never saw the reply. I didn't specify the IP address of where to send the syslog information, because that would be "tight coupling" (or "tighter coupling") over the server name (I could change the IP address of the server and syslogd would still find it by name). But because I used the name over the IP address, a problem upstream caused a problem locally. > No conclusions here, just musing. Summing up, composition and > coordination in the distributed case are interesting problems. > Several approaches: > > - channels (very tight coupling) > - explicit node-addressed synchronous composition / dispatch / > coordination (tight coupling) > - global / local namespace mapping and synchronous RESTful > interaction (fairly tight coupling) > - pid-addressed async messaging (semi-tight coupling) > - async store-and-forward w/ some clever abstract naming and > routing (moderate coupling) > - completely content-based dispatch (i.e. Linda and generalizations > thereof; very loose coupling) The problem is to get data from point A to point B. A direct channel is easy to set up, and easy to debug, but not flexible in the face of changes. As you add levels of indirection, you gain flexibility but at the cost of configuration and troubleshooting [4] (especially troubleshooting). One more work-related story, that I think is related to coupling issues. Customer of ours (we're a small webhosting company) wants to redirect a site from an old domain to a new domain. No problem. We use Apache, and it's as simple as: ServerName www.example.com ServerAlias example.com Redirect permanent / http://www.example.net/ and boom! All web requests to example.com get a permentent redirect (which helps with keeping your Google rank for instance) to the new site. Wonderful! Except we use a "control panel" [5] which supposedly makes "mangaging" the webserver "easy". And when I did the above? It "broke" the "control panel". As in, the "control panel" "dumped core" (which is incredible, when you consider it's written in PHP [7]). You want to know the work around we implemented? We set up a server, with Apache, but no "control panel". The sole purpose of that server is to basically redirect domains. We then change the IP address of the old website to point to this server. I am not making this up. -spc (So, where's the coupling here?) [1] It's a custom syslogd I wrote---network processing (and reading from "/dev/log" is considered a network read) in C, higher level logic in Lua [2], which means I can actually do some extensive filtering of syslog messages, more than you get from the stock syslogd. For instance, it creates a one-line summary of five logging messages from Postfix and logs the summary. On my workstation at home, it tracks failed SSH connections and if there are more than 6 failed attempts, blocks the IP for about an hour. Yeah, I could have a process scan the log files in real time, but 1) the default syslogd only allows on to discriminate on facility and logging level; I can discriminate between sending host, program, facility and level, 2) why have an extra process hanging around? [2] Just because I thought it would be fun. And a way of embedding Lua in a C program. Yes, I'm wierd that way. [3] Not really; I'm munging the IPs for illustrative purposes [4] "I'm a troubleshooter. I see trouble, I shoot it." [5] I *loathe* control panels. You cannot fathom the depths of my hate for control panels. They are the bane of my existance and if I could banish them from The Company, I would. But I can't. So I won't. Sigh. [6] [6] http://boston.conman.org/2008/01/05.1 http://boston.conman.org/2009/11/02.1 [7] The less said about PHP, the better. From michaelslists at gmail.com Sun Dec 13 20:48:59 2009 From: michaelslists at gmail.com (silky) Date: Mon, 14 Dec 2009 15:48:59 +1100 Subject: [FoRK] One reason to keep an actual alarm clock... In-Reply-To: References: <4B22DCCB.5040501@place.org> Message-ID: <5e01c29a0912132048w78a5c93en562d8a823ca60dc8@mail.gmail.com> Not being a twitter-er, this may already be well-known, but I offer it only as evidence that setting up the pressure-sensitive bed is by far the easiest option: http://twitter.com/newlywedsontjob (Well, secondly only to actually keeping the alarm in another room, which is what I do). -- silky http://www.mirios.com.au/ http://island.mirios.com.au/t/rigby+random+20 LESS restrain ax scared! Hermaphroditic misgivings COMMAND, egregiously by-election; COLORANT...