0

Bookmark x TodoのFavory公開しました

logo-1

「後で読みたい」「今度行きたい」「今度観たい」等と思ったページをBookmark x Todoとして管理するWebサービス
Favoryををリリースしました。

2013年2月11日こんなツイートをしました。

その後半年近く細々と開発してやっとリリースです。個人での開発なので仕事行く前帰った後がメインになるとはいえ、こんな長期に渡ったのは初めて。
非常に「コンセプトファースト」なサービスで中身がついてきてない感があるけどじっくり育てていきます。
このご時世にスマホ対応(一応みれる)もまだ、アプリもまだという状況ですがこれも近いうちに対応します。

どんなサービスかというと、文頭のキャッチコピーだけど正直わかりにくいですね。

元々は個人的にもやもやしてた3つを解決するサービスです。

  • あとで読むといって読まない。きちんとでもシンプルに管理したい。
  • ネガティブなコメントを封じたい。ポジティブなブックマークがほしい。
  • 一つブックマークしただけで完結じゃない。ゆるくブックマーク同士を繋げたい。

順に噛み砕くと、
-「あとで読む」というはてなブックマークでタグを付けても読み返した事は過去に一度もないです。
そもそも、「あとで読む」って言葉は正しいのか?あとで読んだだけでは完結しないものもあります。その記事を参考に本を買ったり、実際に自分で試してみたりと「あとで読む」とは何かが違う。仕組みで解決できそうだけど少なくとも自分にはできないです。
そして気軽にブックマークするので読み返せる量でない。良くも悪くもブックマークしやすすぎるから?
ブックマークという行為自体もうちょい不便でもいいから、純度の高い「ちゃんとしたもの」をブックマークできるサービスが欲しかった。

– はてぶコメントのネガティブな空気が嫌。「Amazonガチャけしからん」 → 2chに書かれる → 2chまとめサイトに纏められる → はてなブックマークの「おもしろ」に入る → ネガティブなコメントと一緒にはてなブックマークされる。
これってどうなの? いわゆる炎上ネタをブックマークしてネガティブコメントを添えるってのはいかかがなもんかと思うんです。
だからFavoryのカテゴリーは固定。「〜したい」みたいなものばかり。ユーザー間の横のつながりもあまりないです。

– よく似たブックマークが多い。
上記の「ラストが衝撃的な映画」のエントリーも然ることながら、そこにでてくる「真実の行方」と「アイデンティティー」も興味深いので合わせてブックマークしたい状況の場合、並列でそれらを並べるのは少し違う気がする。だから、関連するブックマーク。

こんな感じで自分の欲求を満たせるものが仕様になってますが、これから色々機能追加は行なっていきます。
あと、はてなブックマークを少しdisってますが、Favoryはそれに取って代わるものではないので、はてなブックマークはこれからも愛用し続けます。

ということで、
死亡フラグがたちっぱなしのハテブテ、実はチューニングを日々行って最近安定してるツイエバもと合わせてよろしくお願いします。

0

なんとくアメリカの料理について思ったこと

テレビでよく聞く、「欧米は○○なのに日本だけは××だ。だから○○にすべきだ!」 というのは乱暴な判断基準ですね。
総じてアメリカが良いか日本が良いかとは個人的な環境によりけりなのでなんとも言えないけど、ざっくり分けると住環境(設備を除く)、労働環境、コミニケーションに関してはアメリカ、公共交通機関やインターネットのインフラ、店の対応、食べ物は日本の方が良い気がします。

アメリカ行って20kg太った自分がいうのもなんだけどアメリカの料理より日本の料理がうまいです。これは譲れない。
さすが何百年もかけて日本人に最適化されてきただけある。

アメリカの料理について思ったことは3つ。
アメリカンフードというかアメリカで食べれる料理です。

肉・肉・肉

