Compare commits

..

14 Commits

Author SHA1 Message Date
c52875ef03 [obsidian] vault backup: 2025-09-20 13:42:31[
All checks were successful
Build / build (push) Successful in 10m4s
2025-09-20 13:42:32 +09:00
b1cc13e269 [obsidian] vault backup: 2025-09-20 11:57:22[
All checks were successful
Build / build (push) Successful in 11m9s
2025-09-20 11:57:22 +09:00
eace359d3d [obsidian] vault backup: 2025-09-17 16:59:49[
Some checks failed
Build / build (push) Failing after 8m31s
2025-09-17 16:59:49 +09:00
6dc8f99779 [obsidian] vault backup: 2025-09-17 15:59:48[ 2025-09-17 15:59:48 +09:00
b7458b9624 [obsidian] vault backup: 2025-09-17 10:36:49[
All checks were successful
Build / build (push) Successful in 12m36s
2025-09-17 10:36:49 +09:00
2b432e09cc [obsidian] vault backup: 2025-09-16 18:13:09[
Some checks failed
Build / build (push) Failing after 13m50s
2025-09-16 18:13:09 +09:00
a4845999d3 [obsidian] vault backup: 2025-09-16 17:13:04[
All checks were successful
Build / build (push) Successful in 13m19s
2025-09-16 17:13:04 +09:00
8f6c49a810 [obsidian] vault backup: 2025-09-16 16:13:00[
Some checks failed
Build / build (push) Failing after 14m0s
2025-09-16 16:13:00 +09:00
34e8986521 [obsidian] vault backup: 2025-09-16 01:30:35[
Some checks failed
Build / build (push) Failing after 7m18s
2025-09-16 01:30:35 +09:00
053551727b [obsidian] vault backup: 2025-09-16 00:30:21[
All checks were successful
Build / build (push) Successful in 9m16s
2025-09-16 00:30:21 +09:00
52f7f26c8b [obsidian] vault backup: 2025-09-15 23:30:10[
Some checks failed
Build / build (push) Failing after 9m13s
2025-09-15 23:30:10 +09:00
e141c73697 [obsidian] vault backup: 2025-09-11 19:08:04[
Some checks failed
Build / build (push) Failing after 13m56s
2025-09-11 19:08:04 +09:00
b371c26dce [obsidian] vault backup: 2025-09-11 16:16:46[ 2025-09-11 16:16:47 +09:00
7aa25750f7 [obsidian] vault backup: 2025-09-11 15:14:17[ 2025-09-11 15:14:17 +09:00
10 changed files with 198 additions and 2 deletions

8
content/Ad-Astra.md Normal file
View File

@@ -0,0 +1,8 @@
---
date: 2025-09-20 11:59
---
#programming-language
[[Lady Deirdre]]を作ってる人のスクリプティングプログラミング言語。[[Rust]]で実装されてる
[Introduction - The Ad Astra Book](https://ad-astra.lakhin.com/)

View File

@@ -0,0 +1,8 @@
---
date: 2025-09-16 16:36
---
#aesthetics
日本語訳は[[牛込陽介]]さんが書いている
[The Critical Engineering Manifesto \| jp](https://criticalengineering.org/jp)

4
content/JavaScript.md Normal file
View File

@@ -0,0 +1,4 @@
---
date: 2025-09-17 09:55
---
#stub

10
content/Lady Deirdre.md Normal file
View File

@@ -0,0 +1,10 @@
---
date: 2025-09-17 09:51
---
#programming
インクリメンタル、並列対応の[[パーサジェネレータ]]。[[Rust]]のマクロで型安全に文法の定義をできる。
[Introduction - The Lady Deirdre Guide](https://lady-deirdre.lakhin.com/)
ただ、オープンソースだがプロプライエタリなライセンス

View File

@@ -11,5 +11,6 @@ date: "2023-09-01T19:08:25+0900"
- [[Rhai]]
- [[Moonbit]]
- [[Gream]]
- [[Ad-Astra]]
[[RustでGUIを作る選択肢]]

29
content/Tree-Sitter.md Normal file
View File

@@ -0,0 +1,29 @@
---
date: 2025-09-17 09:53
---
#programming-language
[Introduction - Tree-sitter](https://tree-sitter.github.io/tree-sitter/)
モダンな[[パーサジェネレータ]]。
[[Rust]]で実装されているが、Cライブラリを経由して様々な言語のバインディングが用意されている。
ただ、言語の文法定義は[[JavaScript]]で行うなどちょっと複雑な作りをしている。
インクリメンタルな構文解析に対応していることが特徴。
---
### 実際に使おうとしてみての感想
カスタムの構文解析エラーメッセージの定義とかが難しい。これは長年問題になっているみたい
[Helpful parser error messages · Issue #255 · tree-sitter/tree-sitter · GitHub](https://github.com/tree-sitter/tree-sitter/issues/255)
---
Rustのバインディングの問題。
`kind_id`など多くのAPIがu16でのIDを返す

View File

@@ -76,4 +76,47 @@ impl Machine{
}
}
```
```
## 用途
例えばcatさんに作ってもらったこの辺の再帰を用いたコードがあるとする
```rust
fn gen_metalic_rec(times,freq,oscproto){
if(times>0){
let next = gen_metalic_rec(times-1,freq*1.176,oscproto)
let osc = oscproto();
| | { osc(freq) + next() }
}else{
| | 0.0
}
}
fn gen_metalic(times,freq){
let gen = gen_metalic_rec(times,freq,| | square_0);
| | gen() / times
}
let lowest_freq = 200.0
let myoscbank = gen_metalic(6,lowest_freq)
```
こういう組み込み関数を与えて、
```rust
extern enumerate_by: (times,init:float,(x:float,acc:float)->float)->[float]
```
```rust
fn metalic(times,lowest_freq){
let freqs = enumerate_by(times,lowest_freq, |_x,acc| acc*1.167)
let res = map(freqs,|f| `square_0(liftf(f)))
|> foldl(_, |x,acc| `{ $x + $acc } )
`{$res / liftf(times)}
}
fn dsp(){
metalic!(6,200)
}
```

View File

@@ -0,0 +1,89 @@
#writings
※この文章は、AMC JOURNAL東京藝術大学芸術情報センター紀要2025への掲載を目的として執筆する草稿である。
## Abstract
本稿は、2023年度から2025にかけて実施されたAMC開設授業「コードとデザイン」前期金曜4・5限の授業設計および実施記録である。本授業は、美術・音楽を専門とする学生を対象とした電子工作とプログラミングの知識習得を中心とした演習授業である。本授業ではその知識習得過程自体をパーソナル・パーソナルコンピューティング誰もがコンピューターをただ使うだけでなく、自分たちのための計算機を自らの手で作れる技術環境づくりのひとつと位置づけ、電子計算機の原理や歴史的発展にも時間を割いている。
本稿では、その授業設計の背景や、カリキュラムの具体的な内容を記述した上で、改善しうる点について述べる。
## はじめに
本稿では、2023年度から2025年度にかけて筆者が担当したAMC開設授業「コードとデザイン」の授業設計とその反省について記述する。
本稿の第一の目的は、近しい領域における授業の実施を検討している教員への参照点を示すことだ。
本授業の設計でも大きな参考とした"Code as Creative Medium"においても、デザイナーやアーティストがプログラミングやコンピューティングを学ぶためのリソースはあっても、それを教える人のための指針やドキュメントは多くない。
- 授業の設計の参考資料が存在しないこと
- アメリカとかでは人文系、芸術系でも教員個人のWebサイトにシラバスや参考資料がまとめてあることが少なくない
## 背景
2022年度以前から芸術情報センターで「コードとデザイン」はデザイン科共催授業を基にして継続的に実施されてきた。内容としてはArduinoの使用方法やレーザーカッターを用いた造形のような、アーティストとして役に立つプログラミング、電子工作、デジタルファブリケーションの知識の習得を目指すものであった。2022年度後半に、それ以前授業を担当していたデザイン科の鈴木太朗教授との相談の上、基本的な目的は維持したうえで新たにゼロから授業を設計することになった。
授業設計上の制約としては、まずあらかじめ決まっている時間の長さ90分×2コマx15回がある。また、他のAMC開設授業の中には映像表現、音楽等を取り扱う授業はあるものの、電子工作のようなハードウェア要素の強い授業は他にないため、全体のバランスとしてハードウェアの取り扱いを中心に据える必要もある。
さらに特徴的な制約としては、想定される対象履修者の幅広さがある。芸術情報センターには直接学生が所属せず、美術、音楽、映像問わず全学科の学生が任意で芸術情報センター開設授業を履修できる。学部1年生から大学院博士課程まで履修する可能性がある。それゆえ全くプログラミングをしたこともない学生、Arduinoだけは軽く触ったことのある人、既にモーターなどを使用した工作の経験まである人など、前提知識には例年大きなばらつきがある。また技術的な知識の差ほかにも、芸術学科、楽理科や音楽環境創造科の学生のように、必ずしも作品制作を主軸に置かない学生も存在するため、それぞれの目的意識にも広がりがある。
### 授業設計の指針
授業全体の副題を「パーソナル・パーソナルコンピューターをつくる」と設定した。
授業を設計するにあたって意識的に行ったことの一つが、既存の授業資料やワークショップを積極的に活用することである。特に、前半の授業は筆者が2018年に参加したニューヨークのアーティスト・ラン・スクールであるSchool for Poetic ComputationSFPCのカリキュラムである。
## 到達目標の設定
パーソナル・パーソナルコンピューターをつくる
最終課題の自由度
- 完全自由制作
- 他の授業における前期の課題制作に、授業で学んだ要素が生かされているならば重複してもよい
- 授業内小課題(後述)の発展
全員が作品制作を最終ゴールとしていないこと。作品そのものではなく自分の製作に役に立つツールを制作する
AMC解説の演習授業は必ずしも卒業要件に関わらない自由科目として選択されることも少なくないため、最終課題制作期間に自分の専攻の課題制作が重なることで忙しくなり、履修を継続できなくなることが往々にしてあることへの配慮である。
## カリキュラム
シラバスより転用
1. Conditional Design Workshop
2. Victorian Synthesizer/ Tympanic Alley
3. インバーターの製作
4. 2進数カードゲーム浦川通
5. NAND回路と全加算器
6. Arduino基礎
7. 秋葉原に買い物
8. 雑マウス
9. Processingとの連携/ピンポンゲーム
10. サウンド
11. モーター
12. 課題制作打ち合わせ
13. デジタルファブリケーション(手作り電子部品)
14. 課題制作打ち合わせ2
15. 最終課題発表
## 前半
デザインとはConditional Design Workshop
脱電子工作入門Victorian Synthesizer/ Tympanic Alley
Handmade Computer(3,5回)
バイナリーカードゲーム
## 後半Arduinoの実用
Arduinoの選定
Leronardoか、Arduino Uno R4
これらだとUSB HIDエミュレートができる
ただし、ADCToucなど普通のライブラリで使えるものが使えなくなる

View File

@@ -0,0 +1,4 @@
---
date: 2025-09-17 09:55
---
#stub