ギガビット

社内ネットワークが1Gbpsになりました。
実測した所、今までは約90Mbps。新しくなって約400Mbps。

たぶんジャンボ・フレームにするともっと速くなると思いますが、ネットワーク上に100Mbpsの機器も繋がっているので当分はこのままです。

モバイルwifi

モバイルwifiを購入しました。

前から欲しかったのですが2万円近く、高すぎるので買っていませんでしたが、AWR-100TKが6000円台で購入できることをネットで知り、すぐに購入しました。

これに合わせて楽天のLTEsimカードを購入。
月900円で 1GBまでの通信が行えます。

これで、外出先でも安くインターネットが使用できるようになりました。
(電話会社に毎月毎月高い金を払うのはイヤ)

設定はとても簡単ですぐに繋がります。

1ヶ月使った結果、800MBくらいの使用料でしたので、今後仕事での使用量が増えることも考え、どこかのタイミングで3GB(1677円)に変更しようと思ってます。

メソッドに機能を追加するメソッド

今日は.net用の自社ライブラリのお話。

メソッドのデリゲートにログ出力やリトライなどの機能を追加するメソッドを色々と作って使っていました。
以下は使用例。

//ログ出力を追加
Skin.Log(“test”, () => {
Hoge();
});

//リトライを追加
Skin.Retry(5, () => {
Hoge();
});

//メッセージBOX表示を追加
Skin.Msg(“msg”, () => {
Hoge();
});

上記のように1つだけ追加する場合は問題無いが、複数の追加を行う場合以下のようになり非常に分かりにくくなってしまいます。

//メッセージBOXを表示し、リトライを行い、ログ出力をしてから、Hoge()を実行
Skin.Msg(“msg”, () => Skin.Retry(5, () => Skin.Log(“test”, () => {
Hoge();
})));

汚い。特に最後の行の括弧が沢山並ぶのがきもい。
なんとか綺麗に書く方法がないか検討した結果、以下のようにメソッドチェインできるようにしてみました。

//メッセージBOXを表示し、リトライを行い、ログ出力をしてから、Hoge()を実行
new Action(() => {
Hoge();
}).Log(“test”).Retry(5).Msg(“msg”).Invoke();

すっきりしました。けど、追加する順番が逆になり、シーケンスがちょっと分かりにくい。
もう少し良い方法は無いか、今も考えています。

 

OpenXML

OpenXMLというマイクロソフトが公開しているライブラリがあることを知ったのでメモ。

EXCELファイルをプログラムから作成する場合、EXCELをCOM参照して作成していましたが、EXCELがインストールされていないと使用できなかったり、COMなのでC#と相性が悪かったり、あまり使い勝手がよくありませんでした。

OpenXMLを使用すると、EXCELがインストールされていなくてもEXCELファイル(xlsx)が作成でき、マネージドDLLなのでC#での使用も問題ありません。

実際に使用してみないと細かい所までは分かりませんが、機会があれば使ってみたいライブラリです。

Windwos8.1を無償提供

先日の開催された開発者向けカンファレンス「Build 2014」で、9インチ未満の携帯電話、タブレットにWindwos8.1を無償提供するとの発表がありました。

少し前から噂がながれていたので、この発表自体はそんなに驚きませんでしたが、どうも携帯電話、タブレット以外の組み込み機器にも適応されるらしいです。

今までは高くつくためWindowsを入れられなかったような低価格なデバイスでも自由にWindowsが使えるようになり、Andoriodと戦えるようになるかも。

しかし、OSの提供形態がどのようになるのかや、無償提供期間が決まっているのかなど、
まだ分からないところが多く、もうしばらく情報がそろうまで時間がかかりそうです。

NT京都2014

3/22(土)に京都で行われた、ネタモノ系ものづくりの展示・交流会「NT京都2014」を見に行ってきました。(くわしくはNT京都2014のサイトへ

去年の4月頃にこのイベントを知り、次回は是非出展参加したいと思いArduinoをいじりはじめたものの、飽きっぽく忘れやすいため、そんな志はどっかにいってました。


場所は、春日幼稚園で行われており、一部大きな展示物が春日神社境内で設置されています。
幼稚園の屋上から撮った写真。神社にヴィーゼル空挺戦闘車という普段お目にかかれない組み合わせ。
左の建物に見えている黒い塊は、ヒゲキタさんの手作りプラネタリウムです。


黒線の上を自走するロボット。
小型WindowsPCでOpenCVを動かし画像解析で黒線を検知。モータ制御はArduinoで行っていました。
面白いのはカメラが頭、モータ制御されている回転傾斜軸が首のようになっており、黒線を追跡する時に本体タイヤの回転より先に回転傾斜軸の首が黒線に追従しているので、まるで生き物が動いているかのような愛嬌のある動きを見せてくれます。


3軸制御のピッキングロボット。
よく工場などで見かけるロボットですが、この作品は支柱がぐらんぐらんで、
ロボットが動くと惰性でフラフラしながらピッキングを行っていました。
デジタルでありながらアナログな面白みがある動きでした。


UVレジンでのアクセサリ作りです。
写真に写っているのはうちの子(男)です。
うちの子は、こういうこまかい作業が大好きです。

来年こそは出展したいとおもっております。
構想はあるが、時間と根性が足りてません。

windows8のタッチキーボードでかすぎ

Windows8の8インチタブレットでタッチキーボードを表示すると、画面の半分が埋まってしまう。

何故サイズ変更が出来ないのか謎。
クローズボタンなどが配置されるエリアが上部にあるが、完全に無駄なエリア。

ATOKから素敵なタッチキーボードが販売されるのを願っているが、出てこないところをみると、サードパーティが作成できない仕組みになっているのか?Windowsがそんなクローズドなことしてて良いのか、そんなところはアップルの真似するな。グーグルのほうを見習え。

マイクロソフト1社で全ての人に理想的なソフトは作れないことは分かっている。だからサードパーティの邪魔はするな。

8インチWindows8タブレットのつづき 3

Windowsタブレットを使い始めてもうすぐ1ヶ月になります。

使ってみて分かったことは、Windowsストアアプリをほとんど使わないこと。

タブレット機なのでWindowsストアアプリのほうが使い勝手が良いはずなのですが、
実際に使おうと思うと、思っているソフトが無かったり、ソフトの機能が貧弱であったり。

あと、デスクトップにWindowsストアアプリのショートカットが作れないので、Windows
ストアアプリを起動する場合、必ずスタート画面を表示しないといけない所もいけてない。
タスクバーにピン留めできて、デスクトップ内にWindowsストアアプリが表示できれば、
もう少し使えるかもしれない。

カスタマイズ性が低いのも問題。デスクトップであれば、AutoHotKeyとかRainmaterとか
色々とありますが、Windowsストアアプリ用には今のところありません。技術的にできるのか
もまだ分かりません。

現状は荒削り、もしくは方向性が間違っているとしか思えない。
次のWindowsではデスクトップとWindowsストアアプリの溝が大分埋まるそうですので、
次バージョンに期待し、しばらくはデスクトップメインとなりそうです。

8インチWindows8タブレットのつづき

今月、タイと中国に出張に行っていました。

その出張手当でタブレットを購入する予定でしたが、嫁に全て没収 渡しました。
出張中の間、家事や育児を一人でがんばって貰っていたので、その分の手当という名目のもようです。

タブレット購入費用をどうするか目処がたっておりません。