VR

こんにちは、MTJです。

ついにOculusの予約が開始されました、日本円で送料込みで約10万程度だそうです。
PSVRもそうですが、この2つのVRがどんなものかというと、
ヘッドマウントディスプレイの出力映像を見、頭の向きなどにより視界が動いたりするもの
360度ディスプレイみたいなものにKinectのようなモーショントラッキングをつけたもの

これがワンセット10万なら安いのかなと思ってしまう。
同じようなPSVRと少し変化してMicrosoftのホロレンズの価格も気になる所。

ただOculusは今後は顔だけでなくモーションのトラッキングもすることで
オープンワールド系のゲームで歩いたり等も目標にしているようです。

VRの今後の展開が楽しみです。

画像処理ライブラリの機能追加

現在、社内の画像処理ライブラリに測長機能を実装しています。
用途が多そうな機能なのに今まで使う機会が無く、実装していませんでした。

手順やインターフェイスはほぼ決まっており、
基本的にはエッジ検出結果を元に内寸や外寸を計算します。

画像処理機能の追加は久しぶりで、色々と思い出しながら作成しています。

ラダーとドキュメント

今年は残念ながら未体験のデバイスを使った案件はありませんでした。
こればかりはお客様の仕様なのでどうにもなりません。
ラダーに関しては改造の案件が多かったので勉強になりました。
各社様とも「ラダーの共通化」のために工夫されています。
しかし、やはり、ラダーソフトに行コメントを記載される方が少ないと思います。
現在のPLCの性能は「リレー回路」の域をはるかに超えているので多言語の同じように
「ラダーソフトはドキュメント」であると思うのですが・・・。
以前、米国製の装置を調査したことがあります。
その装置にはリレー回路が実装されていて、制御盤内にその回路図(説明書)が入っていました。
もちろん英文でしたがリレー回路の説明文があったので非常に助かりました。
欧米人の書いたラダーソフトにはどのようなコメントの記述があるのでしょうか?
WEBで探したいと思います。

PG言語の種類

mtjです。

最近別のPGの情報等を見ているのですが、流行りはJAVA、JAVASCRIPT等が流行りらしいですね。

JAVAは言わずもがな、どんな環境でも使える言語、JAVASCRIPTはWEBアプリの開発等ですね
スマートフォン、タブレット等が流行っているのでwindows系の言語より流行るのは当然のような感じですね。

C等は組み込み等などでよく使われており、今はまだ使える人は多いですが、これから使用者が減り需要が高まりそうな言語ですね。
上記で上げたJAVA等は需要は多いですが、代わりはいっぱいいるという感じな気がします。

昔の言語のほうができることが少なく、意識することが多いためどうしても使用者が減りそうな気がしてしまいます。
自分はJAVAからなのでC++もCもさっぱりではありますが、調べている限りでは上記のように難しいというイメージがあります。

また、WEBアプリ、JAVAでのGUI等と違い派手さ(GUIの)がないのでどうしても印象はWEB系とかのほうがいい気がします。

C,C++は狭き門、Swift,JAVA,JAVASCRRIPT,HTML5等はこれから伸びていく言語で広き門という印象です。

単純に基本だからCではなく、自分の行いたい事に合わせて言語を切り替えるのが言語を勉強する上で重要だと思います。
がむしゃらにPGを勉強するのではなく、自分の行いたい業界は何のPG言語が多いかを考えて言語を覚えることが重要ですね。
特にPG初心者はCのメモリ管理等の面倒な事を考えずに、JAVASCRIPT等を使い画面上で画像を動かす等のほうが楽しく覚えられるのでは
無いかと思います。
もちろん、JAVASCRIPT等をしたからといってCができるわけではありません、只PGの動きの基礎が入っていないとCは難しい事が多い気がします。

タッチパッド付き無線キーボード

先日、工場で使用するPC用にタッチパッド付き無線キーボードを購入しまいた。

マイクロソフトのN9Z-00023で、金額は2000円台とリーズナブルです。

工場などの場合、防塵用のPCラックにPCを格納し、キーボードはスライド式のキーボード台に固定されていたりするのですが、マウスは固定する訳にもいかず、ケーブルも煩わしいのですが、このキーボードがあればそんな悩みもスッキリ解決。

