7rpn’s blog: うわああああな日常

好きなことをつらつらと。AIとかで面白いことをしたい。

誰も知らない夜景の名所へ。岩屋堂公園-岩巣山展望台を歩く

愛知県で今一番Hotな紅葉狩りスポットと言われている,岩屋堂公園へ行ってきました。 もちろん愛用のGM1を持って。

岩屋堂公園はYahooで"愛知県 紅葉"と検索すると二番目に出てくるくらいなので,愛知県の人には有名なんですかね。
ただ団体客が多すぎだと思います。今回は一人で行ったのですが超肩身が狭かった。次行くときは誰かと行こうと思いました。

瀬戸のかなり山奥に位置していて,歩きで来ている人は多分皆無だと思われます。ほぼ車で来ている人ばかりで,数名が自転車やバイクって感じ。
行った19日時点で紅葉はかなりピーク過ぎている感がありました。今後紅葉を見たいと思ったら京都とか南に行くしかないのか笑

とりあえず,一人旅にしては楽しかったのでざっとハイライトでも書いていきたいと思います。

紅葉

f:id:s7rpn:20151124011004j:plain:w600

紅葉が綺麗。
ただ結構散っていました。先日の雨にやられたんですかね。

でも今日ここへ来た理由は紅葉狩りだけではないんですよね。なのでちょっとくらい紅葉が散っていても気にしない事にしました。
ちなみにライトアップ後にも紅葉の写真を取ったので,あとからまた出てきます。

他の見どころはどこかなって探していると,滝が見られるらしいので滝へ。
何も感想がない。滝。

f:id:s7rpn:20151124010411j:plain:w600

展望台への道のり

実は今日岩屋堂公園へ来たのは,紅葉が見たかったってのもありますが,一番の目的は夕焼けを見に来たんです。 なんとなく夕焼けが綺麗になりそうな空だったので。

というわけで,本日のメインとなるであろう展望台へ。
”滝側からの道は初心者によろしくない,入り口側を勧める”みたいな看板があったけど気にせず進みます。足場がめちゃくちゃ悪いけど頑張るしかない。
展望台へ向かってずんずん進みます。 f:id:s7rpn:20151124011625j:plain:w600

f:id:s7rpn:20151124011729j:plain:w600

途中で遭難したのかと勘違いするレベルで道が崩れてたりしていました。
これよりもっと道っぽくない山をいくらでも登ったことがあるので,まぁ最初はいけるっしょって感じでした。 ただ辺りが暗くなって来ると余裕もなくなり少し不安げに。
結構これやばいっすよと思いながら登ってました。真っ暗になったら帰れる自信はないので。

f:id:s7rpn:20151124011812j:plain:w600
予想が当たって夕焼けがめっちゃ綺麗そうな予感。
ただ展望台にはまだ辿り着きません。

f:id:s7rpn:20151124012541j:plain:w600
上ってたらすごい場所に出ました。木を掴みながら岩を上ると一気に視界が開けたんです。
視界が270度くらい開けてて,山が低い位置ずーっとに広がっているっていう。すごい感動。 もちろん岩から落ちたらただじゃ済まない感じです。
写真じゃよく分からないけどマジで高ぶりました。

f:id:s7rpn:20151124014058j:plain

そしてその場所から見る夕焼け。やばい。ここまで来た甲斐がありました。
展望台へ急ぎます。

そして,展望台へ

やっと念願の展望台につきました。
夕焼けが綺麗で,時間が経つのも忘れてぼーっと夕焼けに見入ってました。
展望台には自分以外誰もいなくて,心行くまで景色を独り占めできます。笑

というわけで,今日一番の景色 はこれですね。
これまで色々な夜景の名所に行ってきましたが,ここまで感動できる風景はなかなかないと思います。
瀬戸から名古屋まで遠くに広がる夜景,山の先には綺麗な夕焼け,眼下には紅葉のライトアップ。 f:id:s7rpn:20151124013438j:plain 最高じゃないですか。

山下り

ただ自分は大きな過ちを犯しました。
夕焼けと夜景を楽しむってことは,もう日没直前ってことです。てことは,真っ暗な山道を下って行かければならないわけです。
正直,真っ暗な山道を自分は下れるか怪しいと思いました。遭難まっしぐらかもしれません。
ライトはiPhoneのフラッシュだけです。しかもさっき先日熊が出没したとかいう看板もありました。

