買ってしまうと他のことが出来なくなってしまいそうなので、我慢している。
真・女神転生 STRANGE JOURNEY(ストレンジ・ジャーニー)アトラス / ¥ 6,279 (2009-10-08)
一時的に在庫切れですが、商品が入荷次第配送します。配送予定日がわかり次第Eメールにてお知らせします。商品の代金は発送時に請求いたします。
買ってしまうと他のことが出来なくなってしまいそうなので、我慢している。
真・女神転生 STRANGE JOURNEY(ストレンジ・ジャーニー)08102009 music
そういえば2002のmetamorphoseはtechnasia目当てでいったのだけど、朝方だったので、疲れてテントで寝ながら聴いてたのであった。
個人的にはcode redの曲とか入ってるPLUSとかいうmix albumのほうが好き。
08102009 music
2002年にふらっと行った(ふらっと行ける距離に住んでた)metamorphoseで衝撃を受けたのが、ROVOだった(あとhifana)。U隊長も衝撃を受けたようで、それから半年くらいは、ずっとROVOメインで聴いてたような(今はcalmみたいだけど)。
できればライブで聴くのがよい。さらにはraveで。日本ランドの時は日が落ちたところにあのスペーシーさにやられたんだったけな。
08102009 Linux
シグナル
#include <stdio.h>
#include <signal.h>
#define INPUTLEN 100
int main(int ac, char *av[])
{
void inthandler(int);
void quithandler(int);
char input[INPUTLEN];
int nchars;
signal( SIGINT, inthandler );
signal( SIGQUIT, quithandler );
do {
printf("\nType a message\n");
nchars = read(0, input, (INPUTLEN-1));
if ( nchars == -1 )
perror("read returned an error");
else {
input[nchars] = '\0';
printf("You typed: %s", input);
}
}
while( strncmp( input , "quit" , 4 ) != 0 );
}
void inthandler(int s)
{
printf(" Received signal %d .. waiting\n", s );
sleep(2);
printf(" Leaving inthandler \n");
}
void quithandler(int s)
{
printf(" Received signal %d .. waiting\n", s);
sleep(3);
printf(" Leaving quithandler \n");
}
実行してみる
Type a message
^C Received signal 2 .. waiting
^C^C^C Leaving inthandler
Received signal 2 .. waiting
Leaving inthandler
macbookでやってみると二番目のシグナルはブロックされて、三番目以降のシグナルは無視される。
07102009 life
07102009 music drum'n'bass
06102009 music
自分のitunes掘ってたらみつけた。
特にMAWのremixが好きだけど全部よいですな。
06102009 Linux
interval timerを使うと定期的にシグナルを送れる。
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <signal.h>
int main()
{
void countdown(int);
signal(SIGALRM, countdown);
if ( set_ticker(50) == -1)
perror("set_ticker");
else
while( 1 )
pause();
return 0;
}
void countdown(int signum)
{
static int num = 10;
printf("%d ..", num--);
fflush(stdout);
if ( num < 0 ){
printf("DONE!\n");
exit(0);
}
}
int set_ticker( int n_msecs )
{
struct itimerval new_timeset;
long n_sec, n_usecs;
n_sec = n_msecs / 1000;
n_usecs = ( n_msecs % 1000 ) * 1000L;
new_timeset.it_interval.tv_sec = n_sec;
new_timeset.it_interval.tv_usec = n_usecs;
new_timeset.it_value.tv_sec = n_sec;
new_timeset.it_value.tv_usec = n_usecs;
return setitimer(ITIMER_REAL, &new_timeset, NULL);
}
sleepは秒単位だけどusleep使えばmicrosecondで一時停止できる
05102009 Linux
端末に関して、カノニカルモードとかノンブロッキングとか。あとシグナル処理。
端末を非カノニカル(cr)モードにするには
ノンブロッキングモードにするには
04102009 Linux
端末ドライバのプログラミング。
writeなんてコマンドがあるのか。
ioctlシステムコールにはほとんど触れてない。