I am very surprised to hear this.

Needless to say, Eric Veach is a guru of GI researcher. I have wondered where he vanished after his great doctor thesis. And now I know he was at Google, and used his speciality of probability statistics for the AdWords.

I've been believing that GI problem has very rich context. It can be used as the best tool to think algorithms.

posted by Png takiuchi on Sat 6 Jun 2009 at 21:12

For somewhat reason, I had to salvage data of AIR app, but the data was found at place that is very difficult to be found. So I leave a memo for me of in the future ;-)

諸般の事情でAIRアプリのデータをサルベージする必要が発生したのですが、 場所が分かりにくかったのでメモしておきます(MacOSXの場合)

   1  ~/Library/Preferences/{アプリID}/Local Store/

The place I found it is as mentioned above.

こんな感じの場所にありました。

posted by Png takiuchi on Wed 20 May 2009 at 03:21

Hello, Merbists!

Today, I explain how to develop Merb apps that runs on GAE/J environment by using dm-datastore-adapter.

First of all, here is whole source code of an example app. Please check it out.

After checking it out, you must edit appengine-web.xml file. Open it by editor and change the application name to yours. And then you should make war directory by typing this command.

   1  MERB_ROOT% jruby -S warble war

It generates files under tmp/war.

So far, you are ready to deploy this app to GAE/J Of course, you need an account of GAE/J to do it. Please get it in advance :-)

Let us go to deploy by this command.

   1  MERB_ROOT% appcfg.sh update -e {youraccount@gmail.com} tmp/war  

This process takes a time for the first time. If the log didn't say any errors, you got success!

Now your first Merb app on GAE/J is here at http://{your app name}.appspot.com/

Congrats!

Further improvement is your home work :-p

APPENDIX

All required gems are being packed into jar file located at lib/merb.jar. This enables you to pass the limit of which you can upload only 1000 files to GAE. If you add more gems to the jar file, you can do it like this

  • unpacking it
  • add gems
  • and repack it

Enjoy!

posted by Png takiuchi on Thu 23 Apr 2009 at 23:32 with 2 comments

I shipped new dm-datastore-adapter today.

This update is a long jump from previous version. It includes following functions

  • Transaction. It utilizes the DataStore's Transaction API
  • OR conditions
       1  Post.all(:id => [1,2])
    
  • NOT conditions
       1  Post.all(:id.not => 4)
    

So now we can use most of functions defined in DM by using this adapter.

Enjoy!

posted by Png takiuchi on Fri 17 Apr 2009 at 17:25

Today I shipped a new DataMapper plugin that enables us to easily develop Merb-apps been worked with GAE/J.

By using this plugin, you can seamlessly develop your Merb-apps between local and GAE/J environment.

For example, this site is powered by Merb/DM with the dm-datastore-adapter and running on the GAE/J

(This service is under construction :-p)

As a matter of fact, because it is still being alpha status, you must treat various issues regarding gem dependencies yet. I appreciate any kind of feedback and of course patches :-)

Enjoy!

posted by Png takiuchi on Mon 13 Apr 2009 at 15:01 with 11 comments

Gaiji for iPhone is the feature of PokéDia-1.3 that we've submitted last week. It provides a custom keyboard of external characters. Seeing is believing, please look at this video.

In this video, a set of external characters (labeled as "Arrows") were downloaded from the site (http://gaiji.s21g.com).

See Also

posted by Png takiuchi on Sun 15 Mar 2009 at 06:58

An Idea for Open Avatar Exchange

I am using GRAVATAR at github.com. It is very interesting service that provides globally recognized avatar image from a hash of email address. What is clever is a service using GRAVATAR can present its user's avatar without not exposing his/her email address.

But the GRAVATAR is not the only provider of such avatars. For example, twitter.com has huge database of mapping from email address to avatar image. There are a lot of services which have such the database.

Imagine twitter.com, facebook, linkedin and so on provide their avatar images by the same manner. We can provide avatar image for every user of which we know his/her email address everywhere and quite easily. This is the principal advantage of this idea.

But what is advantage for provider? That's the obvious question. Answer is inter-service completion of avatar images. In each service, not all users have his/her avatar image. For such users, the service provides disappointing default avatar image. But if there is the open avatar exchange, the service can try to find it in other services instead.

The way to make the exchange is really simple. Provide REST API to map MD5 hash of email address to avatar image. Block accesses from domains you don't want to exchange.

In addition, avatar providers can harvest stats of the sites that are using your avatar image.

posted by Png takiuchi on Mon 23 Feb 2009 at 08:21

The ruby-1.9.1 had come to the world, and several days went by...

@maiha and I have worked for making the merb to be correspond to the ruby-1.9.1. And now we are very happy, because we can announce there is the first child of Merb and ruby-1.9.1.

http://merbi.st is the site which is running on merb with ruby-1.9.1.

ss

Our efforts are remaining at several places. Most of them are in github (see http://github.com/maiha, http://github.com/genki). Others are published on here http://merbi.st/plugins

Good luck!

posted by Png takiuchi on Sat 14 Feb 2009 at 14:42

methopara is a gem that enables us to use Method#parameters with Ruby-1.9.1. It was originally made by @ko1_twitter, the creater of YARV, at the previous meet-up of asakusa.rb.

And this time, I added an interface to use it for UnboundMethod. Now you can use UnboundMethod#parameters with new methopara, like this.

   1  require 'rubygems'
   2  require 'methopara'
   3  
   4  class Foo
   5    def foo(a,b) end
   6  end
   7  Foo.instance_method(:foo).parameters
   8  #=> [[:req, :a], [:req, :b]]

Enjoy!

posted by Png takiuchi on Wed 11 Feb 2009 at 16:26

Needless to say, we can't live without irb. Although it is already incredibly useful, I had a desire to improve it...

like this:

ss

This is the irb_rocket that I've made. It makes irb into being as follows

  • Result follows blue #=> after your input.
  • It also be colored by Wirble.
  • Output of stderr is colored to red.

INSTALL

You must install Wirble and ruby-terminfo in advance. And then, you can install the plugin like this:

   1  % sudo gem install irb_rocket --source http://merbi.st

After that, the last task is append 2 lines below to your ~/.irbrc

   1  require 'rubygems'
   2  require 'irb_rocket'

Completed! Now you can use new irb as always.

posted by Png takiuchi on Sun 8 Feb 2009 at 17:37 with 4 comments