ltg.exe

ltg.exe

Googleのロケーション履歴のエクスポートデータからGPXデータを生成するやつを作りました。
ダウンロード

Googleアカウントデータのエクスポート

ここからロケーション履歴にチェックを入れてダウンロードします。
ファイルの形式は.zip、ファイルの大きさは50GBにしましょう。
そのうちメールが飛んできたりするので待ちましょう。(結構長いです)

必要なファイルの用意

ダウンロードしたzipの中のロケーション履歴フォルダ内にある「ロケーション履歴.json」をどこかにコピーします。デスクトップでいいか。デスクトップにコピーします。
次に、このページの上の方にあるダウンロードリンクからltg.exeをダウンロードしてデスクトップに持っていってください。

GPXデータの生成

ロケーション履歴.jsonとltg.exeが同じ階層にある状態でltg.exeを実行します。
しばらく黒窓が表示されるので終了するまで待ってください。
処理が終了すると、デスクトップ内の「GPSLogs」というフォルダ内にGPXファイルが日付ごとに分けられて生成されています。

rykvの

rykvの「Datas/GPSLogs」フォルダ内に生成されたデータを移動すれば、マップで表示されるようになります。

rykv

rykv

情報をタイムラインで表示するやつです。
ライフログや保存されたファイルなどを閲覧するために作られました。

どういうものが作りたかったか

  • 記録したすべての情報をタイムライン形式で並べて表示できる
  • 情報を文字列で検索できる
  • 情報に(検索のための)テキストをつけることができる
  • タグ付けによるゆるい分類ができる
  • 検索した情報の前後の情報(状況)を楽に知ることができる

つまりライフログビューアーです。
Evernoteとかhowmとかが好きな人にはハマるかもしれません。あとノートに情報を全部入れる人とか。私がそう。

Evernoteはデータの実体自体を一箇所に集めて一元化を実現しますが、
rykvは色んな場所にあるファイルやフォルダの情報を集めて1タイムラインに表示する、という形で一元化を実現します。
散らかっていても平気。まとめる必要はありません。

最後の「検索した情報の前後の情報を楽に知ることができる」のがrykvの売りです。
この機能があるおかげで、情報を細かい単位で記録していってもあとからその時の状況がわかりやすく、その上情報に容易にたどり着くことができます。

ダウンロード
rykvsについて
f:id:sahara305:20200922164600p:plain

画面に表示される要素についてそれぞれ説明します。

サイドバー

サイドバーからはタイムラインに表示される情報を絞り込むことができます。

keywords

単語から検索することができます。
検索ボックスの隣のマークが&のときはand検索、そうでないときはor検索となります。

reps

repositoriesです。 repとは情報のあるファイルやフォルダのことを指します。
summary detailについては下の方で説明します。

tags

tagです。
タグの付いたもののみを抽出したり、タグが付いているものを除外したりすることができます。
タグもand検索、or検索が選択できます。

タイムラインリストビュー

抽出された情報がタイムライン形式で並べられます。
タイムラインリストビューは右上のプラスアイコンから増やすことが可能です。
ここでは、下にあるアイコンからできることを説明します。

リロードボタン

読み込み直します。

リスト、imageリスト切り替えボタン

初期状態ではすべての情報がタイムラインに表示されます。
ドキュメントアイコンをクリックすると、画像のみが抽出されるように切り替わります。

オートスクロール切り替えボタン

クリックすると→アイコンとなります。
複数のタイムラインリストビューがあり、情報がクリックされた時。
→アイコンとなっているリストビューはクリックされた情報までスクロールされます。
この機能によって、検索した情報の前後の情報を楽に知ることができます。
具体的な方法については下の方で説明します。

閉じるボタン

このタイムラインリストビューを閉じます。

詳細ビュー

タイムラインリストビューでクリックされた情報が大きく表示されます。
このビューの表示非表示は右上のドキュメントアイコンから切り替えることができます。

カレンダー

抽出された情報の数が日付ごとに表示されます。
また、日付をクリックすると、タイムラインリストビューがその日までスクロールされます。
このビューの表示非表示は右上のカレンダーアイコンから切り替えることができます。
この機能は結構重いです。使わないときには非表示にしているのがいいでしょう。

マップ

GPXデータからその日の移動の軌跡が表示されます。
設定方法については下の方で説明します。
このビューの表示非表示は右上のマップアイコンから切り替えることができます。

