Skip to content


Installing MySQL on Snow Leopard

Snow Leopard has got PHP 5.3, so it’s nice to install Partuza and Shindig. Because you can do without installing entropy.

But I needed to do a little tweak to get MySQL work on Snow Leopard. Here’s a memo.

Download MySQL

Download binary of MySQL from here. Choose Mac OS 10.5(x86_64) on download list close to the bottom.

Install MySQL

Installing can be done only with GUI. Install Prefpane and Startup Item as well. Configure PATH too.

Create ~/.bash_profile and paste, or append following:

PATH=$PATH:/usr/local/mysql/bin
export PATH

You can utilize it by doing:

> source ~/.bash_profile

Do the tweak

You have to do following to get MySQL properly work on PHP:

>  cd /usr/local/mysql
>  sudo ./script/mysql_install_db

then…

>  sudo cp /etc/php.ini.default /etc/php/ini
>  sudo vim /etc/php.ini

change following part:

mysqli.default_socket = /var/mysql/mysql.sock

to something like this:

mysqli.default_socket = /tmp/mysql.sock

That’s it! Now you should be able to start MySQL from Preference Pane and see MySQL working on PHP.

Note: This makes Partuza working, but if you want to do something else, you may need some more work.

Posted in Mac.

Tagged with , , , , .


個人名刺作りました

プライベートのブログに書いてた内容ですが、ぜひ紹介したいのでこちらにも。

勉強会などによく行くようになって、前々から個人名刺が欲しいとずっと思ってました。かといってよくある小さいサイズのはヤだし、名刺を作ってくれるサービスはたくさんあるのでなかなか手を付けられず・・・そんな時に見つけた記事がこれ。

ブロガー名刺、送料込みで1000円じゃすと!

デザインにこだわりたかったし、値段も安かったのでこれは!と思い、早速申し込みました。

フルカラー100枚ながら1300円、加えて何度でもデザインをやり直してくれるという太っ腹ぶり。お言葉に甘え、仕上がりまで1ヶ月程度を要しましたが、ついに完成しました。

ブロガー名刺という話でしたが、最近勉強会で会う人などにはTwitterが最も通じやすいので、Twitterをメインにし、OpenSocial関係はおまけ。肩書きはSocialWeb Japanにしました。もちろんブログのURLも入れて。

というわけで、仕上がりには満足してます。まだ嫁にしか渡してません。早く誰かもらって!

この値段でこの仕上がり、前川企画印刷さんに大感謝です!みなさんもどうぞ!

Posted in Conference.

Tagged with .


I have become an Apache Shindig committer

“Web will become more social” This has been what I kept telling people after 2005, when I’d joined goo. There’s so much things we can do when we make social graphs as a platform.  First thing I tried was to make a social platform on a portal site, which turns out to be goo Home.

I already had an image of the future at that time: the social graph will be expanded to external web and it will tie any other services into one with social connections. It was before we laungh goo Home when Facebook emerged.

What Facebook was trying to do was not like what I initially imagined: getting external services into their service. It was totally opposite to what I was imagining, but I realized our ultimate goal must be the same. Making web social. After a few month, OpenSocial got announced.

OpenSocial decides its spec democratic and open. Openness is good. Imagine you want to tie 2 systems social. Needless to say, it’s easier when the spec is something standard. You can omit communication cost as well as technical endeavor.

On top of that, with open spec, a lot of product may be expected. Taking OpenSocial as example, there’s Yoichiro Tanaka’s OpenSocial Development EnvironmentOpenSocial Client Library, OAuth related libraries, OpenSocial Signed Request Library which I developed… Whole bunch of open source products help latter joining developers.

And the primal open source product among OpenSocial is Shindig, OpenSocial container’s reference implementation.

Shindig was my textbook to learn existing spec of OpenSocial. There was almost no one else in Japan who looked into Shindig, so I was invited to become an Google API Expert.

I’ve also wrote a lot of patches to Shindig on my way to developing goo Home. And 1 and half years have passed…

I have become a committer of Apache Shindig

I made my first contact with Mr. Chris Chabot who has been the main committer of PHP Shindig. I met him in person at Google IO 2008, occasionally chatting on messenger, he recommended me to become Shindig committer.

To become a committer in Apache Software Foundation, you have to get voted. And luckily, I was approved.

