タグ

ブックマーク / songmu.jp (16)

  • Nature Remo作ってる会社のCTOになったのでみんな買ってくれよな! | おそらくはそれさえも平凡な日々

    6月1日付けでNature Japan株式会社の取締役CTOに就任しました。最初の営業日の6/3(月)からいきなり台湾出張に行ってきました。良いスタートアップ感。ついでに日6月5日に39歳になりました。新たなチャレンジにワクワクしています。 大塚(@maaash)さん、村瀬(@typester)さんに続く3代目のCTOとなります。2人はカヤック時代の同僚でもありますが、カヤックのラボチームのダブルエースだった彼らの後任としてCTOをやるのは恐れ多いのですが、僕は組織づくりなど含めて僕なりに組織に貢献していきます。 当社はおかげさまでスマートリモコンのNature Remoが好調で、現在はNature Remo Eというスマートエネルギーハブの開発を進めているところです。今後は電力なども見据えて事業を展開していく計画で面白いフェーズにあります。 まだ、社員全員でも10人に満たない小さな会社

    Nature Remo作ってる会社のCTOになったのでみんな買ってくれよな! | おそらくはそれさえも平凡な日々
    otsune
    otsune 2019/06/05
  • お知らせ | おそらくはそれさえも平凡な日々

    日頃お世話になっている皆様へのお知らせです。なるべく多くの方に直接お伝えしたかったのですが、この場でのお伝えになってしまった方には申し訳ありません。 はてな退職します。4/17(水)が最終出社でした。所属は5/31(金)までです。 ずっとはてなで働きたいと思っていましたし、この絶好のタイミングで辞めてしまうのは勿体無いという気持ちもあります。ただ、次の挑戦に関して時間的な制約もあったため退職させてもらうことになりました。この詳細はまた別途お知らせできればと思っています。 2014年に現在のはてな東京オフィスの一人目のエンジニアとして入社し、その後、チーフエンジニアと、Mackerelのプロダクトオーナー(マネージャー)を兼務してきました。 チーフエンジニアとして組織に、Mackerelではプロダクトとビジネスに関わりました。入社当時、私一人だけだった東京オフィスのエンジニアも今では二桁に

    お知らせ | おそらくはそれさえも平凡な日々
    otsune
    otsune 2019/04/18
  • クソコードに対する怒りとコードレビューにおける人格攻撃について | おそらくはそれさえも平凡な日々

    デキるプログラマだけが知っているコードレビュー7つの秘訣 7つの秘訣の1〜5は当にそのとおりだと思います。 「怒り」って言葉を使っているところはなかなか画期的だと感じた。というのも僕は前から「人格攻撃に思われて」しまうような、コードで人を殴るようなことをしてしまう人が出てきてしまうのは何故かということを考えた時に、そこには「コードに対する怒り」があるからだろうなと思っていたからである。怒りがあるからこそ強く指摘しすぎてしまうことが起こりうる。 「怒り」というのはつまり「感情」である。であれば、「その『怒り』はコードに向けられたものであり、書いた人に対してのものではないので、その人に対しての攻撃ではない」というのは、理屈ではかろうじて通るかもしれないが、書いた人の「感情」的には通らないこともあることは理解したほうが良いと思う。 じゃあ怒らなければ良い、という話にはしたくなくて、どうしても怒

    クソコードに対する怒りとコードレビューにおける人格攻撃について | おそらくはそれさえも平凡な日々
    otsune
    otsune 2014/08/20
  • YAPC::Asia 2013でTalkしてきました。それと"ジャイアンツ"の怪

    ジャイアンツじゃなくて、"这样子"(zheyangzi)です。意味的には"like this"に近いですね。 今年のトーク 今年もYAPC::Asiaでスピーカーを勤めさせていただきました。 今時のカジュアルなデータベース関連開発 発表資料 中級者くらいを意識した内容にするつもりでしたが、普段やってることの紹介と羅列に終始してしまい、パーティションとかちょっと前提知識も必要なトークになってしまって、脱初心者を目指す人とかにとっては難しいトークになってしまったかもなーと感じています。ちょっとトークの対象者がぶれてた感じなので反省しております。去年よりかは大分リラックスして話せたのは良かったですね。 LTもしてきました 2013年代のBlogツールRijiの紹介 発表資料 Riji便利なのでお使いください。チュートリアルもあるので簡単にお試しいただけます。 LTは初日にアサインされてなかったの

    YAPC::Asia 2013でTalkしてきました。それと"ジャイアンツ"の怪
    otsune
    otsune 2013/09/21
  • そろそろText::Markdown::Discountについてひとこと言っておくか | おそらくはそれさえも平凡な日々

    Text::Markdown::Discountってどうなの?って話があったりするわけですが、Perlの人は積極的に使ったほうが良いと思うし、Discount自体はPerlに限らずおすすめだよーっていうエントリです。 これはDiscountというCのMarkdownライブラリのバインディングです。Rubyにはrdiscountという、メジャーなMarkdownのgemがありますが、これもDiscountのバインディングです。Jekyllとかで利用している人も多いでしょう。 Rubyの世界だと他にもredcarpetというgithubが採用したことで一躍有名になったMarkdownライブラリがあります。これはsundownというCのMarkdownライブラリのバインディングです。 sundownは処理が高速なのがウリらしく、PerlでもText::Markdown::Sundownを書こうか

    そろそろText::Markdown::Discountについてひとこと言っておくか | おそらくはそれさえも平凡な日々
    otsune
    otsune 2013/08/12
  • おそらくはそれさえも平凡な日々: Perl製のWebアプリケーションをherokuで3分で動かすの法

    PSGIアプリなら簡単にherokuで動かせます。 Miyagawaさんのbuildpack(https://github.com/miyagawa/heroku-buildpack-perl)を 使います。使い方もREADMEに書いてあったけど、以下にも書きます。 アプリ側の準備 deployしたいアプリケーションのgitリポジトリ上で以下をやります。 cpanm --installdeps . で依存モジュールがちゃんと入るようにする(cpanfile使うのがオススメ) アプリ起動用のapp.psgiを配置する herokuにアカウントを作る https://www.heroku.com/ toolbeltを入れる https://toolbelt.heroku.com/ インストールが終わるとherokuコマンドが使えるようになります。 % heroku login と打ってコマンド

    otsune
    otsune 2013/05/22
  • おそらくはそれさえも平凡な日々: CPANモジュールのパッケージングの歴史

    最近同僚が次々とCPAN Authorになってて良い流れだなーとか思っています。 ただ、CPANへのモジュールの上げ方がわからないとか、M::Iを使えばいいのか M::Bを使えばいいのか、それらがそもそも何やってるのか分からないという話も 聞くので、僕自身もその辺の知識を整理してアップデートしました。 とりあえず、今はModule::Buildを使っておけば良いんじゃないかと 思っていますが、そこに至る歴史的経緯をまとめてみます。 大体、以下に書いてあることに加えて、最近の動きを書いています。 Module::Build:MakeMakerの後継者を目指して PerlでCPAN形式のモジュールを配布する場合は、Makefile.PLなりBuild.PLなりを モジュール作者が用意して、それがインストールに必要なファイル類を自動生成 するという流れになっています。 既存の雛形を使うと色々ファ

    otsune
    otsune 2013/04/12
  • おそらくはそれさえも平凡な日々: awkの代わりにperlを使おう

    perlのコマンドラインオプションには-aってのがあります。これはawkモードです。perl --help見るとautosplit modeとか書いてありますが。 perlは-pや-nオプションを渡す事によってファイルを一行づつ処理してくれますが、その時に-aオプションを渡すと@F配列にフィールドの情報を自動的に入れてくれます。 フィールドのセパレータはデフォルトではスペースですが、-Fオプションで指定可能です。 カンマ区切りのテキストの、最初のフィールドだけを表示したい場合は以下の様な感じ。 % cat test.txt server1,1343363124,30,/video.php server2,1343363110,20,/profile.php server3,1343363115,7,/login.php server1,1343363105,8,/profile.php %

    otsune
    otsune 2013/03/30
  • おそらくはそれさえも平凡な日々: もにかじでオレオレ監視ツールについて話してきました

    オレ自身を監視するツールって話なんだけどな!発表資料は以下。 オレオレ監視ツール 自分が触っているアプリケーションでのタイプ数を可視化するツールです。 なんか手元のMacにGrowthforecastが簡単に入らなかったのでカッとなって VPS上に構築しました。これで僕の行動が世界中からまるわかりです! 3/11追記 手元にHRForecast立ててそれで代用したのでURL消しました 適当に設定したら偶然にも調度良く赤系(iTerm,Macvim)が仕事、緑系(Chrome, Limechat) がサボり系になりました。Limechatがちゃんとライム色になっているのが素晴らしいですね。 仕組みとしてはごく単純で以下のような感じ。 KeyRemap4MacBookをdebugをONにしてキーイベントをログ出力 Slateでアプリの切り替えを検知してそれをログ出力 それらのログをtailで読

    otsune
    otsune 2013/03/09
  • おそらくはそれさえも平凡な日々: 2013年のGetopt::Long

    完璧な引数処理モジュールなどといったものは存在しない。完璧なGetopt::Longが存在しないようにね。 バッドノウハウの宝庫として有名なGetopt::Longですが、なんだかんだでデファクトで、gnu parallel等、名の知れたコマンドラインツールで使われていたりします。標準モジュール縛りでサクッとコマンドラインツールを書くこともあるでしょうし、そうではなくても、Getopt::Longで片付くことも多いので、個人的なベタープラクティスとかtipsとかを書きます。 Perlでコマンドラインオプションの解析に Getopt::Long を使う時、絶対に忘れてはいけない引数 大事なことは上の記事に書いてあるので、まずはこれを読んでください。 サンプルコード 僕がスクリプトを書くときのの雛形は大体以下の様な感じ。 #!/usr/bin/env perl =head1 DESCRIPTI

    otsune
    otsune 2013/02/02
  • おそらくはそれさえも平凡な日々: #isucon2 で連覇させてもらってきました

    主催の皆様素晴らしいイベントの提供当にありがとうございました。 まさかの2連覇ですが、@fujiwaraの恐ろしさを再認識するとともに、@typesterのチート性能を見せつけられた感があります。 まずは個人的な反省点から 去年よりかは大分成長しているつもりだったのに、@fujiwaraとの力関係が何もかわっていなかったことに衝撃 @typester(Redis期)がRedis使ってくることはわかっていたのに、競技中に brew install redisとかやってるのはダサすぎ ということで、isucon2を振り返ります。 事前準備 事前にIRCチャンネルを作っておいてnopate botを呼んでおいたくらい。カヤックから別チームも出ていたので、お互いのチャンネルには入らないという紳士協定。 去年の経験から、revサーバーに直接gitリポジトリを作れれば捗ることは分かっていたので、その

    otsune
    otsune 2012/11/07
  • おそらくはそれさえも平凡な日々: モダンなPerlを「読む」上で覚えておくとよい構文 第2回「リストを理解すれば配列とハッシュをより活用できる」

    第1回から大分時間が空きましたが、なんと続きます。「次回は無名関数について書く」とか書いていましたが、先にリストについて言及することにします。 混同されがちですがこのエントリーでは「リスト」と「配列」を厳密に違うものとして扱います。結論を先に簡単に言ってしまうと、リストを配列に代入すれば配列になるし、リストをハッシュに代入すればハッシュになるということです。 Perlの式は値を返す サブルーチンに限らずPerlのあらゆる式は評価された値を返します。返された値は代入先があれば代入され、代入先がなければ捨てられます。 値を返さないケース ブロックは値を返しません(doを使えばブロックに値を返させることが出来ます)。例外的にuse文やpackage文は値を返しません。この二つはコンパイル時にコードを実行する前に最初に評価されるので値の返しようがありません。 さて、題です。Perlの式の値の返し

    otsune
    otsune 2010/09/28
  • おそらくはそれさえも平凡な日々: Perlでフィボナッチ数列の高速化とか無名関数の再帰とか

    簡単にfibを高速化する方法を読み、おおっと思って、Perlでやってみた。 #!/usr/bin/perl use strict; use warnings; use feature qw/state/; use Benchmark qw/timethese cmpthese/; sub _fib_ret2 { my $n = shift; if ( $n == 1 ){ (1,1); } else { my ( $aa, $bb ) = _fib_ret2($n-1); ($aa+$bb, $aa); } } sub fib_ret2 { (_fib_ret2(shift))[0]; } sub fib_memo { state @cache; my $n = shift; $cache[$n] ||= $n <= 1 ? 1 : fib_memo($n-2) + fib_memo($n

    otsune
    otsune 2010/09/21
  • おそらくはそれさえも平凡な日々: モダンなPerlを「読む」上で覚えておくとよい構文 第1回(?)

    Perl学習者がある程度Perlに慣れてくると、他の人の書いたコードを読む機会も増えてきます。そこでつまづく人は多いのではないでしょうか。かく言う私自身がその一人です(笑) モダンなPerlはDSL(黒魔術?)的な書き方をしている部分も多く、雰囲気として処理内容をつかみやすいのですが、逆に文法的に構文を理解するのが難しいことも多いです。 「知っている人には当たり前、知らない人には黒魔術」 Perlにはそういうのが多いので、そういったところで悩んでいる人も多いのではないかと思い、このエントリーを書いてみることにしました。気が向けば続きも書きます。間違っている部分もあるかと思うので、ブクマコメ等でご指摘いただけると助かります。 日の目標とサンプルコード 裸のワード(bareword)は怖くない encode cp932 => $str; sub PI(){3.1415926535} てことで

    otsune
    otsune 2010/03/23
  • おそらくはそれさえも平凡な日々: Akamai勉強会の追記というかお詫び

    完全に予想外の反響に驚くとともにビビッています。これまでまともにブクマを受けたこともないので、まさか半年分のアクセス数を一日で稼ぐことになるとは思いませんでした。いつもの感覚で、勢い重視で面白おかしく書いたところが、あおってしまった部分もあるのでしょう。反省しています。フィード購読者も増え、こうなると書く内容に責任も発生してしまうな、と多少途方にくれています。 プライベートセミナーなのにレポートのページにこれだけアクセスが集まってしまったのは申し訳なく思っています。geekpageさんも書くと言っていたので、私のBlogなんてたいした影響力が無いとタカを括っていました。すみません。 タイトルに当初「鬼畜」という言葉を使っていました。親しい仲で「おまえ鬼畜過ぎ」というのとは違って、初対面に近い方に向けて使うのはあまりにも非常識だと反省しタイトルを変更した次第です。 せっかくお話してくださった

    otsune
    otsune 2009/04/22
  • おそらくはそれさえも平凡な日々: Akamaiが想像以上に物凄かった件 in Akamai勉強会

    続きというか、お詫びを書きました。 文章を多少修正しました。技術的な点は色々誤りがあると思いますので、あまり信用しないでください。詳しくはgeekpageさんがじきに書いてくださるはずです。 入口にあった、Akamaiサーバーがリアルタイムに捌いているトラフィックを可視化した地球儀が映ったモニターアメリカが早朝なのでトラフィックは850Gbpsと少な目(笑) それでもアメリカのバーの長さは凄い やすゆきさんという方が、Blogでひっそりと告知していたのが、IT勉強会カレンダーに載っていて、それを目ざとく見つけて行ってきた次第。募集枠5人とかだったので、焦って申し込んだら、実際そんなに募集は来なかったみたいで意外。僕なんか「Akamai」って書いてあっただけで飛びついたのに。内輪に近いノリだったてのもあると思うけど、案外「Akamai」には訴求力が無いのかね。まあ、インターネットの裏の支配

    otsune
    otsune 2009/04/20
  • 1