01:19:29
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
Announcing support for open source projects on travis-ci.com
02:16:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
12:33:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
12:36:13
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:35:03 Alberto Colemanの投稿
i_sparkling@rainyman.jp
このアカウントは、notestockで公開設定になっていません。
12:36:14
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:35:51 Alberto Colemanの投稿
i_sparkling@rainyman.jp
このアカウントは、notestockで公開設定になっていません。
12:36:38
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
どちらかというとコンピュッタとかメンタルモデルがしっかりしていないのではと思っている(根拠なき個人の感想)
12:36:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:36:03 はいりふおじさん(LIFT650)の投稿
Common_Lisper@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
12:36:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:36:09 やんてねの投稿
yantene@fla.red
このアカウントは、notestockで公開設定になっていません。
12:37:40
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
むしろ長期的な視点で見るほど DRM は害が大きいので、1e17歳生きてる人は DRM に反対しそう……と思ったけど、1e17年も生きていられる人は記憶力が桁違いなのかな?
12:38:21
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
さて、 sys-devel/gcc-8.1.0 を入れます
12:39:22
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:39:17 こるもJS(末代)の投稿
cormojs@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
12:39:40
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それは媒体の問題であって、コンテンツそのものの保存性の問題ではないので
12:40:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そもそも完全なコピーができるのであればメディアの経年劣化は本質的な問題にはならないので
12:40:42
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
12:41:05
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
12:43:11
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
12:44:16
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
個人的には、コーディングってマジで「書くだけ」なので、その前段階の設計と書いたあとのデバッグが思考リソースの大部分を占めていると思うんですが
12:44:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
逆に言えば、コードとおおよそ1対1対応するくらいに精確に、コンピュータやコンパイラに何をさせたいかイメージできていないと手が動かない
12:45:44
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、結局「何をさせたいか」の部分って脳内で可動式のオモチャをガチャガチャ動かしているようなものなので、メンタルモデルが堅固であることがとても大事なのではないかと考えるわけです
12:46:39
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
もしかすると脳内でガチャガチャせずに要件からスマートにコードを吐き出せるタイプの人もいるのかもしれませんが、それは私の考えの及ぶところではありませんね……
12:47:47
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
あと設計といってもクラス図云々みたいな「人に伝えるための整理された情報」ではなくて、もっとモヤっと混沌としたグラフ的なものです(私の場合は)
12:48:12
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
人に伝えるための情報なんて、コードとコメント(ドキュメント)とテストから自動生成すればよろしい(個人の感想)
12:48:29
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:48:11 Alberto Colemanの投稿
i_sparkling@rainyman.jp
このアカウントは、notestockで公開設定になっていません。
12:49:12
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
あれ、もしかして普通の人って「コードから挙動を想像する」の方向で考えてるんですか……
12:49:47
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ずっと「挙動を分解して記号化する」の方向で勉強してきたのであまりイメッジがわかない
12:51:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばいつぞや書いた気もするけど、 git の勉強とかも「git add してみましょう!ホニャララになりましたね!」みたいな最初に手を動かす方式よりも、 staging area とか worktree とか diff とか snapshot みたいな概念を知ってメンタルモデルを作る方を重視していたので
12:51:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:49:57 はいりふおじさん(LIFT650)の投稿
Common_Lisper@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
12:51:47
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 12:49:27 8vitの投稿
8vit@gs.yvt.jp
このアカウントは、notestockで公開設定になっていません。
12:52:17
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
著作権が切れた後、ちゃんと DRM なし版が配布されるとは限らない……
12:55:24
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「数学には解がひとつしかない/答えがひとつに定まる」みたいなアレだな……
12:55:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
12:57:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
らりお・ザ・何らかの🈗然㊌ソムリエ (@lo48576@mastodon.cardina1.red)
12:58:11
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
グラフとかオートマトンみたいなものを考えるときも、記号じゃなくて対象のモヤっとしたイメージをガチャガチャやってたりするからな……
12:59:21
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
エッジケースを考える癖が付いているので辛うじてこれでどうにかなっている感が強い
12:59:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
オレンジ的には「プログラミングって、やりたい事をどんどん分解して考えていけば、一応出来るよ!><」って言う事多いかも><
12:59:39
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
これら、プログラミングに限った事じゃなく、お料理もそうだし、ゲームなら例えばfactorioとかプログラミングの分解して考える方法が出来てない人を観察できるかも><
13:00:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
13:02:36
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
例えば、カレーライスを作るよ!><ってなった時に、プログラミングできないタイプの人ってオレンジが観察した限りボトムアップ的に考えちゃいやすいっぽくて、レシピを頭から呼んで混乱してるかも><
13:03:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 13:02:28 Alberto Colemanの投稿
i_sparkling@rainyman.jp
このアカウントは、notestockで公開設定になっていません。
13:05:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
初学者の質問、しばしば「hoge をしたいが、どうすればいいか」という質問を掘り下げていくと「fuga をするのに hoge する必要がある」などという情報が出てきて、しかし根本的に fuga に hoge は向いてなかったり間違っていたりして、難しい
13:06:02
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
13:07:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
プログラミングできる人々ってたぶん、「カレーライス作るよ!><」って考えた時に無意識に「カレーライスって事はカレールーとライスが必要かも!><」って考えて、「まずルーの方は、カレールーのなんか固形のやつと、にんじんとジャガイモと肉と・・・」みたいに完成予定からトップダウン(?)に考える人が多いかも?><
13:07:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
脳のワーキングメモリがとても小さいので、私はトップダウンで依存を手繰って考えていくのは苦手ですね……(何を考えていたかすぐに思い出せなくなる)
13:10:13
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
扱いたいデータを表現する型をぜんぶ最初に用意して、あとは I/O などからデータをその型に用意するコードを書いて、そうすると全部メモリに乗せられるのであとはロジックを書くだけ、みたいな感じでやることが多いです
13:11:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
つまり、「今やっている作業は○○から必要」という方向よりも「今やっている作業をすると○○できるようになる」という方向で作業を記憶している
13:12:01
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
これだと、「今あるコードから何ができる」というのがわかりやすいのと、「以前書いていたとき何からやろうとしていた」という作業の依存関係が発生しづらいので、記憶に優しい
13:12:30
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「これの次は○○をする」とかが本当に覚えていられないので……
13:15:14
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
13:15:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 13:12:22 monacaの投稿
mimoo@omochi.xyz
このアカウントは、notestockで公開設定になっていません。
13:16:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
私は美しいコードの方が好きですね(どちらが金になるかは別として)
13:16:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
うんこを食べて生きるか、虚無を食べて死ぬかみたいな話(適当)
13:16:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 13:04:10 Satoshi Kojima (小嶋智)の投稿
skoji@sandbox.skoji.jp
このアカウントは、notestockで公開設定になっていません。
13:17:39
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
これも結局「自分の知っているモデルに落とす」とか「自分の知っているモデルを拡張する」の方向にいくので、そのパラダイムで最初に勉強する言語ではモデルとても大事なのでは
13:17:49
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
13:18:26
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
grass を知って SKI コンビネータで遊んだんだったか?
13:21:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
あと料理は並行・並列な処理が必要なので完全に記憶リソース不足ですね
13:21:22
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 13:19:47 Alberto Colemanの投稿
i_sparkling@rainyman.jp
このアカウントは、notestockで公開設定になっていません。
13:22:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえば「カードを並べ替える」とき無意識に2本の腕を使ってしまうところからして、計算機レベルでは (swap 除き)プリミティブじゃないし……
13:22:38
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
最初に CPU には1本の腕しかないということを納得してもらう必要がある
13:27:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
Satoshi Kojima (小嶋智) (@skoji@sandbox.skoji.jp)
13:32:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
プログラミングできるようにするってつまり「設計できるようにする」なんだから、設計の考え方を教えられなかったら、細かい事ごちゃごちゃ教えられてもそれの活用方法なんてわからないの当たり前かも><
ニンジンの切り方を教えられたってカレーは作れないんだから><
13:35:54
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
・・・で、設計ってトップダウンだよねって><(トップダウンじゃない設計って世の中になんかあるっけ?><;(トップダウンかどうかって視点だからあれだけど><;))
13:36:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
やりたいことと大雑把な仕組みはトップダウンで決まるけど、「この通りにコードを書けばおkやで」という「書くだけ」ステージには持っていかないなぁ(私は)
13:37:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
授業では若干そういう感じの方法論も習ったので、まあ産業的にはそれが普通なのかもしれないけど……
13:38:57
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
とにかく「何をするべきだったか思い出せない(メモをしても精確に概念を再現できるわけではない)」が障害になるので、「道具を作ればあとは組み合わせるだけ」みたいなフェーズに持って行くように道具を作る
13:39:53
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
なので実装最終段階はシェルスクリプトでも組んでいるかのような気分になる(既に自分が欲しがりそうなコンポーネントは出来上がっているので、いい感じに組み合わせる)
13:55:52
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
例えばソートでも、「プログラムとして書けなくてもあなたは数字を並べ替える事が出来るんでしょ?>< 普段どうやってるのかそのまま説明してみて?><」って聞いてみると「なるほど!」ってなるかもしれない><(ソートの説明ではそれをした事無いけど><)
13:57:27
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
これ、ちょっと考えてみたけど、最少単位が一通りわかってないと「どこまで分解するか」とか「何へと分解するか」みたいなのがわかってないとどうすればいいんだ……みたいな感じになるので、やはりメンタルモデルかなぁという気持ちになった(個人の感想)
13:59:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 13:58:27
の投稿
mizukmb@mstdn.nere9.help
このアカウントは、notestockで公開設定になっていません。
14:00:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえば「腕を動かすことに注目するべきか」とか「指を動かすことに注目するべきか」とか「目線の移動を気にするべきか」とか、そういったあらゆる細部を適切に抽出し適切に無視するために、「今考えている基盤で要求される操作の粒度」は大事なのかなと
14:01:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
1対1で具体的に何かを教えてあげる時であれば、どこまで分解するかとかも「という事はそれをするにはどうすればいい?><」みたいに聞いてあげる事で、ちょうど必要な部分まで掘り下げるお手伝いが出来るかも><
14:01:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
私が割と自己完結的に考えがちなのでそういうインタラクティブな思索が苦手だというだけの話だったかもしれない
14:01:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「前提条件を後出ししてくるの反則やろ……」みたいな気持ちになる
14:02:16
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
意識し活用できるかは別として、まず情報開示を行ってから始めましょうという気持ちが強い
14:03:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
オレンジがしそういう方法で色々教えた時の感覚では、ほぼ全ての人がそういうの苦手っぽいかも><; なんかものすごく「(あん? うっせーな・・・)」を感じる><;
14:03:56
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たぶん「情報の後出し感」がそうさせるのではという考えです
14:04:29
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえるなら、文法を提示されていない言語でコンパイラと闘っているような
14:04:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
14:04:58
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「前提条件を後出し」じゃなく、必要な前提条件を見つけ出す作業こそが設計なんだよ><って言いたいしそれを教える感じかも><
14:05:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その設計が何から成っているのか(記述の最小粒度)が提示されていないから、「まだやるの?どこまで掘り下げるか聞かされてないんだけど……」というゴールの見えない感が出てしまうのでは
14:07:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえば求める条件の記述が、状況によって「カードが昇順に整列されている」で十分なこともあれば、整列や大小関係とはどういうことなのか記述する必要もあるかもしれないし、そういった「設計をこれでよしとする(メタな)条件」が明示されてほしいという感じだろうか
14:08:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
未発見のものでありまだ作られてないものなんだから、最初にも何もまだ存在しないかも><; プログラミングで「プログラミングって完成品のソースコードがあれば作らなくてもいいんじゃね?」「そうだね!>< でもそのソースコードが無いのでどうやって作ろうか?って考えてる時に完成品があればって言ってもしょうがないかも!><;」みたいな話かも><;
14:08:58
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その場合で言えば、ソフトウェアを記述するための基盤はソースコード(言語)であるわけで、つまり提示されるべきなのは言語自体の仕様や操作の大きさ
14:10:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
完成品から部品にたどって必要なものを考えていって、その必要なものが「そういえばそれ、完成品で既にあるかも!><」ってなったらそれを使えばいいし、そこが底かも><(駄洒落かも><)
14:10:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
14:12:13
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
うん><; なのでまず「設計とはどういうものか?><」という概念を先に教えないと無理だよ!><;って話をしてるし、具体例としては1対1で気づかせるって方法の話をしてた><;
14:14:27
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
例えば部品に辿って考えていって教えられてる人が「じゃあ、これとこれを足せばいいって事?」ってなったとして
「足せばいい!?>< なんとここに便利な加算命令というものが!!!><」
「マジで!!!!?」
みたいな><
14:15:33
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それ私が嫌いなタイプのやつだ……完全に個人的嗜好の問題っぽい
14:16:16
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
14:17:24
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばなんか巨大な整数を与えられて「さあ分解してみましょう」と言われたとして、それをなんだかよくわからないけど延々と分解していって、いつか「おっ、それは既にありますね!やった!」と言われるまで延々とポチポチして分解しつづけるみたいな終わりのないジョブ、私にはちょっと耐えられないです
14:18:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ここで提示されてほしいメタ条件は、「分解先は2以上の自然数でいいです」と「分割後の積が分割前と一致するように分解します」だったりするわけで
14:20:01
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
試行錯誤するにしても、「整数に分解します」の部分は絶対に最初に提示するべきだと思うんですよね
14:20:52
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
でもある程度以上大きなものの設計って基本的にそういうものかも><(自動車を作ろうって考えたら、部品で買える所までは辿らないといけないし、既製の部品で納得がいかなければ最後は「鉄鉱石ってどうやって掘るんだろ?><」とかなりかねないし、そういう意味では元々きりが無い><)
14:22:36
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
既成の部分が使えるかを知るためには「これはこう使える」みたいな用法まで含めた部分がわかっていないといけないわけで、それって最初に教えるべき部分ではなくて、「問題を(設定された粒度まで)分解できる人が、部分的に未分割な問題とうまく付き合う方法」という、言ってみればステップアップ後の段階なのではと思いました
14:23:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ていうかそんな事言ったら何らかの課題で教える時に正解を丸ごと教えないとケチみたいな話になっちゃう>< それじゃ何も設計は出来ない><
14:25:25
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
条件が足りないと「足し算をする必要があります→まず AND と XOR を作ります」みたいな分割までやらないといけない(それをやる直前まで「ここで終わり」と気付けない)かもしれないわけで、「ここまでいけば十分であろう」というのを設計者自身に自覚してもらう/見通してもらうためには「足し算できる機械が最初から用意してあります」という前提条件が必須だと思うわけです
14:27:09
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そういう、「これ以上掘り下げる必要はありません」という壁のようなものは、設計そのもの(いわゆる「答え」)を直接には記述しないわけで、これが事前に提示される必要があるのではと考えます
14:27:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
無論、現実に高度な問題を考えるうえでその壁というか限度が見えないということもままあるでしょうけど、それは初心者に教える例として使える難易度の問題ではないというだけで、選択のミスではと
14:29:23
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「ソートは与えられているので今回その中身を考える必要はありません」という条件と、「こうするとソートができます」という知識は全く別の話で、たとえば後者を知っていたからとして今回の設計でそれを使うとは限らない(それを掘り下げるべきではないかもしれない)
14:30:54
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
もっと小さな問題で考えるなら、「加算できる機械があります」という前提条件と「こうすると加算ができます」という知識はそのまま交換可能ではないわけで、設計を試してもらううえで、後者を考え出す必要がないのであれば、前者の条件を事前に与えるべきなのでは、ということです
14:32:34
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それはそうだと思うけど>< でも、うまく説明できないけど用意した土台にくっつく瞬間の部分?><みたいなのは、初心者だからこそ提示してても気づけない可能性が高いし、さっきの「加算命令というものが!><」みたいな風に教えてあげないと、通過(?)しちゃうかも><
14:33:29
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それは提示されることと活用することを同一視しているから発生する懸念であって、たとえば数学書で定義を覚えていなければ後から戻ってもう一度閲覧できるのと同じように、提示された条件も指摘された後で戻って確認することもできるわけです
14:34:24
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「自分で気付く余地がある」というのは大事だと思っていて、それがないと「自分で気付けたかもしれないことも、インストラクターから全て指摘されるまで確定できない」という他人に制御されている感が強烈になる
14:35:42
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「おっ、そこに土台あるじゃん」という「達成の予感」を得られるかどうかが、前提条件の事前の提示があるかどうかで決まるのではということです
14:36:12
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
どこまで掘り下げるのか?の問題はあるけど、知識のを知識としてのみしか教えないのであれば自分で考える方法は学べないし、ソートを教えられる時に「どうしてそうする出来るのか?」まで自分で考えるように教えないのであれば、それはソースコードコピペして済ますのと大差ないかも><
14:36:13
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
14:37:12
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
設計の方法論について納得したのであれば、上のレイヤーを設計するときと下のレイヤーを設計するときの違いは分割の粒度のみなので、特定の例でソートの内容を考慮しなかったからといって、ソート自体を設計できないということにはならないのでは
14:37:53
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
自分で考えるクセがつけられないのであれば、どうしてそうするのか?を実体験として学べなくて、ソースコードコピペしてるのとあんまり変わらないよって言いたい・・・><
14:38:39
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その「自分で考える」は前提条件の提示により妨げられないのでは……?
14:42:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
これべつに、土台に付く部分を邪魔するって話じゃなく、再起に教えられてる人が途中で気づける(=自分でたどり着ける=設計できる)のであれば、「という事はあれを使えば!!!」「その通り!><」で済むよもちろん><
そうじゃなく通過しそうになっちゃった時に「それは実は既にあるんです!><」って教えてあげると、「そんな便利なものが!」ってなるみたいな感じ><
14:42:05
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
x再起に o先に
x再起に教えられてる人が
x教えられてる人が先に
14:42:30
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その土台の形が最初に提示される必要があるのではという話をしていたのですが……
14:42:36
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
14:43:49
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
オレンジは、その土台の形はどう教えるの?><; って・・・><
14:44:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
14:44:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
というか「土台」という言葉の意図も噛み合ってない予感がしている
14:47:07
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「設計という作業の完了条件(メタな条件)を誰が判断するか」という話で、まあ普通に設計者がそれを判断するものだと思います。
であれば、その完了条件は「そこまで分割したならこういう部品がありますね!」という(教えられる側から見て偶発的な)指摘のみに依るのではなく、教えられる側が最初から参照できる場所に「おっ、これならもうこの部分の設計は完了したといえるな」と判断できるように提示されているべき、という意図の話です
14:49:42
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばトランプを並べ替えるソートを設計するとして、両手での swap を使って選択ソートを表現できた人がいたとして、「でも両手は使えないよ?」と後から言われるとイラッとするわけで、であれば最初から「カードを持てるのは片手までです」と提示してほしい、というレベルの話です
14:50:47
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ここで「カードを持てるのは片手までです」とか「一度に注視できるカードは一枚までです」とか、そういう前提条件の提示は、ソートアルゴリズムを設計するうえで解答を記述することにはなりませんよね
14:52:31
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、私の言う「完了条件」というのは、「目的の動作を、『片手で一度に一枚までカードを持つ』などなどの前提条件を満たすような操作のみに分割できたこと」という風なものです
14:52:55
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
orange (@orange_in_space@mstdn.nere9.help)
orange (@orange_in_space@mstdn.nere9.help)
14:54:13
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それは最小単位を組み合わせて大きなものを作ろうとするから混乱するのであって、それはまあわかるんですが。
かといって、大きいものから分割していこうというとき、最小単位を隠すというのは回答者にとってストレスフル(かつ実践的とは限らない)のではないか、というのが考えです
14:54:53
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「操作を組み上げるのではなく、問題をだんだん分割していきましょう」というのと「最小単位がわかりません」というのは独立していると思うのですが
14:56:18
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
最小単位がわからない状況もあるかもしれませんが、それはまた別の話ですよね(要するに設計の前に環境と状況を調査しろという話であって、まあそれも設計というフェーズに含めて考えることもできるかもしれませんが)
14:56:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ストレスフルなのもわかるけど、設計って自分が思いついたアイディアが、自分にとって未発見の制限にぶつかって取り下げる事も大きく含まれると思うのでなんとも><; 「あ!><; よく考えたら出来ない!><;」って大切かも>< じゃなきゃ設計にならない><
14:58:18
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それはバックトラックと再帰的な問題の分割により達成されるものなので、前提条件と無関係では……?
そもそも「よく考えたら出来ない」というのがどう判定されるかというと、「操作の最小単位まで分割できなかった」という条件によるわけで、結局最小単位がわかっていないと失敗判定もできないような
14:58:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
前提条件を真に全て細かく出せてしまったら、それはそれ自体が設計かも><(それはつまり前提条件により必然的に決まるので><)
14:58:41
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
14:59:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえば CPU で実行可能なあらゆる命令が列挙されているとして、それはソートアルゴリズムを必然的に記述できるので設計が完了しているとは見做せませんよね
15:00:42
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
gcc-8.1.0 のビルドが完了していたので、 emerge -e しにいきます
15:01:44
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それは全ての前提条件ではないかも>< 制限としての前提条件のうちのかなり限られた部分集合かも><;
オレンジが言いたい事はそういうことじゃなく、それができるのかを知るためには、それをさらに分解して考えていく必要があるみたいな事が言いたい・・・><
15:02:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その「できるのかを知る」は低位のレイヤーにいくとたとえば「コンピュータアーキテクチャを知る」などになるわけで、それは必要な知識かもしれないけど、やりすぎればもはや設計とは別のレイヤーではと思います
15:02:48
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
例えばすごく第一歩として言うのであれば、CPUの命令表には「ソートせよ」とは書かれてない>< そういう意味での制限><
15:04:14
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
や、まあそこまで含めた設計の必要がある場合もあるだろうけど、それは初心者への例題としては不適切では
15:05:52
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「ソートせよ」が存在しないというのは、命令の一覧を眺めることで知ることができるわけで、それは設計という作業を通して知るべき知識ではなくて、設計に先立って把握しているべき条件や知っているべき知識から察せられるべき事柄ですよね
15:06:52
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
逆に言えば、「前提となる環境等を十分に調査・把握しないうちから設計をしようとしたって真っ当にできるわけがない」みたいな話になるかな?
15:07:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
であればこそ、方法論の前に十分なメンタルモデルが欲しい、という発想になるわけです(最初の話に戻った)
15:08:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その、調査したつもりの制限という壁に突き進んでいても実際にぶつかるまではなかなか気づけないよ!><みたいな事が言いたい・・・><
15:09:40
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そのときは設計を別経路からやりなおす(バックトラックする)か、壁を乗り越えるサブ問題を設定する(再帰的にやる)べきなのであって、結局その「壁にぶつかってその存在を知る」フェーズは設計の本質を知るのに必要ではないのではと
15:10:24
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
つまり、壁にぶつかる直前までの方法論を(ちょっとだけ方向を変えて)継続することで進行することができるので
15:10:34
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、メンタルモデルとしては、「設計できるようになるには、自分で考えるクセをつけるのが大切でしょ!?><」って事で、嫌がられるのが前提で、「じゃあそれをするのはどうやってやればいい?><」って問い詰めていく方法って実際に有用だったかもって言いたい><;
15:10:52
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
15:11:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
私の腑に落ちないのは「癖を付けさせる」部分なのだろうか……
15:12:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
結局「こう考えれば楽にできるんやで」とだけ言っておけば自然とそれを使うようになるし、敢えて暗闇を歩かせる必要はあるのだろうか、という……?
15:13:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
或いは、強制と反復によって思考パターンを植え付ける方式に抵抗がある、という感じだろうか?
15:15:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
他者からの苦痛を伴わないとどうにもならないようでは、知的な学習というより獣の躾ではという(暴論)
15:21:47
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
すごい暴論だけど「できるやつは勝手にやるようになるし、できないやつはいつまでもやらない」みたいな話
15:22:35
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
まあこういう姿勢はほぼ無条件な相手を対象とする教育としては成立しないんでしょうけど
15:24:26
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
こう、「ステージを上げる」ためにはそういう強力な干渉が必要なんでしょうけど、たとえば「ポインタなんていらない、 Python があれば十分」と思っている人はそれで十分な範囲からあまり出てこないわけで、いざそれで足りないとなったとき勝手に勉強するやつと諦めるやつがいるのではと
15:24:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、ハードモードでやる必要があるのは後者をどうにかする場合なんだろうけど、それって著しくコスパが悪そうという感想
15:25:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
勝手にやる人の手を引っ張った方がいろいろな面で、まあ、なのでは。
15:25:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
いやこんな偉そうなこと言ってられる立場でもないんですけどね私は
15:26:02
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
なのでオレンジは強制的に「なるほどそういう事か!」って反応がある場所まで「(うっせーなこいつ・・・)」に「><;」って耐えながら強引に案内するみたいな教え方をしてるかも><;
15:26:27
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
私は知りたいと思ってない人には理解を求めないタイプなので、まあその辺りの違いなんですかね
15:27:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
基本うちのサークルはそっち系に明るい人が多いし、理解させることを義務として物を教えたことはないので
15:29:31
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
チュートリアル的なトレーニング無しでどう役に立つのかわからないつまらない予備知識を一方的に「こうういうものなんです!!!」って教えられてもおもしろくないかも>< 予備知識も自分でも考えながら納得して「そういうことか!」って学ぶ方が楽しくない?><(主観)
15:31:02
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
15:31:14
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「○○をしたい」が先立ったことはほとんどない気がします
15:31:48
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「何が起きてるかわからないけど魔法が起きてなんとかなる」みたいなのあまり好きじゃないので……
15:33:06
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
物理的な原理とかまで深掘りするかはともかく、「何をすると何が起きてそれゆえこの結果になる」というくらいの因果は知っておきたいし、その因果を納得できるためには表面的であれ原理は知らずにはいられない
15:33:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
知りたいでも結局粒度の話になるかも>< 計算機のアーキテクチャの話を聞きたい時にそれこそ「なんとかなる」を避ける為に、半導体そのものの材料の話をされてもまじめに聞く?><
15:33:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
15:35:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
まあ現実に全てを掘り下げることはできないので興味と必要の強さに応じて選択的に疑問を無視するわけですが、そういった諸々はモヤモヤとしてストレス源になったりするので
15:35:48
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 15:33:20 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
15:35:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 15:35:05 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
15:36:34
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
これは文法からモデルを構築するのに慣れている人のやりかたっぽいので、初学者とはだいぶプロセスが違うのかなぁという気がします(知らんけど。共通かもしれないけど)
15:38:29
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
プログラミング言語を「言語」と区分しがちなのも誤解に繋がっているのかなぁという印象はある
15:39:06
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
どうせポヨグヤマなんて抽象構文木とかを思い浮かべてるんだから文法なんて大して問題ではなくて、本当に注目・区別すべきなのはパラダイムとか意味論とかなんだけど
15:41:14
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ただ、ありがちな「FizzBuzz 書いてみて言語を比べてみます」みたいなアレな web ページとかでは、文法についてあれこれ言ってるのが多くて、アッハイ何も見てないんだね、という気持ちになりがち
15:41:49
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
文法に言及するのなんて、 C のポインタ型くらい滅茶苦茶な減点があるときくらいで十分
15:42:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
前提条件だけ教えてあげれば自分でって教え方ってつまり「前提条件は頭に叩き込め! 後は知らん! 条件を忘れてた!? それはお前の責任だ!」って鬼軍曹じゃん?><
15:42:40
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
や、条件を最初に提示しろというのと、条件に基く判定を全て回答者が行えというのは別の話では
15:43:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
べつに条件を提示したからといって、道を外れないためのガイドを行ってはいけないわけではないです
15:43:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばループをジャンプ命令でやってたとして、「ここに!ループ命令が!書いてあるだろう!!なんで使わないんだ!!!!」とか言いませんよ初心者に
15:45:01
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ループ命令を使うかジャンプを使うか別のことをするか、そういった選択は回答者が勝手にやることであって、「おっジャンプ命令があるじゃん、これ使えばおしまいだ」という「完了の予兆」に回答者自身が気付ける環境であってほしいという話です
15:46:01
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
でも、チュートリアル的なもので、なんだっけ?><マイクロソフトがマインクラフトのキャラを題材に子どもにプログラミング教えるみたいなのでも「これを使うと便利になっちゃう!」方式だった気がするんだけど><
15:46:29
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その教材見てないのでわかりませんが、結局「プリミティブな操作」は既知なのでは……?
15:46:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
オレンジの場合は「どんな命令があったらいいと思う?><」って言いそうなシチュエーション><
15:46:53
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
15:47:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
命令は「そこにあるもの」というお気持ちなので、「欲しいもの」は(命令と粒度が一致するかはさておき)すべて「処理」であって命令とは別の話、という感じの想定です
15:48:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
今そこに現実があって、その上で問題を解決したい、というモチベーションなので
15:49:06
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
15:49:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
現実の側を弄れるなら、それは基盤とするモノ自体が間違っているというか、弄れるもの含めて設計の対象であるべきなのであって
15:50:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
少なくとも、今自分が行っている設計作業の手が絶対に及ばない領域と、そうでない領域を区別させてほしい
15:52:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばヒイヒイ言いながら英語で何か書こうとしていたとして、「日本語でおkやで」と後から言われると、最初から言えや💢となるので、「言語は日本語か英語です」という「弄れる領域」(或いは「言語は英語限定です」という「弄れない領域」)を区別できないと自由に活動できない
15:53:40
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、「日本語か英語です」と言われたうえで、敢えて「英語だけでいこう」という選択肢もあるわけで、領域を明確にすることは必ずしも選択の変化を強制するわけではない
15:54:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
難しい><; 部品というものは部品が存在するために部品があるわけじゃなく、何らかの目的を果たす上位のモノを作るために必要になったので部品があるかも><
15:54:18
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その「目的」というのがトップダウンに与えられるのが好きじゃないかも
15:55:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「そこにあるソレを、使えるように使う」というので事を為すには十分なわけで(それが最適とは限らないけど)、「これは○○のためにあります」と言われても、はあそうですか……となる
15:55:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
好きじゃなくても例えばソートアルゴリズムは少なくともソートするためにあるかも><;
15:56:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばソートアルゴリズムにランダムな大小比較を代入してやればシャッフルになるかもしれないじゃないですか
15:56:39
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
最終的な用途を決めるのはユーザであって、設計者の意図を忖度する必要はない(まあ最適なことをしようと思ったらいずれそれも必要になるけど、それはまた別のステージ)
15:57:08
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そりゃ具体的に必要にならなきゃ「そうですか...」になっちゃうでしょ!!><;っていうのが一番いいたいし、だからこそ「じゃあそれをするには何が必要?><」って方式に・・・><
15:57:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、「○○がしたいです!そういう部品はありますか?」といちいち聞かないと「あります/ありません」の答えが得られないという対話的環境が非効率だ、という話です
15:58:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
使えるものが列挙されていれば、「○○がしたいです!……なかった、まだ分割するか……」と自分で判断できるので
15:58:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
15:59:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:00:16
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえば整数乗算命令を高速な整数除算として使うこともできるわけで、「除算をしたいという私の目的」と「乗算機能を提供するという CPU 設計者の目的」は全く別です
16:00:26
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
直接的にはそりゃそうだけど、設計であるプログラミングをどう教えるかっていう話では><;
16:01:11
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
つまり「乗算命令を使って除算を実装しようとしている人を止めるか止めないか」という話であって、「ここに除算命令もあるけど乗算を使おう」というのもまた設計なのではと
16:02:13
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「除算がしたいんですけど……乗算しかないんですか?」と聞かれたとき初めて「ここに除算があるんですよ」と言えばいいのであって
16:02:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それはその通りだし、それってたぶんオレンジの教え方の方に近いじゃん・・・><
16:02:34
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:02:44
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「使おう」と言ってるのはインストラクターではなく設計者ですよ
16:03:26
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
あと「聞かなくても『ここに除算があるじゃん』を最初から知ることができるのが大事」というのが私の主張なので、その点が orange 氏とは違っていた気がしますが
16:03:49
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
さっきの前提どうのの話だと「除算命令とか言う便利な物があるなら最初から言え!!」って言うからオレンジが「><;」ってなってるんじゃん><;
16:04:11
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それはインストラクターが口出ししろという意味ではなくて、「手元に一覧を渡してくれ」という意味です
16:04:52
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その一覧を吟味したっていいし、ざっと眺めて人に尋ねるのをメインにしてもいいけど、尋ねることを強制されるのは駄目
16:05:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ざっと眺めて尋ねなかった結果除算に気付かず、遠回りにも乗算命令を使おうとしたとして、それが不正解とは言えないのだし、それでいいのではと
16:06:38
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
難しい><; 究極には全てを予め提示するみたいな事になっちゃってそれはおそらく不可能かも><
16:07:05
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
その「全て」が、結局コンピュータアーキテクチャであるわけで、つまるところそのくらいも知らずにポヨグヤミンしようだなんて簡単にいくわけがないのではというお気持ちです
16:07:10
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 16:04:49 monacaの投稿
mimoo@omochi.xyz
このアカウントは、notestockで公開設定になっていません。
16:07:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そもそも料理は非同期・並行・並列と闇が揃っているので、プログラミングに喩えるにはあまりに複雑すぎる
16:09:38
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
さんすうを知らない人に素因数分解を教えようとしたってしょうがない、いや可能かもしれないがそこまでする意味があるのか、という
16:09:56
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
先にさんすうを教えなさい、という感想しか持てないし……
16:10:29
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
べつに数論を教えなさいという話ではないんですよ、算数を教えなさいというレベルなんです
16:11:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
コンピュータも同じことで、仮想的なモデルはそれ自体がある程度抽象化されているので、その先のハードウェアの知識には実は依存関係があまりない
16:11:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばチューリングマシンを説明するのに歯車の形を説明する必要がない、といった具合です
16:11:54
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、コンピュータアーキテクチャも、そうして抽象化によって現実と隔離されたレイヤーがあるわけで、その部分を教える必要はあるのではと思います
16:13:02
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえば一般的なものでは、メモリが整数で番号付けされるセルの一次元配列であること、 CPU が書き換えられるメモリの領域が最大で連続nセルであること、セルの中身は整数であること、などなど
16:13:36
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:14:02
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
オレンジ的に料理に例えるのはなぜかというと、料理するのってレシピを見てその通りに単に作業するのも料理だし、トップダウン的にどう調理すれば目的の食べ物を作れるのか考えるのも料理だし、既存のレシピから脇道にそれたちょっとアレンジしても料理だし、みたいな例えに使えるから><
16:14:11
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:15:01
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 16:12:43 monacaの投稿
mimoo@omochi.xyz
このアカウントは、notestockで公開設定になっていません。
16:15:16
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「秘伝のタレを作るためには、秘伝のタレとうなぎを使います」とか再帰
16:15:27
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
まあこれだけだとブートストラップ問題が発生するけど
16:15:57
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 16:10:38 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
16:15:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 16:15:38 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
16:17:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:32:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:32:49
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
依存を辿ろうとすると、経路上のノードの子とかも展開することになるわけだけど、それだけであっという間に記憶が飽和する
16:33:41
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ので、とりあえず「これは絶対必要」というものを手当たり次第に用意していって、考えるべき領域の全体を狭めていく方式でやる
16:34:57
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
あとこれは記憶のサイズとは別で、「頻繁に変更される記憶が苦手」というのがあって、たとえば「頭にシャンプーを使ったか」とかは毎日切り替わるフラグだし、「前回何を食べたか」とかは1日3回くらい切り替わるわけで、そういうのが本当に苦手
16:35:10
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:35:48
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、これは過去だけでなく未来についても言えて、「次は○○をする」という記憶は作業切り替えごとに頻繁に変更されるものなので、これが本当に覚えていられない
16:35:57
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:37:23
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 16:36:28 緋仙カエデ🎨の投稿
hisenkaede@pawoo.net
このアカウントは、notestockで公開設定になっていません。
16:38:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえば教習所の道路を走ってて「次に左右のどちらに曲がるか」を、直線を走っている間に忘れたなどのエピソードがあります
16:38:18
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
次どちらに曲がるかは頻繁に切り替わるので記憶できない
16:38:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
オレンジは短期記憶がものすごく弱いかも>< だからこそトップダウン的な面もあるかも><(最終目的だけあってればいいので覚える事少ないかも><)
16:39:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ボトムアップだと「光に向かって進む」だけでなんとかなるので脳に優しい
16:39:30
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
木を展開しなくて済むし、完成した部分のルートノードだけ覚えておけばどうとでもなるので
16:44:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:45:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
だいたいどっちの方に進めば着くのか?><とかはトップダウンかも>< じゃないと無意味にランダムに進んでるのと変わらないことに・・・><
16:46:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
オレンジは、大きな目的(目標)から小さい目的(目標)に分けていく発想を指して、なんて言っていいのかわかんないのでトップダウンって言ってた><;
16:46:35
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
私は必要そうな小さな機能を沢山用意していって、ある瞬間に「あとは組み合わせるだけやん」となって組み合わせて完成させます
16:46:58
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
表現を変えるなら、必要なあらゆるコンポーネントを汎用のライブラリとして捉えている
16:48:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
16:49:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
目標までの具体的な経路(作業)を考えなくても大丈夫であることが私にとって重要です
16:50:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「どうせこれをやれば役に立つ」とか「これを作ってその上で問題を評価しなおそう」というのを繰り返していきます
16:53:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 16:52:46 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
16:53:57
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
深さ優先でやると、今のタスクが完了したときに親ノードを、親ノードが完了したときその親を、という風に思い出す必要があるじゃないですか
16:54:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
つまり厳しいのは深さ優先で辿っているときの経路スタックです
16:54:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そもそも私は問題を分割した木の全体を見ない方法を求めています
16:56:25
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
とりあえず葉ノードを作っといて、いけそうならそれらを抽象化してひとつの親ノードにまとめる、という風にすると、コンテキストを完全に消失したとき、それぞれの部分木のルートだけ見ればすぐにコンテキストを再構築できるので、その性質が欲しい
16:57:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
別の言い方をすれば、いかに記憶に頼らず resume できるか、みたいな感じです
16:57:55
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
べつにトップダウンで考えても、問題をもう一度解けば記憶に頼らずいけるかもしれないけど、そのためには全ての選択が必然である必要があるので、もし「どっちでもいいけどこうしよう」という選択が途中にあったら再現は困難になる
16:58:34
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 16:58:24 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
16:59:08
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
もう一方の木を作ったら、過去実装した部分が微妙に役に立たないかもしれないので(つまり「要らんコンポーネント」が唐突に発生する)
16:59:48
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
まあそれはボトムアップでも同じようなものなんですけど、だからこそアプリケーションの一部ではなく汎用のライブラリとして独立させようとするわけです
16:59:54
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「あとは組み合わせるだけやん」ってつまり一番上の目標までの経路が見えてる状況じゃん・・・?>< ていうか組み合わせるってそれ設計だしその組み合わせはどう考えるの?><;(よく考えるとトップダウン的に考えてない?><;って言いたい><)
17:00:54
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
べつにその経路は特定の記号的思考に基いて見極めているわけではないので(経験的に雑にやってます)(その程度でどうにかなる問題しか解いていない)
17:02:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
というかこれは思考プロセスの問題なんですが、「できそうなことしか思い付かない」ので、逆に言えば「よし実装するか」となった時点でなんとなく思った通りにやっていけばできます
17:02:06
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
すごく不思議に思ってるのは、らりおさんってなんかゲームつくるのにその為のライブラリ・・・を作るためのライブラリを作っ(って飽き(?))たって話書いてたじゃん?>< それものすごくトップダウン的な設計じゃん?><
17:02:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
3D モデルデータを読むライブラリを作っていたとき、ゲームをどう作るというのは全く考えていなくて、「とにかく読む」「読んだデータには型が付くので、それを表示するのはまた別の話」という風にやっていましたね
17:03:30
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
まあなんとなくフラフラ光のある方向へ歩いていけばどうにかなるようにはしていますが、途中でどこに寄る必要があるという中間目標を設定していないということです
17:04:07
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 17:02:01 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
17:04:18
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
私がやっているのはボトムアップですらないかもしれないw
17:04:42
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:04:58
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
記号化するとすぐ溢れるのであまり記号化したことがない
17:05:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:05:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:06:12
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
なんに使うかわからんけどとりあえず汎用的ななにかを作っとけば深さ優先探索のときの手間が省けるとかそういうのはちゃうんやろか
17:06:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:06:20
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:06:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
とにかく手持ちの leaf node を増やしていく感じ
17:08:08
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
で、それっぽい leaf node を沢山用意していけば、そのうち「ではここに材料があります、混ぜます、完成です」みたいな滅茶苦茶浅い木になるので、組み合わせておしまい、みたいな
17:08:21
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
それはそれで便利だけど設計ではないじゃん・・・><(ていうかスコープの大きさを変えるとそのそれぞれの行き当たりばったりに作った便利な物はどう設計してるのか?><という謎が・・・><)
17:08:24
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:08:38
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:09:31
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ミクロな視点では、型を沢山作り、メソッドを作り、組み合わせるときロジックを書く、という風な作業の再帰的な繰り返しになるんですけど
17:09:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
問題をコンポーネント単位に分割するとき何を考えているのかさっぱり……
17:10:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
たとえばいま ActivityPub の実装しようとしてますけど、 data types しか見てませんからね
17:11:09
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:11:27
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:16:42
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
@babukaru むしろデフォルトの PORTAGE_TMPDIR を /var/tmp/portage_tmpfs とかにしておいて、重いパッケージだけ個別に package.env とかで PORTAGE_TMPDIR="/var/tmp" などのようにするといいです
17:17:41
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「なんもわからんが適当にパーツを作ってみる」
は、実は
「おおまかな見通しだけ立ててとりあえず必要そうなものを実装しはじめてしまう」
では無ければ目標に対する部品じゃない気が><
つまりある目標に対する設計の外かも><
17:18:01
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「これどうせ必要やろ」の直観が実は問題の分割によって得られている可能性は否定できない
17:18:30
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
まあ意識してやってないので直観としか言えないんですが
17:19:14
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 17:19:05 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
17:19:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
私の場合、作ったパーツが特定の目標専用にならないように作ることで、ライブラリとして独立させて価値を守るというようなことをやっていますね
17:21:10
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
まあライブラリといっても公開するほどの規模にはならなかったりしますが、自分で全然関係ないコードを書くとき流用したりとか
17:21:37
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そもそも汎用的なコードを書いているときの方が“気持ちいい”ので……
17:24:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 17:23:44 unaristの投稿
unarist@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
17:24:48
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:25:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「今回使うとも限らないんだけど、この型には絶対あるべきインターフェース」とかは実装してしまう
17:26:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「今そこにある完成品は、私があるべきだと思っている姿で存在している」という部品への信頼を持つために必要な過程だと思っている
17:26:41
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
中身を忘れたとして、「どうせ私が思ったとおりのものがあるでしょ」で済ませられれば中身を見直す必要がないので
17:30:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
・・・という事は、ボトムアップ設計する為に必要な部品を洗い出すって作業にはおそらくトップダウン的に考える必要があるはずかも><(じゃないと本当に暗闇で、何が必要なのかのヒントすらないという事になっちゃう><)
17:30:31
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
・・・なので、そういう言葉とは別に、設計というものは本質的にトップダウン的である(気がする><;) みたいな事が言いたい・・・><
17:30:46
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
本質的にトップダウンであるというの、わからなくもないかもしれない
17:31:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
そもそも私何かを作るとき洗い出しをしないので、設計をしているか怪しい
17:31:18
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:37:33
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 17:33:40 かるばぶの投稿
babukaru@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
17:37:38
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:38:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
あと logind seats あたりは systemd-logind と dbus あたりの話な気がします
17:42:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
下流工程のコーディングができれば上流工程なんて勝手にやるようになるじゃん?という雑な考えをしていたので、最初から食い違っていた感はある
17:44:18
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
小さな設計、「こう在るべき」という謎の経験的直観や「こうなると美しい」という雑な感想で書いているので全くアルゴリズミックでない
17:44:38
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
日頃からなんも考えず書いていることが露呈してしまった
17:46:34
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
「コードを眺めてると……ほら……見えてきただろ?」みたいなことやってるからなぁ……
17:46:42
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
17:58:47
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
18:10:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
18:10:50
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
大きなビルド前は
sudo mount -o remount,size=8500M /var/tmp/portage_tmpfs
などして容量大きくしてます
18:14:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
@babukaru
\df | awk '/^tmpfs/ { sum += $3 } END { print sum }'
などするとキビバイト単位で容量とれますね
18:17:31
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
\df | awk '$1 == "tmpfs" { sum += $3 } END { print sum }'
の方がよかったかも(まあどっちでもいいや)
18:18:59
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
@babukaru tmpfs は使った分しかメモリを消費しないはずで、サイズとは最大量のことだったはずなので、それぞれのサイズを占有しているというわけではないはずです
18:20:44
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
18:23:00
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 18:22:12 かるばぶの投稿
babukaru@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
18:24:30
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
portage について言えばその通りで、最終的にビルドにどれくらい必要なのかは事前には不明なことが多いので、おおよそ4〜5GB くらいはデフォで割り当てておくといいです (それより大きな容量が必要だと、だいたい事前にディスク容量チェックをしてくれるので ビルド前にエラーが出る)
18:25:19
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ビルド時にメモリが厳しくなるくらいクソデカになるやつらだけ package.env で PORTAGE_TMPDIR を変えると楽です
18:25:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
18:25:51
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
-h は --human-readable の -h です
18:26:22
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
human-readable な -h が使えるコマンド、他には du や ls -l などがそうです
18:28:03
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
--block-size のデフォルトは 1024 バイトなので、 -k は単体では無意味ですね
18:28:58
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
これはオプション上書き用で、
alias df='df -h --block-size=4K'
などしている場合に df -k すると block-size を 1K に戻せる、という風に使うものかと
18:29:32
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
gcc は tmpfs でビルドすると SEGV とかで死ぬことがあります(経験談)
18:29:48
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
SEU を疑っている(が、メモリ故障の可能性もあるにはある)
18:43:25
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 02:03:30 bute🎨🔞の投稿
bute@pawoo.net
このアカウントは、notestockで公開設定になっていません。
19:10:15
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 19:08:18 二次元美少女画の投稿
CuteGirl_2D@wxw.moe
このアカウントは、notestockで公開設定になっていません。
19:14:43
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 19:10:58 まさらっきの投稿
masarakki@friends.nico
このアカウントは、notestockで公開設定になっていません。
19:14:44
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-03 19:12:15 ヒポポタマスジの投稿
Otakyuline@mstdn.maud.io
このアカウントは、notestockで公開設定になっていません。
19:14:58
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
ボールを二つ持って serve するんですねわかります
19:15:02
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
19:17:45
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
2018-05-02 10:07:05 れおのらっ!の投稿
leonora@otogamer.me
このアカウントは、notestockで公開設定になっていません。
19:49:23
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
19:52:28
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
The ultimate guide to EAPI 7
23:42:04
らりお・ザ・何らかの🈗然㊌ソムリエ
@lo48576@mastodon.cardina1.red
原理主義者なので、音楽の定額ストリーミングサービス(ダウンロード不可)は DRM の部分的な復権であると捉えているし、絶対に使いたくない