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

Lambdaカクテル

DESCRIBING: Scala, Akka, P2P, Scheme, Political sth., etc.

日記(はてなブログに日記のブログ間移動機能が欲しいという話)

知的生産 日記

日記なんて言ってるけど前の投稿からひと月ほど過ぎていて、どちらかといえば月報に近い性質の投稿。

仕事具合

仕事がそれなりに順調。コードが読めるようになってきた。とはいっても今まさにやっている仕事は難航している。

タスク管理アプリとしてOmniFocus使いやすそうだから欲しいのだけれど踏ん切りがついていない。

会社で身の回りに凄い人しかいなくて大変。うおーー追いついていくぞ!!!という気持ちを保ち続けるのは大変で、まあ自信を持ってコードを書きまくるのが一番良さそう。わりと引っ込み思案なので勉強会とかに参加するのが躊躇われるけれど、臆せず参加してみて、余裕があれば発表もしていく姿勢を持っていけるといいな。

あと1ヶ月ほどで入社半年で、やべえよ……やべえよ……という気持ち

生活

L-テアニンというお茶から取れる物質のサプリメントをリラクゼーション目的で買ってみたところ、割と効いている気がする。寝る前に飲んでいるがカプセルがやたらでかいので飲み込むのに難儀する。

アウトプット

最近日記や雑記の代わりに、はてなブログをもう一つ非公開で作ってそこになんでも書くようにしている。

良い点

  • 非公開にできる(プライベートなことも書ける)。
  • メール投稿ができる(= Emacsが使える)。
  • iPhone用アプリからも投稿することができる。
  • MarkDownを使える(極力マウスを使わなくていい)。
  • タグをつけることができる(分類するために重要)。
  • いじって日記を着飾らせることができる。

もともと、EvernoteやPiggyDBなどをメモ帳として使ってみたりしてみたものの使いにくくて挫折していた。あらゆる場所から投稿したいのでクラウド的に使えないとダメで、なおかつ書いた文章が綺麗に(MarkDownで)整形できて、まとまな入力インターフェースが使える必要があった。すると、はてなブログでいいじゃん、と思ったわけですな。*1

実際今のところ快適に書きまくれている。

日記やメモ帳には実用性もさることながら所有欲といったものも大事で、それには非公開ブログという体裁がほどよいらしい。何か書いたら前に書いたものもついでに見えてしまうので、アウトプットが互いに反応しやすい。

悪い点

  • 公開したくなった時に手間
    • 公開ブログにコピペするしかなさそう

日記をブログ間移動させる機能が欲しい……(アピール)

*1:Evernoteの入力UIは日本語でものを書くにはかなりつらい

日記

新社会人にとっての自分のおしごと

シン・ゴジラ』を見た(ネタバレはしない).日本を守るために組織の個々人が,最善と思われる方法で地道に怪物と戦う.職業讃歌ともいえる内容で,ただかっこよかった.

じゃあ自分の仕事は何を守るのだろう,自分たちが仕事をしなくなったら困る人などいるのか,という思いが二度目の鑑賞の後で頭にたちこめた. 直接的にではないが,自分の仕事は言論の自由にある意味で与する仕事だ.人々の発信をサポートするのが使命だ.派手じゃないかもしれないが,人を助けている. 思いの丈をぶちまける場所を公正に提供する,いい仕事だ.

より抽象的に,ひとりのソフトウェアエンジニアとして考えるとどうだろう.情報化した世の中で,ある意味ソフトウェアは社会の建材の一部だと言えないだろうか.社会を作る立派なお仕事ではないか.たとえそれが,限られた一部の人にしか見えず,価値が感じられないものだとしても.

誰かのために何かをするという性質を持つ仕事というやつは,何と尊いものであることか.

改造にこそ投資するべき(とは分かっている)

最近部屋に掃除機を導入したい気持ちがある.掃除機に限らず,引っ越しておざなりに用意した部屋の要素を,きちんと再整備して文明化したくなってきた. コンセントの抜けたテレビが床で鎮座している状況は文明的ではない. ソフトウェアエンジニアはナレッジワーカーに入るだろうから,部屋を「きちんと」して知的生産性を確保することは実りある投資だといえる. 体調が悪いとあっさり生産性は落ちてしまうから,住環境は大事だ.

