tips

技術書典2にサークル参加してきました

してきました。

同人誌を書くのもこの手のイベントに出展するのも初めてなのでいろいろと心配でしたがすべて杞憂で、とても楽しく過ごせました。あの大規模なイベントをスムーズに運営するのは本当に大変だと思うのですが、それを完璧にやられていた運営の方々にはただただ感謝と尊敬するのみです。本当にありがとうございました。そして私のブースに来て本をお求め頂いた皆様にも御礼申し上げます。売り切れを心配して雨の中長時間待って早めに入場していただいたのに完売もクソもなく本当に申し訳なかったです。

追記(2017/04/15):Comic ZIN様で委託販売中です、ぜひお求めくださいませ。

Continue reading

Windows10でRe:VIEWでPDFを作成するまでの環境構築

Re:VIEWというツールがある。シンプルな構文で文書を書いておいて、それをTeX経由でPDFに変換してくれるものだ。

主に某技術系壁サークルの界隈でさかんに使われているようで、今回私が技術書典2に出す同人誌はこれを使って書くことにしたのであった。(低温調理器自作本出すから来てくれ!!!!)

で、Re:VIEWで調べるがどいつもこいつもmacばっかり使っていてWindowsで動かした話があんまりない。まして入稿までとなると絶望的である。

今回、一応入稿に使えそうなPDF/Xファイルへ変換するところまで全てできたのでやり方をまとめておく(真に入稿OKとなるかどうかはあと1-2週間のうちにわかるだろう)。

Continue reading

ミクロフの歩き方

チェコの南東部、モラヴィアという地域にミクロフ(Mikulov)という街がある。最近どうも景色がきれいということで有名になりつつあるっぽいので、これ幸いと訪ねることにしたのであった。

ミクロフ、プラハ、ブジェツラフの位置 ©2016 Google

ミクロフ遠景

モラヴィア地方はワインの名産地でもあるとのことで、景色もすばらしいとなるとますます行くしかない。ただひとつ、問題は地球の歩き方に載っていないことである。地上にそんな街あるの……?

インターネットを駆使して観光に挑み、無事満喫して(2泊しかしてないけど)帰ってきたので一通りのことを書いておく。

Continue reading

ブジェツラフでVodafoneのSIMを買う

なぜ?

ウィーンからミクロフに行きたいが、ミクロフにVodafoneのショップがないため、途中の乗換駅で調達したい。この町は地球の歩き方にもLonely planetにも全く載っていないので、(特に丸腰(インターネット通信が出来ない状態))で歩くために事前の調査が不可欠である。

どこ?

ミクロフ、プラハ、ブジェツラフの位置 ©2016 Google

ここ。チェコとオーストリア国境近くの田舎町。いま書いてるもう一つの記事からの画像流用なのがばればれで恐縮だが、赤いピンが立っているのはミクロフ。

Continue reading

Windows10 + usbaspでAVRマイコンを使う

AVRマイコンとはAtmel社の製造しているマイコンである。Arduino(およびそのパチもん)に使われているのもAVRのMEGAシリーズというやつで、安くて小さく扱いやすいのが特徴である。他方、ほんとうに素のマイコンのまま売ってるので、直接USBでPCにつないでスケッチをWriteみたいなそういうカジュアルな使い方はまったくできない。ライタと呼ばれる書き込み装置を使ってマイコンにバイナリを転送することになるわけだ。

このライタにはたくさんの種類があり、まあどれを使ってもいっしょだと思うのだが、買うとそこそこの値段 1する。そこでUSBaspというオープンソースのAVRライタを自作することになるわけで、ご多分に漏れず僕の手元には大学の先生に言われるがままに作ったUSBaspと秋月で衝動買いしたAVRマイコンが多数あるわけだ(ここまで8年前の知識)。

AVRマイコンたち。ATMEGA88, ATTINY85など

AVRマイコンたち。ATMEGA88, ATTINY85など

学生時代に自作したusbasp

学生時代に自作したUSBasp

久々にライタとAVRマイコンが出土したので是非いじってみようと思うわけだが、何も思い出せないし当時のPCもないし、なんならWindows10用のドライバなど全く提供されていないのでどこから手を付けて良いかわからぬ。

