TeslaUnread が Galaxy S5 Email のカウントを更新してくれなくなった問題への対応

Posted about 1 year ago by yoosee.
  android

しばらく前から Nova Launcher + TeslaUnread のバッジ表示が Galaxy S5 の Email 未読数を更新しなくなる問題が発生していて困っていたのだが、ようやく解決できた。

一度問題が起こると、Email アプリ側で未読数がどう変わろうともバッジの数字が全く更新されなくなる。TeslaUnread や Email の Cache, Data を消去したり再インストールしてみたりしても全く修正されず、一度故あって Factory Reset した際にようやく直ったのだがしばらくしたら再発してしまい、仕方がなく諦めて Email のバッジ自体を無効にするハメになっていた。

その後ふと思いつきで改めて調べてみると、そのものずばりの解決方法が見つかった。

Teslaunread no longer updating - Android Forums at AndroidCentral.com

分かってみれば単純な話で、Galaxy S5 の Email は Email 自体ではなく、Samsung 独自 Launcher である TwLauncher に Badge Count を供給するための Badge Provider というプログラムがあり、TeslaUnreadも恐らくこれから Count を取得している。これは設定から “Applications → Manage Applications → (右から左にスワイプして) All” を探すと出てくる。

BadgeProvider

こいつを “Clear Data” して “Force Stop” し、改めて Email を起動するとバッジのカウント数が正しく表示されるようになった。…Galaxyはハードウェアはよく出来ているんだけどソフトウェアにこういう無駄な癖があるのが嫌なんだよな。

 

My EDC キーチェイン

Posted about 1 year ago by yoosee.
  keychain edc

EDC という言葉をご存知だろうか。Every Day Carry の略で、つまりは「毎日持ち歩く(もの)」の意味になる。「俺はこんな格好良い○○を持ち歩いてるぜ」とか「この組み合わせが素晴らしいのだ」とか「この小さいパッケージにサバイバル用品をまとめたぜ」とか、そういう自慢をする趣味だと思えば大体あってる。米国ではそこまでマイナーではないが、とは言え職場でランチの話題に出る程でもない。

EDC自体は「毎日持ち歩くもの」なので範囲が広いが、定番になるのはナイフ、ツールナイフ、LEDライト、ペンとノート、それにキーチェインといった辺りだろうか。米国なので銃というのもあるがさておき、EDCForums というのがこちらだとメジャーな掲示板であり、そこにもキーチェインのスレッドがある。写真を眺めるだけでも結構楽しい。

Keychain Pics, the Fourth Installment. | EDCForums

なんだかんだと前口上を述べているが、なんのことはない、自分のEDCキーチェインを自慢したいという話である。ということで今のキーチェインはこんな感じだ。日本でも売っているのを見つけたものは (JP) で主にAmazonへリンクしている。

2016年3月のキーチェイン

写真左側とキーホルダー

写真右側上から

ホイッスルは都市でのサバイバルでは必須のアイテムで、地震などの災害で瓦礫に閉じ込められた際に大変重要な役割を果たす。防犯にも使えるので、諸兄らもひとつ持ち歩くことをお勧めする。Nano Light は超小型だがそれなりに光量の大きいライトで、今時ならスマホを使ってしまうかもしれないが、これも役に立つシーンはある。Swiss+Tech Utili-Key はナイフやドライバーが鍵型のフォームにまとまったツールで、この素晴らしさは別記事を起こそうと思っている。

KeySmart は何年か前に KickStarter で手に入れたがその後製品化され、最近は類似品も結構見かけるキー整理アイテム。鍵を折りたたんでしまうことができるので、比較的場所を取らずに複数の鍵を持ち歩くことが出来る。

EDCたるものキーホルダー側にもこだわりを持つ(まあ上記フォーラムの人達はこんなアピールばっかりだしチタン大好きである)。TECのP7 Clip と GambleMade FM1 Titanium の組み合わせは、ポケットの縁に Clip を引っ掛けて FM1 がアイテムをフラットに配置することで、キーチェインがポケットを膨らませずにスマートな収納ができる。Isotope Fob は中に発光体を入れて夜間落とした時でも灯りでキーチェインを見つけられるように付いている。

nanoSTRIKERファイアスターターとUtili-Key

nanoSTRIKERは、その、なんだ、火打ち石である。そう、火打ち石。ファイアスターター。こすると火花が飛び散るアレだ。諸兄らはこれを何に使うのかと疑問に思うだろうが、もちろん普段の使いみちなど無い。ロマン、そうロマンのためだけだ。どこでも何かあれば火を起こせる、男子たるものそうしたロマンも必要なのだ。それが分からぬ者は Man vs Wild でも見てサバイバルとは何かを学ぶのがよかろう。

キーチェーンに限らず EDC に何かしら興味のある人は、 Everyday Carry あたりが面白い EDC 紹介をしているのと、また日本でも インマイバッグ という「カバンの中身をシェア」するサイトがあるので覗いてみると楽しめると思う。他のEDCについてはまたそのうち記事を書くつもり。

 

