Slashdot Mirror


Biomorphic Software

CowboyRobot writes "From the molecular structure of spiders' silk to the efficient use of energy by insects and fish, we can learn many things from Nature and apply them to our engineering tasks. One thing that nature is particularly good at is the development of dynamic, self-organizing systems. Ken Lodding is a software engineer at NASA and is currently developing 'swarm algorithms for groups of wind-driven, remote exploratory vehicles'. He has a six-page article at Queue on 'biologically inspired computing', how to develop 'algorithmic design concepts distilled from biological systems, or processes.'"

3 of 133 comments (clear)

  1. OT: For Doc.. by Da+VinMan · · Score: 0, Offtopic

    You know, you really got my curiosity. You put me on your foes list yesterday, and I've never even talked with you. Weird. "I wonder who this joker is?" I say to myself. So, I go find out. I find out that not only are you NOT a /. troll, you even work in the same geographical area as me. We work within about 10 miles of each other. So, I go read some of your other stuff. I'm curious and I can't help myself. I keep wondering why a reasonable and intelligent guy would bother to make me into a foe.

    So, I go tripping through some of the stuff you have out there for work. Then I figured it out. In particular, I don't think you liked the following comment I made in this post:

    If Mr. Sowell truly wants a simplified experience he should just go use Apple products, which are already dumbed down and streamlined. But he should be prepared to shell out the extra cash to support Apple's entirely proprietary architectures.

    I'm reasonably certain that's the comment that earned your ire based on the kinds of projects I see you have on the web site. It's understandable.

    So, let me correct myself:

    1. While Apple products probably deserve to be called streamlined, I did go a bit far in calling them dumbed down. I wasn't thinking when I said that, and I was allowing myself to play the stereotype without examining it. The last time I used a Mac was in about 1995, so my impressions of it are out of date and irrelevant by now.

    2. Apple's DOES have a proprietary architecture in the sense that I have to buy their hardware to run their OS. There just no denying that. I would be all over OS X if I could run it on x86 and other machine architectures and I didn't have to buy their hardware to use it. Even Microsoft doesn't have as much control over my computing environment as does Apple.

    3. HOWEVER, Apple is most definitely not proprietary by virtue of their new OS architecture. You know far more about this than I, but even I can appreciate how having a Unix-like OS under the hood allows a lot of cross-over to and from the open source world.

    FWIW - I didn't start out liking Windows and I don't particularly like what Microsoft does in the name of competition. I was a die hard Amiga lover when I hit the marketplace and I spent 5 years in the market hating the tools I needed to use for my employers before the tools were at least high enough quality to make stop missing the Amiga. I suppose OS X would, given its quality today, spoil me again and again make me dissatisfied with Windows. But I'm not sure I can afford that now.

    I don't know what I'm trying to accomplish here. I really don't care if you keep me on your foes list. But, I do hate it when I stick my foot in my mouth. I like to correct myself when I do that. Your opinion of me may not change because of this, but I've done what I can to correct myself.

    Peace.

    --
    Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
    1. Re:OT: For Doc.. by droleary · · Score: 0, Offtopic

      I'm reasonably certain that's the comment that earned your ire based on the kinds of projects I see you have on the web site.

      You're at least half right. The fact that I do a lot of Mac work certainly brought your comment to my attention, but I would probably have been just as likely to kill file (or "foe", as Slashdot has it) you if you had made the same comments about Windows. My issue wasn't with the Mac bashing (hell, I take issue with Apple on a number of their decisions), but the general mindlessness of platform bashing.

      1. While Apple products probably deserve to be called streamlined, I did go a bit far in calling them dumbed down. I wasn't thinking when I said that, and I was allowing myself to play the stereotype without examining it. The last time I used a Mac was in about 1995, so my impressions of it are out of date and irrelevant by now.

      I take no issue with someone simply saying Apple dumbs stuff down, but when it's completely unsubstantiated I really don't have time to listen to it. You never said what the particulars were such that a Mac is too simplified for your needs. Instead, you just made wide-sweeping platform statements. That's a bad position to take for any system. You at least acknowledge that now, but it's not like you didn't have a chance to reconsider your position before your post, in the 5+ years that Mac OS X has been around and covered by Slashdot with increasing interest.

      2. Apple's DOES have a proprietary architecture in the sense that I have to buy their hardware to run their OS. There just no denying that. I would be all over OS X if I could run it on x86 and other machine architectures and I didn't have to buy their hardware to use it. Even Microsoft doesn't have as much control over my computing environment as does Apple.

      Untrue for the most part for most people. What you are missing here is that Apple makes systems and should be compared to any other Wintel system company. You pay an OS "tax" when you get Dell the same way you do when you get a Mac. You can still install Linux on either company's hardware, but you can't take the OS one provides and put it on the other's hardware. There is no real difference that is worthy of comment. Only geeks imagine the x86 provides exceptional freedom of choice because we can more easily build and upgrade our own machines. Still, there is nothing "entirely proprietary" about Apple's RAM, IDE, USB, PCI, AGP, etc, etc.

      I also find it odd to say you'd run the OS if it weren't for the hardware, which makes little sense to me. It's not like Apple is the one putting out shoddy beige boxes. Again, as a geek, you probably imagine that because you can throw together a box for $500 it's the same as running a company to sell $500 systems. I tend to actually price out comparable system, and I usually find the Apple machines to be a better deal for the same features than I can get from the likes of Dell. Honestly, what really keeps people on an x86 architecture if not Windows, and yet somehow you see fit to single out Apple for the "proprietary" label?

      I suppose OS X would, given its quality today, spoil me again and again make me dissatisfied with Windows. But I'm not sure I can afford that now.

      John Searle said "The best education instills a permanent sense of dissatisfaction." From that perspective, I have been dissatisfied by every platform I've used, including the Mac. One of the the first assumptions I make when tackling a new problem is that the obvious solution can be improved upon. That's led me to hop between a bunch of different systems in the past to find a better solution, and I'll like hop away from Apple again when someone puts together a better system.

      Despite its overwhelming market share, Windows shows no indication of being a satisfying system. Not even what Longhorn could potentially be is particularly interesting. All I can say is that if you find Windows to be satisfying, then it probably

  2. Re:Not quite the same thing, but... by master_p · · Score: 1, Offtopic

    It's worth noting that I never said you couldn't. I said it was HARD. If you look farther up the thread, I reiterated this point.

    Why is it hard ? Open Visual Studio, make one or more DLL projects, then use these DLLs from the main project according to what you want to do. Making a DLL is nothing more than pressing a few buttons anyway.

    10ms res on 2000/XP

    Where did you read that? Windows NT provides 1 milisecond resolution. 10 milliseconds is the default timer interrupt granularity. By using the function 'timeBeginPeriod' the resolution can be set to 1 millisecond. Here is an example.

    Furthermore, all waitable functions are guarranteed to return at 1-millisecond resolutions (even 'Sleep()'). I have personal experience with this, as I have used the waitable timer functions in many projects.

    Finally, Windows have a hidden API ('NtSetTimerResolution') that you can set the timer resolution in nanoseconds. This is kernel stuff, though. And for profiling, you can't beat 'QueryPerformanceCounter' which returns number of clock ticks passed via the RTDSC instruction.

    Most Unix systems have a hi-res timer that dives down to the nanosecond range

    Which Unix systems are that ? Linux, for example, also starts with a 10 ms granularity, just like Windows (the link above actually saids that any granularity below 10 ms will result in degrading performance on Intel systems). High resolution POSIX timers is a kernel patch, and it is mostly offered in the context or real-time Linux systems.

    Solaris also starts with a 10 ms granularity that can be adjusted. Solaris also offers a timer solution based on CPU timer instruction (RTDSC on 80x86).

    OS X, not running on the Intel platform, has the benefit of not having the interrupt limitations of Windows, Linux and Solaris on 80x86.

    You mean the documents that say "this timer is not actually accurate and is only useful in certain situations", or do you mean the documents that say "the resolution of this timer is dependent on how many processors are in the system".

    The "this timer is not actually accurate and is only useful in certain situations" is valid for 'SetTimer' which sets a timer event for a window. This is because timer events are dispatched on the gui message queue.

    The "the resolution of this timer is dependent on how many processors are in the system" is valid for all operating systems running on multiprocessor computers. Google it out, if you don't believe me.

    Sorry, as far as the industry is concerned, Windows timing blows. Just about every other OS does a better job.

    I've shown you that you overreact concerning Windows timers. The 80x86 platform has an archaic interrupt architecture, and that's where the problem is. And this problem concerns all systems, Windows or Unix, running on 80x86. Windows on Alpha have an 1-ms granularity, by default.

    There are solutions though to overcome the problems. A nice solution is to use critical sections (that take nano seconds to lock/unlock) and 'QueryPerformanceCounter'). If you search the web, you can even find MFC-based classes for this.