久しぶりに懐が痛む買い物

8年ぶりにフルサイズ素子のデジイチを買い替え。

つい一ヶ月前まで、SONY Aマウントのデジイチ、α99の後継機種を長年待ち続けていたのですが、9月に入っても発表にならず・・・つい先日、フォトキナで突然のα99 IIの発表・・・。\(^O^)/! と逝きたいところですが・・・ソニーさん、発表遅すぎるんだよ。
もうしびれ切らして、キヤノンのEOS 5D MarkIV買ってもーたやん!!!(^_^;;;

cseaq0bumaaqwyl

最近SONYはFEマウントに注力してるし・・・この先Aマウントに以前のような展開を期待するのは無理かな・・・とか、ミラーをやめてトランスルーセントミラーとかいうイマイチなものに変わって・・・とか・・・ボディ内5軸手ぶれ補正とか捨てがたい機能もあるんですが・・・他諸々の理由であまり好きになれず・・・、結局 キヤノンのEOS 5D MarkIVを買ってしまいました。

やっぱり欲しいのは 正統派のデジタル一眼レフカメラであって、デジタル家電が欲しいわけじゃないんです・・・。ソニーは α900 を最後に一眼レフカメラの新規開発自体止めちゃったんだと思います。その後の製品を見る限り僕はそう思います。

10年くらい前にコニミノのαマウントに移行した時EFレンズは全部売ってしまったので、2年前にAPS-CサイズのEOS 70Dと同時に買った EF24-70mmf2.8LII 一本しか持っていない。
今回 5D MarkIV買った時のポイントで 単50mm/f1.4もゲット。新しいデジイチ購入のため2~3年前からちょっとずつ貯金はしてたんですが・・・今回でぶっ飛びました・・・。今度はレンズ沼にはまらないぞ!と心に誓う(^^;;

そして、もう一つ、買い物。

2年縛りが9月末で終わるので、この際だから大手キャリアやめてSIMロックフリーのiPhoneSE買って、IIJとかDTIとかの格安SIMにMNPしようかな・・・と思ってたんですが、なんと、iPhone7は日本だけ特別にFeliCa搭載の特別バージョンになるFeliCa搭載って話じゃないですか!(チップは載ってて、海外版はソフトウェア的に無効にしているだけだそうです)
これで、スマホケースにiDカードを入れて「なんちゃっておサイフケータイ」する必要もなくなる! しかも防水! トイレの中に落としても大丈夫!ってなわけで、32GBのマットブラックを購入。

img_0727

背面の「総務省指定」が眩しい。老眼で見えないけど(^_^;) たぶんスティーブジョブズが生きてたら絶対許さなかったはず(笑)
叩かれまくってたのホームボタンですが・・・全然違和感ないです。僕的にはこっちの方がいいかも。日付とか時間を変更するときにクルクルと回すとき、音だけじゃなく手にもフィードバックを感じるのもマルです。

さすがに「耳からうどん」は恥ずかしいですが・・・イヤホンジャックが無くなったはホントに痛い・・・けど、そのうちデフォルトがライトニングケーブルで、ミニプラグへの変換端子を付属、なんていう逆のイヤホンの商品も出てくるはず。

大きい買い物が2つ重なってしまい・・・懐が非常にお寒い状態です。
以上グチ終わり。

WiFiが使えない!?そうだ!ルーター化しよう。

と、いつもの素人発想の(今更CentOS6?)思いつき「やってみた」私的備忘録です(m_m)

関係ないですが・・・Windows10のAnniversary Updateして、WSL(BASH)入れたらいつのまにか、サービスにSSHサーバーが・・・。netstat -a | findstr LISTEN したら、22番ポートが立ち上がってるやんけ!しかも全解放状態で(笑) ググったらWindows10を開発者モードにするとSSHdがインストール?されるみたい・・・とほほ。とりあえずサービス無効にした。でも、こういうのちゃんと通知してくれないと・・・ある意味公式のバックドアやん・・・。まぁ、開発者モードだから文句は言えないか・・・。

本題です。

社内で割り当てられたIPアドレスは3つで、

  • 社内業務用PC(グループウェアとかメールとか専用・ガチガチにセキュリティ高め&監視対象)のWindows7
  • 開発用のメインPC(Windows10) Windows Defenderのみ
  • 検証用のサーバー(CentOS6.7)

Surface3でOneNoteをメモ帳代わりに常時使っているので、ちょっと前までは、メインPCのWindowsに、APモードで利用できるUSBドングルタイプの無線LAN子機をつけて通信させていました。内緒だけど(^^;

で、8/3のAnniversary Updateで、このUSBドングルの無線LAN子機のドライバがサポート外になったのか、APモードにすると設定画面が消えてしまい正常に繋げなくなりました。ドライバのバージョンアップを待っているのですが、どうも対応しなそうな感じ・・・。環境依存で何かエラーになってるのかなー?と思いつつ原因が分からず。とりあえず、ドライバのバージョンアップを気長に待ってみたい。

で、やっぱり社内LANに接続できないと、不便・・・ってことで、検証用のサーバーにクロスケーブルで接続させてCentOSをルーター代わりにしてNATすりゃいいや、と思い、以下の構成でとりあえずやってみる。

network

検証用サーバーにもSurface3にも余っているLAN口がないので・・・バッファローのUSB-NICを二つ買ってきてクロスケーブルで繋ぐ。思ったんだけど、わざわざクロスケーブル買う必要なかったかもしれない・・・最近のNICってケーブルの種類を自動認識するし。

Surface3に接続させたUSB3-NICは自動認識ですぐにリンクアップ完了。IPアドレスを10.0.0.2と指定。準備完了。
CentOS側は・・・USB2-NICは自動認識するも、やっぱり手動設定させなければ・・・めんどっちーな・・・。

まずはMACアドレス確認。(下記MACアドレスは実際の値ではありません。ご了承のほど)

# dmesg | tail
Slow work thread pool: Ready
usb 2-2: new high speed USB device number 2 using ehci_hcd
usb 2-2: New USB device found, idVendor=0b95, idProduct=7720
usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-2: Product: AX88772 
usb 2-2: Manufacturer: ASIX Elec. Corp.
usb 2-2: SerialNumber: 228729
usb 2-2: configuration #1 chosen from 1 choice
asix 2-2:1.0: eth1: register 'asix' at usb-0000:00:1d.7-2, ASIX AX88772 USB 2.0 Ethernet, aa:bb:cc:dd:ee:ff
usbcore: registered new interface driver asix

フムフム、ちゃんとeth1として認識してますな。ドライバは既に入ってんすね。ラクショー・ラクショー。MACアドレス(aa:bb:cc:dd:ee:ff)をコピーして、
設定ファイルをコピーして適当に修正後、リンクアップして確認・・・。

# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
(ここでMACとかGATEWAYとかIPとかUUIDとか修正)
(UUIDは /usr/bin/uuidgen で。)

(リンクアップして確認する)
# ifup eth1
Determining if ip address 10.0.0.1 is already in use for device eth1...

# ifconfig
eth0      Link encap:Ethernet  HWaddr 11:22:33:44:55:66  
          inet addr:192.168.1.101  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:178189 errors:0 dropped:0 overruns:0 frame:0
          TX packets:144306 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:128726184 (122.7 MiB)  TX bytes:49793405 (47.4 MiB)
          Interrupt:16 

eth1      Link encap:Ethernet  HWaddr aa:bb:cc:dd:ee:ff
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:76 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:8996 (8.7 KiB)  TX bytes:8996 (8.7 KiB)

ここで一旦クロスケーブルで接続して、Surface3側からpingしてみると、ちゃんと開通。
とりあえず、CentOS(eth1:10.0.0.1)とSurface3(10.0.0.2)の接続完了。

このままだと、社内LAN(192.168.1.0/24)にはパケットが飛ばないので、ここからNATの設定を試みる。
とりあえず、教科書どおりにやってみる。

# vi /etc/sysctl.conf
(net.ipv4.ip_forward = 1 に修正:異なるNIC間の転送を許可する。)

(設定を有効化)
# sysctl -p

(10.0.0.0/24のパケットを社内LANに繋がっているNICにNATして流す.用語の使い方間違ってます(m_m)
# iptables -t nat -A POSTROUTING -o eth0 -s 10.0.0.0/24 -j MASQUERADE

(surface3からのパケットを社内LANへそのまま転送許可する。
# iptables -I FORWARD 1 -i eth1 -o eth0 -s 10.0.0.0/24 -j ACCEPT
# iptables -I FORWARD 1 -m state --state ESTABLISHED,RELATED -j ACCEPT

ここでsurface3側から開発者用PC(192.168.1.102)にpingを打ってみると、ちゃんとパケットが到達。
この状態で、surface3の通知エリアにあるネットワークアイコンを見ると、ビックリマークが消え、インターネットアクセスに変わってます。一応surface3のEdgeで会社のホームページを見てみる。\(^O^)/

オールOK。設定を保存。

# service iptables save
iptables: ファイアウォールのルールを /etc/sysconfig/iptables に保存中: [  OK  ]

(ここでiptablesを再起動)
# service iptables restart
iptables: チェインをポリシー ACCEPT へ設定中nat filter [  OK  ]
iptables: ファイアウォールルールを消去中: [  OK  ]
iptables: モジュールを取り外し中:[  OK  ]
iptables: ファイアウォールルールを適用中: [  OK  ]
iptables: 追加のモジュールを読み込み中:nf_conntrack_ftp nf_conntrack_netbios_ns [  OK  ]

ってなわけで、CentOSの簡易ルーター化完了。

本当は、このUSB2-NICがCentOSマシンに接続された時だけ、上記手順をスクリプト化したファイルを実行させたり、USB2-NICが取り外された時に元の状態に戻すスクリプトを実行させたりしたいのですが、USB2-NICの接続状態を監視したりする方法とか、そういうのはどうやるんだろう・・・?

また暇になったら調べてみようっと。

WSL/Bash + CMD.EXE = やめてくれ!

Windows10 Anniversary Update、スタートメニューやその他いろいろ更新されましたが、開発者としての関心事はやっぱり “Windows Subsystem for Linux”(以下WSL)じゃないでしょうか。。。さっそく開発者モードにしてこの機能を有効にしてみました(^^)

僕はてっきりBash用のターミナルで動かすんでしょう??(これでコマンドプロンプトからおさらばさ!) と思ってましたが・・・まさかのコマンドプロンプト(CMD.EXE)立ち上げ、からの “bash”タイプ・・・。ここでかなりのガッカリ感が・・・。

Linuxは Redhat系のCentOSしか知らないので、apt-get とかよくわかんねーよ。とりあえず、sudo apt-get yumとかでパッケージ管理してしまおうかな(笑)
WSL自体よく仕組みが分かんないけど、ubuntuの他にも選択肢があればいいのになー、と素人考えはダメですか(^^;;;

当面 Cygwin で問題無い。っていうか、ホンモノが欲しかったらVMで用意すれば・・・同じことができるんじゃ・・・。そういえば、DockerのWindows版が出たってニュース記事があったし・・・。

なんにせよ、選択肢が多いとどれ使えば正解なのかよくわかりません・・・。使いやすい環境を自分で構築していく労力が無駄だなぁーと思うときはあります・・・。本来の仕事が効率的に前に進まない・・・。

はじめての・・・

常々思うんですが、(スクリプト言語も含めて)初めて本格的に学ぶプログラミング言語って大事だと思うんですよねぇ。初めて学んだプログラミング言語って、その後のプログラム的な趣味嗜好に絶大は影響を及ぼすと思うんです。

僕はC言語から入ったので、波括弧とセミコロンが無い言語は、学ぶ気が失せてしまうんですね。。。悲しきかな・・・。Webで仕事してて、当然知っていなくちゃ話にならないような、RubyとかPythonとか・・・、WindowsとSQLServerで仕事する上で知ってなきゃならない、Visual Basic(含む for Application)・・・、僕、全然知らないし、学ぼうとも思わない、という自分がいます。分かってるんです、向上心が無いのは・・・。

でも、現状の環境で、日々の雑務は全部PerlやPHP、C#で要求を満たせますし・・・需要がないんですよね、Rubyやらなきゃ!とか VB覚えなきゃ!という。

たぶんこの年(40半ば)になって同じ仕事できるような転職なんてぼぼあり得ないと思います。でもね、若い人と同じ土俵で競っても哀しい結果になると思うんです(もちろん僕限定ですけどね)。

それなら、今持ってる知識で新しい価値を作っていく方が良いと思うんですよね。

「今時 Perl ? (笑) RubyとかPython 書けないの? よくそんなんでやっていけてますね(笑)」 と、面と向かって全否定される日が来るんだろうな、、、。その時は、たぶん、僕、帰ってから晩ご飯食べながら涙流して泣くと思うんですよね(・・;;;

うそ~ん・・・

これの続きです。(m_m)

事実をかなり大袈裟に盛ったフィクションです(m_m)

関わる仕事としては、ちょいと大きめです。大きめと言っても、難易度はそんなに高くなく、普通のシステム受託制作会社として考えれば、ある程度仕事も慣れてきた新人に任す程度のレベルの仕事で・・・仮に失敗しても先輩が他の仕事をしつつ失敗のケツを拭いてあげられる、ぐらいの案件。ま、フツーの制作会社ならね(^_^;)

でもって、まぁ紆余曲折を経て、データベースの設計を結局僕がやることになったんですが・・・問題発生。
個人情報を格納するフツーのテーブルを作ったわけですよ。まぁ、名前やら生年月日やら連絡先や住所など。。。まぁどこにでもあるような一般的なユーザー管理ですわな。エクセルで管理している名簿レベルのテーブルですよ。

で、リーダー(L)からツッコミが入った。
L「年齢カラム(フィールド)を追加してください」
僕「え? 年齢? いや、生年月日から計算できますよね?」
L 「それは困る。絶対必要だから!」
僕『え???≪困る? 何が? は? 年齢でしょ???≫ SELECTする時に計算式いれて取得できるじゃないですか?』
L「・・・・」← 何言ってんだ?コイツ。という目で睨まれる・・・・え?
僕「年齢カラムなんて入れたら毎年更新しないといけなくなるじゃないですか!?」
L「それは気にしないで! こっちで毎年更新するから(笑)」
僕「・・・(沈黙)・・・え~と・・・毎年更新・・・って・・・ 」

いやいやいや、そんなのありえんでしょ? 年齢更新のためだけにテーブルをいちいち更新するの・・・????
ポカーーーーン、って感じで自分の顔が引きつるのが分かった・・・。
気を取り直して・・・
僕「じゃぁ、年齢も取得できるビューを作りますから・・・」
L「そんなの作る必要ないです。動作スピードを上げるために必要なフィールドですから。」
僕『え???スピード??? 何のスピード??? 何だ、何言ってるんだ???』

一連のやりとりを知った上長がさすがにマズイと思ったのか・・・かなりザワザワっとしてきました(笑) いや、笑い事じゃないんですけどね。。。足が『ガクぶる』状態です。。。

タスケテー