Last night the Institute for Figuring sponsored a lecture on spider vision and cognition by Simon Pollard: “What Is It Like to be a spider?”
Dr. Pollard started by saying that spiders are not the little automatons we might think they are (hey, I'm pretty sure humans are automatons, but I don't hold it against them). It seems that jumping spiders (one particular group of jumping spiders, Portia, was the focus of the talk) exhibit some behaviors that most people would think of as too complicated for a spider, which just reminded me of Valentino Braitenberg's “law of uphill analysis and downhill invention.”
Jumping spiders will spot a prey spider sitting in a web, then take a route that eventually gets them closer to the prey while staying hidden from it. This hunting “detour” may take hours, during which the jumping spider often does not have the prey in visual contact. That is, it seems to have “memory” of a “goal”.
Jumping spiders have amazing vision for such small creatures—something like 1/5 the visual acuity of human beings while being smaller than our eyeballs. They can recognize (and will attack) TV images.
They achieve this visual acuity through a pair of telescopic eye tubes.
The fovea is small with a very narrow field of view, but the spiders seem to build a detailed image by scanning an object of interest—which they do without moving their heads or bodies or eye lenses, but by pivoting the eye tubes inside their heads. The video of this was a big hit, with everyone making surprised and amazed noises when they saw a spider, sitting motionless, in front of a powerful backlight that allowed us to see the shadows of the eye tubes swiveling like mad inside its translucent head, taking in the scene.
Dessicating desert heat, blinding sun, a few margaritas and mental fatigue from viewing multiple very large things left me aching and exhausted, but the weekend's CLUI tour to the Mojave was the best one yet.
It feels counter-intuitive that a desert has such a rich selection of interesting man-made features. But I guess this is a desert with some history, having provided the landscape for aerospace pioneers since at least the 50s. We tooled around under lots of historic airspace, but we also visited some other locations that at first might seem more solid and earthbound, but which really turn out to be defined more by empty space than anything else.
The giant solar power plant is pretty insubstantial as power plants go. A million square feet of mirrors busy reflecting photons pouring down from the sky, completely silent other than an occasional hum as motors adjust the mirrors to track the sun. Over half the world's solar generated power comes from the area.
The U. S. Borax open pit mine is really just a big hole. A really big hole (or as Huell Houser would say “A really big hole!!”). With big, big trucks.
I have some pictures from the tour, and so does Lori, and so do some other people.
(I'm glad to finally be accomplishing the items on my to-do list.)
In other CLUI news, I was clicking around on Google Earth yesterday thinking man, I wish there was some way for me to overlay the Center's Land Use Database (LUDB) information on this thing. I got to the point of fantasizing about scraping the data myself when I noticed that someone at CLUI had already added this excellent feature themselves: earth.kml dynamically adds LUDB annotations to Google Earth.
In other CLUI news, the new issue of their newsletter, “The Lay Of The Land” is available.
Scott McCloud's four ways of looking at comics:
Kristofer Straub's hypercubic extension:
Mark, Charley, JoAnne, Lori and I are going on what sounds like an excellent CLUI bus trip this weekend.
Come spend the day immersed in Boron with the Center for Land Use Interpretation! This all day guided bus tour will begin in Culver City, congeal at the Center’s Desert Research Station, then spend the day visiting the remarkable places that ring this dramatic and compelling part of the California landscape
Sites that will be visited and/or discussed include: The largest open pit mine in California; the largest solar power plant in the world; a mountaintop rocket test site; and an abandoned federal prison. The day will end at Domingo’s, the restaurant in Boron that is the real reason why the Space Shuttle crew lands in California.
Previous CLUI bus trips: Terminal Island, Owens Valley
The Los Angeles Sheriff's Dept. has been working for several years with a defense contractor, Ocatron, to develop a specialized UAV for police work. Last week they gave reporters a demo.
The stealth quality of the SkySeer is a big advantage, according to police.
“The plane is virtually silent and invisible,” said Heal. “It will give us a vertical perspective that we have never had.”
The Los Angeles Sheriff's Department operates a fleet of 18 helicopters, priced between three and five million dollars each. The SkySeer will cost between 25,000 and 30,000 dollars.
“We never have enough helicopters,” said Heal. The police helicopters are in near-constant use, and the SkySeer would alleviate some of this pressure.
Unmanned surveillance crafts may become the norm in urban policing, says Heal.
I think he's completely correct and UAVs will probably become standard, even ubiquitous pieces of equipment for police. Especially as the industry picks up and prices fall way below the $20-30K estimate for the SkySeer. The only possible obstacle seems to be a regulatory one, and I don't mean any kind of protection of privacy.
It turns out that the FAA is upset with the Sheriff's dept. for not getting clearance for the flight, even though it was just a demonstration for reporters.
“I wouldn't want to term us as peeved, but we were definitely surprised,” FAA spokeswoman Laura Brown said. Sheriff's officials were told "that we were more than willing to sit down and talk about a certificate — but that was before their first flight.”
The FAA is now investigating Friday's demonstration to determine whether the Sheriff's Department should face disciplinary action.
“A private citizen can go to the store and buy one of those model airplanes and fly them around. But because we're doing it as a public service, we have to deal with the FAA?” said Sheriff's Cmdr. Sid Heal. Once they “take a deep breath and realize there was no malice intended, it will get back on track.”
From what I understand, it's true that if a hobbyist flies a drone (and lots of people are already flying homebrew drones) below 500', the FAA generally doesn't care. But the hobbyists have their own regulatory worries—the Academy of Model Aeronautics has its own rules for members, and they're very worried about the FAA's reaction to widespread hobbyist UAVs. Therefore the AMA prohibits models with autonomous navigation, and requires operators of remotely piloted vehicles to “maintain un-enhanced visual contact with the aircraft throughout the entire flight.”
From an article about a possible new FAA classification scheme for UAVs:
The new classifications would also include a category being referred to as “lightly restricted” to cover aircraft currently restricted to flight within visual sight as the primary basis of risk mitigation. This category includes radio-controlled model aircraft, particularly model helicopters adapted for commercial use in aerial photography; small blimps used for advertising; and agricultural UAVs.
The “lightly restricted” classification represents systems that “are giving us a good deal of problems right now and we are really wrestling, on a daily basis, with this particular group”, says Steve Swartz, from the FAA’s recently established unmanned aircraft programme office.
I think even the regulatory issues involved in the integration of autonomous vehicles into our society are completely fascinating.
There's been all sorts of news from Robo Business.
Besides agitating for robotics standards, Paolo is one of the “Rivals Skeptical of Microsoft's New Robot Software”:
The third annual Robo Business event opened Tuesday morning in Pittsburgh's Station Square with a whiff of controversy, as one established robotics expert dismissed Microsoft's recent foray into the field.
Just hours after Microsoft announced the beta rollout of its DirectX, Aegia-based Microsoft Robotics Studio (MRS), Evolution Robotics president and chief technical officer Paolo Pirjanian called the concept of building a software robotics standard, without heeding demands and costs of hardware, "a nice academic exercise." Although Pirjanian did not mention Microsoft by name, the implication was clear to the 750 or so attendees.
Of course, there's a reason he's aware of the danger of developing a robotics software platform without a clear picture of what your customers want and what kind of hardware they use.
The Register really didn't like Red Whittaker's talk:
For the last twenty years, the same robotics story has been written time and again. It goes something like, “The future is here. Robotics has moved from promise to reality and is set to explode as a major money-making field.”
Local robotics legend William “Red” Whittaker trotted out that tired line today here at the Robo Business conference. Never afraid to pat himself on the back, the Carnegie Mellon University professor promised a future full of autonomous vehicles, automated farming equipment and devices that can crawl through sewers and mines and do so for a serious profit
Also note that the Microsoft Robotics Studio has a blog. There's a link to an MSDN Channel 9 feature on the robotics group that gives a decent overview of some parts of the platform, I think.
Today Microsoft announced the Microsoft Robotics Studio, “a new Windows-based environment for academic, hobbyist and commercial developers to easily create robotic applications for a wide variety of computing platforms.”
It looks pretty Microsofty. The “Introduction to the Microsoft Robotics Studio Application Model” starts with a discussion of HTTP, REST and SOAP, and the web console interface to the Robotics Studio Runtime makes me feel like I'm installing MBeans on WebSphere—actually, that could almost be their slogan: “Makes robotics as easy as writing an MBean!”
Key features and benefits of the Microsoft Robotics Studio environment include these:
- End-to-end robotics development platform. Microsoft Robotics Studio includes a visual programming tool, making it easy to create and debug robot applications. Robotics Studio enables developers to generate modular services for hardware and software, allowing users to interact with robots through Web-based or Windows-based interfaces. Developers can also simulate robotic applications using realistic 3-D models; Microsoft has licensed the PhysX engine from AGEIA, a pioneer in hardware-accelerated physics, enabling real-world physics simulations with robot models. The PhysX simulations can also be accelerated using AGEIA hardware.
- Lightweight services-oriented runtime. Microsoft Robotics Studio provides a lightweight services-oriented runtime. Using a .NET-based concurrency library, it makes asynchronous application development simple. The services-oriented, message-based architecture makes it simple to access the state of a robot’s sensors and actuators with a Web browser, and its composable model enables the building of high-level functions using simple components and providing for reusability of code modules as well as better reliability and replaceability.
- Scalable, extensible platform. The Microsoft Robotics Studio programming model can be applied for a variety of robot hardware platforms, enabling users to transfer their learning skills across platforms. Third parties can also extend the functionality of the platform by providing additional libraries and services. Both remote (PC-based) and autonomous (robot-based) execution scenarios can be developed using a selection of programming languages, including those in Microsoft Visual Studio and Microsoft Visual Studio Express languages (Visual C# and Visual Basic .NET), JScript and Microsoft IronPython 1.0 Beta 1, and third-party languages that conform to its services-based architecture.
And
Some services provide UI in the form of HTML, typically generated from XML, but others may generate UI in any format including audio, video, and images.
The concept of accessing information through IE is very deeply integrated into the Microsoft Robotics Studio runtime. Every runtime service can be accessed this way and through simple HTML forms, possibly generated from XML using XSLT, services may be manipulated on the fly.
I don't know anything about the PhysX physics engine, but the technology demos look decent enough. The Robotics Studio simulator should be fun:
Note that the red lines in the image above are from the robots' laser scanners. Fancy!
It's a little odd seeing Microsoft release something that is, in a lot of ways, the product that was Evolution's one-time aspiration.
Does this mean that Bill Gates met an ER1 (sans ER software?) as part of a review that may have eventually led to the announcement of the Microsoft Robotics Platform today?
This is completely wrong for all I know, but it made me curious:
Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers writing only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace yourself) 6200 lines a year.
Montezuma, something I work on in my spare time, for free, consists of 13605 lines of Lisp (I subtracted 1000 from the total line count to account for code someone else wrote) written in 182 days, which is 80.2 lines per day. Which is 29273 lines of code per year, if I can keep up that rate of code writing for another six months.
Some C++ code I wrote by myself, for pay, full-time, consisted of 10901 lines of code after 165 days. Which is a rate of 66.1 lines per day, or 24126 lines per year.
I don't really remember when the C++ code began to approach the high part of the completion curve, but at least 1000 lines were added in the last month of the interval I looked at. Looking at just the first 73 days, I wrote 6070 lines of code, which is 83.2 lines per day or 30368 lines per year. Compare to the rate for the first 73 days of Montezuma development, which was 108.8 lines/day, for 39730 lines/year.
An article on Patrick Collison and Croma: “A 16 year old school boy develops a programming language for Web”
I don't know anything about the British Computer Society, but the article's peculiar focus on the fact that he used a Mac plus the expansion of Lisp as “List Processor” is suspicious.
I'm not sure just what the timeline for Croma-in-C is. I know Patrick recently declined Summer of Code-style funding to work on it based on not having enough time to get it done before the deadline. “A half-written language is of no use to anyone, and I don't want to take the risk with someone else's money.”
Later: Patrick says “It was lifted almost verbatim from an Apple PR piece which explains quite neatly why it _reads_ like an Apple PR piece. I'd really appreciate it if you could add a mention of this fact to the post.”
If American Scientist is the new Scientific American, Brian Hayes is the new A. K. Dewdney.
His article “The Semicolon Wars: Every programmer knows there is one true programming language. A new one every week” [via LtU] is a good introduction to non-programmers to why programmers end up spending so much time fighting and agonizing over different programming languages.
An International Lisp Conference was held at Stanford a year ago. This was a gathering of the faithful, and naturally there was talk about how to bring enlightenment to the rest of the world. It was also an occasion showing that even advocates of the same language are quite capable of arguing among themselves deep into the night.
At the end of the final session, John McCarthy rose to speak. He looked around at his audience and remarked, "If someone set off a bomb in this room, it would wipe out half of the worldwide Lisp community. That might not be a bad thing for Lisp, because it would have to be reinvented." His meaning, as I understood it, was partly that the Common Lisp standard had stifled innovation. But he went on to say that if he could go all the way back to the beginning, there were things he would do differently. Even the maker of the language did not see it as beyond improvement. I found McCarthy's candor refreshing, but I also had the thought: No, no, don't tamper with it. I like it just the way it is.
Before ILC 2005 I saw that Mr. Hayes had been planning on going, but after so long without his mentioning it I thought maybe he hadn't been able to get there.
These mildewing links have been clogging my blogging tool for too long, and it's time to get rid of them:
Quorum sensing: bees and ants use it to decide on new nest sites, drug-resistant bacteria use it to decide when to start to fuck shit up (Isn't “post-antibiotic era” a chilling phrase?). I'm waiting for an analysis of quorum sensing in software development. (I think American Scientist is the new Scientific American.)
Lore talks homebrew comix, and mentions Zach Beane's Lisp-powered Say What.
Clemens Fruhwirth has updated “A Guided Tour of CLIM” for the 21st century (he's got a Hello-world CLIM screencast, too). About the only thing about CLIM that has ever impressed me is the listener.
Franz is doing chatbots. (But when will we see the elusive Pandora After Hours version? Only Fritz knows for sure.) And note that “Pandorabots needs consultants.”
William Bland has a patch for SLIME that highlights edited code that hasn't been compiled.
Comic Book Resources has an interview with Scott McCloud, with some pages from his new book.
“The book starts with a radical new look at the process of comics. I just blow past the layout, penciling, inking thing (which I really think only applies some of the time nowadays, when we have all these new tools).”
Instead, McCloud breaks the creation of comics into five choices made as part of the creative process: Choices of moment, frame, image, word and flow.
“Ninety percent of the book is about those subjects that the other books just aren't talking about. I hope if I've done my job right, it's the book you want to read first, before you learn how to draw thigh muscles or how to draw the cape or how to make the runes on that sword look really cool.”
“The thing about 'Making Comics' is that it goes beyond just comics because I talk about things like storytelling and world-creation and elements of style and these are things that go just beyond 'How to Draw Comics the Marvel Way.'”
Edward Tufte also has a new book out, Beautiful Evidence.
A draft chapter is available at Tufte's site.
I'm beginning to wonder if maybe Henry Baker is insane.
The first sentence of his Pragmatic Parsing paper is “Lisp has traditionally been a language that eschews complex syntax.” I would add “So hold on to your hats!”, but maybe I don't read between the lines well.
Look at this example from the paper:
Below is a parser/transformer for Common Lisp real numbers [Steele90,22.1.2].
(deftype sign () '(member #\+ #\-)) (deftype expmarker () '(member #\e #\s #\f #\d #\l #\E #\S #\F #\D #\L)) (defun parse-number (&aux x (is #\+) id (i 0) dd (d 0) fd (f 0) (nf 0) (es #\+) ed (e 0) (m #\e)) ;;; Parse CL real number according to [Steele90,22.1.2] ;;; Return 2 values: the number and a reversed list of lookahead characters. (matchit [{[@(sign is) !(push is x)] []} ; scan sign. $[@(digit id) !(setq x nil i (+ (* i 10) (ctoi id)))] ; integer digits. {[!id #\/ !(push #\/ x) ; "/" => ratio. $[@(digit dd) !(setq x nil d (+ (* d 10) (ctoi dd)))]] ; denom. digits. [{[#\. {!id !(push #\. x)} ; decimal point. $[@(digit fd) !(setq x nil nf (1+ nf) f (+ (* f 10) (ctoi fd)))]] ; fract. digits. []} {[{!id !fd} @(expmarker m) !(push m x) ; exp. marker. {[@(sign es) !(push es x)] []} ; exponent sign. $[@(digit ed) !(setq x nil e (+ (* e 10) (ctoi ed)))]] ; exp. digits. []}]}]) (let ((sign (if (eql is #\-) -1 1)) (ex (if (eql es #\-) (- e) e))) (values (cond ((or fd ed) (make-float m sign i f nf ex)) ; see [Clinger90] (dd (/ (* sign i) d)) (id (* sign i)) (t nil)) x)))We first note that this half-page function is only slightly longer than the grammar for numbers given in [Steele90,22.1.2], and is only slightly less readable
That is one META atrocity. Here's the grammar in CLtL to which he's referring, see for yourself:
If you think that there's a slight difference in readability then something is terribly wrong with you.
What kind of mind would even choose to highlight length and readability in the comparison between the two? The META grammar/parser is 3x as long and is a goddamn mess. Focus on the fact that it's actually executable—that's the big win.
Next: Hey, maybe iterators aren't so bad either...
I finally tackled the Montezuma query language parser. And once I had something able to handle simple queries it was another 120 lines of code (using TBNL and HTML-TEMPLATE) to test a web interface:
With display of cached posts:
There's a lot left to do, but I am very pleased with myself right now.
Robin Hunicke is philosophical about being a Lead Designer at EA:
The Buddha concludes that in order for people to truly realize harmony in a group, they must follow some simple rules:
- Sharing a common space
- Sharing a daily routine that is essential to their survival
- Practicing, together
- Sharing insights that come from that practice
- Respecting others’ viewpoints, and not forcing them to follow your own viewpoint.
In making something together, for which we are all paid, all the members of my team share responsiblities, dreams and insights. But if they cannot be considerate of how each experiences this process, and respectful of their views about how it might work - well, progress is much slower.
Courtesy is also important. It is easy to forget how small, simple actions (like offering someone something to drink, making a place for them at a meeting table, or simply welcoming them into a room) will create harmony. It is easy to forget that these little things make everyone feel respected - creating an environment where different viewpoints are free to co-exist.
Similarly, it is easy to rush from decision to decision, idea to idea, observation to observation – without making room for that mingling that’s so necessary for innovation. Especially when there is time pressure related to the completion of your goals, or competition for recognition within or outside of the group. One can lose sight of the practice (working together to make something great) and get lost in naval gazing, blaming, and shaming.
The very structure of commercial creation can lead us to forego thoughtfulness - which in turn, leads to indifference. An indifferent team cannot create a joyful or meaningful product or experience… for themselves, or anyone else.
Testing Montezuma with the Planet Lisp archives:
CL-USER> (defparameter *index* (montezuma::index-all-post-files (make-instance 'montezuma::index :path (merge-pathnames (make-pathname :directory '(:relative "postindex")) montezuma::*corpus-path*) :min-merge-docs 5000))) Indexed 3819 posts in 96.884 seconds, now optimizing... Optimization completed in 412.086 seconds.
509 seconds total, for a rate of 7.50 posts/second.
After optimizing a couple I/O routines:
CL-USER> (defparameter *index* (montezuma::index-all-post-files (make-instance 'montezuma::index :path (merge-pathnames (make-pathname :directory '(:relative "postindex")) montezuma::*corpus-path*) :min-merge-docs 5000))) Indexed 3819 posts in 78.397 seconds, now optimizing... Optimization completed in 190.193 seconds.
269 seconds total, for a rate of 14.2 posts/second, which is an 89% speedup.
Controlling multiple UAVs and a USV from a single control system (a USV is an Unmanned Surface Vehicle, a robot watercraft):
The demonstration followed a script for a special operations team rescue scenario in a littoral environment. The scenario involved the detection and engagement of enemy forces and relocation from a primary to a secondary extraction point resulting from dynamically exercising command and control of dissimilar vehicles and payload imagery.
The scenario included cross-cueing and collaborative interaction between a strategic simulated unmanned air vehicle, two Manta tactical UAVs flying over Sierra Vista, AZ, and an unmanned surface vehicle operating in the Chesapeake Bay near Norfolk, VA. All unmanned vehicles and their payloads were simultaneously and continuously controlled by a single MVCS in the demonstration control center located in Falls Church, VA.
Combined Attack Demo Planned By US Army:
One concept under study: a so-called ‘avenge and kill’ routine - one where a lost UAV sends data on its position as well as the position of its incoming fire and feeds it to the network. A few seconds later, opposing fire - from an aircraft, artillery or an accompanying UAV/UGV - destroys the target.
UAV Detect See and Avoid (DSA) Radar:
Self-contained ability to detect and avoid other aircraft in flight has been demonstrated with the Amphitech DSA radar technology. Based on Amphitech’s OWS radar for helicopters, the DSA radar employs a unique scanning strategy assuring detection of all non-cooperative (no transponder on board, such as General Aviation, glider and others) targets that may pose a threat to the UAV flight safety.
Amphitech, in cooperation with ERAST and NASA, demonstrated the ability of Amphitech’s radar technology to detect, track and report a variety of aircraft in flight at ranges up to 8 NM providing adequate time to take the appropriate evasive maneuver. See report .
Joystick vs. Jihad, The temptation of remote-controlled killing:
Maybe we can operate these machines without losing our aversion to killing. But humans have never experienced such a convergence of targeted assassination with video gaming, and the experiment in desensitization is just beginning. Everyone's building or buying drones: France, Germany, Greece, India, the Philippines, Russia, even Switzerland. The Quadrennial Defense Review worries especially about China, which is developing lots of them for deployment and "global export." In the age of jihad, our nightmare is people who don't fear dying and don't mind killing. In the age of the joystick, the nightmare is that we'll become them.
In Las Vegas a pilot pulls the trigger. In Iraq a Predator fires its missile:
Sgt Mac Mackenzie, 41, an Army sensor operator who has served in Northern Ireland and Iraq, said: "It is not always appreciated that this is what we have to do. You are just staring at the screen. Then suddenly it can go live, you're involved in an engagement, a target appears and everything is turned on its head."
Minutes later, a 12-hour shift may end and the men find themselves stepping into the desert, a one-second transition from Iraq to Nevada.
The British crews acknowledge that there is an air of unreality about their work, "staring at a screen for hours, watching what is happening then walking out into the heat" before driving home to their families in the suburbs of Vegas. Time off is generally spent among the bizarre architecture of the city centre, where fake pyramids, castles and the "Eiffel Tower" vie in multi-coloured capitalist anarchy for the attention of armies of gamblers.
Iranian drone plane buzzes U.S. aircraft carrier in Persian Gulf (the U.S. Navy denies it):
A pilotless Iranian reconnaissance plane circled for 25 minutes over a U.S. aircraft carrier in the Persian Gulf before returning safely to its base, a senior Iranian official said Tuesday.
"Our pilotless reconnaissance plane flew over the USS Ronald Reagan in the Persian Gulf unnoticed to the Americans for 25 minutes," the official said, according to Iran's Fars agency.
He did not say when the flight took place, but added that U.S. radars picked up the unmanned aerial vehicle after 25 minutes, and that four USAF fighters and two helicopters were scrambled to intercept it. However, the Iranian plane had already crossed the border back into Iran and landed at its base.