2015/08/23

コンタクトレンズをインターネットで買ってみた

サッカーするときに使ってるワンデイのソフトコンタクトレンズが切れそうだっだので, ネットで注文することに. 今回は,以前Yさんに教えてもらった LENSBEST で.

レンズの種類はいろいろあるけど,日本でも見たことある 1-Day Acuvue で. 届いたパッケージに日本語の注意書きもあったので,多分日本にも輸出されている ものと同じものかと. BC と パワーは,以前のものと似たようなパラメータで.

注文したのが木曜日の夜で,届いたのが土曜日.なかなかスピーディー. 出荷のメールとかも来たので,なかなかいい感じでした.

次回もまたここにしようかな.

2015/06/28

Raspberry pi をメディアおよびバックアップファイルサーバ的に使う

Raspberry pi

Rspberry pi にUSBハードディスクを接続して,Mac の time machine のディスクと したり,Linux マシンのバックアップディスクとしたり,UPNP メディアサーバとしたり する計画.

Insttall

本体のインストール.今回はRASPBIANで.

  1. micro SD にコピーするイメージを https://www.raspberrypi.org/downloads/ から ダウンロード.
  2. ダウンロードしたイメージファイルを解凍して,micro SD にコピー. https://www.raspberrypi.org/documentation/installation/installing-images/linux.md
  3. micro SD カードをスロットに挿して起動.イーサネットケーブルを接続.IP アドレスがDHCPによって設定されるはずなので,(当てずっぽうに)ssh で接続.
  4. Raspberry pi の設定.raspi-config
  5. デフォルトエディタの設定.sudo update-alternatives --config editor
  6. Firmware のアップデート.再起動 sudo rpi-update
  7. sudo apt-get update; sudo apt-get upgrade 必要なら再起動.
  8. ユーザの設定. uid と gid もなんかうまくやっておくと,あとでNFSを使うときに便利かも.

HDD の接続と設定

USB HDDを接続して,mount する設定.

まず,ディスクの UUID を調べる.

$ sudo lsblk
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="15CD-3B79" TYPE="vfat" 
/dev/mmcblk0p2: UUID="13d368bf-6dbf-4751-8ba1-88bed06bef77" TYPE="ext4" 
/dev/sda1: LABEL="time_machine" UUID="b25dd4f7-9c17-4d3a-8dd2-3837a6f6acc6" TYPE="ext4" 
/dev/sda2: LABEL="backup" UUID="eae3badb-d4f3-4fd7-922a-0e1d437f8006" TYPE="ext4" 
/dev/sdb1: LABEL="MEDIA" UUID="AFB6-9DF4" TYPE="vfat" 

マウントポイントを作成して,/etc/fstab の編集.

UID=AFB6-9DF4  /mnt/media vfat codepage=932,iocharset=utf8,uid=1000,gid=1000 0 0
UUID=b25dd4f7-9c17-4d3a-8dd2-3837a6f6acc6 /backup/time_machine ext4 defaults 0 0
UUID=eae3badb-d4f3-4fd7-922a-0e1d437f8006 /backup/linux ext4 defaults 0 0

netatalk

Mac OS から接続したり,Time Machine ディスクとして使うための設定.

sudo apt-get install netatalk

/etc/netatalk/AppleVolumes.default を編集.

/mnt/time_machine "Time machine" options:tm allow:tanahiro
/mnt/media "media"

NFS

Linux からディスクをマウントするため.

サーバ

Rasbperry pi にNFSサーバをインストール.

sudo apt-get install nfs-common nfs-kernel-server

/etc/exports を編集.

/backup/linux linux(rw,sync,no_sbtree_check)

ブート時にサービスを起動させる.

sudo update-rc.d rpcbind enable
sudo update-rc.d nfs-common enable
sudo update-rc.d nfs-kernel-server enable

クライアント

サービスのインストール.

sudo apt-get install nfs-common

/etc/fstab の編集.

