Googleフォトのアップロード未完了な写真の修正

Googleフォトに上げていた古い写真を見ていてたまたま気付いたのだけれど、
iPhoneからのアップロードに失敗して、
Googleフォト上にサムネだけが生成されてしまっている写真が何枚かあった。

で、再度アップロードしようにも強制アップロードする機能はなく、
アルバムに再度追加しようとしてもアップロードは行われない。
じゃあGoogleフォト上でいったん削除(ゴミ箱移動)してアップロードし直そうかと試してみても、
逆にiPhone上からも削除させることで同期を保たせようとする鬼畜仕様でこれもダメ。

で、結局とった対応が
1. 問題の写真をiPhoneからパソコン (Windows) にコピー
2. Googleフォト上で未完了になっている写真を削除
3. パソコンからウェブ版のGoogleフォトで写真をアップロード

1.についてはこちらの手順にしたがって
  iPhoneとPCをケーブルで繋ぎ、iPhone側でアクセスを許可
  ⇒ PCでエクスプローラーを開く
  ⇒ [Apple iPhone]を右クリックして[画像とビデオのインポート]を選択
  ⇒ 一部をインポートするか全部をインポートするか選択(ここでは「一部を」の方を選択)
  ⇒ インポート完了(Cドライブのマイピクチャにフォルダが作られてコピーされる)
でいけた。

2.はもしかしたらやらなくてもよいのかも知れないけれど念のため。
もしかしたらパソコンからアップロードした写真はiPhone上のとは別物扱いされて、
それはそれで同期エラーが出るんじゃないかと思っていたんだけれど、
どうやらiPhone上のものとちゃんと同じものとして扱われていたようで同期エラーは出なかった。


UACによる「このアプリは保護のためにブロックされました」の回避

Windowsをアップデートしたら起動時に
「このアプリは保護のためにブロックされました」
のメッセージが出て、Classic Start Menu (ClassicStartMenu.exe -upgrade) が正常に動かなくなってしまった。

対処方法を調べてみたのだけれど、国内ページでは解決できる方法を見つけられず。
警告文の英語を推測して調べてみたら、解決策が見つかった。
Fix – This app has been blocked for your protection

やり方としては、
1. Windowsスタートボタン (classic shellを使ってるので通常の挙動が分からないけど…) から
  ローカルグループポリシーエディター gpedit.msc を起動
2. 図の位置にある「ユーザーアカウント制御: 管理者承認モードですべての管理者を実行する」を
  「有効」に
すればおk。

このとき、ローカルグループポリシーエディターが見つからない場合は、下記のページの方法で有効化しておく。
「Windows 10 Home」でローカルグループポリシーエディターを使用する方法


ATOKの長音自動変換抑止

ATOK (2014) を使っていて
「ー。」
と入力しようとして長音の後に句読点を打つと
「-。」
と自動的にダッシュ(ハイフン?)に変換されてしまうのを抑止する方法。


ATOKメニュー~プロパティから図中のチェックを外せばOK.
その後、文字入力していたアプリを再起動しないと設定が反映されないので注意。

チャット打っていて、何となく語尾を柔らかくしようかなと長音を追記しようとすると勝手に変換されてしまうのが煩わしかった。

参考: https://okwave.jp/qa/q7029743.html


ATOKのテキストサービス復活

Outlook + ATOKで文字入力中に勝手に確定される問題がク○過ぎるので
こちらの方法(貴重な情報感謝します)
ATOKがWord、Outlookで勝手に確定する Final | So, shall we? - 楽天ブログ
を実行してみたのだけれど、「テキストサービスを使用しない」にしたら
・タスクバーのアイコンが消える(「日本」とかいう文字だけ表示されてIME選択しかできない)
・入力カーソルが見慣れない感じになる
など色々不具合が多すぎたので、結局泣く泣く戻すことに。

で、戻そうとしても「テキストサービスの詳細設定」ダイアログが出せなくて困った。
(諸事情でスタートメニューにもATOKメニューがなかったので。)

解決策としては「ATOKプロパティ」の実体である
C:\Program Files (x86)\JustSystems\ATOK27\ATOK27PRL.EXE
(バージョンで数字部分違う??)
を起動すればOK. あとは下図の通り。

##
そもそもOutlookとかいう救いようのないメーラーを使いたくないのだけれど、会社都合とかそういうので使わざるを得ないのがつらい。


ELANタッチパッドでタップを無効化

タップとかいう誤操作の原因にしかならない残念な機能を殺す方法。
なんでELANはオプションで簡単に設定できる項目を設けないのか。

regeditを使い、
コンピューター\HKEY_CURRENT_USER\Software\Elantech\SmartPad
にてそれらしいKeyの値を手当たり次第に0にする。

おそらくタスクトレイのELANアイコンも消さないと、再起動時にまたレジストリ値が戻ってしまうようなので、これも殺しておく。
上記の右クリックメニューもしくはコントロールパネルのマウスのプロパティ~ELANにて、「アイコンを表示しない」を選択する。