20kg太ったのは十代だったので、当時は若かったので肉だらけのアメリカの食事があってたのかもしれないけど今は食事に苦労する事が多いです。
アメリカに初めて行ったり久しぶりに行ったりして食事を取ると「うまいな〜。でも2回目はない。」って思う料理がほとんどです。一度で満足して飽きてしまう。調理方法は複数あるけどでビーフ、チキン、ポーク、(シュリンプ)をメインに構成されていて単調です。そして、肉は肉、野菜は野菜という感じでサブで野菜を出されることが少ない。肉のみってのが結構あってこれは年寄りにはキツイです。 ポテトやポテトフライがつけばまだましだけど、スペアリブだけとか辛いです。
肉自体は意外というか油っぽくない。そしてゴツくて硬い。牛肉の脂身を好むのは日本人だけと聞いたことあるけど確かにそうかも。

各国の料理

特に大都市や西海岸に言えることやけどさすが移民の国だけあって各国の料理が多少アメリカナイズされてるけど気軽に食べれるのは嬉しいです。多いのはメキシカンとチャイニーズが多いけどマイナーなところではポリネシア料理、エチオピア料理なんかもあります。タイカレーやフォーが気軽に食べれるのは日本人には嬉しいです。あっさりしたダシを楽しむ料理というのがアメリカでは少ないのでフォーの存在は非常に助かります。

料理の見た目

料理の見た目へのこだわりは全然ないです。作る側もそうだし食べる側も興味がないので食べてる最中の料理の写真をネットにアップしたりする。
そもそもアメリカ人は他国に比べ食へのこだわりが少ないらしく、ヨーロッパでは人との会話で昨晩何食べたとかどこそこのレストランで食べたという会話が多いのに対してアメリカはその手の話が少ないそうです。
あとファーストフード以外のレストランのメニューに料理の写真が少ないです。文字だけで説明してる。
これが英語のわからない人間には辛い。
特にメキシカンフードのEnchiladaやQuesadiaはアメリカ人にはある程度浸透してるようだけど日本人には単語からも想像し難く注文に戸惑います。
写真があった方が明らかに注文もしやすいだろうとずっと思っていて、一度Yahoo.comに質問を投げたことがあります。その中で一番衝撃的な回答が「そんな写真載せたらコックが写真通りにつくらなダメやろ。」的な回答でした。他の回答は「店員に聞けばいいやん」とか「メニュー高くなるやん」とかそんな回答でした。

未分類
0

アメリカ法人設立の流れ

最近なにやってんのとよく聞かれますが、まだアメリカいます。本日一旦帰ります。
予定では次回渡米は労働ビザ取得後、次回がビザなしだと入国拒否とかなる可能性もなくはないのでなんとか取得したいところです。
この3ヶ月間は同僚と共に会社設立に奔走する毎日でした。トラブル続きで当初は4月頭に帰国予定でしたが結局5月1日に帰国延長となりましたが必要タスクはすべて完了した形です。

州によって違うけどカリフォルニアではざっと以下のような手続きで法人設立することができました。

Articles of Incorporationの提出

発行株式数、新会社名、住所、発起人(社長ではない)のサインを記入の上郵送もしくはサクラメントのCalifornia Secretary of Stateに直接持っていく。
2013年に入り手続きが遅れてるとの事で去年までは2〜3週間だったところ提出から1ヶ月半程かかります。
Secretary of Stateのサイトで現在の進捗状況が確認できます。Corporate FilingsFormations/Qualificationsというやつですね。
弁護士に頼むのが方が安心だけどこれは自分でもできるはずです。内訳は忘れたけど州政府に対して$160に支払いました。プラス弁護士費用。
この時点で法人税もかかります。利益がなくても年最低$800は徴収されます。12/16くらいがより前に提出すればその年の税金がかかるのに対し12/16以降はかからないのでその辺りで法人設立を考えてる人は時期を調整した方が良いです。
私達はここでトラブり3ヶ月近くかかりました。

無事ファイルされたら提出したArticles of IncorporationにCAのスタンプが押されて郵送で返って来ます。
これで一旦会社として登録されるので後述のTaxID(EIN)やローカルビジネスライセンスが取得できます。

Statements of Informationの提出

