日常生活には支障がないくらいには治ったかな。右の後ろはまだ痛くなるケースがあるけど、このくらいなら何とか。これほど長く日常生活に支障があるくらいに痛くなったのはちょっと記憶に無い。
日常生活には支障がないくらいには治ったかな。右の後ろはまだ痛くなるケースがあるけど、このくらいなら何とか。これほど長く日常生活に支障があるくらいに痛くなったのはちょっと記憶に無い。
腰痛が始まってから一週間、今日ようやく症状の改善を感じました。
寝返りや起床をそれほど痛くならずに出来るようになりました。
立っていたりイスに座っているとまだ痛いのであまり活動する気にならないのですが、こういうときは休んだ方が良いのか動いた方が良いのかよく分からないですね。
JavaScriptで加速度センサーの値を取得した件ですが、どうもiOSとAndroidとでは加速度の軸の向きが逆みたいなのです。
W3Cではデバイス座標系を定義していて、
となっています。
DeviceMotionEventイベントのaccelerationプロパティやaccelerationIncludingGravityプロパティも当然この座標系に沿って、端末が右へ加速したならxが正の値に増加するというのが普通の解釈だと思います。
しかし、iOSではそうでは無いようです。右、上、手前へ加速するとx、y、zがそれぞれ負の値になります。逆向きに加速すると正の値になります。どうも座標軸の向き自体が逆になっているようなのです。同じChromeでもiOS版とAndroid版とで向きが異なります。これは困りました。
OSを判別してiOSなら向きを反転させるか、または、DeviceOrientationEventで済む事ならそちらを使うようにするのが良いのでしょうね。
そんなわけで、この間作ったスキーゲームも修正しました。傾けた方向とは逆きに動いてしまっていたので。
日曜の夜くらいから腰が痛い。
特に月曜の夜から火曜日の午前中くらいにかけては立つのも困難なほどだった。寝ながら体の体勢を変えるのにも痛くないように少しずつ動かすのに苦労し、何かに捕まらなければ立つことも出来ず、立ったとしても頭から血が引くような感じと共に目眩、吐き気、耳鳴りに襲われたりした。歩くこともままならないので四つん這いで移動。トイレに行くのにも苦労する始末だった。
そういえば大学生の頃にも一度同じようなことがあった気がする。
今は火曜日の夜。まだ痛みはあるが立って歩くことはできるようになった。
Windows8.1での環境を整えていたのですが、問題はアプリケーションの起動をどうするかでした。
私はWindows95からずっと、基本的にはスタートメニューをキー操作で使ってアプリを起動してきました。もちろんタスクバーやデスクトップから起動することもありますが、よく使うものはスタートメニューにフォルダを作ったり、ショートカットの名前を工夫したりして、最小限のキー操作で好きなアプリを素早く起動できるようにしていました。InternetフォルダのPuttyならば、Ctrl+Escでスタートメニューを開き、i→pと押すことで起動できました。Vistaでクラシックスタートメニューが使えなくなってからは、検索ボックスでアプリ名の数文字を入力してEnterで起動していました。今までの習慣を引き継ぐために、「ip Putty」という名前のショートカットを登録したりもしていました。そうすれば、スタートメニューを開いて i p Enter と入力すれば、ほぼ今まで通りPuttyが起動するという寸法です(Enterは必要になりましたが)。
Windows8からはスタートメニューが無くなりました。しかしWin+Qでアプリ名での検索が出来るので、アプリ名を数文字入力してEnterで起動はできます。スタート画面へのショートカットの登録も、ピン留め機能では好きな名前に出来ないようでしたが、エクスプローラを使えば任意の名前でショートカットを登録することもできました。一応最低限のカスタマイズで使うならこれで我慢することになるのだと思います。
しかし、私はWinキーを使うということが我慢なりませんでした。Winキーは正直押しづらいです。ノートだと特にそうです。自宅のデスクトップのキーボード(Realforce106)だとそもそもWinキーがありません。スタートメニューはCtrl(Capsの位置にリマップ済み)+Escで開いていました。でもWindows8ではCtrl+Escを押してもスタート画面が開くだけで検索ワードを入力する画面にはなりません。
仕方がないので噂のスタートメニューアプリを探すことにしました。
Windows8 でスタートメニューを取り戻す方法 - NAVER まとめ
なんか胡散臭そうな企業の製品が多いんですよね。今のご時世、あまり信用できない企業のアプリを入れるのは抵抗があるのですが……。まぁ、Windowsを使っていて、今更ですけどね。
秀丸スタートメニューなんかはその点で安心できそうですね。でも検索ボックスが無さそうなのでやめておきました(設定で出せたりする?)。
オープンソースのものがないのかなと検索すると、Classic Shell(SourceForge)というのが見つかりました。ただし、オープンソースなのはVersion3.6.8までで、Version3.9.0からはソース非公開になったようです。
Classic Shell - Start menu and other Windows enhancements
オープンソースじゃ無くなったことについてはFAQで理由が書いていますが(Classic Shell: FAQ)、第一にWindowsのシェル拡張などの開発方法について他の開発者と一般的な知識を共有したかったがアプリが複雑化するにつれてその意味が薄れていったこと、第二にClassic Shellをほとんど手を加えずそのままコピーして売るものが現れたこと(OSSのライセンス的には合法だが、作者の意図ではなかった)を挙げています。
作者は個人名のようですし、開発用フォーラムでバグ報告、機能リクエスト、翻訳作業などは行われていて、正当な理由があればソースコードを見せるとも言ってます。開発用フォーラムでは日本語への翻訳も行われています。
このあたりが無難かなぁと。私が必要とする機能は揃っていました。
ノートPCを新調しました。現在使っていたLet's note CF-R8はWindows Vista世代で、OS的にもVisual Studio 2013が入りませんし、メモリも1GBと少なく、ちょっと何かするとすぐHDDカリカリでもっさりしてしまうので。
新しいPCを選定するにあたっての条件は以下のようなものでした。
軽量と言えばNEC Lavie Z(Lavie G type Z)。持ってみるとその軽さにびっくりします。でもタッチパネルモデルはそこまで軽くないし、性能面でのバリエーションは限られます。i5/メモリ4GBが上限の割に価格はVAIOのi7/メモリ8GBモデルくらいなので、少し割高感もあります。(今SSDアップグレードが半額になるキャンペーン中らしいですが)
もう少し重い機種(1.5kgまでくらい)を許容するならLenovoのYOGA等、選択肢は広がるのですが、外で使うことを考えると重量はこだわりたいところ。現行のCF-R8が930gくらいなので、そこから大幅に増えるのはちょっと。
画面の大きさは、長いことCF-R8を使っていてもう少し大きい方が良いかなと思っていたので、今回は大きめで。
タッチパネルは必須。この条件を入れると大分機種が絞られるので便利。私は前々からPCにはデスクトップかノートかに関わらずタッチパネルが必要だと言い続けていたので、ようやく手が届くタッチパネル搭載機が出た今、選ばずにはいられない。
Let's note MX3はキーボード右下の超変態配列によって候補から外れました。?とか_とかまともに打てないよコレ。慣れれば打てるのかもしれないけど、慣れたくないでしょ。他の点では魅力がある製品なだけに惜しい。
Surface Pro 3はキックスタンドなので候補から外れました。ただ、良い点も色々あるのでもう少し詳しく検討したかったところ。
と、言うわけで、これらの条件を満たすものを探した結果、VAIO Pro 13となりました。
Intelの新しいCPUが出そうな時期なので、正直もう少し待とうかとも思ったのですが、我慢しきれず買ってしまいました。しばらくはこれを使っていこうかと思います。
今回は性能を重視したので、Visual StudioもPhotoshopも難なく動きます。SSD搭載機は初めてですが、素晴らしいですね。
今のところおおむね満足ですが、一つだけ悪いところが。それはタッチパッド。正直このタッチパッドはクソです。ホームポジションに手を置くと必ず手がタッチパッドに触れてしまいます。もちろん誤動作しないように、タッチする表面積が多いときは反応しないようになっているのですが、それでもキーを打っていると、たまにクリックしてしまいます。特に右クリックを押してしまいます。クリックすると別のウィンドウにフォーカスが移ったり、キャレットの位置があらぬ所に飛んで酷いことになります。あと、たまにキーを打っていると突然チャームが出現したり。タッチパッドの設定を調整したら大分マシになりましたが、それでもたまに誤操作してしまいます。完全に防ぐことは難しそうです。
試聴本数自体かなり絞っているので引っかかる曲も少ない、はずだけと、意外と買ってるかな。
他にもいくつか買おうかどうか微妙なのもいくつか。
window.orientationというプロパティがあるみたいですね?
公式の資料として見つかったのはこれくらいでした。MDNには書いてませんでしたし。
IEはどうか分かりませんが、iOSやAndroidでは対応しているようです。対応しているのはモバイル版のみで、デスクトップ版では対応していないとか何とか。実際AndroidのChromeでは数値が返ってきますが、デスクトップ版のChromeではundefinedになります。
以前DeviceOrientationの使い方について書きましたが、その際にscreen.orientation.angleを使って画面の向き(回転角)を取得する方法についても言及しました。
DeviceOrientationイベントは画面の向きを考慮しない値を提供するだけなので、画面の向き(角度)を別途取得するか、画面の向きをロックするかしないと全く使い物にならないんですよね。
このwindow.orientationが使えれば、screen.orientation.angleが使えない場合でも画面の向きを角度で取得することが可能です。
なので、js_deviceorientationとjs_skigameを修正してみました。これで加速度センサーで操作できるかな。
そういえば結局縦書きってどうなったんだっけ? と思ったのでテスト。
<div style="width:100%; height:30em; overflow:scroll; padding: 1em; font-family: '@MS 明朝'; writing-mode: tb-rl; writing-mode: vertical-rl; -moz-writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; "> 本文 </div>
(本文は中島敦 山月記より)
WebKit系とIEはいけるみたいですね。
あと、フォントは縦書き用じゃないと色々と不都合が出る気が。
JavaScriptライブラリも色々あるみたいですね。
先日の修正をdefadviceの形に直した。HTMLエクスポート時にMathjaxを使わずに直接MathMLでエクスポートする。
;; org-html-mathml-export.el ;; 次の二つの関数はhtmlエクスポート時にlatex部分をhtmlへ変換する。 ;; - org-html-latex-environment ;; - org-html-latex-fragment ;; この関数において、processing-typeがmathmlのときはmathjaxのときと同じように ;; org-html-format-latexを呼び出すようにする。 ;; org-html-format-latexはorg-format-latexを呼び出す。 ;; org-format-latexはprocessing-typeがmathmlのときorg-format-latex-as-mathmlを呼び出す。 (defadvice org-html-latex-environment (around org-html-latex-environment--html-mathml (latex-environment contents info) activate) (setq ad-return-value (let ((processing-type (plist-get info :with-latex))) (case processing-type ((mathml) (let ((org-format-latex-as-mathml-format 'mathml)) (org-html-format-latex (org-remove-indentation (org-element-property :value latex-environment)) ;;latex-frag 'mathml info))) ((t) ad-do-it))))) (defadvice org-html-latex-fragment (around org-html-latex-fragment--html-mathml (latex-fragment contents info) activate) (setq ad-return-value (let ((processing-type (plist-get info :with-latex))) (case processing-type ((mathml) (let ((org-format-latex-as-mathml-format 'mathml)) (org-html-format-latex (org-element-property :value latex-fragment) ;;latex-frag 'mathml info))) ((t) ad-do-it))))) (defvar org-format-latex-as-mathml-format 'link "org-format-latex-as-mathml関数がどのような形式の文字列を返すかどうかを指定する変数。'linkのときMathMLファイルへのリンクを返す。'mathmlのときMathMLの文字列自体を返す(XMLヘッダー無し)。") ;; ;; org-format-latex-as-mathmlはLaTeX表記をMathMLへ変換する。 ;; OpenDocumentエクスポートの時はファイルへのリンクへ変換する。 ;; HTMLエクスポートの時はMathMLそのものへ変換する。 ;; (defadvice org-format-latex-as-mathml (around org-format-latex-as-mathml--html-mathml (latex-frag latex-frag-type prefix &optional dir) activate) (setq ad-return-value (if (eq org-format-latex-as-mathml-format 'mathml) (org-format-latex-as-mathml-not-file latex-frag latex-frag-type prefix dir) ad-do-it))) (defun org-format-latex-as-mathml-not-file (latex-frag latex-frag-type prefix &optional dir) "Use `org-create-math-formula' but check local cache first." (let* ((print-length nil) (print-level nil) ;;必要? (mathml (org-create-math-formula latex-frag))) ;; Successful conversion. Return the MathML. (if mathml (progn ;; Erase XML header (if (eql (string-match "^<\\?xml [^>]+>" mathml) 0) (setq mathml (replace-match "" t t mathml))) ;; Erase all line breaks (setq mathml (replace-regexp-in-string "[\n\r]" "" mathml)) ;; Add props (org-add-props mathml (list 'org-latex-src (replace-regexp-in-string "\"" "" latex-frag) 'org-latex-src-embed-type (if latex-frag-type 'paragraph 'character)))) ;; Failed conversion. Return the LaTeX fragment verbatim latex-frag)))
使い方:
#+OPTIONS:
に tex:mathml
を書き加える。Org2Blogでこれを使うなら: