Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

2005-01-01から1年間の記事一覧

MEMO

Template-ToolkitのPLUGIN_BASEは、マニュアルではスカラー値を取るような書き方だが、配列のリファレンスじゃないと動かないみたい。

言うが易し

Web 2.0 時代の TOEIC 900点超え英語勉強法 9ヶ条 そういや、俺も英語勉強しようと思ってて忘れてたorz。実際やろうとすると、他にも優先したいことがたくさんあってなかなかむずかしいんだよねー。 どんな勉強法がいいってよりも先に、計画性と切り替えの巧…

OS Xのhosts.allow

sshdに制限をかけた。 sshd: 192.168. sshd-keygen-wrapper: 192.168. linuxの時は下の行がいらなかったような? TCP Wrapperのバージョン差異とか? 後、環境設定でファイアウォールの設定を有効にすると、FTPのデータ通信ができない。なんでだ。

パーミッションは難しい

linuxのファイルシステムのパーミッションに関して、未だに理解が浅い。こりゃあいかんと言うことでちょっと調べてまとめてみた。 まず、大前提としてuserとgroupとotherがあり、触るファイルのオーナーとグループによってそれぞれに設定されたパーミッショ…

DNS in OS X

DNSサーバをMAC miniにお引っ越し。さて、インストールだと意気込んだのだが、どうやらデフォルトで入っている模様。/etc/hostconfigをいじくって、後はnamed.confの設定を久しぶりにやって完了。 後はjava系を移して、F/W周りの設定、そしてImageMagick・・…

iTunesをいじりたかったのだけど

Cocoa ApplicationからiTunesを弄りたかったんだけど、そのためにはAppleScriptが必須なのですな。。。あまり触りたくない言語系の一つ(笑)。WindowsだとCOMとして実装されており、WSHの所謂JScriptで書けばJavaScriptで書くこともできるみたい。 でもって、…

PPCのアセンブリを覗き見

先日悔しい思いをしたので、G5のアセンブリコードを覗き見してみることにした。 int test(int n){ return n; }↓_test: stmw r30,-8(r1) stwu r1,-48(r1) mr r30,r1 stw r3,72(r30) lwz r0,72(r30) mr r3,r0 lwz r1,0(r1) lmw r30,-8(r1) blr 86系とあまりに…

組み込みC/C++プログラミング入門

この本。タイトルは組み込みだけど、中身は完全にオブジェクト指向の本。C言語にオブジェクト指向のエッセンスを盛り込むためのテクニックが丁寧に紹介されていて、参考になる。特に、多態〜例外処理の実装の解説がGOOD。C++の実装も垣間見えて面白かった。 …

"Rubyソースコード完全解説"

Rubyソースコード完全解説、相当面白そうな内容。こんな書籍が出てたのも知らなかったのだけど、オンライン化されているなんてなんと太っ腹な。作者さんに感謝感謝です。多分Ruby使いにはならないですが(笑)。 Perlソースコード完全解説はないのかなあ?

"iPodの死"

iPodが不調。振動を与えながら再生していることが多いからですな。nanoにすべきかも。 念のため、The Death of an IPODを見ながらテストを実行中。4〜10時間かかるって書いてあるなあ。夜まで放置しようっと。【2005.10.04】 今朝見たところ、 HDD SCANEND S…

アセンブリ言語の教科書

アセンブリ言語の教科書を読み終えた。確かに易しく解説してるんだけど、なんか理解度が低い。。。 誤植が多い アセンブリの弁護が極端に多い(著者が負い目でも感じてるのだろうか・・・) 章同士のつながりが希薄(別々に書いた物をつなげたのでは?) 後半、…

無線LANが不安定

無線LANが不安定なのが気になって、昨日くらいからずーーーーっと色々試してた。電波の強さは最高値なのに、突然通信不能に陥る。クライアントはノートPCなんだが、省エネルギーモードで動かしたりCPUに負荷をかけると切れやすいっぽい。ACアダプタつなぐと…

Adium

Adiumをインストールしてみた。Regnessemより使いやすい。中ではgaim のエンジンを使ってるみたい。 ただ、グループの編集にバグがあるみたいで、うまくいかない。 ~/Library/Application Support/Adium 2.0/Users/Default/libgaim/blist.xml なんてのがある…

K&R

