こんな感じで壁に背を向けて座る感じでデスクを設置したので、普通に部屋に入ってくるとき、デスクの裏側が見えるようになってる。

ケーブル自体はデスク裏に貼り付けることで殆ど気にならないようになったけど、ディスプレイアームのクランプ部分がちょっとみっともないって感じだったので工夫して隠した。

クランプ部分は机の厚さによって3段階に調整できるようになっている関係で、1段2穴、3段分 (うち1段は本体の固定用に使用) のネジ穴があるので、余っている穴をうまく利用して隠す板を取り付けようと思った。

ディスプレイアーム自体はデスクに対して取り付け位置が可変なので、完全に固定するような取り付けをするとあとで困るかなと思い、大きな一枚板をそのまま貼り付けるわけではなく、小さな板をまず一枚取り付けて、その上に軽い素材の板 (プラスチックダンボール) を机の幅分、両面テープで貼り付けるという形にした。

最終的に、

  1. クランプ金具 (デスクに固定済み)
  2. ワッシャーx3 (ゲタ)
  3. 木製の15cm四方程度の板
  4. 同じサイズのプラスチックダンボール (ネジ山埋める用)
  5. M6のネジ (クランプ金具のネジ穴まで貫通)
  6. 机の幅分の板

の順になる感じに。


クランプ金具にはM6のネジが切ってあった。金具の中央にちょっと盛り上がりがあって、そのまま板をつけると板がしなってしまうので、ワッシャーでオフセットした。あとネジの頭が隠れるように小さめのプラスチックダンボールを挟んで、ネジ頭をそれにめり込ませるようにした (木にあさりをつけるのは大変なので…)。

机の幅分の化粧板についてはプラスチックダンボールを140cm x 15cmぐらいで切り出して、木目シートを貼ってそれっぽくしてある。本物の木を使ったほうが綺麗にいくと思うけど、このサイズの木だとそこそこ重量があって不安だし、加工するのが面倒なのでこうしてある。ただやっぱりプラスチックダンボールだとしなってしまうので、硬い針金を通すとか、もうちょっと工夫がいりそう。

木目シートは以下のをホームセンターで見てから買った。あんまり置いてなかったけど、これは質感がよくてよかった。あんまり安くはないけど、もっと安いやつは変な光沢があって、あからさまに塩ビって感じがしてひどかったので、これぐらいは仕方ないっぽい。突板を貼るっていうのも考えたけど、突板のほうが圧倒的に高いのでやめた。

アサヒペン 木目調装飾シート REALA(リアラ) RL-15 30cm×90cm - アサヒペン(Asahipen)

アサヒペン(Asahipen)

5.0 / 5.0


  1. トップ
  2. tech
  3. デスク裏の整理

プレビュー

申請して承認されないと表示されないという仕様なので、大量のユーザーがいるASPサービス向けなんだろうなー と思いつつ、一応申請をしたら、忘れたころに承認メールがきた。

だいたい3週間ぐらいかかったようだ。「Twitter Cards - Your submission has been approved!」というメールがくる。

  1. トップ
  2. tech
  3. Twitter Card が承認された

ウェブアプリケーションを書くとき、最近はだいたい Plack::Request なりなんなりを継承して、そのプロジェクト専用のリクエスト/レスポンスオブジェクトを作ることにしている。

特にリクエストオブジェクトは、リクエストのパラメータを適切に変換して返すようなメソッドを生やすことが多い。例えば以下の例:

sub number_param {
	my ($self, $key, $limit) = @_;
	$limit ||= 'inf';

	my $val = $self->param($key) // "";
	if ($val =~ /^\d+(.\d+)?$/) {
		my $ret = $val + 0;
		if ($ret <= $limit) {
			$ret;
		} else {
			$limit;
		}
	} else {
		undef;
	}
}

この number_param() メソッドは、$key と $limit という引数をとって、$key という名前のパラメータを数値にして返す。もし数値として評価できないもの、あるいは指定されていなければ、undef を返す。$limit が指定されている場合、$limit を上限とした数値を返す。

