読者です 読者をやめる 読者になる 読者になる

minofoto and miscellaneous notes

個人的な備忘録ですが、たまに広く読んでもらいたい記事を書くこともあります。記事は随時修正したり追記したりすることがあります。

カメラの新調?しないかも

ずっと RICOH GXR を使っています。これはこれで孤高のカメラですし、まだまだ使えそうですが、A16 ユニットの AF の遅さとか、起動時や撮影後の遅さなど、いろいろ気になるようになってきました。AFでもサクサク撮れる新しいカメラが欲しいところです。
RICOH の操作性は気に入っているですか、RICOH から新型が出る気配もなさそうですし、他を考えないといけませんね。

フィルム時代はミノルタニコンの一眼レフを使っていましたが、大きくて重い一眼レフは、どうしても持ち運びするのが億劫になってしまうので、どうしても小さいカメラに目がいってしまいます。ミラーレスということからすると、孤高の存在がオリンパスマイクロフォーサーズですね。手振れ補正の技術もトップだと思いますし、フォーサーズ時代からずっと気になっているカメラです。防塵防滴機能も良いレンズもあり、登山に良さそうですね。なぜかこれまで縁がありません。

良いレンズを出している富士フィルムですが、ネットで作例を見るとなんとなく「ピン」と来ないのです。「ベルビア」調のこってりした写真が多いせいでしょうか? 彩度を落とす設定はできるようですが...山の風景を撮ることが多いのですが、レビューで「人物撮影には最高、風景にはちょっと...」というようなことが書かれていることが多いのも気になる点です。

ソニーは、NEX-5 を持ってはいるのですが、買った当初、良いレンズがなくてがっかりしました。今は ZEISS ネームを付した良いレンズが出ているようですが、デカくて重いようですね。とはいえフルサイズのα7はなかなか悩ましい存在です。


GXR を気に入っている理由の一つが、A12 MOUNT の存在です。COSINA-VOIKTLÄNDER のレンズはなかなか他にない味わいがあるので、次もこれらのレンズが使えれば嬉しいところです。

NOKTON classic 40 mm F1.4 はポートレートに最高です。ややクセのあるレンズですが、うまく使えると最高の描写をしてくれます。やや浅い色乗りが上品で、フォーカスがシャープでかつボケが繊細で柔らかい。絞って風景を撮るのもなかなか良いです。


コンパクトな Color-Skopar 21 mm F4 はシャープで色乗りが良いレンズです。陰影描写を上手にすると、人物撮影にもよい雰囲気が出せます。気軽に持ち歩いてスナップ撮影によいですね。



Heliar classic 75 mm F1.8 も NOKTON classic と似た雰囲気の望遠レンズです。この味わいは好きですが、やはり大きくて重いので、持ち出す機会は少なめですね。

宮崎光学の PERAR 28 mm F4 は「ぺら〜る」という名前の薄いレンズです。驚きの薄さですが、ちゃんと写ります。ただ、フードも小さすぎるせいかモヤっと写ることか多いです。ハレ切り必須です。

このレンズたちを生かすとすると、やはり SONY α7II ですかね。ちょっと高いし重そうですね。お金持ちならばオリンパスソニーと両方買っちゃうのにな、と思いながら、結局迷うならどちらも買わないとなりそうな早春の1日です。

Processing3 用の BINGO プログラム

先日なぜか結婚パーティーとやらをやったのですが、まあこんな歳で結婚するからには、友達同士の縁ができるとしてもどちらかというと異業種交流会だよね、という話になり、異業種交流になるようなビンゴゲームを考えました。

参加者それぞれに番号を割り当て、割り当てられた番号が書かれたシールのシートを配ります。話をした人同士シールを交換して、白紙のビンゴカードに貼ってもらい、そのカードでビンゴゲームに参加してもらいました。いろんな人と交流を持ってもらえるきっかけを作るためです。

