go-twitterへのpull requestがmergeされた

Go用Twitterクライアントライブラリ「go-twitter」に送っていた私のpull requestがmergeされました。 github.com 直したバグは自分がこの記事で指摘しているbufio.Scannerの仕様に起因するバグで、うちのbot並にfollowingsが多いアカウント(7,000くらい)だ…

TensorFlowのtf.contrib.layers.batch_normの注意点

TensorFlowのtf.contrib.layers.batch_normは他のtf.contrib.layersの関数(conv2d、fully_connectedなど)にnormalizer_fnパラメーターで渡すことができ、Batch Normalizationを含めひとつの関数呼び出しにまとめることができるのでコードがスッキリして便…

Deep Learningで「いらすとや風人間画像生成モデル」を作った話(DCGAN、Wasserstein GAN)

フリー素材サイト「いらすとや」に出てくる人間風の画像を自動生成するモデルをDeep Learningで作りました。実装にはGoogle製のライブラリ「TensorFlow」と機械学習アルゴリズムの「DCGAN」「Wasserstein GAN」を用いています。 以下は生成された人間画像の…

うちのbotが「いらすとや風の人間画像」を製造できるようになった

mickey24_botが機械学習を使って「いらすとや風の人間画像(?)」を無料で製造できるようになりました。 人間製造した pic.twitter.com/dezDC1y2yy— mickey24_bot (@mickey24_bot) 2017年6月28日 まだ以下のようにぐちゃぐちゃな画像を製造する場合がありま…

Goのbufio.Scannerは入力データの1行の長さが一定以上になるとスキャンをやめてしまう

Goのbufio.Scannerの落とし穴について。 概要 Goのbufio.Scannerはio.Readerを一行ずつ読み込んで行く時に非常に便利なライブラリなのだけど、タイトルの通り、入力データ(io.Reader)の1行の長さがScannerのバッファサイズを超えるとスキャンをやめてしま…

はてなブログに移行しました

今更ですがはてなダイアリーからはてなブログに移行しました。はてなダイアリーの新規開設受付が終了してこのままはてなダイアリーを使い続けていても近い将来にはてなブログに移行させられそうだったので、余裕があるうちにやっておきました。 旧ダイアリー…

雨予報bot「mickey24_bot」の使い方 ver 3.0

mickey24_botは主に以下の機能を備えているTwitter botです。 短時間雨予報&天気予報 週間天気予報 雨予報自動配信 漢字天気予報 人間画像製造 臓物占い Brainf*ckインタプリタ おまけ どんなbot? 短時間雨予報用bot。「○○の雨」もしくは「○○の天気」から…

mickey24_botの雨予報自動配信の仕様が変わりました

mickey24_botの雨予報自動配信が配信専用bot(@rainforecast0, @rainforecast1, ...)によって行われるようになりました。この変更によって、mickey24_bot本体のツイート数が少なくなり、rate limit exceededエラーによってbotがしばらく会話できなくなると…

Cucumber+Mockで悩んでいる

CucumberでMockに対するmethod呼び出しのexpectation(should_receive)をどのように書くか悩んでいる. 動くけど好きじゃない例 CucumberのexamplesにMockを使う例がある. https://github.com/cucumber/cucumber/tree/master/examples/rspec_doublesこの例…

Ruby 2.0.0-p0がリリースされてた

Ruby 2.0.0-p0 リリースノートわーい.開発・リリースに関わった皆さん,本当におつかれさまでした&ありがとうございました. 非互換 リリースノートにRuby 2.0.0の「特筆すべき非互換」について書いてあったので真っ先に確認してみた. デフォルトのスクリ…

うちのbotがエアコンの操作方法を覚えた

追記:2017-07-09現在この機能は利用できません。最新の情報は雨予報bot「mickey24_bot」の使い方 ver 3.0 - ぬいぐるみライフ?をご覧ください。ぼくの自宅のエアコン限定ですが,mickey24_botがエアコンを操作できるようになりました. どんな機能なの う…

unite.vimで:UniteWithBufferDirのsourceにfile_recを指定すると失敗する

Vim

現在開いているバッファのディレクトリでUniteのfire_rec (file_rec/async)を実行したいことが結構あるのだけど,以下のように:UniteWithBufferDirとfile_recを組み合わせて実行すると何故か結果がひとつも表示されない. :UniteWithBufferDir file_rec:Unit…

JavaScriptの等値演算は==ではなく===を使うようにする

JavaScriptの==は予想外の結果を返すことがある JavaScriptの等値演算子==は,左右のオペランドの型が等しい場合,両者の値が等しければtrueに,そうでなければfalseになります.しかし,2つのオペランドの型が違う場合,==はオペランドを型変換してから比較…

Vimで行末の空白文字をハイライトする

Vim

.vimrcに以下のように書いておくと自動的にハイライトされるようになる. augroup HighlightTrailingSpaces autocmd! autocmd VimEnter,WinEnter,ColorScheme * highlight TrailingSpaces term=underline guibg=Red ctermbg=Red autocmd VimEnter,WinEnter *…

「Arduinoをはじめようキット」を購入したよ

全くの初心者なのでとりあえずキットを買ってみた.Arduinoをはじめようキット出版社/メーカー: スイッチサイエンスメディア: おもちゃ&ホビー購入: 64人 クリック: 1,164回この商品を含むブログ (50件) を見るついでに本も注文してみた.Arduinoをはじめよ…