Let's Encrypt + Nginx の導入

Posted about 1 year ago by yoosee.
  ssl nginx security

このブログをSSL化するにあたって Let’s Encrypt - Free SSL/TLS Certificates の証明書を導入しているのでその備忘録。Let’s Encrypt は最近のブラウザであれば標準で利用できる証明書(ドメイン認証:DV)を無料で発行してくれる。現在 Public Beta の状態だが、登録すれば誰でも利用が可能だし、Valid な Cert が提供されている。

SSL in blog.yoosee.net

登録後に必要なツールを持ってきてセットアップする。下記を実施したのは 2016-03-09 だが、去年12月にやった時と少しやり方が変わっている気がするので、実施時にはドキュメントや –help などを見てやったほうがいいかもしれない。

% git clone https://github.com/letsencrypt/letsencrypt
% cd letsencrypt
% ./letsencrypt-auto 

Debianであれば必要なパッケージがインストールされる(当然内部で sudo が求められている)。libssl-dev などが入るので予め apt で入れておくといいかも。letsencrypt 自体は何も指定しなければ ~/.local の下にインストールされるようだ。

SSL Cert の作成は、Apache であれば設定ファイルの変更まで勝手にやってくれるらしいが、Nginx 対応はまだのようなので certonly --standalone オプションで Cert の作成のみを行う。

% sudo ~/.local/share/letsencrypt/bin/letsencrypt certonly --standalone -d blog.yoosee.net
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/blog.yoosee.net/fullchain.pem. Your cert will
expire on 2016-06-07. To obtain a new version of the certificate in
the future, simply run Let's Encrypt again.
- If like Let's Encrypt, please consider supporting our work by:

上記の通り、中間証明書を merge した fullchain が /etc/letsencrypt/live/blog.yoosee.net/fullchain.pem に生成される。有効期限は生成日より約3ヶ月といささか短いので、Let’s Encrypt でも cron などで更新を自動化することを推奨している。例えば下記のような cron を仕込んでおくと /etc/letsencrypt/live/blog.yoosee.net.conf に自動生成されている設定ファイルに従って renew をかけてくれるようだ。

0 4 1 * * /home/yoosee/.local/share/letsencrypt/bin/letsencrypt renew

Nginx の SSL 関係の設定はこんな感じ。上記コマンドは Certificate Key も /etc/letsencrypt/live/blog.yoosee.net/privkey.pem に作っているのでそれを指定する。

server {
        listen 443; # listen for ipv4
        server_name blog.yoosee.net;
#...
        ssl on;
        ssl_certificate /etc/letsencrypt/live/blog.yoosee.net/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/blog.yoosee.net/privkey.pem;
        ssl_session_timeout 10m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS;
        ssl_dhparam /etc/nginx/ssl/dhparam.pem;
#...
}

上記ではついでに Diffie-Hellman key exchange のパラメータも作成して指定している。これをやっておかないと Key Exchange の強度で Cipher DHE 関連で微妙にディスられたのだが、ちゃんと設定すると SSL Server Test: blog.yoosee.net (Powered by Qualys SSL Labs) でも今のところ A 判定をもらっている。

% sudo openssl dhparam 2048 -out /etc/nginx/ssl/dhparam.pem

過去に仕事でやった商用Certの導入や更新に比べたらものすごく簡単で素晴らしいことである。

 

Taskerは2016年現在もまだまだ現役で便利で手放せないという話

Posted about 1 year ago by yoosee.
  tasker android

以前のブログでTaskerを紹介したのはもう5年以上前のことだが、2016年現在も全くもって現役でTaskerを使っている。Android も以前よりだいぶましになったとはいえ、自動化で楽ができるタスクはまだ少なくない。これのおかげで日常生活で味わうであろうスマホを使う細々とした苦痛が幾つも回避されている。素晴らしいことだ。

Tasker

最近だとTasker系と呼ばれるアプリも色々とあるし、Taskerで実現していた機能をAndroid自身が実装していたり、単体アプリとして同等の機能を簡単使えるように提供しているものもある。またFTTTのように外部サービスとの連携を主眼としたものもあり、Taskerだけが選択肢という訳ではではなくなった。とは言え別にTaskerにできることが減ったわけでもないので未だに全く手放せない。使い方に関しては下記のあたりが参考先になるだろう。

Tasker Profile Example

例えば最近愛用しているこんな設定がある。スマホが車載スピーカーに接続された時点でPodcastのプレイリスト自動再生が始まり、その後にWaze (カーナビSNS)が起動するプロファイルだ。

  • トリガー:Bluetoothが車載のBtスピーカーに接続される
  • タスク:
    1. Wi-Fiをオフ
    2. Podcast Addictを起動
    3. 5秒のウェイト
    4. Podcast Addict に Playlist 再生の Intent を送信
    5. 14秒のウェイト
    6. Wazeを起動
    7. Media Volumeを13に設定

