2013/04/16
CX-5
2012 年 8 月に納車されてからの足跡。
殆ど自己満足ではあるが自分としては厳選した部品で満足しているので
お勧めできる用品を晒してみる。
- 純正オプション
-
ディーラにて購入した純正オプションで納車時に装着したもの達。
フロントのランプ類はフェンダーの奧に 手を入れる必要があるとの事だったのでディーラに作業をお願いした。LED ポジションランプ フロントポジションランプを LED 化 LED アクセサリーランプ フロントアクセサリーランプを LED 化 フロント シルバーウィンカーランプ フロントウィンカーランプをステルス化
ノーマルだと中がうっすらオレンジ色になるのが嫌だったリヤ シルバーウィンカーランプ リヤウィンカーランプをステルス化 フロアマット 純正品は割高なのだが折角の新車だし CX-5 のロゴも良いので敢えての純正品 アルパインナビ C9A4 V6 650 カーナビは BOSE オーディオとの相性を考えて ALPINE デンソー スマートイン ETC システム ETC は必須 ETC 接続ケーブル カーナビとの連携のためのケーブル バーグラーアラーム 一応新車なので盗難アラームも装備 アルパイン VICS ビーコンシステム リアルタイムで渋滞情報がわかるので VICS ビーコンは非常に便利 アルパイン iPod/USB アダプタ これで iPod Classic を接続して愛用中 DAMD シフトゲートパネル 安っぽいシフトゲートパネルをピアノブラック化 DAMD フロントドアスイッチパネル 安っぽいフロンドドアスイッチパネルをピアノブラック化
シフトゲートパネル - 内装
-
主に内装に関係するもの
クレトム エクセレントシェード L SA-89 使わない時はコンパクトに収納でき便利
サイズも CX-5 のフロントウィンドウにぴったりで まるで専用設計の様な仕上がりGM ライフハンマー LHJA002 万が一のためのシートベルトカッター & ハンマー エマーソン 自動車用保安セット EM-300 純正の保安セットと同等品を OEM 供給元から LIBERAL 本革製アームレストカバー
純正の内装とほぼ同じ色のステッチで純正品並の仕上がり Pivot スロットルコントローラ 3-drive X ODBC2 モニタ一体のスロットルコントローラ
発進時のトルクを底上げ
ライフハンマー
アームレストカバー
スロットルコントローラ - 外装
-
主に外装に関係するもの
クリエイト 給油間違い防止リング XG13 初めてのディーゼルなので給油間違い防止のため
軽油ステッカーは自作品カーメイト フロントナンバーベース R2000 LS366 CX-5 では定番のフロントナンバーベース ステンレス 超極低頭 トルクスボルト M6x40 フロントナンバーベースを装着するためのボルト
ステンレス製の TORX ボルトMIRAREED アルミ エアーバルブキャッ SA-136 純正のエアバルブキャップはゴム製でなので変更 BOSCH Windtone BH-WT 純正のホーンがシングルホーンで悲しい音なので変更
誤給油防止リング
フロントナンバーベース - 照明
-
主に照明に関係するもの
CREE SMD LED バックライト 3W T16 バックライトを LED 化 VALENTI LED ブレーキ/ストップランプ T20W T20W-R1854-1 ブレーキ/テールランプを LED 化 VALENTI LED ブレーキ/ストップランプ T10 T10S-R1315-1 テールランプを LED 化 SHARExSTYLE LEDセット
室内灯を LED 化するセット - 個人輸入
-
個人輸入した海外製品(純正パーツ含む)
USマツダ純正 リアバンパーガード リアバンパーガード(ロゴ無し) オーストラリア製スカッフプレート 前後 ドアスカッフプレート(ロゴ有り) オーストラリアマツダ純正 リヤサンシェード マグネットでドア枠に装着できる優れもの
リアバンパーガード
ドアスカッフプレート
リアサンシェード - 書籍
-
書籍類
CX-5のすべて モーターファン別冊 構造調査シリーズ CX-5 自研センター
2013/03/20
Fドリーム平塚
Fドリーム平塚でカート体験をしてきた。
以前カーレルのレーシングカートを共同で所有していたのだが、
カートに乗るのは 10 年以上振りなので、
まずはスピードがあまり出ない二人乗りカートに娘と一緒に乗る事に。
1 セッション 3 周なので娘の反応を見ながら 47 秒程度のゆっくりしたペースで 3 周走った所、 「全然怖く無かったよ」「もっとスピード出して」とリクエストされたので、 次のセッションではちょっと(大幅に)ペースをアップして 結局 40 秒程度のペースで周回してみた。
二人乗りにもかかわらず一人乗りのカートを 2 台抜いてしまいました(笑。
横 G で結構頭が振られているのに怖がらずに「もっともっと早く走ろう♪」という
娘は父親よりも Speed Junkie かも?(やはり血なのだろうか)。
ちなみにこのコースのドライでのコースレコードは 29秒804 (何てタイムだ。
二人乗りカートでの今シーズンのベストラップは 35秒440 らしいです。
2013/01/29
丸美屋の麻婆豆腐
普通に作っても十分に美味しい『丸美屋の麻婆豆腐』を 一手間かけることで更に美味しく作るレシピ。
丸美屋の麻婆豆腐
1 箱の半分
豆腐(個人的には木綿豆腐の方が好ましい)
1 丁
挽肉
100 g
長ネギ
1/2 本
ニンニク
1 かけ
生姜
1 かけ
鷹の爪
1 ~ 2 本
粉山椒(あれば)
適量
ごま油
適量
- 丸美屋の麻婆豆腐の素に添付されているとろみ粉を 予め水に溶いておきます。
- 豆腐は少し水切りをしておくと できあがった時の食感が良くなります。
-
ニンニクと生姜はみじん切りにします。
ニンニク絞りがあれば便利です。 -
フライパンにごま油を熱し鷹の爪を入れて香りを出します。
火が強すぎると鷹の爪が焦げてしまうので中火程度で。 -
みじん切りにしたニンニクと生姜を入れて
焦げない様に気をつけながら炒めます。
特にニンニクは焦げやすいので要注意です。 -
挽肉を加えて粉山椒を振りかけて炒めながら
出てきた脂を吸い取るなりして始末します。
山椒は多少大目に振りかけて良く過熱すると 香りがでて良いでしょう。
挽肉の脂は臭みが強いので個人的には捨てる方が好みですが、 気にならない方はそのままでもかまいません。 - ここまで出来たら通常の手順通りに作ります。
ほんの簡単な一手間で随分味が変わります。
是非お試し下さい。
2013/01/23
i-DM
CX-5 に限らず最近の MAZDA の一部車種には i-DM という
運転評価システムが備わっている。
アクセルやブレーキ、ステアリング操作の加速 G を検出して
ドライビングを評価していると思うのだが、
その評価があまりにもお粗末で正直全く使い物にならない。
このシステムは基本的にアクセルを開けるか、ブレーキをかければ評価が高い
(しかも若干急発進、急ブレーキ気味だと加点される)という、
全く実情には見合ってない的外れな評価をしてくる。
例えば正面の信号が赤信号の場合で前後に他車がいない場合などでは、
アクセルを緩めて惰性走行する事で環境にも優しく燃費も良い運転となるが、
そういう運転をするとこの評価システムはどんどん減点していく。
また、片側 1 車線で歩道がある道でも歩道に小さな子供がいる場合は
突然の飛び出しに備えて徐行するか、ゆっくり走るのが当然だと思うのだが、
そういう場合でもこのシステムは容赦なく減点してしまう。
そして最後には「メリハリのある加速や減速をしましょう」とか表示する始末。
いやはやあきれ果ててモノも言えないとはこのことだ。
このシステムの開発者は果たして運転免許を持っているのだろうか?
運転という行為を理解しているのだろうか?
そもそも車の運転はドライバーが五感を駆使して収集した周囲の状況を
総合的に判断しながら様々な操作を行う必要があると思うのだが、
このシステムでは単に加速や減速、ステアリング操作による
G の変化だけで評価している時点で全く使い物にならない。
よくもまぁ、こんなガラクタを標準で搭載したものだと呆れてしまう。
実際に欧米への輸出仕様にはこの様なゴミは当然搭載されていないらしい。
確かに他がどんなに素晴らしい自動車だったとしても、
こんなガラクタが搭載されている時点で評価はがた落ちだろうし、
まともな自動車メーカだとは思って貰えなくなるだろう。
こんなゴミ・ガラクタを標準で搭載する位なら
水温や電圧などを表示する方がよっぽどマシだという事に
なぜ MAZDA は思い至らないのだろうか?
CX-5 は非常に気に入った車なのでそこだけが残念である。
i-DM のディスプレイ部分に ODBC 情報を表示する様な
製品を是非とも開発して頂きたい。
2013/01/01
2012/12/27
指定された日の曜日を取得する
先日開催された 第2回チキチキ!シェル芸人養成勉強会 の課題の中で自分の中で話題になった事。
指定された日の曜日を取得したい場合、 gnu 版の date (1) がインストールされている場合は 以下のコマンドで取得可能(0 が日曜日を示す)。
$ date -d YYYYMMDD '+%w' 0gnu 版の date (1) がインストールされていない場合でも、 FreeBSD 版の date (1) は独自拡張されているので 以下のコマンドで取得可能だと言う事を教わった(0 が日曜日を示す)。
$ date -j YYYYMMDDHHMM '+%w' 0
但しどちらも posix に準拠していない独自拡張な機能を利用しているため
環境依存となってしまうので、
環境に依存しない方法での解決方法を考えてみた。
日付から曜日を取得するためには ツェラーの公式
という計算式があるので、
posix に準拠したシェルの機能だけでその計算式を実装してみる。
$ y=YYYY; m=MM; d=DD $ test $m -lt 3 && y=$(($y - 1)) && m=$(($m + 12)) $ echo $(($(($y + $y/4 - $y/100 + $y/400 + $(($((13 * $m + 8))/5)) + $d)) % 7))年と月の値によって調整が必要なのでワンライナーにはならないのが残念だけど、 基本的には単純な四則演算なのでシェルの機能のみで実装が可能だ。
これで gnu 版の date (1) がインストールされていない環境でも 任意の日付の曜日が簡単に取得できる!。
2012/12/26
dog (1)
以前、某雑誌のシェルスクリプト大喜利に投稿したネタ。
こんな感じのお題に対する回答。
cat コマンドの作者が遺言を遺しました。
「私の人生における最大の公開は、 dog コマンドを作り忘れてしまったことだ。 あぁ誰か作ってくれぇー。ガクッ」
さぁ、一体どんなコマンド?
お題がネタっぽいので回答もネタっぽくしてみた。
more (1) を拡張して less (1) が、 yacc (1) を拡張して bison (1) が作られた様に、 dog (1) は cat (1) が拡張されたものという発想で http、https そして ftp といった schema に対応した cat (1) というスクリプトにしてみた。
内容はとても単純なので cat → dog という発想だけが勝負のスクリプトである。
雑誌では割愛されてしまったネタとしてのマニュアルも掲載してみる。
というか、実はマニュアルの方が書きたかったという…(笑
1#!/bin/sh 2# 3# NAME 4# dog -- concatenate and print files 5# 6# SYNOPSIS 7# dog [cat options] [file ...] 8# 9# DESCRIPTION 10# Dog is a file concatenate and print command in the style of cat(1). 11# It should be upwardly compatible with original cat. 12# 13# The dog utility reads files sequentially, writing them to the standard 14# output. The file operands are processed in command-line order. If file 15# has protocol schema such as 'http://', 'https://' or 'ftp://', dog utility 16# gets the file from remote system and display it, otherwise dog assumes 17# local file. The dog utility uses wget(1), curl(1), or lynx(1) to retrieve 18# the file from remote system. If dog utility could not find these commands 19# from standard command path, disable remote file display. 20# All option of dog is same as cat(1) except '-h'. 21# 22# EXIT STATUS 23# The dog utility exits 0 on success, and >0 if an error occurs. 24# 25# SEE ALSO 26# Rob Pike, "UNIX Style, or cat -v Considered Harmful", USENIX Summer 27# Conference Proceedings, 1983. 28# 29# STANDARDS 30# The dog utility is *NOT* complient with the IEEE Std 31# 1003.2-1992 (``POSIX.2'') specification, even now and forever. 32# 33 34curl="-s -o -" 35wget="-q -O -" 36lynx="-source" 37 38# get command name and path 39for i in wget curl lynx 40do 41 for j in /bin /usr/bin /usr/local/bin /opt/bin /opt/local/bin 42 do 43 if [ -x ${j}/${i} ] 44 then 45 command="${j}/${i} `eval echo '$'${i}`" 46 break 2 47 fi 48 done 49done 50 51# args 52while [ ${1} != "" ] 53do 54 case ${1} in 55 -h ) 56 sed -n '2,/^$/s/^#//p' ${0} 57 exit 1 58 ;; 59 -- ) 60 shift 61 break 62 ;; 63 -* ) 64 opt="${opt} $1" 65 ;; 66 * ) 67 break 68 ;; 69 esac 70 shift 71done 72 73for i in $* 74do 75 if expr ${i} : "https*://" > /dev/null 76 then 77 if [ -n "${command}" ] 78 then 79 ${command} ${i} | cat ${opt} 80 else 81 echo "${0##*/}: cannot get remote file: ${i}" 1>&2 82 fi 83 elif expr ${i} : "ftp*://" > /dev/null 84 then 85 case ${command} in 86 *wget*|*curl* ) 87 ${command} ${i} | cat ${opt} 88 ;; 89 * ) 90 echo "${0##*/}: cannot get remote file: ${i}" 1>&2 91 ;; 92 esac 93 else 94 cat ${opt} ${i} 95 fi 96done
今回のシェルスクリプト大喜利にも投稿したので、 某雑誌が発売されたら紹介する予定。
2012/12/14
Mountain Lion
iPhone を導入した事を切っ掛けに Mountain Lion 化してみた。
見た目や使い勝手は使い慣れた Snow Leopard の方が好きなのだが、
iPhone との iCloud による完全連携の魅力には逆らえない。
世間では既に言い尽くされている事なのだろうが、
「確かに非常に便利で素晴らしい」、というのが第一印象。
例えば iPhone で撮影した画像は自動的に iPhoto に取りこまれていたり、
Mac で編集した連絡先がいつのまにか iPhone でも変更されていたり、
更には複数台の Mac 間で Mail.app のフィルタ設定まで同期されている。
今まで Dropbox や WebDAV とアイデアを駆使して何とか実現してきた事が、
ID を登録するだけでいとも簡単に実現できてしまうのは凄い事だ。
2012/11/30
IPv4 アドレスがネットワークに属しているか調べる
ネットマスクとはその名の通り IPv4 アドレスのうち、
どこまでのビットがネットワークアドレスなのかを示しているので、
IPv4 アドレスとネットマスクの論理和はネットワークアドレスとなる。
そのため、取得した論理和とネットワークアドレスが等しい場合は
IPv4 アドレスはネットワークに属す事になる。
C で実装する場合はこんな感じかな。
1int checkAddr(const char *network, const char *netmask, const char *ipaddr) 2{ 3 4 struct in_addr net, 5 mask, 6 addr; 7 8 if(inet_aton(network, &net) && 9 inet_aton(netmask, &mask) && 10 inet_aton(ipaddr", &addr)) 11 return((addr.s_addr & mask.s_addr) == (net.s_addr & mask.s_addr)); 12 else 13 return(0); 14 15}
ちなみに仕事で実装した java のコード。
1boolean checkAddr(String network, String netmask, String ipaddr) 2{ 3 4 try { 5 int n = 0, 6 m = 0, 7 a = 0; 8 byte[] net = InetAddress.getByName(network).getAddress(), 9 mask = InetAddress.getByName(netmask).getAddress(), 10 addr = InetAddress.getByName(ipaddr).getAddress(); 11 12 for(int i=0; i<4; i++) 13 n |= ((int)net[i] & 0xff) << (8 * (3 - i)); 14 for(int i=0; i<4; i++) 15 m |= ((int)mask[i] & 0xff) << (8 * (3 - i)); 16 for(int i=0; i<4; i++) 17 a |= ((int)addr[i] & 0xff) << (8 * (3 - i)); 18 19 return((a & m) == (n & m)); 20 21 } catch (Throwable e){ 22 return false; 23 } 24 25}java はそれほど詳しくないのでコーディングが冗長だけど、 取りあえず動作している(気がする)。
2012/11/02
CentOS 6.3 インストール直後にする作業
仕事では Linux サーバ、特に CentOS の導入~初期設定の機会が多いので、 全ての CentOS 6.3 サーバの導入時に必ず行っている作業をメモする。
インストール作業は CentOS 6.3 の DVD から起動して行う。
CentOS 6 からはテキストベースのインストーラの場合、
パーティションの設定やファイルシステムの指定、
初期インストールされるパッケージの追加・削除など指定できないので、
GUI を利用した通常のインストールを実行する。
インストールが終了したら初期環境設定を行う。
以下の作業は CentOS 6.3 を導入したマシンでほぼ必ず実施する作業。
- 自分のユーザを作製する
-
# adduser アカウント # password アカウント
- 自分のアカウントを wheel グループに追加する
-
sudo (1) 可能な様に自分のアカウントを
wheel グループに追加する。
# (rm /etc/group; sed 's/^wheel.*/&,アカウント/g' > /etc/group) < /etc/group
- sudo(1) の設定を変更する
-
sudo(1) しても元の環境変数を保持する様設定
Defaults env_reset を Defaults !env_reset に変更 # Defaults env_keep += "HOME" のコメント記号 `#' を削除
wheel グループのアカウントのみ sudo (1) 可能にする# %wheel ALL=(ALL) ALL のコメント記号 `#' を削除
# visudo
- termcap を使用するアプリケーション対応
-
# ln -s /usr/lib/libtinfo.so /usr/lib/libtermcap.so.2
- selinux を無効にする
-
# (rm /etc/sysconfig/selinux; sed 's/^SELINUX=.*/SELINUX=disabled/' > /etc/sysconfig/selinux) < /etc/sysconfig/selinux# ex -s /etc/syconfig/selinux << EOF > /^SELINUX=/s/.*/SELINUX=disabled > wq > EOF2012/11/09 追記
CentOS の /etc/sysconfig/selinux は /etc/selinux/config へのシンボリックリンクで 実際は /etc/selinux/config を参照しているのだが、 rm (1) と sed (1) を使った方法だと /etc/sysconfig/selinux が通常ファイルになって 書き換わってしまい、元の /etc/selinux/config が 変更されていないために selinux が無効にならない という問題を指摘して頂いたので編集方法を修正しました。
- システム更新
-
# yum update
- 最低限必要なソフトウェアのインストール
-
システムを運用する上でこれだけは必要だとうソフトウェアを導入する。
# yum install openssh-clients libtermcap-devel tcpdump # yum install ntpdate telnet wget tcpdump unzip mlocate rsync bind-utils
- 開発環境のインストール
-
ソフトウェアを開発する場合は導入する。
通常はサーバでは開発しないので導入は不要な筈…
# yum install make gcc bison flex
- ファイアウォールの設定
-
グローバル環境に晒されるサーバであれば
最低限のファイアウォールは設定する必要がある。
基本的には以下のポリシーで必要に応じて追加・削除する。
#!/bin/sh iptables=/sbin/iptables # 全て初期化 ${iptables} -F # デフォルトルール ${iptables} -P INPUT DROP ${iptables} -P OUTPUT ACCEPT ${iptables} -P FORWARD DROP # ループバックを有効にする ${iptables} -A INPUT -i lo -p all -j ACCEPT # 接続済みのパケットを受け付ける ${iptables} -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT # http, httpsはどこからでもアクセス可 ${iptables} -A INPUT -p tcp --dport 80 -j ACCEPT ${iptables} -A INPUT -p tcp --dport 443 -j ACCEPT ${iptables} -A INPUT -p tcp --dport 8080 -j ACCEPT ${iptables} -A INPUT -p tcp --dport 9080 -j ACCEPT # dns パケットを許可 ${iptables} -A INPUT -p tcp --sport 53 -j ACCEPT ${iptables} -A INPUT -p udp --sport 53 -j ACCEPT ${iptables} -A INPUT -p tcp --dport 53 -j ACCEPT ${iptables} -A INPUT -p udp --dport 53 -j ACCEPT # ntp パケットを許可 ${iptables} -A INPUT -p tcp --dport 123 -j ACCEPT ${iptables} -A INPUT -p udp --dport 123 -j ACCEPT # そのほか必要なルールを記載 : :
上記設定を /tmp/firewall.sh に格納した場合、 ファイアウォールを有効にして設定をセーブする。# sh /tmp/firewall.sh # /etc/init.d/iptables save iptables: ファイアウォールのルールを /etc/sysconfig/iptableに保存中: [ OK ]
- 起動サービスの設定
-
起動サービスを設定する。
基本的には atd crond iptables network ntpd rsyslog sshd のみを有効にする
# for i in `chkconfig --list | awk '/:on/{ print $1 }'` > do > case $i in > atd|crond|iptables|network|ntpd|rsyslog|sshd ) > ;; > * ) > chkconfig $i off > chkconfig --del $i > ;; > esac > done
ここまで設定して再起動する。
MTA や httpd など固有のサービスは個々に設定する。