2011/09/15

SSL証明書を削除してみる

DigiNotarという認証局が不正な証明書を発行したそうです。

こちらにFirefoxでの削除手順が公開されています。また、この説明文中に「この証明書を無効化した新しいバージョンのFirefoxをリリースしました」とあります。

こちらによるとFirefox6.0.1または3.6.21で対応されている、という様に見えるのですが、自宅のiMacに入っている、6.0.2及び、3.6.22では残っている様に見えます。

しかし中身を見ると「有効性を検証できませんでした」となっていて、無効化されているようです。

参考:有効な証明書

無効化するボタンが「削除または信頼しない」となっているので解り難いのですが、一覧からは削除されませんが、利用はされなくなるようです。

前述の手順説明にも

証明書は Firefox に "組み込まれ" ているため、実際には削除されず、信頼しないように設定されます。証明書を信頼しないことは、削除することと同じ効果を持ちます。

という説明書きがありますが、よくある「削除するが実体ファイルは残す」系の設定ですと、ファイルはゴミ箱行きにしないが、メニューなどからは表示自体消される事が殆どです。

この辺り、認証局証明書のI/Fにやや疑問が残ります。登録はされているが信頼はされていない証明書に関して、一覧上で赤字にするとか取り消し線を入れるとか、有効/無効列を追加表示するとかが欲しい所です。

Windows機に残っていた古いFirefox(3.6.6)で確認した所、DigiNortarの証明書が残っており、有効になっていました。こちらのI/Fではボタンのキャプションがはっきりと「削除」になっています。

そして、実際に「削除」ボタンを押してみた所、一覧から削除されました。

しかし、認証局証明書画面を一度閉じて、再度開くとなぜか残っています。

内容を確認すると、無効化はされているようです。

確かに、この古いI/Fに比べると現在の方が改善はされたのでしょうが、こういった地味な部分は作り込む人が居ないんでしょうか。

参考

2011/09/08

画像の一部をハイライトする

上記の様に注目させたい箇所だけ明るくして、周りをグレーアウトさせます。

Evernoteに買収され無料になったSkitchを使います。

  1. カラーパレットから半透明のグレーを選択
  2. 四角形描画ツールを選択
  3. 明るくする場所を四角で囲む
  4. 塗りつぶしツールを選択
  5. 四角の外側の適当な場所をクリックして塗りつぶす
  6. 適当に保存すれば終了です。

高度な画像処理ツールであれば同様の編集は可能ですが、多少のスクリーンショット編集とお手軽さの兼ね合いという点でかなり良い選択肢です。

本当に塗りつぶしたいだけならば、ブラウザベースで編集できるBlurHighlightというサービスもあるようです。

こちらはFlashで出来ているため、ブラウザベースで動作しますが、ページさえ表示されればオフラインでも編集可能です。ファイルはサーバへアップロードしている訳ではなく、Flashが読み込んでいるだけの模様。

参考

2011/09/05

閲覧数が最も多いブラウザはSafari

最近全く更新していないため、アクセス数の殆どは過去に書いたiPhone関係のエントリーです。

その所為もあってか、今月・先月の最多ブラウザがSafariでした。

しかし、ブラウザ別・OS別にしてみると、半分くらいがiOSからの閲覧になっています。

一昨年ぐらいまではAnalyticsを見るたびに、Firefox増えてるなぁという感じでした。

去年ぐらいからはAnalyticsを見るたびに、Chrome増えてるなぁという感じでした。

今年はいつの間にかSafariが増えていました。

正直自分ではiPhoneのSafariはあまり使わないので、iPhone、iPadから直接訪れる方が結構居るのに驚きです。

Bloggerがモバイルテンプレートに対応したのも頷けます。

2011/06/30

iPhoneのフォルダ名に絵文字を使う

iPhoneでフォルダ名を変更する際、絵文字の入力は出来ません。どこかの設定を変えれば出来るかもしれませんが、とりあえずコピペすれば対応可能です。

SMSなどの絵文字入力可能な他のアプリで入力し、それをコピーした後、フォルダ名の入力でペーストすると、フォルダ名に絵文字が使えます。

参考:iPhoneのフォルダの中身を一目で分かるようにするためのTIPS : ライフハッカー[日本版]

