改め Objective Technician

はぐれ技術者のやりたい放題

完全にナメてる

2006-07-11 19:06:41 | ムダ話
宮城野原に行く途中にある歩道橋にかかっている標語。




「社会を明るくする運動」と書いてある。




ツッコミ所満載で意味不明である。











せめて「道行く人々が『おまえ、どこ中?』としょっちゅう聞き合うような明るい社会にするために、『テスト中に試験監督の目を盗んで試験用紙の上に筆箱、シャーペン、消しゴムなどを置き、試験用紙だけ一気に引き抜く』運動をしよう」ぐらい具体的に書かないと分からないじゃないか。


あと15科目

2006-07-10 21:07:29 | 勉強
今日はプログラミング演習Aを300点満点でクリアした。


でも、ポケモンで言うとマサラタウンのオーキド博士のとこでライバルに勝ったぐらいで、あと15科目の敵を倒さなければならない。


明日はいきなり、先取り履修してる生命システム情報学が戦いを挑んでくる。


ポケモンで言うとニビシティでタケシと戦うあたりだ。

ヤツはおそらくsuffic trieとlongest common subsequenceを繰り出してくるからこちらはAho-Corasick automatonとdinamic programmingで備えていようと思う。



しかし、今日工学部の電気系講義棟でカタツムリを、アパートの前でカエルをモンスターボール2つだけでゲットした。

  


こいつら水系ポケモンがいればタケシの岩系ポケモンの弱点を突ける。


もう勝ったも同然だ。

はずれ

2006-07-09 00:58:22 | ムダ話
99shopで買った干し芋がやたら硬かった。



好物なので結構がっかりした。



なんか、乾いたスリッパかじってるみたいだった。


電子レンジで加熱したら過熱して干し芋じゃなくなってしまった。




でもお腹に入れば同じ。

食べられればいいや。


練習日誌

2006-07-08 15:45:35 | 陸上競技
7月6日(Thu)評定 曇 蒸し暑

w-up

ミニハードルでポール走
助走練習、足合わせ

10歩(20m50、グリップ3m80)

c-down


7月8日(Sat)評定 曇 涼

w-up

流し
ポール走

ポールワーク

トライアル
3m20, 3m30, 3m40, 3m50
(8歩助走、15m80、グリップ3m50)


c-down



なんかそれっぽくなってきた。



今日は10歩助走でやるつもりだったけど、まだ安定してなくて8歩のままでやった。


10歩でグリップ上げるとすんごいグニャってなって怖い。


でも良く考えたら、それは軟らかいポール使ってるからだと後で気付いた。


そろそろポール硬いのに換えようか。



仮に、グリップを30cm上げてポールを立てられれば少なくとも3m80は跳べることになるけど、まともにポールの練習始めて2ヶ月ぐらいのがそんな跳んでいいのかと思う。



それでも、今は調子に乗ってる時期だから、記録を伸ばす当てがあるならどんどん試してみていいはず。


何より、今はポールが楽しくてしょうがない。







楽しいからって、調子に乗りすぎて高すぎるとこ握ったり、疲れてるのに跳んだりするとケガする可能性が増えるからムリしないこと。


そうでないと、こんなことになる。


気まぐれサイクリング

2006-07-07 21:12:31 | 自転車
今日5限が終わって青葉山からいつものように帰ろうとしたけれど、ふとファジーな気分になって、ちょっと遠回りして知らない道で帰ってみることにした。



動物園を右折して、適当なとこで左折して坂道を下って行った。



この方向だと長町あたりに出るかな。と思っていたけど、なかなか大通りに出ない。でもずっと下り坂だったから後戻りするのもめんどくさくてそのまま下って行った。



そのうち大通りに出るどころか道は狭くなり、周りは閑静な住宅だらけに。



ちょっと不安になるもまだ下り坂で、どんどん下っていくうちに方角がずれてきていつのまにか向山とは正反対の方向に進んでいた。



迷ったかも。と思い少し焦るもまだ下り坂だからさらにすすむと、ようやく国道286号線に出た。西多賀あたりだった。




結構楽しかった。



今年の夏休みは海沿いの6号線で埼玉まで行ってみようか。





ずっと前からこの24型クロモリに名前をつけてやろうと考えてるんだけど、いいのが思いつかない。


う~ん…

化学Bの先生

2006-07-06 20:13:17 | 勉強
今日の化学熱力学の授業




「…あのCpひくCvがRっていう、なんとかって式……

…なんだっけ?


……まぁいいや。


それが……。」





!!?






もしかして今のギャグ!?





 
他に誰も反応してる様子はなかったし、先生も何もなかったかのようにしゃべり続けてる。




あまりに一瞬の出来事だった。




他に気付いた人はいないのか?




これは偶然か!?



それとも先生は狙って言ったのか?





どっちにしたって、ボケたらボケたでちゃんとつっこまなー!!




Cp-Cv=R
(定圧モル比熱-定積モル比熱=気体定数)

マイヤーの式

まぁいいや

マーイーヤ
マイヤー


最新映画情報

2006-07-05 20:37:19 | ムダ話
橋本通信によると、来月全世界で一斉公開されるという映画情報が今日ハリウッドから到着した。



タイトルは "The Load Of The Ika Rings"。


一度味わうと一生ファジーな気分で過ごせるようになるという伝説のソースを求めて、一つのイカリングを片手に世界中のセブンイレブンを訪ねる主人公フロドと、世界中のイカリングにマヨネーズソースをかけようと企む悪の勢力"ブラックマヨラーズ"との壮絶な戦いをかつてない圧倒的なスケールで描く。はたしてフロドはマヨネーズの誘惑に打ち勝ち、伝説のソースにたどり着くことが出来るのか。



構想8年、総制作費100億円。今世紀最大のファンタジーが全米を震撼させる!



あの大物俳優H.Kさんも絶賛!!
「一つのイカリングにこんなにも情熱を傾けるフロドに涙が止まりませんでした。展開が全く予想できず、驚きの連続で特に伝説のソースが味噌ベースだったと分かったときには、体の奥からなにか熱いものがこみ上げてきました。」























サイレントヒルでもあの宣伝文句があるけど、

しかし全米はすぐ震撼する。

練習日誌

2006-07-04 19:51:25 | 陸上競技
7月4日(Tue) 評定 曇 涼

w-up

流し
ポールワーク
突っ込み

トライアル
3m20 3m30 3m40←練習自己新
(8歩、15m80、グリップの高さ3m40 アップライト40)

12歩足合わせ(21m50)

c-down


突っ込みが安定してきた。
正確に上がれるようになってきた。
ポールと体の間に間隔をとれるようになってきた。


まだグリップ上げられるから3m60ぐらいは跳べると思う。


ただ、バーを掛けると悪い意味で意識が飛んじゃってまた潰れちゃう。

やたら左足がバーに引っかかるけど、それは両足をそろえれば何とかなる。



s井先生曰く、右手でポールを押しながら体全体が伸びるような姿勢が出来るようになると良いらしい。



最後に12歩で走ってみたけど長い。やっぱり今年の七大戦は8歩か10歩にしとこう。



本職の幅跳びに関しては、日本選手権の池田さんを見て、着地を真似してみようと思った。

いままで着地でだいぶ損してたかもしれない。



跳躍はイメージが大事。まずは目標とする動きをしっかりイメージ出来ないと何も出来ない。




↓イメージを間違えちゃった場合。


セグメントエラー

2006-07-03 20:32:43 | 勉強
今日の朝の電気系二号館付近の光景





液化窒素タンクのシューという音とともに水蒸気が凝結してもくもくと…。





きっと、この隣接リストを使ったBellman-Fordアルゴリズムで誰かがヌルポインタに操作を加えたからプログラムがクラッシュしたんだろう。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define F 10000

struct node{
  int code;
  char name[20];
  double rabel;
  double *distance;
  int *link;
  int stanum;
  int root;
  int step;
}*data;

int N;

int datascan(void);
void showdata(int start);
void Bellman(void);