(肉体的な健康のみならず,精神的な健康も重大な項だ.むしろこちらに引き摺られた経験のほうが多いように思えてくる.ナレッジワーカーというよりはメンタルワーカーだなと思ったこともある.)

最近こういうページを見た.

www.kao.co.jp

「殺風景でない」という言葉が胸を貫いた.殺風景!まさに自分が表現したかったことそのものだ.モノは溢れんばかりに存在するのに,どこか人間味のない部屋は,つまり殺風景なのだ.なんだか居心地をよくするための努力をしたくなってきた.ただ生活するためだけの住まいからは,何も生まれないだろう.

そういうわけで,自分は家計に戦略予算を用意するという試みを実践している.現状をより良きものとするために費される物品のための予算だ.ただ貯金との兼ね合いもあって,ろくに用意できていない.娯楽だって欲しいし.ついついお金は無くなってしまうし,積極的に使いたいものでもない.変化するということは大変なことだ.

(そもそも買っても使わない問題もある.家のスペースは有限なので,捨てることも視野に入れたい.買う価値を持つモノがあるなら,捨てる価値を持つモノだってあると思う.積極的に捨てる必要はないが,捨てることで価値をもたらすようなモノ.)

読者の方におかれましては,日常のどこに重点的に投資していますか?

TSVに色をつけるプログラムをSchemeで練習

scheme gauche

Schemeを書きたくなったので,適当な課題がないか考えていたら,ログを見易くできるユーティリティがあればいいと思ったので,カラムごとに色をつけるSchemeスクリプトを作ってみた. TSVというか空白文字で区切られているならどれにでも使える.

コード

処理系はGaucheGaucheは組込みライブラリが充実している.案外高速に実行できるらしいので,バッチとかが書けそう. 知っているうちで最も素直な言語のうちの一つだと思う.

#!/usr/bin/env gosh

(define (color-code-by-idx idx)
  (string-append "\x1b[" (number->string (+ 31 idx)) "m"))
