Windows 8 で簡単シャットダウン
Windows 8をシャットダウンするのが面倒臭いので、ショートカットを作った。
以下のファイルを"confirm-shutdown.js"等の名前で作成し
var sh = new ActiveXObject("WScript.Shell"); if (sh.Popup("Are you sure you want to shutdown?",0, "Confirmation", 1+32) == 1) { sh.Exec("shutdown -s -t 0") }
"wscript.exe [confirm-shutdown.jsのパス]"という内容のショートカットを作っておく。起動すると、シャットダウンを確認するダイアログが出る
おまけ1
こっちのほうがいいかも?(試してない)
http://crystaldew.info/2012/07/16/windows-8-sleep-shortcut/
おまけ2
Haxe NME
NMEという、Haxe言語用のクロスプラットフォームライブラリがあり、Flash風のAPIを使って書いた単一のコードから、Flash、html5、iOS、android、mac、windowsなど、色々なプラットフォーム向けの実行ファイルを出力できる。
JavaScript (中略) ハッカソンに参加したので、NMEを使って生成されたアプリの、いくつかのプラットフォーム上での実行時間を比較してみた。
比較には、id:yoshihiro503さん作のAOBench Haxe版を、NME用に移植したものを使った。ソースはこちら。html5版の生成されたアプリはこちら
実行にかかった時間(ms)
10回(iPhone 4sのhtml5のみ3回)測定した平均値です。
MacBook Pro (15-inch Mid 2010, Core i7 2.66GHz) で実行
html5 (JavaScript) Chrome上 | html5 (JavaScript) Safari上 | Mac nativeアプリ (C++) | Flash | |
---|---|---|---|---|
1574.1 ms | 2812.3 ms | 1092.9 ms | 3601.8 ms |
感想
- MacのChrome上でのJavaScriptがかなり速い。nativeアプリの1.4倍程度の時間。Flashよりも速い
- iOSのSafari上でのJavaScriptは、nativeアプリの6.6倍程度の時間。
NME のセットアップメモ
追記:NMEのインストーラを使うと、いくつかの手順やコマンドの名前を省略てきて便利なようです(コメント欄参照)。
haxelibのインストール方法はこちら
Mac上でのNMEのセットアップ手順(うろ覚え)
sudo haxelib install nme sudo haxelib run nme setup html5 (jeashライブラリをインストール) sudo haxelib run nme setup flash sudo haxelib run nme setup ios (XCode4を別途インストール) sudo haxelib run nme setup mac sudo haxelib install hxcpp (これを忘れると、Source Path "libstd..." does not exists、などのエラーが出る) sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer (これを忘れると、/Developer パスが無いと言われる)
実行
haxelib run nme test application.nmml html5 haxelib run nme test application.nmml flash haxelib run nme test application.nmml mac haxelib run nme test application.nmml ios
HaxeでJavaScriptゲームを作ってみた
最近、JSXやHaxeなどのJavaScriptを生成できる言語が流行っているみたいなので、Haxeを少し勉強してみた。
試しに、以前OCaml(ocamljs)で書いたシューティングゲームを、Haxeで書き直してみた。
Haxeのインストール
- Mac用のものもhomebrewにあったけど、現時点のバージョンではhaxelibがエラーが出て動かなかった。
- 追記:@choplin さんが 解決法 を書かれています
- 結局、Ubuntu 12.04 に入れた
- Ubuntu標準のリポジトリにあるものは古いけど、haxeのリポジトリを追加すれば最新版をインストールできた
- 参考: http://haxe.org/installation/ubuntu
- そのままではライブラリが足りないのか実行時エラーになった
- libneko0 を追加したら動作した(よく分からん)
実行したコマンド:
sudo add-apt-repository ppa:eyecreate/haxe sudo apt-get update sudo apt-get install haxe libneko0
html5ライブラリのインストール
実行したコマンド:
sudo mkdir -p /usr/lib/haxe/lib sudo haxelib setup sudo haxelib install html5
感想
- 良さげな点
MSXでプレゼン
MSXでプレゼンしてみました。
プレゼン生成に使ったツールも公開しています:
https://bitbucket.org/sunflat/mlnagoya/
こんな感じのScalaコードから、プチコンのBASIC風の中間形式を経て、こんな感じのMSX-BASICコード(UTF-8版)を生成します。
補足
- MSX2以降なら、「SHIFT+かな」でローマ字入力できるそうです(Twitterで教えてもらいました)。昔使ってたのはMSX1だったので知らなかった…
- MSXでは、こんな感じの文字コード(半角ひらがなやグラフィック文字がある)を使っているので、Unicodeからの変換テーブルを作って変換しています
- 実は、DEF FN文を使って1つの式だけの簡単な関数なら定義できたりします。でも、条件式や再帰などが使えないので、共通の処理をまとめたりするのには使いづらい(代わりにサブルーチンコールを使う)
Macのサウンド出力先を切り替えるAppleScript
iMac用にHDMI出力コネクタを買ったのだが、音声の出力先をHDMI(外部ディスプレイ)と内蔵スピーカで切り替えたいことが良くあるので、AppleScriptにしてみた。
システム環境設定をUI操作しているので、「ユニバーサルアクセス>補助装置にアクセスできるようにする」にチェックする必要あり。AppleScriptのスクリプトメニューに登録しておくと便利かも。
環境によって、row番号やラベル文字列が違うかもしれないので、適当に修正して。
tell application "System Preferences" activate set current pane to pane id "com.apple.preference.sound" end tell tell application "System Events" tell process "System Preferences" tell tab group 1 of window "サウンド" click radio button "出力" if (selected of row 1 of table 1 of scroll area 1) then set selected of row 2 of table 1 of scroll area 1 to true else set selected of row 1 of table 1 of scroll area 1 to true end if end tell end tell end tell quit application "System Preferences"
参考:http://www.oreillynet.com/mac/blog/2006/07/applescript_audio_output_switc.html
Windows Phone
Windows Phone のゲームアプリについて話したので、スライドを貼っておきます
LLNagoya
LL名古屋で、AppleScriptの話をしたので、スライドを貼っておきます