”tsc.exe”はコード 1 を伴って終了しました。

Visual StudioでTypeScriptを書いてる時はインテリセンスやエラー表示をしてくれるし、保存すれば勝手にビルドしてくれるので非常に助かります。

しかし、プロジェクトをビルドするときに走るtsc.exeのエラーの場合、「”tsc.exe”はコード 1 を伴って終了しました。」とだけ表示され、詳細なエラーがわかりません(VS上のどこかで見れるんでしょうか?)。

この原因を調べるときは、PowerShellを起動して、MSBuildを使ってビルドするといいです。いくらか詳細なエラーが見えます。

最初からコレの結果を表示してよもう。

今まで2回あって、前はreferenceタグの綴じ忘れで、今回は「Emit Error」というエラーで、出力するJavascriptファイルがIISにロックされて書き込めなかったみたい。

1年間在宅勤務した感想

私は旭川の会社に務めていますが、札幌に住んで在宅勤務をしています。

どうして在宅勤務することになったのか、実際に在宅勤務してみてどうだったのか、の2点をざつにまとめてみます。

どうして在宅勤務することになったのか

私は旭川の会社で勤務しており、旭川人なら「本屋!」と言いそうな会社ですが、IT機器の販売・保守とシステム開発をしている会社です。もうすぐ40周年です!40年ってすごいよね!

仕事には不満どころかかなり満足していますし、営業・サービスを含め同僚がすごい人ばかりなのでもっともっとがんばりたいと感じています。
しかし、家族都合で札幌に引っ越したくなりました。
その理由は次のようなことです。

  • 子供を通わせたい幼稚園が札幌だった。
  • 妊娠中だった2人目の息子に口唇口蓋裂があることがわかっており、北大の形成外科に通う予定だった。
  • 嫁に持病があるため、何かあったときに私の母がいる札幌なら助けてもらいやすい。

これらの理由があっての移動(要するにただのワガママw)なので、最初は会社を辞めるつもりで話をしていました。

しかし話を進めるうちに、在宅勤務でもいいよ、というお話を頂きましてお願いしました。

実際在宅勤務してみてどうだったのか

通勤時間がなくなった

これは単純に車移動の20分が節約になるので良かったです。
特に冬の旭川は運転したくないのでかなり助かります。
これにより車の利用が減りました。車の保険プラン変更、そもそも車を持ってたほうがいいか、などを考えることができました。

ただ、通勤時間というのは「オフ」と「オン」の切り替えという時間だったと思います。
その時間が無くなったので、その切替を自前でやる必要はあります。

自己管理はやっぱり難しい

家だと自分で仕事を始めて、自分で終えなくてならないです。
1日のペースとしてはずれることも多々ありますが、次のような感じです。

 4:30〜      起床、勉強または仕事
 7:00〜 8:30 ご飯他
 8:30〜17:30 仕事、休憩
17:30〜20:00 ご飯、運動、お風呂、子供と遊ぶ
20:00〜21:30 仕事
22:00〜      ねる

夜に勉強会がある週や飲み会が多い週は、6時に起きて12時に寝るようにずらしてます。そうしないとすぐ眠くなってしまうzzz

難しいのが仕事を切り上げるタイミングで、忙しいと24時を過ぎてやってしまい、生活がずれてしまうということが沢山あります。
これは悪いループに入ると最悪で、

これが続くと疲れて正常な判断がしにくくなるのですよね。
だんだんと家族と話すのもイライラしたり、そっちでイライラすると余計に仕事をしてしまったりします。
どこかでバッサリと寝て、リセットするのが大切ですね。

運動しやすくなったので体はすっきり

会社にいる頃はスーツで座って仕事をしているので、運動することはできないし、そもそもスーツだから動きにくいです。
自宅で仕事しているときは、スタンディングデスクな感じで仕事したり、休憩がてら散歩したり、そういったことが自由なのが良いですね。

家族と一緒にいられるのは良いけど困ることもある。

・ドアに鍵がついていないために、テレビ会議中に子供や嫁が入ってきちゃうw

・一日中いるので家事しているところが見えてしまうので、口をだして機嫌を損ねさせてしまいますw

・一応昼間は仕事中。
 暇な時に私から、手伝えることはないかー、といった感じで手伝うのはいいのですが、それをし過ぎると逆に「手伝ってー!」というのが増えてきてしまい、いやいや仕事中なんだってー!、と言いたくなってきます。
 完璧に、仕事中は一切ダメ!とすると嫁が疲れるし(嫁が手伝ってもらえたらいいのになぁ、という気持ちを飲み込まなくてはならない)、だからといってなぁなぁ過ぎるとこっちがイライラするしでバランスが難しいです。