Continue reading

Notes:

  1. といっても数千円なんだから、今考えれば買ってしまえばよかろうという感じである

Windows 10 Anniversary Updateを適用後、短時間のフリーズが頻発する件

Updateしてからというもの、ちょっと何かする(アプリを立ち上げるとか、その程度)と30秒くらいOSまるごとフリーズするプチフリっぽい現象が頻発していた。かなり厳しい。

イベントビューワを見るとstorahciとかいうのが死んでいるらしい。

storahci

Level: Warning
Source: storahci
Event ID: 129

General:
Reset to device, \Device\RaidPort0, was issued.

Continue reading

Windows 10 Insider preview build 14316でsubsystem for linuxを試す

タイトルが長い。

まずInsider previewのfast ringに入り、build 14316のアップデートを適用する。すると、Windowsの機能?のところにWindows Subsystem for Linux (Beta)という超かっこいい項目があるので、有効にする。

Windows-features

起動したところ

起動してunameを打ったところ

あとは普通にBash on Ubuntu on Windowsとかいうプログラムが追加されているので、起動して適当にあそぶ。

試した範囲では、build-essentialをはじめとする各種パッケージは普通にaptで入るし、それでzsh, emacs, gitあたりは普通にconfigure/makeできて動いた。emacsをちょっと使ったら表示がぶっ壊れたりしてたし、動作はだいぶ怪しいところが当然あるが、普通にうごくのがすごい。

 

Zsh

sudo apt-get install -y git-core gcc make autoconf yodl libncursesw5-dev texinfo
ls
mkdir zsh-build
cd zsh-build/
git clone git://zsh.git.sf.net/gitroot/zsh/zsh
cd zsh/
./Util/preconfig
./configure
make
make install

emacs 24.5

curl -O http://ftp.jaist.ac.jp/pub/GNU/emacs/emacs-24.5.tar.gz
tar xzf emacs-24.5.tar.gz
cd emacs-24.5
./configure --without-x
make
make install
emacs
emacs -version

git

git clone https://github.com/git/git.git --depth 1
cd git/
make configure
./configure --with-curl --prefix=$HOME/local
make
make install

まるでubuntuのように動く。ただデフォルトのリポジトリがクソ重いので、riken様のリポジトリに変えておくとよい。普通にubuntuと同じように/etc/apt/sources.listを変えるだけ。

root@localhost:~# cat /etc/apt/sources.list
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ trusty main restricted universe multiverse
deb http://ftp.jaist.ac.jp/pub/Linux/ubuntu/ trusty-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu trusty-security main restricted universe multiverse

emacsが入ると自分のinit.elを試したくなるのが人情というものだろう。私のはこれ: https://github.com/naotaco/emacs.d

いつも通りel-getを~/.emacs.d/以下にcloneして、このinit.elを置いて起動したら普通に動いた(ただしgit1.9.5以上が必要なので、自分でビルドする必要がある)。すごい。

emacs

emacs

すぐ表示が壊れる

すぐ表示が壊れる

Auto completionもHelmも動く。

Auto completionもHelmも動く。

なにがなんだかわからないが、本当に動いててすごい。使ってて頭が混乱する。あと、Ctrl+Aがどっかにキーを奪われているのかbash/emacsで使えないのが厳しい。まあそれを言えば、コマンドプロンプト並の機能しかないターミナル自体がそもそも相当厳しいが、まあさすがにこの辺はそのうちなんとかなるだろう。とりあえず無限の可能性を感じる。

GitLabとGit LFSを使ってExcelなどのバイナリでできたドキュメントの世代管理をする

前置き

皆さんも業務上やむを得ずWord, ExcelやPowerpointでドキュメントを作っていることと思います。他にもなんかよく分からない画像だったりとか、Astahとかそういうやつとか。とにかく望むと望むまいと僕たちはプロプライエタリなバイナリに囲まれて生きています。

まあその手のドキュメントは作ったり読んだりしてる限り別にいいんですが、だいたい世代管理が困難に近いです。MicrosoftのSharepointとかいう地上最低の操作性を誇るWebアプリを使う 1など、まあ手が無いこともないのですが、いろいろと厄介です。で、そういうファッキンバイナリィドキュメンツが数十GB単位で貯まってきた頃に事故があって、誰かが共有フォルダのファイルを消したりぶち壊したりしてしまったりなんだりして、上司が「ちょっとこれいい感じに管理する方法考えといて」とか無茶なことを言ってくるわけです。

