technology


For the past couple of monthes I’ve developed 2 large Web applications, using the amazing Django web framework, & recently chose it for my next large project. I can now say without any doubt that it is the platform of choice today for developing almost any type of software. Its slogan claims that it’s the web framework for perfectionists with deadlines, & I fully agree. It’s just a brilliant platform, that revolutionizes software development, in the amazing productivity that it enables. Beauty according to David Gelernter is simplicity & power, & the Django authors just achieved so much beauty!

I found the underlying programming language, Python, to be the programming language of my dreams, really powerful, simple & fun to work with!

When I tell people about Django, they either say that it’s just like Rails, or that they don’t see any reason to move away from their familiar PHP or J2EE.
Well, I can tell you what I think of these alternatives using a metaphor: if you need to buy a laptop today, you basically have 3 choices: a PC loaded with Windows, a PC loaded with Linux & a MacBook loaded with OS X. I worked extensively with all choices, & can tell you that I get things done much better, much faster & much much more enjoyably on my MacBook. I find Rails to be similar to a PC loaded with Vista, PHP/J2EE like a PC loaded with Linux, & Django like a MacBook loaded with OS X.

If you’re an entrepreneur today, BTW, you’re just committing a crime if you don’t take my recommendation seriously.

The MIT emerging technology conference 2006 features some must hear talks:

  • Amazon’s founder Jeff Bezos presents their 3 new innovative web services – Mechanical Turk, S3 & EC2 – in way every person dealing with IT will be forced to change his mindset & immediately sign up for the services. The motivation of Amazon becomes very clear & extremely important: completely take from each comany or new venture every infrastructure service that isn’t core to its business, & offer it in a completely new & efficient business model.
  • Mark Chapman of IBM presents a remarkable survey of 750 CEO’s & the main conclusions that it yielded, which are also amongst the most powerful memes in the business world for some time now: Collaboration with the external eco-system & the importance of Business Model innovation. Another important message is that the only barrier for utilizing these vital concepts is internal – changing the culture & thinking of the organization.
  • & finally Sebastian Thrun head of the Stanford AI lab, gives an entertaining talk about his robot Stanley that won the DARPA grand challange. What I interpret from his talk is the key role that the software & its innovative architecture had in achieving this amazing challange, which basically is one of the greatest early versions of a real autonomous machine. Quite amazing to see the emotions Thrun have for his robot…

I was thinking on the simplest way to test my emergence engine, & came up with an extremely simple task – the reactive algorithm of a thermostat: measure the temperature, & turn the heating on & off to maintain a given temperature. It sounds indeed very simple to code a program that does that, but what I’m going to experiment is how to do it without any programming.

Emergence engine is a kind of general AI, capable of achieving goals, without being programmed how to solve them. It’s based on the assumption that you don’t need to build real intelligence, rather just create many many simple software workers, having only very simple tools & logic, & let them swarm their way toward the system’s given goals.

So, here’s how I hope my engine will handle the test case:

  • It should 1st learn by elicitation the model of a room, having a temperature, thermometer & heating unit.
  • It should also learn the relevant beliefs on the effect of using the thermometer on the accuracy of the model, & the effect of turning the heating on & off on the room’s temperature
  • It should then learn what’s the desired temperature
  • From this it should start deriving action plans & execute activities to achieve the goal of maintaining the desired temperature
  • It should also adapt to changes in the room, e.g., a door is open & there’s need to use more heating, or alternatively the heating doesn’t work & we need an alternative heating unit

I’m saying it but of course what’s doing all this are many collaborating agents, working together to achieve the goal. This is done by breaking the value in the goal into smaller value “summs” given to states & activities leading to the goal, & having the agents collaborate on creating all these summs.

Although the design is very simple, & intended for complete autonomous behavior, I noticed that I’ll be able to effect the engine & help it reach its goal, by changing the knowledge driving it, i.e., the learnt beliefs, according to which the agents work.

So, I can’t wait to see how the engine will handle this, which will actually test whether the simple emergence design is enough to yield emergence, even if the value it delivers is so small & simple.

Very cool article: Edge: TURING’S CATHEDRAL by George Dyson