mecab-rubyのMeCab::Tagger#parseToNodeの戻り値が気に入らないのでアレする

mecab-rubyでテキストを形態素解析するときによく使うMeCab::Tagger#parseToNodeですが,戻り値がMeCab::NodeのArrayやEnumeratorではなく,以下のようにMeCab::Node#nextを使って各要素にアクセスしなければならないので使い勝手が悪いです. # -*- coding:…

Ubuntu 10.04でMeCabをRubyから使えるようにする

MeCabのインストール MeCabと辞書のインストールはapt先生にお任せします.辞書はUTF-8のものを使います. $ sudo apt-get install mecab mecab-ipadic-utf8MeCabが正常に動くことを確認します. $ echo "俺、この戦争が終わったら結婚するんだ。" | mecab …

rbenvでインストールしたRubyのgemコマンドがzlib云々ほざいて動かない時の対処法

rbenvでインストールしたRubyのgemを動かしたら以下のようなエラーを吐いて死にました. $ gem install -V twitter ERROR: Loading command: install (LoadError) no such file to load -- zlib ERROR: While executing gem ... (NameError) uninitialized c…

JavaScriptで記号だけを使ってFizzBuzz

ブラウザ環境ではalert関数で,Rhinoなどではprint関数でFizzBuzzの結果を出力するようになっています.ブラウザで実行して出たダイアログのOKボタンが押せない場合はエンターキーを押してください. $=+[];$={___:$++,__$:$++,_$_:$++,_$$:$++,$__:$++,$_$:…

JavaScript勉強中

2ヶ月くらい前からJavaScriptの勉強を始めました.とりあえずJavaScript: The Good Partsを読んで「JavaScriptの良い部分」だけを使ったコードを書く練習をしているところです.JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス作者: Do…

Rubyの文字列リテラルの種類と使い分け方

Rubyでは文字列リテラルの記述にダブルクォート("),シングルクォート('),そして%記法が使える.Rubyでコードを書く上でそれぞれをどのように使い分ければいいか迷ったことがある人も多いのではないかと思う.というわけで自分なりの使い分け方を簡単にまと…

Google Chromeのabout:flagsを無効にして起動する

--no-experimentsオプションを指定してGoogle Chromeを起動すると,about:flagsの設定を一時的に無効にすることができる.Mac OS Xの場合は,ターミナルで以下のコマンドを実行すればOK. $ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome…

日本全国の地震の推移をggplot2で可視化する

RubyやRでスクリプトを書いて可視化してみた. tenki.jpの地震情報を取得するRubyスクリプト (fetch_quake_info.rb) 以下は2011/3/11 0:00から現在時刻までのtenki.jpの地震情報を取得するRubyスクリプト.Nokogiriを使ってスクレイピングする. #!/usr/bin/…

Tsukuba.R#9は延期します

http://wiki.livedoor.jp/syou6162/d/Tsukuba.R%23920日(日)開催予定のTsukuba.R#9は,余震や交通機関の乱れなどの状況を鑑み,延期することになりました.新たな開催日は後日告知させていただきます.申し訳ありませんがよろしくお願いします.

ggsave関数でggplot2のグラフをファイルに保存する

ggplot2で描画したグラフをファイルに保存するにはggsave関数を使う. library(ggplot2) p <- qplot(carat, price, data = diamonds, color = clarity) # 描画して確認 print(p) # PNG画像として保存 ggsave(file = "diamonds.png", plot = p) 解像度/画像サ…

福島原発のγ線量測定データをggplot2で可視化してみた

東京電力が福島原発周辺におけるγ線量などの測定データをPDFで随時公開しているが,これを奥村先生がCSV形式に加工して配布なさっている.http://oku.edu.mie-u.ac.jp/~okumura/stat/data/このデータをRのggplot2ライブラリで可視化してみた. CSVデータの特…

Tsukuba.R#9の開催/延期については16日(水)までにお知らせします

http://wiki.livedoor.jp/syou6162/d/Tsukuba.R%239Tsukuba.R#9は3/20(日)に東京大学で開催する予定でしたが,東北地方太平洋沖地震の状況を鑑み,予定通りに開催するべきかどうかを検討中です.開催/延期については16日(水)までに決定してお知らせします.…

Rubyによるワンライナーのまとめ

Rubyでワンライナーを書く際によく使うコマンドライン引数と具体例をまとめてみた. 基本 -e : コマンドラインからスクリプトを指定 コマンドラインからスクリプトを指定する場合に使う.ワンライナーでは必須. $ ruby -e 'puts "Hello, world!"' 行単位の…

開発合宿してきます

明日から熱海の旅館で開発合宿をやってきます.2泊3日.温泉を楽しみながらひたすらコードを書くだけの合宿です.参加者は8人. iNut syou6162 twittoru wakuteka y_benjo yag_ays yuyarin mickey24 私は主にうちのbotのソースを一新する作業をやります.で…

ぱらぽぺった ろっぷんぬいぐるみ 〜登場編〜

ロップイヤー(垂れた耳が特徴のウサギの品種)のキャラクター「ろっぷん」のぬいぐるみ.かわいい.ロップイヤーなだけあって耳が長い.耳先がふにふにしてて触り心地がいいのだけど,割と重くなってるのでぶんぶん振り回すとやばい.次に酔っ払った時は是非…