赤城山ヒルクライム

応援の人たちが最高なレース。運営もGoodだった。 More »

おらがチャリ

ほぼ自作の自転車たち。 More »

 

2017年キャンプ初めは新戸キャンプ場

あーつかれた。

今年始めてのキャンプは、新戸キャンプ場。

3月までソロキャンの場合は1000円に値引き中との事で行ってきました。

ただ、予想はしていたんだがソロだけでなくファミリーのキャンパーも大勢来ていて、うるさいとか騒がしいとかいう事は無いけど、孤独感も味わえずでした。

ちなみに今回は息子が用事があるとの事で、久しぶりのソロキャンプです。

 

友人が「圏央道使えばすぐだよ」と教えてくれたので、使ってみたが、言うとおり早いな。1時間ちょっとで着いてしかも信号もなく快適だから疲れもない。

買い出しは道志みちに入る手前の青山丁字路を左折せずにまっすぐ行ったところにあるマルエツへ。

こんな近くにあるとは知らなかった。

それにしてもよく晴れてます。最近晴れ男です。

ここのマルエツも薪が置いてありますね。高いので買いませんが一応記録。

ここは袋詰したものも売ってました。

量的にはたくさん入ってそうなんだが、乱雑に入ってるぽくて隙間だらけっていうオチかなぁと。

とりあえず買いませんでした。

ちょっとお高いような気もします。

 

昼前にキャンプ場に着いたんだが、既に13組入っているとの事。

薪を二束もらって1920円でした。

今となっては激安の部類ではなくなったのが複雑なところ…。設備が良くなるのは良いんだが、人が増えるのがなぁ。
4月から値上げとの事なので人気が無くなって人が少なくなったらまた行こうかなと思うが…。

 

場内に入ると、奥の方はすでにファミリーが陣取っていたので、仕方なくトイレ近くの場所へ。

別に急いでいるわけでもないが、早くゆっくりしたいので直ぐに設営開始です。しかしまぁ風が強くて大変。

タープが風に煽られて吹っ飛んでいきそうに舞い上がってました。このまま飛んでいけるんじゃね?的にモロに風をうけてタープが大変な事に。
つか、ソロなのにスクリーンタープとか必要無いだろって話なんだけど、焚き火ではなく薪ストーブ利用なので仕方ない。

で、急いで設営したいんだけど、急げば急ぐほどいろいろとイライラします。

寝袋のチャックも同様だけど、この辺もう少し技術革新が起こらないもんだろうかと、つくづく思います。

何度も風に飛ばされそうになりながら、1時間もかかってようやっと落ち着くことができるようになった。

息子もいないので、必要最低限です。

一人でこのスクリーンタープだと、広くて快適。

まぁとりあえずビールです。寒くても最初はビール。

ちょっと場所的にどうかなと思ってたけど、対岸には滝みたいなのが見えるし、ちょうど道志みちの橋が見えて、そこから日がさして温かいしで、結果オーライでした。

実際、モロに日光があたるので少し暑かった。

 

今回、ソロという事で、いつものケシュアテントは持ってきていない。

タープ内でコット泊です。

で、購入しておいたソロ用テントがこれ。

タープの中でもそんなに存在を主張しないサイズが良い。

レビューでは生地が薄いとかいろいろ言われてたが、特に不具合も見当たらずこれで2000円しないとか素敵です。

設営も5分です。

で、このテントの中にコットを入れようと思ったんですが、中で組み立ててしまうとサイズがテントの幅にほぼジャストなので裏返すのがメチャシンドイ。

四苦八苦してようやっと裏返しました。

そして、インフレータブルマットを敷いてみると、これがまたジャスト。

上下にまったく隙間がありません。

で、寝袋を広げてみます。

あー、この狭い感じが素敵。わずかに横に隙間があるので、スマホやらはここに置けるでしょう。素晴らしいサイズ感です。

んで、ここまでやってしまうと特にやることも無くなり、暇なので意味もなく薪を半分に切断。

それにしても、このノコギリはよく切れます。オススメです。

腹を減らして肉でも食べようと思ったんですが、すぐに終わってしまってまた暇に。

まぁでも「ツマランなぁ」という感じの暇感ではなく、心地よい暇感です。

ぼけーっとタープから見える景色を見ながらビールでも飲んでると、日が落ちてきて急に気温が下がってきました。

時計を見るとまだ15時とかですが、薪ストーブに火を入れましょう。お楽しみタイムです。

とりあえず、マルエツで買ってきた肉でも焼きます。

焼くと言っても炭火とかは無いので、スキレットに乗せてバーナーで。

辛味のホルモンが旨くて全然足りなかった。もっと買ってくれば良かった。

で、同じくマルエツで買ったシーフードでアヒージョでもと思ったんだが、ここでアヒージョの素を家に忘れてきた事に気づく…。

仕方ないので、ホルモンから出た大量の油に冷凍のシーフードミックスを投入。動物性のアヒージョです。

最初は美味かったんだが、だんだんとシーフードからの水分が油と味を薄め始めて、最後の方はよく分からない味になっていた。

その後、ハラミだとかも食べ尽くしてまだ夕方だというのにお腹いっぱいに。

日が暮れてきたので、焼酎のお湯割りを飲みつつ、何か動画でも見ようかなとAmazonを物色していると、「勇者ヨシヒコ」があったので、観てました。

このベタな感じがとても良い。一人で笑いながら観ていた。

仏役の佐藤二朗が最高です。

 

なんだかんだでずーっと観続けていたわけだが、気がつくとまたもや前回同様にタープ内がくっそ暑く。

温度計見ると30度です。

ちょっと分かりにくいが、ちょうど30度。

