2013-01-01から1年間の記事一覧

Rubyに標準出力をバッファリングさせないようにする

Rubyでバッチ処理のようなものを書いていたときに、一件出力するごとに結果を標準出力に吐くようにプログラムを書いた時の話です。 処理が進んでいるにもかかわらず、結果が出力されず、しばらく経ってから一気に出力されました。調べてみると、Rubyは標準出…

pdfをpngファイルに変換する

pdfを1ページごとにpngファイルに変換するには、ghostscriptを使うのが手っ取り早いようです。document.pdfを1ページごとにdocument-1.png, document-2.png ... と出力するには、以下のようなコマンドを実行します。 $ gs -dSAFRE -dBATCH -dNOPAUSE -sDEVIC…

はがきデザインキット2014がインストールできない

はがきデザインキットという年賀状のデザインツールが日本郵政から無料で出ていて、家族が使おうと思ったら、インストールできなかったので、対処方法をまとめておきます。 症状 はがきデザインキットはAdobe Airで動いていて、通常は指示に従ってダウンロー…

Dockerを使って仮想環境を作ってみた

最近、Docker*1が盛り上がっているようなので、僕も試してみました。 とりあえず簡単に使ってみたので、簡単に動かすところまで流れを書いておきます。 この記事を参考にしました。 Dockerとは dotcloudが公開している、オープンソースの仮想化ソフトウェア…

「あなたとの続柄」

年末調整の季節ですね。給与所得者の扶養控除の紙の「世帯主の氏名」の下にある「あなたとの続柄」という欄。 バイト先に提出するのに、毎回なんて書いていいのか迷うのでメモっておきます。 世帯主が父親の場合 「あなたとの続柄」には「父」と書きます。「…

ドコモのAPIを使って自然言語でユーザと会話ができるプログラムを作成する

docomoが11/11日にdocomo Developer supportというサイトを公開しました。 ここで公開されたAPIは、 音声認識 環境センサー 雑談対話 知識Q&A 文字認識 位置情報 ドコモケータイ払い の7つです。(11/19現在)この中で、雑談対話APIが簡単で面白そうだったので…

「実践Vim」レビュー

はじめに 先々月、 @kaoriyaさんに、「実践Vim」のレビュワーとして選んでいただき*1、「実践Vim」を頂きました。ありがとうございます。 新人枠として採用されたようなので、初心者目線ということでレビューを書いていきたいと思いますが、その前に、Vimに…

C4SAをGithubと連携させて、最新版コードが自動で反映されるようにする

ニフティのC4SAは、アプリケーションの開発から運用までが簡単にできる便利なクラウド環境です。 標準でGithub連携機能があるのですが、C4SA上のリポジトリにGithubにpushされた最新版コードを反映する作業を自動にしたかったので、解決方法を探してみました…

三端子レギュレータでハマった

久しぶりに電子工作をして、三端子レギュレータをつかったら勘違いでハマってしまった。 何にハマったのか 手元に余っていた表面実装タイプの3.3V出力の三端子レギュレータを使いました。(NJU7223) 上の写真を見るとわかりますが、レギュレータのチップから…

facebookで自分のライフイベント一覧を表示する

たまに確認しようと思って、どこにあるか毎回探してしまうので、書いておきます。 場所 自分のプロフィールのトップページ ↓ 基本データ ↓ 全てを表示 ↓ この年にあったこと これで自分のライフイベントが見られます。

C言語で関数の戻り先アドレスを書き換えてみる

バッファオーバーフローを利用して関数の戻り先アドレス書き換えるサンプルとか見かけるけど、自分でやったことがなかったので、やってみた。 ソースコード (test.c) #include <stdio.h> void hack() { printf("Hacked!\n"); } void func() { int a[1]; a[2] = &hack;</stdio.h>…

Ubuntu Desktop版をVirtualBoxにインストールする

ゼミでVirtualBoxを使ってUbuntuの仮想マシンを構築する時のための資料として書いたものです。 記事を書いた時点での最新版(Ubuntu13.04)での構築方法ですが、他のバージョンでも基本的に流れは同じです。 はじめに Virtual Boxを起動します。(VirtualBoxだ…

Macのrbenvでruby-2.0.0をインストールする

普通にやったらビルドがコケてしまったので、対処方法をメモしておきます。 普通にやると $ rbenv install ruby-2.0.0-p195 -> http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.gz Installing ruby-2.0.0-p195... BUILD FAILED Inspect or clean…

感動。

久しぶりにこういう方面で感動した。夜中に、Androidとマイコン、接続して何か作れないかな…と考えてたわけですよ。 ぱっと思いつくのは、PICとかArduinoとADKライブラリ組み合わせることでしょう。適当にネット見てたら、FTDriverっていう、Android用USBシ…

FacebookアプリでIEでのみセッションが使えない

結論から言うと IEは、デフォルトではセキュリティの観点からクロスドメインによるCookie操作を拒否する というのが原因だったみたいです。 参考: IE iframeを用いてクロスドメインするとcookieが動かない? | ブロードヒューマンネットワーク社員ブログ ど…

enchant.jsでテキストラベルを中央に表示する

ver0.5系の場合 var sampleLabel = new Label(); sampleLabel.font = "40px cursive"; sampleLabel.text = "Hello World!"; // 以下で中央揃えの指定をします sampleLabel._element.style.textAlign = "center"; sampleLabel.y = HEIGHT; ver0.5系列は、DOM…

特定のディレクトリ以下のファイルの文字コード&改行コードを一括で変換する

findコマンドと、nkfコマンドを組み合わせます。 find . -type f -name "*.js" -exec nkf -w -Lu --overwrite {} \; この場合、カレントディレクトリ以下のjsファイルの文字コードをUTF-8, 改行コードをLFに置換しています。 ちなみに、"\;"の前に半角スペー…

Ubuntu Serverのバージョンを12.04から12.10にアップグレードする

アップグレードするには、do-release-upgradeコマンドを使用すればよいのですが、12.10はLTS版ではないので、 $ sudo vim /etc/update-manager/release-upgrades (vimの部分はお使いのエディタを指定してください) などして、release-upgradesファイルを開き…