整理方法的な話では、頻度順に並べるのが妥当かと思います。

UI全般に共通しますが、すぐ押せる場所に置くべきボタンは、以下のの二つかと思います。

  • 咄嗟に使わなければいけないもの
  • 良く使うもの

iPhoneで言うと前者は電話やメール、後者はメモ/地図/ソーシャル系などでしょうか。

よく使うアプリを先頭ページへ持って行くと、自然と使わないアプリは後ろに押し出されると思います。

使わないアプリの山をフォルダにまとめる段になって、ようやくジャンル別の分類などが必要になります。

この方法だとそもそも1ページ目にフォルダは要らないので、たまに起動する低使用頻度のアプリを、たまに覗く後ろの方のページから探す分には、正確なジャンル名よりも、関連性をイメージし易いアイコンでも付けておけば十分かと思います。

それで見つけられないほど大量にアプリがあるなら、完全に分類を放棄して名前で検索した方が早そうです。

2011/06/29

ソフトバンクのお詫び措置が適用される

先月当たりに、iOS4の使用により、ユーザの意図しないパケット通信により、想定外の通信料が発生する事に対して、減免措置が取られていました。

参考:スマートフォン自動通信の告知に関するお詫び | ソフトバンクモバイル株式会社

これは、申し込んだ月の料金から1,029円(税抜き980円)が割り引かれます。

原因は恐らく、iOS4から搭載された「通知」機能をONにしていると、アプリケーションのインスタンスが無い様に見えても、バックグラウンドで通信が発生する、という現象が理解されていなかった事だと思います。

詳細はさておき、私はiPhone3GSですが、一応条件を満たしていたので申し込んだ所、今月分の料金に反映されていました。

元々の課金額が411円だったので、マイナスになっていました。それに伴い、消費税の計算もマイナスになっていました。

税務上の正しい計算は知りませんが、今回の緊急の措置に対して、システムが対応出来ているのかが不安です。iPhone利用者で利用金額が1,000円を切る人はあまり多く無いと思われますので、想定外の考慮もれパターンで無い事を祈ります。

2011/04/13

PSPゲームの通信構成

iPhoneなどのWi-Fi準拠のガジェットをPC経由でインターネットに接続する場合、図1の様な構成になります。これはノートPCなどに無線LANアダプタが内蔵されているが、モデムやルータは有線しか持っていない場合を想定しています。

図1

この場合、PC側の無線LANアダプタにAPとして、つまり親機的(*)に振る舞ってもらい、SSIDを発行してもらいます。ガジェット側からは、そのSSIDに対して接続する格好です。

このようにPCとガジェット間で接続が確立出来た上で、無線LANと有線LANをブリッジする事でインターネットへの接続をガジェットと共有できます。このブリッジ機能はOSの標準機能として提供されていると思います。

同様の環境にて、PSPでブラウザを使用する場合や、ゲームのコンテンツをダウンロードする場合もこれと同じ接続形態になります。もちろん無線ルータがある場合はもっとシンプルです。

これに対して、PSPのゲームで対戦や共闘をする場合の接続形態は図2の様に、やや異なります。

図2

PSPのゲームは、対面で2台以上の接続が行われます。そのため、一対一通信ではなく、一対多の通信も必要になります。そのためPSP側が親機として振る舞い、APを設置しSSIDを発行します。

ネット経由でPSPの通信プレイを行う場合、親機のPSPをPC側から探し、PC側が子機としてネットワークにアクセスする形になります。

PSPの発行するSSIDの一例

そのため、普通のブリッジ機能ではインターネット接続を共有出来ず、XLink MHP Tunnelと言った、専用のブリッジ用アプリが必要になります。

*:一般に「ルータ=親機」「アダプタ=子機」と認識されていると思いますが、ここでは、LAN接続のHUB機能を持っているものをルータ、当該機器のLANポートの役割を果たすものをアダプタ、ネットワークを構成する主体を親機、親機に従属する機器を子機としています。

2010/10/31

Windowsの電源管理

メインが二台になり、片方がアイドルになる頻度が増えたわけですが、使っていなくてもファンが回ってなにげにうるさい。しかし電源オフすると復帰が遅い。という事で、改めて電源の休止状態を調べ直してみました。

これまでもモニタの電源はすぐにオフにしていたのですが、定期的にファンの回転が上がるので、出来ればCPUは止めたい。