いい加減、デジタル表示の温度計買おうかな。

 

で、焼酎でフラフラになってきたので、おとなしく寝ることにした。時間は見てなかったが多分22時くらいだろう。

毛布と共に寝袋に入る。

薪ストーブには出来る限りの薪を投入し、ガスランタンも付けっぱなしである。

いやぁ快適である。まったく寒くない。

こりゃ朝まで心地よく寝られそうだ…と思っていたんですが、30分も経つと逆に暑くてまたもやパニック状態に。

急いで寝袋のチャックを開けて身体を外に出すと、今度は汗が体温を奪います。

とりあえず毛布だけかけて寝ることにしたら、そのままぐっすり寝てしまったようでした。

 

朝は6時に起床。気温は-2度。

風が無いタープの中では、-2度といっても「ちょっと肌寒いかな。」という程度です。

まぁモンベルのダウンとか着てるので当たり前と言えば当たり前だが。

 

いつもは息子の朝飯どうするかなとか考えるんだが、今回は気楽ですな。

とりあえず家から持ってきた餅でおしるこでも作ります。

餅がクタクタに溶けるほど煮て、頂きました。

キャンプなので、栄養とか考えません。美味ければ正義。

 

お腹も満たされたところで撤収開始。

周りのキャンパーも続々と引き上げていきます。

ソロキャンパーばかりなので、装備も軽装で、すぐに撤収してました。

方や私の方は、ファミリーと同じスクリーンタープと薪ストーブという重装備。

息子がいない分だけ楽とはいえ、今回つくづく思ったのはこのコールマンのスクリーンタープの設計。

チャック部分の不満もあるんですが、なによりも思うのが、上の画像にあるアーチポールの差し込み。

よく言われる不満が天井の赤いリッジポール部分の差し込みだが、これは説明動画にもあるようにちょっと持ち上げ気味にすれば(かなり力は必要とはいえ)差し込むのは大変じゃない。

だが、このアーチポールはホントにイライラします。

もう二人で組み立てるのが大前提だと言わんばかりのやりにくさ。

いちいちスリーブの出入り口でポールの接続部分がひっかかるし、なにより真っ直ぐではないので押しても入っていきません。

設営に1時間もかかったのは、風とこのアーチポールのせいです。

そろそろワンタッチのタープ買っちゃおうかなぁと思い始めてます。

で、なんとか撤収も終わり、さて帰ろうと車に乗ろうとしたら出発できません。

夜中は相当冷えたんだろうかと。

確かに、外に出してた水タンクの水は凍ってたな。

帰りも圏央道経由で帰ってきたが、1時間で帰ってこれた。

なんか、ここまで楽だと逆にキャンプという感じがしないなぁ…。

次はもうちょと遠くへ。とりあえず新戸キャンプ場は人が多いので、また西湖辺りへ行こうかなと思います。

あぁでも雪が…。

 

タープの中で寝るために。

さて、寒さも本格的になってまいりました。

この気温でのキャンプもタープ内での薪ストーブによって、ほとんど心配の無いものとなりましたが、薪切れの心配を除けば、あと問題となるのは就寝環境です。

さすがにタープの中にケシュアの3人用テントはincludeできないため、タープの外に出した状態で寝ることになるんだが、氷点下となった場合に果たしてどうなるのか。

さすがに少しだけ心配です。

で、いっそタープの中で寝てしまえば良いのではと。

そもそも薪ストーブでキャンプするような人は、タープ内にコット置いて寝てます。

それでも寝てる間は薪の追加投入が出来ないので、火が消えたら冷え切ってしまうのでは?とも思ったんですが、燃え尽きてからも意外と暖かさは残るようです。

また、タープ内でコットで寝るとなると、テントや銀マットを持っていくのが必要でなくなります。

※その代わり、一酸化炭素中毒の危険性もアップするのだが

テントと銀マットは荷物の中でも最大規模の大きさとなっているため、これを持っていく必要が無いとなると、大変助かります。
というわけで、Amazonで安い中華製コットをポチってみた。

 

ちょっと不安なレビューもあったんだが、まぁ概ね問題なさ気なレビューが多かったので、買ってみた。

届いたコットは、かなりコンパクトでリュックに入れて持ち運べるレベルです。

以前買ったコールマンのコットとは段違いの軽量化。

 

固定するパーツに穴が開いているので、そこへマットやらポールを突っ込んで収納できる。

ただ、これは結構キツイのでキャンプ場での撤収時にここまでちゃんとできるかは未知数。

マットの色が薄紫なので、もうちょっとどうにかならなかったのかなとも思いますが、まぁ仕方がない。

取説は収納袋の内側に縫い付けられてます。これはナイス。

まぁパーツとか多くないので、読まなくても組み立てられます。

大体、5分から10分程度で組み立てられるが、少し力がいるので女性だと厳しいかもです。

あと、手袋をしてから作業したほうが良いかも。力がかかるのでちょっとした事で指を痛める場合もあるかも知れない。

で、こんな感じに。

裏側はこんな感じ。

なんだか、頼りない感じにも見えるが、結構ガッチリしてます。

新品という事もあり、マットには張りがあります。

横になっても問題なく、安眠できそうな感じ。

タープの中で寝るとなると、下にシートを敷いて、その上にコットを…。

うーん、タープの中と言えど、何か仕切りが欲しいかも…。

という事で、一人用テントが安かったので、虫除けも兼ねてこれをポチる。

2000円以下で買えるってすごいなぁ…。

このテントのレビューはまたのちほど。

 

istick pico リキッド漏れ

愛用している電子タバコ「istick pico」ですが、良いところばかりではないと思い始めた。