Articles of Incorporationが受理されたら90日以内にStatements of Informationを提出します。これはオンラインでも可能。
社長を含め3役をこの時点で決定します。
これも承認が遅れていて2ヶ月近くかかります。Corporate FilingsStatements of Informationというやつです。
今のところこれが必要になった場面はありません。費用は$20程。

TaxID(EIN)取得

TaxIDと言ったりEINと言ったりしますがまったく同じものです。
私達はお役所のたらい回しの刑にあい数日かかりましたが電話もしくはオンラインで数分で取得できます。オンラインではSSN必須。
電話で住所や代表者の名前等を聞かれたらその場で番号を発行してくれます。この電話は会社の役員じゃないとダメです。ばれないけど。
第三者でもOKという話だったけど私は2人のオペーレーターで玉砕しました。上記2つはカリフォルニア州に対して行なっていたけどEINは連邦政府に対しての申請です。
無料。

ローカルビジネスライセンス取得

これはカリフォルニアでも会社設立した市によりけりです。ローカルビジネスライセンス自体存在しない所もあるそうですが、私達がオフィスを構えたSan Brunoでは必須でした。これによって市税が発生します。
San Brunoでは会社名や住所等を指定の用紙に記入&提出。その他にもオフィスのリースアグリーメントとTaxIDとCAのスタンプががおされたArticles of Incorporationが必要でした。その後数日以内にオフィスの検査が入ります。2分くらいで終わりました。普通のオフィスビルなら問題ないはずです。
提出からローカルビジネスライセンス取得まで1週間もあれば十分です。
この時点で半期の市税を収めました。(予想)売上規模にもよるけど数百ドルやった気がします。
ある会社の人は7年間ローカルビジネスライセンス取得しなかったと言ってたけど、まっとうに商売していくには取得しておいたほうが良いです。

銀行口座開設

ここまできてようやく法人の銀行口座が開設できます。
銀行により必要なものは変わりますが、だいたいはTaxIDだけで大丈夫のようですが、我々が口座を開いたUnion Bankはローカルビジネスライセンスも必須でした。
銀行やプランによるけど最初にminimumで$1000のデポジットが必要です。co-signerも申請できるのでカードを二枚以上持ちたい場合等は申請したらよいと思います。キャッシュカードが届くまで1週間くらい。

大体こんな流れです。

以下疑問点とか。
– 代表は日本在住の人間でもいいけどその場合役員か発起人はUSにいないとダメ。あらゆるプロセスでサインを求められる。代表のサインどこにも書いてないけどいいのこれで?勝手に社長にされない?
– 日本の会社との親子関係を何も示してないけど良いの?
– デラウェア、ハワイ、ネバダで法人設立した方が税金面とかで何かと良いらしいです。
– SSNはいらない。あったらあったに越したことはない。私のようにあるけど番号忘れたという状況だと銀行口座開設でトラブったりします。

とにかく折れない心があればなんとかなります。
担当者が変われば言ってる事が違うとかランチに入るから少し待てとかで腹を立ててたら寿命が縮みます。

色々アドバイスをくれた方々ありがとうございました。

0

gitのpost-commitでpush/deployする

タイトルのまんまですが、近頃gitの運用フローを試行錯誤していて、その時に書いたシェルスクリプトの改変版です。
.git/hooks/post-commitに突っ込めば良いです。

1,developmentブランチでcommit

2,リモートリポジトリにpushする。

3,capistranoで開発環境へデプロイする。

というのが対話形式で実行されます。
リモートサーバーでhookさせて本番環境にデプロイというのが王道な気がするけど、capistranoのレシピも育ってきたしデプロイはローカルからやろって変わった人向けです。

#!/bin/sh
BRANCH=`git symbolic-ref HEAD`
case $BRANCH in
    *development)
    exec < /dev/tty
    while true; do
        read -p "Do you want to push $BRANCH to a remote repositry? (Y/n)" yn
        case $yn in
            [y]) git push
                  break ;;
            [n]) break ;;
            *) echo "Please answer Y or n for yes or no." ;;
            esac
    done
    while true; do
        read -p "Do you want to deploy $BRANCH to a development server? (Y/n)" yn
        case $yn in
            [Y]) cap @development deploy
                  break ;;
            [n]) break ;;
            *) echo "Please answer Y or n for yes or no." ;;
            esac
    done