raspi:/backup /backup nfs defaults 0 0

参考

MiniDLNA (UPNP/DLNA)

サービスのインストール.

sudo apt-get install minidlna

コンフィグレーションファイル, /etc/minidlna.conf の編集.

media_dir=V,/mnt/media

コンフィグレーションファイルのリロード.

sudo service minidlna force-reload

参考

HDD の回転数

ついでに,HDD が使われていない時に回転を止めるようなスクリプト.

sdparm

ツールのインストール.

sudo apt-get install sdparm

スクリプト

INTERVAL 秒ことにディスクの状態をチェックして,もし変化がなければ spindown.

#!/bin/sh

if [ $# -lt 2 ]; then
  echo "usage: usbhdd_spindown.sh [UUID] [INTERVAL]"
  exit 0
fi

disk=`findfs UUID="$1"`
if [ -z $disk ]; then
  echo "could not find UUID $1"
  exit 0
fi
disk=`echo "$disk" | sed -e "s@/dev/@@"`

interval=$2

state=`grep " $disk " /proc/diskstats`
count=$interval
sleep_time=20
up=1

while [ true ]; do
  sleep $sleep_time
  count=$(($count - $sleep_time))
  newstate=`grep " $disk " /proc/diskstats`

  if [ "$state" = "$newstate" ]; then
    if [ $count -lt 0 ]; then
      count=$interval

      if [ $up -gt 0 ]; then
        sync
        state=`grep " $disk " /proc/diskstats`
        sdparm --readonly --command=stop /dev/$disk > /dev/null 2>&1
        up=$?
      fi
    fi
  else
    count=$interval
    state="$newstate"
    up=1
  fi
done

/etc/inittab に起動時に実行するように記述.

# spindown usb hdd
USR0:2:once:/usr/local/bin/usbhdd_spindown.sh AFB6-9DF4 120

参考1 参考2

2015/02/15

Cygwin の再インストール

最近の Cygwin はSetup.exe のバージョンが上がるとなんかいろいろ壊れる(気がする)ので,とりあえず簡単にパッケージを再インストールする方法.

パッケージリストの作成

Cygwin 上ででインストールされているパッケージのリストを作る.
cygcheck -c -d | sed -e "1,2d" -e 's/ .*$//' > packagelist

Cygwin とパッケージの再インストール

setup(-x86_64).exe に -P オプションでパッケージのリストを渡す. 以下は,rubyのスクリプト.

unless ARGV.size == 2
  puts "usage: #{File.basename($0)}  "
end

setupexe = ARGV[0]
pkglist  = ARGV[1]

packages = File.open(pkglist).read.split.join(',')

system("#{setupexe} -P #{packages}")
これで,インストーラが,パッケージが選択された状態で起動するので,そのままインストール.

参考

2014/11/09

evernote_uplooder を作ってみた

最近 Evernote の有料会員になったので,がしがし色々ファイルをアップロードしよう と企んでいるのだけど,ひとつずつ Evernote のクライアントでアップロードするのも 面倒なので,コマンドラインからノートを作ってファイルをアップロードするスクリプ トを作ってgem化した.

evernote_uploader

rubygems にはあげてない.ソースは https://github.com/tanahiro/evernote_uploader. ここからダウンロードして,rake install でインストール可能.

準備

まず, https://www.evernote.com/api/DeveloperToken.action にアクセしてEvernote のトー クンを作る.それを,.evernote-tokenというファイルに貼り付けて,HOME に保存 する.

使い方

evernote_uploader [options] <files>
  options
    -n, --notebook NOTEBOOK          Name of notebook (default: web clip)
    -t, --title TITLE                Title of the note
    --token TOKEN                    Token for evernote or filename
    --tags TAGS                      Tags

ファイルは複数指定可能.すべてのファイルはひとつのノートに添付される. 今のところ,対応しているファイルは,pdf, epub, mobi, jpg, png のみ. (まぁ,これはMIMEのタイプの指定の問題なので,拡張は簡単かも)

指定したノートブックが存在しない場合は,エラーで止まる.

タグも複数指定可能. --tags tag1,tag2 のように指定する.

2014/07/15

World cup 2014 Brazil

ワールドカップも終わってしまったので,印象に残ったことなんかをつらつらと.

ドイツ優勝

いやー,めでたい.ドイツ在住者として,やっぱりドイツは気になるわけですよ. 98年にクロアチアに 0-3 でボロ負けしてから,特にワールドカップではもう少しのとこ ろまでいくけど優勝には手が届かなかったのに,ここに来てようやく.

  • ノイアー:特にアルジェリア戦での守備範囲の広さに驚きを通り越して呆れたという かなんというか.ディフェンス並みにスライディングタックルまでやったり. ハイボールに対する安定性は相変わらず.

  • クローゼ:ワールドカップ通算得点記録を更新.しかもそれまでの記録保持者のロナ ウドも観戦するブラジル戦で.1戦目と2戦目は途中出場だったけど,3戦目からスタメ ン.ジョーカー的な方が活躍できるかなと思ったけど,決勝は88分まで出場する活躍 ぶり.今大会2得点だったので,どうせならもっと取れてれば,と思ってしまうのは贅 沢ですかね.

  • ボアテング:ボアテングのディフェンスはあんまり安心できない印象だったし,どこ に出してるのかよくわからないパスも多かったのだけど,決勝のディフェンスは最高 でした.特に前に出て行くディフェンス.お見逸れしました.

  • ラーム:相変わらずの安定ぶり.ボールは取られないし,1対1は負けないし.

  • エジル:あんまり調子が上がってない印象.ブラジル戦の立ち上がり,球際負けまく っててどうなりかと思った.もっとシュート打ってもよかったのでは?ディフェンス 頑張りました.

  • クロース:レアルマドリードへの移籍が噂される今日このごろ.コーナーキックはほ ぼ蹴ってたかな.

  • シュールレ:頼れるジョーカー.決勝はケディラの怪我とか,クラマーのアクシデン トで出場が早めになった気がするけど,延長後半にアシスト.ブラジル戦では後半, 空気読まない2得点 笑

  • ゲッツェ:最初の方はスタメンだったけど,第3戦からはサブに.決勝もサブだったけ ど,88分に投入されて,延長後半にボレーで得点.

  • フンメルス:アルジェリア戦では風邪で欠場で,ブラジル戦も後半は交代するも,安定したディフェンスとパス.

ブラジルの守備崩壊

準決勝でドイツに1-7,3位決定戦でオランダに0-3という惨敗っぷり. 意識がボールに集中しすぎて,マーク外しまくり. オランダ戦の2失点目とか.ペナルティエリア内やすぐそばに5人はディフェンスいたの に,ペナルティエリア内のブリントにフリーでシュートを打たれる体たらく.

オランダ選手全員出場

コスタリカ戦でPK直前にキーパー交代したり,3位決定戦で余裕すぎて第3ゴールキーパ ーを交代させたりで23人全員出場.ロッベンは最後の最後まで走りきる怪物ぶり.カイ トもよかった.

イングランド戦のピルロのフリーキック

入ってたら大会ベストフリーキックだったろうに.

アメリカでの盛り上がりっぷり

アメリカでも "サッカーは女子と子供のスポーツ" ではないくらい盛り上がったようで. こんなものまで出回る始末 笑

日本を含め,アジア勢1勝もできず

印象に残らなかったのが印象に残った感じ.アジア枠が減るかも...一方で,北中米やアフリカからのチームがよかった.

スペイン,イタリア,イングランドがグループリーグで敗退

ドイツとオランダがベスト4までいった一方で,スペインなどの強豪国はグループリーグ で敗退.明暗がくっきり別れた感じ.

西村さん

開幕戦のブラジルークロアチア戦でレフリーを担当.フレッジへのPKが物議を醸す.ク ロアチアディフェンスの手はかかってたので誤審というほどではないと思うけど.あれ をとるか,という感じ.まぁ,西村さんはとるんだよね.他にもっと明らかな誤審が他 の試合でもあったけど,このジャッジほどは話題にはならず.結局日本審判団は,決勝 含めて2回第4審判やっただけに.

2014/05/10

TREK FX 7.3 のメンテナンスと新しいサイクルコンピュータ

ミュンヘンに来てからはたまにしか使ってなかったクロスバイク1, 引っ越してオフィスの距離もそこそこだし, そろそろ暖かくもなってきたので,週に1,2回くらいは通勤で使おうかと思って, TREKのプロショップでメンテナンスをしてもらった.

で,ついでにアタッチメントのつめが壊れたサイクルコンピュータも新調. 一番安かった Bontrager の Trip 1 写真はこれまで使ってたやつ,の Odo. 新しいほうの Odo はこれを初期値に設定した.

ミュンヘンの天気は基本的に不安定なので,どこまで通勤で使えるかは微妙なところで はあるけれども,health ahead ということで.


  1. 日本にいるときは通学でほぼ毎日使ってたんだけどね. ↩

2014/04/28

Neue Pinakothek Guided Tour

会社の Social Event で,Neue Pinakothek のツアーが日曜にあったので参加してきた. ツアーは一時間半で,ガイドさんがいくつかの絵について,歴史的背景なんかも含めて(英語で)説明してくれたのだけど, こういう説明はやっぱり面白いよね.

写真はゴッホのひまわり.この他にも3枚ゴッホの絵があって,それぞれの絵の描かれた時代による違いとか説明してくれて,なるほどー,という感じ. ちなみに,この絵の黄色は本来もっと明るい色だったのだけど,絵の具の酸化で茶色っぽい色になってしまったらしい.

ところでこういうツアーって,もちろんすべての絵を説明してもらえるわけではないわけだけど,どういう基準で説明する絵を選ぶのだろ. ガイドさんの趣味かな?

2014/04/20

vim コマンド ノーマルモード編

移動

key move
ge 前の単語の末尾
gi 直前の挿入が行われた場所に移動し,挿入モードになる
g;/g, 変更が行われた場所を移動 (:changes)
CTRL-O/CTRL-I 以前カーソルがあった場所に戻る/進む (:jumps)

編集

key operation
daw 単語の削除 (続くスペースを含む)
ciw 単語の編集 (続くスペースを含まない)
ca"/ci" "で囲まれた範囲の編集("を含む/含まない)
cat/cit タグで囲まれた範囲の編集(タグを含む/含まない)