同じように、

sub string_param {
	my ($self, $key, $limit) = @_;
	$limit ||= 'inf';

	my $val = decode_utf8 $self->param($key) // "";
	length $val > $limit ? substr($val, 0, $limit) : $val;
}

と、string_param というメソッドを定義したりしている。これも $key と $limit を引数にとり、$key という名前のパラメータを文字列にして返す。$limit が指定されている場合、$limit 長で制限される。

このようなメソッドをリクエストオブジェクトに生やす利点は、

  • 型を明示することで予期せぬバグを防げる
  • パラメータ値のような信頼できない値を事前にチェックできる
  • 全体で統一した型変換アルゴリズムを設定できる
  • コントローラなどでコードの可読性が向上する

あたりがあると思っている。

文字列化まわりは、フラグまわりでハマったりするので、明確に「これは文字列である」というのをコード上でわかりやすくしたほうがバグが出難いと思う。

数値変換も、ページャを素朴に実装すると、巨大な数字を指定されてほぼテーブルフルスキャンかかっちゃいました、みたいなことが起きたりするので、数値に制限をかけたりするのが簡単にできると捗ると思う。

param() を直接使うのはできるだけ避けるべきだと思う。

  1. トップ
  2. tech
  3. リクエストオブジェクトへ、型を明示するメソッドの追加

アイリスオーヤマ LED電球 口金直径26mm 50W形相当 電球色 下方向タイプ 人感センサー エコハイルクス LDA8LHS1 - アイリスオーヤマ(IRIS OHYAMA)

アイリスオーヤマ(IRIS OHYAMA)

4.0 / 5.0

これを、玄関と廊下用に2つ買った。650lm は結構明るいなあという印象。

消灯までの時間が5分で、ちょっと長く感じる。廊下につけると、つけっぱなしだと思って無意識に消してしまうことがあるようだ。玄関では全く問題ないけど、あんまり人感センサー付きは用途がないかもしれない。とりあえず廊下ではなく洗面所につけなおした。

結局、洗面所もやめて、トイレにつけた。

Mac でファイルとして実体のある mp3 オーディオファイルを再生しようと思うと、普通 iTunes だろうと思う。別にこだわりもないし、まともに使えるならiTunes でいいんだけど、まともに使うことができない。

代替のものを探している。ただ mp3 ファイルを再生したいというだけなのに、ちょうどいいものが不思議とない…… 理想としては foobar2000 なんだけどなあ。

iTunes

上記の通りだけど全然使えない。DAAP を使うなら問題なかったんだけど……

  • mp3 ファイルのタグをちゃんと読んでくれない
  • 再生するためにライブラリに追加しないといけない
    • しかも追加するプロセスがブロッキングかつクソ遅く、途中で止まる……

VLC

よく知られたメディアプレイヤーだけど、mp3 ファイルを再生すると、確率的に出力にクリッピングノイズのようなものが乗る。まじでただのバグにしか思えないけど、設定をいろいろ変えても回避できない……

Songbird

Mozilla が昔つくってたやつ。iTunes コピーみたいな感じ。全く使えなかった。

  • 再生するためにライブラリに追加しないといけない
  • 外付けHDDを勝手にスキャンするうえにディスクアクセスでブロックして応答なしになる

Google Chrome

最近のブラウザは audio 要素対応とかの関係でプレイヤー機能がついている。普通にブラウザにドラッグ・ドロップしたらその曲が普通に再生できる。

  • 1曲ずつしか再生できない
  • 他のタブで負荷をかけると音が止まることがある

連続再生するやつは適当にでっちあげればできる。ほんとにキューに入れて再生するだけなら簡単に書けるので書いた。実際使うかっていうと、ちゃんと作りこまないとだめだなあという感じ……

Play Mac OS

Play あとで試す。同じ作者がDecibelというのを売ってるが、これの前身になるようなプロジェクトのようだ。4年ぐらい更新されていないしインターフェイスは微妙……

