‘解決’ カテゴリーのアーカイブ

Mac OSX 10.5でhamachiを自動起動する

Hamachiのインストールまでは他のサイト参照のこと。

実行した環境は10.5.6 Leopard。

自動起動手順は以下のサイトにまとめられてる。

trak3r’s hamachi-for-os-x-start-up-on-boot at master – GitHub

/Library/StartupItems/Hamachiディレクトリを作成する。

# cd /Library/StartupItems/
# mkdir Hamachi
# cd Hamachi

HamachiとStartupParameters.plistの2ファイルを/Library/StartupItems/Hamachiに設置する。

viとかでそれぞれコピペ。

# vi Hamachi
# vi StartupParameters.plist

その際、Hamachiファイルは

/usr/bin/hamachi -c /Users/robertdobson/.hamachi start

この行だけ自分のHOMEディレクトリに書き換える。

# chmod 755 Hamachi
# chmod 755 StartupParameters.plist

で、再起動すればOK。plistに755はいらないかも。


applemtp.sysのブルースクリーンの解決方法

隣の席の人がMacBookにBootCampでインストールしたWindows XPで、ブルースクリーン(BSOD)に悩まされてたので解決メモ。applemtp.sysのエラーで、タッチパッドのドライバらしい。XPとVistaで頻発するとか。

Apple – Support – Downloads

まぁ、つまり、アップデートしろ、と。

自分で試したわけではないので、何ら保証はできませんが。

一応このエラーだけを修正するアップデートは

Multi-Touch Trackpad Update for Windows XP & Vista

これなんだけど、普通のBoot Camp Updateを当てればOKなのかな?

訂正:

逆らしい。

graっちぇgraっちぇ: Trackpad patch v 2.1.2.100はスルーの方向で。(泣)

2.1.2.100のパッチを当てた人がエラー起きてるらしい。隣の人はBoot Camp Update 2.1を当てたらエラーが起きなくなったと言っていたが…

バージョンが戻って安定するようになったのか、もしくは気のせいか。

追伸:

やっぱ安定してないらしい。

とりあえず古いapplemtp.sysを持ってきて差し替えたらいいんじゃないでしょうかね。


Mac OSX 10.5のXcodeで.pbprojが開けなくて困ったメモ

LeopardのXcodeでHID Utilities Sourceをビルドしようとして、ダウンロードして展開してみたものの、HID Utilities Slib.pbprojがただのディレクトリにしか見えないので、非常に困った。

これをダブルクリックで開いてビルドするとか書いてあるのだけれども…?

結局ディレクトリの拡張子を.xcodeprojに変更することで開けるようになりました。ちなみにdmgだと変更できないのでzipでね。


Adobe AIRを多重起動する方法

インストールしたひとつのAIRプログラムを同時に複数実行する方法を探していて、見つけた方法。

基本的にAIRは同じプログラムが多重起動しないようになっています。ディレクトリをコピーして、別のディレクトリにしてもダメ。

が、コピーしたディレクトリの中のMETA-INFAIRapplication.xmlを開いて、<id>~</id>の中身を適当に書き換えてやると…意外にもあっさり起動。

なので、インストールしたディレクトリをまるごとユーザ領域にでもコピーして書き換えてしまいましょう。それでも普通に起動します。

副作用とかあるかどうかは未検証。


Python 2.5+wxPythonでDeprecationWarningが出ないようにする

py2exeで実行ファイルにする関係上、DeprecationWarningが出ると終了時にダイアログが出てしまうので対策した。

wxPythonをimportするだけで、以下の警告が出る。

hoge.py:19: DeprecationWarning: The wxPython compatibility package is no longer automatically generated or act
ively maintained.  Please switch to the wx package as soon as possible.
  from wxPython.wx import *

Python 2.6 をインストールすると Mercurial で警告が出るのを回避する – kwatchの日記

こちらの記事を参考に、wxPythonのimport前に、以下の行を追加。

import warnings
warnings.filterwarnings('ignore', category=DeprecationWarning, message=r'The wxPython')

多分ログ出さないようにする方法もあるんだと思うんだけど。DeprecationWarningの解決策を探していたら、出さないようにするってのが見つかったので、とりあえずこれで対処。


iPhone SDKと"A signing identity matching this profile could not be found in your keychain."

iPhone SDK 2.2が出たタイミングで、そろそろ開発をしようと思い、ひとまず環境を構築中…

Xcodeのオーガナイザで、PROVISIONING PROFILESに「A signing identity matching this profile could not be found in your keychain.」と表示されて実機に転送できない現象があった。

色々調べて見たら、Developer ProgramのCertificatesから、自分で登録したキーをダウンロードしてキーチェーンに取り込まないといけなかったらしい。

登録してXcode再起動したら見事に実機に転送できるようになりました。

自分のところで作ったキーだからと油断してたわ…うぁー。


mysqldumpと「Got a packet bigger than 'max_allowed_packet' bytes」

そこそこ巨大なテーブルをmysqldumpで書き出して、nkfでEUC-JPからUTF-8に変換、テーブルの照会順序もutf8-generic-ciにして書き戻す、ということをやろうとした。

サーバのMySQLのバージョンは4.1。

$ mysqldump –version
mysqldump  Ver 10.9 Distrib 4.1.20, for redhat-linux-gnu (i386)

$ mysqldump -u root -h localhost -p –complete-insert –quick –no-create-info データベース名 > datas.sql
$ nkf -Ew datas.sql > datas.utf8.sql
$ mysql -u root -h localhost -p データベース名 < datas.utf8.sql

こんな感じで実行してみたらタイトルにある”Got a packet bigger than ‘max_allowed_packet’ bytes”のエラーが発生。

