2021-04-11

今朝はReactNative for Macをいじっていた。別ページに分けよう。

ReactNative for macOSを触ってみた雑感

結論としては、当面はElectronでいいかな、という気分になった。ただ用途によってはReact Native for macOSもアリかな、とは思った。

ふと、このブログのpostのmdをTeFWikiのフォルダにハードリンクを貼ってみたら、編集出来た! おお、ハードリンク(・∀・)イイネ!!

いつも自分の日記のファイル開くの面倒だなぁ、と思ってたんだよな。今後はWikiから編集しよう。

TeFWikiは使ってみると手応えを感じるな。ちゃんとアイコン書いてちゃんとリリースしよう。

少しAndroid版を作ろうかと思ってGoogle Drive周辺をいじっているが、いろいろ面倒だなぁ。 ローカルに保存してsyncする方が断然良いよなぁ。 という事で、Play: AutoSync for GoogleDriveは割と素直な動きをしているので、ローカルのディレクトリにテキストファイルでWikiを作るアプリを作ろう。

いい機会なので少しStorageAccessFrameworkをつついていると、最初の導入のドキュメントが明らかに間違っていて、DocmentsContractとかを手で呼ばないと動かない。 うーん、と思っていたら、androidxのDocumentFileは割と期待通りの動作をしていて、 これなら使ってやろう、という気分になった。

夜はしばらくjetbrainのmarkdownパーサーと格闘。パラグラフのgeneratorをオーバーライドしてwikilink対応は出来そうかな。

2021-04-12

ヨドからUSB-C microUSB変換アダプタが届いたので、長い事放置していた、以前端末クラッシュ時にバックアップだけになった「いつなに」からcsvデータをサルベージする。 「いつなに」、アイコン描くのが面倒でアプリは公開してないが、割と便利なんだよな。 エクスポートをつけたいと思いつつはや二年。端末がクラッシュした時だけ困る。

ついでに、てきすとでっき、のいらないメモを手動でarchiveフォルダのテキストファイルに移していく。 このローテク感が良い。 割と雑に作ったElectron版のてきすとでっきも、作ってみると結構便利だな。 PC用のアプリってやっぱ要るよなぁ。 どうでもいい事はtwitterじゃなくててきすとでっきにつぶやく事に成功している。ヨドから荷物届いた、とか。

この日記はTeFWikiで書いているんだが、スクロールした下にもEditボタンが欲しいな。上までスクロールで戻るの面倒。 そもそもtextareaって長いの書くのにいまいちだよな。MDMinaosiみたいにパラグラフ単位で編集出来る方がいいんだが、 あれはパラグラフを統合したり削除したりするのがやりにくいんだよなぁ。

花粉はもうたまにちょっと感じる程度なんだが、アイボンが余ってるのでアイボンしている。 アイボンは手間はかかるがスッキリはするので、シャワー浴びるのと同じような気分転換枠になってる気もする。

夜はちょっとjetbrainのパーサーをWIkiLinkにするのにチャレンジ。 PARAGRAPHジェネレータで子供を見て処理しようとしたら、素の奴はうまく行ったがリストの中ではうまく行かない。 リストの中はGFMはチェックボックスとかでかなり特殊な処理が入っていて、うまい事差し替えるのが難しい。 うーん、パーサーで差し替えられる方が嬉しいよなぁ。 明日はパーサーを調べてみよう。

2021-04-13

仕事で作ってるものが、ちょうどギリギリ今のハードウェアで使い物になりそうなラインを攻めていて、なかなか楽しい。 今回の仕事、自分はやるべき事はやっている感じがするな。これで勝てなかったらしゃーない。

夕方から夜にかけてはAndroid版のTeFWikの続き。パーサーは結局wikilinkをちゃんと扱うパーサーを追加するだけでいい感じに出来た。 良く出来ているなぁ、jetbrainのmarkdownパーサー。

Markdownの表示はwebviewにするかTextViewにするか迷ったが、 Html.fromHtmlではリンクをハンドルするのが思ったよりかったるく、webviewだとgetElementByIdとかが使えないので細かい処理が面倒、というどっちもいまいちという感じに。 なんかこのリンクたどるのかったるい、は何度かやった記憶が蘇ってきたな。TagHandlerでカスタムなスパンぶら下げるんだっけ。だるい。

