matplotlibはTikz(PGF)出力ができる
plt.savefig('figure.pgf')
のように拡張子をPGFにすると吐き出してくれる.
Typesetting With XeLaTeX/LuaLaTeX — Matplotlib 1.4.3 documentation
TeXの中に入れたいときは\resizebox
で幅を調整してやるといい
\begin{figure}[htb] \centering \resizebox{\linewidth}{!}{ \input{../ex1.pgf} } \caption{きゃぷしょん} \label{fig:ex1} \end{figure}
今まではPNGで出力して貼り付けていたが,この方法だとピクセル感がなくなってよい.
気になるライブラリ集 Haskell編
-- TODO いつか使う
- RaphaelJ/friday 画像処理.アフィン変換,輪郭抽出,ヒストグラム,フィルター.
- gloss OpenGLで図形描画
- Diagrams - About Diagrams 2D図形描画
- Twinside/Juicy.Pixels 画像処理
- wreq: a Haskell web client library HTTPリクエスト
ポータブルなQMLの実行環境(今回はWinのみ)をすぐ作る
QMLの弱点はWeb技術のようにどの環境にもあるツール(Webの場合ウェブブラウザ)を使って実行できないことだと思う.(※ Plaristote/qmlweb これはブラウザ上でQMLを実行できる実装.大変興味深い.)QMLの布教会をするにあたり,Qtをインストールさせるのは時間も手間もかかる(ネットワークリソースも)と判断し,とりあえずデモで用いるプログラムを実行できるなるべく小さい環境が欲しいと思った.USBメモリで渡して,インストール不要でQMLを実行できるような.
QMLをとりあえず実行するプログラムとしてはqmlscene
コマンドがよく用いられるが,
The qmlscene utility is meant to be used for testing your QML applications, and not as a launcher in a production environment. To launch a QML application in a production environment, develop a custom C++ application or bundle the QML file in a module. See Deploying QML applications for more information.
Prototyping with qmlscene | Qt 5.5
にあるように本来配布用ではない.あくまでおためし(開発)用なのでそのことを留意.
基本的に QML(Qt)アプリケーションの配布方法(Windows編) ver Qt5 - 理ろぐ にあることそのまま(やってしまってからそっくりそのままだと気づいた).
今回はQt 5.4 mingw 32bitを用いた.やったのはqmlscene.exe
を持ってきてエラーが出たらdllを持ってくるのを繰り返しただけ.Qtがインストールされていないマシンにコピーしてデモアプリ動くことを確認.(アプリケーションによっては追加のファイルが必要になる)
. ├── Qt5Core.dll ├── Qt5Gui.dll ├── Qt5Network.dll ├── Qt5Qml.dll ├── Qt5Quick.dll ├── Qt5Widgets.dll ├── icudt53.dll ├── icuin53.dll ├── icuuc53.dll ├── libgcc_s_dw2-1.dll ├── libstdc++-6.dll ├── libwinpthread-1.dll ├── platforms/ │ └── qwindows.dll ├── QtQuick/ │ ├── Controls/ │ ├── Layouts/ │ └── Window.2/ ├── QtQuick.2/ └── qmlscene.exe 11 directories, 169 files
先のページにあるようにexe
,dll
は<Qt>/bin/
から,qwindows.dll
は<Qt>/plugins/platforms/
から,QML関連のモジュールのファイルは<Qt>/qml/
からもってきた.
YEOMANでWebの大海へ漕ぎ出す
Reactをやりたくなった.
Web界隈(ここではJavaScriptフレームワーク・代替言語界隈)というのは移り変わりが激しく,また似たようなフレームワーク・言語・開発ツールがたくさんあって,開発を始める前にそれらを選択するだけでも大変な労力を強いられそうなので躊躇してしまいがちである(個人の感想).Render
をstate
の純粋関数にするとか,仮想DOMとかコンポーネントの切り分けとかの話を見てReactをやることに決めたとしても,その他にも決めなければならないこと,調べなければならないことがたくさんありすぎてしばらく躊躇していた(夏休みにならないと時間もないし).
しかしYEOMANというツールを知った.
The web's scaffolding tool for modern webapps | Yeoman
自分でどのツールを使うか決めるのが面倒なら人から押し付けられたものを使えばいい.reactのgeneratorを探すとreact-fullstackというのが一番ぽぷらーぽかったのでそれを使う.生成はnpm
で必須パッケージをインストールした後
yo react-fullstack
で完了.
SublimeでJSXを編集したいなら,まず
をインストール..js
を開いて View > Syntax > Open all with current extension as.. > Babel > JavaScript (Babel). lintに必要なeslintは
npm install -g eslint babel-eslint
でインストール.
react-fullstack
には .eslintrc
もついてくるのでeslintを使っておけばいいってワケ
ASUS TransBook T90CHI を買った
32Gのを買った.日本橋でUMPC (VAIO Pみたいなやつ)が中古でないかなーと探しているとこれを見つけて一目惚れした.(その後中古のVAIO Pが見つかったが4万円もするので,こちらを買うほうがいいと諦めた.)その後しばらくkakaku comで値段の推移を観察していたのだが,7/18に突如最安が3000円ほど下がり,これは買いと思いぽちった.その後数時間でさらに4000円ほど下がって悔しい思いをした.価格.com - ASUS ASUS TransBook T90Chi T90CHI-32G 価格推移グラフ
届いたのは次の日.そしてこれを…
こうじゃ \ババーン/
上の画像ではUSBメモリからLive起動しただけでインストール作業はまだしていない(難航が予想される).USBメモリから起動するだけでも色々苦労した.メモを残す.
- UEFIのSecure Bootは切る
- Secure Bootを切るとWindows8のbitlockerが解除されなくなるので,予めBitLockerはWin8の設定からオフにしておく.
- Win8の高速起動は切る(筆者の体感差では違いが見られなかった)
- Live USBメモリはUEFI起動に対応している必要がある(おそらくこのデバイスはLegacy BIOSブートに対応しない)
- UEFIからは32bitのEFIファイル(bootia32.efi)しか読み取られない.そのためUSBメモリの/efi/bootにbootia32.efiを置く.
UEFI設定の起動方法は二種類ある.定番のWin8の保守・管理メニュから起動する方法が一つ.このタブレットではVolume downキーを押下しながら電源を入れるとBoot Menuが出るので,そこからUEFI設定に入る方法がある.
ただしVolume downでのメニュー表示は少しコツ?がいって上手くいかないこともある.なおWin8で高速起動が有効化されている場合はこの方法は使えないため,再起動を利用して一時的に無効化するか,Win8の電源設定から恒久的に無効化する.
UEFIの設定画面及びBoot Menuはタッチ操作に対応しているのでキーボードを繋がなくても操作できるが,GRUBでのメニュー選択にはキーボードが必要になるのでUSBハブの用意が要る.
ISOファイルはubuntu-ja-15.04-desktop-amd64.iso Ubuntu 15.04 日本語 Remix リリース | Ubuntu Japanese Team を用いた.Live USBメモリ作成にはRufusを用いた.bootia32.efiはXDAから持ってきたのを使った(要注意).
画面はデフォルトで縦長になるので,Ubuntuの画面設定で回転した.
参考
- Asus T100 Boot key combinations - XDA Forums
- ASUSTeK Computer Inc. -Support- FAQ How to enter the BIOS configuration of Windows 8?
- Booting Ubuntu on the Asus Transformer Book T100 - Liliputing
- [FAQ] Asus T100: Installing custom OS (andro… | Windows 8, RT Development and Hacking | XDA Forums
- [FAQ] Asus T100: Installing custom OS (android/ubuntu/*nix/Windows 7/Windows 8 x64) - Post #3 - XDA Forums
- 32bit UEFIマシンで遊ぶ
Haskellでbrainfckインタプリタを書きたかった話
をOUCCのLT会でしました