Tokyo Course Grained

適当に生きてます

日記 2017/09/21

仕事…

前回から風邪は改善しててもう完治してる。けど目が、、視力が治らない。。はっきり見えない。

風邪で死んでるときから課題とか仕事とかやってなくてこういうのも憂うつだったんだが人の優しさでなんとかなりそうだは〜ありがたい。 生活の立て直しが急務。もうちょっとだと思う。

Lyft の記事で俺のフレンドコードがすごい invokeされてるみたいで2,3日に1回クーポンが貰えてる。ただクーポンの使用期限1ヶ月なんだよなーLyftのケチ。Lyftのクーポン消費するためだけにシアトルでも行くか(バンクーバーはライドシェアがなにもないから…)。

福岡の会社に務めたとして熊本(俺の地元です)から新幹線通勤って現実的ってことに気づく。ほぼ新幹線で1時間。ドアツードアで1.5時間くらい。これは俺の家が新幹線の駅にt近いことによる。新幹線って東京名古屋でも相当だからって思うが熊本福岡は近いのだなー。ただ定期7万くらいします。そこまでして実家で暮らしたいか?毎週通えば帰えればいいやん。

こういうの考えてるときが楽しいな

広告を非表示にする

日記 2017/09/16

日本から帰ってきて即風邪を引いて満身創痍である。Literally 2日間寝てた。

昨日毛布をさらに増やして発汗したらよくなったぽくて今日は外出したが歩くとフラフラするし便器にiPhone 落とすし(最悪!)散々である。

まだ外出ると熱あるしなぜか両目真っ赤だしなんか右目が霞んで見えるし(?)家で横になってるのはできるのでずっとwikipediaとかblogを読んでる。しかし風邪をひいて弱ると人生について考えてしまいます。 カナダの西海岸からヒップでセクシーなムーブメントをお届けみたいなことしたいのに虚無しかない。

なんかゲームしたりアニメとかみたいな… たまこラブストーリーがよかったからけいおんでも見るかな…2期を見てないんだよな…

広告を非表示にする

日記 2017/08/28

木曜には引っ越しなんでうだうだ片付けをする。

Bloomberg Technology の生放送見てたらミサイル発射のbreaking newsが…

BTECH の生放送14時っていう一息つくにはちょうどいい時間と興味のある分野(シリコンバレ〜+金)で日課みたいに聞いてる。生が聞けなかったときは夜録画を見るくらい。まあウーバーのCEOに誰がなるかとかXXXっていうスタートアップがbillion調達したとかIPOした某社(Blue Apronです)が最安値更新したとかまあどうでもいい話なのだが、、、ミサイル発射より気楽に聞けるよね… Bloombergポッドキャストもおもしろいし課金できるならしたい。

スーパーまで歩くが15分位普通ならダレるんだが最近は独り言を録音するようにしてるので飽きない。別にpublishするつもりはない。

カナダで稼いだ金を日本に密輸するために町の怪しい両替商で両替した。ここ異常にレートがいい…。 Granville St. の Charlie’s Currency Exchange ってとこです。実際のレートと0.8円くらいしか変わらない。

家でホームパーティーしてて呼ばれたんだけど(前に聞いてたので気を使ってビールを買っていった…)、ほぼネイティブでかなりレベルの高いやつだよなーと、、、さすがにニコニコするのも5分位で無理でキッチンに引きこもって料理作ってた。そしたらかまってくれるひといて映像関係のディレクターやってるらしくてプロデューサーとの違いとかどういうステップで作るの?とか聞けておもしろかった。Hayao Miyazakiの話になって英語の題名覚えておくといいなと思った、、、最近のやつはよくないって思ったんだけど日本人だったら理解できるの?って言われて I think so(即答)したんだけど、最近のは日本でも、、、、、、

広告を非表示にする

日記 2017/08/19

12時に起きて適当に作業する。学校の課題案件で、 javaMySQL触るみたいなの、、MySQLは docker compose上で docker compose便利や。docker環境よく消すけどセットアップの方法よく忘れるから備忘録を githubに置いた

その後スーパー行くが野菜売り場で友人氏に会ったのでその後フードコートでしゃべる。