結局全htmlをテキスト処理で作ってwebviewのloadDataする、というやる気無いソリューションで行く事に。 リンク辿るのが一瞬引っかかる事になりそうだが、まぁいいや。

表示してリンクをたどるのがなんとなく動いた所でgit initをする。 これまで実装した事無いような部分の実装はすべて終わったので、あとはやれば出来そう。 結構いいんじゃないかな?これ。

2021-04-14

Modern Design Componentのカタログアプリを動かしたりしてみる。MDC、動画とかはたまに見ていたが。

いろいろおもしろいが、今回のアプリではDrawerくらいかなぁ、そしてDrawerはMDCには入ってない。 しかもDrawer Layout、Navigation Componentがゴミで、これと抱き合わせようとした解説しか公式文書に無いので使いにくかったりする。 こういうの見るとGoogle分割しないとどうにもならんな、という気分になるよなぁ。

今回のアプリでは出番は無いが結構面白いUIパーツが多いので、MDCは使っていこうという気分にはなった。 Jetpack Commposeが正式リリースされたら組み合わせてだいぶいい感じになりそうだな。

TeFWikiは何故素晴らしいのか?

TeFWiki、使う気無く作ったのだけれど、出来てみるとめっちゃ良くて、使いまくっている。

エディタでローカルのWIkiみたいなのは昔良く使っていて、たしかに便利ではあったのだが、今回は明らかにそれらと違う。どこが違うのか考えてみる。

まず、エディタじゃない、というのが大きい気がする。画面がおしゃれ感があるというのもあるけれど、 それよりも見やすさが重要なんじゃないか。 プレーンテキストよりも明らかに見やすい。 それは普段がビューモードでちゃんとHtmlとしてレンダリングされているからだよな。 キーボードじゃなくてタッチパッドでブラウズするのが気分いいんだよね。 あと、外部リンクは普通にブラウザが開き、これも便利だ。 ローカルで使うWikiでも、ちゃんとmarkdownをパースしてWebViewで表示するのが大切だった。 これは今回使ってみるまで予想外だった事だ。

見た目がなんか良い、という点では、bulma.cssを使ったのも結構大きい気がする。 これがいつものやる気無い見た目じゃなくすので、なんか「おっ?」って気分になるんだよな。 大した事はしてないんだが。 書くよりも見る方が重視されているので、見るのが快適で、なんども見る。 その結果、なんか書きたくなるんだよな。

もうひとつ思うのは、ローカルのマークダウンのプレーンテキストファイルのみでメタデータ無し、というのが良い。 Google Driveにプレーンテキストなので、これまでのテキストファイルのメモと同じものだ、と心が認識するんだよな。 webのリンクとかを保存していくのに違和感が無い。 だから使い始めると突然馴染む感じがあって、どんどんメモが増えていく。

最後に、普通にローカルのWikiという物が便利だったというのを忘れていた、というのもある気がする。 テキストファイルでまぁいいか、と思っていたが、良くなかった。 ローカルのテキストファイルだとメモが増えてくると邪魔になるのだが、 Wikiだとトピックごとにページを分けていけば目に入る物は限定されるので、これまでよりもどんどん増やしていって問題無い。 だからそんなに重要でないStack Overflowのリンクとかもガンガン残すようになり、これが良い。

Android版はまだ作り始めで編集が動いていないが、なんかこれもかなり良い物になりそうな気がする。 作ってみると結構Android力を要求されるものになっていて、これはあまり他の人はつくらないかも知れないな、という気分になった。

一瞬100円くらいで売ってもいいんじゃないか?と思ったが、去年今年と仕事してて別に金には困ってないし、 無料で広める方がいいか、と思ったので無料にするつもりだが、そのくらい手応えを感じる。 これ、ちゃんと宣伝すれば結構ヒットするんじゃないか? 完成したら英語圏に宣伝してみようかなぁ。

夜はDrawer周りと格闘