マウスにぶつかったぐらいで復帰しないで欲しい。

Windows機はノートなので、かなりへたっているとはいえバッテリーが付いており、停電など不測の事態でも(恐らく)電源オフまでは猶予時間がある。

といった条件を鑑みると、自分の環境ではスタンバイが一番望ましいようです。

終了画面を出すのも面倒なので、ぴたすちお

  • デスクトップをダブルクリックでスタンバイ
  • タスクバーをダブルクリックでモニタの電源オフ

としました。

2010/10/13

矢印チャートサンプル

MetaTraderのインディケーターには、主にシグナル用に矢印が表示できます。

この矢印はWingDingsフォントの33から255番までをそのまま表示しているらしく、ヘルプに一覧があるのですが、実際に表示された物を確認したかったので、チャート上に一覧で表示するインディケーターを作りました。

左上のテーブルが33から255番までの、番号と記号の一覧です。

プライスの高値に10個おきに表示されているのが、実際に矢印インディケーターとして表示したサンプルです。

プライスの安値に10個おきに表示されているのが、CreateObjectで矢印オブジェクトを作った際のType1から6までのサンプルです。これはついでです。

パラメターについて

ExtColor
表示カラーです。一覧、サンプルインディケーター、サンプルオブジェクト全てに適用されます。
ExtFontSize
一覧のフォントサイズです。
ExtMarginLeft
一覧の表示位置です。チャートの左端からマージンです。単位はピクセル。
ExtMarginTop
一覧の表示位置です。チャートの上端からマージンです。単位はピクセル。
ExtColMargin
一覧の列間マージンです。単位は倍率(フォントサイズ*n)。
ExtRowMargin
一覧の行間マージンです。単位は倍率(フォントサイズ*n)。
ExtLineNum
一覧の表示行数です。1列に何行表示するか設定します。
ExtArrowType
サンプルインディケーターに表示する矢印の番号です。一覧の中から表示してみたい番号を設定します。

2010/10/06

MacPortsのインストール

主にCUIベースのいろんなツールがインストールできるPortsというアプリがありますが、それのMac版だそうです。開発環境を整えようとすると割と要求される事が多いので、Macで開発作業をしたい場合、入れておいた方がよさげです。

Xcodeのインストール

Portsはソースコードで落としてきて、ローカルでビルドするのでコンパイラが必要です。そのため、統合開発環境のXcode(のコンパイラ)が必要になるそうです。

Mac付属のインストールメディアに入っているので、適当にググれば問題はないかと思います。私の購入したiMac(late2009)に付属のDVDからはバージョンが一つあがっていたので(2010.10現在)、インストール後にMacのソフトウェアアップデートすると、更新されます。500MB超のダウンロードが必要なので、時間に余裕のある時に。

X11のインストール

当該OSに依存しないGUIを提供するウィンドウシステムです(多分)。2008年前後のWebページではインストールしろと書かれている事が多いですが、Mac OS X(10.6.4)ではデフォルトでインストールされていました。別件でXQuartsの最新版をインストールしていたので、どこまで必要なのか解りませんが、入ってるなら得に更新しなくても良いかもしれません。

MacPortsのインストール

The MacPorts Project -- Download & Installationのサイドバーにある"Available Downloads"に一覧があります。

"MacPorts-1.*.*-10.6-SnowLeopard.dmg"というファイルから一番バージョン番号が新しい物を選んでダウンロードします。

中身は一般的なMac形式のインストーラなので、*.dmgをマウントして、中にある*.pkgをダブルクリックするだけです。

Porticusのインストール

MacPortsをGUIで扱うためのアプリです。Downloads - Porticusからダウンロードして、*.dmgをマウントした中にあるアプリを、アプリケーションフォルダにコピーするだけです。

最新化

MacPorts自身の更新と、インストール可能なパッケージ一覧の更新が必要です。MacPortsに本来備わっている機能ですが、Porticusからも当然、実行可能です。

Porticusのメニューから、[Ports] > [Self Update]を実行するだけです。

Portsからインストール

あとは"All Ports"などから適当に検索して、一覧に出てきたパッケージの右クリックから"install"を選ぶだけです。[Ports] > [Install Selected]などでも可能です。

