動機ドリブンタグ付け

見たい情報が溢れてしまっていたので整理方法をブレストしてみた。 対象 色々と興味を持ってしまい情報を集めすぎてしまう(ブックマークとか) 未整理や未読の情報が重荷になってイライラしてきた 積ん読が多すぎて本を読み出しても途中で別の本が気になる …

BEHRINGER USB Audio Device を Mac OS で使う

いつも忘れるのでメモ。 Guitar Combo III をインストールする アプリケーション→ユーティリティ→Audio MIDI設定 BEHRINGER USB Audio Device で入力を USB Audio Codec にして、出力を内蔵にするとギターの音を Mac のスピーカーから聴くことができる

Redmine + apache

各種インストール sudo apt-get install libsqlite3-ruby libsqlite3-dev sqlite3 apache2 apache2-prefork-dev sudo gem install -v=2.3.8 rails sudo gem install sqlite3-ruby activerecord activesupport deprecated fastthread rack rake passenger sud…

protex

http://www.blackducksoftware.com/protex ソースを静的解析してオープンソースからの引用コードがないかチェックするリスク管理ツール オープンソースのプロジェクトは無数にあるわけでどこまでチェック可能なのかは不明 オープンソースの開放性は逆のニー…

Sourceforge.net で SVN から Git への移行

Git を利用可能にする ログインしてプロジェクトに行く Project Admin -> Feature Settings -> Available Features で Git のチェックボックスをチェック svn2git でレポジトリをコンバートする sudo gem install svn2git でインストール svn2git https://PR…

delete this の安全性