システムがダークテーマになった時の挙動が気に食わないが、MODE_NIGHT_NOでお茶を濁す。まぁいい。 Material Design Component周りはちょっと理解が深まった。 ドキュメントやサンプルは腐っているが、デザインはなかなかおしゃれで良いな。

TeFWikiのAndroid版、まぁまぁ動いてきたな。

2021-04-15

仕事が面倒な関数の実装が必要になったので、明日の自分に期待すべく早めに切り上げてスパ銭へ。 途中から天気がよくなってきたのでツーリングに行っても良いかと思ったが、少し花粉を感じるので無理せず予定通りスパ銭から帰ってTeFWikiの続き作る。

Material Design Componentはいろいろ落とし穴が多いが、頑張ればやりたい事は一通り出来るな。 内部の解説がなさすぎるんだよなぁ。Stack Overflowでみんな試行錯誤してる感じが酷い。 ただ出来上がったUIはまぁまぁいい感じだ。

あとはヒストリバックと設定画面作って、アイコンを書けば最初のバージョンは完成かな。

よし、ヒストリバック完成!

おお、あかさがBOOX Note3買ってる!

なんか自分の周りのBOOX購入率がやけに高いのは、全部自分の功績なんじゃないか? いや、いいデバイスですよね、これ。

一通り必要な実装も終えて、見た目の調整もまぁまぁやる。あとはアイコンと設定画面周りくらいだが、こういうやればできる奴はやる気が出ないんだよなぁ。 しばらく使ってみて良いかどうか判断しよう。 結構よさげに見えるが、本当に良いかは使ってみないと分からないからなぁ。

こういう時に仕事と趣味のコードが両方あるのはいいよな。仕事が詰まったら趣味コードを書き、趣味コードが詰まったら仕事コードを書く。うんうん。

2021-04-16

Mastodonの入り浸ってたサーバーがサービス終了して、twitterを見ている時間が増えている気がする。 良くないな、と思ってRSSリーダーを開いたら未読が150件くらいあってうわってなった。 そういえば最近開いてなかったっけ? という事で読む気が無いのを既読にしていたら40件くらいになった。 この作業は完全に無駄ではあるが、twitterを見ているよりはマシでもある。

最近将棋は無事再開出来てて、なかなか楽しめている。twitterやってるよりは有意義だな。

夕方から頭痛がする。気圧っぽい。寝てれば平気なので無理せずゴロゴロしながらなろうでも読む。