使用例

ライフログ

情報の記録はなるべく細かく(Atomic的な意味で)、そしてリアルタイムにしていくことを意識します。
twitterのように使うイメージでです。
例えば、可愛いキウィの画像を見つけて保存するときには、
まず画像を保存して、次にKmemoでキウィかわいいと記録します。
例えば、今度食べに行きたい場所のホームページを見つけた時は、
まずページをURLogして、次にKmemoで「食べたい」と記録して、必要であればページのスクリーンショットを撮って、とします。
Evernoteだったら、1つのノートにすべて情報を集めるのでしょうけれども、
大丈夫です。rykvでは情報が散らかっても、タイムライン上に表示ができるので検索可能です。

日記やライフログにおいて大事なことは、素早くできること、面倒くさくないことだと思います。
あとから情報を引っ張り出したくなったりしたときはそうなってから一手間かければいいです。
記録する度に毎回苦労していたら、くたびれるでしょう?
まとめるという作業はやる必要がありません。
やらなくても、時の流れが勝手にまとめてくれますので。

オートスクロール機能

rykvでは、様々な方法で情報にたどり着くことができます。
いくつか例を紹介します。まずはオートスクロール機能を活用する例です。
まず、タイムラインリストビューを2つ開きます。
1つは検索するために使い、もう1つはオートスクロールするために使います。片方はオートスクロール機能を有効化してください。
検索用のタイムラインリストビューをクリックして、「キウィ」と検索します。
次に、Kmemoで記録された情報がヒットするのでクリックします。
すると、オートスクロール用のタイムラインリストビューがスクロールされます。
オートスクロール用のタイムラインの前後には、その頃に記録した情報(保存したキウィの画像)が出てきます。
f:id:sahara305:20200929011949g:plain このように、情報がタイムライン上に並ぶこと、オートスクロール機能があることを活用すれば、いい感じに情報にたどり着くことができえます。
オートスクロール機能はrykvの目玉機能のうちの一つです。
このことを意識して、細かく情報を記録していくが好いでしょう。

カレンダー機能

薬を飲んだかどうかを確認するのにもrykvを使うことができます。
薬を飲むときに、Kmemoで予め「薬」タグをつけておきます。
(Kmemoでは楽にタグをつけることができる、タグ行機能というものがあります。下で説明します。)
そしてrykvを開き、薬タグで抽出します。
カレンダーの薬を飲んだ日付には飲んだ数が表示されます。
(前述のオートスクロール機能と組み合わせれば、薬を飲んだ前後に食べたものも知ることができます。)

タグの除外機能

次に、タグを使って余計な情報を除外する例です。
毎朝起きた時刻をKmemoで記録する場合、予め「ライフログ」タグをつけておきます。
見返すとき、大体の場合において、起きた時刻はどうでもいいノイズ情報です。
rykvで閲覧する時に、ライフログタグのチェックを外すと、どうでもいい情報が除外されたタイムラインが完成します。

フォルダ分けについて

repの分け方ですが、情報源ごとに分けるといいでしょう。
例えばダウンロードしてきたものやスキャンしたもの、自分のカメラで撮影したもの、自分が作ったファイル、知人からもらったファイル、などのように。
そのように分ける利点は2つあります。
1つは情報を保存するときに迷わないこと、もう1つは情報を探すときに迷わないことです。こうもり問題に悩まされません。いいね。
まあどうせ一元化されるのですが、情報1つに対して情報源は1つしか無いので分けておくといいです。
見返すときにも、何から保存したかぐらいは覚えていることが多いので、検索の高速化の助けにもなりますし。

プロジェクトによる分類はタグでやるといいです。
メモをしていると、複数のプロジェクトにまたがるものが出てきたりします。
そういうときに、フォルダで分類していると困ります。1つの情報に対してrepは1つしか無いので。
一方、タグは何個でもつけることができます。分類にはタグのほうが向いているということです。

あと

rykvはライフログビューアーであってタスク管理ツールではないので、情報の編集とか状態の変更とかはできません。
タグ機能で無理やり実現できなくはないですが、全く推奨しません。
それから、ファイルの移動や改名などは想定されていませんので注意してください。
ファイルパスに変更があると、そのファイルにくっついているタグやテキストの情報が吹っ飛びます。
ただし、内容の編集は許されます。

よりよく

コンフィグファイル

