2014年8月のエントリ

SNSも使ってみないとね,ってことで既にやっていたTwitterに,英語アカウントも作ってみた。ついでにFacebookもほっておいたアカウントにこの日記の内容を連携させようとしたのだが,JetpackプラグインとqTransrateプラグインが連携することはなく,日本語と英語が混じってしまうのでとりあえず保留。

ちょっとSwiftをいじってみたいのでMacの環境をアップデート。その中で、WindowsとMacOSのマウスとキーボードを共有するソフトについて少し悩んだ。今までSynergyを使っていたが、日本語入力では記号入力に問題があり、その後WindowsではMouse without Bordersが出てきたので今更Synergyは使いたくない。ってことで、探してみたら最近はShare Mouseというのがあるらしい。

使ってみると、設定はほぼ何もなし、テキストのコピーに加えてWindowsとMacのファイルのコピーアンドペーストもできるという完璧なものだった。モニタ3台、ファイルコピーなどは有償らしいのだが、もう少し試して速度に問題がないようだったら買ってみるか。

電子書籍は紙に比べて,出来事の発生タイミングの認識が悪いというレポート「電子書籍に移行することで失われる読書体験の中身が少し判明」だが,Analog Book Readerなら少しはよい結果がでるのかな。

2chなんかでは以下のような意見が出てたけど,それって単に電子書籍リーダーが悪いだけで電子書籍がダメなわけじゃないよね。

  • 紙なら左右の手で厚さを感じることで,今どの辺りを読んでいるかを感じられる
  • 紙なら前のページを簡単に読み返せる

Analog Book Readerでは,常に今どこを読んでいるか,あとどのくらいで終わるかが分かるように常にプログレスバーを出すようにしたし,ちょっと前のページもすぐ確認できてすぐ現在のページに戻ってこれるようにブックマークを工夫した。てことでまさにこういうのを解決しようとしたアプリなので,同じ実験をしたら多少はいいんじゃないかと思うんだけど,どうだろう。

来月またアメリカに行きそうなので,英語の勉強も兼ねてSafari Books OnlineのSwift講座を観たりしている。Objective-Cはちょっと今の時代厳しいよね,って感じだったので,Analog Book ReaderのiOS移植はする気になれなかったけど,Swiftならいけるか? 少し興味が出てきたのでもう少し勉強してみよう。

denasuメール宛のSPAMが増えてきた。前まで使っていたHi-HOのSPAMに追いついてきた感じ。なんだけど,どうも質が違う。Hi-HOのSPAMはほぼ日本語メールなのに対し,denasuはほぼ英語メール。Hi-HOが英語メールをはじいているのか,denasuがグローバルになってきた証拠なのか,どっちだろう。

ブログ更新日をトップページに載せた。やっぱりトップページを見れば全更新日が見えるようになってる方が便利。WordPressのRSSフィードをMagpieRSSで取得して,結果をSSIで表示した。一箇所,MagpieRSSでsplitを使っている部分があり,PHPの新バージョンでは警告になってしまうところがあって修正した。Cacheが作成された後は警告が出ないので,最初に表示されたところで無視してリリースしてしまうと,最初の一人だけ警告が表示されるような微妙なバグになるところだった。

Deprecated: Function split() is deprecated in hoge/rss_parse.inc on line 208

MagpieRSS 0.61の該当箇所を変えて対応したが,MagpieRSSはGPLなので,修正箇所をここに載せておこう。もちろん要望があれば送付します。

修正前

list($ns, $el) = split( ':', $element, 2); 

修正後

list($ns, $el) = preg_split( '/:/', $element, 2); 

家に戻ってきたのでE-PUBリーダー実装を再開。横書きの本はいいとして,縦書きの本を考えると文字一つが一個のオブジェクトになる。そういえばFlyweightパターンってあったよね,と調べたけど同じオブジェクトじゃないから適用できないか。普通に作るしかないか。

現在開いているページに合った年月を,右にある「アーカイブ」から選択できるように修正した。これでWordPressでやりたかったことは全部完了。

ちなみにうちのブログの場合,Function.phpに以下を記載するとWordPressの月別アーカイブで,今開いているページの年月を選択できる。URLに年月を入れていてウィジェットから選択式のアーカイブ表示にしている前提。

function archives_link_filter($link_html)
{
	if(preg_match(
		sprintf("@\/%04d\/%02d@", get_query_var('year'), get_query_var('monthnum')),
		$link_html) == 1)
	{
		$link_html = preg_replace('/<option /', '<option selected="selected"', $link_html);
	}

	return $link_html;
}
add_filter('get_archives_link', 'archives_link_filter');

どうせここまでやったのなら,ということでソースコードを綺麗に載せるところもやってみた。つまりソースコードを載せるときに行番号付けたりキーワードに色付けたりってやつですね。以前別のところでやったときは,CSSとHTML変換を駆使して自力で作ったが,今回はオープンソースの力を借りる。

有名どころだとSyntax Highlighterというのがあって,よく見かける。このブログにも入れてみたらデザイン的によく合うのでこれでいいかな。WordPressプラグインもあるらしいのだが,あまり密結合にすると乗り換えにめんどうなのでJavaScript単体で入れた。

Syntax Highlighterでは,JavaScriptとCSSを読み込んだ上で,ソースコードを以下のようにpreで囲ってclassを指定する。シンプル。そして今までもpreで囲むようにはしていたので今回は簡単に移行できた。

<pre class="brush:csharp">

以下,サンプルコード。