(define (main args)
  (let loop ([c (read-char)] [col 0]) ; 初期値
    (if
     (eof-object? c)
     (begin
       (display (color-code-by-idx 8))
       (exit 0))
     (begin
       (display (color-code-by-idx col))
       (display c)
       (cond
        ((eqv? c #\newline)
         (loop [read-char] 0))
        ((char-whitespace? c)
         (loop [read-char] [remainder (+ col 1) 7]))
        (else (loop [read-char] col)))))))

処理の流れ

処理は,色変更コマンドを作る部分と文字を出力する部分とに分かれている.

コンソールの色を変更するには, \x1b[Nm(Nには30から49が入る)というエスケープシーケンスによるコマンドを出力する必要がある. 色と数字の対応は以下のサイトが詳しい.

www.serendip.ws

ここでは前景色のみ変更するため,31..37を使う.30を使わないのは,対応する前景色が黒だからである. 冒頭のcolor-code-by-idxが色変更コマンドを返す関数だ.

1文字読み取り,EOFなら色を戻して終了する.EOFでなければ,色変更コマンドと読み取った文字を出力する.読み取った文字が(改行/空白文字)だったら色のインデックス(を0に戻す/に1加える).そしてループしなおす.

mainという名前で関数をバインドしておくと,スクリプトとして実行された際にそこから実行される(エントリポイント).

このスクリプトの弱点として,連続する空白文字を結合して扱わないので,スペースが2つ入るとカラムも2つ変わったことになる点がある.まあこれは好みの問題.ダブルクオートも認識しないので,色は変わってしまう.ちょっとこれは改善したほうがよいかも.

感想

最初はポートが全面に出てくるような処理を書いていたが,そこまでしなくてもよいと思って普通のread-chardisplayを使う構成にした. 正規表現もしっかりサポートしているので,perlでできることはgoshでもできそうだ.

ただカッコが多いので,エディタのカラースキームに気配りしないと目がチカチカする.EmacsScheme編集モードであるQuackはZenburnが対応していないので,手動でフェイスカラーを設定した.

あと,displayprintとの違いが気になった.前者は改行しないが,後者は改行する.printlnという記法に慣れている身にはまぎらわしい.

けふ

旧友数人で、隣県に住むまた別の旧友に会いに高速道路をひた走り、享楽的で怠惰な時間を過ごし、翌日にはまた高速道路をひた走り地元に戻りつつ、また飲食店で荒っぽい粗野な食事とアルコールを摂取し、さらにカラオケで精神的エネルギーポテンシャルを暴力的に解放し、そして終電を捨ててホテルに泊まっている。無軌道な若者といった生活で満足したが、強行的に無軌道したので精神的な燃費は良くなかった。

とにかく金がかかって特に役に立つこともせず様々な面がくたびれたが、意図的な無軌道性は時には必要である。何も考えてない。

今日の1日

暑い(しかしまだ前哨戦に過ぎないのだ)

街全体が銭湯になったような蒸し暑さで疲れてしまい、仕事ものぼせ気味。帰宅時にはもうサウナで、もう少しで蒸し上がるところだった。

帰る(帰るために帰り走るために走る)

帰省用も兼ねた大きめのリュックを買った。明日はクロスバイク運搬用のがらくたを買いに走るつもり。7時定時は用事に弱い。

毎日(大人になるということ)

同じ毎日はすねてしまう。いつでもハレだと煮詰まってしまう。毎日、毎日、毎日……それでもあのころの毎日を顧みて懐かしがって、大人になっていくのかなあ。

宇宙・ヘイト・養豚場

まだ宇宙で消耗してるの

Kerbal Space Programというロケットを作って打ち上げるゲームやってる。ちゃんとスイングバイとか空力ブレーキとかドッキングとか、おなじみのミッションを手動で(!)やることができる。宇宙とかメカが好きならぜひ。

宇宙船って飛ぶだけならエネルギーは不要で、一度加速すれば大気摩擦のない宇宙では慣性の法則ですっ飛んでいく。軌道を変えるためにこそエネルギーが必要になる。ソーラーパネルを太陽に向けるべく旋回するのにも必要。たまに電池が足りなくて、身動きが取れなくなったりもする。

なんか人間にもそういう所あるよな〜。とくにエネルギーを獲得するために行動するためのエネルギーが足りなくなって動けなる所が。こういうのを消耗したって言うんだろうか。

普段からエネルギー貯めていきたい。

ヘイトの損得

たまに、俺の意見を聞けー!!日本から出て行けー!!許さんー!!みたいな人がネットに現れるけど、なんかの力で敵を倒すという考えに囚われて味方を増やすという考えに到達していないので絶対に勝てなそう。そういう意味でヘイトスピーチは単純に損得でいえば損なので改めた方が良い。

養豚場

ヘイトは金になるってことを周知した方が良いとおもう。そういうサイトにハマった人はずっとその手のサイトを巡ってくれるので、ネットユーザーがじゃぶじゃぶ広告を踏むようなヘイトを煽りまくる記事を造れば無限に運営者は儲かるのよね。

一度ユーザーを"教育"してしまえば後は勝手に沸騰して広告を踏んで行くし、他所でもヘイトをばら撒いてそれがそのまま転載されて記事になるので集客効果もある。こんなに美味しい商売は無い。

養豚場の豚は、自分がどんどん栄養を獲得していると思っていて、自分が商品だと知らずにいる。集中的に情報を与えて洗脳するまとめサイトも同じようなシステムだと思う。嫌中、嫌韓、女叩き、政治大喜利みたいなのはそういったものの典型なんやなあと最近捉えるようになった。

ジャンプしたいけどどこ向いて踏み切ろう

社会人になってもう3ヶ月経ってしまった! 1/4年!

何か人生を良くしたかと問われたら、あまり上げられなさそう。仕事に慣れたとか?美味しい店を覚えたとか?

もちろん仕事のスキルを身につけるのは大事で、僕はまだ乗り越えたいことがたくさんありそう。でもそれだけじゃないってことも分かってる。

僕はよい人生の指標を仕事から切り離して考えていて、どんなに仕事ができて年収が上がっても、それだけじゃ不満。一人で読書を楽しめるとか、恋人がいるとか、犬小屋を作れるとか、そういうのもよい人生かなと思う。基準を内在させると言えばよいのかな?

まー仕事もまだまだだし一人で読書失敗するし恋人がいないし犬小屋作れない。とりあえずどこから人生を切り拓こうか、楽しみはあるけど取り掛からないとどんどん逃げて行ってしまう。とっても僕は面倒くさがりなので、なかなか一筋縄では行かなそう。

夏休みに何か人生を重力ターンするようなことに出会いたいなあ。という発想が中学生並で全く進化していない。なんとかなるでしょ、伸び代があると考えれば……

ワクワクしたい!!!!!