重さや形状、リキッド補充の面倒臭さなどはまだ許容できるんだが、飲みに行く時などバッグに入れて持ち運ぶと必ずリキッド漏れが起こる。

20170118_044359918_iOS

このリキッドが甘ったるいガムのような匂いがするので、バッグに匂いが移るし結構ベトベトしているので、掃除も大変。

なぜ漏れるのか分からないんだが、たまに普通に使っているだけでも知らぬ間に漏れている時がある。

こういうものなんだろうか?

横にしちゃいけないとか?

 

液漏れとは関係ないが、iqosも吸わなくなり、ほぼニコチンを摂取しなくなった。

これが良い事なのかどうかは分からないが、それほどニコチンには依存してなかったのかなと。

ただ、いままで禁煙してもなかなか止められなかった人が突然禁煙に成功すると

肺がんの可能性がある

という記事を見て震えてます。

 

【OCaml】「Welcome from Eliom’s distillery!」を書き換えてみる

前回は諸々をインストールして、ブラウザに「Welcome from Eliom’s distillery!」と表示するところまでたどり着きました。

というわけで、「Welcome from Eliom’s distillery!」がどこで出力されているかを、まずは調べてみたいと思います。

作成された「hello」ディレクトリで適当にgrepすると、

バイナリファイル _server/hello.cmo に一致しました
hello.eliom:             h1 [pcdata "Welcome from Eliom's distillery!"];
バイナリファイル local/lib/hello/hello.cma に一致しました

こんな感じ。

バイナリファイルはとりあえず置いといて、hello.eliomですね。

ここで指定しているみたいです。

開いてみると。

[%%shared
open Eliom_lib
open Eliom_content
open Html.D
]

module Hello_app =
Eliom_registration.App (
struct
let application_name = “hello”
let global_data_path = None
end)

let main_service =
Eliom_service.create
~path:(Eliom_service.Path [])
~meth:(Eliom_service.Get Eliom_parameter.unit)
()

let () =
Hello_app.register
~service:main_service
(fun () () ->
Lwt.return
(Eliom_tools.F.html
~title:”hello”
~css:[[“css”;”hello.css”]]
Html.F.(body [
h1 [pcdata “Welcome from Eliom’s distillery!“];
])))

 

こんな感じです。最初の方はまだわからないが、後半で該当の文字列が見えます。

ここを変更すると反映されるのか?

上記、赤字部分を適当に変更してみます。

「Welcome from yonezos distillery」

テキスト編集して保存してブラウザを更新。

当然ですが、これだけでは反映はされません。当然、コンパイルが必要なんだろうなと。

前回は「make test.byte」とかやりましたが、今回はどうするのだろう?

 

とりあえず再度やってみますが、エラーが出ます。

$ make test.byte
js_of_eliom -ppx -c -package lwt.ppx -package js_of_ocaml.ppx -package js_of_ocaml.deriving.ppx  hello.eliom
make: js_of_eliom: コマンドが見つかりませんでした
Makefile:206: ターゲット '_client/hello.cmo' のレシピで失敗しました
make: *** [_client/hello.cmo] エラー 127

師匠曰く「パスが通ってない?」との事で、.profileをチェック。

# OPAM configuration
. /home/develop/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true

上記記述があるか確認します。

で、記述があるのにダメな場合は

$ source .profile

で反映します。

で、再度make test.byteとやるもエラー。

$ make test.byte
js_of_eliom -ppx -c -package lwt.ppx -package js_of_ocaml.ppx -package js_of_ocaml.deriving.ppx  hello.eliom
js_of_eliom -ppx -o local/var/www/hello/eliom/hello.js  -package lwt.ppx -package js_of_ocaml.ppx -package js_of_ocaml.deriving.ppx  \
_client/hello.cmo
eliomc -ppx -c -package lwt.ppx -package js_of_ocaml.deriving.ppx  hello.eliom
eliomc -ppx -a -o local/lib/hello/hello.cma  \
_server/hello.cmo
ocsigenserver  -c local/etc/hello/hello-test.conf
ocsigenserver: ocsigen:main: Fatal - The port 8080 is already in use.
Makefile:58: ターゲット 'test.byte' のレシピで失敗しました
make: *** [test.byte] エラー 8

「ocsigensetverが8080掴んでて実行できないわ。」という感じなのでしょうか。

別コンソールで実行したままとなっていたocsigenserverをC-cで閉じます。

再度meke test.byteとやると、めでたく「Welcome from yonezos distillery!」と表示されました。

この「make test.byte」というコマンドですが、makeはコンパイルを行うとして「test.byte」って何?

makeでtabキーを押すと、続けて打てるオプションが出てきます。

$ make
all                  install              install.lib.byte     local/               run.opt
byte                 install.byte         install.lib.opt      opt                  test.byte
clean                install.etc          install.opt          print-install-files  test.opt
distclean            install.lib          install.static       run.byte

大きくrunとtestがあって、開発時はtestですかね。

実行形式の違いだったかな…。

byteとoptはコンパイル方法が異なるみたいで、optの方が10倍ほど早いとの事。

いや、間違えてるかも知れない。

とりあえず、この辺は実際にサイトを公開する際にもう一度掘り下げるとしよう。

 

成人の日と自由が丘ランチ

息子連れて自由が丘まで行ったんだが、成人式という事でバスの中は普段見られないような人たちでごった返していた。

最初乗ったときは、今日が成人式という事を忘れていたので、

「今日はチンピラみたいなのが多いなぁ。」

と思っていたんだけど、会話の内容が幼いので「なるほど。」と。

しかしまぁ、このセンス。まるでドラマから出てきたヤミ金業者。

「若いっていいなぁ。」というのが口癖のようになっている昨今。

