Thursday, April 22, 2010

Google Chrome Frame is my hero.

Well, I hope it will be once it's out.

The thought of fixing IE once and for all just gives me chills.

In any case, Chrome Frame answers my previous hopes for a Gecko-based version of the same idea.

Friday, April 16, 2010

And a function never cries.

I've been getting fed up with the question of what methods to put in a class which helper methods should be elsewhere. Mixins and extension methods are two ways to address this topic. They have their pros and cons.

But I'm becoming more and more a fan of simple, top-level functions. Wither OOP. Everything old is new again for me, and each function can be an island, especially with multiple dispatch.

Well, there's that question of how to control data access and abstraction of types. I don't have it fully worked out yet, but I'm hoping to find a nice solution that keeps things as simple as possible.

Tuesday, April 13, 2010

Why developmental robotics?

The field of developmental robotics is often approached in a philosophical fashion. That's awesome and all, but there's also the practical reason: laziness. But I guess I've said this before.

Side note, I'm not sure I really get the difference between laziness and impatience.

Friday, April 9, 2010

Reason to boycott (and litigate against) Apple?

This whole iPhone section 3.3.1 thing is nasty. Sure, UIs are notoriously bad when ported, despite some examples to the contrary, but let an approver or the user base sort that out. Further, some base features (not always written in C!) are helpful across platforms even if the UI is tricked out for each.

Apple's a worse monopoly than Microsoft. I can't think enough how much I don't ever want to give Apple any money ever again.

Sadly, my convictions wane with time, but I'm not in the habit of giving Apple money anyway. One Mac Mini and one iPod a few years ago. A bit of iTunes. But I think it's time for me to write them off.

The only reason to have a Mac is to make sure apps and web pages do work there.

I wouldn't be surprised if Apple's in a long-term strategy to eliminate traditional Macs entirely. They'll have revenue reasons enough with some time as well as migration strategies for developers currently banking on Mac. Then, it's just App Store land ...

Surroundings as Database

I've been studying how a robot (or a person) can make sense of the world around them. How do you focus on (or extract) what matters most?

Some systems of describing world/environment state make these look almost like queries. If there "exists some table such that there exist chairs around it and also plates around on the table, one per chair" then I suspect it's a table set for a meal. If "I'm driving and there exists a person in front of me that is too close" then I need to hit the breaks. Things like that.

Those with DB experience see the queries just standing out. Trick is that a big DB needs indexing to be fast enough.

Look around you. Imagine all the tables, columns, and rows you could imagine describing every feature from large to small scale. That's a HUGE database. When dropped in an unfamiliar setting, we talk about "getting our bearings". I'm starting to think this is sort of like populating a DB and building indexes. Somewhat familiar settings allow us to prioritize such data loads easier.

Now, the world isn't static. Visit a place you know, and some things might have changed behind your back. Stay in one place or walk around, and slight changes occur constantly. That's like ordinary DB updates, inserts, and deletes. Should be faster than working from scratch, since most of the data is static and already indexed.

As I've written this out just now, I've become more and more convinced that this is a good model for things. Well, it doesn't need enslaved to DB idioms, but the general concepts are still so close.

Thursday, April 8, 2010

Accessible AI Research: MakeME PlayME

Just heard about MakeME PlayME from the Cognitive Computing Lab at Georgia Tech. It might not be a perfect site, but it's still a great example of exposing research to the general public. This is along the lines of how I'd like to present research (especially the 2nd-to-last bullet there). Maybe someday.

Meanwhile, hats off to the MakeME PlayME team (and other teams with similar styles).