もちろん良いことも沢山あります。
私は家族みんなでご飯を食べるのが夢だったので、朝昼晩ご飯を食べれるのが幸せです。

人との触れ合いが少ないため色々とこもりがち

そもそも会話をする相手がいないのでもんもんとするときがあります。
(話をしてたら頭がすっきりしたり、新しい発見があったり、ということもあるよね?)

ここらへんはどうしょうもないので、勉強会に参加して話したり、コワーキングスペースに行ってみるのがいいかなーと思ってます。

やっぱりスーツじゃない方がよいよね

会社はスーツで仕事していましたが、やっぱりスーツで仕事をするのは効率が悪いと思います。スーツ自体は好きだけどね。

設備や準備はあまり必要なかった

もともとネットワーク、サーバー、サーバーソフトウェアが好きで自分で色々触っていたので、リモートワークをする準備はほぼ必要ありませんでした。
必要なかったというか、別途用意するほどの知識が必要なかったというか。

あと、仕事は主にWindows Server 2013にリモートデスクトップ接続して行っていますが、Windows server 2013のリモートデスクトップの性能がかなり良いことも大きなポイントです。

先日購入したディスプレイの2560*1440+1920×1080の解像度でも遅延なく快適に仕事できています。

社内のコミュニケーションは今の時代は楽だね

仕事や打ち合わせはテレビ会議、スカイプ、Chatwork、redmineあたりのツールを使って行っています。
ここらは色々なツールが低コストで使える時代ですので、何の問題もないですね。

お客様への対応は大変なところもある

現地対応が必要な場合、緊急対応でなければ自分が旭川へ行って対応します。
移動時間はかかりますが、会社で社員にも会えるので打ち合わせできたり、他の予定をこなしたりと特に問題なしです。
緊急対応が必要な場合には、旭川の社員と連携して対応しています。

可能な限りお客様の環境にリモート対応できるようにさせてもらっているので、実際のところ現地に行くことはほとんどありません。

クーラーがほしい