「若い」ってのが良いのか悪いのか混乱します。

 

自由が丘ではオムライスを求めて彷徨う。なんせ自由が丘なんていくのは年に数回なので、全然わからん。

最初に行こうと思っていたのが「パームスカフェ」。

まぁ当然ですが、長蛇の列で、悩む間もなく通り過ぎるようにスルーです。

で、近くにあった店に入ったんだけど、ここも十分美味しかったです。店の名前忘れたけど。

20170109_045415000_iOS

合流した嫁さんはドリア。

20170109_045443000_iOS

ランチなのに食べすぎました。

 

あまりこういうオサレな街は行かないので、ここが下北なのか自由が丘なのか分からなくなる。それが東京の素晴らしいところでもありますな。

帰ってきてからの100円アイスも十分美味しい。

20170109_012112161_iOS

周り食いしてたら「おー富士山!」と、はしゃぐ44のおっさんだ、あれから24年も経ったんだなぁ。

 

成人式はあんまり思い出がない。

正月気分が抜け切らない中、買ってもらった着慣れないスーツを着て、会場の区立体育館に歩いていった。

着飾った人たちが大勢いて、同窓会のような雰囲気もあって盛り上がっている。

知った顔もいたけど挨拶程度で、ほとんど誰とも会話せず、これから飲み明かすであろう人たちの楽しげな喧騒を横目に、式が終わったらそのまま一人で歩いて帰ってきた。

手渡された冊子だとか小脇に抱えて、なんのために行ったのかなー、行く意味あるのかなーと考えていたな。

 

今は経済的な理由で行かない人もいるようだ。

後に必要になるかも知れないとはいえ、一日のために結構な額の支出が伴い、しかも目に見えるようなリターンも無いとくれば、なんとなく納得してしまう。

でも、そういうイベントに(無駄になるかも知れないとはいえ)支出ができる世の中の方が、全然マシ。

本当にそういう経済的な理由だけなのかな?とも思うけど。

昔の仲間と会うのって、ちょっと「行きたくないなぁ。」って思うときあるじゃないですか。

「いま、何してんの?」って聞かれたくないとか。

当時の私も、多分、そんな感じだったんだろうなと思います。

 

さぁてと、今年も良い一年にしていこう、今日からは本格的な仕事始めです。

まずは明治神宮へ初詣しなきゃな。

 

iqosに愛想が尽きたので電子タバコにトライ

蓋をロックする爪が馬鹿になって以来、ストレスフルな使用感で評判なiqosでしたが、仙台限定の新商品が発売されただとか、未だに品薄状態が続いてヤフオクが大盛況とかの状況を見ていて、

本当に使いたくなくなってきた

ので、代わりになるようなもの無いかなぁと、さすがに仕事中とか口寂しいので探していたら、あの電子タバコが今や「VAPE」(ベイプ?)と呼ばれて人気らしい。

値段とかも、一式揃えると初期投資として1万円ほどかかるが、

そもそもiqosがそれくらいの値段なので

躊躇なく購入に踏み切りました。

あと、音たいむに来ている常連のお客さんが以前吸っていて、その爆煙具合に軽く衝撃を受けた記憶も影響している。

なんだか面白そうだなと。

 

で、youtubeなんかでいろいろ見ていたんだが、もう種類が多くて選択に困ります。

それほど市場が成熟しているという事なのかも知れません。

とりあえずiqosで「携帯性を犠牲にする」「充電が必要」というのは慣れているつもりなので、小型・筒状でなくてもいいかなと。

で、選んだのが

Eleaf iStick pico

というやつでした。

MODとかアトマイザーとか専門用語が最初分からなかった。

とりあえずいろいろ買い揃える必要があるみたいで、タバコとライターを買えばとりあえず吸える煙草とは全く異なる嗜好品ですな。

 

私が購入したのは、バッテリーやアトマイザー、リキッドが揃ってるセットで、8000円くらいでした。

とりあえず届いたパッケージは、iphoneからの流れをくむ、昨今よくある形状の箱。

20170106_111819325_iOS

開けると、本体とアトマイザー。

何か高級なジッポライターな雰囲気。

20170106_111849101_iOS

で、その下にはUSBケーブルや説明書など。

20170106_111859533_iOS

あとは、バッテリー。

20170106_112018739_iOS

この他におまけでリキッドが8本付いてきました。

とりあえず、セットしてメンソールのリキッドを注入してセッティングとか何もせずに吸入。

 

キツすぎてむせかえる。

 

iqosに慣れたせいか、いや、タバコのメンソールとか比較にならない感じのキツさ。

ちょっとこれは全力で吸うことは無理。

少しだけ口に含んで吐き出す感じで十分なメントール感。

youtubeとかで見てた爆煙とは程遠いなぁ、やはり高級なアトマイザーを買わないと駄目なのかなと思いました。

 

で、この電子タバコってやつは、アトマイザーにリキッドを注入して、それを吸い上げて電熱線のようなコイルで気化させる感じなので、

「次はこの味にしてみようかなぁ。」

という気軽な感じで、テイストチェンジできません。

とりあえず注入したリキッドを全て吸い尽くす必要があります。もしくは新しいアトマイザー買うか。

なので、根性で注入してしまったメンソールを消化。ゴホゴホ。

 

次はぶどうの絵が書かれた、グレープなフレーバーにチャレンジしてみたが、これが程よいメンソールとぶどうの風味で、ナイスな感じ。

「うまい!」

とまでは行きませんが、少なくともiqosよりは普通に美味しいと感じます。あの煮物のような焼き芋のような独特の匂いとか無いしね。

つか逆に、これって俺の口の匂いがひょっとして素敵な事になってんじゃね?

と錯覚するような匂いです。

 