2014/04/18

vim コマンド 挿入モード編

ダイグラフによる特殊文字

<C-k>{char1}{char2}
char1 char2 文字
A : Ä
s s ß
+ - ±
* X ×
o C ℃
詳細は:h disgraphs-default

ヤンク

key Operation
<C-r>" 無名レジスタの内容を挿入
<C-r>0 ヤンクレジスタの内容を挿入

2014/04/06

vim syntax の syntax

syntax items

vim が理解する3つのタイプ
  • Keyword
  • Match
  • Region

優先順位

  1. 複数の Match や Region が同じ場所で始まった場合,最後に設定された item が優先される.
  2. Keyword は Match や Region よりも優先される.
  3. より前の位置で始まる item が優先される

Case

:syntax case [match|ignore]
Case sensitive or not.

Spell

:syntax spell [toplevel|notoplevel|default]
Syntax item のなかに入ってないテキストに対してスペルチェックをするかどうか.

Keyword

:syntax keyword {group-name} [{options}] {keyword} .. [{options}]
キーワードを設定.
  • group-name: keyword のグループ.(ex. Comment, Type)
  • keyword: syntax となる keyword
  • options: オプション.どこに来てもいい. 詳細は arguments を参照

Matches

:syntax match {group-name} [{options}] [excludenl] {pattern} [{options}]
  • group-name: match のグループ.(ex. Comment)
  • options: オプション.詳細は arguments を参照
  • excludenl: 行末 "$" を含むパターンに対して,行末以降まで拡張しない.
  • pattern: 正規表現のパターン

