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

Yosemiteでmecab-pythonを入れた話

なんか昔Mavericks時代にmecabを入れようとしたら全然入れられなかった気がするけど、Yosemiteにあげてから brew install mecab brew install mecab-ipadicでやると一瞬でインストールできた。brewが賢くなったのかな。でもその代わり、Pythonバインディング…

本当にあった怖い話「Yosemiteにアップグレードしようとしたら起動しなくなった」

タイトル通り。日頃からTimeMachineをちゃんと使ってバックアップしていなかったことを盛大に後悔。 なんで起動しなくなったの アップグレード中に電源が落ちました。 仕事のデータも大学の課題も全部入っていたので、その瞬間凍りついた。 起動しないってど…

Tomoeのインストール

OCR

Tomoeという日本語の手書き文字認識ライブラリがある。 手書き文字認識エンジン Tomoe 使いたいと思ったのだが、Macでビルドしようとしたところビルドエラーが出たので、その解決方法をメモ。 その1 tomoe-0.6.0/lib/glib-utils.hを開いて #include <glib/garray.h> を #inc</glib/garray.h>…

U-22プログラミング・コンテスト入選

U-22プログラミング・コンテスト2014 U-22プログラミング・コンテスト2014実は、8月末に参加したサイボウズ・ラボユースHackathonで制作した文字認識エンジンを、締切10分前にU-22プログラミング・コンテストにSubmitしていました。 正直なところ決して高い…

学科進学など

しました。理学部の情報やる感じのところです。<感想> 地下室にいると本当に時間感覚がなくなって時間が溶ける 地下なのでLTEは入らない 教授陣の「うちの学科はつらいこともあるかもしれませんが」の連発 地下室にベッド&冷蔵庫&電子レンジ完備 本棚にパ…

ChromeでSinatraのCookieを正しく動作させる

SinatraでCookieを(とりあえず)使う まずはsinatra-contribというgemが必要。Gemfileに gem 'sinatra-contrib' と書いてbundle installするか、 gem install sinatra-contrib でインストール。そうすると require 'sinatra/cookies' でCookieが利用できる…

SIMDの使い方メモ

C++

勉強を始めたばかりなので間違ってるところもあるかもしれないので、ツッコミがあると嬉しいかも。 SIMD - Simple Instruction Multiple Data 単一命令で複数データを扱う仕組み。イメージとしては と4回足し算するよりも の方が足し算一回で速いだろ?って…

サイボウズラボユースHackathon 2014に参加してきた

文字認識システムShrift from levelfour 最終日のスライドです。取り急ぎ報告ということで。 ちなみにサイボウズのブログとか見ると僕がバッチリ映っているのですが、探さないでください。

HTTPリクエストで画像をPOST送信

普段formを使っているとPOSTでどうやってパラメータが送信されてるとかあんまり意識しないので、Pythonで画像ファイルをPOST経由で送ろうとしたら一瞬で詰んだ。 とりあえずはWiresharkとか使ってHTTPモニタリングして、どんなパケットを送受信してるか観察…

はじパタ4章 with Python

環境構築するだけしてnumpyすらまともに扱えないのは恥ずかしいので、はじパタのRによる実行例をPythonに移植しながらPythonの科学計算ライブラリに慣れつつ、機械学習にも慣れようという魂胆。 とりあえず第4章から。 irisのデータを用意 scikit-learnには…

ScalaNLPを使う

Scala用の科学計算ライブラリを引き続き探していたところ、ScalaNLPというのを見つけた。 名前通りNatural Language Processing、つまり自然言語処理用のライブラリなのだが、数学周りも結構充実しているし、何よりScala向けにチューニングされたライブラリ…

ScalaでApache Commons Mathを使う

Scalaで科学計算をしようとしたんだけど、Scalaのデファクトスタンダードっぽいライブラリがない。 仕方ないので、Javaのライブラリを読み込むことにした。 JavaにはApache Commons Mathという良さげなライブラリがあったので、それを使うことにした。Math -…

python3.4.0でscikit-learnでインストール

pip3 install scikit-learn でビルドエラー発生。 これを踏んだの2回目なので書いておく。 ちょいと調べればすぐに出るんだけどね。 sklearn/cluster/_k_means.c:7955:19: error: no member named 'f_tstate' in 'struct _frame' (*frame)->f_tstate = tstat…

capistrano 3.xでrails appをdeployするときにハマったこと

railsアプリをデプロイするときに最近流行のCIってやつに乗ってみるかと思って、普段なら手動デプロイしていたところを自動デプロイすることにした。 調べてみたらどうやらcapistranoという、ほぼデファクトスタンダードになっているgemがあるとのことだった…

Python+OpenCV+brew on Mavericksの環境構築

ハマりました。どうやらpyenvとOpenCVの仲が非常に悪いらしい。 なので、とりあえずpyenvを一回止めて、systemのpythonにOpenCVを入れるところから始めました。 pyenvをインストールしたときに.bash_profileか.bashrcあたりのどこかに if which pyenv > /dev…