家人が不在の時に、家の至る所で吸ってみたんですが、帰宅しても誰も気づいていない様子。

うーん、これは素敵なアイテムかも…。

ニコチンは含まれていないけど、「あー、やっぱiqos吸いたいわー。」的な飢餓感もありません。

 

そしてこのぶどうフレーバー、メントール感が薄れた事で、思い切り吸い込むことが可能になり、吐き出される煙(水蒸気)の量が笑えるくらいのモクモク感w

爆煙とまでは行かないけど、普通のタバコとは比較にならない煙の量で、なんだかそれだけで満足してしまうw

 

いま思うと、あのタールやニコチンの味を美味いと感じていたのって、何だったのかなぁと。

焼肉とか中華とかの後に吸う一服がたまらなく美味かったんだけど、今はもう「おえぇぇ…くっそマズ。」って感じしかしない。

 

そうそう、あと気になったのが健康面への影響なのですが、とりあえずニコチンフリーなリキッドで普通に流通しているものなら、特に影響は無いようです。
※それでも国産のものが良いに越したことはないみたい

ただ、この電子タバコ自体の歴史が浅いので、これからどうなるかというのは分かりません。

普通のタバコよりも身体に悪いという説もあるようだけど、グリセリンの蒸気を吸い込むのがダメとなったら、アレもコレもダメって事になるけど…といういつものパターン。

まぁ、たしなむ程度に吸い込むなら特段の悪影響は無いと思います。

あ、咽るのは身体に良くないかなぁ。なのでメンソールはやめておこう。

 

iqosと違って、意味不明な吸い込み回数制限とか、時間制限とか無いし、充電残量さえ気にしていれば好きな時に好きなだけ吸えます。

リキッドは1本1000円とかするけど、これでどれだけもつかな?


※関係ないけど名前が某キャンプ用品メーカーみたいで草でした

多分、これで1週間以上はもちそうなので、iqosと比較しても経済的なメリットも増します。

そして、リキッドは混ぜてしまっても(味も混ざるが)全然問題ないようなので、いろいろと試行錯誤できるのも楽しそう。

アトマイザーもいいヤツとかは味も良くなったり、煙の質や量も変わったりするみたいなので、ガジェット的な楽しみ方もあるみたい。

さすがに、煙をいろんな形に吐き出して、それを競うような事は興味無いですが。

 

えー、ちょっといい事ずくめな感じだが、デメリットは…今のところ特に無いかなぁ。

あー、何か持ち運ぶのにケースが欲しいなぁ…。

あとは、子供が間違って吸ってしまわないかとか、いい匂いがするって言って吸いたいと言い出さないかとか。その程度か。

 

総合的には、初期投資がちょっとかかるけど良い買い物でした。

今後何ヶ月か使ってみて、またレビューしたいと思います。

20170108_141646389_iOS

 

Ocaml再挑戦

今年も残りわずか360日足らずとなりました。懲りずにOcamlへの挑戦です!

まずはVMwareMintの18を入れて、opamによる環境の構築から。

これは以前に四苦八苦したエントリ

Ubuntu7へOCamlモロモロをインストール

OCaml環境構築メモ

などを参考に。

 

さぁ懲りずに再挑戦。

とりあえずopamをinstallした後はeliomを入れるわけだが、

opam install eliom

とやっても、早速のエラーが。

=-=- conf-gmp.1 troobleshooting -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> This package relies on external (system) dependencies that may be missing. `opam depext conf-gmp.1' may help you find the correct installation for your
system.

=-=- conf-libpcre.1 troobleshooting -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> This package relies on external (system) dependencies that may be missing. `opam depext conf-libpcre.1' may help you find the correct installation for your
system.

=-=- conf-openssl.1 troobleshooting -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> This package relies on external (system) dependencies that may be missing. `opam depext conf-openssl.1' may help you find the correct installation for your
system.

=-=- conf-zlib.1 troobleshooting =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> This package relies on external (system) dependencies that may be missing. `opam depext conf-zlib.1' may help you find the correct installation for your
system.