Regions

:syntax region {group-name} [{options}]
               [matchgroup={group-name}]
               [keepend]
               [extend]
               [excludenl]
               start={start_pattern} ..
               [skip={skip_pattern}]
               end={end_pattern} ..
  • group-name: region のグループ
  • options: オプション.詳細は arguments を参照
  • matchgroup={group-name}: region と,その開始,終了パターンで別のハイライトを用いる
  • keepend: 内包された match が終了パターンを超えないようにする
  • extend: この region を含む item の "keepend" を上書きする
  • start={start_pattern}: region の開始のパターン
  • skip={skip_pattern}: end_pattern を探さないパターン
  • end={end_pattern}: region の終了のパターン

arguments

すべての command で使える

  • conceal:concealable とする
  • ccar:'conceal' とされている keyword のなかでも表示される文字
  • contained:トップレベルでは認識されず,別の match の中で指定された時に認識される
  • containedin:
  • nextgroup:
  • transparent:
  • skipwhite:
  • skipnl:
  • skipempty

match と region で使える

  • contains={group-name}:ここで指定されたグループは,そのアイテムのなかで始まることができる.ms=とme=でオフセットを設定可能.
  • fold:折りたたみレベルを1つ増加させる
  • display:検出されたハイライトが表示されない時にはスキップされる.行末を超えて継続しない場合など.
  • extend:

region で使える

  • oneline:一行のみで完結
  • concealends:

Group name

Comment
Constant
String
Character
Number
Boolean
Float
Identifier
Function
Statement
Conditional
Repeat
Label
Operator
Keyword
Exception
PreProc
Include
Define
Macro
PreCondit
Type
StorageClass
Structure
Typedef
Special
SpecialChar
Tag
Delimiter
SpecialComment
Debug
Underline
Ignore
Error
Todo

2014/02/10

PCLの PCD フォーマットにおけるbinary_compressed

Point Cloud Library (PCL)のデータフォーマットであるPCDでは,各ポイントのデータをアスキー文字列で保存する形式 (ascii) と,バイナリで保存する形式 (binary) があって,これはドキュメントに載っているのだけれども,実はもう一つ,バイナリを圧縮した binary_compressed というのがある.でも,これは(なぜか)ドキュメントには載ってない,のでここでちょっとメモ.

PCL から binary_compressed なデータを書き出すのは pcl::PCDWriter::writeBinaryCompressed 関数を使う.ソースコードは この辺.

ここでポイントは,

  • データ部分の最初の4バイトは unsigned int の圧縮後のデータサイズ
  • 次の4バイトは unsigned int の圧縮前のデータサイズ
  • 次は LZF 圧縮されたバイナリデータ.ただし,データはポイントごとに並べたのではなくて,フィールドごとに並べたもの.(例えば,XYZXYZXYZ...ではなくて,XXX...YYY...ZZZのように)

LZF 圧縮に関しては,ハッシュテーブルあたりで微妙にオリジナルと違うのだけれども,この辺がどう影響するかは未確認..

2014/02/02

R cheat sheet

データ

combine function c()

>  sample <- c(6, 7, 15, 36, 39, 40, 41, 43, 47, 49)
  [1] 6 7 15 36 39 40 41 43 47 49

: operator

> sample <- 1:10
  [1] 1 2 3 4 5 6 7 8 9 10

seq() function

> sample <- seq(0, 100, by=10)
  [1] 0 10 20 30 40 50 60 70 80 90 100

CSVからインポート

> sample <- read.csv('data.csv', header=TRUE, sep=",")

ディレクトリ