基本夜に山を下るときは来た道を戻るのが鉄則で,通った事のない道をいきなり通るのは危険だと考えられてます。たださっき来た道を下るのはちょっとつらい感じかもしれない。
もう一つの道が舗装されている事を祈って,登って来た道とは違う道で下山する事にしました。

山を駆け下りる

まったく舗装されていない!!酷い道だ
f:id:s7rpn:20151124013754j:plain:w300
無我夢中で駆け下りました。一寸先は闇なので速度出しすぎると落ちて死ぬ
途中岩登ったりした気がするんだけどあれ正しい道なんだよね?

明かりが見えたときはとても安心しました。

夜の山道は危険だ

山道を降りきったら,こんな看板が立っていました。
f:id:s7rpn:20151124015229j:plain:w600
いや聞いてないし。向こうの道から登ったんですけど。

でもこんな看板が立ってるってことは,よっぽど無謀な試みをする人以外はあの綺麗な夜景が見れないんだなぁと思うと,ちょっともったいない気もします。

ただ,正直熟練者じゃないと真っ暗な山道を歩くのはやめた方が良いと思います。
一歩間違えたら誰も助けにこない山道で遭難とかありそうだし,次からは一人で夜の山道を歩く事は避けたいですね。
それでももし行くとしたらiPhoneのライトじゃかなりで心細いので,良いライトを持って行きましょう。笑

ライトアップ

降りた先はどこだここ?って感じでしたが,ちゃんと岩屋堂公園の中に戻って来れていました。 紅葉のライトアップが行われていて,とても綺麗でしたね。

f:id:s7rpn:20151124024120j:plain

f:id:s7rpn:20151124015839j:plain

f:id:s7rpn:20151124022158j:plain

岩屋堂公園名物の橋。ここの景色の写真を大砲みたいなレンズ付けたカメラガチ勢が撮りまくってました。
自分もほぼ同じアングルですが,この写真結構好きです。偶然縦にぶれてしまい,それがなんとなくノスタルジック。

いい日でした。

RubyのTwitter gemを使ってTwitterのタイムラインを取得する。もっとたくさん。

前回タイムラインを可能な限り昔に遡って取得しようとしたのですが,twitterの仕様かそれほど昔まで遡れませんでした。
タイムラインが遡れないのなら,followerのつぶやきを一人ずつ遡って後から統合すれば超昔まで遡れるタイムラインになるんじゃね?って思って組みなおすことにしました。

require "twitter"

#とりあえず雛形
client = Twitter::REST::Client.new do |config|
    config.consumer_key = "hogeeeeeeeeeeeeeee"
    config.consumer_secret = "hugaaaaaaaaaaaaaaaaaa"
    config.access_token =  "fooooooooooooooooo"
    config.access_token_secret = "piyooooooooooooo"
end

#friend一人ずつ,遡れるまでtweetを取得
client.friend_ids("#{あなたのscreen_name}").each_slice(100).each do |slice|
    client.users(slice).each do |friend|
        bef_id,max_id = -1, client.user_timeline(friend.screen_name).first.id
        loop do
            client.user_timeline(friend.screen_name,{max_id: max_id,count: 200}).each do |tweet|
                puts tweet.user.name
                puts tweet.user.screen_name
                puts tweet.full_text
                print "Fav: #{tweet.favorite_count}, Retweet: #{tweet.retweet_count}\n"
                max_id = tweet.id unless tweet.retweeted?
            end
            sleep 60
            break if max_id == bef_id
            bef_if = max_id
        end
    end
end

一日走らせ続けて100ユーザー分くらいを取得できます。体感で数年分は遡れてるはず。もしかしたら全部いけてるかな?
sleep 60より短くしても大丈夫な気もするけどチキンなので試してないです。笑

それでは,RubyでよいTwitterライフを!

GM1のキットレンズを分解した。

LUMIX G VARIO 12-32mm/F3.5-5.6がぶっ壊れました
私のミラーレスの愛機,GM1に付属のキットレンズです。

まあ自分が壊したんですけれどね。
飲み会で写真撮ろうとして,カメラを棚に置いてセルフタイマーをセットした次の瞬間,手を滑らせてカメラが床へ転落
一瞬で酔いも醒めました。"がっちゃん"という派手な音とともに,曲がって収納できなくなったレンズ。 ズーム部分が一切回せなくなったわけです。

