Subscribed unsubscribe Subscribe Subscribe

#isucon 2014で優勝しました

第4回 ISUCONの本選に、参加しました。前回&予選から引き続き、@kazeburoさん、@tagomorisさんとの「LINE選抜チーム」。 #isucon 2014予選に参加した - すぎゃーんメモ ISUCON4 本選リアルタイムフォトレポート 【更新終了】 : ISUCON公式Blog 結果はなんと…

#perlcasual に参加してLTしてきた

PerlCasual #06に、参加してきました。なにげに5年前の第1回のときから参加しているし縁のあるイベント。@yusukebe氏に感謝! 8月のYAPC::Asiaでは何も話せなかったけど、自分の開発環境についてアウトプットすることが全然なかったなーと思って、せっかくLT…

projectileをcache有効にして高速化

Emacs 24.4がリリースされました。それとは(多分)関係ないのだけど、愛用しているhelm-projectileが、ファイル数の多いあるprojectでとても重くなってしまって困ったので、cacheを使うようにしてみた。 (require 'projectile) (custom-set-variables '(proje…

#isucon 2014予選に参加した

昨年 に引き続き、今年も ISUCON に参加しています。ありがたいことに今回もLINE選抜チームに入れていただいたのですが 共催枠なので本選には出られる、とかはともかく、予選に参加させていただきました。 詳しくはこちらをどうぞ LINE選抜で isucon4 予選に…

YAPC::Asia 2014 前夜祭で喋ってきた

YAPC::Asia Tokyo 2014 前夜祭 - YAPC::Asia Tokyo 2014「欲しいものは作ればいい! 〜Webアプリ10連発〜」ということで@koba04さんに声をかけていただき、最近つくっていたttyrecからアニメーションGIFを生成するツールやそのWeb版を作っているところの紹介…

ttyrecordからGIF作るのにスクリーンショットなんて必要なかったんや

Go

先日 ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った - すぎゃーんメモ を書いたところ、思っていた以上に反響があって。 自分的にも結構便利だなーと思っていたのだけど、 ttygifとその系列、端末マニアではない人の95%くらいのユース…

ターミナル操作の記録(ttyrec)からGIFアニメを生成するツールを作った

Go

ttyrec で録画したデータを使ってターミナル上で再生しつつ、そのスクリーンキャプチャを使ってアニメーションGIFを生成するツールをGoで作ってみた。 https://github.com/sugyan/ttygif Releases Mac, Linux Desktopで動作。再生速度はオプションで変更可能…

pipeline and cancellation並行性パターンの勉強

Go

Go Concurrency Patterns: Pipelines and cancellation - The Go Blog を読んでいて、なかなか理解するまで苦しんだので復習がてら自分でもコードを書いて確かめてみた。 お題 複数の入力データそれぞれに対して重い処理を行い、結果として返ってくる値をま…

Goで全裸 その後

Go

Goで全裸 - すぎゃーんメモ の続き。 Kagomeが重くてwerckerでビルド失敗する、と書いていたところ、作者の@ikawahaさんが改良して軽量化してくださって。 全裸改善:形態素解析器 kagome に go-bindata を使ったらビルド時間とバイナリのサイズが劇的に改善…

Goで全裸

Go

Pure Go で辞書同梱な形態素解析器 kagome を公開してみました - Qiita という記事を見て、「Goで形態素解析できれば @zenra_bot もGoで作れる!」と思い、とりあえず全裸にするやつ作ってみた。 https://github.com/sugyan/go-zenra やってることは 全裸で…

断続的にデータを受けながら並行で時間差リアクションを行う

Go

はじめて、の次のGo - すぎゃーんメモ にて作った go-genki-bot 、UserStreamからTweet取得して返信するところの処理が微妙なかんじで mattnさんやlestrratさんなどからアドバイスいただいたりした。Goっぽい書き方で上手く並行処理をさせたい。 お題 「断続…

はじめて、の次のGo

Go

はじめてのGo - すぎゃーんメモ の続き?的な。 入門で終わらずにもうちょっとマトモに何か作れるようになりたい、ということで、以前にRubyで書いた「げんきだしてbot」をGoで書いてみた。成果物のリポジトリはこちら。 https://github.com/sugyan/go-genki…

はじめてのGo

Go

今さらながら、Goをもう少し読み書きできるようになりたいな、と思い。A Tour of Go を一通り読んで、 GitHub - mattn/twty: command-line twitter client written in golang go-oauth/examples/twitter at master · garyburd/go-oauth · GitHub などを参考…

percolを使ってターミナル操作を早く、便利に。

先日、shell勉強会で「zawを使ってシェル操作を快適に」というお話を聴いて、自分ももう少しそのあたりの環境を整えよう、と思い立った。 nanapi勉強会 vol2 - Shellの活用でこれだけ毎日が便利になる - nanapi勉強会 | Doorkeeper zawで快適シェル生活 // S…

Google Doodleのルービックキューブを解くChrome拡張を作った

http://www.google.com/doodles/rubiks-cube のやつ。 とっくに旬を過ぎていて今さら感あるけど、、URL 開いてスタートした瞬間に自動で解いてくれるChrome Extension 誰か2014-05-19 16:02:43 via Twitter for Macって自分で言ったし。 Google Doodle's Rub…

はてなブログAtomPub APIをOAuth認証経由で叩く

はてなブログAtomPub - Hatena Developer Center を使ってはてなブログの情報を取得したり投稿したりしてみる。 OAuth認証 はてなブログAtomPub を利用するために、クライアントは OAuth 認証、WSSE認証、Basic認証のいずれかを行う必要があります。 http://…

tmux上のweechatのhotlist情報を通知する

自分のIRC環境はVPSサーバー上でZNCを使い つつ、そのサーバ内でtmuxのセッションをずっと上げておいてその中でweechatを起動 して繋ぎっぱなしにしている、というかんじで。 highlightされるようなものはもちろんim.kayac.comなどに通知させているけども、…

64通りのkamipoを出力する

発端 @Kamipo2014-04-22 21:06:52 via Twitter for Mac to @kamipo @sugyan2014-04-22 21:06:57 via YoruFukurou to @sugyan @KAMIPO2014-04-22 21:10:34 via Twitter for Mac to @kamipo @kamipO2014-04-22 21:10:59 via Twitter for Mac to @kamipo @kamIp…

helm-perldoc 0.04 での設定

helm-perldocを使ってインストール済みモジュールのドキュメントを参照する(carton対応も) - すぎゃーんメモ の続き。 id:syohexさんに諸々と取り入れていただき、carton環境への対応も簡単になりました。 (add-hook 'cperl-mode-hook 'helm-perldoc:carton-…

helm-perldocを使ってインストール済みモジュールのドキュメントを参照する(carton対応も)

インストール済みのモジュールたちから、perldocを引くためのリストを作る - すぎゃーんメモ を書いた後 id:syohexさんと相談させていただいた結果、きれいにモジュール一覧を取得する方法を確立していただき。 インストール済みのモジュール一覧を得る方法 …

インストール済みのモジュールたちから、perldocを引くためのリストを作る

helm-perldoc を使ってみたりしていて気付いたのだけど、Perlでインストールされているモジュールたちからperldocでドキュメント引くためのリストを作るのってけっこう難しい。。 シェルコマンドで @INC以下にある*.pmファイル、もしくは*.podファイルから生…

最近の自分のEmacs設定 (package整理、helmへの移行など)

最近ずっとEmacs設定いろいろ弄りたい期に入っていて、長らく放置していたdotfilesをちょいちょい変えていっている。 packageとinit-loader いまのinit.elはこんなかんじ。 (eval-when-compile (require 'cl)) ;; package.el setting (require 'package) (ad…

diff-highlightでマルチバイト文字の差分が化けてしまう

Git

Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば のdiff-highlightがイイなーと思って、早速~/.gitconfigに [pager] log = /usr/local/opt/git/share/git-core/contrib/diff-highlight/diff-highlight | less -R …

SETのvaluesに空文字が含まれていると

mysql> CREATE TABLE hoge (id INTEGER PRIMARY KEY AUTO_INCREMENT, s SET('foo', 'bar', '') NOT NULL DEFAULT ''); Query OK, 0 rows affected (0.02 sec) mysql> DESCRIBE hoge; +-------+---------------------+------+-----+---------+---------------…

libeditのCLIで履歴をインクリメンタルサーチする

homebrewで最新版入れていたら、いつの間にかMySQLのCLIでCtrl-Rでのコマンド履歴のインクリメンタルサーチができなくなっていた。 最近のMySQLのCLIはreadlineではなくlibeditを使うようになっているようで、それが原因らしい。 ~/.editrcに mysql:bind '^R…

Time::Pieceでadd_monthsするときは月末の扱いに気をつける

現在のTime::Pieceの最新版は、1.27。 翌月は何月か、というのを得るのに #!/usr/bin/env perl use strict; use warnings; use Time::Piece; my $t = localtime; print $t->add_months(1)->mon, "\n"; というコードを書いていて、1月31日に実行したら3が返っ…

#isucon 2013で優勝しました

第三回 ISUCONの本選に、参加しました。予選から引き続き、@kazeburoさん、@tagomorisさんとの「LINE選抜チーム」。 #isucon 2013予選に参加した - すぎゃーんメモ 第三回 #isucon 本選リアルタイムフォトレポート【更新終了】 : ISUCON公式Blog結果はなんと…

#isucon 2013予選に参加した

ISUCON の予選に、参加しました。 昨年ISUCON2の出題をお手伝いした 縁もあり、@kazeburoさん、@tagomorisさんと同じ「LINE選抜チーム」という枠に入れていただいてしまいまして。共催枠なので本選には出られる、とかはともかく、予選に参加させていただきま…

YAPC::Asia 2013 を終えて

YAPC::Asia Tokyo 2013 2009年の初参加以来の、5回目の参加となるYAPC::Asia。昨年は2日目で別の場所に迷いこんでしまったりしたけど、今年は全日程参加することができました。 特に発表することもなく、ただただトークを聴きにいってTwitterで実況したり感…

アメブロ「いいね!」機能を使うためのChrome拡張を作ってみた

先月末あたりに、スマートフォン版アメーバブログに新機能として「いいね!」というのが加わったらしい。 【ブログ】スマートフォン版アメーバブログの新機能追加・改善のお知らせ|スタッフブログ アメブロパワーアップ!アメーバブログがもっと楽しく!も…

#perlcasual で再びライブコーディングさせていただいた

PerlCasual #05 : ATNDにて、@yusukebeさんに声をかけていただき、再びライブコーディングをさせていただいた。 前回やらせていただいたのは2年半以上前なのか… 第6回 yokohama.pm & Perl Casual でライブコーディングに挑戦してみた - すぎゃーんメモ 前回…

z.shを使ってみる

Zsh

autojumpを使ってみる - すぎゃーんメモから1年ちょい。 autojumpには非常にお世話になっていたけれども、どうも最近ちょっと重いな、と感じることもあり、そういえばz.shなるものが代替として存在しているという話を聞いたことがあったし、ちょっと使ってみ…

Carton環境でのflymakeとperl-completion

cartonを使って<PROJECT ROOT>/local以下にモジュールを入れて、それを使う前提で書いているファイルを編集していると、普通にperl -wcしても依存モジュールを見つけられなくてerrorになってしまうので、flymakeが思うように動いてくれない。 ので、Project::Libsを使ってf</project>…

FluentdとGrowthForecastを使って自分の行動をロギング・可視化する

おそらくはそれさえも平凡な日々: もにかじでオレオレ監視ツールについて話してきました GrowthForecast.plで自分ロギングしてみた - by edvakf in hatena の記事のように、FluentdやGrowthForecastを使ったロギングって面白そうだなーと思って自分でもやっ…

Slateを入れてみた

Macで起動中のアプリを切り替えるのに、⌘+Tabだけだとたくさん起動しているときに選択するために連打するのが面倒だし頻繁に使うものは一発で切り替わるようにしたい、というのがあって、 今までずっとそれをQuicksilverのHotKey機能を利用して ⌘+Ctrl+Q でi…

アイドルさんのブログやTwitterをローカルに保存する

背景 非ドルヲタの方々は知らないと思うけど、世の中にはものすごい数のアイドルが存在しており、毎日どこかで誰かが歌って踊って頑張っている。笑顔と元気を届けてくれるアイドルちゃんたちはみんな成功して欲しいけど、必ずしもそうなるとは限らない。卒業…

アイドル現場情報をGoogleカレンダーから集約するWebアプリを作った

背景 非ドルヲタの方々は知らないと思うけど、世の中にはものすごい数のアイドルが存在しており、毎日どこかで誰かが歌って踊って頑張っている。 笑顔と元気を届けてくれるアイドルちゃんたちはみんな成功して欲しいし応援したいし会いに行きたいけど、そも…

げんきだしてbot

@sugyan げんきだして!2013-02-06 21:50:53 via Twitter for Mac to @sugyanって自分で言うの面倒なので自動的に励ましてくれるbotが欲しいと思って。 https://github.com/sugyan/genki-bot 今ならherokuでUserStreamとか使ってネガティブワードに反応してt…

Heroku上からService Account認証でGoogle APIにアクセスする

Googleの様々なAPIを叩く際、認証にOAuth 2.0を用いる。 Using OAuth 2.0 to Access Google APIs | Google Identity Platform | Google Developers 使用する場面やパターンによって以下のような6つのシナリオが想定されている。 Login Web Server Applicatio…

2012年を振り返る。そして2013年に向けて

2009年を振り返る。そして2010年に向けて - すぎゃーんメモ 2010年を振り返る。そして2011年に向けて - すぎゃーんメモ 2011年を振り返る。そして2012年に向けて - すぎゃーんメモ を見返しつつ。 2012年の「すぎゃーんメモ」 TopHatenarによると、ブクマ数…

SQL::Translator::DiffでDBスキーマに追従させる方法

#5「GitDDLまじイノベーティブ」 tech.kayac.com Advent Calendar 2012 | tech.kayac.com - KAYAC engineers' blog が便利そうだなーと思って。 でもGitと絡めなくても、Webアプリにおいて「現在の環境で使用するデータベース」と「有るべきスキーマの状態を…

perlbrewを利用したプロジェクトごとのPerl環境管理

整理するためのメモ。 よくある問題: プロジェクトごとの依存モジュールの管理 全環境共通でインストールするとモジュールのバージョンが分けられない local::libやcartonを使ってプロジェクト専用のインストール領域を作るのが良い しかし実行するPerlのバ…

#isucon2 のお手伝いをしました

昨年は参加者として出場して楽しませていただいた、ISUCON。 #isucon で優勝したチームのメンバーとして参加してた - すぎゃーんメモ 今年は奇しくも開催側の会社に転職したということで、参加者としてではなく運営側としてお題作りなど裏側に関わっての参加…

アメーバブログの画像を取得するブックマークレットを書いた

ももクロちゃんたちも使っているブログサービス、アメブロ。 最近、投稿画像の閲覧ページの表示が変わったらしい。 【画像】画像拡大ページ・画像一覧ページの表示方法が変わります|スタッフブログ で、その新しい画像ページではその画像を取得して保存しよ…

任意の要素数の密な配列を生成するスニペット

Perlだと、 use Data::Dumper; my @hoge = ("fuga") x 5; print Dumper \@hoge; __END__ $VAR1 = [ 'fuga', 'fuga', 'fuga', 'fuga', 'fuga' ]; みたいな感じでx演算子を使って任意の個数の密な配列を簡単に作ることができるのだけど、JavaScriptではどうし…

Express 3.xのjadeでHTMLをpretty出力する

結論 先に書くと、ここに答えがある。 node.js - How to output pretty html in Express? - Stack Overflow 問題 現時点での最新express@3.0.0rc5+jade@0.27.6でjadeをレンダリングすると、改行やインデントされずにHTMLが吐き出される。 $ express hoge cre…

以前作ったSinatraアプリをPadrinoで書き直した

ももクロの人気上昇ぶりをグラフで可視化する - すぎゃーんメモ という記事で作ったアプリをちょっと作り直した。 Sinatra + pg + Haml というかんじでシンプルなSinatraアプリでpgから直接SQLを叩いて云々してhamlでレンダリング、というかたちだったものを…

「JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技」を読みました

「JavaScriptテクニックバイブル」献本いただいたのでありがたく読んでるけど内容盛りだくさんでなかなか読み終わらない! URL2012-08-31 00:44:04 via Instagram JavaScriptテクニックバイブル ~効率的な開発に役立つ150の技作者: JSサポーターズ出版社/メ…

Perlしか分からなくてもNode.jsでHTTPサーバが書ける!

なんてこった…CPANモジュールをnode.jsで動かしてしまうライブラリ「node-perl」 - tokuhirom's blog GitHub - tokuhirom/node-perl: Node perl wrapper というすごいモジュールが出ているので、npmでコレをインストールします。 「Perl使いだからPlack/PSGI…

フォント設定にface-font-rescale-alistを使う

@yoozoosatoさんのブログで、Emacsのフォントサイズを簡単に変える方法があることを知った。 Emacs のテキストサイズを簡単に変更できるようにした - さとうようぞうのblogどうやらM-x text-scale-adjustを使ってもサイズの変更できるようで、C-x C-+もしく…