2014-01-01から1年間の記事一覧
なんか昔Mavericks時代にmecabを入れようとしたら全然入れられなかった気がするけど、Yosemiteにあげてから brew install mecab brew install mecab-ipadicでやると一瞬でインストールできた。brewが賢くなったのかな。でもその代わり、Pythonバインディング…
タイトル通り。日頃からTimeMachineをちゃんと使ってバックアップしていなかったことを盛大に後悔。 なんで起動しなくなったの アップグレード中に電源が落ちました。 仕事のデータも大学の課題も全部入っていたので、その瞬間凍りついた。 起動しないってど…
Tomoeという日本語の手書き文字認識ライブラリがある。 手書き文字認識エンジン Tomoe 使いたいと思ったのだが、Macでビルドしようとしたところビルドエラーが出たので、その解決方法をメモ。 その1 tomoe-0.6.0/lib/glib-utils.hを開いて #include <glib/garray.h> を #inc</glib/garray.h>…
U-22プログラミング・コンテスト2014 U-22プログラミング・コンテスト2014実は、8月末に参加したサイボウズ・ラボユースHackathonで制作した文字認識エンジンを、締切10分前にU-22プログラミング・コンテストにSubmitしていました。 正直なところ決して高い…
しました。理学部の情報やる感じのところです。<感想> 地下室にいると本当に時間感覚がなくなって時間が溶ける 地下なのでLTEは入らない 教授陣の「うちの学科はつらいこともあるかもしれませんが」の連発 地下室にベッド&冷蔵庫&電子レンジ完備 本棚にパ…
SinatraでCookieを(とりあえず)使う まずはsinatra-contribというgemが必要。Gemfileに gem 'sinatra-contrib' と書いてbundle installするか、 gem install sinatra-contrib でインストール。そうすると require 'sinatra/cookies' でCookieが利用できる…
勉強を始めたばかりなので間違ってるところもあるかもしれないので、ツッコミがあると嬉しいかも。 SIMD - Simple Instruction Multiple Data 単一命令で複数データを扱う仕組み。イメージとしては と4回足し算するよりも の方が足し算一回で速いだろ?って…
文字認識システムShrift from levelfour 最終日のスライドです。取り急ぎ報告ということで。 ちなみにサイボウズのブログとか見ると僕がバッチリ映っているのですが、探さないでください。
普段formを使っているとPOSTでどうやってパラメータが送信されてるとかあんまり意識しないので、Pythonで画像ファイルをPOST経由で送ろうとしたら一瞬で詰んだ。 とりあえずはWiresharkとか使ってHTTPモニタリングして、どんなパケットを送受信してるか観察…
環境構築するだけしてnumpyすらまともに扱えないのは恥ずかしいので、はじパタのRによる実行例をPythonに移植しながらPythonの科学計算ライブラリに慣れつつ、機械学習にも慣れようという魂胆。 とりあえず第4章から。 irisのデータを用意 scikit-learnには…
Scala用の科学計算ライブラリを引き続き探していたところ、ScalaNLPというのを見つけた。 名前通りNatural Language Processing、つまり自然言語処理用のライブラリなのだが、数学周りも結構充実しているし、何よりScala向けにチューニングされたライブラリ…
Scalaで科学計算をしようとしたんだけど、Scalaのデファクトスタンダードっぽいライブラリがない。 仕方ないので、Javaのライブラリを読み込むことにした。 JavaにはApache Commons Mathという良さげなライブラリがあったので、それを使うことにした。Math -…
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…
railsアプリをデプロイするときに最近流行のCIってやつに乗ってみるかと思って、普段なら手動デプロイしていたところを自動デプロイすることにした。 調べてみたらどうやらcapistranoという、ほぼデファクトスタンダードになっているgemがあるとのことだった…
ハマりました。どうやらpyenvとOpenCVの仲が非常に悪いらしい。 なので、とりあえずpyenvを一回止めて、systemのpythonにOpenCVを入れるところから始めました。 pyenvをインストールしたときに.bash_profileか.bashrcあたりのどこかに if which pyenv > /dev…
1週間くらいこの問題と格闘してたかも。 現象 Sinatraでセッションを利用していたんだけれども、ページを遷移すると同じドメイン内なのにセッションが空になってしまう。謎だ。 問題のソースコードはこちら。 プロジェクトの中からセッションに関わる部分だ…
というとマサカリ飛んできそうで怖いです:;(∩´﹏`∩);:大学の課題で「式木について考察せよ」的なものがあったので、「サクッと言語処理系作ってみるか〜」と軽いノリで作り始めました。 成果物(現状)。https://github.com/levelfour/ruby-lang現状は ・四…
機械語入門・集中講座(2014/06) - connpass先週末、池袋バイナリ勉強会の機械語入門・集中講座という勉強会に参加してきた。 参加しようと思ったきっかけはだいたいこんな感じ。元々そろそろx86_64アセンブラを勉強したいなと思っていたのでそれらしい勉強会…
楽譜作成ソフトMuseScore。僕も愛用しています。 一時Finaleを使ったこともあるんだけれど、どうもMuseScoreの方が入力しやすくて気に入ってます。音符を全部ショートカットでタイピング入力できるのが魅力的かな。そんなMuseScore、さすがに完全フリーなの…
バイトで立て込んでたので久しぶりの投稿です。 あ、今関わっているアプリはなんとかリリースにこぎつけたので、概ね一件落着です。今回は備忘録的なもの。さくらのレンタルサーバについて。 とある団体のサーバを管理することになって、折角だから容量増や…
なんか有用な割に意外と知名度が低いのでGNU Stowというパッケージ管理ツールを紹介。Stow - GNU Project - Free Software Foundationパッケージ管理ツールといえば、Debian系ならapt-get、FedoraとかCentOSだとyum、はたまたMacだとportsとかbrewとかまあい…
個人的メモに近い何か。MySQLって意外とビルトインの関数が豊富だったりするので、思ったよりいろいろなことが各種スクリプト言語の助けを借りずにできてしまうっぽい。 というわけで、カラムの値が重複しないレコードのカウント。(例)ログイン履歴のテー…
vimmerのみなさんこんにちは。 駆け出しvim使い4年目のlevelfourです。 vim scriptとかマクロとか使う超越者を震えながら見つめる日々でございます。そんな僕も流石にイライラしたのが、ブロックコメントの入力。 /* hogehoge */ void hoge() {} 例のこいつ…
そろそろx86_64アセンブラも勉強しないと時代に追いつけなるなということをひしひしと感じつつあるので、手始めにx86とx86_64の違いを比較してみた。なんといっても大きいのは、x86_64ではスタックを利用した引数の受け渡しをする必要が減ったこと。 x86では…
共用サーバではSSHにFTPになんやらかんやらアカウントをたくさん管理せねばならず、どうにも面倒… そんな悩みを解決してくれるLDAPというツールがあるという情報を小耳に挟んだ。LDAPとは… エルダップ LDAP 【 Lightweight Directory Access Protocol 】 イ…
今回はtipsということで短く。 ApacheのDocumentRootを逐一変更するのは面倒だと思ったとき、実際のwebrootのシンボリックリンクをDocumentRootへはることがあると思う。 例えば、/home/levelfour/wwwがwebrootになっているとき、$ ln -s /home/levelfour/ww…
物理シミュレーションをする上で物理エンジンを使いたいなと思い、Bulletを試してみることにした。最初はPhysXと迷った。相当迷った。Position Based Fluids Demonstration - YouTubeこのPhysXの流体シミュレーションを見てすごく感動した。 けど、調べてみ…
2月になりました。OpenGLの季節だ(え 今回はOpenGLで円を描画する方法を紹介。 DXlibではDrawCircleを呼ぶだけで簡単に円が描けるみたい。 ところが、OpenGLには一発で円を書けるようなAPIは用意されていない。 ので、「単純に三角関数でパラメータ表示して…
前回の記事でGMPについて紹介してみた。 そこでGMPが内部的にどのように任意精度整数を保持しているのか気になったので、調べてみた。