なんか今の家に来月から住みたい見に来るらしくて急いで帰る。

rebuild のライブ(typesterさん回)聞き流しながら作業する。課題でJavaサーバーサイドのテストしたいけどテストで MySQL 使わない感じにしたくてそんなわけでDI (HK2)を導入。。。基本テスト書くやつなのでときには動かんかったりして土曜のけだるい気分にあってていい。これ深夜まで8時間くらいぶっ続けでやってた。 てか課題ではDIどころかテストもいらんしここまでやらなくてよいのだけどspring とかでないほぼ生なjersey HTTP Serverに自分で DI とか jackson とか mockit 組み込んでいくの積み上げていく感じがいい。 spring boot とか使えばこんなのしないでいいんだろうが…。

ただ今日は仕事はまったく手を付けなかったのが焦る。

今日聞いたポッドキャスト

BOOTCAMPS ARE A SCAM – How to Get a Job WITHOUT Going to a Bootcamp – Start Here FM

bootcamp なんて高いかね払わないでジュニアポジションに応募しなよとのこと。俺もそう思う。$20000とからしいが俺もそれくらい払ったのでは、、って真顔になる。

Rebuild: 189: Server-side Emacs (typester)

影響されやすいから Win NotePC 欲しくなったし PUBG がすげーやりたい。配信とかプレイ動画みる習慣ないから見てみたい。typesterさんrebuildでは珍しい主張の強くない語り手でいいなーと思う。続きで、typesterさんをそのまま何個か聴いた。

Rebuild: 179: Rustacean (typester)

Rebuild: 148: Life Changing Android Experience (typester)

148はプロダクティビティの話ししててナツい。

rebuildで PUBG の話を聴いて DayZ っぽくないか?(どちらもやってません)と思ったのでピコキャスの DayZ 回聴く。 第4回 DayZなどゾンビサバイバルゲーム - @IDA_10 x @miyaokaのピコピコキャスト

プレイしないで語るの最悪。PUBGはそのうちやる…。

今日はポッドキャスト聞きながらもずっとコードにフォーカスしてて、こういう状態をコンスタントに作れるといいなと思った。

広告を非表示にする

Podcast Tweaks

https://tweakpods.appspot.com/

サンプル

f:id:iwg:20170806165457p:plain:h300

これは何?

podcast をリスナー側としてハックするツールです。 以下の機能があります、というか今のところ1つしかないです。

再放送

再放送します。podcastってsubscribeする前のエピソードを聞く機会ってそうそうないですよね。

これまでのエピソードを古い順かランダムに再放送します。また再放送の間隔を指定できます。

このアプリで新しいRSSを発行するので、URLを指定できるアプリの場合podcastのアプリで開いてください。 私はiPhone でRSSRadio 使ってます。OvercastでもURL指定でpodcastが開けます。他にもあるかもしれない。

裏側

Google appengine standard environment です。 データストアは cloud datastoreと memcached というか goon ですね。 フロントはReactJSです。 RSSGoogle CDNから配信されてます。意味は無いけどCloudFrareに変えたい。

ソース github.com

広告を非表示にする

grpc-web on appengine standard environment (できませんでした)

作りかけです。 github.com

いまpodcast用の再放送ツール作ってて、これ を grpc 対応させようとした。 ReactJSのフロントがあってRestのAPIで叩くのだけど、grpc対応させたら RESTなAPIをわざわざ作んなくていいしコードをだいぶ減らせる。 grpcは標準ではブラウザのjsから叩けないしなー って思ってたら現状ongoingらしくて draft がでている。それと、毎日早く欲しい!ってコメントが書かれる issue

現状ドラフトを実装したのは以下のリポジトリ

github.com

このサンプルがなぜか typescript で jsからどうやって叩くのよって思ったら同じことやってるサイトを見つけた。

grpc-web-clientをjsで試してみた - daisuzu's notes (ほんと助かります)

ブラウザから叩くやってみたんだけど、最後appengineで動かすのはハマって現状できなさそうだなと言う結論になった。

  1. appengine の contextが取得できない

grpcのサービスの関数はこんなインターフェイスになってて