更に、グループで来ている友人と、ひとりで来てくれた友人が交流できるように、一人できている人には「レアカード」の番号を割り当てました。また、知り合いが1人しかいない人には「準レアカード」を割り当てました。レアカードの番号は、普通の人に比べて7倍出現しやすくしました。準レアカードの番号は、倍率3倍です。これで、レアカードを持っている人と話をするモチベーションが生まれるかと...

そして、倍率可変のビンゴをするために、オリジナルのビンゴプログラムを書きました。
素人でもちょっと凝ったグラフィックが作れるように、Java ベースの Processing という言語で作成しました。

f:id:Room-B:20170303232617j:plain
起動画面。ちょっと楽しい雰囲気にするため、半透明のカラーボールがランダムウォークします。

f:id:Room-B:20170303232637j:plain
番号が出ているところ。既に出た数字は上にリストされます。レアカードは赤で、準レアカードは黄色で表示されます。


プログラムは以下に示します。パラメーターとしてbiased1 にレアカードの番号を割り当て、biased2 に準レアカードを割り当てます。出現レートは bias_rate1, bias_rate2 で設定できます。また、人数に合わせて max_num を設定します。

//BINGO for processing
// 800x600 pixel にも対応する。

// parameters
int max_num = 75;        // max number of bingo

int decorate_num = 20;   // number of balls
int decorate_speed = 30; // speed of ball movements

int font_size = 0;       // display font size; if 0, size is set to defalt depending on the screen size;


// Rare characters  set empty ({}) for both biased1 and biased2 for normal BINGO
int bias_rate1 = 7;        // bias rate of most rare characters
int[] biased1 = {1,2,3};  // most rare characters
//int[] biased1 = {};  // most rare characters
int bias_rate2 = 3;        // bias rate of relatively rare characters
int[] biased2 = {4,5,6,7,8};  // relatively rate characters
//int[] biased2 = {};  /A/ relatively rate characters


// global variables
int mode = 0;    // mode 0: screen intialization; mode 1: BINGO started
int count = 0;   // counter to count until max_num
int current_num = -1;  // number to remember the last number
//boolean[] done = new boolean[max_num+1];

int transition = 0;
int num_display_max;

  boolean overBox;


// objects
class _Ball {
  int x, y;
  int radius;
  color c;
  int margin_x = 0;
  int margin_y = 0;
  int speed;
  
  _Ball() {
    init();
  }
  
  void init() {
    c = color(int(random(30, 145)), int(random(10, 105)), int(random(10, 105)), 105);
    x = int(random(width - margin_x*2) + margin_x);
    y = int(random(height - margin_y*2) + margin_y);
    speed = round(random(decorate_speed/1.2,decorate_speed*1.2));
    radius = round(width/25);
  }
  
  void update() {
    x += int(random(-speed, speed));
    y += int(random(-speed, speed));
    if (x > (width - margin_x)) {
      x -= width - margin_x*2;
    }
    if (y > height - margin_y) {
      y -= height - margin_y*2;
    }
    if (x < margin_x) {
      x += width - margin_x*2;
    }
    if (y < margin_y) {
      y += height - margin_y*2;
    }
  }

  void display() {
    noStroke();
    fill(c);
    ellipse(x,y,radius,radius);
  }
}

_Ball[] balls = new _Ball[decorate_num];


class _BingoTitle {
  String name;
  int size;
  int transition_density;
  
  _BingoTitle() {
    name = "BINGO";
    transition_density = 10;
  }
  
  void init() {
    if (font_size < 1) {
      size = round(width/5);
    } else {
      size = font_size;
    }
  }
  
  void display() {
    textSize(size);
    textAlign(CENTER,CENTER);
    fill(color(transition_density,transition_density,transition_density));
    text(name, 50,100,width-100, height-200);
    transition_density += 5;
    if (transition_density >= 255) {
      transition_density = 255;
      status.stat="press key to start";
    }
  }
}
_BingoTitle title = new _BingoTitle();