メンバー向けトレーニングネタその1。delete this は危険に見えるが何を削除しているのか確認する。 class ClassA { public: void del() { delete this; } }; int main() { ClassA* ptr = new ClassA(); ptr->del(); // ダメな例 // ClassA test; // test.d…

C++ でオーバーライドした仮想関数をコンストラクタで呼ぶ

ClassA の仮想関数 method() を継承した ClassB でオーバライドした場合でも ClassA のコンストラクタ内の method() は ClassA::method() を指している。これは vptr の初期化タイミングで説明できると思っていたが違った orz(以下、ubuntu 64bit 環境で試…

ps aux | grep hogehoge で grep プロセスを出さない方法

友人にクイズで出されてわからなかったのだが、 $ ps aux | grep init root 1 0.0 0.0 23820 2016 ? Ss 03:02 0:00 /sbin/init account1 3154 0.0 0.0 7176 1016 pts/0 S+ 14:17 0:00 grep init となるが、どうやって grep プロセスが表示に含まれるのを除去…

Mechanize 1.0 で EUC-JP のページで文字化けが発生する

★以下の情報は副作用があります。今度は basic 認証でエラーになってしまう。現在、調べ中・・・。 www.jiji.com のスクレイピングでたまに文字化けするので調べたが分からなかった。 HTTP のヘッダ情報や、ページの charset を確認したが、Latin-1 の誤判定と…

Emacs で改行を含めて置換/検索する

query-replace-regexp でも \r で反応しなくて困っていたのだが、 改行を含めて検索する C-j で改行が入力できる (C-q は不要だが、C-q C-j でも同じ) 改行を含めて検索する C-q C-j で改行を打ち込める(C-j ではダメ)

Ruby でコマンドライン電卓

http://d.hatena.ne.jp/mtv/20100410/p1↑のような bash で電卓を作って満足していたら小数点が扱えなかった。バカですね。Ruby で書き直しました。0b で2進数のリテラルも書けて良い。 function cal { ruby -e "puts $*" } function hex { read stdin printf…

Microsoft Office Communicator 2005 が Windows XP SP3 でインストールできない

英語版ならば "This installation was interrupted. No changes were made to your computer system. Please try running the installation again." と表示される。Hotfix KB974571 と相性が悪いらしくこれを外すことでインストールできた。http://social.te…

find の -prune の使い方

find で特定ディレクトリだけ除外するために -prune を使うとたまに思い通りにいかないので調べてみた。要するに暗黙に付けられる -print によって挙動が変わる。 find . -name ".git" -prune -o -type f -print の擬似コード find(dir) { for name in dir {…

bashの内蔵計算機能を使う

10進数と16進数で混合計算ができる 普通に()を使って数式がかける 16進数への変換がすぐにできる が必要で普段はポケコンを使っているのだがコマンドラインでやりたい。bc はいつも使い方を忘れてしまっていたが、bash の内蔵計算機能があるというので工夫し…

パッチファイルを作るスクリプトの小技

パッチファイルを自動生成する bash スクリプトを改良した時に使った小技のメモ パスからユニークなファイル名を生成する (foo/bar/hogehoge.cpp -> foo.bar.hogehoge.cpp.patch) PATCH_FILE=`echo $1 | sed 's/\//\./g'`.patch 既にパッチファイルがあった…

Chromium を Emacs キーバインドにする

Chromium のキーバインドをソースコードレベルで修正した。Extension ではページ表示中しか効果がなかったり、テキストボックス内では効果がなかったり、中途半端になってしまうので根本で解決。動けばいいレベル。 テキストボックス以外で有効 C-n ライン毎…

ubuntu 9.10 で motd のウェルカムメッセージを停止する

ssh でログインするとメッセージが長々と表示されるので停止したい。 全部消す場合 サーバ側のホームディレクトリで、 touch .hushlogin 最終ログイン時間以外のウェルカムメッセージを消す場合 /etc/ssh/ssh_config に PrintModt no を追加してもダメだった…

Emacs で *compilation* バッファが横分割になる

画面の大きさに依存せずに、常に縦分割にするには以下を追加する。 (setq split-width-threshold nil)

GNU Global 5.8.1 で検索で大文字小文字を無視する

ubuntu 9.10 では 5.7.1 だが、その後のバージョンアップで gtags-find-file で補完が効くようになったらしい。少し gtags.el をカスタマイズした。 gtags-find-file で大文字小文字を区別しない (defun gtags-find-file () ... (gtags-goto-tag tagname "Pi…

Redmineの「題名」のオートコンプリートをオフにする

会社でRedmineを使っていて「新しいチケット」の「題名」でブラウザのオートコンプリートで候補がズラズラ出て気になったので修正してみた。app/views/issues/_form.rhtmlの該当箇所を修正。 <p><%= f.text_field :subject, :size => 80, :required => true, :a</p>…

Android.mkからモジュール依存関係を自動生成するスクリプト

http://dl.dropbox.com/u/643012/ruby/make_android_build_map.rbまだSCMにコミットしていない。不完全だが、Android.mkを解析してモジュールの依存関係を抽出してみた。 ホスト向けモジュール or ターゲットデバイス向けで色分け 動的リンク or 静的リンク…

不具合修正テンプレート

基本的なところのメモ。 原因 不具合の発生メカニズム 修正内容 どのように修正したか レビュワー レビュー担当者名 動作チェック内容 10/10 不再現 影響範囲 テスティングチームにインプットしてテストケースを作成してもらう リスク 修正箇所が実行される…

Sony Ericsson IS800 のUSB充電ケーブルを作ってみた

http://www.sonyericsson.com/cws/products/accessories/overview/hbh-is800日本未発売のBluetoothヘッドホンを購入した。余計なコードが一切ない。首周りに邪魔なものがなく、絡まったコードをほどくイライラもなくて爽快すぎる。音質は今イチだし、ボリュ…

PS3 Linux で Cell 開発環境を立ち上げる

基本的に Fixstars の Yellow Dog Linux 6.1 を入れるだけ。SDK も入っている。 spu-gcc 4.3 のインストール デフォルトだと 4.1.1 なので最新の gcc をインストールするhttp://www.bsc.es/plantillaH.php?cat_id=579 CUI emacs のインストール # yum instal…

Android Platform 関連メモ

http://pdk.android.com/online-pdk/guide/index.htmlこんなのに興味がある人向け。Android での C/C++ プログラミングの注意点。 Anrdoid の C++ での new は new(std::nothrow) 相当 bionic の libstdc++ で new の実装を確認する bionic/libstdc++/src/ne…

switch 文の default のスペルは間違えてはいけない

http://codepad.org/jnZoVbI1を見て試してみた。 #include <stdio.h> int main(void) { int x = 2; switch (x) { case 1: printf("1\n"); break; defautl: printf("other\n"); break; } return 0; } gcc でコンパイルは通るが結果が 1 も other も表示されない。-Wall</stdio.h>…

ATOK X3のキーバインドを変更する (ubuntu jaunty amd64)

日本語入力をトグルではなくオンオフを別々のキーに割り当てる。Ctrl+o でオン、Ctrl+l でオフできるようにするための作業メモ。 /usr/lib, /usr/lib32, /usr/lib64の整理 インストーラが間違って /usr/lib (/usr/lib64/) に 32bit ライブラリをインストール…

Launchyのスキンを修正してATOKでの日本語入力に対応した

Launchyで一番シンプルなBlack Glassスキンを使っていたが、ATOKでの漢字入力で問題があったので暫定修正した。PC98時代のドット絵師の技術が活かせたw。 修正点 漢字変換時に黒背景白文字だと読めなくなるので白ベースに修正 alpha.png, background.png Wi…

error: duplicate 'unsigned'

仕事で stdint.h 内部の typedef でコンパイルエラーになる謎報告があった。ログから推測して以下のような状況だったのだと思う。 #define uint32_t unsigned int typedef unsigned int uint32_t; .cpp ならば、 test.cpp:3: error: duplicate 'unsigned' te…

redmine (sqlite3) でバージョンアップを行う

http://redmine.jp/guide/RedmineUpgrade コピーすべきデータベースや設定 ./db/redmine.db ./config/database.yml ./config/email.yml ./files 更新すべきこと データベーススキーマの更新 rake db:migrate RAILS_ENV="production" キャッシュとセッション…