Loading

S.F. Info.

S.F.@SFPGMR

2022/1/23 6:18:00

raspberry pi 3 での運用でいま起こっている問題は電源の過負荷よるサービス停止である😅
おそらくUSBのSSDをドライブするのがかなり重荷なのではと勝手に思っている。SSDを止めるわけにはいかないので今日はとりあえず電力の食いそうなbluetoothとwi-fiを無効化した。

2022/1/23 6:30:43

ちょっとこれ矛盾したことやってる可能性もあるけど、USB給電の容量は最大化して、SSDの安定性も図る?ことにした。

2022/1/23 6:31:37

起こっている現象はこれなんだよな。。

ラズパイの電源不足を調べてみました。 | M5Stack沼人の日記

2022/1/23 6:35:32

電流ではなく電圧が不安定ということなのかな。。

2022/1/23 6:36:28

とりあえず今のところは電圧低下エラーは出ていない。 https://t.co/qc1zNRTMJO

2022/1/23 6:37:11

GPIOからの電源供給のほうが安定するとあるな。。

ラズパイの電源不足を調べてみました。 | M5Stack沼人の日記

WebAssemblyWeekly@WasmWeekly

2022/1/23 1:57:31

A personal website as an “OS”, much of which uses WebAssembly dustinbrett.com

Sourcecode: github.com/DustinBrett/da… https://t.co/WLHzMBkW0n

S.F.@SFPGMR

2022/1/9 8:09:14

サイトの再構築に向けて既存コンテンツを調査するコードをとりあえずnode.jsで書き始めた。しかしcopilotはすごいな。ディレクトリを巡回した結果をDBに保管するコードを書いたりしても、sql書いてる途中から全部補完してくれますがな。。楽だ。。以下だとvaluesのパラメータを全部補完してくれる。 https://t.co/BNUe3MhHez

2022/1/9 8:13:12

正直こういう単純で定型的なコードって、内容は頭の中でがっつりできてて、それを指先に伝えて入力するのに時間がかかってそこがもどかしいんだよね。
それが今やエディタが類推して代わりに入力してくれるようになってしまった。うれしいわ。。

2022/1/9 8:13:48

テーブル定義のコードもほぼタブを押すだけでできたもんなあ。。なんと恐ろしいことよ。。

2022/1/9 8:15:52

加齢とともに頭の中ではイメージできても実際体が動かんことが多くなってくる。キータイプにしてもそう。copilotはそういう意味ですごくありがたい。

2022/1/9 10:43:55

