タグ

ブックマーク / memo.sugyan.com (15)

  • ISUCON9 予選敗退した - すぎゃーんメモ

    ISUCON9。今年は縁あって声かけていただき id:Soudai さんと id:kamipo さんと、「失敗から学ぶISUCONの正しい歩き方」というチームで出場した。 練習会 インターネット上でよく知っている人たちとはいえ 実際に一緒に仕事をしたことも無ければチームを組んで一緒に何かをしたことがあるわけでもない。 予選の2週間前に一度集まって、1日かけて前年の予選問題を再現しつつ試し解きしてみる、という会をした。 言語は3人で共通した得意なものがあるわけではなかったので とりあえずRubyで、ということにした。 そのときの感覚では「やっぱり色んなところで躓くこともあるかもしれないけど 正しく計測して早めに大きな方針を決めて改善をしていけばそれなりの成績には辿り着けるだろう」という感じ。 DB関連はとにかく2人が強いので、自分はアプリケーションコードを如何に正確に早く書いていけるかが勝負

    ISUCON9 予選敗退した - すぎゃーんメモ
  • TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ

    以前は MNISTの例を使って画像識別を試してみた けど、次はカラー画像についての識別を試してみる。 「アイドルなんてみんな同じ顔に見える」って 最近も言われてるのかどうか知らないけど、自分もつい5年前くらいまではそう思っていたわけで。その識別を機械学習でやってみよう という試み。 最近はほとんどライブに行かなくなってしまったけど大好きなももいろクローバーZちゃんを題材にしてみることに。 5人のメンバーの顔は機械学習によってどれくらい分類できるようになるのか?? CIFAR-10 CIFAR-10 という、32×32サイズのカラー画像を10種類のクラスに分類する識別課題があり、そのデータセットが公開されている。これを実際にTensorFlowで学習するための畳み込みニューラルネットワークのモデルや関数などがtensorflow.models.image.cifar10パッケージに同梱されて

    TensorFlowによるディープラーニングで、アイドルの顔を識別する - すぎゃーんメモ
  • #isucon 2015で優勝しました - すぎゃーんメモ

    第5回 ISUCONの選に、参加しました。第1回のときの出場メンバー(@fujiwaraさん、@songmuさん)での「fujiwara組」。 #isucon 2015予選に参加した - すぎゃーんメモ ISUCON5 選リアルタイムフォトレポート【更新終了】 : ISUCON公式Blog 結果はなんと、昨年に引き続き優勝!! ISUCON5 選結果 : ISUCON公式Blog 自分はアプリケーション側の担当ということで コード書いていこうと思っていましたが、今回あまり出来ることが無く、並行で作業もしづらかったので@songmuさんと@fujiwaraさんにコード書くのをお任せし、横から口を出す係になりました。 ほとんどコード書かずに横で見ているだけで終わってしまった、つらい #isucon 2015-10-31 18:22:50 via Twitter for iPhone まぁ

    #isucon 2015で優勝しました - すぎゃーんメモ
  • Perl6での6記号プログラムの作りかた - すぎゃーんメモ

    先日、 Perl6で記号Hello worldする - すぎゃーんメモ perl6なので6種類の記号だけでプログラムを書く - すぎゃーんメモ の2つの記事でPerl6の記号プログラムを紹介したけど、その作り方については何も言及していなかったので ちゃんと書いておこうと思います。 おさらい: Perl5における記号プログラムの基礎 Perl5における記号プログラミングの手法は古くから確立されていて、 記号だけのPerlプログラミングの基原理 - JPerl Advent Calendar 2010 Sym Track の記事にも全貌が載っていますが、要するに「任意のプログラム文字列を排他的論理和(XOR)を使って生成し、それを拡張正規表現を利用してevalする」という方法です。 01100000 => 0x60 ('`') ^) 00100001 => 0x21 ('!') ------

    Perl6での6記号プログラムの作りかた - すぎゃーんメモ
  • percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ

    先日、shell勉強会で「zawを使ってシェル操作を快適に」というお話を聴いて、自分ももう少しそのあたりの環境を整えよう、と思い立った。 nanapi勉強会 vol2 - Shellの活用でこれだけ毎日が便利になる - nanapi勉強会 | Doorkeeper zawで快適シェル生活 // Speaker Deck 自分が使う選択をしたのは zaw ではなく percol 。 軽く調べてみたかんじでは zawってのは設定してある(もしくは自作する)決められたsourceを使って決められた操作を行うもので、zshに密接に結び付いているツールで。percolはそういうのではなく純粋に「入力をフィルタリングする」だけのツールなので、パイプなどを使って各コマンドと組み合わせることで色々な使い方ができそう。 percolの導入 https://github.com/mooz/percol Pyt

    percolを使ってターミナル操作を早く、便利に。 - すぎゃーんメモ
  • MySQLのコマンドたち - すぎゃーんメモ

    http://mysql-casual.org/2011/11/mysql-casual-advent-calendar-2011.html の6日目の記事として書かせていただきます、sugyanです。 勢いで参加表明してしまい、今日慌てて久しぶりにMySQLを触りました。 MySQLでFizzBuzz ストアドプロシージャって使ったこと無かったので初めて触ってみました。 DROP PROCEDURE IF EXISTS FizzBuzz; delimiter // CREATE PROCEDURE FizzBuzz(n INT) BEGIN DECLARE i INT DEFAULT 1; WHILE i <= n DO SELECT CASE WHEN i % 3 = 0 AND i % 5 = 0 THEN 'FizzBuzz' WHEN i % 5 = 0 THEN 'Buzz'

    MySQLのコマンドたち - すぎゃーんメモ
    a2ikm
    a2ikm 2013/11/07
    `\c`知らなかった。
  • FluentdとGrowthForecastを使って自分の行動をロギング・可視化する - すぎゃーんメモ

    おそらくはそれさえも平凡な日々: もにかじでオレオレ監視ツールについて話してきました GrowthForecast.plで自分ロギングしてみた - by edvakf in hatena の記事のように、FluentdやGrowthForecastを使ったロギングって面白そうだなーと思って自分でもやってみた。 アプリケーション毎のアクティブな時間を取る まず考えたのはこれ。キーイベント発火回数ほど細かくなくても、「アクティブにしている時間の割合」が取れたらそれはそれで良いかな、と。 1秒ごとにアクティブなアプリを調べてロギングしていく。Mac OS Xにおいてアクティブなアプリケーションを調べるならAppleScriptが簡単。 name of (info for (path to frontmost application)) これだけでアクティブにしているアプリケーション名が取れる。

    FluentdとGrowthForecastを使って自分の行動をロギング・可視化する - すぎゃーんメモ
  • アイドルさんのブログやTwitterをローカルに保存する - すぎゃーんメモ

    背景 非ドルヲタの方々は知らないと思うけど、世の中にはものすごい数のアイドルが存在しており、毎日どこかで誰かが歌って踊って頑張っている。 笑顔と元気を届けてくれるアイドルちゃんたちはみんな成功して欲しいけど、必ずしもそうなるとは限らない。卒業だったり、病気や怪我だったり、大人の事情だったり、理由は様々だけどもアイドルを辞めてしまう子も残念ながら少なからず居る。 で、アイドルとして活動している上でブログを書いていたりTwitterで呟いていたり子も居るわけだけど、その子がアイドルを辞めたあとも残るとは限らない。人の希望だったり事務所の意向だったりで、アカウントが消されたりするのが普通だと思う。 けど、ファンとしてはその思い出が消えてしまうのは悲しい。大好きなアイドルちゃんと過ごした日々を見返して思い出せるように自分のローカル環境の中にだけでもそれらの情報を保存しておきたい。 結果 …という

    アイドルさんのブログやTwitterをローカルに保存する - すぎゃーんメモ
    a2ikm
    a2ikm 2013/02/27
  • rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ

    rbenvを使ってみる - すぎゃーんメモの続き。 現時点でのrbenvのバージョンは0.2.1。 rbenvを使っていると.rbenv-versionファイルの有無でrubyコマンド打ったときに実行されるrubyが違うものになる、というのがちょっと新鮮で、これはどういう仕組みで動いているのだろう?と思って少し調べてみた。 上記記事のようにrbenvの設定をした環境では、 $ which ruby /Users/sugyan/.rbenv/shims/rubyとなり、${RBENV_ROOT}/shims以下のrubyを指すことになる。ここへのPATHは$HOME/.rbenv/libexec/rbenv-initに echo 'export PATH="'${RBENV_ROOT}'/shims:${PATH}"' と書かれているので、eval "$(rbenv init -)"してあれ

    rbenvの切り替えの仕組み…と、他言語での実験 - すぎゃーんメモ
    a2ikm
    a2ikm 2013/02/17
    phpでもできるし、php-buildもそのまま動く//phpenvはrbenvのshims等にsymlinkを貼っててちょっと怖い
  • gitのdiffとかで長い行の表示が切れないように設定する - すぎゃーんメモ

    git diffした時に、横に長い行の表示がコンソールの右につきぬけてしまって、右のほうが見えなくなってしまうんだけど、どうすればコンソールの右で折り返して表示してくれるのか誰か教えてくれませんか。MacTerminalです。 http://twitter.com/shin1ogawa/status/13489861413 というのがあって、 git diff --color | less -Rとかで出来るっぽいという話になったんだけど、そんなのやらなくても設定でどうにかできるはずだよね、という話をhokaccha氏にしてみたら、すぐに調べて教えてくれた。ありがとうございます! $HOME/.gitconfig に、 [color] ui = auto [core] pager = less -rと書いておけばいいだけらしい。 git diffとかで表示が切れてしまうときの対象方法 -

    gitのdiffとかで長い行の表示が切れないように設定する - すぎゃーんメモ
    a2ikm
    a2ikm 2013/02/16
  • face.comのdetect APIを使ったら目からビームが捗った話 - すぎゃーんメモ

    目からビームな画像を生成するWebサービスを作った - すぎゃーんメモの続き。 6月27日発売、ももいろクローバーZの「Z女戦争」。ついにMVも公開されました。 自分の中では最高にツボっていて、どストライクです。これはヤバい。大好きです。 発売まであと2週間、超楽しみですね。 Z女戦争 アーティスト: ももいろクローバーZ出版社/メーカー: キングレコード発売日: 2012/06/27メディア: CD購入: 2人 クリック: 114回この商品を含むブログ (47件) を見る で、先日「目からビーム画像ジェネレーター」を作ってみたのだけど、公開したところ最初に使っていた「顔ラボ 顔検出WebAPI」があっという間に利用可能回数制限に引っかかってしまい、使えなくなってしまった。 何か他に使えるものあれば入れ替えよう、と探していたところface.comのAPIを教えていただいた。 @sugyan

    face.comのdetect APIを使ったら目からビームが捗った話 - すぎゃーんメモ
  • node.jsでhttp sessionを共有するsocket.ioのテストを書く - すぎゃーんメモ

    node.js + socket.io はリアルタイムwebアプリを作るのにとても良い組み合わせだと思っています。 しかし、基的にsocket.ioのconnectionはhttpのsessionと関連が無いので、例えばそのconnectionがログインしているユーザのものかその他のユーザのものか区別がつかない。以前はSessionWebSocketを使ってそれを判別するようにしていたのだけど、残念なことに残念なのでコレはもう使いたくない。。 そこでclientから最初にcookieを送信してもらって、そこからclientのsessionを識別する、という方法がある、と以前@masahirohさんに教えていただきました。 *1 session共有方法 クライアント側では下記のように接続時にcookieを送信するようにしておき、 var socket = new io.Socket();

    node.jsでhttp sessionを共有するsocket.ioのテストを書く - すぎゃーんメモ
  • Plack::Loader::RestarterとPlack::Loader::Shotgun - すぎゃーんメモ

    よく知らないまま、はじめてplackupを使ってみていたのだけど、ちょっと困っていたので何気なく呟いてみたら… sugyan plackup -R が若干負荷が高くて膝の上にMacBook載せて作業するには熱くなりすぎる…! 2010/04/03(土) 15:38:34 miyagawa @sugyan try plackup -L Shotgun instead 2010/04/03(土) 15:41:13 miyagawa @sugyan or install Mac::FSEvents 2010/04/03(土) 15:44:43 sugyan @miyagawa ありがとうございます! さっそくいれてみます 2010/04/03(土) 15:48:00 sugyan そっか、Filesys::Notify::Simpleってのが中でMac::FSEvents(もしくはLinux::

    a2ikm
    a2ikm 2011/08/25
    Plack::Loader::RestarterはFilesys::Notify::Simpleに依存し、これはMacならMac::FSEvents、LinuxならLinux::Inotify2を利用し、これらモジュールがなければ2秒毎にファイルをフルスキャン←凄く重いのでモジュールをインストールしよう
  • ローカルのmarkdownファイルを変更監視しつつSocket.IOでリアルタイムプレビュー - すぎゃーんメモ

    Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモで、markdownとかのリアルタイムプレビューできるものを作って試してみたもの、やっぱりテキストエリアでmarkdownを書くってことはあまりしないなー、と思い。 大抵は使い慣れたエディタを使って編集すると思うので、それが変更されたときにブラウザ上で自動更新される方が嬉しいような気がして、 ファイルの変更監視でmarkdownファイルの編集->保存を検知 markdown->html変換したものをSocket.IOでリアルタイム更新 というものを作ってみた。 Node版 まずはNodeで。実行時引数で監視対象ファイルを指定し、fs.watchFileでそれを500msごとに監視、変更あれば変換したHTMLを普通にSocket.IOでクライアント側に通知する。 #!/usr/bin/env node

    ローカルのmarkdownファイルを変更監視しつつSocket.IOでリアルタイムプレビュー - すぎゃーんメモ
  • node.js+socket.ioを使ったライブコーディングwebアプリを作ってる - すぎゃーんメモ

    かれこれ2ヶ月くらい、ちまちまと作り続けていたのがようやく動くようになったかなーという状態になったので公開してみる。 http://www1216u.sakura.ne.jp/livecoder/ 公開停止しました 手元のMacChrome, Safari, Firefoxでは動いていた。IEは知らない。 ソースはGithubに。 https://github.com/sugyan/live-coder 使い方 Twitterでsignin。 /edit のエディタ上でテキストを編集すると、 /view/ でリアルタイムに編集が反映される(こちらはread only)。 同じユーザのページを見ているユーザ同士でのテキストチャットが可能。 構成 Server node.js v0.4.1 ライブラリはnpmにて socket.io, express, ejs, oauth, configを

    node.js+socket.ioを使ったライブコーディングwebアプリを作ってる - すぎゃーんメモ
    a2ikm
    a2ikm 2011/02/22
    なにこれステキ
  • 1