2008年振り返り

2008年も終わり、今日で仕事納めということでよくあるまとめな感じです。

生活的に

就職して2年目ですね。働き方とか環境にも幾分慣れて、メリハリをつけてそれなりに充実した生活を送れたと思います。

食生活だけが若干気がかりですが(学生時代から1日1食です)、社内健康診断も全項目かなり良好な数値だったので、まだこのままいこうと思います。ちなみに、肥満率は-25%という素晴らしい数値でした。体重50kgくらいはほしいなあ、とは思っていますが、ここが壁ですね。

睡眠時間も平均して短く保てたと思います。たぶん、4時間睡眠くらい。個人的にはやはり徹底した小食が貢献している気がします。

そして、今年も風邪をひきませんでした。周りから不健康そうに見られるのですが、このようにいたって健康なのでした。というか、俺が不健康なのは整形外科的なところだけなのです。整形外科的には3箇所ほど手術したほうがいいところがあります(笑

技術的に

  • PythonでRakeもどき
  • Pythonのニコ動ライブラリ
  • ScalaでなんちゃってFactor処理系
  • Python版Yahooテキスト解析APIライブラリ
  • Blogソフトウェアを自作に移行
  • PythonのS式パーサ、ダンパライブラリ
  • Pythonのパターンマッチライブラリ

このブログで出したのはこんなもんですかね。これだけみると年の前半は引き続きScalaをさわりつつ、やっぱりPythonという感じですね。

そして、大きな変化はブログを独自実装に切り替えたことでしょう。ようやくWordpressのバージョンアップ地獄から逃れました。あ、この記事を書くついでに、web.pyのバージョンを0.31にあげました。いろいろ変わってたのでそこそこ対応は大変だったんですが、まぁなんとか。例によってテストはあまりしてないのでおかしいとこはあるかも。

数ヶ月、独自ブログソフトで運用しましたが、非常に快適です。出力されるXHTMLは当然段違いにキレイだし(HTML-lintで96-99点くらいです)、負荷も問題ないっぽいです。一応、xrea使っている人のために参考までに書いておくと、web.pyをcgiで動かして、負荷はスパムアタックを受けたときで30pt程度、通常はずっと0ptでした。おそらく、よっぽど酷いコードを動かさない限り、web.pyであればxreaでもcgiで運用して問題なさそうです。

今年の言語・・・というほどさわった新しい言語はないかもしれないです。ただ、趣味ではC言語を書くことが断然増えましたね。そのうちC言語で処理系を実装する系の、このテのブログでは定番の記事を書こうかと思っています。

今年触っていた言語は量ではPython > C言語 > Scheme > Scalaとなると思います。ここから見て、やはりシンプルなものが好きなんでしょう、俺は。PythonはRubyに比べて圧倒的にシンプルです。C言語はまぁ書き方(ポインタとか配列とか)ややこしいじゃんか、といわれるかもしれませんが、基本はシンプルです。Schemeはどうみてもシンプルです、ありがとうございました。

技術的な勉強面では基礎的な部分をちょこちょこ勉強してました。アルゴリズム方面、言語処理系関連技術(パーサ、GC、VMなどなど)はちょこっと前進した気がします。

おそらく、来年もPython、C言語を中心に触っていくと思います。このブログは技術系ネタがメインなので、月イチくらいのペースでは書いていこうと思っています。ま、実はJavascriptも触ってるんですが、あまり書くことはありません。

その他の趣味とか

実は今年はわりと、プログラミングとか仕事以外の趣味を頑張っていたような気もします。まぁ音楽系なんですが。

中学まで10年くらい、ピアノとエレクトーンを習っていました。が、全く上達しませんでした。どうしてもピアノという楽器、音色に特別な魅力を感じることが出来なかったし、弾く事に気持ちよさを見出せなかった。そして、中学くらいでAtari Teenage Riotにハマり、以後デジタルハードコア、ガバ、スピコアなんかに浸かっていきました。ピアノで弾くような曲とは違う、自分にとって一番心にひびく音楽でした。そこから打ち込み一辺倒、中古でSC-88(Proはわずかに手がとどかなかった。。。)を買って、自作曲を作ったり割と能動的に音楽を楽しんでいました。

そして大学ではバイトでプログラミング三昧。家にいる時間がほとんどない、ということで作曲とかからは完全に遠ざかったのです。が、やはりどこかでもう少し能動的に音楽を楽しみたいなあ、という思いはもっていたので、就職を期にエレキギターをちょくちょく触ることにしました。そもそもギターは学生時代、作曲していたときにコードを確認する程度にしか使っていなかったので、ほとんど弾けたもんじゃなかったんですが、今はまぁ、それよりはマシです(笑

なにより、ピアノと違って、やっぱ歪んだギターの音は好きです。弾くのもピアノに比べて気持ちよさが違う。気持ちよさを感じることができるので、継続的に練習できてます。

というわけで

そこそこいい年でした。来年もマイペースに頑張っていきたいところ。

12.29.08/10pm

プログラマとってコミュニケーション力は重要

via dankogai:我々全員の知的生産性を10桁上げる方法

こういうのを見てると、やっぱりプログラマにとってコミュニケーション力は重要な能力はなんだなあ、と思った。


俺はハッキリ言って人間が大嫌いで、勉強会なんていかない。ブログもそんなに書かないし、はてな(ダイアリーやブックマーク)にはかかわっていない。

mixiなんてなにが面白いのかさっぱりだし、twitterなんて、意味がわかんない。なにがしたいの?という感じな人間。

もっと言えば、学生時代、体育祭や文化祭にすらほぼ出たことがない。飲み会にもほとんどいかない。そんな感じの人間。

こういう人間はプログラマに向いてないのかな。つーか人間的にダメですかそうですか。


やっぱり、人間社会で生きている以上評価は他人がしてナンボだと思うし、そうあるべきだと思う。

id:amachangやid:higeponは人当たりもいいし、謙虚で、勉強家で、前向きでということが一度も話したことのない俺でもわかっちゃう。それくらい人とコミュニケーションをとる能力が(現実、ネット問わず)優れているんだなあ、と思った。そして、どんどん上にあがっていく。


でも俺はそうはなれない。人当たりは最悪だし、俺程度の能力じゃ大したプログラマにはなれないな、とプログラマにすらなっていない後ろ向き男である。頑張って勉強会には行きたいなあ、とは思っているけど人が怖くていけない。コミュニケーション能力がある人からすれば、怖くないよ><という感じなんだろうけど、そっちがわの人間にはこっちがわの人間の事はわからないんだろうなあ。


俺はもしプログラマになるなら、ゴタクなしにプログラムのみを晒して、ネットの片隅で誰かが「これヤベーよ!」といってくれるような、それを見て「ニヤリ」とするだけのような、そんなプログラマになりたいな。ブログすらもたず、匿名でどっかのアップローダにポンッとプログラムだけ置いてるような感じだと最高にカッコいい。

皆に認められなくてもいい、誰か一人でも「ニヤリ」とさせられるプログラマでいたいなあ。・・・なんて。そんな無理なことは実践せず、ちゃんと人とコミュニケーションできるように頑張っていきたいと改めて思ったのでした。

07.27.08/12am

2007年振り返りと2008年

遅ればせながら、あけましておめでとうございます。

一応、定番の2007年の振り返りと2008年の抱負といいますか、方針でもつらつらと。たぶん駄文なので、ここでsボタンを押して次の未読フィードにいくことをお勧めします。(何


2007年

生活的に

まずは就職しましたね。割と大企業でして、仕事もそれほど忙しくなく、いい感じです。福利厚生は分厚いです。プログラマのバイトを始めてから、学生ながらほんとにそればかりをやるような、そんな生き方しかしてこなかったので今はすごく新鮮です。

いわゆるアフター5というやつですか。仕事は仕事で趣味は趣味、という。割と興味が発散するタイプなので、このほうが自分のやりたいことをできていいかもしれません。バイトしてるときはWEB系の知識ばっかり、って感じだったんですけど自由な時間ができたので全般的な知識がついてきたのではないかな、と思っています。

もっと技術的にチャレンジングなところに戻っていくのかもしれません。ただ、やはりそれだけチャレンジングな場所にいくと技術的に見るとやはり若干偏ってしまうんじゃないか、っていうのもあってもう少し独学で全般的に知識をつけたいな、と思っています。

技術的に

アウトプットとか

そんなにアウトプットしてないですが

  • お手軽Python Pluggableモジュール
  • javascriptのパーサコンビネータ
  • Python版Yahooテキスト解析APIライブラリ
  • Python版Lingr APIライブラリ
  • PythonによるNESエミュレータ

あたりですかね。NESエミュレータというとタイムリーにnaoyaさんがPerlで8ビットCPUを書かれていましたね。よければPython版もよろしくおねがいします(さりげに宣伝)。

ちゅーわけでですね、やっぱりPythonが多いですね。最近Railsはゲットーだなんちゃらと盛り上がってますけど、なぜかRails、Ruby界隈からはほぼ手を引いてしまいました。

最近自分の趣向というか、そういうのに気づき始めまして。Rubyよろしく、Railsよろしく急激に広まるモノって決してスーツ達の思惑だけじゃないんです。そういう「キャッチーさ」をもってるんです。なにか。でもですね、どうやら俺はそういうのが苦手らしいんです。どこかとっつきにくい、そういうものに惹かれるというか。Schemeとか、Perlってそういうタイプだと思うんですよ。そしてそういうモノのユーザーの底力って、やっぱりすごいなあ、と。

というわけでRubyから離れ日本では若干マイナーなPythonのほうにうつちゃったのかな、と(まぁ前にも書いているようにRubyのProcあたりがどうしてもキライってのもありますけどね)。

そしてPython以外ではScalaですよ。どう書くorgにチビチビ投稿しちゃってます。しかし、これだけ投稿してるのに、Scalaに関してほとんど書かない、という(笑 いい機会だから書いちゃおうかな。

なぜScalaか?

はじめはですね、そこまで深い意味はなくって。とりあえず今年はどの言語やろう、ってなったときにチョードErlangのおかげでActorを持つScalaが注目されまして。個人的に、単なる計算にしか使えない言語はキライで実用性(ネットからなんかとってきたりとか、ファイルいじったりとか)もないとあんまやる気にならないんです。

Erlangは・・・ねえ。もちろんやりましたよ。でも軽量プロセス以上のものを見出せなかった。一方ScalaはJAVAベースなので極端に言えばJAVAでやれることはほぼやれる。っちゅーかいっぱいいろんなものが詰まってるので色々おもしろそう、それだけ。

やってみた結果・・・いや、Scala面白いですよ。特に型に関して。今まで型推論ってOcamlかHaskellくらいしか触ったことが無かった。ジェネリックも正直そこまで深追いしてなかった。Scalaをやると型の奥深さに気づかされます。Scalaはアカデミックなベースをもっているってのもあって、文献も多くて学べることは非常に多かった(よくあるような紹介記事じゃなくてScalaのちょっと深い記事が読んでみたいよ、というかたは俺のブクマでもどうぞ。あんまりないですが・・・)。

Scalaの型について概観的にまとまっているのはコレかな。とっても面白いのでゼヒ。

あ、あとScalaのMLは絶対入ったほうがいい。関数型のバックグラウンドを持つ人が多く、関数型言語チックな議論、そして当然型について、結構良質な議論が多いですよ。

なんでもアリ

っという感じで型が一番なんですけどね、ほんと、なんでもありなんですよ。

JAVAのようなクラスもある、Haskellのような遅延評価も、関数合成も、パターンマッチも、モナドもある、モナドのための構文もある、型推論もある、でもダックタイピングもある、Ocamlのようなバリアントもある、Erlangの軽量プロセスのようなActorがある、Rubyのようなブロックも、ミックスインも、既存クラスの拡張もある、Pythonの__call__のようにクラスを関数として扱えたりもする。そしてJAVAのライブラリが使用できて、JAVAのクラスファイルを吐いて、チューニングしだいではJAVAと大差ないパフォーマンスをたたき出す。(ここであげた機能はあくまで「ような」もので元言語使いに言わせると色々文句おおいんですけど(笑))

ちょっとワクワクしませんか。

その他は・・・

結構言語よりの年だった気もしますが、若干低レイヤよりもあったかなあ、と。NESエミュレータなんかは割りとレイヤ低めですし、あとはですね微妙にFPGAに手を出してみたり(いやー秋葉が近いっていいですね)。他は・・・そうですね、一応ネットワークエンジニアの資格をとったりもしましたねえ。一応、一発合格でした。最近、ネットワーク周りでも技術的な記事を公開してくださる企業さんとかも多くてですね(書いちゃっていいのかな、Klabさんとか)、そういう記事をきちんと理解していく上でいい知識の整理になったと思います。WEBプログラマだとまぁ、keepalivedとかLVSの話とかですね。でも実は結構VRRPってなんじゃらほい、見たいな人も多いんじゃないかと。意外とネットワークって知らなくてもなんとなーく動いちゃったりするんであいまいになってたりすることも多い気がするんですよね。

2008年

そして2008年ですよ。とりあえず

  • なにか1言語勉強する(基本)
  • FPGAとかもっとやりたい
  • アルゴリズムにもっと強くなろう
  • Functional、手続き的、両方常に書けるように頭をキープしたい
  • 流行に流されない知識をつけよう
  • 音楽的なアウトプットも出していきたい

といったところですかね。俺、大学は文学部ですしずっと文系できたので計算機関連の知識ってここ3年くらいなんです。それまでPCは音楽を聞いたり、作ったりする道具だったんです。自分でいうのもなんですが、ここ3年、デキない文系アタマを酷使してそこそこのペースで勉強してきたな、と思っていたりします。もちろん、それでも全然、ほんとに全然ダメダメなんですけど。でもプログラミングのセンスもない、理系のアタマも持ってない、そんな奴が一応プログラムかいたりできるようになってるってことは結構がんばったのかもね、と。というわけで、今年は若干ペースを落として「充電」したいと思います。音楽はその充電に役立つと思います。


というわけで、今年もこのブログにはちょくちょく技術系の駄文だったり、Scalaあたりの記事、WEBプログラミング関連の記事でも書いていくと思いますのでよろしくお願いします。

07.27.08/12am

About

Author:yuin(http://inforno.net/)

文学部文化学科卒という生粋の文系趣味プログラマ。

主にRuby、Javascript、PHP、JAVA,Python,C,Scala,Schemeなどを使っています。今はPythonな感じかもしれない。今後作曲活動なども復活するかもしれない。

Pages