rykv.exeファイルと同じ階層か、ユーザーディレクトリ直下にあるrykv_config.yamlがコンフィグファイルです。テキストエディタで開けます。メモ帳でOK。
設定可能なtypeとfileの表です。

repsの項目から、rykvで表示する情報の収まったファイルやフォルダを指定できます。

type file
kmemo_db kmemoのファイル
urlog_db urlogのファイル
directory ファイルの入ったフォルダ

fileに記された環境変数アスタリスクは展開されます。
例えば次の例はホームディレクトリ直下にあるKmemo_から始まり.dbで終わるすべてのrepが読み込まれます。
「$HOME/Kmemo_*.db」

GPSLogReps

GPXデータをマップビューに表示されるように設定する方法を説明します。
コンフィグファイルを開き、gpsLogRepsの項目を編集します。

type file
gpx_directory GPXファイルの入ったフォルダ

また、GPXファイルは下のように命名されている必要があります。
yyyymmdd.gpx
例えば2020年09月22日のgpxデータであるとするならば下のようにする必要があります。
20200922.gpx
(このファイル名形式はGPSロガーAndroidによって記録されるファイル名形式と同じです。)
Googleロケーション履歴からGPXデータを生成するやつを作りました。)

あと、APIKeyを設定しないと「正しく読み込まれませんでした」って出てきます。(結構正しく読み込まれますけれど)
コンフィグファイルからgoogleMapApiKeyの項目を設定してください。
APIKeyの取得方法はここが参考になります。
(APIKeyを設定する場合、API使用上限の設定も一応しておいてね。リクエストしまくって200$請求されたとしても私は知りません。ここが参考になります。)

Kmemoとタグ行機能

Kmemoはテキストを記録するものです。
kmemo.exeを起動するとテキストエディタが起動します。
保存して終了すると内容が記録され、rykvから閲覧可能となります。

Kmemoでは、記録と同時に楽にタグをつける機能が実装されています。
タグ行機能が有効であり(デフォルトで有効)、1行目の1文字目が「。」ではじまった時、それに続く語がタグとして保存されます。
TODOタグを持つメモの作成方法の例を次に示します。

。TODO
エビオス錠を飲む

また、「、」を区切り文字として複数のタグを登録することも可能です。

。食べ物、美味しい、最高
ベーコンエピ

Summary dvnf

repsにSummaryとかDetailとかあります。
Detailは情報の収まっているファイルやフォルダの名前の列挙です。
Summaryについて説明します。

ある形式でファイルやフォルダに名前をつけると、Summaryでいい感じに表示されるようになります。
形式は、「タイプ_デバイス名_8桁の数字(ファイルならば拡張子)」です。このファイル名形式をdvnfと呼びます。
例えば、「Kmemo_PC_20200912.db」、「Kmemo_NotePC_20200912.db」などです。
このようにすることにより特に便利になるのが、タイプによるrepの絞り込み機能が使えるようになることです。
何らかの理由でKmemoのrepを複数持つことになった時、タイプからKmemoをクリックすれば、一発ですべてのKmemoが抽出できます。
dvnf形式にデータを集約するコマンドラインツール、dvnfも用意されています。使ってください。
(私は複数のパソコンで情報を記録しているので、パソコンごとにrepを分けています。1つのKmemo.dbをクラウドストレージ上に保存して使い回すという方法がありますが、回線が死んだときにデータの衝突が避けられなくなりますので。)
(8桁の数字は別になんでも平気ですが、私は記録を始めた日にしています。アーカイブ日だとあとから変動し得るので。)

dvnf

コマンドラインツールdvnfについて説明します。
これは、パソコン内に散らかった情報をrykvに表示しやすい形式で集めるためのツールです。
まずはdvnf getしてコンフィグファイルを生成してください。コンフィグファイルはユーザーディレクトリ直下にdvnf_config.yamlという名前で生成されます。
次に、コンフィグファイルからdeviceの項目を編集します。なんでもいいです。PCとかでいいんじゃない?
準備はOKです。次に使用例を示します。

こと コマンド
Kmemoのデータをdvnfにコピーする例 dvnf copy -f '$HOME/Kmemo.db' Kmemo.db
ダウンロードフォルダの中身をdvnfフォルダに移動する例 dvnf move '$HOME/Downloads/*' Downloads
Steamで撮影されたスクリーンショットを集約する例 dvnf move 'C:/Program Files (x86)/Steam/userdata/**/screenshots/*' Screenshot
最近の東方Projectで撮影されたスクリーンショットを集約する例 dvnf move '${APPDATA}/ShanghaiAlice/**/snapshot/*' Screenshot