esac
未分類
0

Vagrant

このブログは「俺、こんなしょうもない事何回調べてんねん」をなくす為のメモ帳として始めたのを忘れてた。これからはレベルの低い小ネタがけっこう入ります。
そんな事はさておき3周くらい遅れた感のあるVagrant。chefとcartonをちょうどいじってた時だったので合わせて色々試してみました。

$ gem install vagrant

$ vagrant box add centos6.3 https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box

~/.vagrant.d/boxes/centos6.3/box-disk1.vmdk という形で入ります。
これがBOXです。これをベースにVMを複数台立てていきます。

$ vagrant box list
centos6.3

無事入りました。

適当にフォルダを作る。
$ mkdir vag && cd vag

$ vagrant init centos6.3
これは最初の一回だけ。するとVagrantfileができる。

とりあえず無視して
$ vagrant up
はい、エラーでました。

SSH authentication failed! This is typically caused by the public/private
keypair for the SSH user not being properly set on the guest VM. Please
verify that the guest VM is setup with the proper public key, and that
the private key path for Vagrant is setup properly as well.

gem をrootで入れたせいで、シークレットキーの所有者がrootになってました。
sudo chown takashiaoki:staff ~/.vagrant.d/insecure_private_key

気をとりなおして

$ vagrant up
[db] VM already created. Booting if it's not already running...
[db] Clearing any previously set forwarded ports...
[db] You are trying to forward to privileged ports (ports <= 1024). Most operating systems restrict this to only privileged process (typically processes running as an administrative user). This is a warning in case the port forwarding doesn't work. If any problems occur, please try a port higher than 1024. [db] Forwarding ports... [db] -- 22 => 2222 (adapter 1)
[db] -- 3306 => 36 (adapter 1)
[db] Creating shared folders metadata...
[db] Clearing any previously set network interfaces...
[db] Preparing network interfaces based on configuration...
[db] Booting VM...
[db] Waiting for VM to boot. This can take a few minutes.
[db] VM booted and ready for use!
[db] Configuring and enabling network interfaces...
[db] Mounting shared folders...
[db] -- v-root: /vagrant

[~/vag2] vagrant ssh
Last login: Wed Feb 27 06:48:16 2013 from 10.0.2.2
[vagrant@localhost ~]$

無事ログインできました。

複数台(web + db)を作る時はVagrantfileを修正します。

#config.vm.box = "centos6.3"
config.vm.define :web do |web_config|
web_config.vm.box = "centos6.3"
web_config.vm.forward_port 80, 8080
web_config.vm.network :hostonly, "192.168.33.10"
end
 
config.vm.define :db do |db_config|
db_config.vm.box = "centos6.3"
db_config.vm.forward_port 3306, 3636
db_config.vm.network :hostonly, "192.168.33.11"
end

一旦前のVMは止めます。

$ vagrant halt

$ vagrant up web
$ vagrant up db

これで2台のサーバーが立ち上がりました。
これを別のプロジェクトで使いたいとなればこのvagフォルダをコピーしすれば新たにサーバーセットが構築できます。

未分類
0

アメリカと日本のエンジニアの違い

行ったり来たりですが今またアメリカにいます。
なんとか元気です。

さて、よく日本の人に聞かれる「やっぱアメリカのエンジニアはすごいんですか?」と聞かれたりしますが、単純に凄いかというと答えはそんなことないです。もちろん行くとこ行けばすごいやつもいるんやろうけど俺の観測範囲にはいません。

じゃあなんで日本に比べてエンジニアリングが先進的に感じるかというと、尖った技術を臆することなくプロダクションに使える事だと思います。
node.jsにしてもBackbone.jsにしてもはたまたSaaSにしても普通に自社のWebサービスに使う。便利だから合理的だから使う。
Rails使ってる兄ちゃんになんでRailsか聞いても「特に理由はない。簡単そうだったから。」とか言われたりする。
日本では尖った技術一つ一つに関してと(けっこうハイレベルな)チップスとかをブログに書いたりするけどそれでサービスを作ろうというところまでいかない気がします。「node.jsインストールしました!」の記事はあるけど「node.jsでこのサービスリリースしました!」って記事はない。「BDDやTDD勉強してます!」はあるけど「このサービスはTDDで開発してます!」って記事もない。
技術的な差ではなくその技術を採用できるかどうかの環境の差だと思う。

