« 前ページへ - 次ページへ »
ウェブページのフィルタリングをおこなうブラウザ拡張「マイリーディングモード」を公開しました。「不要なものを後で消す」広告ブロッカーとは違い、「必要なものだけを最初に残す」プログラム手法により、あなたが頻繁に訪れるサイトにおいて、本当に読みたい情報だけを、スタイルシートなどのオリジナルページの雰囲気を残したまま、素早く表示させることができるようになります。


現在、Google ChromeとFirefox版はそれぞれのブラウザの拡張機能より直接導入することができます。Microsoft Edge版もございますが、現時点ではマイクロソフトがストアアプリへの登録をまだ受け付けていないため、テスト版という体でソースコードとして拡張機能を提供しています。そのため、Microsoft Edgeでは開発者モードにする手順が必要となりますのでご注意ください。
2016年9月7日
ウィンドウズでのハードディスクの方法は主にFAT32とNTFSがあります。FAT32はUSBメモリーなど、いきなりポートから引っこ抜いてもデータが壊れることはあまりなく、SDカードのフォーマットにもっぱら使われますが、1ファイルの上限が4GB、フォーマットサイズの上限が32GBと高画質の映像を記録するのには不向きです。一方でNTFSはファイルの上限はほぼない(約20エクサバイト)ものの、少し前のMac OSでは読み込みしかできなかったり、急にメディアを切るとデータが破損したりと、あまりリムーバブルメディア向きではありません。

そこでNTFSのようにファイルサイズの制限を拡張子、FAT32のデータ保全性のいいとこ取りをしたのがexFATというわけですが、ハードディスクをリムーバブルメディアとして利用する際には気をつけなければいけない点があります。それは、ウィンドウズで特に意識せずそのままフォーマットすると、アロケーションユニットサイズが256キロバイトになることです。

これはデータの最小確保単位を指し、256KB未満のファイルでも、ディスク内では256KB確保されることになります。つまり、数KBのテキストファイルばかりのデータをこのディスクに保存しようとすると、あっというまにディスクの容量の上限に達してしまうのです。以下の例では本来のファイル総サイズの5倍近くの容量を消費しています。


アロケーションユニットサイズを少なくすれば、ディスクのアクセス効率は若干低下しますが、容量の問題は避けられます。しかしながら、Windows 10のフォーマットダイアログでは1TBあるようなメディアでは64KB未満が指定できません(規定は128KB)。もし、アロケーションサイズを少なくしたいのであれば、コマンドラインを使いましょう。
format H: /FS:exFAT /A:4096 /Q

H:はフォーマットするドライブ名、/FSはフォーマット、/Aはアロケーションサイズ(この場合は4096バイト=4KB)、/Qはクイックフォーマットを示します。これにより、細かいファイルをたくさん保存するのに適したハードディスクを作成することができるようになります。

exFATの小技を学んだのであれば、早速大容量の2.5インチHDDをバックアップメディア代わりに買いませんか?
2016年9月6日
AndroidとWindowsで使えるパーソナルデータベース「ショートアイデアノート」のVer 1.12をウィンドウズストアとGoogle Playにて公開しました。最新版では、DropBoxの最新のプログラム命令への対応や、サービスが終了したBitcasaの除外など、オンラインストレージサービスの改善や更新が行われています。

 | 2016年9月5日
マウスカーソルのすぐそばでIMEが有効になっているかの状態を一目で確認できるユーティリティ「IMEステータス」のVer 2.12のテスト版を公開しました。このバージョンでは、Windows 10 Anniversary Updateに対応し、最新のウィンドウズでも正常に機能するように修正されています。ベータ版は正式版公開まではどなたでも無料でご利用いただけます。もし、何かしらの問題がございましたら、ご一報いただければ助かります。

 | 2016年8月22日