=-=- dbm.1.0 troobleshooting =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> This package relies on external (system) dependencies that may be missing. `opam depext dbm.1.0' may help you find the correct installation for your system.

要するに「さっさとinstallしてくれよ」って事みたいなので、ご丁寧に提示までされているコマンドを叩き込んでいきます。

いろいろ聞かれても基本すべて「Y」で。

それにしても

opam depext

って何なんでしょう?

ただ、これでもエラーは無くならない。

仕方なく

opam swtich 4.04.0

としてから(現時点で最新ぽい)、再度

opam install eliom

とすると、どうやらうまくinstallできた様子。

ここで

/home/develop/

とかディレクトリをmkdirしてから、cdしてdevelopの中に入り、おもむろに

eliom-distillery -name hello

とか(helloは適当です)すると、helloディレクトリが作成されて、勝手にファイルが作られます。

なんだか懐かしいw

で、helloに入ってから

make test.byte

とすると、最終的に

ocsigenserver  -c local/etc/hello/hello-test.conf

と表示されて、ブラウザから「localhost:8080」とすると

メデタク「Welcome from Eliom’s distillery!」と表示されました。

 

ようやくスタートラインに立ったという感じですが、今後は以下のような機能について実装の方法を試していこうと思っております。

基本はwebサイトの構築が目的なので、最初は目に見えやすく、言語習得の効果が実感しやすいところから始めようと思います。

(いずれ必要ではあるが)あまり目に見えにくい部分であるocsigenserverの設定についてなどは、とりあえず後。

  1. HTML記述による簡単なwebページの表示、できればsmartyなど使ってテンプレートで表示できればベター。
  2. form画面を作成してgetやpostのデータを取得できるようにする。
  3. DB(とりあえずMySQLでもなんでもOK)に接続して、簡単なSELECTを発行してデータを取得して、適当な変数へ格納する。
  4. 取得したデータについて、簡単な集計・値の操作を行い、それをwebページとして表示する。
  5. セッションを利用したログイン・ログアウト画面の実装

ここまでできれば、ある程度開発はできるようになるだろうと。

その後はeliomについて調べたりして勉強しようかなと思っております。

 

しかし自分でこんな事を書いててつくづく思うのは、初心者向けのOcaml解説コンテンツ(本もサイトも)無いよなぁという事。

そもそもOcamlがプログラミング初心者の触るような言語ではないという見方もあるのかも知れないが、それでいて片方では「PHPなんてウンコ」と批判するというのはどうなのかなーと思います。

Ocaml利用者の裾野が広がって、PHPが駆逐されるような事になってくれば、既存の技術者にとってもいろいろなメリットがあるんじゃないかと思うんですけどね。

具体的には、新規開発において今まではJavaやRuby、PHPなんかの比較的メジャーとされる言語が採用される可能性(メンテにかかる要員の確保が楽とかそういうレベルで)が高かったと思うんですが、人的な懸念が無くなって母国語でのマニュアルや解説などのコンテンツが増えてくれば、「Ocamlでやってみますか」となりませんかね、ならないですかそうですか。

 

周りのOcaml使いの人に言わせると

「開発やメンテのスピードがPHPなんかとは桁違いに早く簡単になる」

「バグ発生の確率が激減する」

「そもそも開発が楽だし、実行スピードもCと同等」

という自慢メリットを散々聞いているので、「ほんまかいな」という気分です。

今年はそれを確認する一年となりそうです。

 

Git雑感

あけましておめでとうございます。

今年も宜しくお願い致します。m(__)m

 

という事で、2017年は「すぐやる」をテーマに余生を無駄なく過ごそうと考えております。

本年最初のエントリは仕事な話題ですが、「あぁ、米蔵はこんな仕事してんのか。」的に斜め読みして頂けると嬉しいです。

 

システム開発におけるバージョン管理システムの一つとして「Git」がありますが、この歳にしてようやく重すぎる腰を上げてちゃんと使い始めたので、「使い始めたばかりの初心者が思うこと」について書き残す。

相変わらず批判的文章の羅列になりそうだが、決して「もうやだ!」という感じではなく、それなりの恩恵は感じております。

まず、思いつく恩恵として、当然ですが作業履歴の確認が容易という点が挙げられる。

数百のソースファイルを日々改変・追加を行っていると、自分でも若年性なんちゃらを疑うほどに光速の速さで過去に行った作業内容を失念していきます。

ひどい時には先週行った作業の内容を思い出せないとか、「これ、いつ書いたんだっけ?」というような事がザラに起きる。

ましてや複数のエンジニアが混在するプロジェクトなどでは、ソース修正の全履歴を記憶するなど不可能に近い。

今までは記憶を頼りにソースを追いかけたり、指示メールなどを探して記憶をほじくり出していたんだが、Gitを使うことによって「いつ、どのブランチで誰が行った作業か」というのを検索できるようになったのは大きい。

特定のソースファイルについて、「この処理はなに!?」みたいな時も、Git上で行った作業ならば以下のコマンドでパッと履歴を確認できる。

git log -p ファイル名

自分の作業を忘れるような貧弱な記憶力を持つ私のような似非エンジニアにとって、これは素晴らしい機能である。

もう一つの素晴らしいと感じた機能は、コマンド一発で実環境への反映が一瞬で行えるという点がある。
※1 裏返すと「全修正や機能の追加内容が一瞬で反映されてしまう」とも言えるのだが、もちろん元に戻すのもコマンド一発で行えるので安心ではある
※2 ignoreでGit管理対象外とした設定ファイルなども更新する必要がある場合には、これまで以上に注意する必要がある。コマンド一発で反映OKという事に慣れてしまうと手動更新が必要な案件の場合にそれを失念する可能性が高まるという意味で。

ローカル環境で容易に開発・検証を行える事もGitの恩恵の一つだと言えるが(まぁこれはVMWareなどのゲストOS活用による恩恵がほとんどだが)、完成した機能を実環境・サーバへ反映するにも、mergeやpushなどのコマンドで一発反映できるのは、いままでチマチマと一つ一つのファイルについて確認しつつアップロードしていた身としては、隔世の感というのは言い過ぎとしても、作業時間の大幅な短縮やミスの撲滅という意味で、かなりの恩恵があると言える。

また、ブランチという機構によって作業内容を分割して管理でき、必要に応じて都度切り替えながら作業を行えるというのも、作業テーマを把握しやすく仕掛中の内容についてどのような作業を行ったのか確認しやすいというのも大きなメリットの一つである。

複数のエンジニアがよってたかって開発を行うようなプロジェクトにおいても、他人の作業内容をすぐに自環境へ取り込めるという点も素晴らしい。

あんまり使いたくないので、不勉強のままではあるが、基本的に修正や削除などはご法度とされる履歴の改変なども自由に行なえるし、よくできているシステムである。

ただ、今まで一つのシステムに対して複数の作業案件を抱えながら、並列的に作業を行い、都度検証環境や本番環境へ反映していた立場としては、上記で列挙したメリットが時としてデメリットにもなってしまう事に気付いた。

以降、多少批判的になってしまうが、それらデメリット(あくまでも今までの古いやり方と比較してであるが)を挙げていく。

 

Git初心者がほぼ確実にぶち当たる関門として「ブランチ作成時のmaster把握」というのがある。
※「そんな凡ミスやらかすのはお前だけ」という説もある

一つの案件を開始する時に、ブランチを作成してそこで作業を行っていく感じになるが、ここで問題となるのは「どのブランチから枝分かれさせているのか」という事の認識を疎かにしたまま突き進んでしまう事。

特にブランチがいくつも混在しながら開発を進めた状態で、よく分からないままデフォルトで提示されるブランチから枝分かれさせてしまうと、作業が完了して実環境へ反映した瞬間に不具合が多発するなどして大変な事になる。(なった)

要するに意図しない機能までもがリリースされてしまうという事。

Gitのリポジトリ構成はそれぞれのプロジェクトや設計者によって異なると思うが、どのようにして管理され、どのように自らのブランチを派生・管理するのかというのを、完全に把握しないと駄目だなと感じた。

ただ、この辺はGitの設計思想や操作方法をある程度理解しないと把握しずらい部分でもあるので、初めての環境やプロジェクトで、まずは既存システムの内容等を把握する事が最優先とされる場合に二重の負担となる事が予想され、ただでさえ頭に詰め込む情報量が多いのに、そこへ更にGitの仕組み・操作方法なども習得しなくてはならないというのは、特に初心者にとっては苦痛となるだろう。

なので(なんでもそうだが)「早いとこ始めておきなさい」という事ですね。
※今年こそはOCamlを…

 

Git運用の面倒な点としてコンフリクトの発生と解消を挙げている人も多く見られるが、個人的にはmergetoolやEmacs上で使えるmagitのediffで比較的簡単に解決できるため、それほど面倒だとは感じていない。(今のところは)

というか、それほどこのmergetoolやediffが素晴らしいという事なので、開発環境への導入は必須と言えるだろう。

コンフリクトは、もう「どちらのソースが正解か?」というのを見て判断するしかないし、システムを把握していればある程度は容易に解決できると思われる。

まぁ、他エンジニアとの調整などが発生すると、それはもう技術云々とは違う次元で面倒なのかも知れないが、今のところそのようなカオスな状況には遭遇していない。

 

前置きが長くなったが、現状で最も「これはやりにくいなぁ…。」と感じている部分。それはまさに案件毎にブランチを分ける事によるファイル・処理の住み分けである。

といっても私しか分からないかも知れないが。

 

例えば、Aという案件があって、Aブランチで作業を開始します。

サクサクと作業を進めていって、完成しました。

で、ここで新たにBという案件が差し込まれたとします。

Bブランチを作成して、ここでも作業を行いますが、新規で追加するファイルが大量に発生しました。

ここまでは特に問題は無いのですが、追加したファイルに対してA案件で作成した処理の一部を反映する必要が出てきました。

今までのやり方(バージョン管理システムを使わずに複数の要件を1ファイルに反映できる)では、特に問題無く、そのまま反映できたのですが、

ブランチで分割してしまうと、仕掛中のBブランチにA案件の処理を入れるのは難しくなります。

なぜかと言うと、もしA案件で追加修正などがあった場合にBブランチ上のファイルに対しても同じ修正を行わなければならなくなるというのと、そもそもブランチで案件を区切った意味が消失する(ような気がする)からです。
※A案件の作業内容をあとから把握したいとなった場合にBブランチの内容まで見る必要が出て来る

方法論的には、ここで「A案件の機能をB案件上で追加したファイルに反映する」というCブランチを作成して対応するべきなのかも知れません。

ただ、そうなると今度はもしAブランチを先にリリースした後でBブランチをリリースするとなった場合に、CブランチのリリースもBブランチのリリースと同時に行う必要が出てきます。

これをもし失念すると、Bブランチで追加した新規ファイルにはAブランチで開発した機能が盛り込まれないままとなり、不具合の要因となる可能性が出てきます。

それじゃやはり、BブランチにA案件の機能を盛り込んだファイルを作成するか…となると、もしAブランチに対して修正する必要が出てきた場合にBブランチに対しても同様の作業を行う必要が出てきます。

正直、この辺で

「うっわ、メンドクサー…。┐(´д`)┌ヤレヤレ」

