山 (ボロ小屋付き) を買って開拓しています

ちょっと前からなのですが、何を思ったか近場の山を買って開拓しています。

やや放置気味の場所で、竹と笹だらけ。

竹と笹の山

ボロ家のほかに崩壊した倉庫もあり。

そしてなんとこの手の物件としてはめずらしくNTTの光ファイバーインターネットが利用できる。

ボロ家と崩壊した倉庫

謎の階段とか、謎の洞窟もあります。

謎の洞窟

あんまり森っていう感じじゃないんですが、ちょいちょい巨木が生えてます。

ちょいちょいある立派な杉

ボロ家の裏にもすごい巨木が。(樹齢何百年とかいう話)

家の裏の巨木

山はただひたすら斜面という感じではなく、ちょいちょい平坦地がある。どうも昔畑として使われていたらしい。

山中にもちょいちょい平坦地が

平坦地を作ろうとすると笹の山ができる。

ここにも笹の山

今は主にひたすら竹と笹を処理しているという状況。あとはちょいちょいボロ家の電気周り工事したり、壁抜きしたり、床直したり。

ここからあんまりどうしようというのは具体的には考えていないけど、しばらくは子供と遊ぶ空間になり、あまり遊ばなくなった頃には仕事空間とかにするかなぁ、という感じ。

なんかほかにも用途があればいいんだけど。

庭に砂場つくったよ

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

さいきんだいぶブログ放置気味だけど、なんかもっと楽にできる良いツールないですかね。ワードプレスに戻ると良いんですかね。。。

去年だけど、庭に砂場つくりました。

木箱

まず木箱を作りました。底板は構造用合板12mm、外側の木枠は杉のデッキ材、四隅に72mmの角材を配置してコーススレッドで固定。

そしたら防腐剤入りの塗料 (キシラデコール) で染める。

木箱を染める会長

乾燥中

乾燥したら、頑張って埋める。

木箱を埋めてるところ

これに砂を入れて完成

正しい砂場の遊び方

砂遊び用の砂っていうのがジョイフルホンダに売ってたのでそれを入れてみたけど、だいぶサラサラで感触もいい感じ。

公園の砂場とはだいぶ違うけど。。。

電気工事士の免状をgetしました

なんだかんだ無駄に資格集めていたが、業務独占はまだ3つ目 (運転免許と小型船舶とこれ)。

試験内容自体はそんなに難しくなく、電子工作ちょっとやってたりすれば、多少試験対策すればすぐ合格できそうな内容だった。

練習後の余った部材が大量にあり、これまた処分がだるだる。。。

すでに先日買ったボロ家の漏電修理とかしています。

とりあえず家中の古めかしくて汚いスイッチやらコンセントやらを総取り替えする予定。

あとCD管の中の配線とかもやり直したいんだけど、流石に難しそうだなぁ。。。

深センのPCBWayで基板製造しました。小ロットだけど。

とうとう手を出してしまいました。

趣味でいろんなセンサーを家中にバラ撒いているんですが、いままでユニバーサル基板を駆使してきたので一つ作るだけでも大変で不器用な自分にとってはなかなかうんざりする作業だった。

いつか深センの格安系基板製造は試してみたいと思っていたけけど、なんだかんだ自分でこしらえてしまっていた。当たり前なんだけど、これ発注するとすげー楽で、見栄えもちゃんと基板だしなかなかの感動モノ。早く使っとけばよかった。時間はかかるけど。

今回はお試し的な感じで簡単なものをオーダーした。ついでに「Sunaga Lab」とシルクまで入れてしまいました。とくに意味ないけど。

基板設計にはKicadを使いました。オープンソースです。

KiCad PCBエディター

オーダーしてから一週間ほどで手元に届きました。配送はOCSを使いました。なんか安めで早い。

製造費が$19.68、輸送費と$13.54でした。小ロットにしては安い。

これはまずいな・・・だいぶ課金してしまいそうだ・・・。

エンジニアだったらエンジン点火プラグ交換ぐらい自分でできないと

そうなんです。バイクの調子が最近悪いんです。

先日オイルとフィルター交換してしばらくアイドルしてたら動かなくなりました。

だいぶ昔にスパークブラグが錆びまくりで動かなくなったことがあり、また交換してみました。

今回の作業はこのあたりの偉大なる先人を参考にさせていただきました。

サイドカウルを外し、ラジエーターをどかした上でスパークプラグコネクタを外し、頑張ってスパークプラグまでたどり着く。

下側から手を突っ込んでやったけど、すごく狭かった。あとプラグレンチ+エクステンションバーでやったけど狭くて上部にあるゴムシート?みたいなものもだいぶ外して作業しました。 それでもだいぶ狭かった。

道具さえちゃんとしてれば、難しいのはプラグからレンチを外すときぐらい。(結構無理やり外した)

だいぶ黒くなってはいるが、ググってみた写真と比べた感じ、そんなにやばい感じだとは思えない。まぁ安いからいいんだけど。

