現在地

雑記

2018年を振り返る

作成者:mattz 作成日:月, 12/31/2018 - 20:54

たむらぱん

今年はたむらぱんのライブに4回(内2回は同日)、たむらぱんがメンバーの一人として参加している元・少年少女合唱団のライブに1回行きました。
握手会とかもあって楽しかったです。

野球

ファイターズの試合は何回見に行ったかちゃんと数えてないので分かりませんけど、去年書いた通り楽天生命パーク宮城への遠征は実現しました。土日2試合観戦して我がファイターズはどちらも負けてしまったけれど、楽パはとても素敵なボールパークでした。観覧車にも乗ったよ。新球場も発表になったことだし、移転する前に一度は札幌ドーム行かないとな。

やる方は去年よりだいぶマシで安打数昨年比3倍。そろそろ盗塁が苦しくなってきました。失敗はなかったはずだけど。

卓球

Tリーグ発足ってことで、1回だけ観に行きました。もっともっと盛り上がるといいですね。

その他

今年も行きましたよ、鎌ヶ谷ランフェスタ。今年は3キロ一度も歩かずに(ゆっくりだけど)完走しました。
清宮来るとは思わなかったな。

他には特に書くようなこともないというか、そろそろ去年の記憶と今年の記憶が区別がつかなくなってきており。今年のことだと思って書きかけて調べてみたら去年の話だったとかいう。年取るっていやね。

そんな感じで皆様良いお年を。

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

作成者:mattz 作成日:日, 02/07/2016 - 11:03

今更?まぁ、今年初なんで。

今の会社に入って16年ちょっと経つんですが、最初の半年ほどを除いて、あとはずうっと客先(5社くらい)常駐のお仕事をしてました。で、去年の夏あたりからいわゆる受託のお仕事をすることになって、自社に戻った訳ですが、まぁびっくりしました。だって超古臭いんだもん。なにこれ。15年前と変わってなくね?は大げさにしてもマジで10年遅れてる。

ってわけで、少しは今どきのIT企業らしくなるように、できるところから手を付けて、5年遅れくらいにはなってきたかなぁ、と思ったところで、とある金融系のシステム子会社に3か月ほどのスポットで入ることになったのですが、入ってみたら冗談抜きで15年遅れの世界がそこにありました。

メモリ1.66Gってなんの冗談ですか。この上でEclipseを動かせと?USBポートに封がしてあって、マウスも付属品以外使用不可(端末によってはボールマウスだぜ?)、USBキーボードもダメだと。いやUSBメモリとか勝手に使われちゃ困るってのは分かるんですが、入力デバイスくらい自由に選択させてもいいんじゃないかな。まぁキーボード型のUSBメモリとかあってもおかしくないし、一人ひとり申請してもらうとかの管理の手間を考えたら一切ダメってのが一番楽なんでしょうけど。他にも不満は山ほどあったりしますけれども、全部書いちゃうわけにもいかないのでこの辺にしときますが。

業種が業種なので信用第一ってのはそりゃごもっともなのですが、マシンスペックくらい、もうちっとマシなものにしてあげた方がいいんじゃないでしょうかね?

つか皆さんよくこんな環境で我慢してますよね、と思ったりするわけなんですが、周りの話聞いてみると、あまり我慢している意識はないようです。最初からこういう環境にいると、こういうもんだと思うみたいです。人は慣れるってこういうことなのかな。

あ、僕は英字配列じゃないと仕事できないので、交渉してキーボードだけは許可してもらいました。はい。言ってみるもんですね。

Suicaをなくしちゃって再発行したっていう話

作成者:mattz 作成日:金, 07/22/2011 - 12:02

Twitterにもちょろちょろと書いてたんですが、Suicaを紛失しちゃいまして。で、まぁSuicaって一言で言っても色々あります。僕の場合は元々はSuica定期券として使ってたんですが、今は定期券の機能は使っておらず、ただの電子マネーとしてしか使っていません。で、なくした時点でのチャージ金額は2000円未満というところで、ホントはすぐに届出して機能停止したほうがいいんですが、実はSuicaをなくすのが初めてじゃないので、再発行の手続きとか手数料とか結構めんどくさいこともあって、約半日ほっといたんですが、その間に、残高は2桁になってましたね。ただのSuicaじゃなくてSuicaビューカードとかでオートチャージにでもしてたんならすぐに止めたでしょうけど。

