キータッチがすこしやわらかくてなれない感じ.個人的に小さいキーボードは押した感じがしっかりわかる様に少し固めの方が好みかも?
ちなみに購入する予定はないですよ(笑
ThinkPadの加速度センサーを使ったアプリケーション.
dumpbin.exeとRECを使って調べているところがなかなか(笑
RECで普通に逆アセンブルすると中身が全然見えない。どうもUPXとかみたいな感じで中身を見えなくしている様子なので、OllyDbgとかでランタイムでデバッグしないとだめみたい。id:tessyさんところ経由で。
#T2のロゴが失意体前屈に見えるのは私だけ?(笑
なんだかすごい現実だなぁ…
ついにSargeがリリース前のフリーズ状態に入ったみたいです.5/30にリリース予定だそうです.
こどもの日バージョンですねー
と疑問に思ってたら,次は"Etch"なのね.
調べ物をしているときに脱線ついでに発見したのでメモ.DirectShowと似た雰囲気のマルチメディアライブラリ.Rhythmboxとかで使われているらしいです.
以下はちょっとだけGStreamerに付属のgst-launchで使ってみたときのメモ.
$ apt-get install 'gstreamer*' $ gst-launch-0.8 filesrc location=data.mp3 ! mad ! audioscale ! osssink
mp3のファイル->デコーダー->オーディオデバイスの順に接続して再生しています.
音が鳴っているだけだと寂しいので,ちょっと派手なVisualizationを使ってみる例.
$ gst-launch-0.8 filesrc location=data.mp3 ! mad ! audioscale !
tee name=t ! osssink \{ t. ! queue ! audioconvert ! synaesthesia ! ximagesink \}
\{ t. ! queue ! audioconvert ! goom ! warpTV ! ximagesink \}
※実際には1行で入力する
映像をリアルタイムで歪ませるwarpTVの処理が重いので, ちょっとパワーのあるPCで試した方がいいかもしれないです.
あと,DirectX SDKに付属のというのがあるので,こちらでもいろいろ試してみることができるみたいです.
初めの方の問題って,別にPythonじゃなくてもいいような気がしないでもなかったり…
CGIごにょごにょ系(?)の問題が載っているサイトはいくつか見たことありますが,"Python"とうたっているところがちょっと新鮮な感じ(笑
Level5からはPythonを知ってないとダメな様子.下記はLevel0〜4まで解いてみたときの個人的なメモです.
後で読むメモ.毎回インタビューが楽しみ.
何を仕入れたか知りたい人はJPEGの中身をチェック(笑

ついに登場したRubyのダークサイド?(違
PDFの資料のP108に
We love Ruby
* Used for our prototypes, leading candidate for msf3* Clean and simple language that is easy to learn* Strong object model, and we use every inch* Library support is decent, often better than Perl* Native Win32 builds, Cygwin as backup* 2.x will stay Perl and continue in parallel
とあるのが興味深いです.id:hiro-tさんところ経由で.
最近,bashを使ってるのもアレだなーと思ってzshを使うようにしてみたり.
とりあえずTABを連打しておけば,状況にあわせて補完してくれるcompsysが素敵ー
$ zsh <-zshを起動 $ autoload -U compinit ; compinit <-compsysの起動.~/.zshrcに書いておいても可
$ killall -T <-ここまで打ってTABキーを押す
-TERM -TRAP -TSTP -TTIN -TTOU
※Tではじまるオプション一覧が表示される
$ killall -TERM <-ここまで打ってTABキーを押す
emacs ps ruby zsh
※killallできるプロセス名一覧が表示される
$ w3m http://www.saba <-ここまで打ってTABキーを押す
$ w3m http://www.sabamiso.net/yoggy/tdiary/
※過去に訪れたことがあるURLならここまで補完される
$ w3m http://www.sabamiso.net/yoggy/tdiary/ <-またここでTABキーを押す
http://www.sabamiso.net/yoggy/tdiary/ http://www.sabamiso.net/yoggy/tdiary/\?date=20050510
http://www.sabamiso.net/yoggy/tdiary/\?date=20050512 http://www.sabamiso.net/yoggy/tdiary/update.rb
※過去に訪れたことがあるURLが表示される
$ svn <-ここまで打ってTABキーを押す
add checkout copy export info merge propdel proplist revert update
blame cleanup delete help list mkdir propedit propset status
cat commit diff import log move propget resolved switch
※後につづくサブコマンドの一覧が表示される
$ svn add <-ここまで打ってTABキーを押す
test1.c test2.c
※ カレントディレクトリがsvn checkoutしたディレクトリの場合,
svn addしていないファイルの候補が表示される
まだリポジトリに入っていないファイルだけをaddの候補として補完してくれる機能は,ちょっと感動してしまった.
$ scp yoggy@dummy.sabamiso.net:/home/yoggy/ <-ここでTABキーを押す
Mail/ bin/ coredumptest/ coredumptest.tgz evidence_locker/ src/ tmp/
※ リモート上のファイル一覧が表示される.
あらかじめ,ssh-agentを動かしおくこと.
試しに,BloglinesでエクスポートしたOPMLをはてなRSSにインポートしてみる…
…あー,Bloglinesの出力するOPMLの中身が文字化けしてるよ.この辺りが関連してるのかな?(;´Д`)
通勤途中のお店でA-DATAのSDメモリカード(1G)が9000円弱で売っていたので購入。
買ってから調べてみたのですが、この辺を見ていると、省電力性はなかなか優れてそうな雰囲気。

こんな感じでグラフを表示してくれるコンソールが追加されている様子.
そのうち,https使ってないから脆弱性がありますよーと素で言い出す人が出てきそうな気がしないでもなかったり…
ブラウザがおちて、途中まで書いていた内容が消えてションボリ。
++age関連でメッセージをいただいていることに今頃気づく罠(汗
メッセージありがとうございました。これからもよろしくおねがいしますーm(_ _)m>メッセージを送って頂いたみなさま
あと、mixiの足あと機能みたいな「アクセス履歴」機能がいつのまにか追加されていてびっくり。
Whats New in version 3:
Sebek version 3 clients help create a more unified view of host and network activity. This is accomplished with the addition of new monitoring techniques:
- Process Tree Monitoring.
- Socket tracking to relate host and network activity.
- File Opening monitoring to identify all files opened by
a process.
近いうちにWIn32版とLinuxのカーネル2.6版がでるかも?ということもあわせて書いてあったのでメモ。
Cで++演算子といえば,前置演算子と後置演算子の2通りの使い方があって,
$ cat test.c
#include <stdio.h>
int main(int argc, char **argv){
int a,b,c,d;
a=b=1;
c=a++;
d=++b;
printf("a=%d b=%d c=%d d=%d\n",a,b,c,d);
return 0;
}
$ gcc test.c
$ ./a.out
a=2 b=2 c=1 d=2
となるのは有名な話です.
後置演算子の場合は変数(式)が評価された後に 変数に1が加えられるので,c=a++と書いた場合は,
という順番で実行されます.
逆に前置演算子の場合は変数に1が加えられた後に 式が評価されるので,d=++bと書いた場合は,
という順番で実行されます.
…で,これを踏まえてage++と++ageの違いを考えてみると,
int age;
age=20;
printf("age=%dです\n",age++);
と書いた場合,結果としてはageは1増えるけれども, printfで表示される(age++)の評価値自体は前のageと変わらないため, 結果として
age=20です
と表示されます.
誕生日を迎えた際に++ageと書かずにage++と一般的に書かれているのは, 実は,
年を取ってしまったが,その心(評価値)は以前と同じ年のまま
という年を取ることを惜しむ気持ちのあらわれなのかな?と考えてみたり. 表現ひとつ取ってもなかなか奥が深い(笑
C++の場合、++演算子はintやlongなどの基本的な型以外にも、 演算子がオーバーロードされていれば使用することが可能です。(例えばSTLのiteratorとか)
後置演算子の場合、
Huge a,b; a=1; b=a++;
というコードがあった場合、b=a++の処理は++を実行する前のaの値を bに代入する必要があるため、一般的には、
Huge tmp = a; a++: b=tmp;
(1)aのコピーを作成。(2)a++を実行する。(3)1で保存しておいたaのコピーをbに代入。 といった感じの流れで処理を行います。
ここで(1)の処理が知らないうちに行われてしまうことが、実はかなりくせ者で、 Hugeクラスのインスタンスが小さい場合はいいのですが、例えば、Hugeクラスの定義が、
$ cat huge.cpp
#include <iostream>
using namespace std;
#define BUFFER_SIZE 10000000
class Huge
{
private:
char *buf;
int val;
public:
Huge() : val(0) {
buf=new char[BUFFER_SIZE];
}
Huge(const Huge &other) : val(other.val) {
cout << "copy constructor!!" << endl;
buf=new char[BUFFER_SIZE];
memcpy(buf, other.buf, BUFFER_SIZE);
}
~Huge(){
delete [] buf;
}
Huge &operator=(const Huge &other){
if (this != &other) {
memcpy(buf, other.buf, BUFFER_SIZE);
val=other.val;
}
return *this;
}
Huge &operator=(const int &val){
this->val=val;
return *this;
}
Huge &operator++(){
++val;
return *this;
}
Huge operator++(int){
Huge tmp(*this); // <-create temporary instance
val++;
return tmp;
}
int getVal(){ return val; }
};
int main(int argc, char **argv)
{
Huge a,b;
a=1;
b=a++;
cout << "a.val=" << a.getVal() << endl;
cout << "b.val=" << b.getVal() << endl;
}
といった巨大データを持つ場合、bに代入する・しないに関わらず、 a++を実行するだけで
Huge operator++(int){
Huge tmp(*this); // <-create temporary instance
val++;
return tmp;
}
の部分で一時的に巨大オブジェクトのコピーが行われてしまいます。
$ g++ huge.cpp $ ./a.out copy constructor!! a.val=2 b.val=1
以上の理由でC++では、予期しない巨大データのコピーを防ぐために ++は前置演算子として使われることが多いみたいです。
個人的にはiTunes関連の機能はどうでもいいのですが,ミラーモードをサポートしているところと,シリアルコンソール用のケーブルが別売りで用意されている点がいいなぁ…
今は自宅ファイルサーバに使っているLANDISKですが,シリアルコンソールが無かったからえらい苦労したような思い出が(笑
近くのヨドバシにならんでいたのでちょっとだけ触ってみました。
W4はW2と比べてドライブの位置が変わっているのと、バッテリ形状がまったく違う物に替わってしまっているのにびっくり。
キーボードを打った感じが前のモデルにくらべてちょっとだけしっかりしているように感じたのは気のせいかな…?
影響があるメーラーについてはJVN#FCAD9BD8を参照。
たとえば、
user1@example.com?bcc=user2@example.com
とmailto:で指定されていた場合、メーラー側でBcc:を非表示にしてしまっていると、ユーザが知らないうちにuser2にもメールを送ってしまいますよーいう話。
以下JVN#FCAD9BD8から引用。
mailto URL scheme については RFC2368 で定義されていますが、この文書の "Security Considerations" セクションにおいて、以下のような指摘がなされています。
- メールクライアントは、mailto URL scheme の記述をもとに作成したメールの全体をユーザに確認させるべきである
- とくにヘッダについては宛先だけでなく、その他のヘッダについても明示的に表示すべきである
- メール配送に関係するヘッダを mailto URL scheme の記述に基づいて設定することは不適切である
一方、いくつかのメールクライアント実装では、メール配送に関係するヘッダを mailto URL scheme の記述に基づいて設定したり、設定したヘッダを明示的に表示しないことが確認されています。
5/27からチケットが発売されているみたいなので、さっそくローソンへ行ってチケットを購入。
Loppi端末で購入するときに、いちいち名前&電話番号をタッチパネルで入力しないといけないのはちょっとダルいよなぁ…と思ってみたり。
FreeMindとSubEthaEditを知らなかったのでメモ。
WikiでFreeMindに近い使いかたができると便利そうだなぁ…。
某イベントに向けて使えるかどうかちょっとだけ調べていたのですが, 使っているうちに自由度が高い分,意外と手間がかかることに気が付いてしまう罠.
とりあえず,
というあたりが,付属のオンラインマニュアルとかGoogleで調べただけではよくわからなかったので, とりあえずAmazonでProgramming Flash Communication Serverを注文.
#本格的にさわれるのは7月に入ってから?(汗
Windows環境で鶴亀を使っているので確認してみたのですが、ちょっと微妙な対応…
以前にも対応がアレという話があったような気がしますが、事の顛末と今後の対応について書いてあるので、今後に期待ということで。
とりあえず、鶴亀メール Version 4.15時点で見つかった脆弱性についてという話もあるので、鶴亀を使っている人は4.16にアップデートしましょう。
Webアプリケーションのテストツール。気になったのでメモ。
Selenium is a test tool for web applications. Selenium tests run directly in a browsers, just as real users do. And they run in Internet Explorer, Mozilla and Firefox on Windows, Linux and Macintosh.
seculoggerさんところ経由で。
チュートリアルを見ながらRailsの勉強をしていたのですが,そのまま
./script/generate controller Friends list display new edit
の実行と,app/views/friends/display.rhtmlを作っていると,なぜか@personがnilになってしまう罠.
とりあえず"display"という名前を別のものにすればいいみたいなのですが, これで3時間ほどはまってしまった…ションボリ
チュートリアルを見ながらRailsの勉強をしていたのですが,そのまま
./script/generate controller Friends list display new edit
の実行と,app/views/friends/display.rhtmlを作っていると,なぜか@personがnilになってしまう罠.
いろいろ調べていると, [rails:109] Re: sqliteでの謎の挙動で指摘されているように"display"という名前を別のものにすればいいみたいなのですが,これに3時間ほどはまってしまってションボリ…
先に0005-RubyOnRailsで紹介されている scaffoldに気づいておけばよかったかな?この仕組みはなかなかお手軽でよさげ(笑
を見ていて,なんだかSteganographyに話が似ているなーと思ってよく考えてみたら,
のような気がしてきたり.
なんとなく音楽ストリーミングを聴いているふりをしつつ,実はmp3の中に別のデータが埋め込まれている状況とかを想像してみるテスト.双方向だったらVoIPとか?(笑
◆ mikl [Rubyで挑戦してる人いたっ。 Level5 は http://www.python.org/peps/pep-03..]
◆ nido [ruby-listに投げて達人の解答例を見たいところだけどネタばれになるか・・。 ちなみにlevel1は text...]