subversionやmercurial、pythonやperlなどの実行環境も全部MacPortsから揃えられます。

参考

2010/10/05

Google Codeでホスティング

新規作成

バージョン管理システムの変更

パスワード

久方ぶりに新規作成しようとしたところ、新規作成ページが見つからず、大分探しました。

WindowsではSubversionをTortoiseSVNで使っていたのですが、Mac買ったのでどうせなら、と違う物にしてみようと思ったのです。が、SubversionでアップロードしたソースはMercurialに変更しても消えませんが、リンクは404になってしまいます。

アップロードし直してリンクを貼り直すのも面倒なので、新しく作りなおしました。

2010/10/02

BUZZのおすすめユーザー

i click follow on suggested people
:Twitter からの WMC Fortitude さんのバズ

上記のやり取りを見て知ったのですが、twitterでも最近「おすすめユーザ」という欄がサイドバーに出来ましたが、BUZZにもあったようです。


BUZZを(正直あまり活用できていないのですが)1、2日に一回開くたびに、全く知らない外国人からのフォロワーが(スパムや業者も含めて)2、3人増えているのは一体どういうことかと思っていたのですが、"Suggestion"という機能があったんですね。

別のアカウントでは見知らぬフォロワーは全く増えません。このアカウントではBUZZ提供開始当初は全てフォロー返しをしていたのでフォロー、非フォローの数が増えたり、ブログのフィードを流しているだけですが発言数が多かったりといった要素が、他人のサジェストリストに挙がり易い条件なんでしょうか。

2010/09/30

ボリンジャーバンドを書き直す

BolingerBands_CI.mq4- Project Hosting on Google Code

MetaTrader4のカスタムインディケータです。なんの変哲もないボリンジャーバンドです。

標準の"Bands"が±σ2と中央の移動平均の3本しか引いてくれないので、±σ1も合わせて5本引いています。

インディケーターの計算式はちょうど忘れた頃に限って内容が気になり、その度にwikipedia行って調べたりしているので、3ヶ月毎に「標準偏差ってなんだっけ?」と調べ直さなくても良い様に、3ヶ月後の自分でもコードを読めば解る様に書いたものです。

一度、自分でコードを書くと割と頭に入るので、多分3ヶ月後には見直さないと思いますが、1年後にはまた見るかもしれません。

2010/09/24

TortoiseSVNのインストールが失敗

少し前から、バージョンアップの通知が出ていたので、1.6.10をダウンロード&インストールしたところ、コンテキストメニューに表示されなくなりました。

インストーラーをもう一度起動して、修復(repair)する必要があるらしい。

 [TortoiseSVN]バージョンアップしたら日本語パックがチェック通らない!⇒また【修復】で回復。 - Project Note

  1. 1.6.10をインストール
  2. PC再起動
  3. 1.6.10を再インストール(修復)
  4. PC再起動

としたら、ちゃんと表示されました。

LaG更新

Launcher_As_Gesture - Google Code

以前作った、マウスジェスチャの様なランチャAutoHotkeyでマウスポインタの移動を感知するセンサーを組み合わせてみました。

Windowsに触る時間自体が減っていますが、ずっとMacに触った後だと、適当に自作したアプリのUIのもっさり感がいかんともしがたい。

Macでも同じような物を作りたいですが、AutoHotkeyに変わるような物がないので、とりあえずXcodeを入れましたが、全く実装の見当がつきません。

2010/09/15

AutoHotkeyでマウスポインタの移動を感知する

doughnutSensor

AutoHotkeyはキーバインディングを目的としたスクリプト実効環境なので、キーイベントに関しては詳細な設定ができますが、ポインティングデバイスに関しては思った様には行きません。

マウスポインタが移動したかどうかを判定するには、一定間隔で座標を監視するタイマーを作るか、GUIを作成してOnMessageでウィンドウイベントを取るかしないと思われます。好きな場所でポインタが1ドット移動した、といったイベントをとる事ができません。

以前作成した、マウスジェスチャの様なランチャでは、中クリックがないMagicMouseのために、↓ジェスチャに中クリックを割り当てていました。

しかし構造上、ボタン押し下げと同時にランチャウィンドウがポインタの下に割り込むため、アクティブウィンドウが変更され、プルダウン等の一時的に表示されるコントロールが消えてしまう、という問題が発生。