一応エアクリーナーも交換。

このバイク買って10年ぐらい無交換でしたが、猫の毛まみれでした。もちろん色も全然違う。

ついでにガソリン添加剤も入れてみました。

これで自分ができそうな消耗品系はバッテリー以外一通りやった。

とりあえずエンジンがまた始動するようになったので、この後ガソリン入れて6kぐらいまで回して走ったら、再びエンストして動かなくなった。

自分でできそうな範囲では無さそうなのでお手上げ。おとなしくホンダウィング木更津に入院となりました。。。

エンジニアだったらエンジンオイル交換ぐらい自分でできないと

できないといけないということもないけれど、ふと思い立ったので自分でバイクのエンジンオイル&オイルエレメントの交換やってみた。

ググればいくらでも情報があって、自分のようなズボラーな素人でも問題なくできた。

今回は主に以下の偉大なる先人達の情報を参考にさせていただきました。本当こういうの助かります。

今回ミスったこと

オイル受け溶かす

ズボラーなのでオイル受けを用意せず (買うのが面倒というか、オイルで汚れたタライとか考えただけで面倒) で、使い捨てのオイル処理ボックス買ってきて、直でドレインから流し込んだ。 容量的にも余裕があるものをかったので、流し込むまでは問題なし。

作業が一通り終わって、エンジン回しても漏れないかどうかの確認するとき、「万が一オイル地面に垂れたらやだし」と思ってこの箱をおいたままにした。 このときエキパイに思いっきり袋が触れていて、溶けてしまった。

袋が溶けるのは良いんだけど、エキパイ側にべったりついて剥がすのに苦労した。。。

ついでにエキパイ錆取りしたら煙が・・・

エキパイがすごく錆びていたので、ついでにKUREのCRC-336を吹きながらゴリゴリやってしまった。その後エンジンをつけると煙が。

よく考えたらこれ表面コーティングするし、耐熱じゃないし、当たり前だよな。。。

この人はエキパイが非常に熱いものだという考慮がごっそり抜け落ちている様子ですね。反省シナサイ。

ボルトのトルク値探すのに苦労した

ミスっていうわけでもないけど、意外とググっても出てこない。

次の自分のためのメモ: カバーボルト 10Nm, ドレインポルト 24Nm

ドレインボルトは結構遠い

ドレインボルトは意外とつけ外ししづらい場所にある。これ普通の小さいラチェとかで回すだけならできるんだけど、首が回らず90度しかならないトルクレンチとかだとエクステンションバーつけるか、アンダーカウルを両方外すかしないと回せない。

今回はちゃんとトルクレンチで回したかったため、仕方なく両方のアンダーカウル外した。

次回はちゃんとエクステンションバーを買うことにする。

オイルちょっと入れすぎた

凡ミス・・・。

冷めれば大丈夫になるに違いない、とするか、頑張って抜くか。。。

どうでもいいんだけど

エンジニアの語源はエンジンだと思ってたけど、気になってググってみた所どうも違う様子。。。

知らなかった。。。

[読書記録] 「社会正義」はいつも正しい

「人種、ジェンダー、アイデンティティ」とかそういう〈社会正義〉といわれているっぽい、大切そうで面倒そうなものについて、どうして面倒なことになっているのか分析した本。

リベラルっぽいこういうやつが実はリベラルではなく、ミシェル・フーコーなどのポストモダン的思想から来ている危険な思想であると指摘している。

著者の主義主張としてはリベラリズム押しのようなので、そこは踏まえて読む必要がある。