PS Plusで無料配信していたサバイバルホラー「サイコブレイク」をプレー中です。難易度「Survival」で体力を最低にして常に一撃死される状況を作るという縛りプレーでクリアーできたので、なんとかなりそうだと、トロフィーコンプを目指し、現在難易度「Akumu」で遅い歩みながらも進めています。このゲームの難しいところは、雑魚やボスの強さよりも、最低難易度以外はスナイパースコープを除いて、銃器の照準が一切出ない点ではないでしょうか。高難易度は入手できる弾数がかなり少ない上に、敵や罠から逃げるため特定のオブジェクトを撃たなければいけないのに、弾丸が敵の股をくぐり抜けたりと外しまくってゲームオーバーになるたびにストレスがたまります。

ディスプレイに物理的に貼り付ける「照準シール」なるものも売ってはいるのですが、このゲームのためだけに買うのも何なので、自作の照準を作ってプレーしています。作り方は、100円均一のスマートフォン用液晶保護フィルムを小さく切ったものを液晶ディスプレイの中央に貼り付ける→ゲームをプレイし、スナイパーライフルをのぞき込み、その中央に文房具の修正液をフィルムの上からポチッとつける。


ゲーム自体に弾道のぶれの概念があるため、それでも当たらないことがありますが、無いときにくらべ、格段に命中率が上がりました。
2016年8月8日
実際に外出して目的地へ行くことでゲームが進行するイングレスをベースにした話題のゲーム「ポケモンGO」。GPSやモバイル通信を稼働し続け、捕獲時は3Dグラフィックが動くことより、電池の消耗の激しさが対策の一つになっています。多くの人はモバイルバッテリーを持ち歩くことを推奨していますが、お散歩のついでにゲームをする程度に軽く遊ぶのであれば、家に帰ったらスマホで別の作業にすぐに取りかかれる充電器を購入した方が良いでしょう。

最近のスマートフォンはQualcomm Quick Charge 2.0に対応したモデルが増えています。これは9V/1800mAの電流と、一般的なタブレット向けアダプター(5V/2000mA)と比較しても、ワット換算で1.6倍のエネルギーを供給するため、電池の消耗度が大きいほどその効果は大きく得られます。市販の対応ACアダプターは過大な電流に耐えられるかをチェックしてから、充電を行うため、仮にスマートフォンが対応していなくても、5V/2000mAでの急速とまでは行きませんが、高速充電を行うことができます。

ちなみに、9V電源とUSB充電ケーブルを直結して急速充電をする猛者もおられましたが、スマートフォンを破壊する原因になるので、素人は素直に安全回路が入っている市販品を買いましょう。

ちなみに管理人はタイムリー社のUSB ACアダプター(TM-QC2-BK)をZenfone 2(Quick Charge 2.0ではないが、9V充電には対応している)で使っていますが、ゲームをした後小休止をしたらもう再開できるくらいまでにバッテリーが充電されているので、3Dゲームを連続して遊ぶにはとても便利です。

2016年7月20日

Programming a wildcard string search without regular expression.

URLがユーザー定義とマッチするかどうかのプログラムをJavaScript組んでいます。これにワイルドカードを実装してみたのですが、一番手っ取り早い、正規表現による手法だと、文字列エスケープや正規表現のコンパイルやテストの実行などいろいろな計算が介入するので、個人的には処理速度が気になってしまいました。