カレントディレクトリを表示
> getwd()
ディレクトリを移動
> setwd(dir)
カレントディレクトリ内のファイル,フォルダを表示
> dir()

関数

ライブラリをロード

> library('qualityTools')
> showClass('gageRR')
> example('gageRR')

スクリプトを実行

> source("script.R")

Vector データ関連

  • length(v): Vector の要素数
  • mean(v) : Vector の平均
  • median(v) : Vector の中央値
  • sd(v): 標本標準偏差 (unbiased)
  • var(v): 標本分散 (unbiased)
  • summary(v): 最小値,第一四分位数,中央値,平均値,第三四分位数,最大値を表示 Minitab との違い (Minitab はwikipediaの説明における Method 1, R のsummary は Method2)
  • fivenum(v): Tukey's five number を vector として返す.

2014/01/26

休暇

年末年始は休暇で日本でした.以下いろいろやったことリスト,など.

  • 大昔にご近所さんだったO家とディナー.(昔過ぎて懐かしさはあんまり..笑)
  • 高校サッカー全国大会,桐光学園-高知商業@三ツ沢競技場を観戦
  • ミラーレス一眼 SONY NEX-5TLを購入
  • 川崎大師に初詣.初詣って,出店がでるんだね.
  • 高校の部活の同期で初蹴り@代々木.
  • 親戚に会いに関西方面へ.約束までに時間があったから,大阪城見学.結構外国人の見学者も多かった.博物館としては,,もうちょっと頑張ってくれても..
  • サカサマのパテマを鑑賞.舞台設定の部分とか,中途半端に感じてしまうところもあったけど,面白かったと思う.CVの一人が昔のバイト先で一緒だったという噂もあるのだけど,誰も確認できなかったので詳細は不明.というか,僕が見た次の回で本人来てたのか.
  • "大泉エッセイ"読了.どこの本屋に行っても平積みでした.
  • "孤独なバッタが群れるとき"読了.バッタ博士の今後にも注目.
その他友達と会ったり,積読がまったく消化できないくらい,遊び呆けてた..

2013/11/02

Blender で,カメラから見て常に同じ位置にオブジェクトがくるようにする.

やりたいこと

blender を使っていて,常に端っこに座標軸を表示させたい.

事前準備

シリンダーと円錐で矢印を作って,座標軸のオブジェクトを作っておく.

手順

  1. 座標軸に,Limit Rotationの拘束を加える.(Limit X, Limit Y, Limit Z)
  2. Add -> Armature -> Single Bone でboneを追加. Bone に Copy location の Constraint を付加.Target はカメラ. 更に,Copy Rotation のConstraint も付加.Target はカメラ.
  3. カメラに ChiledOf の Constraint を付加.Target は先程のArmature.Boneも指定. チェックはすべて外す.
  4. Editor mode で.tail の位置を座標系に合わせる. 座標軸 -> Armature の順に選択して Ctrl-P で Bone を選択. 座標軸位置をカメラビューで端っこの方に来るように移動させる.
これで,カメラを移動させても,座標軸オブジェクトはカメラの動きに追従するので,カメラビューで常に同じ位置に見えるようになる. 座標軸は,カメラの近くに置いておくと,他のobjectsに隠れたりしない.

結果

Blender キーボードショートカット

Object Mode

a Select/deselect all objects
Alt-g Clear location of selected objects
Alt-r Clear rotation of selected objects
Ctrl-j 選択したオブジェクトを join
Ctrl-d 選択したオブジェクトを duplicate

Edit Mode

e Bezier curve編集時,コントロールポイントを追加

2013/09/22

ハードコンタクトレンズ買った

最近の買ったものシリーズ

きっかけ

日本で買ったハードコンタクトが古くなったし,度も微妙にあわなくなっていたので.

ドイツでは,コンタクトレンズを買うのには眼科医の処方箋が要らないので,インターネットやメガネ屋さん的なところにいけば買える. 必要な度数とかがわかっていればそのままそれで注文できるし,わからなくても調べてもらえる. (もちろん眼科でも検眼してもらえるみたいだけど,今回は眼科ではやってもらわなかったので詳細は不明)

