2023/02/09
第6週: 日月火水木金土
2023年 10.96%経過
並列日記 2023/02/09 Four Corners
Twitter、無料API終了
inajob.icon
inlineに井戸端のタイトルを全部突っ込んでみる(ローカルテスト)
https://gyazo.com/c20f42c4b04598a086bc3347b05af38f
15000ページくらいなら全然重くならないな
補完されるだけで特に今のところ意味はない
inlineは好きに作れるのでブラケティングの機能をどうすればもっと使いやすくなるか考えたい
[誤った二分法], [/nishio/誤った二分法] みたいに同じキーワードだがプロジェクトが違うみたいなのをなんとかしたい
prefixなしで記載して、クリック時にどれか選ばせるのはどうか?
しかし特定のプロジェクトのページに言及したいこともあるよなぁ
選択範囲に似ているリンクを入力補完するUserScriptでは、アイコンでまとめることで対処しました。参考までにtakker.icon
https://gyazo.com/aa8e895eaab8ff101340472775914a09
おもしろいinajob.icon
まだ使ってないのでまずは入れてみるか・・
使っていたけど設定をしてないだけか
/takker/選択範囲に似ているリンクを入力補完するUserScript#630ba6711280f00000b0c7fc の簡単な使い方で導入している場合は設定はどうやるのだろう?
/takker/for-any-project#630ba6401280f00000b0c7f2が参考になりそうだが、、tsxって直接importできるの?
これも https://scrapbox-bundler.vercel.app/ でビルドする必要があるという理解
あ、このページの上の方にこれをビルドするボタンがあった。なるほど
タイトル付き外部リンクをキーワードとして扱いたい
もしかしたらURLの方をキーワードとしたほうが良いかも
Twitterの様子がおかしい
最近はいつもおかしい
計算資源が許すならをみていて、ちょっと手元に和音が鳴らせるデバイスを・・と思ったときはInstaChordよりRakuChordのほうがコンパクトで良かった
頑張っていこうと思った
最新版は手紙サイズで薄い
筋トレ
腹筋20、腕立て伏せ20
はるひ.icon
Inline、おれでも見られることが判明(いまさら
ちょっと苦手かもしれない人の頼みを断れなくて、そわそわする、、、
ご飯を奢ってくれるというけど一緒にご飯食べたくねえw
水までならアリだな。一緒に水飲もう
俺の奢りだ!(水)基素.icon
これ奢ってw nishio.icon
https://togetter.com/li/1954157
リキッドデス、価格はむしろ安いほうだときいたはるひ.icon
CMソングが草基素.icon
Dynamic DocumentsことPotluckおもしろい、最高
Pogostuckに見えたmtane0412.icon
タスク管理の変遷語り | annotated by Haruhi
新着情報: 放流しても魚は増えない~放流は河川の魚類群集に長期的な悪影響をもたらすことを解明~(地球環境科学研究院 助教 先崎理之)
マジか、まあ言われてみるとそうかあ
#放流
ゼルダ:パネキットじゃん
破壊的に面白そう
ピクミン:この10年何してたんだ?
「犬に乗せてもらう」「氷ピクミンで凍らせる」何も新しい遊びに見えない
まあ10年振りだからこそ改めてピクミンという遊びの基礎を紹介するPVになったのかな
Mijikko.icon
プログラミング力って細かいテクニックの集合体なんだなーってことを実感している
コードを短くわかりやすくするには、色々と気をつけないといけないことや知っておかないといけないロジックが多い
(どんどん肥大化していくbundle後ソースコードの音)
version違いの同じpackageを重複してbundleしたりしてません?takker.icon
deno infoで確認できる
depsでまとめてあるのでそれは無いはずですMijikko.icon
プロジェクト名・ページ名・ファイル名とソースコードを渡せば、そのコードでコードブロックの中身を上書きしてくれるやつを作った
https://gyazo.com/3a8d11b8ea5b326ac0c24a783b73ca46
api/code/:projectname/:pagetitle/:filenameで取得できるコードファイルを書き換えたい時に使える
基本的には、同じページに同名のコードブロックが複数存在しない前提で使うべきだけど、一応コードブロックが分かれていても使える
https://gyazo.com/bb5c34ab8c812eda58167633efa05ea0
すごいtakker.icon
やったぜMijikko.icon
(右側にそびえ立つクソデカbundleコードの影)
でもdiffの気分次第で想像とは違うコードの分け方がされる可能性があるので、この状態での使用はあんまり推奨できないと思う
でも、更新処理を担っているファイル単体で8.29KBもあるので、リファクタリングしないといけない
これとは別にあるコードブロックの取得用ファイルは5.32KBで、これも重たい
ファイルを分けられるなら分けたいけれど、これの大本が他人のリポジトリなので…
分けてファイルサイズが減るかなあtakker.icon
単体あたりのファイルサイズを減らせればまだいいかなって()Mijikko.icon
あ、bundle後のファイルではなく、元の.tsファイル方っす
bundle後のファイルは11.8KBあります
どこが容量を食っているのだろうか
scrapbox-parserはminifyしてもそこそこ大きい
onpはそんなに大きくない
依存関係で言うと、websocket関係が大きかった記憶Mijikko.icon
ページ内のコードブロックを取得するファイルと、コードブロックの中身を書き換えるファイルの2つで構成されています
処理の内容としては、
コードブロックを取得するファイル(5.32kB)
行データ(BaseLine[]オブジェクト)を読み取り、コードブロックかどうかを正規表現で判別する
ここの処理をparserに回すべきだったかもしれないけれど、回してもそんなに変わらない(もしくは冗長になる)気がした
正直scrapbox-parserの使い方(と言うより、ここから得られるデータでどうやってコードブロックを抽出するのか)がよくわからなかった
コードタイトルは判別してくれるけれど、その下のコードブロックは判別してくれないように見えた
コードブロックだったなら、タイトル行を解析し、コードブロックの中身と共に保存する
ただし、あらかじめ指定したフィルター(ファイル名などで絞り込める)に合致しなかった場合は、保存せずにスルーする
あくまで「コードブロックごと」なので、同じファイル名でも、分かれていれば違うコードブロックとして扱う
コードブロックの中身を書き換えるファイル(8.29kB)
上のファイルを使用して、ページ内の全てのコードブロックを取得する
上書き対象のコードブロックが無かった場合は、新しいコードブロックを作るためにpushCommit()に投げるcommitsを1から作成する
上書き対象のコードブロックがあった場合
一度、コードブロックの中身を全部抽出する
その際、Scrapbox上のインデントに使用されている空白は邪魔なので一旦削除する
diffToChanges()で、差分に対応したcommitを生成してもらう
差分commitを、各コードブロックへ再配置できるように修正する
InsertCommitの行IDの修正
前の処理で削除したインデントを修復
commitをpushCommit()で送信
各コードブロックごとに書き換えるやつはこれから作る
基素.icon
LLMは世界を変えそうだけどVRは変えるだろうか?と考えている
/motoso/雑想 2023/02/08 VRの価値
後で井戸端に開くかも
VR上で人間と身体を持ったAIが関わり合えるともっとすごいAIができると思っているyosider.icon
人間を再現する基礎技術が揃いつつある基素.icon
LLMで知識を持った人っぽく振る舞えそう
キャラクターもある程度固定化できそう
ゲームの人たちはNPCにこう言うの使いたそう(予想)
合成音声も発達しつつある
モーション生成も発展してる
動画からモーションを作れる
と言うことは、動画を学習データにしてモーションデータを大量に作れる
モーションデータが大量にあればいい感じのモーションを生成できそう
タグづけ問題
AIと関わり合わなくても、VRで生活する人が増えると行動データが全部取れるのでなんかできそう基素.icon
昔のホロレンズかなんかのイメージ映像で、VRHMD被ってデジタルツインの世界にいる人とMRグラスをかけたリアルの人とが場所ごと同期されてコミュニケーションをとれるというのを見た時はこれだと思ったはるひ.icon
相互に同期は欲しいかも基素.icon
誰でもわかるコード進行講座:基本編をちびちび見ている
インスタコードで使っていたオンコード(知らないまま使ってた)と転回系(理屈)が結びついた
biwa.icon
1ヶ月くらいかけてうつ状態に入り脱却してきた感がある
写真の記録とか見てるとそんな感じだった
自分の部屋を毎日撮ってScrapboxにあげるやつを作るぞ
ぼざろの原作を読みながら、4コマ漫画ってなんだっけという気持ちになっている
割とストーリー漫画的なコマ割りがあって(特にライブ中)、やはり4コママンガで勢いを表現するには限界があるのかと言う気持ちになっている
あると思う基素.icon
一方で、4コマ漫画という制限の中で、いかに勢いあるコマを表現するのかが醍醐味だとも思っていたので、うーん
こういう意見はだいぶうるさいオタクの意見だと思っていて、作者は多分だけど何も考えていない気がする
し、別に作品の良し悪しには関係ない部分なので、正直どうでも良くはある
4コマ漫画としての面白さと、作品の面白さは別だというのを感じた
前者はメタ的な面白さかも
ぼざろのアニメの続きを漫画で読んで、変な声出てしまった。最高。
気になるな、自分も読んでみようかな(アニメは見た並感)dokudami.icon
takker.icon
ピクミン4出るって
Nintendo(@任天堂株式会社)
ピクミンと、新たな相棒と、未知の惑星を冒険。『ピクミン4』は7月21日(金)に発売決定。
このダイレクト終了後、ニンテンドーeショップで予約開始。
#ピクミン4
#NintendoDirectJP
https://www.youtube.com/watch?v=Y5QPpyiWPx8
23年発売予定→7/21発売が決まった形
deno-ankiの進捗を機能からたくさん出していたのだが、ここにきて壁にぶつかった
NoteからCardを生成する処理を自前で作らないといけない
普通のnoteならtemplateの数だけ作れば良い
cloze問題の場合がつらい
templateを構文解析してclozeの数を抽出し
幸い、genanki-rsというapkgを生成するrust crateを見つけたので、そのコードを読みながら作ることにする
本家Ankiのほうにもrustのparserがあった
全部手作業で書き換えるのがつらいので、ChatGPTに外注した
takker.icon次のrustのコードをtypescriptに書き直してください
code:snippet1.rs
fn cloze_cards(model: &Model, self_fields: &Vec<String>) -> Vec<Card> {
let mut card_ords: HashSet<i64> = HashSet::new();
let mut cloze_replacements: HashSet<String> = HashSet::new();
cloze_replacements.extend(re_findall(
r"{{^}*?cloze:(?:^}?:)*(.+?)}}",
&model.templates()0.qfmt,
));
cloze_replacements.extend(re_findall("<%cloze:(.+?)%>", &model.templates()0.qfmt));
for field_name in cloze_replacements {
let fields = model.fields();
let mut field_index_iter = fields
.iter()
.enumerate()
.filter(|(_, field)| field.name == field_name)
.map(|(i, _)| i);
let field_value = if let Some(field_index) = field_index_iter.next() {
self_fieldsfield_index.clone()
} else {
"".to_string()
};
let updates_str = re_findall(r"(?s){{c(\d+)::.+?}}", &field_value);
let updates = updates_str
.iter()
.map(|m| i64::from_str(m).expect("parsed from regex") - 1)
.filter(|&m| m >= 0);
card_ords.extend(updates);
}
if card_ords.is_empty() {
card_ords.insert(0);
}
card_ords
.iter()
.map(|&card_ord| Card::new(card_ord, false))
.collect()
}
ChatGPT.icon以下がTypeScriptでの書き直しです。
code:snippet.ts
function clozeCards(model: Model, selfFields: string[]): Card[] {
let cardOrds = new Set<number>();
let clozeReplacements = new Set<string>();
let qfmt = model.templates0.qfmt;
Array.prototype.push.apply(clozeReplacements, qfmt.match(/{{^}*?cloze:(?:^}?:)*(.+?)}}/g) || []);
Array.prototype.push.apply(clozeReplacements, qfmt.match(/<%cloze:(.+?)%>/g) || []);
clozeReplacements.forEach((fieldName) => {
let fields = model.fields;
let fieldIndexIter = fields
.map((field, i) => i, field)
.filter((field) => field.name === fieldName)
.map((i, _) => i);
let fieldValue = "";
if (fieldIndexIter.length > 0) {
fieldValue = selfFields[fieldIndexIter0];
}
let updatesStr = fieldValue.match(/(?s){{c(\d+)::.+?}}/g) || [];
let updates = updatesStr
.map((m) => parseInt(m, 10) - 1)
.filter((m) => m >= 0);
updates.forEach((update) => cardOrds.add(update));
});
if (cardOrds.size === 0) {
cardOrds.add(0);
}
return Array.from(cardOrds).map((cardOrd) => new Card(cardOrd, false));
}
Rustの標準ライブラリをTSで対応する処理に書き換えてくれた
使い慣れたメソッドに書き換えてくれたお陰で、処理を追いやすくなった
いいね基素.icon
20:39:58 deno-anki動いた!!!!!!!!!!takker.icon*4
Scrapbox上で穴埋め問題をapkg形式で作成し、Ankiでエラーなく読み込めることまで確認した!
/takker/scrapboxでdeno-ankiを動かすテスト
denoでも動くぞ
かなり小さいプログラム(/takker-dist/deno-anki)でexporterを作れたことに驚いている
shotato.icon
おひるごはんにスーパーに売ってる焼き芋をたべた
初めての試み
+1基素.icon
社内が焼き芋のにおいでいっぱいになった
芋の種類は甘太くん
はちみつかかってるのかと思うほどの甘さで1本食べきるのがきつい。
サツマイモ水飴の作り方 - つくる楽しみ
加熱温度で糖化させることができるのね。
黄色いうちが美味しそうに見えるのになあ~はるひ.icon
茶色くしてしまうのか
mtane0412.icon
Four Cornersはよくわからないのでこっち
という謎の判断基準が自分の中にあった
@TwitterBlue: need more than 280 characters to express yourself?
we know that lots of you do… and while we love a good thread, sometimes you just want to Tweet everything all at once. we get that.
so we're introducing longer Tweets! you're gonna want to check this out. tap this 👉…
4000文字ツイート、Scrapboxだと全文取得できない
賛否両論あるだろうけど、良いかもしれない
140文字制限によって強制的に言葉足らずにして争いを生じさせるシステムのように思えていた
これまで通り140字以内の要約が求められる
展開部分に補足を書ける
Blueにする明確なメリット
Nostr、今はまだめっちゃ不便なTwitterという感じ
hatori.icon
昨日井戸端の総ページ数が15000ページを突破した
Eventsを見るに直近で削除されたページが結構あるので、15000ページ目がどれになるのかは追及していない
井戸端統計情報によれば昨年11月からpages per monthが1000ページを超えている
実はエルちゃんが運転しておりコンプライアンス的に非常にまずいので謎の光で隠されているんだよ!説
ひろがるスカイ!プリキュア ~Hero Girls~の動画の1:10頃を参照
@Ninjamaster_73: 明かされるOPの真実
https://gyazo.com/042e9a9470a1bb34ba8b426dbe851b79
よく見ると赤色灯を点灯させたパトカーがいる
宇崎うそ先生が産休に入られるためななどなどなどは(3月から?)しばらく休載になりますが、おめでたい理由なので全然大丈夫です!連載再開をお待ちしております!
@U_s0: 産休ですがとりあえず2、3、4、5月にやすみをいただくことになりそうです❗️
ななどは2月発売の原稿の後、セカイの4コマの方は多分ルカさんの誕生日回の後からやすむことになるかな?
時が来たらプロセカ公式からは何かしらのアナウンスがあると思われる!
ご迷惑おかけしますがよろしくお願いします!
クレイジーでサイコな高山萌さんの"友チョコ"回が無料公開中なので是非ご一読ください
@mangatimekirara: 💕もうすぐバレンタインデー💕
『ななどなどなど』第43話が公開されました!
萌ちゃんもバレンタインデー用の
おかし作りの真っ最中💝
大好きな吉岡さん😍のために、
市販品そっくりなおかし作りを
頑張るぞ〜〜💘
※絶対に真似しないでください
【こちらから読めます】
https://t.co/FFNjJZPOBM
https://gyazo.com/ad067ccd550b21ade8476d18c7814869https://gyazo.com/480ed62705dc82091b8b2c451ee51072
45Nuyagawa.icon
朝Twitterが盛大に事故っていたのでビビった
TweetDeck使えないのつらかった
nomadoor.icon
@StabilityAI: Something new emerges at 5pm GMT 👀
https://gyazo.com/e9697fbcc879212e4e38da7a7b47c94c
wktk
meganii.icon
16:9のPowerPointスライドを作り慣れてなくて四苦八苦
横に長い分、長い文章が4:3よりも読みづらくなってしまう
文字サイズが小さすぎるのでは?Mijikko.icon
それもありそうmeganii.icon
余白を埋めたくなるシンドロームに陥りがち
両端に余白を入れて4:3にしてしまおうnishio.icon
古いテレビ番組が映るときみたいに黒い帯を入れるとかyosider.icon
なるほど?🤔
2023/02/08←2023/02/09→2023/02/10
2023/02.icon