電気屋に持って行ったら修理費用は一万5000円らしい。高すぎ。自分で直してやれ,ってことで分解してみました。
結論から言うと,クソ難しいです。小型化を突き詰めたレンズなので,内部もものすごく精密でした。 分解でドライヤー(≠ドライバー)なんて初めて使ったから。

結局,沈胴機構を動かせるようにしないとすべてばらすことができなく(どうしようもない壊れかたしてた),直せずに元に戻しました。

f:id:s7rpn:20151112211023j:plain:w600
今見ても酷い壊れ方ですね。

分解レポート

必要な道具

  • ドライバー
  • ドライヤー
  • ラジオペンチ
  • 0.3mmのシャープペン

早速分解の詳しい手順を書いて行こうと思います。分解系の記事書くのは初めてかつ手順がうろ覚えなので分かりにくいかもしれませんが,まぁ大目に見てあげてください。

1. 金属部分の抑えと裏蓋を外す

ドライバーを使って,裏蓋部分の黒い場所と銀色の場所を外しましょう。
普通にネジを外せば難なく外せます。 f:id:s7rpn:20151112212815j:plain:w600

2. 後玉部分の基盤をバラす

ケーブルを止めている部分のネジを外して,ほかに押さえているネジを全部外しましょう。 f:id:s7rpn:20151112214002j:plain:w600

f:id:s7rpn:20151112214445j:plain:w600

3. ドライヤーを使って,ローレット加工されている金属部分を外す

このレンズのローレット加工部には,熱可逆性の接着剤が使われています。(つまり熱で粘着力を失う接着剤) ドライヤーでゆっくりローレット加工されている部分を暖めましょう。完全に暖めたら外すことができます。
黒い部分に触ると手が汚れるので注意しましょう。笑
これから先にやった方がいいかもしれない。

価格コムとか見てるとこの外装部分が外れるっていう初期不良が流行っているみたいですが,おおかた暑い車の中に放置したとかうっかり暖めてしまったっていうのが原因だと思ってます。

f:id:s7rpn:20151112211800j:plain:w600

4. 現れたネジを外す

接着剤で金属部分を外すとネジが隠れているので,そのネジを外しましょう。これで後ろ玉部分一式が外れる準備が整いました。

5 .上部レンズ部分を外す

ケーブルが基盤にピンで接続されていますが,これをラジオペンチ(もしくはピンセット)などで外しましょう。 あとはネジを外して,上部のレンズ部分(いわゆる後玉部分)一式が外れます。 f:id:s7rpn:20151112214542j:plain:w600

6 .沈胴させてレンズ部分を取り外す

んだと思います,多分…

これで一通り分解が終了すると思います。手振れ補正部分は今回触りませんでしたが,かなり精密っぽそうなので分解したら即戻すの不可能,とかになりそう。笑
自分は沈胴機構自体が死んでたので,この先へ進めませんでした。 だれかレベルの高い分解師さんいたらこの先よろしくお願いします!笑

あと戻すときにケーブルをピンに接続するために,細い棒が必要です。 持ってなかったので0.3mmのシャープペンで代用しました。
今思うと縫い針とかでやれば良かったかもしれない。

接着剤部分はまたドライヤーで暖め直して,くっつけてあげればおっけー。
価格コムとかではテープでとめるとか接着剤でつけるとかいう方法が流行ってますが,その辺は好みですかね。
自分は取り返しのつかない事はしたくないので接着剤は怖いです。笑

分解難易度は?

半端じゃない難易度だと思います。PSPの10倍は難しかった。iPad Airと同じくらいかな。いやそれは言い過ぎか。

まぁ誰も分解していないものなので,試行錯誤が必要な分,難しく感じたってのはあるかもしれません。

このレンズにまつわるあれこれ

高級感あふれる金属デザイン

分解して分かったんですが,外観の金属部分はすべて(熱可逆の)接着剤でとめてあるだけです。

高級感にあふれる金属外装を採用したデザイン

このレンズのパナソニック公式の売り文句です。接着剤でとめた高級感()

まぁ小さいだけあって中身はすごく詰まってますね。
レンズなのに演算回路とか必要なのかと思ったり。

レンズの写りごごち

レンズの筒部分が曲がってるだけあって,すごい絵が撮れます(泣)。中心にだけフォーカス可能で,周辺はかなりのボケ。