となるのです。

なんだか、複数のブランチで共通のファイルを取り合っている感じです。

こんなケースは日常的に発生すると思うんですが、エンジニアの方々はどうやってるんだろうかと。

「そんなもん、一つのブランチでやっちまえばいいじゃないか。」という事なんだろうか。

 

「この案件が終わってから、次の案件にとりかかりますよ。終わらないうちは次の案件の作業はしません。」なんて現実には出来ないですもんね。

同一システム上の複数案件を並行して進めるというのが普通だと思います。

 

と、雑感というかほぼ初心者なりの「愚痴」なわけですが、上記の問題を除けば概ね素晴らしい仕組みです。

いや、こんな問題など問題でもなく、ちゃんとした解決方法ややり方が存在する可能性は99.9999%だと思います。

ただ、今は思いつかない…。

 

便利で自由で合理的、だから使うべき。という理屈が闊歩する世界でも、そこには使ってみないと分からない不便も束縛も理不尽さも時に存在するというような事を思った年初でありました。

それでは皆様、今年も良い一年にしましょう。

 

iqosの分解

友人から頂いたiqosを愛用しておりましたが、友人購入後ちょうど一年が経過するかどうかというところで不具合が出てきました。

ソニータイマー並みの正確さで驚きを隠せません。

不具合の内容はというと、蓋が閉まらず充電ができないというものです。

ググると同様の不具合が山ほど出てくるので、皆さんお困りのようです。

で、早速交換してもらえるかなーと思い、iqosに電話してみたんですが、保証期間が切れているという事もあり「掃除してみると直るかもYO!」と教えられて終わりました。