で,最初はわりと近所の Apollo に行ってみたら,そこではコンタクトレンズのための検眼その他は出来なくて, Neuhauser Str. のほうなら対応できるとのことだったので,そちらにいくことに.この時ついでにハードレンズとソフトレンズどっちがいいかを聞いてみたら, 僕のかけていたメガネの度数を調べたら,一言,"ハードだね".

購入まで

最初の行ったときは,時間帯が悪かったのか,土曜日の朝にまた来てくれ,と言われた. で,また指定された時間に行って,検眼してもらって,テストレンズ(両目で40ユーロ)を注文することに.

後日,テストレンズを受け取ってその場で装着.2時間後に簡単な検査.ちょっと度数を調整して,レンズの注文. 乱視が少しあって,でも乱視矯正用のレンズ(一枚200ユーロ +)にするか普通のレンズ(一枚89ユーロ)にするか,微妙なところだったので, とりあえず普通のレンズを注文.

数日後また注文したレンズを受け取りに.その場で装着して,2時間後にまた簡単な検査.一週間後にまた検査. このとき,右目は乱視矯正用がいいかもしれない,と言われたけど,まぁ,あんまり不便はなかったので,(高いし)そのまま普通のレンズで行く事に. ただし,この場合は差額を払えば良かった模様.あと,購入後2ヶ月までなら,度数の調整含めて対応してくれるとのこと.

コンタクトレンズそのものは1.5 - 2 年使用できるとのこと.

ケア用品その他

ドイツでは,意外にハードコンタクトレンズ用のケア用品が,ソフトに比べると見つけにくい.dm とか行っても見ないし. まぁ,当然売ってはいるわけのだけども.ということで,Apollo で購入.All-in-One 的なものは売ってなくて,洗浄剤(Cleaner)と,保存液(Conditioner)を別々に使う. 場合によっては,すすぎや一時保存用に Saline を使う.ケースは,日本で見るようなハード専用ではなく,ソフトレンズと同じタイプ.

2013/09/15

車買った

最近車を買ったのでメモ.

きっかけ

年初に地下ガレージのあるアパートに引っ越して,さらに友人Nが車を売ることを考えてたので,ちょうどいいやということで. BMWの1シリーズのハッチバック,ディーゼル,MT.

免許証

免許証自体は,2011年に日本の免許証からドイツの免許証に書き換え済み.

まず,領事館で日本の免許証の翻訳を取得. その後,Westendstraße にある Kraftfahrzeugzulassung und Fahrerlaubnisbehörde のオフィスに日本の免許証と翻訳,写真と申請書を提出.そのうち手紙で案内が来るので,また受け取りに. 日本の免許証は,ベルリンの大使館経由でミュンヘンの領事館に届いて,それをまた受け取る形で返却してもらえた.

書類手続き

車の売買自体は,Nの銀行のお金を振込で支払って終了.一応,売買を証明する書類も作成してサインもした. その後, Westendstraße のオフィスで所有者変更の手続きなど.税金に関する手続きと,Fahrzeugbrief と Fahrzeugschein を発行してもらう. この際に,車の保険に関する番号が必要で,これは事前に保険会社から発行してもらう.

保険

これが一番やっかいだった..

上の手続きで保険会社に連絡したら,申込書が送られてくるので,それに記入して郵送.日本での保険の無事故証明(英語)が手に入ったのでそれも同封. なぜか日本の免許証のコピーの提出も求められたので,(翻訳は付けずに)郵送した.結局,手続きが全部終了するまでに一ヶ月以上かかった... ので,途中で保険会社のオフィスに行って,保険でカバーされていることを確認する書類をもらった.これがあれば,ドイツ外でも運転できたみたい. 値段は,,なかなかいいお値段..

運転の練習