対してアメリカは多少バグを出してもそれが有益で合理的なら採用する。んでもって実践の経験があるというところで日本と大きな差がでる。
エンジニアや開発会社を取り巻く環境も違うと言って言い訳せずにもっと攻めの開発&リリースをしないとダメ。> 俺

未分類
0

息子

時差ボケで深夜2時に起きてしまいやることないので子育てについて思いつくままにツラツラと書いてきます。落ちはない。
うちには5歳になる一人息子がいます。はい、かわいいです。
よく2歳が一番かわいいと3歳が一番かわいいとかいうけど、ある意味正解です。子供は成長すればその時が一番かわいい。現在5歳、今が一番かわいいです。

そんな子供に常々伝えてる言葉が

「母親の泣かせるような事だけはするな」

昔ラジオで聞いた言葉だけど、すべてが詰めこまれた便利な言葉です。
社是でも家訓でもない。こういうのなんというやろ?
野菜食べろとかはよ寝ろとかついつい小言をいってしまうけど、守ってほしいのはこの一つ。
人生生きてると決断の連続だけど、その決断でダークサイドに落ちてしまいそうな時に思い出してくれたら嬉しい。
これさえ刷り込んでおけば俺が死んでも子供はもちろん、妻は子供に泣かされる事なく楽しく暮らせるはずです。
俺は「判断に悩んだ時は自分を好きでいられる方を選べ」とインターネットのどこかで見て、それを信念にしてだいぶ助けられました。
あとは、適当でいい。
オカマでもオタクでもヤンキーいい。
母親を泣かさなければ後は自由に育ってほしい。(泣くか)
行きたくないなら大学も高校もいかなくていい。大学に行けば所謂職業選択の自由は高まるしいいと思うけど、どっちでもいい。30歳くらいならフリーターでも良い。選択の幅は減るけど考える時間と準備期間は十分。
どちらにしても確率が下がるだけで1流大学でてもクズはいる。「あの時大学行ってれば」と思っても大学行っても失敗する確率はあるんやし。

もう一つ。
父親のしごとの一つは子供の選択肢を増やすことだと思う。
釣りに連れてくスポーツ観戦に連れてく新しい場所・物・人に会わせる。大きくなれば友達がそれを担うこともあるけど基礎的なところで。
それが職業に結びつけば親としては嬉しい限りだけどまあそれもどうでもいい。
「会話と趣味を増やす」は、息子より長く生きてきた大人のアドバイス。多趣味でよくしゃべる奴に人生に悲観的なやつをみたことがない。
まあ、現実はそう簡単にはいかず、趣味はインターネットのみの俺が息子を連れていけるのは、Googleで「子供 お出かけ」と検索してなんとなくいけそうなところばかり。すまん。

と、まあなんでこんな事を考えてるやろうなと思ったら今年に入ってwii(Uじゃない)とマリオブラザーズを買ったせいかな。
俺はゲームを全然しないので絶対ゲーム機は買わないと思ってたけどついせがまれて買ったらこれが意外と悪くない。
息子はそれをほんと楽しんでる。
俺と二人であーでもないこーでもないと言いながらプレイ動画をYoutubeで観て、その後二人でゲームを興じる。

ゲームをする時話をしないのはこれはやはり良くないと思う。だからPSPとかDSとかいうのは買わない。はい、単純です。
ゲームにのめり込んで現実と仮想の区別がつかないとかいう人もおるけど、そんな奴は遅かれ早かれ犯罪を犯す。

息子が二人でやりたがるので逆に会話が増えたし、それを見る妻も悪い印象をもってる感じはない。