あとは作業者がタッチパッドによる操作に慣れて使って貰えるかだけです。

職人技

客先でシニアの方が検査装置の組立をされていました。
その工程にパイプの曲げ加工があるのですが見事な職人技で
自在にパイプを曲げていました。
素人がやると丸いパイプがへしゃげてしまいます。
パイプの曲がり具合を見ながら油圧の曲げ装置(?)のペダルを加減する
動作はとても自動化できそうにありません。

プログラマのレベル

こんにちはmtjです。

プログラムを打つこと自体は簡単です、教科書にもある通り”Hello World”と出すだけだからです。
MainメソッドにConsole.Write(“Hello World”)で終わりでしょう。

只、難しいプログラムというものはなんなのでしょうか、1メソッドが1000行にもなっている
プログラムが難しいといえば難しいです、読み難いという意味で難しいです。

人によってはクラスを作ること自体が難しいと思う人もいるかもしれません、
自分がPgを習っていた時はクラスを使用するだけでちんぷんかんぷんになる人も
いました。

難しいPGは書こうと思えばいくらでも書けます、そこでソフトウェア品質要因というものがあります。

PGのレベルが高いかどうか”ソフトウェア品質要因”をどの程度満たしているかで判断できる気がします。
例えば 1000行のメソッドのPGの場合は”簡潔性”が低いのは明らかで、また、”効率性”が低くもなりやすいと思う。

こういったことを意識して書くことで自分もPGの腕が上がっていくのかもしれないと思いました。

C# Switch拡張メソッド

C#のswitchステートメントって不便ですよね。古くさいというか。
戻り値が返せなかったり、複雑な条件が指定できなかったり。

ですので、Switch拡張メソッドを作ってみました。

たとえばint型変数valueの値によって文字列を返す場合、以下のように使用します。
var str = value.Switch()
.Case(0, “0です。”)
.Case(x => x > 0, “プラスです。”)
.Default(“マイナスです。”);

たとえば変数valueの値によって何らかの処理を行う場合、以下のように使用します。
value.Switch()
.Case(0, x => {
//0の場合の処理
}).Case(x => x > 0, x => {
//プラスの場合の処理
}).Default(x => {
//マイナスの場合の処理
});

Switch拡張メソッドはobject型の拡張メソッドになっており、CaseメソッドやDefaultメソッドなどをメンバに持つSwitch処理用のクラスを返すようになっています。

量り売り

北海道大学へ出張してきました。
名物の「イチョウ並木」がきれいでした。
学食へお昼ごはんを食べに行きました。
さっぽろラーメンを食べたかったのですが長蛇の列でした。
あきらめてビュッフェへ行きましたがおもしろい事が2つありました。
1つめは自動ごはん吐出装置です。
コーヒーのように吐出口の下にお茶碗を置いて「小」「中」「大」のボタンを押します。
すると、「ウィン、ウィン、ウィン」と定量のご飯が出てきます。
かなりの違和感がありましたがご飯がダマになることなく、また、清潔だと感じました。
2つ目はおかずの清算方法です。
何種類かの器に食べたいおかずを食べたい量だけ入れます。
レジの量りの上にトレイを置くと係りの人が器の種類と数を入力します。
すると正味のおかずの重さが表示されます。金額は1グラム1円です。おかずの種類は関係ありません。その日のコンディションで野菜を多めにしたり、肉類を多めにしたり、自主管理できる人にとっては非常にありがたいシステムだと思いました。
(自主管理できない人は何をやってもダメです)

国産ビデオを海外から

こんにちはMTJです。

国産のアニメ等のDVDを海外版で購入する方が安い事を最近知りました。
自分が欲しい物が安いだけかもしれませんが。

リージョンの問題がありますが海外のプレイヤーを使えば問題無し。
普通に日本語音声なので安くて満足という具合です。

円盤を特典等気にしない場合は海外の方が安い方もあるという知恵でした
リージョン制限で日本製のプレイヤーは見れない可能性があるので
そこは自己責任です。