6 ms·
Lisping at JPL (2002)
- gaius 10y agoPeople have this idea of scientists in general and NASA in particular as being purely objective and data-driven and let the science speak for itself, but articles like this illustrate that they are at least as political and irrational as any commercial entity.
- gkya 10y agoPolitics is a human thing, it is an artifact of interaction of persons and peoples. And irrationalness is as human as a fart, you know it's rude and it's wrong, but sometimes it happens. The fact is, we're hard-wired to be politic, irrational and superstitious.
- B1FF_PSUVM 10y ago> sometimes mostly always
- gkya 10y agoA famous quote from this article: The Remote Agent software, running on a custom port of Harlequin Common Lisp, flew aboard Deep Space 1 (DS1), the first mission of NASA's New Millennium program. Remote Agent controlled DS1 for two days in May of 1999. During that time we were able to debug and fix a race condition that had not shown up during ground testing. (Debugging a program running on a $100M piece of hardware that is 100 million miles away is an interesting experience. Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem. The story of the Remote Agent bug is an interesting one in and of itself.)
- codr4life 10y ago" One of the reasons I stayed at JPL for twelve years was that I was appalled at what the software industry had become. The management world has tried to develop software engineering processes that allow people to be plugged into them like interchangeable components. The "interface specification" for these "components" usually involves a list of tools in which an engineer has received "training." (I really detest the use of the word "training" in relation to professional activities. Training is what you do to dogs. What you should be doing with people is educating them, not training them. There is a big, big difference.) To my mind, the hallmark of the interchangeable component model of software engineers is Java. Without going into too many details, I'll just say that having programmed in Lisp the shortcomings of Java are glaringly obvious, and programming in Java means a life of continual and unremitting pain. So I vowed I would never be a Java programmer, which pretty much shut me out of 90% of all software engineering jobs in the late 90's." Word, this needs to be seen for what it has turned into if we're ever going to get out. I've tried every kind of paid software dev setup, it's all abusive business bullshit these days.
- sdfaasdf 10y ago> paid software dev setup, it's all abusive business bullshit these days. Care to elaborate ?
- wantoncl 10y agoMy 2 cents: there are sites like Rentacoder.com. Are there any RentaManager or RentaCxO.com sites? Does anyone discuss off-shoring management or executive positions to save money?
- codr4life 10y agoI went from startup, to consultant, to freelance, to startup, to big company, to startup, to freelance. There is nothing in there that's worth the effort for me any more; I would rather starve than waste one more second on filling someone else's pockets with money using the wrong tools while being treated as dirt. That silly game is so over.
- chriswarbo 10y agoSee also http://wiki.c2.com/?PlugCompatibleInterchangeableEngineers http://wiki.c2.com/?PlugCompatibleInterchangeableEngineers
- pjmlp 10y agoThese days, companies like Google think that even Java is too advanced for cog developers.
- planteen 10y agoWhat do they push instead? Python? Go? JS?
- pjmlp 10y agoIt was a reference to Go's type system.
- notduncansmith 10y ago
- sdfaasdf 10y agoYou have to know "design patterns" they said. You have to know Java they said.... and then I knew I was in the world of "professional" software. Sigh.
- lisper 10y agoAuthor here. I'm on the road today so latency will be high but I'm happy to answer any questions people have. Also, a shameless plug: I'm still coding in and writing about Lisp. Some currently active projects: https://github.com/rongarret/ergolib https://github.com/rongarret/ergolib https://github.com/rongarret/BWFP https://github.com/rongarret/BWFP https://github.com/rongarret/tweetnacl/blob/master/tweetnacl-bindings.lisp https://github.com/rongarret/tweetnacl/blob/master/tweetnacl... And I just finished (but have not yet published) a Lisp implementation of the Signal double-ratchet. If anyone is interested let me know and I'll publish that too.
- planteen 10y agoI used to work on flight software for a private company. It seemed like inertia from "heritage" always drove lots of decisions. From my memory, I remember quality assurance from NASA getting hung up on the following items during design reviews: 1) an RTOS they weren't familiar with 2) a language they weren't familiar with (the familiar set was Ada, C, C++) 3) dynamic memory allocation How much push back did you get from quality assurance?
- lisper 10y agoLisp was not the RTOS, it was a process running under the RTOS (vxWorks). Nonetheless, we did use a Lisp with a hard-real-time GC. That helped allay some of the dynamic memory allocation FUD. We got a ton of pushback about the unfamiliar language, but Lisp eventually won out because back then there really was no viable alternative. They actually tried to port the code to C++ and failed (running afoul of Greenspun's tenth and the immaturity of C++ compilers of the day).
- na85 10y ago>... hardware that is 100 million miles away is an interesting experience. Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem So... How exactly does it work to have a repl on the spacecraft? Doesn't the system halt while it's waiting for user input?
- rurban 10y agoI happened to be at the 40th LISP anniversary conference 1998, with John McCarthy. Erann's JPL talk about the Remote Agent was by far the most interesting talk there, and I still consider it one of the best conference talks ever. I'd really like to see the slides being published. I also attended this famous "dinner with eric" at the same conference, actually sitting next to Eric and Erann was sitting on the other side: http://blog.rongarret.info/2009/06/my-dinner-with-erik.html http://blog.rongarret.info/2009/06/my-dinner-with-erik.html I liked Eric a lot, and really enjoyed his troll interactions with Xah Lee, one of the most famous trolls ever. Unfortunately he didn't know exactly who to pick a fight with. Erann was clearly the wrong target. Erann hated it. But as outsiders who stayed out of those silly fights we learned a lot, what boils in a LISPer. XML especially. Or Windows. Or special variables: https://groups.google.com/forum/#!msg/comp.lang.lisp/WRQkT572RQ0/OvN9X5oNq8MJ https://groups.google.com/forum/#!msg/comp.lang.lisp/WRQkT57... A very good CLL thread btw. Most of the people agreed with Eric, even if Erann's proposal was very good. (I used his old name to be able to look things up. The name change happened much later, when Erann got married and choose a better name, Ron Garret.) PS: Eric said 99 in his lugm blog post, but I'm pretty sure it was 98. http://naggum.no/lugm-time.html http://naggum.no/lugm-time.html PPS: I found some old RA material here: https://web.archive.org/web/19991014000627/http://www-aig.jpl.nasa.gov/public/home/gat/ https://web.archive.org/web/19991014000627/http://www-aig.jp... but mostly for ESL (the control language), not the actual RA simulation and HW stuff he was emulating.
- gkya 10y agoThere's this (edit: 2012 Google Tech Talks) video: https://www.youtube.com/watch?v=_gZK0tW8EhQ https://www.youtube.com/watch?v=_gZK0tW8EhQ "The Remote Agent Experiment: Debugging Code from 60 Million Miles Away" by Ron Garret. IDK how similar it is to the 1998 talk by him you refer to. I guess he's around here by the nick "lisper".
- wtbob 10y ago> I can't even say the word Lisp without cementing my reputation as a crazy lunatic who thinks Lisp is the Answer to Everything. So I keep my mouth shut (mostly) and watch helplessly as millions of tax dollars get wasted. I've been there too, only in the commercial world watching corporate profit be wasted. It's really disheartening to see the computing world re-invent S-expressions badly (first as XML, then as JSON) and reinvent Lisp badly (e.g. JavaScript). Lisp really is awesome, and it really is the best language of which I'm aware, if for no other reason that if one wants to do enough programming in the language, then one can implement any other language, seamlessly.
- B1FF_PSUVM 10y ago> in the commercial world watching corporate profit be wasted And, somehow, the beancounters with the spreadsheets to squeeze the last microdollar from an operation have not hit on a way to make money from this in sixty years. Puzzling.