From the perspective of an agents framework’s developer, I have these remarks:

  1. ontologies specify behavior. edit the ontology & the software behavior changes. why?
  2. create a full corporation of software agents, with hundreds of agent types & thousands of agent workers.
  3. the ontology defines the behavior of all agents – their genes, then the ontology also contains the knowledge learnt by the agents – their brain.
  4. the key ingredient for agents corporation is communication: normal communication for regular behavior, & spontaneous communication for mutated adaptive behavior.
  5. Google is the access method to the global knowledge base of unstructured data. Google should be used extensively by each agent, in order to find new knowledge relevant to its behavior.
  6. There is a barrier between machines & humans today: machines can only answer questions that programmers defined well & hard-coded the procedure for answering. most questions people have are not (yet) well-defined & programmers still didn’t define procedures for them. Agentier should be able to communicate directly with people in order to solve “questions whose answers are, in principle, computable, but that, in practice, we are unable to ask in unambiguous language that computers can understand.”
  7. Basically this means that a good agent framework should be human brain compatible: it should solve problems that the human brain normally solves.

Quotes:

  • “An argument in favour of building a machine with initial randomness is that, if it is large enough, it will contain every network that will ever be required.” (Irving J. Good)
  • “It is much easier to find explicit answers than to ask explicit questions. And some will be answers to questions that programmers wil never have to ask.” (G. Dyson)
  • Means: the Web turns 2. Web sites were like infants until now, doing nice things, & being likeable, but unable to talk. Now they’re learning to speak with each other, & soone it’ll be a whole new ball game.

    E.g. this local events browser by Yahoo:

    http://api.local.yahoo.com/eb/demo/

    The most brilliant metaphore though, is that of Steven Berlin Johnson: Web2.0 is like a rain forest:

    The difference between this Web 2.0 model and the previous one is directly equivalent to the difference between a rain forest and a desert. One of the primary reasons we value tropical rain forests is because they waste so little of the energy supplied by the sun while running massive nutrient cycles. Most of the solar energy that saturates desert environments gets lost, assimilated by the few plants that can survive in such a hostile climate. Those plants pass on enough energy to sustain a limited number of insects, which in turn supply food for the occasional reptile or bird, all of which ultimately feed the bacteria. But most of the energy is lost.

    A rain forest, on the other hand, is such an efficient system for using energy because there are so many organisms exploiting every tiny niche of the nutrient cycle. We value the diversity of the ecosystem not just as a quaint case of biological multiculturalism but because the system itself does a brilliant job of capturing the energy that flows through it. Efficiency is one of the reasons that clearing rain forests is shortsighted: The nutrient cycles in rain forest ecosystems are so tight that the soil is usually very poor for farming. All the available energy has been captured on the way down to the earth.

    Think of information as the energy of the Web’s ecosystem. Those Web 1.0 pages with their crude hyperlinks are like the sun’s rays falling on a desert. A few stragglers are lucky enough to stumble across them, and thus some of that information might get reused if one then decides to e-mail the URL to a friend or to quote from it on another page. But most of the information goes to waste. In the Web 2.0 model, we have thousands of services scrutinizing each new piece of information online, grabbing interesting bits, remixing them in new ways, and passing them along to other services. Each new addition to the mix can be exploited in countless new ways, both by human bloggers and by the software programs that track changes in the overall state of the Web. Information in this new model is analyzed, repackaged, digested, and passed on down to the next link in the chain. It flows.”

    What characterizes these technologies

    • Internet
    • Linux

    & maybe:

    • Web2.0 (such as del.icio.us & its-like)
    • Grid computing
    • Semantic Web

    is that they’re open, free (as in freedom), bottom-up, disruptive: x-times better/faster/more powerful than the technologies that existed before them (think cars & carrieges, &c).

    There’s another thing – an architecture of participation, meaning that it’s by people & for people.

  • My tweets

  • My bookmarks

  • My pictures

    Fixed summary of Erlang workshop by Ulf Wiger

    Fixed summary of Erlang talk by Ulf Wiger

    Erlang talk, Ulf Wiger

    Erlang workshop, Ulf Wiger

    AppEngine updates talk - Barack

    More Photos
  • My Deezer default playlist


    Discover Count Basic!
  • Top Clicks

  • My previous posts

  • Listed on BlogShares