不愉快なやつがエントリを書くと、バカな人たちがよってたかって不愉快なやつのエントリを拡散する。不愉快なやつは広告で儲かる。不愉快なやつは不愉快なほどひたすら儲かる。金によって価値を評価すると、不愉快なやつほど価値を生んでることになる。話題・ネタの提供の対価なんだろうけど、納得がいかない。

何か自分で作って価値があるものを仕事以外でできないかなあと考えてる。そもそもが浅慮な人間なのでまぁほとんどないんだけど……

これまで基本的にマウスは有線のものを使っていたのだけれど、配線が鬱陶しいので無線のものが欲しくなった。

ちなみに Magic Trackpad は持っているのだけれど、精密な作業には全く向いていないし、メインで使っている MacBook Air はそもそも Trackpad ついているし、殆ど使っていない……

Apple Magic Trackpad MC380J/A - Apple(アップル)

Apple(アップル)

3.0 / 5.0

でもって、いわゆるマウスの候補を探してみようと思った。条件としては

  • 無線
    • Bluetooth 対応のほうがいいんだけど、選択肢があまりにも狭くなる
  • ノーマルサイズ (コンパクトサイズは嫌だ)
    • 作業を正確にする用途なので、コンパクトは選択肢に入れない
  • 鏡面加工されてない
    • 気持ち悪いので…

まずマウスにおいては大きな信頼をおいているMicrosoft 製から探した。

マイクロソフト ワイヤレス ブルートラック マウス Explorer Touch mouse ブラック U5K-00021 - マイクロソフト

マイクロソフト

3.0 / 5.0

マイクロソフト ワイヤレス ブルートラック マウス Wireless Mouse 2000 グレー 36D-00007 - マイクロソフト

マイクロソフト

3.0 / 5.0

あたりが候補かなーと思ったけど、Explorer Touch Mouse は鏡面加工されているのでやめた。Wireless Mouse 2000 はホイールにクリック感がないがちょっと微妙な気がしてやめた。

で、ほかに Microsoft 製だと選択肢が全然ないので、他のメーカーのを探すと

LOGICOOL ワイヤレス レーザー式 3ボタン T400BK - Logicool(ロジクール)

Logicool(ロジクール)

3.0 / 5.0

LOGICOOL ワイヤレス レーザー式 3ボタン シルバー M310SV - Logicool(ロジクール)

Logicool(ロジクール)

4.0 / 5.0

あたりが良さそうだと思った。Zone Touch Mouse は持った感じがすごくよくて、本当はこれにしたかったんだけど、Mac 用のドライバが提供されてない。

マウスなのでドライバがなくても大丈夫じゃないかと思って検索をかけてみたところ、Zone Touch T400 with a Mac?というスレがヒットした。iMac で使ってみたという人によると「動くことは動く」「スクロールがガクガクで Mighty Mouse のようにはいかない」「ドラッグ操作がキャンセルされることがある」「ボタンアサインが変えれない」らしい。

価格的にも安いってわけではないし、冒険するようなものでもないので、結局 M310 を買った。かなり安いし、バッテリも公称1年持つようなので、コストパフォーマンスは高そう。

マウスパッドは安心と信頼の SteelSeries QcK (4年前から使ってる。会社用にも買ってある)

LOGICOOL ワイヤレス レーザー式 3ボタン シルバー M310SV - Logicool(ロジクール)

Logicool(ロジクール)

4.0 / 5.0

SteelSeries ゲーミングマウスパッド ノンスリップラバーベース 32cm×27cm×0.2cm QcK 63004 ブラック - SteelSeries

SteelSeries

5.0 / 5.0

cube ケーブルホルダー ブラック CU-102BK - イデアインターナショナル

イデアインターナショナル

3.0 / 5.0

これを買ってみた。マットな感じを期待して買ったけど、テカテカだった……

用途としてはケーブルがデスクの下に落ちないように、という感じだと思う。長い場合巻きつけられるのがいいかな、と思った。display port ケーブルとか USB ケーブルとかは固いので巻きつけられない。

ほかに

Bluelounge CableDrop ケーブルドロップ ミュートカラーセット BLD-CD-MU - BlueLounge