K&Rの付録以外を読み終えた。感想。 ライブラリと言語を分けて説明してくれててわかりやすかった ソースの例がライブラリの関数に近かったので「へえ」と思えた 特にmallocとか 関数ポインタ混じりの複雑な宣言がやっと理解できた(*´Д`) 後は付録・・・って…

ファイル名をSJISのままtarしてしまった

もー、sjis嫌い。これも方法わからなかったので、 use Archive::Tar; use Jcode;$tar = Archive::Tar->new($ARGV[0]); @list = $tar->list_files(); foreach(@list){ $tar->rename($_, jcode($_)->utf8()); } $tar->write("$ARGV[0]_utf8.tar"); とperlのス…

ファイル名をSJISのままFTPしてしまった

windowsからSJISのままlinuxにFTPしてしまったら、名前が戻せなくなった。試行錯誤の末、 (find ! -name \* -a ! -name \.\* | head -1 & echo 'hogehoge.tbz') | xargs mv とやったらできた。findエラい。 ・・・他に絶対いい方法あるはずだよなあ。

関数のプロトタイプ

問題です。このスクリプトの出力を予想して下さい。 #!/usr/local/bin/perl use strict; # 関数1の定義 sub test1($){ #引数を出力 print join(',', @_) . "\n"; } my @hoge = ('hogehoge', 'foofoo');# メインルーチン(呼び出し) test1(@hoge); &test1(@hog…

立っているビットを数える

int bitcount(unsigned x){ int b = 0; while(x){ b++; x &= (x - 1); } return b; } これが立っているビットを数える関数だって、言われなきゃわかんないよなあ。しかし、シフトしながら数えるより3倍くらい速かった。 こういう系のテクニックが重要なんだ…

無理矢理ポリモフィズム

C言語でポリモルフィズムしてみた。参考にさせて頂いたのはこちら。 #include <stdio.h>/* 動物クラス多態スキーマ ===================================================== */// クラスが持つ関数の実装を保存する typedef struct { void (*hello)(); int size; } An</stdio.h>…

memcpy

むかーしむかし、memcpyを配列か構造体に使っちゃイケナイみたいな記事を読んだような気がするんだけど、どこで読んだんだったかなあ。 構造体はパディングのゴミが入るから、単純に要素のサイズの和でmemcpyしてはイケナイってのはわかるんだけど、それのこ…

そして時は動き出す

0.5FPSの状態から、なんとか15FPSまで持ってきた。まだ遅すぎ(笑)。 今回は応急処置として、NSMutableDictionaryによるバイト列のキャッシュを持たせてみただけなので、まあ、こんなもんでしょ。NSMutableDictionaryがポインタを直接食ってくれなくて、NSDat…

課題が山積み

久しぶりのCocoaなんですが。なんで最近やってなかったかと言うと、モデルをどういう風にビューに反映させると速度を確保しつつわかりやすくなるのかなーと悩んでたから。 まあ、悩んでも仕方ないかってことで、とりあえず円形に並べて回転させてみた。 案の…

LWPのリダイレクトを制御

LWP::RobotUA、LWP::Mixi、WWW::Mechanizeなど、LWP::UserAgentのサブクラスは、どんなURLでも勝手にリダイレクトしてしまうのだが、これを制御する方法。答えから言えばredirect_ok の挙動を変えればいいだけなのだが、これがなかなかに面倒くさい。 普通に…

URIとURI::URL

URIとURI::URLをファイルに永続化後、解凍したら動かないと言う問題に遭遇した。 これは、こいつらの保持するURI::http やURI::https が、URI::implementor で動的にロードされるため。解凍するだけだとこのメソッドは呼ばれないからねえ。 そんなわけで、 m…

Safe

Safeモジュールを使ったら安全そうだからって理由だけでreval使ってオブジェクトを生成したら、どうDumperやrefで見てもblessできてるのにメソッドが呼べなくて動かなくて痛い目にあった。ドキュメントを流し読みした感じでは、実行空間が別物になるみたいだ…

splitとundef

splitで、undefが来たり空文字列が来たりする。 $ perl -Mstrict my ($s1, $s2, $s3) = split(/=/, '='); print defined $s1, " ← S1\n"; print defined $s2, " ← S2\n"; print defined $s3, " ← S3\n";my @arr_s = split(/=/, '='); print defined $arr_s[0…

プロトコル

形式プロトコルと、非形式プロトコルの使い分け。ドキュメントによれば、 非形式プロトコルが適しているのは、すべてのメソッドの実装が任意である場合(デリゲートなど)です。 だって。形式プロトコルにしちゃうと、実装しないメソッドがあったときにエラ…

継承し過ぎ

メソッドのオーバーライドを用いて共通ロジックをまとめているコードがあったんだけど、これをやると不自然なスーパークラスが出来上がってしまうことがある。 sentenceと言う文章を出力するメソッドを持つSub1クラスがあったとき、Sub1と言うクラスを継承し…

mysqlのUNIQUE制約

UNIQUE制約でエラー。ユニークなものを食わせてるはずなのにおかしいなーと思ったら、textだとケースインセンシティブになるんだね。いや、そんな記憶もあったんだけど、今日はハマってしまった。。。 blobにしたら動きました。varchar型だとbinaryのオプシ…

テクスチャ初体験

ビットマップ扱いだったのをテクスチャに変更。貼付ける画像に(0, 0) 〜 (1, 1)の座標を付け、ポリゴンの各頂点にglTexCoord2f()でその座標をセットし、それ以外のポリゴンの面上の点では補完された座標を使うと言う原理。 初めてテクスチャマッピングと言う…