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が内部的にどのように任意精度整数を保持しているのか気になったので、調べてみた。

任意精度算術ライブラリGMP

今までGCCをコンパイルするとき何となしにビルドしていたGMP。 このライブラリ、なんなのかようやく知る機会を得た。 (そもそもビルドするときに何なのか疑問をもつべきではあったが)そもそもこのライブラリ、GNU Multiple Precision Arithmetic libraryと…

1週間でWeb Frameworkを書いてみた話

あけましておめでとうございます。突然の本題ですが、ちょっと紆余曲折あってさくらのレンタルサーバーのライトプランで軽くWebシステムを作ることになりました。 別に仕事でもないのでPHPで書くよりは他のスクリプト言語を勉強の意味も込めて使ってみたいな…

MacでGRUBから自作OSを起動

久々にOS書いてます。そろそろ取っ掛からないと、来年もSECCAMPの機会を逃しかねないですね。以前までははりぼてOSをLinuxに移植していたのですが、途中でちょっと詰んでしまったので、一からフルスクラッチすることにしました。 ただ、今はMacbookを使って…

LaunchPadから任意アイコンを削除する方法

これ、割と困ってる人多いんじゃないかな。 LaunchPad、普段使う分には支障はないんだけど、アプリを追加したり削除しようとすると途端に融通が利かなくなる。 追加は/Applicationsに入れればいいけど、消すのは一苦労。 1. optionキーを押す optionキーを押…

Android2.3の闇 #1

ようやく仕事も一段落したので、今回の案件を通して得られた知識(というかバッドノウハウのようなもの)を残していきたいと思う。 今回は主に僕はPHPでスマートフォン向けWebページのレイアウトを整えていく作業をしていた。 実際は内部処理とか結構書く羽…

Ji2フォレンジックチャレンジに参加して

来る9/6、Ji2主催のフォレンジックチャレンジに参加してきました。 http://www.ji2.co.jp/forensics/seminar/20130906/index.html当初の動機は、セキュキャン2013に応募して見事に落選して、腹いせに何かセミナーは無いものかとあさっていて偶然見つけたので…

ランダム文字列の生成

今週は某所でWeb勉強会に参加していて、jQuery+Ajax+PHPみたいなのを勉強中。 本筋とはまったく関係ないけど、つい閃いてしまったのでメモメモ。 JavaScriptでのランダム文字列の生成方法 です。 正統派の方法は知らないけど、こんな方法もあるよ、程度に思…

一学期を終えて

まだドイツ語と情報の試験が残ってるけど、暇なのでまとめ。大学に入ってはじめてのタームで、僕が履修した講義の講義間の内容的つながりを図にしてみた。勿論狙って履修した訳ではなく、普通に個々の講義を見て面白そうだと思ったのを直感的に選んでいった…

AppDelegateへのアクセス

最近わけあってObjective-Cを書くことになってしまっているので、備忘録程度にメモ。AppDelegateはアプリケーションの動作を引き受けるクラス。 起動時から終了時まで一挙に担う。 そこで、複数クラスからアクセスする可能性のあるオブジェクトやメソッドはA…

Mountain Lionユーザのためのクロスコンパイラビルド

OSを開発する上で@liva_jyくんに勧められてGCCのクロスコンパイラをMacでビルドすることにした。 クロスコンパイラを使わなくてもLinuxでOS自体はビルドできるけど、確かに面倒だし。 Macで直接ビルドして、そのままデバッグしたいのは確か。 が、前途多難で…

ゲーデルの不完全定理

最近読んでる本を紹介します。不完全性定理とはなにか (ブルーバックス)作者: 竹内薫出版社/メーカー: 講談社発売日: 2013/04/19メディア: 新書この商品を含むブログ (2件) を見る竹内薫著ブルーバックスの『不完全性定理とは何か』です。 高校の頃から竹内…

話がわかりやすい人、わかりにくい人

大学の授業を受けていていちばん高校と違うと感じるのは、教授の教え方の上手さが人によってかなり隔たりがあるということだ。 ある人の授業はものすごく面白くて未だに授業中に一睡も許さないのに、またある人の授業はまぶたの重さに耐えられない。これはな…

iTermを使ってみた

一月振りかー。何か書こうと思って、でも特にめぼしいこともなく、時間もなく、で惰性でここまできてしまった。先日、Vim使い見習いとしてターミナルを何枚も開くのは恥ずかしいと思い立ち、ターミナルを分割することにした。 ところが、OS X標準のターミナ…