function matchRegKey(keydef, key){ var s = keydef.replace(/[\-\[\]\/\{\}\(\)\+\?\.\\\^\$\|]/g, "\\$&"); // ワイルドカード以外のエスケープ s = s.split("*").join(".*?"); // ワイルドカード「*」を正規表現における表記に変換 var rex = new RegExp(s); return rex.test(key); }
いろいろ探しても良い情報が見つからなかったので、indexOfとsubstringを駆使した文字列照合によるプログラムを作ってみました。
function matchKey(key, keyword){ var d1 = keydef.indexOf("*"); if(d1 == -1 && keydef == key) { return true; }else if(d1 > 0){ if(keydef.substring(0, d1) != key.substring(0, d1)) return false; } var k1 = 0, klen = keydef.length, match = false, ss; while(d1 != -1 && d1 < klen){ d1++; var d2 = keydef.indexOf("*", d1); if(d2 == -1){ d2 = klen; } ss = keydef.substring(d1, d2); k1 = key.indexOf(ss, k1); var kk = key.substring(k1, k1 + (d2 - d1)); if(kk != ss) return false; match = true; d1 = d2; } return match; }
一通りのテストは通ったので、ベンチマークを実施。
function TestLoop(){ var keydef = "*yahoo.*.*"; var key = "www.yahoo.co.jp"; console.time("regex"); for(var i =0; i < 100000; i++) matchRegKey(keydef, key); console.timeEnd("regex"); console.time("index"); for(var i =0; i < 100000; i++) matchKey(keydef, key); console.timeEnd("index"); }
私のパソコンでの結果はこのようになりました。正規表現はやはり時間がかかりますね。

2016年7月19日
マウスカーソルのすぐそばでIMEが有効になっているかの状態を一目で確認できるユーティリティ「IMEステータス」のVer 2.11を正式版として公開しました。このバージョンでは、Windows 10で導入された仮想デスクトップに対応し、デスクトップ間を移動してもアイコンが追従するようになっています。本日をもってベータ版のご利用はできなくなります。

広告非表示版のユーザーはこちらのリンクよりアップグレードされたアプリをダウンロードできます。ユーザー登録時に使用したメールアドレスをご用意ください。

(2016/07/09追記)
非表示板が旧バージョンのままであるとのご指摘がありましたので、アーカイブファイルの更新と、ダウンロード履歴をリセットさせていただきました。ご迷惑をおかけして、申し訳ございません。
 | 2016年7月9日
Windows 10のアップグレードキャンペーンが残り一ヶ月を切りました。キャンペーン終了後はパーツの大幅な変更を行うとライセンスが無効になるという話がありました。近々予定のアップデートではこの制限が緩和されるというものの、一抹の不安が残っていたため、管理者はこれを機会にマザーボードとCPUを買い換えることにしました。ただ、今年の9月にインテルがモデルチェンジしたCPUを出すという話もあるため、Core i3で当面様子を見ることにしています。

一方でマザーボードはCPUをオーバークロックまではしないものの長く使い続けるつもりでいたので、DisplayPortやUSB 3.1 Type-Cなどのインターフェイスが充実していることを理由に、ASUSの「H170 PRO GAMING」を購入しました。


パソコンを組み立てBIOS(UEFI)を起動して管理人が一番注目したのは、UEFIのツールとしてSSDのSecure Eraseが内蔵されていたことです。実はマザーボードを換装する前にこれまで使っていたSSDを初期化するため、わざわざLinuxを起動し、凍結(ロック)状態を防ぐためSSDをUSBコンバーターで接続した上で、コマンドプロンプト経由でリセットするという大変面倒くさいことをしていたからです。


マザーボードのツールだと、専用の画面に移行して対象のSSDを選択するだけ。SATAにつないでいて凍結状態で消去不能な状態であったとしても、再起動して凍結状態を自動で解除してくれます。UEFIからの起動のため、Windowsの専用ユーティリティーを使うとか、機能をサポートしたLinuxをUSBブートするとか面倒くさいことが一切なく非常に簡単でした。

ネットで一通り調べる限り、この機能は比較的新しいASUS製のマザーボードが主にサポートしているようです。H170という下位モデルでできるのですから、「Z170 PRO GAMING」であれば確実にサポート済みです。マザーボードの買い換えを機にSSDをSecure Eraseして処理速度を取り戻したいがその実現が大変という人は、ASUSのマザーボードを使ってみるのも悪くないかもしれません。
 | 2016年7月2日
マウスカーソルのすぐそばでIMEが有効になっているかの状態を一目で確認できるユーティリティ「IMEステータス」のVer 2.11のテスト版を公開しました。このバージョンでは、Windows 10で導入された仮想デスクトップに対応し、デスクトップ間を移動してもアイコンが追従するようになりました。ベータ版は正式版公開まではどなたでも無料でご利用いただけます。もし、何かしらの問題がございましたら、ご一報いただければ助かります。

2016年6月6日
« 前ページへ - 次ページへ »