Git で間違ったメールアドレスの一括変更

$ git filter-branch --commit-filter ' if [ "$GIT_AUTHOR_EMAIL" = "old_address@example.com" ]; then GIT_AUTHOR_NAME="Author name"; GIT_AUTHOR_EMAIL="new_address@example.com"; git commit-tree "$@"; else git commit-tree "$@"; fi' HEAD http://…

Git remote repository の巻き戻し

共同の開発者がいない場合などに限る。 $ git push -f origin :master

ubuntu 11.04 で、bash の bind を使って M-h に backward-kill-word を割り当てられない

.inputrc に "\M-h": backward-kill-word と書いても Alt-h で前の単語を削除できない。Alt が M で反応していない。理由はよくわからないが、次だと動いた。 "\eh": backward-kill-word

さくらインターネットの VPS で cron で ruby のスクリプトが動かない

rvm で 1.9.3-p0 をインストールしたがトラブルが…。 libyaml の警告を消す It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. yum ではインストールでき…

rdesktop で ubuntu から Windows XP に接続してクリップボードを共有する

クリップボードの共有を有効にするには RDPv5 で接続する必要がある。 Windows XP 側に ClipBook, Network DDE, Network DDE DSDM のサービスが稼働している必要がある (起動高速化などで無効にしている場合に注意) desktop -5 REMOTE_SERVER_NAME -f -k en…

Ruby で bit.ly などの短縮 URL の展開

