Thinking in context of what has come before

Startup News:

“This place is a graveyard of hope – everyone here seems to be trying, and everyone seems to be advising – but nobody seems to be succeeding.” – Max Klein

I’ve started to read YCombo news less and less the last couple of months. Most of the articles are about getting funding, a stage which I’m not quite at yet. And I’ve noticed a lack of concentration on techs and markets at the fringes. To me, that’s where opportunities exist, and that’s what you have to pay attention to, even if it’s 5 years off.

Most everyone seems to think within the context of what was lately successful. “It’s a social network that you can post photos and tag them!”

Granted, it’s easier to think of things in terms of what has come before, as there’s maybe only seven original things under the sun. (I don’t know what the seven are, don’t ask me). But there are plenty of interesting things going on in research labs, Rubists, Erlangers, and with designers and media communication majors that make the impossible possible.

I think Joe Kraus has it right. He takes things from the land of the nerds and makes them accessible to lesser nerds.

Deploying backgroundrb

Often times you don’t get to control what’s on the server. Slave or daemon gem required by backgroundrb might not be on your server. To get around that, I froze the gem in the vendors directory. (ie. unpack the gem)

Then in the backgroundrb script under your script directory, add the following right before require ‘backgroundrb_server’

# Load gems
gem_path = "#{rails_root}/vendor/gems/slave-1.2.1"
lib_path = "#{gem_path}/lib"
init_path = File.join(gem_path, "init.rb")
$LOAD_PATH << lib_path

eval(, binding, init_path)

It’ll shoot up some warning, but you can ignore those, or write your own silent_warnings() method.

BumpTop 3D Desktop can’t beat the search box.

This is a video where the desktop metaphor is taken literally for computers. You have move documents around on the desk as if they were real things, using a physics engine. While, neat, I don’t think it’s entirely the right way to go. This method is only good if you can see a preview of what the document is at a glance. Therefore, for something like photos, it makes sense. But for documents, you often can’t distinguish between documents just from a preview. So unless there is also a smooth zoomable interface, I don’t think it would be too useful for documents.

The only reason we sort or organize anything on our desk (or otherwise) is so that we can perform search later on. There is no need to sort if there is a default search box as an interface. Therefore, I think what would really be neat is if the documents sort themselves into rankings, or into groups based on what you typed in a floating search text field.

That said, I can see definitely see applications for this technology for augmented reality though. Being bombarded by virtual screens and documents would make anyone feel overwhelmed. Bumptop physics can help lower the information overload for future augmented reality interfaces.

Stringy string string games

I haven’t posted in a bit, because I’ve actually been productive. To lower productivity, I thought I’d post some fun. These are two flash games that have interesting use of spring modeling in the game. One is Double wires(not Double wives), where you can pretend you’re someone like spiderman. And A Walk in the Park features an interesting game mechanic, where you play a pooch and you lug around a guy in a wheelchair. You can use him as anchors to catch crackers underneath platforms.

As a result, both have pretty innovative game play. It use to be that if you were below a platform…well, kiss your 1UP goodbye. But not if you have sticky strings or you’re leashed to a guy in a wheelchair!

Avatars on the Internet

So this morning, I got an odd IM from a person I didn’t know saying to check out his/her WeeMee. It had no link. It might be from a camper I don’t remember, or more likely, some guerrilla marketing, and I played into their hand.

Regardless, I checked it out and played their Pogo for Panties! game. WeeMees are basically avatars that people (kids) can create, and attach them to their entire online presence, such as AIM, blogs, myspace, skype. The whole site is a social network, where one can create avatars, and play games on the site. Obviously, I’m not their target demographic, and I won’t spend that much time on there.

But I’ve been noticing a trend with avatar creation, that it’s getting easier and easier, and there’s certain demographics that are doing it. I’ve noticed there are avatars makers for Maplestory characters that are popping up on forums, as well as those Voki talking avatars.

For avatars to be worth creating, there has to be a world/context in which it fits that makes it worth showing. In second life or on forums, where interaction with others is the reason why they’re there, then yes. Avatar is a form of self-expression that others you’re interacting with will respond to. On blogs, not so much, since it’s what you write not what you look like, that are important on blogs. Same with wikis.

Perhaps there will be a new form of the web that allows avatars to run about in a ‘room’ where they can do things together, like play soccer or tag, or draw collaborative pieces. And to go from room to room, you simply go from page to page. In a web like that, there will be room for avatars.

"MySQL server has gone away" on textdrive

Debugging is always hard, because you have to understand what’s going on. In this day and age of leaky abstractions, there’s just always more and more to know. This is why I think concepts are important. If you know concepts, you can more readily figure out details.

So I had a quizzing error last weekend that I was scratching my head over for about two days. This was mainly because I was getting the errors from backgroundrb. It would just hang with no exceptions reported. As it turns out, there’s a bug in Backgroundrb 0.2.1, the latest version.

Thanks to Mathais on the Backgroundrb mailing list, my problem was exactly as he describes. I monkey patched it and the backgroundrb server log started spewing errors out. It was about MySQL servers going away.

After reading about why MySQL goes away at all, I figured out that one needs to check MySQL’s interactive_timeout setting. The database will drop the connection to it from the client (in this case, the web app), if there has been no activity for at least that amount of time. By default, it is set to four hours. On the server I put the app on, however, it is set to 10 minutes.

There were a couple solutions to this. One could be, as I posted before, to retry the connection. The other is a setting that I found in Rails.

ActiveRecord::Base.verification_timeout = 570

I put this in the environment.rb file under config to keep the connection to the database alive. I set the timeout to be under the interactive_timeout, so that Rails will keep telling the MySQL server that it’s still around.

I don’t know if this is exactly a good idea, since on a shared server, that means everyone will be holding on to connections they’re not using. I’m not sure what the performance implications are for a long standing connection is, if there is any. But for now, it seems like it’s working.

TED | Talks | Jeff Bezos: After the gold rush, there’s innovation ahead (video)

TED | Talks | Jeff Bezos: After the gold rush, there’s innovation ahead (video)

Jeff Bezos, the guy that came up with Amazon, is probably on spot with how it’s the beginning of the innovation on the Internet. But if history is any indication, people that come after this won’t be remembered until a new paradigm or market is built on top of the Internet.

I can’t exactly imagine what’s possible with the rising technologies. Human-centered interfaces (or the complete disappearance of interfaces), tools that predict your behavior using AI techniques, an emerging theory of the brain, nanotechnology for intelligent materials, materials that change shape, programming genetic materials of living cells, personal fabrication, wireless power, open source hardware, social management agents, and instant information anywhere in the world at any time.

Sometimes, when I look at what I’m working on, it gets me a little depressed to see how rudimentary (by today’s standards) is. But I get excited when I see where it is going, and how it carries the future with it.