加齢と老い
30歳を超えたあたりから、集中力が減退した。
集中力だけではなく、体力や新しいものへの興味や意欲も同じく減退したように思える。
このくらいの年齢になってくると仕事も中堅社員といった立場になってきて、新しい仕事を振られたり後輩の指導もあったりで、知らず知らずにストレスがたまる毎日だ。
出世意欲はないが、それでも上司の期待には答えようと思っているし、やるべき仕事はきちんとこなそうと思っている。それが自分の今後のキャリアのプラスになるならば、やるべきだからだ。
一方私生活も、独身であれば多少は悠々自適に暮らせるのだろうが、あいにく自分は独身ではない。家族と過ごす日々は良いものだが、現在や今後の暮らしだとか、将来設計だとか、老後の問題だとか、親の問題だとか、考えるべき問題が多くのしかかってくる。ある意味、家族の結びつきというのは、仕事よりも遥かに難しい問題だ。
このように、人間は考えるべきパラメータが増えると生き辛くなることを実感している。
自分としては、新しいものへの意欲が減退したことがショックだ。
10代後半〜20代中盤にかけては、少しでも世の中の新しい技術をしりたいと思って、いろいろな技術書を買って読んだりした。ネットの記事を読んで、実際にPC上でコードを動かして遊んだりしていた。
また、技術以外にも熱心に読書をしていた。世界の名著と呼ばれるものを読んだり、ピューリッツァー賞受賞本などを中心に読み、すこしでも知識を吸収したいと思っていた。「技術者は技術だけ知っていれば良いのではない。物事を深く考える哲学的思考や人間としての感性を磨かなければ良いものは生まれない。」という根底の思想があったからだ。
大学生の頃に読んだ書籍、『スーパーコンピューターを20万円で創る』*1の中で、以下の印象的な一文がある。
たとえ自分が主役になれなかったとしても、少なくともそういう時代が来たときに、知識を共有できる立場にはいたいと切望していた。
(P14)
この書籍の書き手であり、主人公の伊藤さんは宇宙物理学に興味をもっていて、いつかは宇宙の謎を解き明かしたいと強く思っていたそうだ。
自分がこの本を読んだとき、一番感銘を受けた一文である。
そう、まさに自分もその当時このように考えていたのだ。
コンピュータとインターネットに可能性を感じて、いつかはそういった業種に関わり、エンジニアになりたいと中学のときに思った。たとえ自分がその分野の第一線に参加できなかったとしても、きたるべき時代が訪れたら、そういった技術的な話を理解できるような、そんな人間になりたかったのだ。
きっとそういう想いが10代後半〜20代中盤の自分を触発していたのだと思う。
さまざまな欲求が減退してきて、昔に比べたらだいぶ細くなってしまったが、まだその想いは自分の中にある。
最近は心の中の細い想いにすがるように日々生きているような気がする。
その細い「藁」を離したら、きっと自分はだめになるんじゃないかといった焦りや恐怖心と、どうしようもない物理的な衰えと戦っている。
人間は33歳を過ぎたころから新しい音楽を聞かなくなるそうだ。これは日本だけではなく、全世界でみられる傾向だという。若い頃に聞いた音楽を繰り返し聞き、最近の音楽に興味がなくなる。なぜそうなってしまうのか詳しいことはわかっていないとのことだが、若い時期に聞いた音楽はその当時の楽しかった思い出を想起させ、脳内でドーパミンが放出されるためではないかという仮説があった。
自分の楽しかった時期、多感な若い時を思い出して感傷に浸るのも悪いことではない。
「思い出は優しいが、甘えてはいけない。」これは某ゲームのキャラクタのセリフだ。
昨日、妻の昔ながらの友人が亡くなったとの連絡があった。
訃報をきいて人生について久しぶりに考えた。
30すぎると友人や親族が亡くなったという連絡がしばしばくる。
自分の人生を振り返り、まだ生きているし、とりあえず健康でもあり、人並みの生活ができている。
だからこそ、なぁなぁに生きるのではなく、自分ができることを精一杯やらなければならないと思った。
今一度、自分の原点に立ち返り奮起したいと思う。
ここが変化点かもしれない。このまま日々の生活に埋もれていくか、衰えを受け入れながらも良い意味で昔を思い出して新しいことへ果敢に挑戦していくのか・・・。
私は果敢に挑戦する自分でありたい。
たとえ細い「藁」にすがってでも。
macでのgoogle test導入
大雑把の流れは以下のようになる。
- google test をGithubよりダウンロードしておく
- CMakeのインストール(インストール済みの場合は不要)
- google test をCMakeを使って Makeしてライブラリを生成
- 出来上がったライブラリを使ってテストコードの実行が可能となる
まずは3でハマった。3でcmakeを使ってmakefileの生成、make実行するとエラーが発生。コンパイルエラーの原因はmacのデフォルトのコンパイラがclangになっており、そのままだとC++11のコンパイル未対応扱いで、コンパイル失敗となってエラーを出す。
解消のためには、C++11でコンパイル可能なようにコンパイルオプションを追加する。
その追加場所がCMakeList.txtとなる。
以下のコードを追加する。
# specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
追加してCMakeを実行し、makefile生成されたあとにmakeを実行すると、C++11のオプションが効いているためコンパイルが成功するはずである。
コンパイルが成功するとライブラリファイル(.a)が生成される。
TortoiseGitメモ
作業中のディレクトリ内のファイルを復元する方法
最近社内のソース管理をSVNからGitへ移行していたときに詰まったことをメモ。
TortoiseGitの選定理由
社内でずっとTortoiseSVNを使ってきたので。UIが同じで馴染み深いという理由でTortoiseGitを採用。 社内はWindows環境での開発。
やりたいこと
クローンしたディレクトリ内のファイルを何らかの操作で削除した場合、このファイルを復元したい。 TortoiseSVNではアップデートするとリポジトリから差分のファイルを取得してくれた。 しかし、TortoiseGitではそれらしいコマンドが見つからない・・・。 リモートリポジトリからPullしてくれば反映されるかと思ったがNG。FetchでもNG。
解決方法
色々調べてみた結果、Gitで上記の操作をしたいときは、『変更の取消し』をすれば良い。
操作方法は以下の通り。 削除したディレクトリ内で右クリックしてメニュー表示して画像の操作。
削除したファイルはダミーの.gitkeep これを復元したい。
選択すると、無事削除したファイルが復元した。
感想
SVNの操作になれていると、Gitではどうやってやるんだろう?という場面が多くてけっこう大変だった。 SVNと思想が違うので、当然といえば当然だろうが・・・。 もっと勉強していこう。
Python3 メモ
ディレクトリ以下の再帰的探索方法
import glob # test_dir以下を再帰的に探索 for f in glob.glob('test_dir/**', recursive=True): print(f)
スリープ処理
python3でのスリープ処理。精度は何msオーダーになるんだろう?
import time # 引数が秒数 time.sleep(1) # 500msを与える time.sleep(0.5)
UDPでの送受信
UDPでの送受信がしたいときは、以下のように書くと簡単にできる。
ちなみに同期する必要はないので、ノンブロッキングの引数0。
クライアント側(送信側)
""" UDPの送信プログラム """ import socket # 送信先アドレス指定(自分自身) DESTADDR = "127.0.0.1" # 送信先アドレス指定(てきとう) DESTPORT = 12345 # 送信データの内容を指定 # Python3系では文字列リテラルの前にバイナリのbを指定する必要あり SENDMSG = b"send to server" # ソケットオブジェクト生成 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) for i in range(3): # SENDMSGの内容を送信先に送信。とりあえず3回送信。 s.sendto(SENDMSG, (DESTADDR, DESTPORT))
サーバ側(受信側)
""" UDP受信プログラム """ import socket BINDADDR = "" BINDPORT = 12345 # ソケットオブジェクト生成 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 待受インタフェースとポート指定 s.bind((BINDADDR, BINDPORT)) # ノンブロッキングモードで待受 s.setblocking(0) while True: try: data, addr = s.recvfrom(10240) except socket.error: pass else: print("Receive addr:{}, data:{}".format(addr[0], data))
実行結果
Receive addr:127.0.0.1, data:b'send to server' Receive addr:127.0.0.1, data:b'send to server' Receive addr:127.0.0.1, data:b'send to server'
Python3でWebスクレイピング
Python3を使ったWebページのタイトルの取得方法
Python2.XでのWebスクレイピング方法と3.X系でのimportするモジュールが違うので
メモ。
以下のコードを実行する前に、BeautifulSoupをインストールしておくこと。
$ pip install beautifulsoup4
コードは以下。
# python3では以下をimportする import urllib.request import bs4 # スクレイピングしたいWeb PageのURLをセット # 下記はSRAMのウィキページ url = "https://ja.wikipedia.org/wiki/Static_Random_Access_Memory" # htmlを取得 get_html = urllib.request.urlopen(url) # 取得したhtmlからタグをパースする bs_soup = bs4.BeautifulSoup(get_html, "html.parser") # htmlからタイトルタグを抽出 tag_title = bs_soup.title title = tag_title.string # タイトルタグとタイトルの文字列を表示 print(tag_title) print(title)
結果は以下の通り。
# print(tag_title) <title>Static Random Access Memory - Wikipedia</title> # print(title) Static Random Access Memory - Wikipedia
『ストーナー』を読んだ感想
『ストーナー』を読んだ。
せっかくなので、ちょっとした感想を。
あらすじとしては、ある男の幼少から死ぬまでを描いた小説。
農場で育ち、大学で英文学に傾倒し、大学教師となる。その過程で、結婚があったり、娘が生まれたり、などの物語はあるが、基本的に淡々と描写が続いていく。
ストーナー自身には、不幸な出来事が多く降りかかるように思える。結婚生活はうまく行かず、家庭内の関係、特に妻との関係は冷えている。妻はなかなか癖がある人物で、もともとうまくいくはずのない相手だったと思う。娘はできるが、家族間の関係性は良くはならなかった。
大学教師の仕事も順調ではあったが、ある時、学内政治絡みの闘争で破れる。
学問に対して不誠実な学生に対して、正当な評価(落第)を与えることができなかったことが、本作唯一の激昂場面だろう。彼はそれほど真剣に学問に向き合っていたのだ。
かくして、家庭もうまくいかず、仕事の政治的闘争にも破れたストーナーではあるが、それでも日々を淡々と生きていき、定年まで勤め上げる。そして、人生の最後を迎えることとなるのだった。
良いことは素直に受け入れられるが、悪いことを受け入れるのは難しい。ストーナーの人生を客観的に見ていると、不幸が積み重なるように思える。しかし、本人はその時その時を受け入れ、愛をもって事実と向き合える強さがあったのではないだろうか。
思えば、人の一生は、良いことよりも悪いことの方が多いのかもしれない。ストーナーの人生は淡々としているが、平凡ではないと私は思う。人にはそれぞれ何かしらのドラマがあり、必ず起伏があるからだ。問題は、その出来事をどう受け止めるか。悪い出来事に直面し、受け止めることができず停滞するか、受け入れてそれでも前進しようとするのか。
ストーナーの一生をトレースすることで、自分はどうやって生きるのかを考える。
そういう思いにさせてくれる小説だった。
とても明るい光が射す部屋で、人生最後を迎えられることは幸せかもしれない。
(補足)
ちなみに、ネットだとそこそこ知名度はあるみたいだが、リアル書店だとマイナーらしく、なかなか取り扱っていない。ネットで注文するのが良いかもしれない。
復活の蔵
2011年3月は、日本人にとって忘れられない日となりました。
そろそろ卒業間近となり、慌ただしい時期だったことを覚えています。
あの日は確か、3月11日の金曜日。時刻は14:46。ちょうど研究室に行こうと思って、大学の校舎に入ろうとしたときでした。
いつもとちがう、建物がきしむような音。その音から数秒後に地響きとともに訪れる強い揺れ。直感的にこれはまずい揺れだと思いました。しばらく外で待機して、揺れが収まるのをまっていました。
周囲のコンビニを見ると、電気が落ちたせいか消灯しています。停電したと即座にわかりました。しばらくして、学生たちが避難を開始しました。
各自、解散し帰路につきます。
しかしながら、電気は復旧しません。情報を得る手段がなく夜が訪れようとしていました。
3月とはいえ、東北地方の夜はまだまだ寒いです。ストーブは必須なのですが、電気がないため暖を取ることもままなりません。
しかたなく、近所の避難場所に指定している高校の体育館へ毛布をもって移動しました。これが人生初の避難経験でした。
避難場所では携帯ラジオが流れており、現状のニュースが情報として入ってきました。
思わず耳を疑うほどの凄惨な状況。後に見ることになるあの沿岸部の被害。あの日、すべてが終わってしまった人たち。そんな光景をじかに目の当たりにしました。
あれから6年。
当時、岩手県大槌町にあった蔵元は震災で流されてしまいました。
それから数年の歳月を経て、盛岡で復活した蔵、赤武酒造。
杜氏はなんと20代。平均年齢も若い蔵元です。
最近この赤武を友人からいただきました。
前々から、いつか飲みたい、応援したいと思っていた銘柄です。
今夜は赤武酒造の純米吟醸、AKABU雄町をいただきました。
特徴的なロゴマークが印象的です。
お味は、フルーティで甘酸っぱい今っぽいお酒。ワイングラスで飲むと香りがいっそう感じられます。
岩手県の日本酒は、南部美人やあさ開、浜千鳥や七福神といった質実剛健なイメージがありましたが、これはそれとはちがった若い人にもうける味だと思います。
美味しかった。若き杜氏の将来に期待するとともに、自分も負けずにがんばっていこう、そんな気持ちにさせられるお酒でした。