車はマニュアル車で,マニュアル車なんて大昔に教習所を出て以来運転したことがなかったし,ドイツは右側通行で交通ルールも微妙に日本と違うので,近所の Fahrschule で,3回ほどレッスン.レッスンは一回1.5時間だと70ユーロほど.

それとはまた別に40ユーロで,オンラインで交通ルールを勉強できるツールも購入. Silverlight で動くツール自体はあんまりイケてないのだけど,,英語でも勉強できるので便利.

ということで..

これからぼちぼち通勤にも使っていこうということで,通勤路をチェックした帰り,わりとすぐに目のつく程度にこすってしまった..orz

手続きやら保険やら,いろいろ手伝ってくれたKとNに感謝です.

2013/06/30

女子サッカー親善試合 日本 vs. ドイツ (2-4) を見てきた

もうすぐ7月とは思えないくらい寒くて小雨の降りしきる中,Allianz Arena での女子サッカー親善試合の日本対ドイツ戦を見てきた.なにげに初Allianz Arena. 入場者数が4万6千超でヨーロッパレコードだったそうです.いや,何のレコードかよくわからないけど.(女子サッカーの試合の観戦者数?) ドイツは女子サッカーも強いので,やっぱりそれなりに人気がある模様.

試合の方は,細かくパスをつなぐ日本と,個人技でゴリゴリ攻めるドイツ,というおなじみの光景. 日本は結構危ないパスカットをされつつ,2回先攻されながら2回追いついて 2-2 まで行って,その後の交代から前掛かりになったところをドイツにうまく突かれて2-4で万事休す,といった印象.パススピードや飛距離的に,大きく速い展開,という風にはならないので細かくつないで行くのもなかなか難しいですな.

試合は負けちゃったけど,けっこういい席だったし,なかなか満足でした.

60m の風力発電の羽根を見てきた

GE製の60m (とfacebook に投稿したら,正確には58m,と同僚には訂正された >_< )がオフィスの近くに来るとかで,昼休みにみんなで見学に.


根元の部分から中が覗かれないように,しっかりカバーしてあるところが何とも..

どうやら,この日ミュンヘン工科大学の機械工学科で開かれていたシンポジウムに一環でこの日(6月27日)限定で展示(?)されてるものだったらしい. 近くにいたスタッフの人が,サインしていいよということだったので,ひらがなでしておいた 笑

実は,このブレードに,(写真では見づらいけど)

Ich bin Teil einer brillanten Windenergieanlage
て書いてあって,この "brillannt" が正しいドイツ語なのかどうか,brilliant のスペルミスかどうかで,議論になってたのだけど, 僕の持ってるAccess 独和にすら載ってるので,普通に正しい単語だったみたい.

2013/05/25

PCL をMinGW でコンパイル

至極個人的な理由で Point Cloud Library をMinGW でコンパイルできるようにしました.

依存ライブラリ

PCL の必須ライブラリは

boost, Eigen, VTK に関しては,(boost はちょっとクセがあるけど) MinGW でもデフォルトでコンパイルできるので問題なし. Flann は,リンクのところでこけたのだけども,修正したのを github の trunk でマージされたのでそちらのソースからならコンパイル可. オプショナルなライブラリは,試しておりません.

PCL

で,PCL.本家のレポジトリからフォークして修正したのが こちら.

PCL を使ったプログラムは, CMake でできたMakefile でコンパイルしようとすると, gcc のあるバージョンでは link の時に "multiple definition" でエラーになるので, set_target_properties(${_exename} PROPERTIES LINK_FLAGS "-Wl,--allow-multiple-definition") という感じで,linker option を加える必要があり.

(このオプション,ほぼ同じバージョンのGCCなLinux環境では必要ないのだけど,そもそもCMake で生成されるMakefileが違うんだよね..なんでかはよくわからないですが..CMake むずかしいです.)

PCL の本家レポジトリに pull request 送ってある(のだけど,マージされる気配はなし).