後半に私情が挟まりましたが、とにかくバイナリをどう管理するかは我々の会社生活を左右する死活問題なわけなので、真面目に考えます。

Continue reading

Notes:

  1. なんとドキュメントのロックができるので、他人との衝突を避けることができます!!

低温調理をもちいて角煮を作る

生きることは角煮を作ることなので、今日も角煮を作る。

通常の調理シーケンスについては私の中で確立しており 1、これに従うことで一定の成果を得られることは既にわかっている。しかしまだ肉の線維が固いまま残ることがあり、改善の余地があることもまた見えている。

肉料理界のレジェンド安全ちゃんさんによると、下ゆでとして蒸し、その後味を付けるためにまた蒸すとのこと 2。その根拠は温度管理がしやすく乾燥しないということのようなので、これは低温調理で一発逆転できるのでは??という気になってくる。

私の理解によると角煮の調理の要件は下記の通りである。

  1. 肉を65℃以上に加熱する(コラーゲンを凝固させる)
  2. 臭みをとる
  3. 脂を抜く
  4. 75℃以上で長時間加熱する(コラーゲンを軟化させる)
  5. 味を付ける

通常の方法においては下ゆでで上記1から3、その後煮ることで4,5をカバーしているが、安全ちゃんさんのレシピにおいては1から4までを1回目、5を2回目の蒸しで実現しているように見える。ジップロックに入れて低温調理をすると2,3が苦手であるので、今回は4,5を低温調理に担ってもらう方向で考える。

つまり、

  1. 通常通り下ゆでをする
  2. 醤油以外の下味をつけた汁で80℃3時間調理
  3. 醤油を含めて味を調えた煮汁に長時間浸ける

という感じである。

今回の調理シーケンス

今回の調理シーケンス

Continue reading

根性を用いてUWPでバーコードスキャナを実装する

この記事はWindows Phone / Windows 10 Mobile Advent Calendar 2015の14日目の記事の(予備と)して書かれました。

余談:

本当は楽に済まそうと思ってLumia950のレビューを書こうと思っていたのですが、Cloveが11月末入荷予定からずるずると出荷を遅らせ、最終的に届いたのが11/12でした。小心者の私はLumiaが届かないだろうと思ってこのエントリをすでにバリバリと書き始めてしまったので、Advent Calendarにはこちらの記事を投稿することにしました。結局ギリギリになって950も届いたがためにレビューの執筆も間に合ってしまいました(つらい日曜日だった)。よろしければあわせてご覧ください。

http://blog.naotaco.com/archives/979

本題

まともなNFCがiPhoneに載る気配がないせいか、現代においてもQRコードはとても広く使われています。自分のWindowsPhone/Windows 10 mobileアプリでもQRコードを読みたくなるのが人情というものでしょう。今年のAdvent calendarのトップバッター@tanaka_733さんのエントリをみる限りWP8.1だと比較的楽に実装ができるそうですが、我らがUWP勢にそのような甘えは許されません。 1

必要なものはこちら:

  • 根性
  • W10M端末, もしくはWindows 10 desktop + WebCam
  • ZXing.Net

どうやっていいかわからなかったので、まずはカメラのプレビュー映像を表示して、そこから一定間隔で画像を抜き取り、それをZxing.Netに投げるという方式で進めることにします。作りが雑すぎて故郷の母にはとても見せられないような感じになりますが、強い気持ちで乗り越えてください。

さて、まずはXAMLに置いたUIElementにカメラのプレビュー画像を表示させます。Androidで言うとSurfaceViewに描画するような感じです 2。とにかくMicrosoft謹製のサンプルがあるので、そこのCameraGetPreviewFrameを全力で参考にします。

作ったサンプルコードのソースはGitHubに上げておきました。

Continue reading

Notes:

  1. ていうかZXing.MobileのMobileBarcodeScannerとか今知ったよ……。
  2. 最近は違うのかもしれないですが。。