集約されたファイルたちは、デフォルトではユーザーディレクトリ直下のdeviceで設定した名前のフォルダに収まっています。
更に詳しく知りたい場合は「dvnf -h」を実行してください。

ちょっとしたハイパーテキスト

これはおまけですが、rykvではマークダウンファイルをちょっとしたハイパーテキストとして取り扱うためのAPIが開かれています。
情報を右クリックすると出てくる「IDをコピーする」という項目からIDをコピーして下の例のようにするとリンクを作れます。
リンクと画像の例を示します。

[rykvsについて](/api/kyouhtml/60e60b76-c846-4e3b-ab8f-bb073effeb6c)  
<img style="max-width: 100%" src="/api/kyouimg/bce538d0-228c-44ed-b81a-6454b7444dc0"/>  

おわり。

rykvはライフログアーカイブファイル(もう編集したり移動したりしない予定のファイル)などを閲覧するために作られました。
意図通りに使えばいい感じになると思います。
が、バリバリに編集したり移動したりするファイルを突っ込むのには本当に向いていません。気をつけて。

rykv、一元化を実現するインターフェース、Viewerとして在れればいいね。

Shanghai

www.dropbox.com


1人でtwitterみたいなことをしたいと思っていたので、なんか作りました。

メモによってライフログを記録するやつと、記録したものを見るためのビューアーです。

とりあえずまあrykv.batをダブルクリックして。

 

kmemo

テキストを記録するものです。

kmemo.exeを起こすとテキストエディタが起動しますので、なんか書いて保存して終了してください。

 

rykv

ビューアーです。

rykv.batを起こすと、kmemoで保存された内容がタイムライン形式で表示されます

 

urlog

URLを記録するものです。ブックマーク。

urlogFromClipboard.batを起こすと、クリップボードにあるURLが保存されます。

保存された内容はkmemoと同じようにrykvから閲覧可能です。

 

kmemoとurlogはショートカットキーに登録しておくと起動が楽でいいです。

ライフログとかノートとか日記とかって一瞬で起動できないと全く使わなくなるよね

 

以前同じようなことをEvernoteでやっていたのですが、Evernoteには結構不満がありました。

ですので、なんか作りました。

これならUSBで持ち運べますし、クラウドストレージ上に置いておけば同期も実現できます。

記録と閲覧が切り離されているので、必要な時以外メモリを食わず、素早い記録を可能とします。

 

私と同じような苦しみを抱えている人がいたら触ってもらいたいし、もっといいもの作って欲しい。

素晴らしいものを作って私にくれ。よろしく。

KmemoとTasker

KmemoとTasker

Kmemo.apkについて
PlayStore
TaskerからKmemoに保存できるようにしました。
Taskerから自動的にメモできるようになったわけです。
また、Kmemoで何かが保存されたときにその通知をTaskerで受け取れるようにしました。

TaskerからKmemoする

Taskerから直接Kmemoを保存する

Tasker > Task > + > なんか入力してチェック > + > Send Intent でインテントを飛ばすtaskを作ります。
下記のように設定して保存します。
Action: mt3hr.com.github.kmemo.SAVE_COMMAND
Cat: Default
Mime Type: text/plain
Data: 空のまま
Package: mt3hr.com.github.kmemo
Class: mt3hr.com.github.kmemo.KmemoReceiver
Target: Broadcast Receiver
最後にExtraの項目を設定します。
Extra: content:内容
Extra: notify:trueまたはfalse(省略可能)

例えば、こんにちはとKmemoに記録して通知に残したい場合は次のようにします。
Extra: content:こんにちは
Extra notify:true

Taskerから内容を入力する

Tasker > Task > + > なんか入力してチェック > + > Send Intent でインテントを飛ばすtaskを作ります。
下記のように設定して保存します。
Action: mt3hr.com.github.kmemo.LAUNCH_COMMAND
Cat: Default
Mime Type: text/plain
Data: 空のまま
Package: mt3hr.com.github.kmemo
Class: mt3hr.com.github.kmemo.KmemoReceiver
Target: Broadcast Receiver
最後にExtraの項目を設定します。
Extra: content:内容(省略可能)