f:id:s7rpn:20151112215006j:plain:w600
作例はこんな感じ。取りたい被写体を浮かび上がらせるのに良いかなぁ。
誰か5000円くらいでこのレンズ買ってください。笑

壊れていないこのレンズの写りは多くレビューがある通りです。
可もなく不可もないって感じで,コンパクトさだけを突き詰めたレンズですね。 写りはミラーレスのクオリティは確保していますよって感じ。
もう少し解像するといいなぁとも思うけどこの小ささなら無い物ねだりかな。

キットレンズで取った作例を他の記事でアップしているのでぜひ見ていってください。

まぁ直せないと分かったことですし,アマゾンでレンズ買います。 Leica 15mmにするか同じレンズのままにするか超迷い中。

RubyのTwitter gemを使ってTwitterのタイムラインを取得する。たくさん。

Twitter gemを使って自分のタイムラインを遡れるところまで全部取得したいなーと思った。

まぁググっても良い記事がヒットしなかったんですけどね。 検索して出て来たやつのほとんどがタイムラインを20件だけ取得して満足してる記事だったっていう

client.home_timeline.each do |tweet|
    puts tweet.full_text
    puts "Fav: #{tweet.favorite_count}, Retweet: #{tweet.retweet_count}"
end

みんなこれ。うける
自分はグーグルを使ったサーチ能力が低いんですかね。

俺はもっと過去にまで遡ってタイムラインを取得したいんだよ!!!!
というわけでドンピシャ記事が見つからなかったのでブログに書き残しておきます。

実装

とりあえず雛形。お約束。

require "twitter"

client = Twitter::REST::Client.new do |config|
  config.consumer_key = "hoooooooooo"
  config.consumer_secret = "huuuuuuuu"
  config.access_token = "heeeeeeeee"
  config.access_token_secret = "haaaaaaaaaaaa"
end

ここまではみんな一緒。

たくさん取得したい場合,client.home_timelineに引数を与えて色々やるみたい。
ていうわけで,永遠にタイムラインを取得し続けたかったので以下のような感じで書きました。

max_id = client.home_timeline.first.id
hoge.times do
    client.home_timeline(max_id: max_id,count: 200).each do |tweet|
        puts tweet.user.name
        puts tweet.full_text
        puts "Fav: #{tweet.favorite_count}, Retweet: #{tweet.retweet_count}"
        max_id = tweet.id unless tweet.retweeted?
    end
    sleep 60
end

風の噂でタイムライン取得の制限が15分で15回って聞いていたので,一応sleep 60してあります。
hogeは好きな数字で。5.timesなら5*200でtweetが1000件返ってきます。

max_idでタイムラインを読み込み始めるツイートを指定して,順に昔へ遡って行く感じ。

まぁノリで書いたので適当なところ調節してあげてください。
ていうか見つけられなかっただけでもっと良い方法もありそうな気がします。

追記:
この手法だとTwitterの仕様なのか数週間程度しか遡れません。Timelineってそんな遡れない物なのか。
ユーザーごとに個別にツイートを読んでいく方がたくさん読めそうなので,プログラム自体を書き直す予定です。

=> 数年分遡れるように書き直しました!
RubyのTwitter gemを使ってTwitterのタイムラインを取得する。もっとたくさん。

プログレスバーを簡単に。each_with_animというRubyのgemを作りました。

RubyCUI上でループ時のアニメーションが楽に作れる,"each_with_anim"というgemを作りました!
require "each_with_anim"するだけでArrayとかHashとかにeach_with_animメソッドが追加されます。
ループが終了する残り時間も推測してくれる機能付き。 Rubyのプログラムを書くとき,これがあるとちょっと便利。

f:id:s7rpn:20151104115536g:plain

使い方

each_with_animはeachと同じように使えます。
eachと同じ振る舞いをしつつ,ループの進行状況を表すアニメーションが追加されます。

require "each_with_anim"

array = ["huga", "hoge", "foo", ... ]
array.each_with_anim do |elem|
  #something
end

f:id:s7rpn:20151104115536g:plain

with_indexとかもeachと同じように使えます。
あとeach_with_animationと書いてもeach_with_animと同じ働きをします。

array = (1..3000).to_a
array.each_with_animation.with_index do |elem,i|
  #something
end