レジストリキーについて、下記ページでは「Tap one fingerを」と書いてあるけど、同名のキーはなかったので手当たり次第に以下のキーあたりを 1 -> 0 にしたら無効化されてくれた。
おそらく一番上のだけでもいいような気もするけれど。

- Tap_Enable
- Tap_One_Finger_Enable
- Tap_Three_Finger_Enable
- Tap_Two_Finger
- Tap_Two_Finger_Enable

# 参考:
How To Disable Tap-to-Click on Windows 10 Solved - Page 2 - Windows 10 Forums
Windows 10 - Cannot Disable tap-to-click function for ELAN Touchpad - Microsoft Community


windows 10でタッチパッドを無効化

これまでのようにマウスのプロパティからsynapticsの設定画面にいけないので設定できないのかと思っていたら、

 すべての設定(右下時計横の吹き出しをクリックして出るやつ)
 ~デバイス~タッチパッド~

から設定できたのね。

Synaptics SMBus TouchPadのドライバのプロパティ見てもできないから無効化できないものかと思っていたのだけど、この動画でようやく気付けた:
Disable Synaptics tap to click on windows 10 - YouTube

誤作動の原因にしかならないこの機能がなんでデフォルトONなのか長年理解できないのだけど、ようやくすっきり。


windows8.1 64bit + cygwin + numpy, PIL

cygwin + pythonを入れるところまで:
windows7 (or 8.1) 64bit + cygwin + scikit learn – FULL Tablog 3 の2か3くらいまでを参照。

以下はその続き。上記はちょっと古いので、2017年時点だと色々うまくいかなかった。

1. pipをインストール
Installation — pip 10.0.0.dev0 documentation からダウンロードして適当なところ(例えばpythonのインストールディレクトリ)に置き、コマンドプロンプト (win+x a で起動する方?) にて

> python get-pip.py (--proxy="http://xxx")

2. numpyをインストール
Python Extension Packages for Windows - Christoph Gohlkeからダウンロードしてcygwinにて

python -m pip install numpy-1.13.1+mkl-cp27-cp27m-win_amd64.whl

3. PILをインストール
やはりPython Extension Packages for Windows - Christoph Gohlkeからダウンロードしてcygwinにて

$ python -m pip install Pillow-4.2.1-cp27-cp27m-win_amd64.whl (--proxy="http://xxx")

# ついでに編集距離なんかを測る用:
4. python-Levenshteinをインストール
python-Levenshtein 0.12.0 : Python Package Indexからtar.gzをダウンロードしてcygwinにて

$ tar zxvf python-Levenshtein-0.12.0.tar.gz
$ cd python-Levenshtein-0.12.0/
$ python setup.py install

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27
とかいうエラーが出る場合には書かれている通りのURLからVCForPython27.msiをダウンロード~ダブルクリックでインストールすればおk。


MDIEでpowershellを起動

開いているフォルダでpowershellを起動するにはこんなスクリプトを用意すればよさげ。

var shell = new ActiveXObject("WScript.Shell");
var driveLetter = FolderView.Path.substr(0,1).toLowerCase();

var cmdline = 'powershell.exe -noexit -command ';
if (driveLetter == "c") {
	cmdline += ' "cd ' + FolderView.Path + '"';
}
else {
	cmdline += ' "' + driveLetter + ': ; cd ' + FolderView.Path + '"';
}
shell.Run(cmdline, 1, false);

これを**.jsとかのファイル名で保存
~mdie/script/フォルダに置く
~(選択した状態で)ツール-拡張-スクリプトに追加、で。
ついでにマウスジェスチャーに登録しておくと楽。

# 参考:
- MDIEで表示しているフォルダをコマンドプロンプトで開く.js · GitHub
- [Tips] エクスプローラの右クリックメニューにpowershellを追加する | PowerShell from Japan!! Blog
- 複数コマンドを1行で入力する


MDIEでフォルダ内の全ファイル名をコピー

今更ながら活用しているMDIEスクリプト。
フルパスではなくファイル名のみをクリップボードにコピーする用。
Javascriptは素人なのでもっといい書き方もあるかも。かも。
# 参考: スクリプト - MDIE wiki

//現在のフォルダのファイル名(フルパス)をファイルに出力
//MDIE Ver 0.2.5.3
//http://cres.s28.xrea.com/fswiki/index.cgi?page=%A5%B9%A5%AF%A5%EA%A5%D7%A5%C8

var fso = new ActiveXObject("Scripting.FileSystemObject");
 
main();

function main(){
    var i,fps,f;
    var ary = new Array();
    for(i=0;i<FolderView.Count;i++){
        tmps = FolderView.Items(i).Path.split("\\");
        fps = tmps[tmps.length - 1];
        ary.push(fps);
    }
    if(ary.length){
        MDIE.Clipboard(ary.join("\r\n")+"\r\n");
    }
    return;
}