29 6 / 2014

Goro Fujiさん (@gfx) をゲストに迎えて、Google I/O, Android L, Material Design, Android セキュリティ, API最適化, Android Wear などについて話しました。

Google I/O の翌日にサンフランシスコで収録しました。特別ゲストも登場してます。スポンサーのYAPC::Asia スピーカー登録は7/4まで!

Permalink 2 notes

23 6 / 2014

If there’s one thing YAPC::Asia does better than all other YAPCs (well there are many), it’s how fast they upload the videos. They usually do it on Monday once the event is over the weekend before.

This year it’s different, because YAPC::NA, which just started today, has already uploaded videos from Day 1. Don’t know who is behind this, but I know it is a really hard task to stream all the sessions and then upload it in chunks to YouTube. (Although i suppose if you stream on youtube, encoding them into a video later will be semi-automatic)

Anyway, this is very well done, and am looking forward to watching the videos.

23 6 / 2014

Kenn Ejimaさん (@kenn) をゲストに迎えて、WWDC, OS X, JavaScript, Handoff, App Store, Swift, Android Java などについて話しました。

Special thanks to SUZURI

Permalink 1 note

22 6 / 2014

ghq + peco/percol

This has been rocking my Twitter developer community for the past few days, but mostly only in Japanese - here’s an attempt #1 to fix this.

tl;dr ghq allows you to organize git clones via a simple CLI and peco or percol makes cd’ing to these directories on your shell a snap.

GOPATH/src for everything

Go has an interesting directory structure that forces you to adopt when you write your own Go program. All your code, along with third party libraries, will be placed in the src/ subdirectory under the $GOPATH directory with each hostname beneath that. It’s a little weird at first but when you get used to it, it makes a lot of sense.

On a recent episode of Rebuild.fm my guest lestrrat mentioned that he adopted this directory structure to all the code he writes, including non-Go code.

I think this is a good idea. And I now set:


so all the code is under ~/src.

ghq to manage repos

Now we’re going to manage these github repositories under ~/src, but doing so manually is a pain because you have to make subdirectories (like github.com/) for each. ghq makes that easy.

By default ghq clones the repo under ~/.ghq but i prefer it to be the same value as the one we specified earlier:

git config --global ghq.root ~/src

Now you can clone repo from github easily, i.e.

ghq get plack/Plack
ghq get git://mygithost.example.com/project.git

and it will be cloned into ~/src/github.com/plack/Plack etc.

cd to these repos

Now we got plenty of repos under ~/src, and when you want to cd into one of these directories, that’d be a pain, because of the deeply nested directory structure.

peco to the rescue.

  • ghq list -p will print out all the repos in full path
  • peco gives an interactive UI to incrementally filter the directories

Combining the two, all you need to do is:

> cd $(ghq list -p | peco)

and type some query to match the repo you want, then hit enter.

That command is annoying to type - here’s my zsh setup so that I can hit Ctrl-] on my shell to bring up that UI to cd to.

function peco-src () {
    local selected_dir=$(ghq list --full-path | peco --query "$LBUFFER")
    if [ -n "$selected_dir" ]; then
        BUFFER="cd ${selected_dir}"
        zle accept-line
    zle clear-screen
zle -N peco-src
bindkey '^]' peco-src

Importing CPAN/Rubygem libraries

You can clone git repo with ghq if you know the github URL etc. But what if you have a CPAN/Rubygem that you want to fix and don’t know which repo? There are tools for that.

cpan-ghq allows you to pass git repos (in META.json) to ghq, and gem-src provides a gem plugin to run ghq for each install of Gems.

Permalink 16 notes

15 6 / 2014

Goro Fujiさんとポッドキャスト販売などについて話しました。

Rebuild の収録後に録音している Aftershow こと「終了後のお楽しみ」コーナーを配信開始しました。



Permalink 4 notes

09 6 / 2014

伊藤直也さんをゲストに迎えて、GitHub, Pull Request, Hubot, リモートワークなどについて話しました。(6/1 GitHub Kaigiにて収録)

Github Kaigi で公開収録したエピソードを公開しました。500人と、すごい規模のお客さんでしたが、ラジオ番組の公開収録ってこんな感じだよな〜とおもいながら収録してました。自前で持ち込んだ機材(会場、GitHubストリーミングとあわせて各自マイクx3の記者会見仕様)で録音しましたが、それなりに聞きやすくとれてるとおもいます。基本的には完全ノーカットでお送りしています。


Permalink 4 notes

08 6 / 2014

OS X automation will get a whole lot easier with JavaScript. No need to look up AppleScript cheatsheet every time i need to script something.

Permalink 4 notes

08 6 / 2014

Weʼre still not allowed to post screen shots (the rumor sites will do that anyway) and I am not sure what qualifies as a “public review”. Am I not allowed to post my opinion about a new API or is that solely meant to prevent full reviews of the entire OS before the public release?

Assuming that talking on podcasts doesn’t qualify as “write public reviews”, this is a good news :)

17 5 / 2014

Our own Jafar Husain shared how we’re using the Reactive Extensions (Rx) library to build responsive UIs across our device experiences.

Pretty impressive talk on Rx by Netflix. Looks like a great alternative to Promises, on handling asynchronous behaviors such as remote API calls and even UI elements.

Permalink 2 notes

17 5 / 2014

Great post on Python 3 and Unicode (and UNIX).

The much more likely thing to happen is that people stick to Python 2 or build broken stuff on Python 3. Or they go with Go. Which uses an even simpler model than Python 2: everything is a byte string. The assumed encoding is UTF-8. End of the story.

Hopefully there’s a lot to learn from this post on the danger of defaulting everything to UTF-8 and forcing them. Assuming utf-8 by default is another story, and I find that Golang is doing this very well.