SQLファイルの中身を見ると拡張INSERT文がずらーっと。しかも何かnkfが所々で文字化けを起こしてるし。

MySQLのバックアップデータをUTF8で復元する – Knowledge Database IT

–max_allowed_packet=128M のオプションとかはなぜか効かず。まぁ、効かないことが多いようですが。

Linuxでやる夫: [mysql] やる夫がmax_allowed_packetの設定をするようです。

mysqlコマンドでログインしてから「source ファイル名」でも取りこめるのですが、ちょっと面倒なので、拡張INSERTを何とかやめたい。

メモ: mysqldumpで一行ずつのINSERT

MySQL :: MySQL 4.1 リファレンスマニュアル :: 4.9.7 mysqldump(テーブル構造とデータのダンプ)

MySQL4.1のmysqldumpのマニュアルには–skip-系のオプションの記述がなかったのですが、MySQL5.1のマニュアルを見たら発見。

MySQL :: MySQL 5.1 リファレンスマニュアル :: 7.12 mysqldump — データベースバックアッププログラム

使えるのかなーと思って試してみたところ成功。

$ mysqldump -u root -h localhost -p –complete-insert  –skip-extended-insert –quick –no-create-info データベース名 > datas.sql
$ nkf -Ew datas.sql > datas.utf8.sql
$ mysql -u root -h localhost -p データベース名 < datas.utf8.sql

nkfの文字化けも直ったしこれで解決。


nkfでサイト全体の文字コードを変更する

find . -type f -name "*.php" -print0 | xargs -0 nkf -Ew -Lu –in-place

とりあえずこれでEUC-JPからUTF-8にPHPファイルが再帰的に変換される。

あと、ついでに-Luにより、改行コードをLFに統一しておく。

–in-placeは既存のファイルに上書きしつつ、タイムスタンプを更新するオプション。–overwriteでも上書きできるが、–overwriteではタイムスタンプを更新してくれない。

タイムスタンプの更新をしないと、svnが更新を検知してくれない。

これで一気に処理しておいて、phpMyAdminや他のライブラリなどの変換してはいけないコードは、個別にsvn revert –recursiveする。

ちなみに–in-placeオプションについては、nkf 2.0.6より実装。

2.0.6 – Change Logの表示 – nkf Network Kanji Filter – SourceForge.JP


大量のMTS(AVCHD)形式のファイルをaviに変換する

Windows上ではK-Lite Mega Codec Packを入れてあるので再生できるのだが、Macで見たいとか言われたので、PanasonicのHDC-SD5で録画した166個のMTSファイルを一括変換すべく色々やってみた。

思いついた変換方法は、MTS→Avisynthスクリプト作成→VirtualDubで読み込み→AVI保存

とりあえずavsはファイル数分作ることにした。さっくりとPythonスクリプトで作成。(後述)

VirtualDubでジョブ処理をさせるためにjobsファイルを作成する。これもどうせ途中で止めたりしないので、1ファイルに「ファイルオープン」~「AVI保存」~「クローズ」までを処理数分繰り返して記述することにした。

カレントディレクトリにtemplate.avs、template.jobs、createJobs.pyを作成。中身はそれぞれ以下の通り。

template.avs

DirectShowSource("..$1")
BilinearResize(1920,1080)

template.jobs

VirtualDub.Open(U"D:datasmovieshogeavs$1.MTS.avs");
VirtualDub.SaveAVI(U"D:datasmovieshogeavi$1.avi");
VirtualDub.Close();

createJobs.py

import os
path=’./MTS’
filelist = os.listdir(path)
output_jobs = ”
for i in range(len(filelist)):
    item=os.path.join(os.path.normpath(path),filelist[i])
    filename = os.path.basename(item)
    filebase = filename.replace(‘.MTS’, ”)
    f = open(‘./template.avs’, ‘r’)
    output = ”
    for line in f:
        line = line.replace(‘$1’, item)
        output = output + line
    f.close()
    fo = open(‘./avs/’ + filename + ‘.avs’, ‘w’)
    fo.write(output)
    fo.close()
    f_jobs = open(‘./template.jobs’)
    for line in f_jobs:
        line = line.replace(‘$1’, filebase)
        output_jobs = output_jobs + line
    f_jobs.close()

fo_jobs = open(‘./all.jobs’, ‘w’)
fo_jobs.write(output_jobs)
fo_jobs.close()

あ、MTSファイルはMTSフォルダに入れておくのと、aviフォルダ、avsフォルダを作っておく。

あとはPythonスクリプトを実行するだけで、all.jobsが出来上がるので、VirtualDubのファイルメニューからRun Scriptを実行するだけ。VirtualDubの保存時のエフェクトやCODECはあらかじめVirtualDub上で設定しておく。


Polycom VSX 7000Aの接続先ローカル名でハマる

テレビ会議システムPolycom VSX 7000Aをブラウザから管理していたときにハマった内容のメモ。需要なさそー。

ホーム画面で簡単に通話が始められるように、接続先の名前(ローカル名)をディレクトリに登録できるのだが、アルファベット5文字+日本語5文字入れたら、マルチバイト文字の境界に対応してないらしく、機器側に最後の文字がバックスラッシュで表示されてしまった。

あぁ、ダメなのか、と思って再び編集しようとしたら、リストが出てこない!

ブラウザ換えてみたりしたけどダメなので、管理画面のユーティリティを見たら、「ディレクトリのインポート/エクスポート」というのがあったので、とりあえずPC側にエクスポート。

CSVをエディタで開いて見ると、エスケープされた該当部分が見つかったので修正してインポート。

そしたら見事に上書きされて正常に動作するようになった。よし。

まぁ、機器側なら削除→新規作成ができるとは思うのだけど。