例えば、こんにちはという内容が入力された状態でKmemoを起動したい場合は次のようにします。
Extra: content:こんにちは

Kmemoで記録されたことをTaskerで知る

Tasker > Profile > + > Event > Intent Received でインテントを拾うプロファイルを作ります。
下記のように設定して保存します。
Action: mt3hr.com.github.kmemo.SAVED_KMEMO
Cat: None
Cat: None
Scheme: 空のまま
Mime Type: 空のまま
Priority: Normal

task内での%contentには記録された内容が変数として、%tagsには記録されたタグが配列として収められます。

Kmemo.apk

Kmemo.apk

シンプルなメモアプリを作りました。
タグ付けと全文検索ができます。
PlayStore

どういうものが作りたかったか

  • 即座に記録できる
  • ロック画面からも起動できる
  • ロック画面に残せる
  • 背景が透過されている
  • データのバックアップが容易

f:id:sahara305:20200926104417p:plainf:id:sahara305:20200927044115p:plain

即座に記録できます

このメモアプリは、即座に記録することに特化しています。
アプリを起動して最初に出てくる画面は、メモの記録のみができるシンプルな画面です。
もしも記録したメモを読み込む処理によって、メモするまでの時間が一瞬でも遅れるのだとしたら、嫌じゃないですか。
メモアプリを起動した時、一番最初にやりたいことはなにかと問われたら。
私の場合は、メモを見返すことではなく、メモすることです。
ですので、最初に出てくる画面は記録画面となっています。

ロック画面から起動できます

ロック画面解除しなくてOKです。本当に即座に記録できます。
Androidの設定画面からユーザー補助サービスの項目へといき、Kmemoを有効化します。
これでボリュームダウンキー長押しでKmemoが起動するようになります
画面がついていればロック画面にいても記録できるはずです。
Androidのロック画面のアプリショートカット、アクティビティの起動まではやってくれないみたいです。やってくれたらユーザー補助機能使わなくていいのにね。やってくれ。頼む。)

ロック画面に残せます

記録するときにチェックを入れれば通知としてロック画面に残ります。

背景が透過されています

パイやサブランチャー、ボリュームダウンキーから起動すれば、アプリに重ねてKmemoを起動できます。
なにかページを見ながら記録することができるわけです。
テキストならコピペすればいいけれど、動画とかだとコピペできないじゃん。そういうときに重宝します。
(パイ、私はLMTLauncherを使っています。すごくいい。)

データのバックアップが容易です

Kmemo.apkのデータは、/sdcard/Android/data/mt3hr.com.github.kmemo/files/data/内にあります。
/sdcard/Android/data/mt3hr.com.github.kmemo/files/data/Kmemo.db
/sdcard/Android/data/mt3hr.com.github.kmemo/files/data/Tag.db
上の2つをどっかにコピーすればそれでバックアップ完了です。
上記の位置に配置しなおせば復元されます
楽!

ほか

タグ機能はデフォルトでは有効化されています。
必要であれば設定から無効化できます。
タグの情報をが不要なときは無効化しておいたほうがいいよ。
タグの量が増えてくると体感できるレベルで読み込みが遅くなるから。

設定にも書いてあるけれど、表示のタグ機能を無効化しても今までに記録したタグの情報が消えたりすることはないよ。
だし、表示のタグ機能を無効化したまま、記録時にタグ行機能を使ってタグをつけることもできるよ。
表示されないだけ。だから表示のタグ機能は必要なときだけ有効化するのがいいかもね。

追記: Taskerと連携できるようになりました

シンフォギア

昔々あるところにおじいさんとおばあさんと俺がいました。
おじいさん「&#12381;&#12400;&#12395;&#12356;&#12390;&#21169;&#12414;」
おばあさん「それな笑」
おまえら「」
犬「ぼえ」
おばあさん「ってお~~い!w完」

東方三月精

うんちっちボンバーーー!!!!
ボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボ
ボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボ
ボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボ
ボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボ
ボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボボ
ボボボボボボボボボボボボボボボボボボボボボボボ

読了。

うんちブリリリリリリリブリブリブルブリリリブボボボボボブバボバババババババババーーーーーぁっ!!!
ボアアアアアアアアア!!!!ドカーーーン!!!ドーン!!滅茶苦茶
ブーバーン!!!
あ、「ん」って言った!!!!