知った

  • 人権がどうとか、ジェンダーがどうとか、そういったものの言説がフーコーやデリダなどのポストモダン的な流れが合ったことは知らなかった。
    • こういった主張の中で、過激な言説であったり、攻撃的な言説、現代科学と矛盾するような言説がよく見受けられるなぁとは思っていた。
    • フーコーがだいたいどういった事を言っていたか、脱構築だとか、パノプティコンだとか、そういうものはなんとなく理解していたつもりだったけど、こことのつながりは認識できてなかった。
  • そもそもこういうやつって、リベラリズムの中の過激派的な味方をするのが正しいと思ってたんだけど、そもそもこの手のやつ (ポストモダン的な) と、リベラリズムが対立の関係にあることが全く分かっていなかった。
    • 本の中では「アクティビズム」とかっていうカテゴライズだったかな・・・。いまいち「あっち側」のカテゴライズ方法がわかっておらず。
    • 左派右派とか、そのあたりから思想のカテゴライズする言葉の意味理解が雑すぎた。
    • ポストモダンの前段として、社会主義・マルクス主義的な立場の人が「資本主義社会の本質的な問題」だと思っていた問題がリベラリズムでだいぶ解決されてしまった、という流れがあるらしい。
    • だから、こういう思想は赤い思想の人たちとの親和性がある。という理解でいいのかな。
    • どうもリベラリズムと赤の繋がりがよくわからないなぁと思っていたが、そういう(そもそも繋がってない)ことだったのか。
  • ファットスタディーとか正気かよと思いつつ、色々と文献読んでいるとだんだん「自分が間違ってるのか?」と思わされてしまう事もあったが、これを読んで自分の感覚は間違ってないはずという事は理解できた。
    • 少なくとも同じ違和感を抱えている人はいるという事
  • (身体等の)障害を考えたとき、えてして「そもそもの普通の能力が社会構築物である」というような考え方はよく見る。それが「1980年代に変質し始めた。」(No.3170) とあるが、これはもっと最近の話だと思っていた。
    • 日本だとそういう思想が入ってくるのが遅いのかな。それともたまたま自分があまり見なかっただけか。
    • まぁ、ある程度境界の問題の重要性はあるにせよ、障害は障害ですよね。
  • いままで持っていたジェンダーがどうのとか、ファットでも問題ないよねとか、障害なんてそもそも「普通」が無いんだみたいな、違和感のあった主張の文脈が何となく一部理解できた。
    • またこの自分の違和感の当然さも理解できた。
  • 日本にも似た構造って結構あるよね。
    • とくに同和問題とか。最近だとColaboもこういう潮流があるのかな。
    • そもそも被害者文化って日本人のメンタリティと親和性ある気もする。

(ファットスタディーズの文脈で)「どんなサイズでも健康で居られるのだと論じた。医学的なコンセンサスでは、この発送は否定されている。」(No.3430)

  • このどんなサイズでも健康で居られるというのはホントかよとも思いながら、そういうもんなんだろうかと信じてい待っていた部分があった。
  • そりゃそんなわけないですよねー。

ファット・アクティビズム、「ファッティリンピック」 (No.3454)

  • 見てみたい。

ペイリーは、〈社会正義〉アプローチへの異論を「シャドーテクスト」として扱う。つまり、〈社会正義〉に対して書かれた批判は、誠実でも有益でもなく、まともな学術として認められるべきではない、という。 (No.4105)

  • 反論を一切認めず、反論したやつを吊し上げるような態度というのは大変怖い。しかし本当に最近良く見る気もする。

Protocol Buffers の oneof をリストする (+テンプレートで) プラグイン作った

Protocol Bufferにて、あるoneofフィールドについてケースごとに処理の振り分けをしたいことがあった。 これ、いくら探しても簡単にできるいい方法が見つからず (探し方が悪いのかもしれない)、結局簡単なプラグインを作った。

別のプログラムのサブプログラムとして作ったんだけど、他にPythonとかでさっと使える簡単な例も見つからず、微妙に苦労したので一応 protobuf-oneof-listing-plugin としてその部分だけGithubで公開しておくことにした。

簡単な実装例程度のソースなので読めば必要なさそうだけど、軽くソース抜粋して作り方をメモしておく。

まずprotobufライブラリをインストールしておく。

$ pip install protobuf

環境によっては--userなどをつける必要がある。あとレポジトリ内のやつはテンプレートによる生成のためもうちょっと色々インストール必要。

protobufのpluginをインポートする。

from google.protobuf.compiler import plugin_pb2 as plugin

リクエストはstdinから来るようなので、それを読み取って CodeGeneratorRequest としてパースする。

import sys

data = sys.stdin.buffer.read()
request = plugin.CodeGeneratorRequest()
request.ParseFromString(data)

入力されたファイルはパースされた状態でrequest.proto_fileに入っている。配列になっていて、複数個ファイルの場合もあるので注意。

リクエストパラメータ (protoc実行時に--hoge_out=XXXXX:./out/とするときのXXXXXの部分) は request.parameter に入っている。この部分はパースとかされず : の前そのままの文字列。

生成結果は同様に CodeGeneratorResponse として生成して、stdout。

response = plugin.CodeGeneratorResponse()

# ... responseに生成結果を色々書き込む ...

output = response.SerializeToString()
sys.stdout.buffer.write(output)

このresponseにはfileフィールドがあり、そこにaddしていくことで結果となるファイルの生成ができる。

f = response.file.add() # f の型は response.File
f.name = "test-output-file.txt"
f.content = "Generation result"

エラーが起こった場合は error フィールドに書く。

response.error = "エラーです"

今回作ったプラグインの主目的であるoneofの場合の処理などは protobuf-oneof-listing-plugin レポジトリ にある protoc_oneof_listing_plugin.py が参考になるかもしれない。

その他 CodeGeneratorResponseCodeGeneratorRequest のフィールドなどは Google の plugin.proto などを参考に頑張る。

実行は基本的には protoc に実行ファイル名を与えるだけ。プラグインの例えばファイル名が test_plugin.py だったら

$ protoc test.proto --plugin="protoc-gen-test=./test_plugin.py" \
    --test_out=templates=hoge:./out/

といった感じ。

参考文献

test

123...5