で、再発行したあとで履歴印字とかしてみたんですが、「物販」とか「バス等小田急B」とか書いてありました。記名式のSuicaの場合(と書いてますけど無記名の場合にどうなのかはちょっとよく分からないです)、こういう履歴がちゃんと記録に残ります。「物販」がどこのお店なのかにもよると思いますけど、例えばコンビニだったりすると、購入履歴と防犯カメラの記録で割と簡単に(って言うほど簡単ではないですけどね)特定できます。立派に犯罪ですので、もし拾ったとしたら警察なり駅なりに届けたほうがいいですよ。ホント。実際にこれで逮捕されるなんてことは多分ないんですけど、検挙しようと思えば簡単ですし、たまたま小さくてもいいから実績が必要とかいう時期だったりしたら、追っかけられたりするかもしれませんよ。いやそんなノルマみたいなのがあるのかどうかは知りませんけど。

あと、Suicaなくしちゃったらどうしたらいいの?っていう件。

もしなくしたことに気づいたら、すぐに駅の有人改札なり、窓口なりに届出してください。どこの鉄道会社でも構いません。私鉄・地下鉄もOKです。さすがにSuicaが提携してない鉄道会社はダメだと思いますけど。機能停止はどこの駅でもできます。この時免許証などの身分証明書は必要です。止めてしまえばなくした方のSuicaはもう使えなくなります。

で、名前とか生年月日など記入して届出すると再発行のための紙をくれますんで、この紙を持って翌日以降2週間以内に、今度はJRの駅のみどりの窓口に行ってください。この時も身分証明と、加えて再発行手数料500円とデポジット500円、合わせて1000円が必要です。再発行した場合、チャージ金額が残っていればちゃんと保証されますし、Suica定期券だった場合はそのまま定期券として期限まで使えます。

ちなみに、これは僕は経験がないのですが、もしもなくしたSuicaが見つかって駅に届けられたりすると、なくしたSuicaの分のデポジット500円も戻ってくるそうです。

まとめとしては、拾って使ったやつは、せめてゴミ箱に捨てないで、駅の自動改札機の上にしれっと放置するとかして僕に500円が返ってくるようにしてください。それからもう一言だけ。ばーか。

最近覚えたgrepのオプション 「C」

作成者:mattz 作成日:金, 07/08/2011 - 11:05

この手の話は、なんだよそんなことも知らなかったのかよ、的な話ではありますが。

grepコマンドのオプションにCってのがあるのを最近知りました。バージョン依存だったりするかもしれませんが、その辺を調べる気はありません。

$ grep -C1 hoge xxxx.log

などとやりますと、xxxx.logから「hoge」を含む行とその前後1行が抽出できます。

$ grep -C5 hoge xxxx.log

なら前後5行。

で、今更help見てみたら、A(after)とかB(before)もあるらしいので、一緒に覚えちゃいましょう。僕も今覚えました。

役に立つシチュエーションは結構あると思いますです。

追記

さらにhelp見てたら、-CのCは省略できるらしい。つまり

$ grep -C5 hoge xxxx.log

$ grep -5 hoge xxxx.log

は同じだよ、と。

MySQLのDrupal 6からSQLiteのDrupal 7へ

作成者:mattz 作成日:月, 04/25/2011 - 17:55

各nodeの移行をすべく色々試行錯誤した。ちなみに本文中の「{hogehoge}」ってやつはテーブル名を表していますが、そもそもこのエントリは基本自分用で、Drupalを全く知らない人は全く想定していません。

まず、Drupal 6のnodeの中身は、基本的に{node}と、{node_revisions}に保存されている。ので、その中身をSelectして、それっぽいテーブルにつっこめばいいだろう、と思ったのだが、Drupal 7には{node}はあっても、{node_revisions}はない。{node_revision}ってのはあったが、本文を保存するカラムがな い。

色々と探してみて、{field_data_body}のようだと思われたので、{node}、{node_revision}、{field_data_body}の各テーブルのそれぞれのカラムに、Drupal 6のDBからSelectした値を入れてみる。結果、nodeの中身は表示されない。