SinatraのSessionがページ遷移時に切れる

1週間くらいこの問題と格闘してたかも。 現象 Sinatraでセッションを利用していたんだけれども、ページを遷移すると同じドメイン内なのにセッションが空になってしまう。謎だ。 問題のソースコードはこちら。 プロジェクトの中からセッションに関わる部分だ…

rubyで楽々言語処理系

というとマサカリ飛んできそうで怖いです:;(∩´﹏`∩);:大学の課題で「式木について考察せよ」的なものがあったので、「サクッと言語処理系作ってみるか〜」と軽いノリで作り始めました。 成果物(現状)。https://github.com/levelfour/ruby-lang現状は ・四…

池袋バイナリ勉強会入門編に参加してきた

asm

機械語入門・集中講座(2014/06) - connpass先週末、池袋バイナリ勉強会の機械語入門・集中講座という勉強会に参加してきた。 参加しようと思ったきっかけはだいたいこんな感じ。元々そろそろx86_64アセンブラを勉強したいなと思っていたのでそれらしい勉強会…

MuseScoreで移調時にクラッシュする問題

楽譜作成ソフトMuseScore。僕も愛用しています。 一時Finaleを使ったこともあるんだけれど、どうもMuseScoreの方が入力しやすくて気に入ってます。音符を全部ショートカットでタイピング入力できるのが魅力的かな。そんなMuseScore、さすがに完全フリーなの…

さくらレンタルサーバのプラン移行

バイトで立て込んでたので久しぶりの投稿です。 あ、今関わっているアプリはなんとかリリースにこぎつけたので、概ね一件落着です。今回は備忘録的なもの。さくらのレンタルサーバについて。 とある団体のサーバを管理することになって、折角だから容量増や…

自前ビルドしたパッケージもGNU Stowで楽々管理

GNU

なんか有用な割に意外と知名度が低いのでGNU Stowというパッケージ管理ツールを紹介。Stow - GNU Project - Free Software Foundationパッケージ管理ツールといえば、Debian系ならapt-get、FedoraとかCentOSだとyum、はたまたMacだとportsとかbrewとかまあい…

SQLでカラムの値が重複しないレコードをカウントする

個人的メモに近い何か。MySQLって意外とビルトインの関数が豊富だったりするので、思ったよりいろいろなことが各種スクリプト言語の助けを借りずにできてしまうっぽい。 というわけで、カラムの値が重複しないレコードのカウント。(例)ログイン履歴のテー…

C言語風ブロックコメントを自動挿入する

vim

vimmerのみなさんこんにちは。 駆け出しvim使い4年目のlevelfourです。 vim scriptとかマクロとか使う超越者を震えながら見つめる日々でございます。そんな僕も流石にイライラしたのが、ブロックコメントの入力。 /* hogehoge */ void hoge() {} 例のこいつ…

x86とx86_64アセンブラの比較

asm

そろそろx86_64アセンブラも勉強しないと時代に追いつけなるなということをひしひしと感じつつあるので、手始めにx86とx86_64の違いを比較してみた。なんといっても大きいのは、x86_64ではスタックを利用した引数の受け渡しをする必要が減ったこと。 x86では…

LDAPの導入

共用サーバではSSHにFTPになんやらかんやらアカウントをたくさん管理せねばならず、どうにも面倒… そんな悩みを解決してくれるLDAPというツールがあるという情報を小耳に挟んだ。LDAPとは… エルダップ LDAP 【 Lightweight Directory Access Protocol 】 イ…

ホームディレクトリ以下のファイルへのシンボリックリンクが読み込めない

今回はtipsということで短く。 ApacheのDocumentRootを逐一変更するのは面倒だと思ったとき、実際のwebrootのシンボリックリンクをDocumentRootへはることがあると思う。 例えば、/home/levelfour/wwwがwebrootになっているとき、$ ln -s /home/levelfour/ww…

XcodeでBullet SDKを使う

物理シミュレーションをする上で物理エンジンを使いたいなと思い、Bulletを試してみることにした。最初はPhysXと迷った。相当迷った。Position Based Fluids Demonstration - YouTubeこのPhysXの流体シミュレーションを見てすごく感動した。 けど、調べてみ…

衝突時の反射処理

OpenGLで円を描画する

2月になりました。OpenGLの季節だ(え 今回はOpenGLで円を描画する方法を紹介。 DXlibではDrawCircleを呼ぶだけで簡単に円が描けるみたい。 ところが、OpenGLには一発で円を書けるようなAPIは用意されていない。 ので、「単純に三角関数でパラメータ表示して…

GMPの仕組み

前回の記事でGMPについて紹介してみた。 そこでGMPが内部的にどのように任意精度整数を保持しているのか気になったので、調べてみた。