BlueLounge

3.0 / 5.0

Bluelounge ヘビーウェイトケーブルホルダー Sumo スモウ ブラック BLD-SUMO-BK - BlueLounge

BlueLounge

3.0 / 5.0

あたりを検討したけど、上のやつは1本しか挟めないので微妙。下のやつはよさそうだけど、ロゴがなければなあと思った。

 -

3.0 / 5.0

あまりない10個口だとこれが一番良さそう。1個持ってて、口数が多いことに安心感がある。あと四角いのでおさまりが良い。

引き抜け防止がついてるやつだと

 -

3.0 / 5.0

これがコスパ良い。7個口。ケーブルが太いことに安心感がある。太ければ抵抗値も低いはずで発熱がすくなそう。

SP Silicon Power シリコンパワー microSDHCカード 16GB class10 アダプタ付 ブラック SP016GBSTH010V10SP - SP Silicon Power

SP Silicon Power

3.0 / 5.0

何かについてきた試供品の Class4 の micro SD カードの調子が悪くなって (特定のファイルを書きこもうとすると勝手に「取り外し」される) 困ったので上記のを買った。

ギャラリーの表示が若干よくなった気がする。前のやつは捨てた。

 -

3.0 / 5.0

これの中古を13000ぐらいで買った。椅子にそんなにこだわりを持っていなくて、高いのを買うのは嫌だなあと思ったので、予算最優先で

  • 2万以下
  • 座面調節可
  • JOIFA会員企業製
  • 中国産以外
    • 爆発したら怖いので……

あたりの条件で探した。新品だと座面調節可能で国産のものはまず買えない。オフィスグレードの椅子なら中古でもたぶん大丈夫だろうと思って中古から探した。中古なので当然選択肢が狭くなる。

届いたのを見た (事前に見ずに買った) 感じ綺麗だし、足に傷があるぐらいだった。

しばらく自宅に椅子を置いておらず、前に使っていた椅子は安いのを長く使った結果座面がヘタってビスが出てくる始末だった。いつ捨てたか忘れたけど、そんな状態でしばらく過ごしていても不便さをあまり覚えなかったので (いろいろガタがきていてヤバかったことはあったけど…)、こだわりはとくにない。

しかし勤務先の椅子が前職も現職も良いものが提供されていて、それに慣れているので、いざクソ安いのを買って違和感を覚えてすぐ買いなおすのも嫌 (買うのは嫌というより、捨てるのが面倒くさい) だなと思い、結構悩んだ。最初から良いものに座っていたりすると、悪いものがどのように悪いのかを知らなかったりするのだ。

しばらく使ってみないと良い買い物だったかどうかは評価できない。

あと賃貸のフローリングなので床の傷防止にこれを買った。あんまり目立たないしいい感じ。

フロアシート 1800×910×1.5mm(1畳サイズ) クリア A712 - ロイヤル通販(Royal Sale)

ロイヤル通販(Royal Sale)

3.0 / 5.0

固定回線をひくかどうかで悩んでる。

月4000円程度回線維持にかかる。年間48000円ぐらい。インターネットの使用頻度は高いし、回線自体は必須だけれど、テザリングもあるので、固定回線は必須というほどではない。

テザリングとの差からメリットを考えると

  • 転送量に怯えなくてよい
  • ソフトウェアアップデートに負のモチベーションが沸かない
    • Windows Update
    • ゲームソフトのオンラインアップデート
  • ネットでゲーム買ったりできる
  • 動画サイト見れる
  • 自宅ネットワークに外から常時アクセスできるようになる
  • テザリングをバックアップ回線にできる
  • RTT 減少

速度は LTE テザリングでも十分なのでメリットに感じない。転送量については、使いすぎた月だけ 2,625/2GB のエクストラオプションを使うというのが選択肢に入ってくる。今のところ総合的に考えて +4000円/月払ってまで固定回線をひくメリットが見出せない。

もっと何か大きくてポジティブなメリットがあればいいんだけどなあ。