もうちょっと探してみたら、{field_revision_body}というテーブルも見つけたのでそこにもそれらしい値を入れてみたが表示されない。

ここまで来てやっとnodeモジュールのソースを見るという行為に着手。いやまぁ最初にやれって思わないわけではない。というのは置いといて、ソースをざっと見た限りでnode/addするときにupdateしたりinsertしたりするテーブルには他に{history}というのもあるらしいことが分かったので、そこにも値を入 れてみるが表示されない。

もう値が必須なテーブルはないと思うんだけどなぁ、と思いながら、外部からリンクされていて今でも時々アクセスのあるnode(エントリ)から優先して、手作業で中身を移す。

四百いくつかあるエントリの50くらいは手作業で移行しただろうか。そこでめんどくさくて飽きる。どうせめったに参照されることもないし、ほっといてもいんじゃね?という思いに作業を中断し3日ほど放置。

まぁ、ちょっとずつでもやるかなぁと思い直し作業を再開しようと思ったら、なぜか過去のnodeも全て表示できているっぽい。

???

もっとも、データ自体はちゃんとスクリプト書いて必要なテーブルに必要な値は入れたはずなので、元々表示されないほうが不思議だったのだが、何故何もしてないのに表示できるようになったのだろう。Drupalのキャッシュかなぁ?

Drupal 7に移行しました(途中だけど)

作成者:mattz 作成日:火, 04/19/2011 - 11:18

暫定的ながら、ブログをDrupal 6からDrupal 7に移行しました。

コンテンツ(エントリ)の移行は最近の一部のみなので、古いエントリのパーマリンクがかなり死んでたり、内部リンクが色々ダメになってはいますが、追々でやります。

livedoor Readerの表示を左右逆にするuserCSS

作成者:mattz 作成日:火, 04/19/2011 - 10:41

個人的に「右側にメニュー類」が好きなんですよね。Windowsのタスクバーも、Operaのタブバーも(今は使ってないけどパネル使うときはパネルも)全部右に配置してるし。
自己分析すると、日本語(以外の多くの言語もそうですが)はltr(左から右に書かれる)なので、多くの場合文章のかたまりはブロックの中の左側に寄ります。で、この時に左側がメニューだとごちゃごちゃしたものが目に入るのが気が散って嫌なんだと思います。

それなりに理由はあるんだと思うんですが、PC関係は左側にメニュー類が配置されているものが多いです。livedoor Readerもツリービュー?が左で、メインの表示領域が右という配置で、まぁ、特に何も考えずにこれまでずっと使ってきたんですが、昨夜急にそれが気になりだしてしまったのでuserCSSを書いてみました。

@charset 'utf-8';
/* 配置を逆に */
#left_container{
  float:right !important;
  width:250px !important;
  position:absolute !important;
  right:0 !important;
  left:auto !important;
}
#right_container{
  float:left !important;
  width:auto !important;
  position:absolute !important;
  right:250px !important;
  left:0 !important;
}
/* ツリービュー?のスクロールバーを右にする為に */
#subs_container{
  direction:ltr !important;
}

D6to7

作成者:mattz 作成日:木, 04/14/2011 - 14:48

このサイトのCMSをDrupal 6から新しいバージョンであるDrupal 7に移行しようと奮闘中です(というこのエントリは、構築中の7側にしか投稿しません)。

ついでなので、いまいち重くて使いづらかったさくらの共用MySQLをやめ、Drupalが7から新たに対応するようになった、sqliteにしちゃおうかと思っています、というかしました。DBの種類が変わるということで、DrupalのUpgrade機能に頼れませんので、データの移行のほとんどが半分手作業です。でまぁ、どんなことをやったかという辺りの覚え書きです。

sqliteに変えようと決めて、実際にその作業を今まさに行っているところではありますが、一応、MySQLのままのUpgradeにも挑戦してはいます。まぁ、うまくいかなくて諦めたんですけどね。あと、結構めんどくさい。