copilotすごいなあ。。わしが頭の中を読まれてるようで怖いわ。。「for(」っていれただけでオブジェクト配列をdbにupsertする処理を推測して書いてくれた。。 https://t.co/Fj33B6txff

2022/1/9 10:52:33

コンテンツの分析的な作業の中でやってみたいと思ってるのはword2vecとdoc2vecなんだよな。これ使うとコンテンツ同士がどの程度関連しているのかとか、キーワードによる分類とか、関連記事へのリンク追加とか簡単にできるもんな。過去にやろうとしてたかもだけどどこまでやってたか忘れたな。

2022/1/9 10:54:23

いうてもNLPほとんどわかってないんだけど、使うことくらいならなんとかできそうなんでね。。

2022/1/9 18:37:28

とりあえずSQLite DBに情報をぶち込む。単独のHTMLコンテンツは341個か。。これにあとブログデータもあるんでこれを突っ込むとどれくらいになるかですな。しかしSQLiteは便利ですなあ。。htmlからのtitle/h1/meta descriptionの抜き出し自体はpuppeteerでやってる。 https://t.co/3YVbgeZImx

2022/1/9 18:40:38

このHTMLも説明文らしきものはほぼ皆無なんだよね😅
説明や進捗自体はブログで書いて、そこにインラインフレームもしくはリンクでコンテンツにつなぐってポリシーでやってたもんでね。まあでもコンテンツURLからブログ記事を逆にたどれば説明も取り出して格納できるわなあ。。

2022/1/10 7:54:09

doc2vec/word2vecをやる前にmecabで単語に分解しないといけないんだった。mecab-asyncっていうラッパーがあるんでこれでやってみようと思う。辞書はipadic-neologdでやるのがいいのかな。

mecab-async - npm
Asynchronous japanese morphological analyzer using MeCab.

2022/1/10 8:01:43

ブログを含めたコンテンツの総数は4255個であった。
こりゃ手作業でこれはこのページと関係性あるなあいや違う・・とかやってられませんわな😅
しかしほとんど死んでるコンテンツであるが20年くらいやってるとこれくらい溜まるのか。。過去のコンテンツはまだいくつかローカルPCにたまってるし。 https://t.co/2esaKJ5B8l

2022/1/10 8:02:38

IE4とかIE5くらいの時代のコンテンツでもはや今の時代では正常に表示することは不可能かもしれんのだが。

2022/1/10 8:24:53

それも何らかの手段で復活させたいのだが。I

2022/1/10 8:48:07

mecab + neologdでとりあえず分かち書きできるようになったな。 https://t.co/fd6kXdiaDv

2022/1/10 8:48:54

過去にリポジトリクローンした痕跡あるから、なんか同じことをやろうとしてたのかもしれんが、あんまり記憶にないな😅

2022/1/10 8:50:41

この先、word2vec/doc2vecに話になるとgensimっていうpythonのライブラリ使ってやるという情報がそれこそ山のように出てくるんだけど、たとえばnode.jsでそれできないのかなって思う。word2vecって確かCだかC++だかでの実装があったような気もするのだが。

2022/1/10 8:51:22

Pythonも別に使うのコストかかるわけではないんで、素直に情報に従って使えばいいんだけどね。ここからはそうしようかな。

2022/1/10 10:31:17

分かち書きがとりあえずできた。 https://t.co/CDTx6QQpq7

2022/1/10 13:48:41

しかしneologdの辞書ってなんとなく2020年9月から更新が途絶えた感じがしないでもないが、ググっても停止した、しているという情報もないのよね。。

Commits · neologd/mecab-ipadic-neologd · GitHub
Neologism dictionary based on the language resources on the Web for mecab-ipadic - Commits · neologd/mecab-ipadic-neologd

2022/1/10 14:30:52

さてここからはpythonでやってみるかな。

2022/1/10 15:18:15

dbから学習データを抜き出して、学習し、モデルデータを作成するコードを書いて実行。モデルデータはなんとかできた。さてこれで類似度の判定ができますかな。。 https://t.co/guAkbsh2IG

2022/1/10 15:19:45

私そんなにPython詳しくない(どの言語もそうだが)んだけど、copilotが補完してくれるおかげですんなり書けましたわ。。

2022/1/10 16:48:23

モデルができたのでそれ使って、各コンテンツに対して類似度の高いコンテンツ(most_similar)を求めてみた。idは各コンテンツに振った連番。gensimで求めるとコンテンツのIDとともに、類似度の高いコンテンツ上位10個を返してくれるんですわな。 https://t.co/uZPV2TVkd0

2022/1/10 16:52:55

類似度を求めてDBに入れるコードはこれ。こんな簡単に求められていいのかって感じだけど、doc2vecの前身であるword2vecはこの利用時のわかりやすさ(理屈の詳細は難しいけども)で出現当時かなりのインパクトがあったらしいんだな。 https://t.co/4JQSXJplUy

2022/1/10 16:55:48

理屈的には多次元のベクトルの内積で成分を求めるっていう考え方の延長線なんだろうなあ・・っておぼろげにはそういう感じがするんだけど。そのベクトル化ってのをどうやってるのかはさっぱりわからんというわけですな。

2022/1/10 16:57:40

ここまでできるとあとはもうSQLのクエリでそれぞれのコンテンツに類似しているコンテンツ一覧を得るのはたやすいですわな。実際類似してるのかどうかはちょっと一覧をみてみないとねえ。。

2022/1/11 17:57:54

Svelteを勉強がてら、doc2vecで類似コンテンツを検出した結果を一覧で見れるページを作った。一応ページングできるようしてみた。SvelteはなんかRiot.jsを彷彿とさせるものがありますな。Vueっぽいところもあるのでは。

sfpgmr.net/sandbox/new-si…

2022/1/11 18:00:46

肝心の結果はなんとも微妙なものた。4500ページの類似コンテンツを10個列挙したので45000行にもなってしまった。そして類似してるようなしてないような。。リンクの有無とか更新時期とかも加味して求めたほうが精度は高くなると思うけども。
sfpgmr.net/sandbox/new-si… https://t.co/JvBXJg3RXE

2022/1/11 18:03:02

コンテンツに対して、類似コンテンツを類似度の高い順に10個表示するようにしてみた。関連してる感じだだけど意味的に近いかというとそういう感じがするものもあればしないものもあるという。

2022/1/11 18:04:09

ただ言えるのはこんな長大なリスト見てあーでもない、こーでもないってのはとてもじゃないが私のようなヘタレではできんですわ😢

2022/1/11 18:31:53

コンテンツを見ていくとやはり過渡期の技術を使ってたりする部分が動かなくなってたりとかもしてる。またthree.jsを使ってるものとかはAPIが結構変わるのでバージョン固定しておかんとヤバイ。しかし作るときはそんなこと考えずにやってるから始末が悪い。

2022/1/11 18:34:46

しかしこのsvelteは良いですな。いやーこれでちょっとUI付きのコンテンツ作りが楽になりそうですわ。チュートリアルも丁寧だし、WebによるREPL環境もあるからすぐ動かして確かめることができるしなあ。

Svelte • サイバネティクスで強化されたWebアプリ

2022/1/11 18:40:00

ひぃぃ。three.jsもちょっと見ないうちにr136になってますがな。。 https://t.co/xfBzE2k4lD

2022/1/11 18:45:39

しかしブログの記事も「今日は眠い。。」とか1行しか書いてないのも過去のものを見ると多いなあ。。そういうのバサって消そうかなと思うんだけど、なんか年月を経てそういうの見るとなんかなつかしさを感じたりするんですな。なので残しとこうかなとも思う。

2022/1/12 7:03:22

考えるとブログはJSON-LDでメタデータを埋め込んでるのだから、その情報も加味したりとか、リンク情報も含めると類似性の検出精度を高めることができるよなあ。。

2022/1/13 19:56:48

コンテンツの分析とか分類へのチャレンジも進めるけど、今ちょっとsvelte kitがすごくいいなあって思ってて、これでサイトのリニューアルも進めようと思う。いやこれいいですわ。ちょっとReactとかVueとかほんの少しだけいじったけど性に合わなかったんだけど、これはいけそうな気がした。

2022/1/13 19:58:46

React/Vue/AngularやRiotもすごく良いものだけどね。好み的にSvelteがいいってだけ。

2022/1/14 19:52:31

コンテンツの類似度の検出はさらにTwitterのデータも加えてやってみようと思っている。

2022/1/14 19:56:14

そしてコンテンツもPuppeteerに食わせてDOMかつCSSセレクタでいじくれるのだから、a/img/scriptのURLでもコンテンツ間の結びつきは測れるっていうか、そもそもハイパーリンクを見ないのはそもそもおかしいわな。コンテンツ間の関係をそもそも表すものだからね。

2022/1/14 19:59:03

HTMLがそもそももつセマンティクスなところも有効活用せんといかんというわけですな。

2022/1/14 20:00:47

そして分析で得られた情報をもとにコンテンツをsvelte kitで再構築して見えるようにすると。これで具体化への道筋が固まったな。できるんかいな😢

2022/1/15 11:54:08

ようやくA/IMG/SCRIPTのURLパラメータを取得できましたわ。2万個近くあるのか。。でも重複も多いだろうな。。 https://t.co/qXJUcwlUPk

2022/1/15 17:00:50

ページにインクルードしているthree.jsの一覧。three.jsで遊んでたのもr102くらいのころか。いやしかしlatestバージョンもあるからちょっとわからんなあ。 https://t.co/0kT3i8KsXM

2022/1/15 17:04:50

これ先ほどのサマリのSQLだけど、これもまあcopilotがselect urlって入れたあたりで残りの構文がサジェストされはじめるんだよね。思ってたスニペット候補も多いけど、違ってることも多いんで邪魔に感じることもあることはある。しかしgroup byあたりからは自分では入力していない。 https://t.co/SMc6kaf97b

2022/1/15 17:07:50

copilotが提示するコードの確かさを自分で確認できないとダメなんで、知識なくてもコードが書けるってもんでもないんだよね。あくまでコード補完のかしこい版って感じですな。しかしこれは入力がとてつもなく楽になるわ。。

2022/1/19 5:52:17

データの取得と補正に甘いところがあり、何度も取り込みなおし、補正コードを入れてデータ確認を繰り返してるところ。かなり良くなってきた。補正って何?っていうと、URLが/で終わってるところはindex.htmlを足すとか、そういうの。等価なものを等価と判断するために補正が必要なんですな。

2022/1/19 5:53:57

NLPに関する知識も頭に入れておかんとなあ。。

はじめての自然言語処理 類似文書検索の手法と精度比較 | オブジェクトの広場
各種の類似文書検索手法について精度比較試験をした実験結果を紹介します。

2022/1/20 18:00:01

コンテンツの分析?と並行して、svelte kitの勉強もしている。まあこれコンテンツの分析だけずっとやってるのは趣味とはいえちとつらいので、svelte kitの勉強を挟むことで緩和しようという😅

2022/1/20 18:01:16

分析のツールやコードと、svelte kitが作ってくれるフォルダを今日マージしたところ。まだまだ先は長い。。

2022/1/20 18:54:21

なるほどぉ。。jxckさんがAMPをやめたのは Non AMP SXG による Prefetch 対応をしたからなのか。AMPやめることによるデメリットも最小化してからやめてるんだなあ。。さすがとしかいいようがない。

blog.jxck.io
Web Technology Blog by Jxck

2022/1/21 6:59:11

svelte kit面白いなあ。。まだまださわりではあるのだが。。今どきのはこんななのかと驚きばかり。2-3年触れないでいたらこんなに変化というか進化するんだなあ。。

2022/1/22 8:31:56

ひさしぶりにsass/cssをいじってページのレイアウトを考えているところ。css gridとか内容すっかり忘れてますわ。。 https://t.co/I0SHYqolXY

Seamless@shiropen2

2022/1/21 11:08:22

青と黄を混ぜると「きちんと」緑色になるお絵かきデジタルツール 油絵や水彩画などのデジタル再現に活用 levtech.jp/media/article/… PhotoshopやProcreate等では青と黄を混ぜると灰色になる。緑になる絵具式にしたのが本手法でRGB入力/出力を可能にし既存ソフト(Rebelle等)に組み込める。RGB全色域対応 https://t.co/P2KmzMGZNP

Aki@AkiDebukatsu

2022/1/20 12:00:56

もういい加減やめてほしい、給料を上げるためには職位を上げてピープルマネジメントをしなきゃいけないゲーム。適性のない上司が誕生したってお互い不幸でしょう。やりたい人にだけやらせてあげて。やりたくない人にも結果残したら給料あげて。

S.F.@SFPGMR

2022/1/20 7:43:07

これすごいなあ。。

Plask
Plask is a browser-based AI motion capture tool and animation editor. With any camera, creators can digitize their movements, automate animation work, collaborate with colleagues, and export them all on one platform.
https://t.co/rHET9QrEd2

Cityscape Studio/都市モデラーMAJIRI@Cityscape_Std

2022/1/19 17:38:05

信号機が完成しました! https://t.co/Wc4M7XfHvm

Simon Plenderleith@simonplend

2022/1/19 22:11:03

If you want to deep clone a value in @nodejs, you no longer need to use a library or the `JSON.parse(JSON.stringify(value))` hack.

You can use the new global function `structuredClone()`

‣ Added: v17.0.0
‣ Also available in Deno, Firefox 94 + Chrome 98 https://t.co/aSyIRwdYBb

レトロゲーム好きの人@HQ3ABFpTDinbQjo

2022/1/18 19:22:31

今はなきデータイーストの会社案内。
(1990年) https://t.co/cL6KPPiK6v

Alon Zakai@kripken

2022/1/20 1:47:08

Ruby's Wasm/WASI port just landed! github.com/ruby/ruby/pull… Really cool to see Asyncify used for things like this 🎉