>息子へ
これからも色んなことを経験して悩んで笑って泣いて、充実した人生を送ってください。

0

Project Creator

Pythonの練習がてら作ったWebサイトの開発環境の構築を自動化するツールです。

Project Creator

他の人はどうやってるかわからないけど、私の場合Webサイトやモックをローカル(Mac)に作る時だいたいこんな流れです。

  1. http://dev.hogehoge.comとかでアクセスできるようにhostsを書き換え。
  2. Apacheの.htaccess fileを編集してバーチャルホストの設定。
  3. プロジェクトフォルダの作成。
  4. ベースとなる適当なHTMLやCSSをBootstrapや以前作ったサイトからコピー。
  5. Apache再起動
  6. ブラウザで確認

と、いった一連のアクションを全部手動で行なっていました。sudoしたり最新のBootstrapダウンロードしたりとけっこう面倒です。
何かを作りたくてもこのステップが面倒で二の足を踏んでしまう事もありました。

Project Creatorはこれを全部自動化するスクリプトです。余計なお世話ですが、最後はFinderとブラウザまで立ち上がります。
“Default”ってフォルダにベースとなるHTML/CSS/JSをぶち込んで置くこともできますが、SymfonyやSinatraなんかを置いていても良いかもしれません。但し適宜run.pyを修正する必要があります。
完全に俺々スクリプト&めったに書かないPythonなんで万人受けしませんが、「何か作ってやるぜ!でも環境構築するのに面倒…」って人に最適です。

GithubからCloneしてconfig.py修正してrun.py動かせば対話型のコマンドが実行されます。
config.pyもだいたいそのまま使えますが、projectpathは恐らく変更する必要があります。

'projectPath': '/virtual/www/'

projectのベースとなるパスです。人によりけりだけど/home/とか/var/www/とかですかね。
私は以前使ったファーストサーバの名残で/virtual/www/となってます。

/virtual/www/projectA/public/ http://dev.a.com
/virtual/www/projectB/public/ http://dev.b.com
/virtual/www/projectC/public/ http://dev.c.com

という形です。

あとは、python ./run.pyとかで動きます。

$ python ./run.py
Enter your domain name. (e.g. dev.test.com) [] dev.test.com
Enter the project path following '/virtual/www/'. (e.g. test) [] test
Enter document root directory following '/virtual/www/test/'. [public]
Choose a template from 'bootstrap/plain'. [] bootstrap
 
---------------------------
Domain: dev.test.com
Project Path: /virtual/www/test
Document Root: /virtual/www/test/public
htaccess: /etc/apache2/extra/httpd-vhosts.conf
Template: bootstrap
---------------------------
 
Are you sure these configurations are all correct?(Y/n) [n] Y
Password: ←rootのパスワードを入力
Your project successfully generated.

 
こんなモックが出来上がります。なぜかフォーム付き。

0

今年も色々

■1月〜3月
ツイエバの有料版を出せた。有料のWebサービスは儲からないというのが定石だったけど、それを無視してローンチまでもっていけたことが何よりも良かった。儲かってはないけどサーバー代をペイできてる。それで今は十分。

■4月〜6月
本業が忙しくなった時期だけど、ひっそりツイエバ英語版もリリース。こちらは完全に黒歴史になりつつあるけど、タイムゾーンや多言語化等インターナショナリゼーションの開発できたのは、後の本業にも役立ち、今となれば良かったと思える。
6月に家族と行った信州旅行は良かった。ゴールデンウィークの代休ということで平日にのんびり乗鞍・上高地を満喫できた。

■7月〜9月
縁あってETC2012に参加できたのは良かった。6年ぶりにアメリカに行って自分のチキンっぷりにビビったけど今となっては良い思い出。

■10月〜12月
3ヶ月のアメリカ滞在して法人設立の準備。人に会いまくり現地の人と仕事をし刺激的な毎日やった。オフィスない住居もない何も受け皿にないところから自分たちで新しい事を始めれるのはほんと良かった。

去年の今頃、今の出来事を予想できなかったように来年末にどうしてるかさっぱり予想できないけど、きっと来年も楽しいはず。