より良い環境を求めて このページをアンテナに追加 RSSフィード

2012-07-20

[] CSSでテキストファイルをドラッグして縦書き表示

パソコンで長文を読むためにはどうするのがいいか考えて、ちょっと書いたのでメモ。


参考:http://cpplover.blogspot.jp/2011/03/css.html http://www.html5rocks.com/ja/tutorials/file/dndfiles/

<!DOCTYPE html>
<meta charset=UTF-8 />
<style>
html, body { background-color: #a0a0a0; }
</style>
<div id="area" style="border: 1px solid gray; padding: 1em;">ここにテキストファイルをドラッグ</div>

<div style="
    column-width: 15em ;
    column-gap: 2em ;          
    column-rule: thin solid black ;
    -webkit-column-width: 15em ;
    -webkit-column-gap: 2em ;
    -webkit-column-rule: thin solid black ;

    writing-mode : vertical-rl ;
    -webkit-writing-mode : vertical-rl ;
    font-family : '@メイリオ', '@MS 明朝' ;
    font-size : 16pt ;
    line-height : 2em ;

	width: 800px;
	margin: 1em auto;
	height: 75%;
">
<p id="text" style="
	padding: 1em;
	background-color: #d7d7d7;
	color: #464646;
"></p>
</div>
<script>
function $(a){
  return document.getElementById(a);
}
$('area').ondragover = function(e){
  e.preventDefault();
};
$('area').ondrop = function(e){
  var f = e.dataTransfer.files[0];
  var r = new FileReader();
  r.onload = function(e){
    $('text').innerHTML = e.target.result.replace(/\n/g, "<br>\n");
  };
  r.readAsText(f);
  e.preventDefault();
};
</script>

2011-12-07

[] Let's note の Windows XP の終了が極端に遅い現象

Windowsの終了が遅いことにふと気付いた。

いつから動作が遅くなったのか不明だが、ほんの一ヶ月程度*1で再現したので軽くショック。AndroidRS-232Cドライバなどを入れたあとに遅くなった気はする。

遅いまま今後使っていくのは悲しいので今回は原因究明にトライした。


やり方は古典的にkillと二分探索で。

Process Explorerを入れて(別に標準のタスクマネージャでもいいが)、プロセスを次々killしていく。svchost.exeあたりをkillしたら強制的に再起動がかかるので先にそれ以外のものから。このときの終了時間が早いか遅いかでkillするプロセスを二分探索的に絞っていく。




やっと原因が分かった。

今回の場合はWindowsというかLet's note限定。

原因はhkeyapp.exeが終了しないこと。ログオフ時に応答待ちのようになって固まる。

強制終了したらプロセスは死なないが中のスレッドは減るので効果がある。


測ってみると、何もしない状態で電源が落ちるまで125秒(そのうちログオフまで90秒ほど何も動いていないように見える)、hkeyapp.exeをkillした後は電源が落ちるまで27秒(ログオフは一瞬)。


http://askpc.panasonic.co.jp/s/download/install/y7dwj.html#model1

hkeyapp.exe は Hotkey Appendix アプリケーション というものらしい。

このプログラムを削除するとファンクションキーが機能しなくなる。このアプリを再インストールしても症状は改善しなかった。


原因は分かったものの、解決方法が分からない。

仕方がないので正当な(?)やり方は諦めて、ログオフ時のスクリプトを書いた。

http://www.atmarkit.co.jp/fwin2k/win2ktips/455cexec/cexec.html

gpedit.msc で起動・終了・ログオン・ログオフ時にスクリプトを実行できる。


C:\WINDOWS\system32\GroupPolicy\User\Scripts\Logoff\hkeykill.bat

taskkill /F /IM hkeyapp.exe

こんな感じのスクリプトを登録した。


これでやっとWindowsインストール直後ぐらいの応答速度に戻った。

2011-11-27

[] Windowsに入れているソフトのメモ

Windows再インストールメモ - より良い環境を求めての続き的なアレ。

ちなみにWindows XP。VistaのOSもあるけど、VistaかXPかと言えばまぁXPだよね。

Windows Live Syncが無くなって Live Mesh がXP非対応っていうところだけ不便。


今入っているソフトは再インストール前に入れていたソフトの1/4ぐらい。


f:id:n314:20111128020940p:image

  • Cygwin
  • Chrome
  • Total Uninstall
  • Adobe系
  • Office系
  • ATOK
  • ATLAS(翻訳ソフト)
  • BUFFALO(無線とか。入れなくても良かったかも)
  • NoteWorthy Composer(楽譜作成)
  • GnuCash(家計簿)

その他はプレインストールされていたもの。


他、インストーラ形式ではないもの。

  • 電信八号(メーラー)
  • RarUty(解凍ソフト。昔の名残)
  • Putty(ssh用)
  • FFFTP(昔の名残)
  • RealVNC
  • MKEditor
  • Eclipse
  • Emacs

これくらい。

ごっそり減ったけど他のソフトは必要なかったんだろうきっと。



ついでに

*情報弱者

【ブラウザ】Sleipnir2、Lunascape、IE8

【メーラー】OutlookExpress、EdMax

【ランチャー】CLaunch、Clocklauncher

【ファイラー】MDIE

【動画再生】WindowsMediaPlayer、GOM Player

【音楽再生】iTunes、Winamp

【セキュリティ】avast!、ZoneAlarm、Ad-aware


*中級者

【ブラウザ】Google Chrome、Donut RAPT

【メーラー】Thunderbird、Gmail

【ランチャー】Arttips、bluewind

【ファイラー】だいなファイラー、まめFile5

【動画再生】VLC、DV、GesPlayer

【音楽再生】Songbird、Fittle、Lilith

【セキュリティ】AVG、ComodoInternetSecurity、Spybot


*上級者

【ブラウザ】Firefox3、Opera、KIKI、unDonut+mod

【メーラー】Becky!InternetMail、秀丸メール、Gmail

【ランチャー】Orchis、fenrir、CraftLaunch

【ファイラー】X-Finder、あふ、内骨格

【動画再生】MPCHC、Qonoha、KMPlayer

【音楽再生】foobar2000

【セキュリティ】AviraAntiVir、BitDefenderCL、OnlineArmorPersonalFirewall、

         SpywareTerminator、SpywareBlaster、SystemSafetyMonitor

http://lifehack2ch.livedoor.biz/archives/51308816.html

これに合わせると



【ブラウザ】Google Chrome beta、IE6

【メーラー】電信八号、Gmail

【ランチャー】クイック起動バー

【ファイラー】Cygwin

【動画再生】Windows Media Player

【音楽再生】Windows Media Player

【セキュリティ】なし


こんな感じ。

前はavast!入れてたけど今回はやめてみる。インストールしてからウィルスチェックに引っかかったファイルが、明らかに怪しいメール数通しかなくて役に立たず、ただリソースを消費するだけだったので。社内で二人ほどWindows Updateに繋がらない騒動があったときは無事だったのだが、それはavastのおかげかどうか不明。

動画とか音楽はLet's noteに向いてないので極力使わない。

メールは全部Gmailにするのが理想だけれどまだ踏みとどまってる。

IE6はいくつかのPCのうちどれか一つには入れておかないと不安なのでアップグレードしなかった。

ブラウザのフォントは色々試してみて結局メイリオに落ち着いた。

2011-11-15

[] cygwinでminttyを入れた

Cygwinは元々使っているので普通にsetup.exeから入れた。


参考

http://tanakh.jp/posts/2011-11-15-windows-terminal.html

http://d.hatena.ne.jp/runfor/20080927/1222536300


オプションで半透明設定とTERMをcygwinに設定。フォントを変えてウィンドウサイズを80x24に。


f:id:n314:20111116012620p:image

どうだろう。

あんまり変わった気がしないかもしれん…。




11/25 追記

javaが文字化けする…。

標準のCygwin.bat だとShift_JISでもUTF-8でもうまいこと表示してくれていたんだけど、minttyだと文字化けした。どこの設定だろう…。

2011-11-14

[] 関数型言語が普及しない理由

mod_haskell がないから。



あと日本語の扱いがややこしかったりメール送信がややこしかったりする。

ExcelとかPDF生成になると絶望的な雰囲気がする。

リンクが必要なライブラリも多くて、staticリンクするとhello worldでもサイズが巨大になる。


とりあえず日本語の扱いが楽になって、データベースも簡単に扱えるようになったらもう少し入りやすくなるんじゃないだろうか。

セッションを管理してくれるライブラリも欲しい。




前々から1年置きぐらいでHaskellのWebアプリを作ろうと思い立つんだが、なかなか良い案が思い付かない。

データベースからテーブル情報を読み取って自動的に型クラスを定義するような仕組み*1と、セッション管理が出来れば手早く作れそうなんだけど…。

日本語の扱いは、UTF-8モナドみたいなものを作れば大丈夫かな?

ExcelとかPDFはもうThriftとか使っちゃえ的な解決方法で。





つまるところ

  • HTMLのフォームから何らかの文字を入れてsubmitすればその文字を表示する
  • フォームからメールアドレスと文字を入れてsubmitすればメールが届く
  • フォームから文字を入れてsubmitすればデータベースにその文字を登録して表示する

これらの単純なアプリを動かすまでの取っ掛かりの部分が原因なんじゃないかと。

この2画面だけのプログラムでも何時間もかかったりして。何時間かけても完成できない恐れすらある。

関数型言語のパラダイム云々は何かを動かせるようになった後の話だと思う。




ここまで完全にPHPとHaskellが頭の中に思い浮かんでいるのだけれど、Java対Scalaはどうなんだろうね。Scala流行ってないのかな。オブジェクト指向も使えるよ。


最近、Scalaを実案件投入しようとしたんだけど間に合わなかった。

そしてScalaを書いていたら型を明示的に書かなきゃいけない場面が多くて痒いところに手が届かない感じがする。Scalaを書いてるとHaskellを書きたくなる。でもJavaの資産は使いたい。っていうジレンマでむずむず。

BigDecimalを演算子で計算するっていう程度のJava+αのような使い方がベターなのかもしれないと思いつつ、次の機会までScalaは中断。






via:

http://d.hatena.ne.jp/mizon9/20111112/1321046483

http://d.hatena.ne.jp/kura-replace/20111114/1321236695

*1:昔途中まで作った。https://github.com/nishimura/Yanagi/blob/master/Template/Database.hs 時間と気力不足だった。

2011-11-02

[] Windowsインストールメモ

Let's note Y7 をリカバリした。

Windowsの終了が何分もかかるようになったのでレジストリを掃除していた。レジストリ掃除アプリを使っていてワンクリックしたらRunが8割ほど消た。それで色々動かなくなってしまった。

今まではregeditでやっていて、ふと思い立ってオペミスしないようにアプリを使ってみたらこんなことに。

しかも起動時間も終了時間もほとんど変化なし。かなりショック。


新規インストールメモ*1 を参考に。


前と同じ項目もとりあえず書く。


リカバリ前にすること

  • マイドキュメント全てを別のPCにバックアップ
  • Adobe系のライセンス認証解除
    • 同じPCに入れる場合は大丈夫なようだが念のため
  • シェアウェアのシリアルや買ったアプリインストールディスクがあるか確認
    • 設定をエクスポートできるものはエクスポートしてバックアップ


パーティション

C:のみ


とりあえず Windows Update → Microsoft Update。


まず最初に Total Uninstall を入れる。

今後はインストーラ形式のアプリを入れるときは必ず立ち上げる。


Cygwin

標準の bash や lv は日本語が通るようになっていた。vimも日本語入力できる。

マイドキュメントを C:\cygwin\home\user に変更する。


Chromeをインストールして同期。

解凍ソフト、PuTTY、電八、RealVNC、その他非インストーラー形式のアプリを rsync。

.bashrc、.emacs .ssh/* .emacs.d/* などの設定ファイルもrsync。


Java

  • Java SE Development Kit

eclipseはプログラムとworkspaceをrsync。


随時更新中

[] キーワードHDBCを作った

最近HDBCを使っている方を発見したので捕捉のためにキーワードを作った。


手を出したいと思いつつ1年以上触ってないなあ…。

2011-10-03

[] VMWare上のWindowsパーティションを拡張する手順

Debian上のVMWareでWindowsXPを使っている。

パーティション構成は

HDD1
  C: 8GB
  D: 12GB

このようになっていた。

最初にインストールするときは少ないサイズで作成することが多いが、大抵後から拡張したくなる。


本格的に使い出すと 8GB や 12GB じゃ足りない。

HDD1
  C: 20GB
HDD2
  D: 40GB

このように変更する。


Windows付属の diskpart.exe を使った。

http://www.atmarkit.co.jp/fwin2k/win2ktips/577diskext/diskext.html

記事にも書いてある通り、システムドライブのCドライブは拡張できない。これを何とかする。


  1. まずはVMWareで40GBのHDDを追加する。それからWindowsを立ち上げてNTFSでフォーマットする。
  2. Windowsを終了して、設定画面からmountをして、HDD1のD: を HDD2 に cp -a などで丸ごとコピー。System Volume Informationディレクトリだけは外した。
  3. Windowsを立ち上げて新しいドライブのラベルをDに設定する。これでDドライブの移動は完了。動作確認ができたら古いHDD1のDとして使っていたパーティションを削除する。
  4. tmpディレクトリを作ってVMWareのHDD1のディスクイメージ全てコピーする。vmdkファイルに書かれているファイルも丸ごとコピー。parentFileNameHintの行があるなら、パスを調整する。
  5. VMWare設定で既存のHDD追加を選択し、今コピーしたイメージを追加する。これでWindowsシステムドライブのクローンが別のドライブとしてWindowsから見える。
  6. Windowsを立ち上げて、システムドライブのクローンのパーティションをdiskpart.exeで拡張する。
  7. Windowsを終了し、VMWareのHDD1のディスクイメージを適当なディレクトリに退避してから mv tmp/* . して拡張したパーティションをシステムドライブとして利用するようにする。

無事に立ち上がれば成功。