2017/04/09(日)ブラウザ探し

ブラウザ探し

FirefoxのJavaScript実行がやたら重くなった*1ので代わりのブラウザを探します。

欲しい機能

  • FireGesturesのホイールジェスチャとロッカージェスチャはできて欲しい。
    • 20170409_FireGestures.png
  • できれば、Tab Mix Plusでできることも実現したい
    • タブを閉じたときのフォーカスを閉じたタブの右へ
    • アドレスバーからページを開いた場合は新規タブを開く、など

続きを読む

2017/04/08(土)ドライブ空き容量をチェックしてトースト通知する

ドライブ空き容量をチェックしてトースト通知する

PowerShellで空き容量チェックスクリプトを書いてみました。Windows 10 のアクションセンターで通知されます(トースト通知)。

check_diskspace.png

ソースコード

# ドライブごとにしきい値を設定
$min_freespace = @{
    "C" = 30GB;
    "D" = 10GB;
    "E" = 50GB;
}

function ShowBalloonTip(
    [string] $tilte = "件名", 
    [string] $body = "本文"
) {
    #[Reference]
    # PowerShell can I use balloons, toasts and notifications?
    #   https://deploywindows.info/2015/12/01/powershell-can-i-use-balloons-toasts-and-notifications/
    # Toasts templates
    #   https://msdn.microsoft.com/en-us/library/windows/apps/hh761494.aspx

    [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
    $template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
    # Convert to .NET type for XML manipuration
    $toastXml = [xml] $template.GetXml()
    # Customize the toast message
    $text = $toastXml.GetElementsByTagName("text")
    $text[0].AppendChild($toastXml.CreateTextNode($tilte)) > $null
    $text[1].AppendChild($toastXml.CreateTextNode($body)) > $null

    # Convert back to WinRT type
    $xml = New-Object Windows.Data.Xml.Dom.XmlDocument
    $xml.LoadXml($toastXml.OuterXml)
    $Toast = [Windows.UI.Notifications.ToastNotification]::new($xml)

    $AppID = 'Microsoft.Explorer.Notification.{3e1c1f24-a023-49cf-98ff-90cdabb9930b}'

    [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier($AppID).Show($Toast)
}

$msg = ""
foreach ($drive_letter in $min_freespace.Keys) {
    $drive = Get-PSDrive $drive_letter
    if ( $drive.Free -lt $min_freespace[$drive_letter] ) {
        $msg += "{0}ドライブ空き容量:{1,0:0.00}GB`n" -f $drive_letter, ($drive.Free/1GB);
    }
}

if ( $msg ) { 
    ShowBalloonTip "空き容量警告" $msg
}

準備

以下のレジストリを登録しないとトースト通知を履歴に残せないようです。(通知自体はされる。)

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Microsoft.Explorer.Notification.3e1c1f24-a023-49cf-98ff-90cdabb9930b
    • 値の名前: ShowInActionCenter
    • 値のデータ: 1
    • 種類: REG_DWORD

コマンドで追加するなら、

reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Notifications\Settings\Microsoft.Explorer.Notification.{3e1c1f24-a023-49cf-98ff-90cdabb9930b}" /v ShowInActionCenter /t REG_DWORD /d 1

「Microsoft.Explorer.Notification.3e1c1f24-a023-49cf-98ff-90cdabb9930b」*1のところに特に意味は無く、ソースコード内のIDと一致していれば良いです。

自動実行

タスクスケジューラーに登録すれば、自動実行できます。

  • プリグラム/スクリプト: %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
  • 引数の追加(オプション): -ExecutionPolicy RemoteSigned -File スクリプトのパス

ただ、普通に登録するだけではどうしてもウィンドウが表示されてしまうようです。検索するとWSH(VBScriptやJScript)経由でPowerShellを呼び出すことでウィンドウを隠す方法が見つかります。PowerShell単体でできるようにして欲しい(-_-;)

更新履歴

  • 2017/04/08: 不要な記述が残っていたので削除。

*1 : 3e1c1f24-a023-49cf-98ff-90cdabb9930bは[Guid]::NewGuid()で新規取得したGUIDを使っただけ。

2017/03/20(月)JPEGエンコーダーguetzliを試してみた

JPEGエンコーダーguetzliを試してみた

Googleが新しいJPEGエンコーダー「Guetzli」を発表したので試してみました。

入手元

guetzliと比較用のmozjpegのWindows向けバイナリは以下のサイトから入手しました。

圧縮手順

  • guetzli
     guetzli_windows_x86-64.exe --quality 95 RanHeart.jpg guetzli_RanHeart_q95.jpg
    
  • mozjpeg
     cjpeg.exe --quality 95 -outfile mozjpeg_RanHeart_q95.jpg RanHeart.jpg 
    

いずれも、RanHeart.jpgが入力画像。

画像比較

画像アップローダー - ECO-Wiki (acronia)に上がっていたちょうど良さそうな大きさの画像で試してみました。

guetzliでQualityを95/90/85の3通りで圧縮し、mozjpegで近いファイルサイズになった画像を比較用に並べています。(なお、元画像はjpegtranで可逆最適化してあります。)

分類guetzlimozjpeg
元画像元画像 (29,871B)
orig_RanHeart.jpg
元画像 (29,871B)
orig_RanHeart.jpg
高画質Quality 95 (24,596B)
guetzli_RanHeart_q95.jpg
Quality 93 (25,557B)
mozjpeg_RanHeart_q93.jpg
中画質Quality 90 (19,051B)
guetzli_RanHeart_q90.jpg
Quality 88 (19,378B)
mozjpeg_RanHeart_q88.jpg
低画質Quality 85 (15,658B)
guetzli_RanHeart_q85.jpg
Quality 82 (15,764B)
mozjpeg_RanHeart_q82.jpg

・・・どうしよう、ぱっと見どれも違いがよく分からない(^_^;)

とりあえず分かりやすいのは口元の赤色で、guetzliの方は元の色合いが大分保たれています。

JPEG高圧縮時に現れるモスキートノイズの現れ方はよく見るとguetzliとmozjpegで違っているのですが、特にどちらの方が良いというわけではない気がしました。

エンコード時間

1回しか測ってませんが、guetzliが6.6秒で、mozjpegが0.05秒でした。かなり遅いです。

感想

JPEGが苦手な赤に強いのは良さそうです。

エンコード時間がかかるのは難点ですが、Web公開する画像がそんなに大量にあるわけでも無いので、そう考えれば許容範囲でしょうか。(デジカメで撮った大きな写真を片っ端から圧縮するような使い方は難しそう。)

出たばっかりのソフトですし、もうちょっと速度とか改善されるまで様子見が無難かも。

2017/03/06(月)スロット拡張成功率調査(イリスカード強化祭+OTPボーナス)

スロット拡張成功率調査(イリスカード強化祭+OTPボーナス)

スロット上限が10スロットまで拡張されたので、武器と服を400個ずつスロット拡張してみました。

ポーチ/武器製造LV10&スロット成功確率%上昇2
スロットS1S2S3S4S5S6S7S8S9S10
成功数-334255142633213844
失敗数-6679113793119540
成功割合[%]-83.5076.3555.6944.3750.7940.6361.5450.00100.00
サマートップス/防具製造LV10&スロット成功確率%上昇2
スロットS1S2S3S4S5S6S7S8S9S10
成功数4003412541436636211271
失敗数05987111773015956
成功割合[%]100.0085.2574.4956.3046.1554.5558.3357.1458.3314.29

ポーチS10が4個できたのは運が良かっただけのようで、サマートップスは最後のS9→S10でかなり失敗してしまいました。

とは言え、S9とS10の成功率は凄く低いと言うほどではなさそうな感触です。保険を使った強化の時も半分くらいは成功してましたし。

2016/11/23(水)ノートPC購入・SSD換装 (LEVEL∞ N-Class Lev-15QX092-i7-RNE)

PC::Memo

ノートPC購入・SSD換装

今まで使っていたノートPCは結構前から調子が良くなく、新しいCPU/GPUが出たタイミングで買い換えようと思っていたのですが、最近GeForce GTX 10シリーズ(Pascal)がリリースされたのでついに買い換えることにしました。

CPUの方はKabylake-Hを待ってるとまたしばらく先になりそうなのと、Skylakeとの性能差はそんなに無さそうだったので待たずに買うことに(^_^;)

続きを読む