何が困るかと言うと、Firefoxのブックマークツールバーにあるフォルダの中のブックマークを新しいタブで開く、という動作はプルダウンの要素を中クリックする必要があったのです。ランチャを実運用してみると、普段意識しない操作を意外に多く行っている事が判明しました。

Firefoxだけならば、タブの動作を変更もできますが、全てのアプリでそうとは行かず、ランチャ側で対応することに。

ということで、右ボタンを押し下げている間にポインタを動かさないと中クリック、動かした場合、改めてランチャを起動という仕様を実装するために、動いた/動いてないを判断する部分を作成したものです。

ランチャに組み込まないと、ただ右クリックが不便になるだけです。

2010/09/12

iOS4でもパケット下限

iOS4になってからマルチタスクに対応したため、アプリがバックグラウンドで常駐可能になりました。そのため、予期しないタイミングでパケット通信が発生し、パケット代が増える可能性があります。パケット上限で使っている場合、どうでも良い話ですが、パケット下限に抑える派には由々しき問題です。

そもそも、最近どのアプリでもオンラインでの同期機能が当たり前になってきたため、アプリを開くだけで(望まなくても)パケット通信をする可能性があります。

  • 標準のメモアプリ(GmailとIMAPで同期)
  • 標準のカレンダーアプリ(Exchangeで同期)
  • 標準の連絡先アプリ(同上)

データ取得方法を「手動」にする設定はありますが、ここでいう手動とは「更新」などのボタンを押したら同期、ではなく、アプリを開いたら同期という意味での手動です。バックグラウンドで自動で同期(プッシュ/定期フェッチ)はしませんよという意味での手動です。

そのため、同期設定のしてあるアプリを外出先で開くと、リアルタイムでの同期を必要としていなくても、開くたびにパケット通信が発生する可能性があります。

それを回避するために、オンラインサービスは一旦デスクトップのiCalやアドレスブックと同期し、iTunes経由で同期する、という方法もあります。しかしこれでは外出前にイチイチiPhoneをUSB接続して、iTunesを起動して同期する必要が有ります。(最近iPhoneの同期が早くなりましたが)面倒ですし、ヒューマンエラーによる同期忘れは避けられません。

そこで、最近ようやくバグが直った設定アプリを見ていると、「モバイルデータ通信」という項目が有りました。iOS4からの機能らしいですが、これを「オフ」に設定すると、データ通信のみを遮断できるようです。

データ通信をオフにしても、通話はできますしSMSもi.softbank.jpの着信通知も受け取れます。

利用可不可 備考
通話
SMS (080xxxxxxxx)
MMS (@softbank.ne.jp) × softbank携帯同士で
@softbank.ne.jp送受信はSMS扱い
IMAP (@i.softbank.jp) 着信通知は来る(SMS経由?)
送受信はWi-FiがONなら可能
ネット Wi-FiがONなら可能

[一般] > [ネットワーク]には[モバイルデータ通信]の他に、[3Gを有効にする]という項目も有ります。

一口に「3G網」といっても、その中には2種類の回線が有って、個別にオン/オフできるようです。電波状況しだいでは、メールは送れても電話が繋がらないといった状況もあり得ます。

デフォルトでは、恐らく両方オンになっていると思います。

[モバイルデータ通信]のみオフにすると、3Gアイコンが消え、通話回線のみになります。

[3Gを有効にする]をオフにすると、すぐに電波強度が1に下がり、その後「圏外」になります。

当然、3G網全体がオフの時にデータ回線のみオンにはできませんので、下図のような設定は無効です。このような設定でsafariを開いてもウェブサーバにはアクセスできませんでした。

[モバイルデータ通信]をオン/オフした際に、下位項目の[データローミング]の項目が連動して設定不可能になる様に、本来は[3Gを有効にする]をオン/オフしたら、下位項目である[モバイルデータ通信]は連動して設定不可能にすべきだと思います。

しかし、海外では3G網がオフでも2G網で接続する事も可能なようです。そのため、[通信回線を有効にする]ではなく[3Gを有効にする]という名称になっているようです。3Gをオフにしても、2Gのデータ回線を使用する事も考えられるため、「3G網のオフ=モバイルデータ通信のオフ」とはならないようです。