ググって調べて書いてみた。 require 'net/http' require 'uri' def expandShortenURI(s) uri = URI(s) Net::HTTP.start(uri.host, uri.port) {|http| response = http.head(uri.request_uri) case response when Net::HTTPRedirection expandShortenURI(res…

ibus + mozc

自分用の Mozc カスタマイズ。 Mozc の最新版 (PPA) sudo add-apt-repository ppa:japanese-testers/mozc ibus 1.3.9 が自分の環境では安定していた。1.4.0 はトリガーキーが最初の1回そのまま送信されてしまう。しかし、有効/無効キーバインドは使いたいの…

emacs のテキストモードで Shift+Tab を実現する

秀丸のような Shift+Tab のバックタブ(逆インデント)を emacs で実現してみた。 タブ位置の調整 emacs ではインデントの考え方が特殊で、テキストモードで (setq tab-width 4) としても効果がない。tab-width に従うのは C 言語モードの Tab キーに割り当…

emacs で dired でディレクトリを移動してカレントディレクトリを変更する

function emacscd { export EMACS_DIR_FILE=$HOME/.emacs.dir.$$ emacs . if [ -f $EMACS_DIR_FILE ]; then cd `cat $EMACS_DIR_FILE` rm -f $EMACS_DIR_FILE fi } (defun dired-set-current-dir-and-exit() "Set viewing directory to the current director…

ubuntu の network トラブルで使うコマンド

ネットワークトラブルの調査で良く使うコマンドのメモ。 ethtool sudo ethtool ethX sudo ethtool -s ethX speed [10|100|...] sudo ethtool -s ethX duplex [half|full] sudo ethtool -s ethX autoneg [on|off] sudo ethtool -a ethX sudo ethtool -A ethX …

LC_MESSAGE / LANGUAGE / LANG の階層

http://www.itmedia.co.jp/enterprise/articles/0605/16/news027.htmlLANGUAGE > LC_ALL > 機能別の LC_* > LANG LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 VTE_CJK_WIDTH=1 gnome-terminal これでエラーメッセージは英語で、日本語も…

URL を正規表現でマッチさせてブラウザを分岐させる

会社などで IE 専用のサイトがあったり、Firefox 推奨のサイトがあったり、Chrome 推奨のサイトがあったりして、うっかり違うブラウザで開いて、また開きなおすといった場面が多かったので支援ツールを作りました(ずっと前に)。デフォルトブラウザとして登…

Android メモ

新しいリリースや、リリース間の違いを確認するために特定リリースの manifest を確認したい manifest.git の clone を作る git clone https://android.googlesource.com/platform/manifest.git # 初回 git pull # 更新 git branch -a # manifest のブランチ…

Redmine の新規チケットの開始日に当日の日付が入らないようにする

新規チケットの発行で開始日にその日の日付が自動で入るため、未着手なのに開始日が過ぎているチケットが多く発生してしまう要因になっていた。app/controllers/issues_controller.rb で以下をコメントアウトすることで空欄のままにできる。 if request.get?…

Redmine のチケット監視者のチェックボックスのデフォルトを checked にする

「新しいチケット」でチケット監視者のチェックボックスを全員オンにする。ちゃんと設定があるのかもしれないが、ひとまず app/views/issues/_form.rhtml に :checked => 'true' を追加することで対応した。 <label class="floating"><%= check_box_tag 'issue[watcher_user_ids][]',</label>…

YouTube でリピート再生(ループ)させるブックマークレット

↓をブックマークレットとして登録しておいて、YouTube の動画再生画面で実行すると、リピート再生(ループ)するモードに入る。 javascript:(function(){ if (location.href.match(/https?:\/\/www\.youtube\.com\/watch\?v=([^&]+)/)) { var url = "http://…

libomxil-bellagio-0.9.3 で case value ‘2130706435’ not in enumerated type でビルドエラー

cc1: warnings being treated as errors omx_base_component.c: In function ‘omx_base_component_GetParameter’: omx_base_component.c:991:3: error: case value ‘2130706435’ not in enumerated type ‘OMX_INDEXTYPE’ omx_base_component.c:918:3: error:…

Sharepoint でリッチテキストの編集欄が小さい

Microsoft Sharepoint + Internet Explorer で、タスクリストのリッチテキスト編集欄を大きくしたい。 以下の1行をテキストファイルで適当に user.css として保存する 「ツール」→「インターネットオプション」→「全般」タブ→デザイン「ユーザー補助」→ユー…

ビルドサーバの設定メモ

https://help.ubuntu.com/community/NFSv4Howto apt-get # apt-get install portmap nfs-common nfs-kernel-serverservice portmap restart が動かない場合は、マシンを再起動する。 /etc/exports /target_dir 192.168.0.1/255.255.255.0(rw,rync)ワイルドカ…

無料のラブひなを一括ダウンロードする python スクリプト

import os for i in range(1,15): os.system("wget http://dl.j-comi.jp/download/book/1%02d/hq/LH%02d_hq.pdf" % (i, i))

ファイルデスクリプタから逆にファイルパスを得る

こんなのしか思いつかなかった。 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <stdlib.h> #include <assert.h> #define VERIFY(x) if (!(x)) { assert(x); abort(); } int main(int argc, char *argv[]) { pid_t pid = 0; int fd = 0; char proc_path[1024]; ch</assert.h></stdlib.h></unistd.h></fcntl.h></sys/stat.h></sys/types.h></stdio.h>…

Linux でブートディスクとしてフォーマットした HDD をデータディスクとして使う

一度 Linux をインストールした HDD をそのまま外付け HDD として流用したい ブートデバイスが USB 優先になっている PC にその外付け HDD を接続すると起動してしまうが、起動しないようにしたい パーティションテーブルの修正 fdisk でスワップ領域等を削…

ubuntu 10.10 でブラウズすると一部の漢字にアンチエイリアスがかからず汚い

Google Chrome でブラウズした時に、入力フォームの中などでフォントが汚くなっていた。一部の TrueType フォントが優先されているせい。検索したところ諸説あったが自分は以下を削除した。 ttf-wqy-zenhei (繁体字) ttf-unfonts-core (韓国) ttf-arphic-u…

CQPerl で Rational ClearQuest API を利用した場合に The following characters are invalid で強制終了してしまう

Windows 上で CQPerl を使って Rational ClearQuest の自動クエリーなどのスクリプトを書いた場合に、以下のエラーでスクリプトが強制終了して困っていた。 String returned from the CQPerl is not in the local code page, "932 (Japanese (Shift-JIS))". …

git clone --bare で clone したレポジトリに remote を設定する

git clone すると通常は clone 元が origin に設定されるので、git push でパラメータなしで push できるが、git clone --bare で clone すると origin の設定が必要なようだ。 例 $ git clone --bare git@github.com:/.git $ cd .git $ git push fatal: No …

Android Project をソース共有するときに必要なファイル

Eclipse で Android project を作ってアプリケーションを開発した場合に、Git に commit すべきファイルを忘れるのでメモ。 ワークスペースのフォルダに見えるファイル .classpath .project .settings AndroidManifest.xml assets/ bin/ default.properties …

ubuntu で adb を実行すると no permissions と表示されて接続できない

ubuntu では root 権限で adb server を実行する必要がある。面倒なので、オーナーを root にして sticky bit を立てる。一般ユーザが root 権限で adb を実行できる。 sudo chown root:root adb sudo chmod u+sx adb 上記の対処前に adb を実行していた場合…

Xcode のファイルヘッダの Created by と Copyright を変更する

コマンドラインから以下を実行して設定できる。 defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{FULLUSERNAME = "hogehoge"; ORGANIZATIONNAME = "hogehoge";}' GUI でやりたい or 確認したい場合は、open com.apple.Xcode.plist など…

iOS 4 で 1 click のラウンチャーを作る

iOS Developer Program に参加してほやほやです。やったことのまとめ。 作りたいもの 目標 特定メールアドレスへメールを出すためのショートカットボタンを作りたい 動機 iPhone のアドレス帳の選択が面倒くさい 思いついたメモを自分宛に出す習慣があるので…

iPhone での Provisioning Profile の登録

http://www.facebook.com/note.php?note_id=138500006215364こちらの 6. 以降を参考にしました。それでも少しハマったのでメモ。 developer_identity.cer, AppleWWDRCA.cer はダウンロードしてダブルクリックしてもダイアログ等がでるわけではない Provision…

vlc (ubuntu) で字幕トラックをオフにして起動する

vlc --help を見ても載っていないが、vlc --sub-track=99 とするとデフォルトをオフにすることができた。

Macbook の設定メモ

Spotlight の対象から Safari の履歴を除外する /Users/[username]/Library/Caches/Metadata/Safari/History/ を Spotlight 環境設定のプライバシーにドロップする ウィンドウの制御 最大化は Windows と異なりアプリ依存での実装 しまう command+M 戻すのは…

Mac OS で UQ WiMAX D03NA を挿入してもすぐ接続されない

Try WiMAX などで D01NA を借りて、その後 D03NA を購入したのだが、USB に挿入してもすぐ反応せず困っていた。古い D01NA のドライバが残っていて衝突していたようだ。 Warning - kext jp.co.nec.UQWiMAX.UD01NA_2 has immediate dependencies on both com.…

Windows 7 で英語キーボードと日本語キーボードの切り替え

Windows の不便なところで USB キーボードだと自動で切り替わらないのでレジストリエディタで書き換える。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters 英語キーボード LayerDriver JPN → kdb101.dll OverrideKeyboardIdenti…

[メモ] Macbook を WiFi ルーター化した場合に ubuntu から接続できない

iPod Touch は接続できたが、ubuntu や Windows 7 から接続できず困っていた。クライアント側の認証方式をオープンシステムから共有鍵にする必要があったらしい。ubuntu の場合、 ネットワーク接続 → 無線 →(該当 SSID の)編集 → 無線セキュリティ → 認証 …

Creative ZEN の復旧方法

MBR を書き換えてしまった場合などに以下のツールでリカバリできる。http://www.creative.com/products/mp3/MP3PlayerRecoveryTool/welcome.asp

動機ドリブンタグ付け

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

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 の内蔵計算機能があるというので工夫し…