namespace com.denasu.AnalogBookReader
{
    /// 
    /// 情報ダイアログ
    /// 
    public sealed partial class AboutDialog : SettingsFlyout
    {
        /// 
        /// コンストラクタ
        /// 
        public AboutDialog()
        {
            this.InitializeComponent();

            var version = Package.Current.Id.Version;
            _appname.Text = string.Format("{0} {1}.{2}.{3}.{4}",
                App.Current.Resources["AppName"].ToString(),
                version.Major, version.Minor, version.Build, version.Revision);
        }
    }
}

せっかくブログシステムを入れたので過去のエントリをカテゴリに分けてみた。ついでに検索したときに無題ばっかりで分からないのでタイトルも付ける。1000エントリ以上あるので数日がかりだったけどいろいろ思い出すこともできた。

そういえば自宅ではないのでSurfaceで作業しているけど,Surface3は快適。開発しようとするとマルチディスプレイが欲しくなるけど,それ以外は普通のノートPCと同じ感じ。キーボードに関しては,Surface3で机から浮かせることができるようになって衝撃が吸収されるのか,手は痛くならなくなった。でもやっぱり微妙にミスタイプが多くなる。何かが足りなくてすごく惜しい感じ。

Pajyarouさんの家に行ったので,Flash 制作日記もブログ化してきた。RSSにも対応している。

WordPressは日本語と英語が混合してるのがちょっと分かりづらいけど,それなりに使いやすい。ちょっと前はファイルを手で4~6ファイル更新してSSH+FTPでアップロードしていたのだが,これならどこでも簡単に更新できる。

PajyarouさんにSurface Pro2を渡してきたので,Flashゲーム制作も捗ることでしょう。

長い間日記という形で更新してきたけど,いい加減時代遅れってことで,ブログ的な機能を入れてみた。

  • SNSとの連携をサポート
  • コメントと返信機能をサポート
  • RSSでの通知をサポート
  • トラックバックをサポート

トラックバックとか,使ったことないし試してもいないので,うまく動くかは不明。WordPressを使ったのだが,今までの日記からスムーズに移行するためにいろいろ大変だった。

  • 日本語と英語の日記があるため,qTranslatorで多言語化
  • Denasu全体とデザインを合わせるためテーマを自作
  • SEO対策に,今までの日記URLをブログの月間アーカイブに転送
  • 15年間の日記をWordPress XMLに変換し,WordPress Importerでインポート
  • 画像まではインポートできなかったので手でインポート

ついでなので,過去に遡ってタイトル付けたりカテゴリ分類したりしている。まあ1000エントリ以上あるのでこれはおいおいやっていこう。

あとは今週中にFlash制作日記の方もブログに移行する予定。

ブログシステムを立ち上げるためにWordPressを勉強中。これからブログを始めるならWordPressそのままでレンタルサーバに入れればいいんだけど、15年分の日記を移行してデザインも合わせようとすると大変。

まずは日本語と英語のページを作るためにqTranslateを入れて2種類作成できるようにした。また、デザインを合わせるためにPHPのDefaultテンプレートを改造。LinuxにいちいちアップロードはめんどいのでWindowsで環境を作ることに。あと、RSS対応するためにアイコンが欲しいな、と思ったら本当の公式アイコンていうのはないのか。FeedIconsというところが、標準化を目指してフリーアイコンを配布していたのでそれを使うことに。一応ガイドライン読んだけど、何も制限はないんだよね。

Surface Pro 3を買ってきた。夏休みで持ち歩くために画面が大きいのが欲しかったので。しばらく使ってみて、軽さと画面の大きさは実感できた。Surface Pro 2は重かったけど、感覚的にはSurface RTの時代に戻ったくらいの軽さ。画面は立って使う分にはでかいけど、持ち歩いて落ち着いて使う分にはOK。解像度に関しては今使っている22インチ液晶より高い2160×1440なので、普通に開発できそう。

ただ、キーボードが使いづらいのは相変わらず。キーストロークは、最近Macとかノートも浅いからそれと比べてもそんなに致命的じゃないはずなんだけど、打っていてキーを探してしまう。キーとキーの間の隙間がほとんどないのが原因なのかなあ。

しばらく前に、TrueCryptが開発をやめたというのがあって、今までTrueCryptを使ってたのをどうしようかと思っていた。で、Bitlockerを使ってみたが、数年前に比べてまあまあ使いやすくなっていた。ドライブをパスワードで暗号化して、そのディスクを別のPCに持っていってもそのまま読めるのか。私の使い方だったらTrueCryptを完全に置き換えられそうだ。

でも、なんで開発やめたんですかね。いろいろ噂は出ているけど確定的な話は出てませんよね。

Analog Book Reader。E-PUBの実装で詰まっている。詰まっていると時間がもったいなくなって英語の勉強をし始めるので,勉強ははかどるんだけどいつまでも完成しない。

DTPは昔一通り勉強したから知識としてはあるんだけど,実装するとなるとかなり大変。PurentroでMIDIの楽譜化をしたときも基礎的な音楽理論の勉強から初めて1年くらいかかったけどそれに似ている。

Pajyarouさんからdenasu.comにブログシステムを入れてくれとの依頼が。ブログは前調べたけど,自力で立てる場合,何が主流なのか分からなくて保留したんだよね。で今回WordPressって言われたのでその線で調べてみよう。仕事の方でもよく聞くソフトだし,主流なのかな?

Flashゲームを担当しているPajyarouさんが制作日記を付け始めているので,Flashゲームを楽しみにしている方はこちらも見て下さい。

Denasu Systemは何人かいるけど,現在動いているのはフリーソフト担当のモルタルコとFlashゲーム担当のPajyarouさんの2人。この日記とかTwitterなんかはフリーソフト担当の私がやっている。Pajyarouさんは表には出ないけどずっと制作は続けているので,気長に更新をお待ち下さい。