クーラーが無く風通しが悪いのですごい暑いです(;´Д`)
朝から晩までPCを動かしているので、部屋の温度がいい感じで上がっていきます。
30度を超えるとぼーっとしてきますw

感想

在宅勤務の良いところ悪いところを感じながら過ごしてきた1年でしたが、体験してみてやはり「在宅勤務できることは良い」と感じましたが、「コレが正義!」という程ではないと感じました。

雑な言い方ですが

「会社に行ってもいいし在宅で仕事してもいい」

くらいのワークスタイルを取れる会社はモチベーションの維持・家庭との両立・仕事の効率などのバランスが良いのではないかと思います。

Code 2014 in 定山渓温泉

Code 2014 in 定山渓温泉 の日記です。おもしろかったー。

出発

11:00札幌北口集合ということで、15分位前につきました。が、見つけられないので@jkudoさんにTELして合流。
@ag0u3さんと外人さんが待ってました。
11時くらいになると一通り集合したようで、車を出してくれる方に乗せてもらい出発です。

車は@jnkyknさん(運転ありがとうございます)、@h_hiro_さん、@hotwatermorningさん、私で出発です。

定山渓へ行く途中「鬼そば」でラーメンを食べました。鰹だしでなかなかおいしかったですが、それよりもひろさんが頼んだ「鬼退治」が値段のわりにでかかった。
器がすりばちだし。

IMG 6761

その後しばらくして定山渓温泉グランドホテル瑞苑にとうちゃーく。

IMG 6764

瑞苑の瑞を見ると、泡盛が飲みたくなるよね。

開幕

会場で受付を済ませて会場へ。

全員で簡単な自己紹介。
結構初参加の人がいる感じです。

Opening Speech (Drew Robbins)

最初は@chack411さんの上司のDrewさんの基調講演。
英語ききとれない\(^o^)/

でもスライドをわかりやすく作って頂いていて助かりました。
話の中でCodeMashの話をしていました。

CodeMashは楽しそうですねー。
まだうちの子供は小さいけど、大きくなったら一緒に勉強会とかイベントに行きたいですね。興味ないっつーか臭いよパパハゲ。って言われないといいなぁ。

最後に@chack411さんがDrewさんの話を日本語で要約してくれて終了でした。

きんぎょばち #1 AngularJS入門 @jsakamoto

きんぎょばち一発目はAngluarJSの話を聞きました。
ひろさんが生贄となり実際にコーディングしながら説明。
内容はangularjsの最初のバインドのところとresourceを使ったWEBAPIの利用でした。
Angularのここの部分は何度見ても、おおー!、ってなりますよね。
AngularJSサイコー。

あと、この時間ではないですが、@jsakamotoさんに

サーバサイドが.Netだとクラス名もプロパティもUpperCamelCaseで書くので、そのままWebAPIで返すとプロパティの名前がUpperCamelCaseになるけど(そのときのデモアプリがそうだった)、ムズムズしますよね? いつもはどうしてるのですか?

って感じの質問をしました。

そしたらあとで ASP.NET Web APIでJSONをLowerCamelCaseで返す方法 – けさらんぱさらん を教えていただきました。
ありがとうございます!

きんぎょばち #2 TypeScript入門 @chack411

次は@chack411さんのTypeScript入門です。

ちゃっくさんの話とは関係ないですが、自分の今のプロジェクトでAngularJSをTypeScriptで書いていますが、かなり書きやすくて幸せです。Javascriptを生で書いていたらきっともうちょいハマっていた気がします。

自分の中でTypeScriptで一番ハマったことといえば、外のスコープのthisを使うにはアロー関数を使う必要があること、ですね。
アロー関数とfunctionのどちらでもOK -> イコール だと思っていたので、生成されたJavaScriptとにらめっこしたことがありました。
でも、でてくるJavaScriptもきれいなのでわかりやすくていいですよね。

TypeScriptサイコー

コードゴルフお題発表 @tututen

@tututenさんが問題を作ってくれました!

CodeJP 2014 問題用

1日目はお題が出されて終了です。
あとはやりたい人が好きな時間にやればOKのフリースタイル!
(実際翌日にコードを出したのは5人でした。)

宴会

美味しいご飯とお酒を頂きました。

余興は大喜利が開催されました。
全員相手に適当にクイズっぽくやるのかと思ったら、ステージ上でBGMあり山田くんあり小道具ありの本格派大喜利!

話すことのできないブラックネタも絡めながら楽しく盛り上がりました。

宴会後

あとは予定がないので各自適当です。
まずは温泉に入りましたが、すぐに男女湯の切り替え(?)で追い出されましたw
なので、部屋に戻ってコードゴルフのコードを書きかき。
12時位までやって寝ました。

2日目

じーさんなので早起きです。4時すぎに起きて、コードゴルフの続きをかきかき。
300バイトちょっとになったので、もう十分!ということで終了。
@jsakamotoさんに聞きたいangularのサンプルコード書いたりPebbleのコードを書いたり、露天風呂に入ったり、朝ご飯食べたり、外を散歩したりしてました。

IMG 6768

それにしても朝の露天風呂はかなりよかったです。
すうーーっと透き通った青い空と、元気過ぎる木々のコントラストが絶妙でした。
空には白く薄い雲がふわっと風に流れていて、お湯につかりながらぼんやり眺めていると、いろんなことがどうでもよくなります。

でも、もうちょっとコードが短くならないかなー。

コードゴルフ大会

さて、2日目一発目はコードゴルフ大会です。

書いてきた人は5人で、順番に発表していくことになりました。

1人目は@hotwatermorningさん。272バイト。もはや私の勝ち目なし。
そしてコードが綺麗。解説も綺麗。かっこいい。
(いやゴルフしてたわけだから綺麗ではないのだけどでも綺麗だったよね? いや綺麗だった)

2人目は@h_hiro_さん。296バイト。先に文字列作っても296になるのか!すごい

3人目は私。309バイト。前の2人に比べると人間味があるコードです。わかりやすい整数だもんね。Ω\ζ°)チーン

4人目は@tututenさん。231バイト!!! 文字化け!! 変態!!

5人目は@sandinistさん。274バイト! 32進数?

優勝は@tututenさん。
その後、帰り際まで格闘していた@tututenさんが到達した境地は・・・またあとで。

折角なのでコードゴルフのメモ。

コードゴルフをがんばってやるのは初めてだった気がするので、まずは昨年の情報とJavascriptのコードを短くする情報をググって学習。
下に書くようなテクニックを使って元のソースを短くしました。
次にどうやってデータを圧縮するか考えましたが、
天才的な発想は何一つ浮かんでこなかったので、
人間味あふれ、幼稚園児でも読める整数にして完成しました。

今見るとソースが汚なすぎるけど、がんばったよじぶん!

今回使った短くする内容はこちら。

  • 空白と改行を除去する。
  • ブロックのカッコ {} の最後のかっこ } の前のセミコロンはなくてもよいので削除する。
  • for文をデクリメントする。for (i=0;i<10;i++) -> for(i=10;i–;)
  • for文の3つ目にinnerHTMLへの代入を書く。for(i=10;i–;document.body.innerHTML=o+=”<br”>)
  • 代入した結果を代入する。document.body.innerHTML=o+=”<br”>
  • setIntervalにfunctionではなくて文字列を突っ込む。
  • setIntervalに突っ込む文字列は変数に代入しておいてevalで初回実行をする(問題だとsetIntervalの前に一回処理が走ってるので)。
  • データを圧縮する。今回は_*を01になおし、1つの文字の横幅が6文字だったので、6文字(6ビット)をひと塊として整数にする。

きんぎょばち #3 Monaca/OnsenUIについて @jnkykn

急遽話すことになったそうですが、今回一番のヒット! 近いうちに何か作っておきたい。

Onsen UI – A Custom Elements-Based HTML5 UI Framework | Onsen UI

Monaca – Hybrid mobile development cloud for cross-platform app

@jnkyknさんはMonacaの説明をされていましたが、耳を傾けつつもcordovaをインストールしてちょこちょこしているだけでアプリをiphoneに入れて動かすことができました! 簡単すぎ。
しかも、普通のアプリと同じくらいの速さでぬるぬる動いてくれます。

IMG 6777

って、スクリーンショットじゃ全然ヌルヌル感がわからないですね。

しかも、OnsenUIはAngularJSベースでできてるとのこと。
今自分の中でAngularJSがホットなので拡張しやすそうです。
ありがとうございました。

きんぎょばち #4 How to learn English as an engineer @chack411

最後のきんぎょばちはちゃっくさんの英語の話。
ディスカッション形式で、reading,writing,(hearing,)speakingごとに勉強法や体験談などが話されました。

Googleで英文そのものを検索してヒット数であってるかどうか確認するとか、Wordやoutlookで単語や文法のチェックをするといった技や、国ごとでの話す英語の違いなど実際に体験してないとわからないような話もあり大変勉強になりました。
openstackの翻訳でも使われているTransifexGingerのようなツールの話もありました。

私はstack overflowやoreilly.comのebook(英語版は豊富だし安いのでw)は読むけど、書いたり聞いたり話したりは厳しいです。
そもそも日本語も怪しいけど・・・。

channel9を聞いてヒアリングが鍛えられたという話がありましたが、自分も国内外のpyconの動画なんかを見て聴いたりしてます。
一向にヒアリング能力は上達はしませんが、英語がわからなくてもコードはわかるので勉強にはなります。

終わり

最後の最後までコードゴルフをがんばった@tututen師匠の成果は202バイト!

IMG 6774

もう少しで100台ですね。がんばってください!

最後に、みんなで感想を話しました。

感想では全然伝えきれませんでしたが、本当に楽しい2日間でした。
皆様本当に有難うございました。
あと、今回で札幌の勉強会でよく見かける人の顔と名前がだいぶ一致しました(・ー・

帰宅

最後、車を出してくれた方に送って頂いて帰宅しました。
DoraPandaさんありがとうございました!
ロビーでも気を使わせてしまってすみません!

ちなみにメールでは、あなたが落としたのはきんのう◯こですか?ぎんのう◯こですか?カレーですか?、と聞かれ、ふつうのまつざきし◯るです、と回答するのに頭をひねっておりました。
座布団はもらえませんでした。

余談

席が割と隣だった外人さん(connpassにソーシャルなIDが無いので名前は伏せときます)は日本語も箸の使い方も上手で色々お話ができて面白かったです。
この方は日本が大好きで何回も来ているという話を聞いて何となく嬉しくなりました。

この方と話をする中で印象に残っているのは2つあって、1つは日本って世界向けにサービス作らないよね、ってのと、ITですっごい会社でも雇用がすっごいわけじゃないよね、って話です。

1つ目は、その人の母国はマーケットが小さいので何かITサービスを作るときには世界に向けてサービスを作るけど(作らないと儲からないけど)、日本は割とマーケットがあるので世界に向けたサービスを作らないよね、ってことでした。
日本国内でもそういった記事はみかけますが、日本に来てる外人さんも肌で感じちゃうくらい温度差があるのだな、と思いました。

雇用の話は、その人の国だとそもそも人が少ないのでITを使って効率化することに力を入れているけども、結果、人が減って雇用も減って悲しいような話をしてました(かなり間違って聞き取ってるかも^^;)。

以前、TPS(トヨタ生産方式)を導入している会社にいたときに情報をあさったところ、効率化していった先にあるものは人員削減になりがちで結局不幸になるのでは?みたいな話もみかけました。
TPSの問題を改善する方法も色々と考えられているようでしたがそれ以降は情報を追ってないです。
この話は先ほどの話とは逆に、どの国でも似たようなことは起こるんだな、と感じました。

何にしろ、違う国の方と話すと面白いですね。

というわけで

コードゴルフの変態たちやすごい人たちと知り合うことができた楽しいイベントでした。

おしまい

EIZO EV2736-Z 購入

ディスプレイがだいぶヘタってきたのでEIZO EV2736-Z を購入しました。

ev2736w-z

EIZO EV2736-Z にした理由

価格ドットコムあたりを見てみると、スペック上はかなりハイスペックなのに1〜2万円のディスプレイが沢山あり、これでいいんじゃない?って気がします。
しかし、以前、スペック上はなかなか良かったLGのディスプレイを選んだところ、操作パネルイマイチ、調整イマイチ、色がイマイチでした(今は違うかもしれませんが)。
なので、どうせ長く使うのだから今回は少し高くても良い物を、ということでEIZOから選ぶことにしました。
また、EIZOはサポートが良い、という情報を見かけていたのも大きいです。

EIZOのどの機種にするかですが、NTT-Xが押しまくりの分度器セット( EIZO FORIS FS2434 の角度を分度器で測ってきました。 – NTT-X Store )も気になったのですが、解像度のことを考えるとEV2436WとEV2736Wが最終候補でした。

用途は、VisualStuidioでWindowsアプリとウェブアプリの開発、あとはターミナルメインの生活です。
ゲーム、写真、動画はほとんどやらないです。

そんな中でEV2736に決めたポイントは次のようなことをするのに現実的な大きさだと考えたからです。

  • 1つのディスプレイで開発環境を左、動作確認環境を右側に配置したい。
  • 画面を1/4ずつ使って表示したい。
  • EV2436Wだともう1枚欲しくなりそう。しかし、ノート1枚+ディスプレイ2枚は邪魔。暑い。
  • 仕事の環境もプライベートの環境もノートPC+ディスプレイ。
    視線の移動が無いように配置すると、ディスプレイを見る距離からでは、ノートPCの画面が小さすぎて見えにくく、
    ノートPCの画面がはっきりえるようにノートPCを手前に置くと、視線の移動が面倒なのです。
    なので極力1つのディスプレイで済ませたい。
  • 調べた感じ、MacBook Air 11-inch Mid 2012でも2560×1440が60Hzで表示できる(実際できた)。
    ちなみに接続はミニディスプレイポート <-> ディスプレイポートのケーブルを購入しました(サンワサプライのKC-DPM2W)。
    もう変換ケーブルだらけ。高いってぇの。
    さらにちなみにミニディスプレイ <-> DVI変換とDVI <-> DVIの接続では2560×1440はできるものの30Hzが最大だった。
    DellのWindows機のHDMI出力 <-> DVIケーブルでは選択できるメニューでは30Hzが最大。カスタム解像度で40Hzが最大。
    MacとDell機には同じグラフィックチップが載っているはずだが、端子によって性能が違うのかな。
    よくわかってない。

そんなわけでEV2736-Zにしたわけですが、今のところ目論見どおり1つの画面である程度できるのでいい感じです。

サポートについて

良い評判を見かけたEIZOのサポートですが、いきなり利用することになりました。
最初購入した商品が初期不良だったようで、画面の一部が緑色に光ったままでした。

まず、夜中にサポートに写メを送ってメール問い合わせしました。
次の日朝いちで電話がかかってきて、後日代わりのディスプレイを送ってもらい、ディスプレイを引き取ってもらいました。

代替ディスプレイにはEV2736の在庫がないということで、WS2436Wを貸してもらいました。
ちょうど試してみたかったのでラッキー!
1週間くらい使いましたが、WS2436Wでも十分だったかなぁ・・・とも思いました(・ー・)

数日後連絡が来て初期不良だったので新品交換となりました。
新しいディスプレイが届き、借りていたディスプレイを持って帰ってもらって完了です。

「5年保証で修理無料・引取無料で代替品も貸してもらえる」というのは、1日中ディスプレイを使っている身としてはかなり助かりそう!と思ったのもEIZOにした理由の一つです。
幸か不幸か買って早々に体感できましたが、思ったとおりの内容で満足でした・w・