ズボラな私ですが、さすがにiqos機器の掃除くらいはしております。

そこでまたもや、自分でなんとかできないか病をまたもや発症させてしまったので、以下。

 

まず、爪の部分が引っ込んでしまって出てこない事が原因だと思われたので、分解してバネを広げるとかしてやればOKなんじゃないかと。

iqosはネジが無い構造なので、爪&両面テープで止まっているはずと判断し、一番小さなマイナスドライバーでグリグリとやります。

この時点で大量の傷がついてしまい、あとには引き返せませんね。

 

で、両面カバーやスティック挿入部などを分解すると、ようやく爪部品が取り出せます。

20161219_062137839_iOS

ツメ部分は金属のバネ部分にプラスチックの爪部分が接続されて構成されているようです。

なんだかんだやってる時に「ポキ」と折れてしまったので、まず瞬間接着剤で修理。

20161219_062239457_iOS

ボタンの部分は金属かと思ってましたが、光沢のある塗装でした。

つか、この部分はすべて金属にするべきじゃないかなーなんて思いました。貧乏くさい事するんだなぁ。

 

充電の仕組みとしては、やはりバネを内蔵している接触部分を押し込む事で充電が開始されるようです。

20161219_062632536_iOS

ぐっと押し込んでやると充電されました。

「この押し込むところのバネ取っちゃえば、入れるだけで充電開始されんじゃね?」とも思いましたが、一体部品になっていて、分解などは無理な感じで断念。

 

で、さきほどの爪が完全にくっついた事を確認して、元通りに組み上げます。

20161219_064046088_iOS

めっちゃ小さなゴムのワッシャーみたいなのがあるので無くさないように要注意です。

結果的には爪が出て来る事はなく、分解作業も徒労と終わりました。

とりあえず、マジックなどで押さえつけて充電させるしかないようです。

いやしかし、充電池が劣化するよりまえに、こんな機械的な構造部分でおかしくなるとは、

「ほんとに開発に20億ドル、10年もかけたんですか?!」

と言いたくなるのをぐっとこらえて、使い続けますよええ。

 

【小物】インフレータブルマットへのエア入れ【自作】

キャンプの片付けって、いつも結構な労力になるのでなんとかならないかと思っております。

テントについては、ケシュアにしたおかげでかなりの省力化となりましたが、まだまだ特に冬キャンプはモノが多いので大変です。

私の持っているのは「2 SECONDS XL AIR ILLUMIN III 3人用」というヤツで、もう売ってないみたいだな。

以前書いたエントリはこちら。

【Quechua】2 SECONDS XL AIR ILLUMIN III【買ってみた】

 

一番面倒なのは、何と言っても寝袋やインフレータブルマットなどの空気を抜いたり圧縮して袋に入れる必要があるもの。

タープや薪ストーブの撤収も手間がかかるけど、モノが大きいというだけで、それほど大変という印象は無い。

 

寝袋やインフレータブルマットについては、膝でダウンや化繊が含んだ空気を押し出しながら丸めていくんだが、これが結構体力を要します。

適当にやると最終的に袋に入らなかったりするので、気が抜けない所もあります。

で、なんとかならんかと思っていたら、他にも同じ事を考えている人が沢山いるみたいで、インフレータブルマットについてはポンプで空気を入れたり抜いたりできるようです。

早速、ホームセンターへ行ってホースを購入してきました。

20161210_072146385_iOS

各10cmづつです。

確か太い方から、

内径:外径

25mm:33mm

18mm:23mm

12mm:16mm

こんな感じだったかな。間違えていたらすいません。

差し込むと僅かな隙間はありますが、ほぼジャストで連結できます。

 

一番太いホースは、コールマンのインフレータブルマットにジャストで適合。

20161210_072217942_iOS

そして、一番細いホースは、足踏み空気入れのホースにジャストで適合します。

20161210_072358608_iOS

とりあえず、各々のホースを差し込んだ状態でガムテープで接続。

息子に踏ませてみると、みるみるマットが膨らんでいきます。

20161210_073017033_iOS

ほんの数分でパンパンになりますね。

ただ、テントの中で行うとなると窮屈な体勢で行う事になるので、ここまで早くは出来ないかと思いますが、それでもかなりの省力化が期待できます。

膨らませた状態で、寝転がってみたがちゃんと膨らんでいるので底付きもなく痛くありません。

20161210_073358213_iOS

で、次に空気を抜き取る側でも使ってみましたが、これも見る見る空気が抜かれていて、膝などで圧縮しなくても単純に巻いていくだけでスンナリと袋に収納できました。

使ってない空気入れと100円ちょっとの投資で、便利な小道具の完成でした。

20161210_073827438_iOS

 

で、残るは寝袋だなぁ。布団圧縮袋とか使うと楽になるかなとか考えてます。あの逆止弁が付いてるヤツですね。

買った時に付いてくる収納袋に入れなきゃダメっていうルールは無いもんね。

 

そういえば先日寝袋を購入したんだが、これがかなりイイ。

寝袋の中で寝返りがうてる可動性を持たせた、ゆとり設計。

実際、広げてみると普通の寝袋よりも二回りくらい幅があります。

20161207_015340041_iOS

20161207_015351634_iOS

寝心地も良い。フローリングの上に直接敷いて寝てみたが、暖かくて思わず寝てしまいそうになります。

安いダウンに有りがちな、特有の臭いも無く、素敵な寝袋です。

 

ただ、3.4kgという重量級な寝袋なのでサイズもそれなりに大きい。

かなりしっかりと空気を抜きながら丸めないと、きれいに収納するのは難しそうです。

モノが大きいので、結構大変そう。

今度、布団圧縮袋を試してみよう。