3G網しかない日本では実質「3Gのオフ=データ通信のオフ」ですが、ローカライズに際して、項目の入れ子関係まで変更できなかったと言ったところでしょうか。

まとめますと、設定アプリにて、

  • [一般] > [ネットワーク] > [3Gを有効にする]をオン
  • [一般] > [ネットワーク] > [モバイルデータ通信]をオフ
  • [Wi-Fi] > [Wi-Fi]をオン

としておく事で、

  • 電話、SMS、i.softbank.jp(着信通知のみ)が常に利用可能
  • MMSは常に利用不可能
  • IMAPメールやWebブラウザはWi-Fi環境下で利用可能

となり、パケット代は任意に[モバイルデータ通信]をオンにしない限り発生しない、という状態になります。

前提として、

  • softbankユーザとはSMSでメールする
  • MMSは利用しない
  • それ以外のキャリア、PCとはGmail -> i.softbank.jp経由で通知はプッシュ、送受信は手動
  • パケット通信は、自宅または公衆無線LANのWi-Fi環境で行う。

という環境を整えておく必要が有ります。しかし、メールをGmail経由にするのは、パケット代節約に関わらず、通信キャリアに囲い込まれないために有効なのでおすすめです。機種変更やキャリア変更のたびにアドレスをかえる必要がなく、スパム対策は有料サービスより優秀です。

関連 参考

2010/09/09

Re:後で調べる iOS4の不具合(一応解決)

iPhone構成ユーティリティ(iCU)3.1およびiTunes10にした時点では、今までと同様、

  • iPhoneから[設定] > [一般]を開くとフリーズする
  • iCUからiPhoneが正しく認識されない

iOS4.1にアップデート後、問題が解消

  • iPhoneから[設定] > [一般]が問題なく開ける
  • 構成プロファイルから自分の作ったプロファイルが消えている

softbank提供の「公衆無線LANし放題」というプロファイルは残っていました。

他に見かけなかったので、かなり特殊な条件が重なっての不具合だと思うのですが、iOSアップデートで直ったという事はOSのバグだったということでしょうか。

勝手プロファイルの扱いに問題があったのだと思いますが、プロファイル自体はテキストやバイナリで適当にいじった物ではなく、iCUから作った物です。

また、このプロファイルは自宅のWi-Fi情報を設定しただけの物だったのですが、強制削除された後も、得に設定していなくても自宅のWi-Fiには繋がっています。

iCUに関しても、これまでは

  • iPhoneをUSB接続しても、サイドバーの[デバイス]の下にiPhoneが表示されない
  • サイドバーの[ライブラリ] > [デバイス]の一覧にiPhoneが記憶されているが、詳細ペインの[構成プロファイル]タブに何も表示されない(プロファイルが二つ入っているはず)
  • iPhoneを接続したまま、iCUを終了させると「反応なし」になる。その状態でiPhoneの接続を解除すると終了する時もある。強制終了しないと終了しない時もある

と言った症状が全て改善されていました。

要するに、扱いに困っていたプロファイルを勝手に削除したダケみたいです。しかし問題が解消されたという事は、Appleが認識していたという事ですね。

今後、同様に問題のあるプロファイルは勝手に削除されるのか、もしくはOSアップデート時のクリーニング作業なのかがわかりません。再度、適当なプロファイル突っ込んだらフリーズが再発するのでしょうか・・・

関連

ソフトウェア アップデートで任意の項目だけ止める

Windowsにはマイクロソフトアップデートがありますが、MacにもApple Software Updateがあります。iTunesのWindows版等を利用していると、Windowsにもインストールされていると思います。Windows版は"Apple Software update"、Macの日本語環境では「ソフトウェア・アップデート」。

このアップデートツールは個別の項目に対して、更新通知をミュートできます。ミュートしたい項目を選択して

Macの場合

[アップデート] > [アップデートの使用を停止]

Winの場合

[ツール] > [選択された更新を無視]

iTunesと一緒に入れさせられたけど、QuickTime要らないなぁと言った場合等に。

また、一時期Windows版のiPhone構成ユーリティ(2.xの辺り)が何度更新しても、「新しいソフトウェアを入手できます」の一覧に入る無限アップデートになる時期が有りましたが、多分そういうのにも有効です。