DrupalのUpgradeは、簡単にまとめるとモジュールやテーマなどの設定をいったん初期状態に戻し、更新を適用し、モジュールやテーマの設定を元に戻す、ってのが正しい手順です。が、セキュリティフィックスとかの(小数点第2位)のマイナーバージョンアップであれば、初期状態の戻すの手順は、まぁ省略しても大体うまく行くもので、実際、最初にセットアップしたのが6.11で、その後の6での最新版6.20まで、9回の更新を一度も飛ばさずに行いましたが、初期状態に戻すって、真面目にやってたの最初の2回くらいです(もちろん、個人ブログだからできることであって、商用サイトではそうはいかないでしょうけど)。

とはいえ6を7に、となるとさすがにそのやり方では無理なので、6で使ってるテーブルを、全て別名でコピーし、まずそちらに向けてDrupal6を構築し、そこでDrupalを7に更新、うまく行ったら、サーバ側の設定でそちらに向ける、なんてことを目論んで何度か試したのですが、全然うまくいきゃしねぇ。

そんな訳で、sqliteでDrupal 7をさくらインターネットのスタンダードプランで構築する場合のメモです。

大筋としては、「さくらインターネットサーバでDrupal 6.11を導入した」でやったことと同じですが、今回は./sites/default/settings.php ではなく、 /sites/[FQDN]/settings.phpに設定情報を書いています。この方があとで何かと便利なので。

あとsqliteですが、DrupalのDB設定は

$databases['default']['default'] = array(
'driver' => 'sqlite',
'database' => '/path/to/databasefilename',
);

こんな感じで記述する(もうちょっと細かく設定できるけどそこまでやるほどのものでもないので)のですが、databasefilenameは事前に作っておいたりする必要はありません。install.phpにアクセスした時点で勝手に作られます。ただし、次の画面に進む前に、databasefilenameに書き込み権限を付与しましょう。これが分からなくて何回もやり直しました。なおこのファイルは、念のため公開ディレクトリ(さくらなら~/www)の外に置きましょう。

モジュールとかテーマとかは、7に対応しているものとそうでないものが結構バラバラです。うちの場合、tagadelicとかtrackbackモジュール(とか自作のモジュール)が未対応なので、タグクラウドとかトラックバックとかカレンダー表示とか個別エントリ表示時の前/次リンクあたりが、今のところありません。

データ(各nodeの中身とか)の移行については多分別エントリで。

なんにせよ、こんな作業、仕事だったらやってらんね。

TwitterのパーマリンクURLにおけるスクリーンネームの意味のなさについて

作成者:mattz 作成日:水, 04/06/2011 - 17:25

どういう事かというと

http://twitter.com/MATSUO_Tetsuji/statuses/55477380877262848

http://twitter.com/-/statuses/55477380877262848

http://twitter.com/ikedanob/statuses/55477380877262848

こういうことです。

なお、3つめの例に他意はございません。

以前、Twitterを火元に炎上した事案におきまして、某まとめブログが火元ツイートのURLを伏せたつもりで、http://twitter.com/*hoge/statuses/55477380877262848 みたいに伏字っぽくして紹介してたんだけど、アクセスしたら普通に見られんじゃん、ってことで、あぁここ(URL中のscreen name部分)の文字は何でもいいのね、ってのに気づいた。

そのまとめブログも知っててやったのかもしれないけどね。

短縮する必要のないところでまでURL短縮するのやめませんか?

作成者:mattz 作成日:水, 03/09/2011 - 19:37

Twitterみたいな入力できる文字数制限がきついところでは仕方がない部分もあるけど、ブログの本文とかでまでどうして短縮するの?

なんか、短縮URLの後ろに+付けると、簡易アクセス解析できるよ、みたいな記事も見たけど、それ、君の都合だよね?

リンク先のURLって、まぁ、実際ろくに観てない人の方が多いかもしれない。僕だって毎回毎回リンククリックする前にwhoisするわけじゃないし、あんまり考えないでクリックしちゃうこともないわけじゃない。けど、やっぱり出来ればクリックする前に確認したいよね。リンク先がなんなのか。どこなのか。

っていうようなことを書こうとして、「短縮URLで検索」して結果を眺めてみたけど、なんかもう呆れた。ますます短縮URLが信用できなくなった。今後、ブログの本文で無駄に短縮URL使うブログは全部他人を騙そうとしてると思うことにする。

ページ