// 
class _MainNumber {
  int size;
  int transition_density;
  int N;
  
  _MainNumber() {
  }
  
  void init() {
    int i;
    transition_density = 12;
    
    if (font_size < 1) {
      size = round(width/5);
    } else {
      size = font_size;
    }

    //reset done counter
    //for (i=0; i<=max_num; i++) done[i] = false;
    ShownNumbers.init();
  }
  
  
  void update() {
    transition_density = 12;
    N = biased_random(max_num+1);
    while (ShownNumbers.isshown[N]) {
      N = biased_random(max_num+1);
    }
    //done[N] = true;
    ShownNumbers.add(N);
    display();
  }

  void display() {
    textSize(size);
    textAlign(CENTER,CENTER);  
    fill(color(transition_density,transition_density,transition_density));    

    text(str(N), 50,100, width-100, height-200);
 
    transition_density += 12;
    if (transition_density >= 255) {
      transition_density = 255;
    }
  }
  
} 
_MainNumber MainNumber = new _MainNumber();


// 画面の上
class _ShownNumbers {
  boolean[] isshown = new boolean[max_num+1];
  int size;
  int margin_x = 10;
  
  _ShownNumbers() {
  }
  
  void init() {
    int i;
    
    for (i=0; i<=max_num; i++) isshown[i] = false;
    
    num_display_max = 20;
    if (font_size < 1) {
      size = round(width/30);
    } else {
      size = 40;  //default value;
    }

  }
  
  void add(int num) {
    isshown[num] = true;
  }
  