func (s *rssService) GetRss(ctx context.Context, rssQuery *library.GetRssRequest) (*library.Rss, error) {

appengineからgcpの各サービス(datastoreとかログとかすべて)を叩くにはこのcontextが必要なのだが grpcのcontextを使うと runtime errorになる。

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x3856d9]

goroutine 10 [running]:
panic(0x6e7380, 0x820cfa080)
        /Users/iwag/Devel/go_appengine/goroot-1.6/src/runtime/panic.go:481 +0x3e6
google.golang.org/appengine/internal.logf(0x0, 0x0, 0x0, 0x8001e0, 0xa, 0x820f54070, 0x1, 0x1)
        /Users/iwag/Devel/go/src/google.golang.org/appengine/internal/api_classic.go:145 +0xe9
google.golang.org/appengine/internal.Logf(0x8820d4e6d0, 0x820f22300, 0x0, 0x8001e0, 0xa, 0x820f54070, 0x1, 0x1)
        /Users/iwag/Devel/go/src/google.golang.org/appengine/internal/api_common.go:82 +0x151
google.golang.org/appengine/log.Debugf(0x8820d4e6d0, 0x820f22300, 0x8001e0, 0xa, 0x820f54070, 0x1, 0x1)
        /Users/iwag/Devel/go/src/google.golang.org/appengine/log/api.go:19 +0x66
main13960.RssClient.GetRss(0x8820d4e6d0, 0x820f22300, 0x820f4e040, 0x1b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        rss.go:58 +0x15c
main13960.(*RssClient).GetRss(0xbf6148, 0x8820d4e6d0, 0x820f22300, 0x820f4e040, 0x1b, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
        <autogenerated>:3 +0x11d
main13960.(*rssService).PutRss(0xbf6148, 0x8820d4e6d0, 0x820f22300, 0x820f54000, 0x820da0c00, 0x0, 0x0)
        server.go:298 +0x2a2

app engineが期待しているcontextが違うんだろうなーという感じで、contextの型としてはあってるのだが。ちょっと解決法が見えない感じ。 grpc-web まだongoingだし今日はここまでって感じ。appengine standardじゃないところで動かすのを検討中(flexibleだと動くのだろうか…)。

Amazon Echo: Q and A

カリフォルニアに旅行に行ってて Amazon Echo Dot を買いました。 セットアップ微妙に手こずったので参考情報を上げておきます。

0 どこで売ってるの?

アマゾンはもちろん量販店(TargetとかBestbuyとか)ならどこでも変えますが今(2017/07/25)現在米国でしか買えません。USの物流は終わってて平気で2週間とかかかるので量販店で買うのがおすすめです。私はカナダ在住なので旅行中に買いました…。しょっちゅう$10オフをやっています。

1 Alexa APP がないとセットアップできない!?US以外だとアプリインストールできないんだけど!?

できます。web管理サイト

http://alexa.amazon.com/spa/index.htmlalexa.amazon.com

でもこの/spa/ ってURI設計どうなんだ?多分米Amazon.comのアカウントは必須なはず。適当に作りましょう。

2 なに話せばいいかわかんない

things to try があります http://alexa.amazon.com/spa/index.html#help/thingstotry

3 話した内容消したい

このページで消す http://alexa.amazon.com/spa/index.html#settings/dialogs

4 てか話した内容記憶してんの??

明示的に消さない限りアマゾンのサーバーに保存されてるらしいっす。

5 デバイスの追加

skills でデバイス名とかメーカー名で検索 http://alexa.amazon.com/spa/index.html#skills/search/wemo/?&ref-suffix=sb_gwバイスの設定で remote control を有効にしないとかも(私の買ったtp linkはそう。有効にするのはデバイスのAppの設定から) そのあと Device Discovery

6 全然聞き取ってくれない

ボイストレーニングがあります http://alexa.amazon.com/spa/index.html#settings/voicetraining

7 呼びかけの名前(Alexa)とかどこで設定するの?

ここ http://alexa.amazon.com/spa/index.html#settings からDevicesで適切なデバイスを選択。で、General : Wake word ってところです。 住んでる場所とかタイムゾーンもこのページで変更する。住所は今のところUSにしかできなかったはず。

広告を非表示にする