これは本当に便利で、車に乗ってスマホをワイヤレス充電Qi搭載のホルダーに載せ(Taskerとは関係がないが車載時の充電もこれだけだ)、エンジンをかければBluetoothスピーカーがスマホに接続されて自動的にPodcast再生とカーナビ起動が行われる。スマホの操作的にはほぼ完全自動、ゼロタッチである。

最近のAndroidは過去にTaskerを使って自動化していたようなこと、例えば「夜間は通知音・LEDをOFF」「電話着信時に裏返すと着信音をOFF」「イヤホンプラグを抜くと音声再生を一時停止」「カレンダーでミーティング時間内は通知音をオフ」「外部からの命令で端末の位置情報を送信」「特定環境下で自動的にアンロック」などが標準で実装されるようになったが(そう、以前からこういうことはTaskerを使えばできたのです)、まだ以下の辺りが現役のProfileである。

  • 自宅Wi-FiのSSID接続時に画面輝度をAutoから特定輝度へ変更
  • オフィスWi-FiのSSID接続時に画面輝度をAutoから特定輝度へ変更、Mediaボリュームをゼロにする
  • Bluetooth Headset接続時にScenesでPodcastAddictとPowerAmpの選択起動ダイアログを表示
  • Youtubeなどの音量が必要な特定アプリの利用時のみMedia Volumeを一定値に上げる
  • Photosなどの特定アプリの利用時のみScreen Rotationを有効化
  • 子供向けゲーム起動時にタイムアウトを長くしMedia Volumeを上げ、Gravity ScreenやSwipe Padなどを停止する
  • スマホを前後に数度振ることでLEDライトを点灯・消灯

なおこの辺りは実際は Extended Variables & States - Tasker Wiki で環境変数を使ってStateの管理をしている。大変個人的な定義としてはTaskerの習熟度をこんな感じで考えている。

  • 初心者: State変更などでシンプルな設定変更などができる
  • 初級者: 複数処理の連結などである程度複雑なProfileを作成できる
  • 中級者: 環境変数を使った状態管理や複数Profile間の競合解決などができる
  • 上級者: 上記に加えてIntentの呼び出しやSceneを使ったUI拡張を活用できる

特に意味のある分類ではないが、上級の辺りまで使いこなすと色々と楽しいので是非チャレンジして欲しい。

 

DSTって実際のところどんな感じなのか

Posted about 1 year ago by yoosee.
  uslife

早いもので今年も3月13日からDSTが開始した。DSTはDaylight saving timeの略で、日本だと夏時間 / Summar Time と言ったりするものだが、そもそも近年では3月の第2日曜日には始まり11月第1日曜日まで続く米国でのそれを「夏」と呼ぶのは違和感があるし、こちらではDSTで表すのが普通だ。DSTが始まる日曜日の夜1時59分の次の時間が3時になり、1時間時計が進む。逆にDSTが終わると1時59分が1時に戻る。

Daylight saving time - Wikipedia, the free encyclopedia

実際のところDSTはどうなのか、経済的や健康的には賛否両論あるようだが、個人的にも痛し痒しである。

DSTが始まると朝が暗くなり夜が明るくなる。実際DSTが開始する3月の日の出時間はこの辺りでは開始前が6:30am、開始後は1時間ずれるので7:30amになり、朝起きた時点がかなり暗い。逆に日没は6:30pmだったのが7:30pmになる。これが夏の間、7-9月くらいだと朝は7時前でも十分外も明るいし、空が暗くなるのは夜9時くらいになるので単純に日中が増えた感じになる。仕事さえ終われば(…)その後にテニスをしたりレストランの屋外席で食事をしたりと、感覚的には夕方が長くなって楽しめる時間が増える感じになる。

例えばこれは去年5月22日の午後8時の写真だが、外が十分明るいのがわかると思う。この頃はIngressをしていたので外が明るいのは特にありがたかった。

DSTでの5月の屋外

一方でDSTが無い日本とはDSTの有無で時差が変わってしまう。米国は国内に大きく Eastern, Central, Mountain, Pacific の4つのタイムゾーンがあり、今いる所は米国東海岸のEastern Timeと呼ばれる地域で、通常 -0500 、DSTでは -0400 のタイムゾーンになる。日本との時差に直すと通常は14時間、DSTで13時間の時差だ。この1時間は結構大きな違いで、端的には日本と打ち合わせをする時に日本時間朝9時の打ち合わせが通常では夜7時、DSTが始まってしまうと夜8時と1時間遅くなってしまうのである。

この辺の事情は米国内でも西に行くほどさほど問題にならなくなるのだが(カリフォルニアのPTであれば日本朝9時はまだ夕方の4時ないし5時である)、ETで日本と仕事をする身としては結構切実である。まして最初に書いたように、今では1年のうち8/12ヶ月がDSTなので、むしろDSTでない間がボーナス期間みたいになってしまっているのだった。

そんな個人的な事情はともかくとして単純に「DSTってどうか」と聞かれれば、夜の時間も明るいのは結構楽しいので好きではあるのだが。