PHP Shindig is said to be used be more than 26 SNS with 5 million users. I was really excited to know that.

To me, OpenSocial is just a tool to make my ideal social web possible. But at least in Japan, there’s no other choice now and OpenSocial IS the standard. And Shindig which is used in mixi and goo, is the one which support its core.

I’m hoping to make Social Web happen in Japan and support it as a Shindig committer.

Posted in OpenSocial, SocialWeb.

Tagged with .


GadgeTweetr: The first and ultimate Twitter client on OpenSocial using OAuth

GadgeTweetr_Logo

goo Home just launched its Outbound OAuth support from today. Now, any gadget developers on goo Home can easily mash up external contents authorized using OAuth.

For demonstration purpose, I’ve developed a gadget, which I believe is the world’s first Twitter client on OpenSocial using OAuth, called “GadgeTweetr“. GadgeTweetr is simple, but powerful, even on comparing to other desktop Twitter clients.

Major features

  • OAuth Login
  • Tabs
  • Show In-Reply-To
  • Search
  • Multi-account

OAuth Login

With support of OAuth, GadgeTweetr can let users login to Twitter without giving credentials to goo Home. Just by clicking “Login” button, a new window opens with clear indication that the browser is showing page on twitter.com, users can login to Twitter safely without worrying this is phishing.

login_using_oauth

Tabs

Using OpenSocial tabset feature, GadgeTweetr provides view of various status pages like some other Twitter clients do. Timeline, Mentions, Direct Message, Favorites, etc.

tabs

Show In-Reply-To

If the status is in-reply-to someone, GadgeTweetr shows “reply to:” beside its date. Clicking it will insert source status just blow that, so that you can drill down (up?) to the original tweet.

replies

Search

You can search on Twitter. GadgeTweetr opens search result tab.

search

Multi-account

User can embed multiple copies of GadgeTweetr gadgets on goo Home’s home page with different authentications. So you have multiple Twitter accounts in one view!

multi-account

Misc features

3 views

GadgeTweetr has 3 views: home, profile and canvas. Home view provides Timeline, Mentions tabs, profile view provides its owner’s timeline, canvas view provides Timeline, Mentions, Direct Message, Favorites tabs as default.

Auto link

GadgeTweetr detects @ and # and hyper link it, as well as external link. External link will open new window. @ and # opens new tab in GadgeTweetr showing respective status.

ReTweet

By clicking ReTweet button, you can tweet copy of your favorite status message with indication of ReTweet: “RT”. Of course, you can add your comment just as you do on your own tweet.

Show profile

Clicking thumbnail of a user shows profile dialog with description of the person, numbers of friends, followers, tweets.

Follow, unfollow

On profile dialog, you can even follow or unfollow the user depending on your relationship with the user.

Summary

So, this is the “GadgeTweetr”. Sorry but this gadget only works on goo Home for now, since I don’t know any other containers which supports OAuth properly designed to deploy this kind of gadget.

However, this gadget is already supporting English and is ready to serve to other containers. Although current version is just a plain Twitter client, I’m planning to implement more SOCIAL functionality as well.

Hope this helps the evolution of social web!

Posted in OAuth, OpenSocial.

Tagged with , .


OpenSocial Signed Request Library(PHP) Beta

Signed Request in OpenSocial is a convenient solution for gadget developers to verify their remote content request is not spoofed. You can pick signature attached to the request and verify that no params are changed, added or removed.

Implementing this is not difficult, but since I don’t see any library, easy to use out of the box, I hereby introduce opensocial-signed-request-php-library as beta.

This library is using OAuth Library on Google Code. Major container’s public keys are included: orkut, Google, Friendster, hi5, hyves, Netlog, mixi and goo Home.

How to use

Check out from Google Code:

svn checkout http://opensocial-signed-request-php-library.googlecode.com/svn/trunk/ opensocial-signed-request-php-library-read-only

Looking at sample implementation should be the easiest way to learn. Instantiate SignedRequestValidator with gadget’s url, do validate_request(). that’s it. If validation fails, library will respond 401 and die. Further code can be written after that. It’s that simple.

Other known libraries

There’s a few libraries doing similar things, I know useful.

Give me feedback

opensocial-signed-request-php-library should work straight. But in case you find bug, better API, please give me feedback. It’s still beta :)

Posted in OpenSocial.

Tagged with , .