  void display() {
    int i,j;
    int numbox_size_x, numbox_size_y;
    int offset_x, offset_y;
  
    textSize(size);
    textAlign(CENTER,CENTER);
    numbox_size_x = floor((width - margin_x*2)/num_display_max);
    numbox_size_y = floor(height/10);
    for(i=1; i<=max_num; i++) {
      fill(#101010);
      offset_x = (i-1 - round((i-1)/num_display_max)*num_display_max)*numbox_size_x + margin_x;
      offset_y = int((i-1)/num_display_max)*numbox_size_y;
      text(str(i), offset_x, offset_y, numbox_size_x, numbox_size_y);

      if (isshown[i] && (i != MainNumber.N)) {  //show color for biased numbers
        fill(#B0A0D0);
        for (j=0; j<biased2.length; j++) {
          if (i == biased2[j]) {
            fill(#E8E8A0);
          }
        }
        for (j=0; j<biased1.length; j++) {
          if (i == biased1[j]) {
            fill(#F88090);
          }
        }
        text(str(i), offset_x, offset_y, numbox_size_x,numbox_size_y);
      }
    }
  }

}
_ShownNumbers ShownNumbers = new _ShownNumbers();

class _Status {
  String stat = "";
  int size;
  
  _Status() {
  }
  
  void display() {
    size = round(width/50);
    textSize(size);

    textAlign(CENTER,CENTER);
    fill(64,64,64);
    text(stat, width*2/3,height*4/5, width/3,height/5);
  }
}
_Status status = new _Status();



class _Config {
  int ButtonX0, ButtonX1, ButtonY0, ButtonY1;
  color col;
  
  _Config() {
  }
  
  void init() {
    ButtonX0 = 10;
    ButtonX1 = 30;
    ButtonY0 = 500;
    ButtonY1 = 530;
    col = color(255,255,255,128);
  }
  
  void pressed() {
    col = color(255,255,0,128);
    fill(col);
    rect(ButtonX0, ButtonY0, ButtonX1-ButtonX0, ButtonY1-ButtonY0);
  }
  
  void display() {
    fill(col);
    rect(ButtonX0, ButtonY0, ButtonX1-ButtonX0, ButtonY1-ButtonY0);
  }
}
_Config config = new _Config();





int biased_random(int max){
  int rand_number;
  int bias1_threshold = biased1.length*bias_rate1;
  int bias2_threshold = biased2.length*bias_rate2;

  rand_number = int(random(1, max+floor(bias1_threshold + bias2_threshold)));
  if (rand_number >= max + bias1_threshold) {
    rand_number = biased2[int((rand_number-max-bias1_threshold) / bias_rate2)];
  } else if (rand_number >= max) {
    rand_number = biased1[int((rand_number-max) / bias_rate1)];
  }
  return(rand_number);
}

void update_balls() {
  int i;

  fill(#000000);
  rect(0, 0, width, height);
  for(i=0; i<decorate_num; i++) {
    balls[i].update();
    balls[i].display();
  }
}


void keyReleased() {  
  //if (transition >= 255) {
    mode=1;
    if (count<max_num) {
      status.stat="";      
      update_balls();

      MainNumber.update();
      ShownNumbers.display();
      count++;
    } else {
      mode=2;
      status.stat="finished";
    }
  //} else {
  //  textSize(40);
  //  textAlign(CENTER,CENTER);
  //  text("wait", width/2,height-150,500,100);
  //}
}

void mousePressed() {
  if(overBox) { 
    config.pressed();
  } else {
  }
}

void draw() {
  update_balls();
  //config.display();
  if (mouseX > config.ButtonX0 && mouseX < config.ButtonX1 && 
      mouseY > config.ButtonY0 && mouseY < config.ButtonY1) {
    overBox = true;  
  }
    
  switch (mode) {
    case 0:
      title.display();
      break;
    case 1:
      MainNumber.display();
      ShownNumbers.display();
      break;
    case 2:
      MainNumber.display();
      ShownNumbers.display();
      //status.display();
      break;    
  }
  status.display();
}

void setup() {
  int i;
  
  // setting up the screen;
  fullScreen();
  //size(800, 600);
  frameRate(10);  // speed of the balls can be regulated by this parameter.
  background(#000000);
  
  count=0;
  
  //create and initialize balls
  for (i=0;i<decorate_num;i++) {
    balls[i] = new _Ball();
  }

  title.init();
  MainNumber.init();
  //ShownNumbers.init();
  config.init();
}

マウスで操作できるコントロールパネルも実装しようとしかけて挫折した痕跡がコードに残っていますが、気にしないでください(笑)。

感想を聞いていませんが、皆さん楽しんでくれたと信じています。
いろいろとありがとう!

大雪山白雲岳登山

今更ですが、写真をぼちぼち整理しています。

7月に北海道に来て、まずは大雪山後方羊蹄山に登りたいと思っていましたが、ヒグマの事情が分からないので、できれば地元の方に案内してもらいたいと思っていましたが、ちょうど、8月14日のお盆休みにちょうど地元の人に大雪山に連れて行ってもらうことができました。車で銀泉台まで行き、そこから赤岳、白雲岳と登りました。

今年は雪解けが遅かったらしく、8月にしては雪も多く、花も多かったようです。下の写真はウサギギク。南アルプスに昔登ったときに名前を覚えたかわいい花です。



雪渓とお花畑のコントラストや、たくさんのチングルマを楽しむことができました。


コマクサも、ややシーズンを過ぎた頃でしたが、まあまあ咲いていました。


こんな夏の稜線歩きは極楽ですね。


白雲岳山頂からは、雪をたたえたカール地形が圧巻です。雪渓というか、いわゆる氷河地形ですね。


アイヌの言葉ではカムイミンタラ(神々の遊ぶ庭)というのだそうです。なるほど、ですね。

天候にも恵まれた最高の山旅でした。下山後層雲峡で温泉を楽しみました。

中国

半年ほど経ってしまいましたが、中国出張は非常に興味深かったです。
若い学生のパワーとマナーの良い都会人が印象的な旅でした。
ようやく写真を少しだけ整理したので載せてみます。

もはや長征五号を打ち上げるような科学技術大国です。

オータムフェスト

札幌の大通公園では、いつも何かのイベントが開かれている感じです。秋はオータムフェスト

ゆりねのモンブランという変わったお菓子。


満月も綺麗でした。

OpenStreetMap の地図メモ (notes) に私が対応している方針

私が OpenStreetMap の地図メモに個人的にどう対応しているかの方針を書いてみます。あくまで趣味でやっているので、自分もこの方針をきちんと守れている保証はありません。また、このことについて、他の方とちゃんと話し合ったことはないので、異論反論、その他のご意見を頂けると嬉しいです。

(この記事は OpenStreetMap の編集をしている方、そして地図メモを書きたい方向けに書いています。)

  • 地図メモの中で明らかな間違いや意味がないものは削除
  • 現地確認できるものは、必ず現地を確認してから地図を編集する
  • 明らかな間違いという保証がないもの、かつ、現地確認できないものは放置
  • 例外もあり
地図メモの中で明らかな間違いや意味がないものは解決

地図メモには、"test"、何も記載されていない場所に作られた "間違いです"、"自宅"、"集合場所" といった明らかに意味のないものが非常にたくさんあります。 "test" だけのものはロシアの方が管理しているとおぼしき bot によって定期的に自動削除されますが、その他の明らかに意味のないメモは、気がついたら黙って「解決済み」としています。「自宅」「集合場所」などのメモは、おそらくそのメモが自分にしか見えないと誤解した方が作成しているのではないかと思っています。

また、すでに OpenStreetMap に POI が登録されているにもかかわらず、作られたメモも解決済みとしています。「入力済み」"Already entered" などとコメントして解決することも多いです。最近は MAPS.ME によって地図の編集に加えて地図メモも残される方が結構いるので、地図メモの方が完全に重複していて新たな意味がない場合は解決済みとしています。

ただし、ログインした状態で作られた(匿名でない)地図メモには、解決済みとする理由を説明するようにしています。できるだけコミニュケーションを取ることは、コミュ二ティのために大事ですからね。

現地確認できるものは、必ず現地を確認してから地図を編集する

OpenStreetMap の編集者はライセンス条項に同意しているという前提になっていますが、特に匿名の地図メモの作者は、ライセンスに同意している保障がありません。実際に多くの地図メモを見ていると、Google Map や Bing Map を見て引き写したと思われるものが多数存在しています。明らかにそう明記されているものは削除していますが、そうでないものでも、地図メモをそのまま地図に書き写すことは危険だと思っています。

少なくとも私自身は、現地確認できない地図メモは OpenStreetMap に引きうつさないようにしています。例外は、他国語表記で、その場所を知らなくても、外国人旅行者が書いたと思われる地物名の外国語表記は、翻訳を確認の上で name:xx="yyyyy" などと記載することがあります。

明らかな間違いという保証がないもの、かつ、現地確認できないものは放置

当たり前のことですが、自分が万能だとは思っていません。だから、わからないものはなるだけそのままにしておきます。わかる方がいつかどこかで解決してくれるはずです。

例外もあり

地図メモを作られた方が匿名でない時は、その方のプロフィールや編集履歴を見ることがあります。最近編集を始めた初心者っぽい方の場合、あえて地図を編集して修正したりせず、地図メモのコメントとして編集方法をさりげなく解説してみたりすることもあります。自分が編集を始めたときは、何もないに等しい状態だったので、いろいろ試行錯誤ができましたが、今編集を始める方にとって、編集したら厳しいツッコミが来る世界は何ともモチベーションを下げる原因となるだろうと思います。とりわけネット上での指摘は厳しくなりがちです。だから、さりげなく観察して、そおっとコメントするように心がけています。(それでも失礼に思われたらごめんなさい。)新しい方を育成できないコミュニティは潰れるだけですからね。

そういうメモに対して、わざわざ編集しないなんて、という意味のネガティブなコメントを返す方がたまにいます。心外ですけど、それもまたそおっと観察しておくことにしています。

私もbotではないので、気分で上記のような対応をしていないこともあります。すみません。



以上、ちょっと気になることがあったのでざっと書いてみました。こういうことは SotM などのイベントに行っていろんな方の意見を聞いたほうがいいんでしょうね。時間があったら参加してみたいです。とりあえず twitter やコメントなどでのご指摘歓迎します。


追記

とはいえ、最近地図メモが多すぎて、意味をなさないものが多いのは事実です。facebook などから流入しているとおもわれる住所だけを記入したメモもなんとかした方がいいのかもしれませんね。どのみち住所データついてはなんらかの公的データからのインポートがないと解決できなさそうですし。このあたりについては国際的な議論を追っていないので、私は静観しておきます。

山の日は近郊へ

山の日は、郊外の札幌岳に登ってみることにしました。
f:id:Room-B:20160813124823j:plain

市内から車で30分とのことですが、道が混んでいて、1時間くらいかかりました。
9時50分に冷水(ひやみず)登山口から登山開始。


最初は冷水谷の水音を聞きながら比較的平坦な道を歩きます。谷沿いで涼しいとはいえ、8月の低山は汗びっしょりです。


ダケカンバの林が美しい。


冷水谷は紫陽花が盛りでした。蜂が蜜を集めています。

1時間程度で冷水小屋へ。名前の通り、冷たい水が出ていますが、そのままでは飲めないようです。

そこから登りが始まり、1時間程度で山頂です。登山道はひたすら林の中を歩き、展望はほとんどありませんが、標高 1293 m の山頂からは展望が楽しめました。


左がニセコアンヌプリ、右が後方羊蹄山(しりべしやま)つまり良く羊蹄山(ようていざん)と呼称される山です。しりべしというのは、アイヌ語から来ているのかと思っていましたが、これは日本書紀に由来する日本語のようです。アイヌ語ではマッカリヌプリだとか。


山頂からは札幌市内が良く見渡せます。



森の中には、ほんのり色づきかけたナナカマドも。


下山後は温泉へ。こちらは温泉が豊富で、各地にいろんな温泉があります。源泉掛け流しの豊平峡温泉は、カルシウム成分が析出しているとろりとした感触の温泉で、ゆったりできました。

米国のような街

こちらに来て、碁盤目の街並み、広い道路、雪の対策がされた家々の入り口など、まるで米国のような街並みだと感じました。
それもそのはず、"Boys be ambitious" と言ったウィリアム・クラーク博士を始め、街づくりにかかわった多くの人が、米国人の知識人だったらしく、最初から米国風の街づくりがされたようです。気候も米国北部と似ていますし、なんだか懐かしい感じです。

車の運転もおおらかで、せかせかした東京とは違います。郊外だと雑然と花が咲いているのも良い感じです。

朝晩は風もあって肌寒いくらいですが、さすがに、昼はちょっと暑くなってきました。エアコンがない家に住んでいますが、温暖化の昨今、エアコンはあった方がいいのかもしれませんね。

恵那山(2)

f:id:Room-B:20160717100245j:plain
恵那山(1)の続きです。

神坂峠から恵那山への縦走路には、こんな紫の花がたくさん咲いていました。

調べたけど種類が分かりません。


鳥越峠を越えて、大判山に着く頃には、雲が厚くなってきました。晴れていたら眺めが良さそうな山頂ですが、天候が心配になってきました。


とはいえ、こういう湿っぽい雰囲気は好きな風景のひとつです。うっすらと雲海のようになっています。


岩質はややもろい火山岩風の岩石で、あまり見たことがない地質だな、と思って歩いていましたが、流紋岩や溶結凝灰岩という岩のようです。溶結凝灰岩というのは、火砕流が凝固した岩ですね。ところどころ崩れ落ちているので、結構怖い場所もあります。大雨が来たらいつ縦走路が崩れ落ちてもおかしくない感じ。ひょっとすると道が宙に浮いていて、足元の下はえぐれ落ちているのではと疑うくらい、崩れ落ちたガレ場のギリギリに道が付いている場所もありました。


山頂付近はこのような急登です。そして祠が現れます。この古くから登られてきた信仰の山であることが、深田久弥百名山に選んだ大きな理由の一つですね。


一ノ宮はこのルートではなく、途中で合流する別ルートにあるらしく、二ノ宮から始まり、三、四、と続きます。


中津川市が管理している山小屋が山頂付近にあります。結構立派な山小屋ですが、営業はしておらず避難小屋扱いです。

木花咲間姫が祀られた五ノ宮、一言主大神の祀られた六ノ宮に続いて、イザナギイザナミが祀られた山頂本社です。

とはいえ、信仰登山者でない現代の我々は、標高が書いてあるこちらに山頂らしさを感じてしまいますが。

雲も厚くなってきて、樹木も茂っているので、展望はあまり楽しめませんでしたが、久しぶりの二千メートル峰を満喫しました。

帰路は同じ道を帰りました。途中で雨も降り出し、ずぶ濡れになって温泉へ。前日宿泊したので、今日も無料で温泉に入ることができました。この山を最後に、しばらく本州の山々はお預けとなりました。

恵那山(1)

書き留めるのが遅くなってしまいましたが、5月の連休は恵那山に登ってきました。

恵那山は深田久弥日本百名山に数えられている2千メートル峰ですが、中央アルプスの南端にある比較的地味な山です。でも、この山は一度登ってみたかった。というのも、これは故郷からよく見える山だったからです。学校をサボってこの山のスケッチをしていた若かりし頃が忘れられません。

連休に帰省するついでに、中央線で中津川に向かいました。

快晴の中、中央線の車窓から見える南アルプスの山々が美しい。5月にしてはやや雪が少なめですね。

中津川駅近くの「わくり」というお店でお昼に。美味しいお蕎麦でした。駅に戻って送迎バスで中津川温泉へ。温泉と言っても、公営の立派な日帰り温泉施設とホテルが一軒だけ。このホテル花更紗に宿泊しました。ホテル付近を散歩すると、寒村の中にある立派な神社の丘から、懐かしい恵那山の優しい稜線がよく見えました。



翌朝は早起きして、ホテルの朝食の代わりにお弁当を作ってもらい、タクシーで標高 1569 m の神坂峠(みさかとうげ)に向かいました。5月6日の天気予報は晴れのち雨。雨が降り出す前に帰ってきたいと、早出をすることにしたのでした。


神坂峠から穏やかな稜線の道でした。こういう稜線を歩くのが、縦走の楽しみですね。


霧ヶ峰の方面もよく見えていました。

続きます

引越しは〇〇の予行演習

転職して北海道に引っ越すことにしました。

f:id:Room-B:20160619172822p:plain

こんな歳になってよくやるね、などと言われますが、これは仕方がないことなのです。元々が終身雇用の職ではなかったので、事情を知っている人には「なぜここでそんなに長く居られるの?どんな裏技使っているの?」と言われる状態でした。実際、人事からは早く出て行けと内々に言われてましたので、上にお借りしたいらすとやさんのリストラのイラストも、まんざら的外れではありません (^^;;
どちらにせよ、あと20年くらいは働かないといけないでしょうから、またいいタイミングだろうと思っています。こんな歳で転職先が見つかるのも、なかなかないことですし、これも何かの縁でしょう。


とはいえ、まだ今の職場でやった仕事が中途半端に残っています。それをやる義務はありませんが、せっかくなので、ひとつの作品として完成させたいという気持ちもあり、転職後もその仕事を家ですることになります。

そういう事情もあり、職場の資料も全部引き継ぎとか、全部処分というような単純なものではありません。引き継ぐ資料、不要な資料、自分が持って帰る資料を分類していました。やりかけていたけどもうできなくなった仕事の資料を処分するなどして、10年以上働いた軌跡を整理していると、父の死後に書斎の片付けをしたことをついつい思い出してしまいます。

元々片付けは苦手です。できることなら捨てずに取っておきたいという感情は、まだ戦後のもののない時代を生き抜いてきた親が何かと「もったいない」というのを見てきたからでしょう。それを思い切って捨てるのは、爽快感と同時にもの悲しい気持ちになります。でも自分が死ぬ時は、もっともっと身の回りを整理しておきたいので、まるでこの引越しの片付けは死の予行演習のように思えてきます。

とはいえ、それは不吉な意味ではなく、仏教の「さとり」みたいなものですね。

いろんなグループでいくつも送別会をしていただき、とても嬉しく思っています。(まだこれからもありますが)

益子焼を買いに行きました

連休も仕事が入りそうで直前まで予定が決まらなかったのですが、なんとか時間が取れて、ふらりと益子に行ってきました。連休中は陶器市が開かれ、かなりの人出です。朝早く出たにもかかわらず、駐車場を探すのに苦労しました。

いろんな店を回って、悩みながらコーヒーカップ、湯のみ、お皿、スープ皿などを買いました。

一番印象的だったのは、前田美絵さんの作品。テントで出店している若い作家さんですが、この湯のみがいいなと見ていたら、使っていくとこのように貫入が入って色合いも変わってきまよ、と見本を見せてくれました。その変化が今から楽しみです。

登り窯を見学したり、益子焼の器でコーヒーを飲んだりして一日楽しみました。

高水三山

気軽な山に行こうと思い、高尾山よりはもう少しだけ登りがいのある奥多摩の高水三山を歩いてきました。

というのも、ひょんなことから 120フィルムを5本セットで買ってしまったので、どこかで使わなきゃ、という本末転倒な理由からです。このフィルムが入るカメラは、古い2眼レフ、かなり重いカメラです。

遅い山の桜を楽しみながら、歩きました。

久しぶりに使ったカメラは、フィルムの装填が悪かったらしく、コマずれを起こしていましたが、なんとか撮影できていました。良いスキャナーがないので、仕上がったポジをライトテーブルに載せて、デジタルカメラで接写してみました。

さよなら


ひとりの夜には、ケージから脱走したきみがやってきて、そのあたりにおしっこしてくれたりしたよね。


もらいもののみかんの袋に侵入して、気がついたら甘いやつから食べてたよね。


疲れて帰ってくると、「俺に何かくれ」とバタバタ騒ぎ立てていたよね。空腹と疲れでちょっとイライラしながらも、トイレを掃除し、牧草を追加してたな。

歳とともに、落ち着いて撫でられるのが好きになってきてたよね。

きみはもういない。今までありがとう。さよなら。

骨格を問う

写真家 Ken Roockwell 氏のこのコラム What Makes a Great Photograph を読んでいます。良い写真を撮る秘訣は、カメラについて良く知ることではない。撮影の設定は、今やカメラがオートでやってくれるのだから、ややこしいことは考えずにとにかく構図だけを考えろ、構図こそが全てだ、と要はそういうことを熱く語っています。

この熱さがなかなか面白い。

「強い構造 (structure) を持った写真だけが人を惹きつける」
「技術的なごちゃごちゃしたことを覚えても無駄だ。今やカメラが全てやってくれる」
「力強い文法的な秩序 (strong underlying compositional order) を備えていなくてはならない。そうすれば遠くから見ても人を惹きつけることができる」

このことは、写真だけにあてはまるわけではないような気がしてきました。特に世界的に通用する何かを作り出そうとするときは、まずこの "structure" "order" が問われるような気がします。機械に任せられるところは機械に任せ、専門家に任せられるところは専門家に任せて分業する。そしてしっかりした骨組みを作ることに力を注ぐ。我々は細かな職人芸に走りがちですし、それも大切ですが、こういうのは西洋的な考えなのかもしれません。

とはいえ、しっかりした骨組みを組み立てるのは難しいですね。そんなことを考えながら、道端のたんぽぽを撮ってみましたが、修業が必要です。