今日はなんか目がかゆいなぁ、と思っていたところ、夜になって我慢ならなくなってっくる。 どういう事?と思って花粉情報とか見ても異常事態がおきてる風でも無い。 うーん、と思って、ふと、これってひょっとして、フィルタの交換時期なんじゃないか? と思って以前買った花粉用フィルタを交換してみた。>治まったヽ(´ー`)ノ

追記: 翌日やはり目のかゆみが出る。なんか飛んでる模様。

2021-04-17

リロード用のアイコンをマテリアルデザインのアイコンライブラリから持ってくると、ActionBarに使った時に色が黒になってしまう。 tint colorが効いていないっぽいが、なんでだ?と調べて以下のStackOverlowに行きつく。

MenuItem tinting on AppCompat Toolbar

ハードコードされた特定のリソースだけtintカラーを有効にしているらしい。酷くね? 見た目が似ているic_menu_rotateで代用(酷い解決策)

startActivityForResultがdeprecatedだ、とか言われて、新しいAPIの説明を読むなど。

ガイド: Getting a result from an activity

Activity Result APIというのが追加されたのね。

ライセンス周りの表示をつける。

参考にしようと最近の大手のアプリはどんな表示にしてるのかしら?と見てみようとしたが、 GMailもFacebookもAmazonもどこから行けるのか分からなかった…いいのか? まぁ自分はプラグインでgradleのライセンス集めた物に手動でbulmaのを足してAlertDialogで表示するという昔のコードを持ってきて対応しておこう。

アプリ側の作業は完成。 あとはスクリーンショットを取ったり解説を書いたり、だな。 その辺の作業の気力がわかないので、ひとまずここまでとしよう。

TeFWikiと合わせて使えるいいかんじのmdをバックエンドにしたアプリ無いかなぁ、と探していて、Markorというのを少し試したが、SAFに対応してない。うーん。イマドキこれは無いなぁ。 個人的には共通のmdをバックエンドにいろんなビューとして振る舞うアプリが組み合わせられると素敵だと思うんだが。

2021-04-18

TeFWikiのリリースに向けて、ちょっとどういうものかをちゃんと解説を書く事にする。 今回は英語でも長い説明を用意しようと思うのだけれど、 その前に何を書くかを考える意味でも日本語で解説を書いてみている。

TeFWiki、今の所、

  • PCでメモを書いていく環境
  • それをスマホで見る環境

としては極めて完成度の高いシステムになっていると思うのだが、スマホでメモを書くシステムとしてはまだまだかなぁ、という感じ。 PCのメモ環境として素晴らしいので現時点でもなかなかのイノベーションだとは思うけれど、 スマホでのメモとしてもバリバリ使えるようになると最高やね。

以前作ったがPlay公開まではしてなかった音声メモアプリ、「いつなに」を、TeFWikiの上にデータを吐くように変更。 サーチやeditのUIも不要になったので削除。いつかは作らなきゃと思っていたexportも要らなくなって、すごいシンプルなアプリに。 これは正しい事をしている感じがあるね。

これまでのアプリはDatabase Inspectorで表示してコピペしたらtsvが得られたので、それだけGoogle Driveに保存しておいてそのうちどうにかする、という事に。

そのあとTeFWikiの宣伝文を書いていたら、唐突に目がめっちゃかゆくなる。 なんかホコリが目に入った感じで、花粉のようにパチパチは弾けてない気がするが、なんだこれ?

なんなのかは分からずに途方にくれていたが、ゴーグルで防げる事が分かったのでゴーグルしていたら無事収まる。 捨てないで良かった。でもなんなんだろう?

TeFWikiの宣伝文を書くのに、grammarlyを使ってみた。なかなかいいね。 納得感が強い修正が多くて余計なことはあまり言ってこない。けれど指摘は多い。賢い。 もうWritingも自習出来そうだな。

2021-04-19

なんだか良く分からん目のかゆみはだいぶおさまった。少し異物感はあるが、やはり昨日は何か特別だった模様。 なんだったんだ。

TeFWikiを宣伝しようかとredditとかHacker Newsとかを眺めてみているが、どちらもあまりコメントがつかずに流れるのが大半だなぁ。 やはりこういうのを見てもらうのは難しいか。 Wiki好きの所にそっと流すくらいがせいぜいかねぇ。

我らがよしぞうが、よしぞうのプログラミングメモなんてものを始めた。 おぉ、これもまた現代のwebの発信に対する試行錯誤感があって良いね。

これを見てたらやっぱプログラム言語のシンタックスハイライトは欲しいな、と思い直して、Android版も実装してみる。 実装は何も考えずにhighlight.jsをwebviewで実行する、というやる気ない解決策にした。 速度的にもコードが無いページなら気にならないし、コードがあるページならちょっとまってもいいか、という気になるし、見た目も結構華やかなのでこれでいい気がしてきた。

いつか良いkotlin実装が出てきたら乗り換えよう。

>言語してないのもカラーリングしてしまって解除が面倒なのでPrismJSに乗り換え。

技術的なWiki

よしぞうのプログラミングメモを見ていると、プログラムに関する蓄積をこうやってWikiで公開するってのは面白さはあるな、と思う。 ただ一方で更新しても分からないので、継続的に見る方法が無いよなぁ。 昔はWikiは良く手動で巡回していた訳で、それで良いかもしれないが。

Androidの公式ドキュメントってあんまり出来が良くないので、こういうWikiでAndroid関連の自分がハマった所とかを蓄積していったら結構良い物になる気はする。 でもそれを自分が公開したいのか?と言われるとちょっと微妙だな。

kotlinとかAndroidのAPIとか、もっと発信しても良い気はするのだけれど。

関係ないけどこうやって皆が試行錯誤してポストSNS時代を目指すの、ちょっといいね。刺激になる。