同様に,引数を取ってアニメーションを変えることができます。今後増やして行く予定。

list = %w(hage hoge foo) * 100
list.each_with_anim(1) do |elem|
  #something
end

f:id:s7rpn:20151104112443g:plain

インストール方法

$ gem install each_with_anim

で引っ張って来て,

require "each_with_anim"

requireするだけ。
あとは好きなようにHashでもArrayでも.each_with_animしちゃってください。

現状の問題

each_with_animに渡すブロック内でprintすると表示がバグります。
解決策を絶賛探し中。

list = %w(hage hoge foo) * 10
list.each_with_anim do |elem|
    puts "piyoo"
end

Rubyプログレスバー系で一番見た目が美しく,簡単で便利なものを目指しました。
初めてライブラリ作ったのでまぁお手柔らかにお願いします笑

時間がかかるようなeach処理のとき,例えばActiveRecordとかで大量のデータを書き込むときとか,これがあるとちょっと便利だと思います。

License

The gem is available as open source under the terms of the MIT License.

自由に使ってください。

Jupiter iRubyをMacにインストールした

iPython notebookのRuby版。使えるようになったら色々便利なんだろうなーと思ったので入れてみました。

$ pip install jupyter
$ gem install iruby
$ brew install zeromq

Qiitaにはこれでいけるっぽいって書かれてたけどエラー出る。
anaconda入れてないのが原因か?でもPython環境もう作ってあるしわざわざ入れたくないなーとか思って他の方法ないか調べる。

結局,rbczmqの依存で引っかかってたぽい。

$ brew install libtool autoconf automake

これで解決。よかった。

科学系のことやろうとするとPython一強な感じなので,Rubyも強くなってくれるといいなーと願ったり。

スケートボードって移動するのに最強だと思うんだけど

なんでみんな移動にスケボー使わないの?

ママチャリって20kgくらいあるじゃないですか。とても手で持ち運べる重さではないですよね。
でもスケートボードって1~2kgとかそのレベルなわけですよ。
軽いからどこにでも持ち運べるし,安いし,速度はママチャリと変わらないし,どこをとっても最強。なのにどうしてスケボーはこんなに流行らないのか。

というわけで,スケボーの最強さを語っていきたいと思います。
いわゆる公園とかで技を決めるーとかそういうのではなく,単純に移動に使うためのスケボーです。ミニクルーザーとかの話。

スケボーを使うメリット。

持ち運びに便利。

遠くへ旅行へ行くときに一番コスパ良いのってやっぱり18切符ですよね。ただ行ける範囲が駅周りに限られるのがなんとも...
駅から離れた場所に行きたくて,自転車を持って18切符で旅行した事もありましたが,かなり大変でした。

でもスケボーなら問題無し!5km程度ならさくっと移動できます。持ち運びの邪魔にもならないので,観光も楽しめる!

速い。

道によりますが,ちゃんと整備された道なら20km/hくらい出せます。普通に走る分にはママチャリと同じくらいの速度だと思います。

安い。

自転車だったら中国製の酷い品質のものでも1万円程度はしますが,スケートボードなら2000円くらいから揃ってます。
ペニーとかしっかりした品質のものでも一万円前後で買えるので,とってもお得。

なのにどうして流行らないんだろう。

何一つママチャリに劣るところがないようにみえますが,どうしてスケボーが流行らないんだろう。
というわけで,デメリットを考えてみました。

デメリット

恥ずかしい。

これでしょ。どう考えてもこれ。
友達に見られたらお前名探偵かよって言われる事間違い無し。だから人目を忍んで夜中に乗ってます。

危ない。

危ないんです。ブレーキがないので止まれない。危険が迫った場合,ボードは粉々になっても構わないので自分の身だけは大切にする精神が必要になります。

あとタイヤが小さいので,ちょっとした石ころでも致命傷を負います。
点字ブロックとか気づかずに突っ込もうものなら吹っ飛びます。ちょっと大げさか。笑

まとめ。

自分はスケボーはちょっとした移動に最高だと思います。ただ今は乗ってる人少なすぎてあまり人前で乗れないなーって感じ。
移動の際は自転車に頼ってしまうけど,自転車もスケボーも多くの人が乗ってる時代が来たらいいなーって思ってます。
ていうかみんなが乗れば恥ずかしくないからみんな乗って欲しいなー,みたいな。