int datascan(void)
{
  int i,j,buf1,buf2,start;
  char buffer[20];
  long loc;
  FILE *fp;
  double dis;

  if((fp=fopen("kanji.txt","r"))==NULL){
    printf("saitan.txt を開く際にエラーが発生しました。¥n");
    exit(1);
  }

  for(i=0,j=1;j>0;i++)
    fscanf(fp,"%d %20s",&j,buffer);

  N=i-1;
  loc=ftell(fp);

  if(fseek(fp,0,SEEK_SET)){
    printf("シークエラー¥n");
    exit(1);
  }

  data=(struct node *)malloc(sizeof(struct node)*N);
  if(!data){
    printf("メモリの確保に失敗しました。¥n");
    exit(1);
  }

  for(i=0;i<N;i++){
    fscanf(fp,"%d %20s",&data[i].code,&data[i].name);
    data[i].code--;
    data[i].rabel=F;
    data[i].stanum=0;
    data[i].step=F;
  }
  if(fseek(fp,loc,SEEK_SET)){
    printf("シークエラー¥n");
    exit(1);
  }


  for(;;){
    fscanf(fp,"%d %d %lf ",&buf1,&buf2,&dis);
    if(!dis)
      break;
    data[buf1-1].stanum++;
    data[buf2-1].stanum++;
  }
  for(i=0;i<N;i++){
    data[i].link=(int *)malloc(sizeof(int)*data[i].stanum);
    data[i].distance=(double *)malloc(sizeof(double)*data[i].stanum);
    if(!data[i].link || !data[i].distance){
      printf("メモリの確保に失敗しました。¥n");
      exit(1);
    }
    data[i].stanum=0;
  }
  fscanf(fp,"%d ",&start);

  if(fseek(fp,loc,SEEK_SET)){
    printf("シークエラー¥n");
    exit(1);
  }

  for(;;){
    fscanf(fp,"%d %d %lf ",&buf1,&buf2,&dis);
    if(!dis)
      break;
    data[buf1-1].link[data[buf1-1].stanum]=buf2-1;
    data[buf1-1].distance[data[buf1-1].stanum]=dis;
    data[buf1-1].stanum++;
    data[buf2-1].link[data[buf2-1].stanum]=buf1-1;
    data[buf2-1].distance[data[buf2-1].stanum]=dis;
    data[buf2-1].stanum++;
  }
  if(fclose(fp)){
    printf("ファイルを閉じる際にエラーが発生しました。¥n");
    exit(1);
  }
  return start;
}

void showdata(int start)
{
  char **buffer,name[20];
  int i,r,n,j,k;

  scanf("%d ",&j);

  for(k=0;k<j;k++){
    gets(name);
    for(i=0;i<N;i++){
      if(!strcmp(name,data[i].name)){
        n=i;
        r=n;
        break;
      }
    }
    if(i==N){
      printf("一致する駅名がありません。¥n");
      exit(1);
    }

    buffer=(char **)malloc(sizeof(char *)*(data[n].step+1));
    if(!buffer){
      printf("メモリの確保に失敗しました。¥n");
      exit(1);
    }
    for(i=0;i<data[n].step+1;i++){
      buffer[i]=(char *)malloc(20*sizeof(char));
        if(!buffer[i]){
          printf("メモリの確保に失敗しました。¥n");
          exit(1);
        }
    }

    printf("%sから%s:%.1lf km¥n",data[start].name,data[n].name,data[n].rabel/10);
    strcpy(buffer[0],data[n].name);
    for(i=1;i<data[n].step+1;i++){
      strcpy(buffer[i],data[data[r].root].name);
      r=data[data[r].root].code;
    }

    printf("path :");
    for(i=data[n].step+1;i;i--)
      printf("- %s ",buffer[i-1]);
    printf("¥n");

    for(i=0;i<data[n].step+1;i++)
      free(buffer[i]);
    free(buffer);
  }
}

void Bellman(void)
{
  int i,j,k;

  for(i=0;i<N-2;i++)
    for(j=0;j<N;j++)
      for(k=0;k<data[j].stanum;k++)
if(data[j].rabel+data[j].distance[k]<data[data[j].link[k]].rabel){
          data[data[j].link[k]].rabel=data[j].rabel+data[j].distance[k];
          data[data[j].link[k]].root=data[j].code;
          data[data[j].link[k]].step=data[j].step+1;
}
}

int main(void)
{
  int i,start;

  start=datascan()-1;

  data[start].rabel=0.0;
  data[start].step=0;

  Bellman();

  showdata(start);

  return 0;
}