各月上旬・下旬・中旬の記事を表示するURIの処理を実装。
とか。
単体テストを追加したら、昨日のコードにバグ発見。 の stat で、実行時ディレクトリとは別の場所にある記事ファイルの stat をパス指定なしでファイル名だけで指定しているところがあった。 どうりで更新していないのに、毎回データベース更新が起きる訳だ。 修正。
やはり単体テスト重要。 しかし今だにテストファースト開発の体にはなれず。
会社に入っていた弁当デリバリーのチラシ。
最近食べるものもマンネリ化してあきてきたし、希望者をつのってデリバリーを頼むことにした。実は昨日注文しようと思っていたのだが、締切の10:30を過ぎてから思い出して失敗に終わっていたもの。
午前中のミーティングが長引いて結局届いてから1時間ほどたってから食べることになったのだが、冷めてもなかなかうまかった。
1個からでも配達してくれる。しかも一駅以上先なのに。 値段もそこそこだし、たまに利用したい。
ActivePerl で Ming を使えるようにしておきたい。
Ming 0.3 beta1 のソースパッケージには Visual Studio 6.0 用のプロジェクトファイルが含まれている。 Cygwin の Bison と flex があればライブラリをビルドできるようだ。 横着して Linux 側で bison と flex で生成したファイルをコピーして(それから unistd.h をインクルードしている部分を消して)、ビルドしてみたところ一応 lib ファイルは作成成功。
しかし ActivePerl 用にPerl モジュールの make は失敗。
調べたところ ExtUtils::FakeConfig を使うと Visual Studio が無くても MinGW + nmake でモジュールをビルドできるらしい(全てではないと思うが)。
ということで Ming を MinGW でビルドした後、そのまま ActivePerl 用モジュールの作成まで持ち込むことにしてみる。
コンパイルに必要な環境を MinGW で、configure に必要な環境を MSYS で用意する。
Ming のビルドに必要な Bison は MinGW、MSYS のインストーラに含まれていない。 bison-1.875.0-2003.02.10-1.exe というのが別途あるがうまく動かない。
ソースパッケージ(bison-2.0.tar.gz、bison-1.875.tar.gz)からはビルドできず。 MinGW/MSYSのプロジェクトにある bison-1.875-2003.02.10-1-src.tar.gz はビルドできるものの make check が通らない。
とうことで GnuWin32 の bison-1.875-4.exe (インストーラ形式)をインストール。 c:/usr/local/GnuWin32 にインストールした後、MSYS の /etc/fstab で /GnuWin32 にマウントし、/GnuWin32/bin に PATH を通しておく。
flex-2.5.4a.tar.gz を展開して
./configure; make; make check; make install
インストール時ハードリンクが作れなくてエラーがでているようだが無視。
MSYS 上でビルドしてインストール。zlib-1.2.2.tar.gz を展開して
./configure; make; make check; make install
MSYS 上でビルドしてインストール。 libungif-4.1.0b1-src.zip を展開して
rm config.cache; config.h内の-DHAVE_VARARGS_Hをコメントアウト。 ./configure; make; make install
make check はエラーが出るが無視。
MSYS 上でビルドしてインストール。libpng-1.2.8-config.tar.gz を展開して
CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure make; make check; make install
MSYS 上でビルド。ming-0.3beta1.tar.gz を展開して
CFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib make static
ExtUtils::FakeConfig と PPM::Make で Ming の SWF PPM パッケージを作成する。 (MSYSのシェルではなく)コマンド プロンプトを開いて、Mingソースパッケージの中の perl_ext に移動。 MSYS、MinGW、nmake にPATHを通しておく。
それから Makefile.PL の実行で -lz を発見できないので、libz.a を Makefile.PL と同じディレクトリにコピーしてしまう(-L/usr/local/lib を指定しても効かなかったので)。 libpng.a、libungif.a も同じくコピーしておく。
Makefile を作成。Makefile.PL では -lz しか指定していないが、libpng と libungif も必要なのでコマンドラインオプションで指定する。ExtUtils::FakeConfig の Config_m を使用して MinGW を使用するようにする。
perl -MConfig_m Makefile.PL LIBS="-lpng -lungif -lz"
ここで生成される Makefile の中で libperl58.a を指定している部分があるが、ActivePerl では perl58.lib になるので、エディタで書き換え。 後はいつも通り
nmake nmake test make_ppm
で PPM パッケージ作成完了。
プロジェクトの納品物が仕上がった今日、ちょうど本社からチームメンバの一人が出張してきていたので一緒に記念撮影。
記念撮影は、最近私の関連しているプロジェクトでは恒例となりつつある。
というか、自分が誘っているワケだが。
やはり頑張った皆で達成感を味わいたいしね。
Microsoft Wireless Notebook Laser Mouse 6000 を ThinkPad X31 の右側で使えるようにするために、USB hub を買うことした。
以下の条件で選択。
USB hub は各社よりいろいろ出ているが、条件にあうのは以外と少ない。 そんななかで、条件を満たすものとして
があったのでこれをチョイス。
ダウンストリームポートはカバーつき。
アップストリームコネクタは格納できるが、ケーブルを曲げながら押し込むので何度も出し入れするとケーブルが悪くなりそうでちょっと心配。短いし、普段は無理に格納しなくても持ち運びには困らない感じだ。
長細いタイプであるが、逆にそのおかげで ThinkPad X31 の背面 USB ポートに接続し、先端のダウンストリームポートにマウスのレシーバを挿すと、PC の右側に顔をのぞかせることができる。 ばっちり。
[ 製品レポート ]
昨日購入した Microsoft Wireless Notebook Laser Mouse 6000 を早速会社でも使ってみた。
あれ、動かない。
いや設定の問題ではなくて、電波の問題のようだ。
ThinkPad X31 は USB ポートが左側に1個、後に1個あるのだがどちらにレシーバを挿しても、右手側に置いたマウスまでは電波が届かない。
自宅で使ったときは問題なかったので、デスクの材質かすぐ近くにあるディスプレイの影響かと思われる。
無念。
USB hub などで、右側にレシーバをうまく持ってくる必要あり。
[ 製品レポート ]
ThinkPad X31 用に 2.6.15 の Debian kernel パッケージ構築を行う。 インストールしてある Debian 標準の 2.6.15 のパッケージの設定 /boot/config-2.6.15-1-686 をベースに設定を行いビルド。
#apt-get build-dep linux-image-2.6.15-1-686 #exit $mkdir -p /usr/local/src/linux $cd /usr/local/src/linux $tar jxvf /usr/src/linux-source-2.6.15.tar.bz2 $cd linux-source-2.6.15 $cp /boot/config-2.6.15-1-686 .config $make menuconfig $make-kpkg clean $fakeroot make-kpkg --revision=sebastian.1.0 kernel_image $cd .. $su #dpkg -i linux-image-2.6.15_sebastian.1.0_i386.deb
ブート後 Kernel panic。
標準の設定では IDE 関係がモジュールになっているのを見落していた。もう一度設定を修正してビルドしなおして起動。 Linux を使い始めたころ ext2 をモジュールにして失敗したことがあり、ファイルシステム関連は忘れずチェックするようにしているのだが、IDE 関連はノーチェックだった。
module-assistant prepare module-assistant auto-install madwifi
妻が読み終えてまわってきた「博士の愛した数式」を昨日読み終えた。
全体的にほんわかした作品。80分しか記憶のもたない博士と、家政婦と、その10歳の息子の不思議な関係の日々を綴っている。
「数式」をもっとディープにいじることを期待していたのだが、そこはさすがに SF ではないのでソフトなレベルのみ。 まるで「ちびまる子」のように家政婦が事あるごとに数の耽美な世界に魅きこまれる描写はちょっとやりすぎか。賢いのかそうでないのか捉えがたい。
ということで自分としては「まあまあ」といった評価。 最後まで謎は謎のまま残しておくという描き方は個人的には好きである。
ホームドラマ好き向きの作品かと。
しかし映画版はどのように描かれているのかは興味津々である。 本の記憶が冷めないうちに、観てみたい。
[ 読書ノート ]
PDL を使っている Perl プログラムを、昨日構築した今ごろの環境で PAR を使って実行可能ファイル化したんだけれども、実行してみたら
Can't locate loadable object for module PDL::Core in @INC ...
というエラー。 実行時のキャッシュディレクトリを見ると core.dll が同梱されていない模様。 なんでだー。
いろいろやってみたところ、もしやと思ってインストール済みの core.dll を Core.dll という名前に変えたらエラーが出なくなった(正確には次のモジュールで同様のエラーが出た)。
ファイル名の大文字・小文字が問題だったらしい。 PAR の FAQ には「Win32::Perms の Perms.DLL でこのエラーが出たら、Perms.dll にしてね」と書かれている。 最初これ拡張子の問題だけだと思っていた。 ベース名でも同様のようだ。
以前は問題なかったから、比較的新しい PAR で発生するようになったと思われる。 これ絶対はまる。
先週注文した ThinkPad USB トラックポイントキーボード(英語) が丁度1週間の昨日届いた。さっそく Debian GNU/Linux sid な ThinkPad X200 に接続。認識は問題無くキーボードもトラックポイントも本体同様に使えてる。
モノホン ThinkPad の筐体が無い分、打った時の剛性感が違う。あと X200 のキーボードに比べてカチャカチャ感が無い感じ。しばらく使ってみていて、この文章もこのキーボードで打ってみているけれど違和感が無いかな。いい感じ。ThinkPad 使いの手にすぐ馴染んだ。トラックポイントの便利は言わずもがな。
安い時にもう1枚ストックしておきたいぐらい。
今回はeクーポンコード適用で送料・税込み2,608円と超お得だった。10枚買っても、HHKB Professional Type-S (29,800円税込み)より安いですよ。
会社で使っている Happy Hacking Keyboard Lite が打ってて自分でも痛いぐらい打鍵音がうるさくなっているのはもう寿命なのかな。週明けこれ持っていこう。
[ 製品レポート ]
前に並んでいる親子が アイカツ! で ICカード初利用らしくて初回登録をしていたのだけれど、ニックネーム登録でまごついていた。
Web などでひょうじされることがあるので本名をいれずにニックネームをいれてね。
前から思っているんだけれど、これね。Web 表示は任意にして自分の名前を入れても問題ないようにした方がいいと思うのだよね。別に公開しなくてもいい人もいるだろうし。
事前にあまりよく知らないでICカード新規登録を開始して、その場で「さあニックネーム考えて時間以内に入力してね。ボタンで平仮名表から入力したこともあまりないかもしれないけど頑張ってね。」的なのは結構ツラい気がする。次善策としてはあらかじめ考えてから登録してねとICカードのパッケージに大きく説明書きを入れておくとかかな。それか名前を後から変更可能にするとか。
お母さんが名前を何にするか娘さんにせかすもその場で思い浮かばず、時間切れ間際に何か入力し始めたけれど結局「し」1文字入れたところで確定となった。
ちょっとどんより。がんばれ「し」さん。
Dropbox ディレクトリ以下のファイルは Dropbox 側で30日間変更内容のスナップショットが保持されているので、Emacs で生成するバックアップファイルは同じディレクトリにある必要がないしバックアップファイルが同期されなくても良い。ということで ~/Dropbox 以下では別のところにバックアップファイルを作るように設定を追加した。
(Dropbox ディレクトリを ~/var/Dropbox にしているホストがあるのでその設定も追加。)
(let ((dropbox-backup-directory "~/var/emacs/backup")) (if (file-exists-p dropbox-backup-directory) (progn (add-to-list 'backup-directory-alist (cons (expand-file-name "~/Dropbox/") dropbox-backup-directory)) (add-to-list 'backup-directory-alist (cons (expand-file-name "~/var/Dropbox/") dropbox-backup-directory)))))
デイリーノート(1日ごとの非公開の日記やメモを残すノート)は昨年末から Evernote に書いています。あとで検索しやすいのでいい感じにまわっています。
ただ capture したものからいろいろ考えを巡らせるには、フラットなテキストはちょっと堅い感じがします。なのでアウトライナーで(も)デイリーノートをつけてそちらでこね回すことにしました。 どのアウトライナーツールを使うかですが、PC と Android デバイスと iOS デバイスから気軽に書けるということで WorkFlowy にしました。
長期的なアーカイブはやはり Evernote が便利なので整理のタイミングでアウトライナーから Evernote に移すことにします。
プロダクトオーナーやプロダクトマネージャー(PM)の必読書と言われているらしい「Inspired: 顧客の心を捉える製品の創り方」の内容を理解し、実践・共有することで力をつけていきましょうという「Inspired 入門」勉強会に参加してきました。今日が第1回。渋谷界隈でネットサービスを行っている4社から参加者が集まりました。
各社ネットサービスを展開していますが、お互いにビジネス領域が被らないためざっくばらんに話ができそうです。企業毎に組織体制や文化が異なり、プロダクトマネージャーの仕事・役割もそれぞれ違うよねということをあらためて感じました。取り組みや課題などをお互いに情報交換することで、いろいろ学びがありそうです。CS 部門経験者の方も何名かいて、ぐっと親近感がわきました。
今回は幹事役をしてくれた方が資料を用意してくださっていてそれを使いながらファシリテーションしてくれました。感謝。
ある方のところでは、ユーザーに影響のある施策についてはコンセプトシートを書くとおっしゃっていました。他の方はリーンキャンバスを作るようにしているとのこと。自分のチームではプロダクトバックログ上にストーリーを書いて済ませることも多いのですが、少し大きいサイズのものはこういったものを書いた方が良いなと今回感じました。
PM という役職・肩書のある会社はというお題については、ほとんどの方がないということでした。
それからユーザーストーリーマッピングを1日かけたという話をしてくれた方は「エンジニアも一緒に参加することで、作る側の納得感が出て良かった」とおっしゃってました。なるほどです。
今回は1章から3章がトピックだったので以下個人的なメモ。
第1部は「ソフトウェア製品の開発に関わる人たち」。人・プロセス・製品という3領域の中の「人」。その役割と責任について。
まずは役割の説明。プロダクトマネージャーのやることとして以下を挙げています。
プロダクトマネージャーの主な任務としては2つある。製品の市場性を評価することと、開発すべき製品を定義することである。
プロダクトマーケティングも兼務になっていることが多々あるがまったく別の技能が必要なので、兼務は非常に難しいとしています。この点は第2章で詳しく取り上げられています。プロダクトマーケティングが分離されていると助かります。
プロダクトマネージャーは5〜10人のエンジニアに対して1人必要とのこと。スクラムチームの人数ともだいたい同じ規模感。
「プロダクトマネジメントとプロダクトマーケティングをそれぞれしっかり」「製品の最終責任者を明確に」「プロダクトマネジメントは専任で」
プロダクトマネージャーの役割とプロダクトマーケティングの役割をきちんと区別するのが大切。
ここではさらにプロダクトマネジメントとプロジェクトマネジメントを区別しましょうという話。
昇進祝いの食事会を設けてくださり 4人で焼肉を食べてきました。仕事の話もそこそこに、子育ての話やお酒の失敗談なども飛び交う大盛り上がりの楽しい会でした。
お一方は実は10年前からは Twitter で知っていた方で、まさかこんな形で対面するとは思っていませんでした。人と人のつながりって面白いものです。2004年放送の「ふたりはプリキュア」からのプリキュアファンという属性から想像していた歳より若くてびっくりです。
焼肉チャンピオン PENTHOUSE、「ざぶとん」の「ざぶすき」はとろける柔らかさで格別でした。一番偉い方に肉を焼いていただき恐縮でありました。
素敵な人たちの揃っている会社で良かったという思いで、来週からまたはりきって仕事ができそうです。
iPhone 11 や iPhone 8 のカメラのフォーマット設定を高効率(HEIF)にするか互換性優先(JPEG)にするかちょっと迷っていた。
現時点での利便性を考えると JPEG なんだけれど、今後を考えると HEIF (High Efficiency Image File Format) なのかな。 HEIF にしてみよう。
何度も自分の目に触れさせて考えを巡らせるきっかけにしたいと、最近の関心事を書いたノートを Obsidian Publish サイト上に作って Google Chrome のホームボタンを押した時や新しいタブを開いた時に表示するように設定してみている (記事)。
Obsidian Publish サイト界隈では
というタイトルをつけて、サイトの訪問者に「オーナーの関心事について把握したりサイトを巡回する起点としたりするためのノート」の意味合い含めて公開しているようだ。
一石二鳥な感じで良いなと思ったので、 Top of Mind という名前のノートを作って最近考えていることの内容をそこに移した。 Google Chrome のホームボタンや新規タブでもこのノートを開くように設定変更。
随時更新する Top of Mind (に類する) ノートを自分が関心のある人が公開してくれていて、それを巡回できるようになったら楽しいだろうなと考えた。往年のアンテナサービスみたいなのをチェックして更新があったら見にいくイメージ。
それから社内でも書いてお互いに見られるようにしておけば、ディスカッションのきっかけになっていいのかもしれない。
[ スタートページ ] [ Top of Mind ノート ]
Obsidian Publish を2月13日から使い始めて11日目。サイト名をとりあえず @Naney としていたのだけれど、独自ドメイン設定したしそろそろ名前をつけないとなと。昨日いろいろ迷ったけれど最終的に『nNodes』にした。
今まで Web 日記『nDiki』からのちょっとしたノートスペース『nNote』と名付けてきているので n ほにゃららがいい。 FQDN を notes.naney.org で設定済みなので note っぽい名前がいい。『nNote』を使わなくなってきているので名前を引き継ごうかとも思ったけれど、すでに過去日記で言及している名前で分かりづらくなるのでやっぱりやめ。
ノートのネットワークを意識した公開ノートサイトでありグラフビュー表示も備えていることからノードとノートをからめて『nNodes』にしよう。
実は昨晩『nNode』に決めて設定したのだけれど、やっぱりノードの集合だから複数形かなと s をつけたくなって今朝に再設定した。これで決まり。
近所の今日の河津桜。天気良く暖かいだけで幸せ。#photography
— Naney (@Naney) February 23, 2021
RICOH GR III #GR #GRIII #GR3 pic.twitter.com/hBkE5vLDBS
鮫洲入江広場へ河津桜を見に行った。2年前の今頃はもう見頃だったんだけれど、今年はまだ数えるほどしか咲いていなかった。つぼみはふくらみ始めていたので、今週末の陽気で一気に咲き始めたりするのかな。つぼみの間をメジロが行き交っていた。
勝島運河の菜の花も咲き始めているけれども、こちらも見頃はもうちょっと先だ。
ミッキーマ……これはヨシモト。
— Naney (@Naney) February 23, 2022
表参道#photography
RICOH GR IIIx #GR #GRIIIx #GR3x pic.twitter.com/ti4LxxrKYU
Scrapbox のグリッド形式ページリストでもう少し文字を詰め込みたいなと思って padding を午前中に調整した。
それから午前中に Obsidian Publish のデザイン変更がリリースされたので、午後はそのスタイルシートとスクリプトのアップデート対応をした。
ライトモード前提だった色のカスタマイズは .theme-light 時にだけ反映するようにし、 Light/dark toggle も有効にしてみた。合わせて Obsidian Desktop や Obsidian Mobile で使われている CSS snippets も整理してすっきり。
英語圏のツールは見出しの文字と余白が大きく感じることが多い。 Obsidian でも見出しが小さくなるようアレンジしている。文字が大きいと画面を覗かれた時にぱっと読み取られちゃいそうで気になるというのもあるしね。
通学#photography
— Naney (@Naney) February 23, 2023
RICOH GR IIIx #GR3x pic.twitter.com/mdL3ciZZcR
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。