Compare commits
370 Commits
0c938c8f6c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b122ac691 | |||
| f51d4978df | |||
| 2b7f89cc54 | |||
| 3950ef2377 | |||
| 93a354fd6a | |||
| dd33e925df | |||
| 4e99e8afa1 | |||
| 287543e38b | |||
| b61fcff4e6 | |||
| ba1affdb57 | |||
| e672496d64 | |||
| 66380702e6 | |||
| 15de506e83 | |||
| ee956d0a3f | |||
| 550e700cf9 | |||
| 34976ca14a | |||
| ab86556a31 | |||
| 3559c22690 | |||
| 37f07c5c3b | |||
| 384edeeaf2 | |||
| 0524d14dee | |||
| a95082f3be | |||
| 4128db3107 | |||
| 7f1e8685d1 | |||
| 34490e4d64 | |||
| d0d02da109 | |||
| b4d36a6c58 | |||
| 355c21e5e4 | |||
| 7f98472141 | |||
| a9b5b3acc0 | |||
| 50467a7836 | |||
| 8abd363ccb | |||
| 230b31c480 | |||
| 417ab4eba7 | |||
| 737ce4f45b | |||
| 25a68a84ae | |||
| 5af5d82701 | |||
| 4dc71ba43d | |||
| d93fc00716 | |||
| 56324193f1 | |||
| 8ac1291efc | |||
| be88e62797 | |||
| c9e688a73a | |||
| 6f8907ee55 | |||
| d36444dcd8 | |||
| 36ba7e5870 | |||
| 4208e91b83 | |||
| 54b8ea895d | |||
| abc76fabff | |||
| 342fed12f8 | |||
| 6846769e65 | |||
| febb830233 | |||
| 7a9f68b9e7 | |||
| 51a53612f4 | |||
| 7d45ff4d3f | |||
| ecef324032 | |||
| 5da162cfb1 | |||
| d744c19171 | |||
| 4053965df7 | |||
| db8cf9024e | |||
| d210dfd924 | |||
| 92fd7dd64e | |||
| a3af0f13e4 | |||
| 176e99f5e0 | |||
| 27235bfe12 | |||
| 77e5488a12 | |||
| d75391c482 | |||
| 9b1261dd95 | |||
| 5bf2e1eb0a | |||
| 3f6071a166 | |||
| eeffe03592 | |||
| 67dbbe23c6 | |||
| 84bcd3c0e1 | |||
| c69c3a374b | |||
| cb98bf7488 | |||
| 7228ef9e09 | |||
| 1ae0a08c52 | |||
| 4b0889d7d3 | |||
| a11ca62792 | |||
| c267218aa0 | |||
| c95d4a5569 | |||
| 75d3d01888 | |||
| 823b0e6c70 | |||
| ac421df6ce | |||
| f653a338e4 | |||
| 868bd8fbcf | |||
| 9af5b344a2 | |||
| 1072dec64d | |||
| af79ad459d | |||
| ed3ebe4b4d | |||
| 1f06c40d98 | |||
| 41aa8ab1f6 | |||
| 4fc08d2412 | |||
| eef240b042 | |||
| 3ae3944c22 | |||
| e1d3d90d9e | |||
| b1676fec52 | |||
| 5ca96662a4 | |||
| 338f5b1e71 | |||
| 90b6756915 | |||
| aaa9f06ff0 | |||
| 3c899fede6 | |||
| 7ad345a53a | |||
| 0cfe25b7c7 | |||
| b7524f7363 | |||
| 8f7c83f9bc | |||
| 17df67a37c | |||
| 3b64cec51b | |||
| 2b09ee7c4e | |||
| 3dfd3782a1 | |||
| 1444c40395 | |||
| dbdfe4c2f2 | |||
| dc22e565c9 | |||
| c13b5ca331 | |||
| 6837a32f6f | |||
| b1d88217ef | |||
| 588e9e8ffc | |||
| 7e8955d44c | |||
| d31aefa615 | |||
| 48bb0e2d1e | |||
| d5a67c41b0 | |||
| 6077568a8e | |||
| accb520b74 | |||
| 0e2c9f96b0 | |||
| b6ef6a2046 | |||
| 8e1f287111 | |||
| 821b69f5a0 | |||
| 9628e78a10 | |||
| b6c28cc69d | |||
| 90b5cffc25 | |||
| 3fdade818b | |||
| de449c3c7d | |||
| a68b445a7c | |||
| 20a7a7c709 | |||
| dbb585cf80 | |||
| 4bf4bce052 | |||
| ac9812b857 | |||
| 9ae39283b3 | |||
| 416072256f | |||
| 906934938c | |||
| 7816c7328c | |||
| d73daebcf7 | |||
| 978bbc29ef | |||
| fc26688963 | |||
| 68ea111608 | |||
| e80ebee195 | |||
| ffc9e829e3 | |||
| 1b9550ea14 | |||
| ecbf97a12a | |||
| 383e5ea7d0 | |||
| 6b97216450 | |||
| 8eb645aff0 | |||
| 7c57f77838 | |||
| bd5d631d68 | |||
| 78f0d937cd | |||
| 985cacbd34 | |||
| 75c5e11f0e | |||
| b244896797 | |||
| 889f47aade | |||
| 5b28b28cff | |||
| d41d05f1a4 | |||
| 7b5cb907b6 | |||
| 70fe7d3348 | |||
| 35142b2d1d | |||
| 08426c438a | |||
| 2b52e51842 | |||
| 3ff26660f3 | |||
| 64124e939c | |||
| 295059a2e7 | |||
| d01a2befba | |||
| f7558c6095 | |||
| 91857356e9 | |||
| cc6be7b328 | |||
| f4e15ca9b2 | |||
| 96dd7388d8 | |||
| 3123c96dda | |||
| 1b940d76ab | |||
| 88eafd06c4 | |||
| f5bdcfe342 | |||
| 0ba2bf4adf | |||
| fc1892763e | |||
| 5093e7ff29 | |||
| 04a15725d3 | |||
| cc467a0eeb | |||
| 37693e3b12 | |||
| 894de700a6 | |||
| d1c5248814 | |||
| 8965f7a2f2 | |||
| fe6ca4d7e8 | |||
| f5a2803f99 | |||
| f54f82fe35 | |||
| 2b12e337f1 | |||
| d781265d62 | |||
| 1bf184f639 | |||
| bda00fa209 | |||
| cc91a345e1 | |||
| 5ff5a7afd1 | |||
| 3b82de7bbb | |||
| 774c0ac2a4 | |||
| 77d6b897fb | |||
| 33c80ea2bb | |||
| b7c4ead683 | |||
| 6afc62177d | |||
| 4e114113be | |||
| 88be19b614 | |||
| 3c43314da0 | |||
| 20d3163fff | |||
| 210d551f4f | |||
| ac8b2eb666 | |||
| c0cfe7073f | |||
| bab99a7126 | |||
| 7001f0c6fa | |||
| 855f373ea7 | |||
| ab21c0af52 | |||
| 2ad86d310c | |||
| cb52f41cdb | |||
| d12346ae45 | |||
| c717d7c031 | |||
| 27b8ac79be | |||
| 3505b665e7 | |||
| 75d5b60f25 | |||
| 0ac3d555ba | |||
| 16274670b6 | |||
| d7a5fb41f5 | |||
| 82421fc614 | |||
| 3988c4d9c6 | |||
| cce28f78c0 | |||
| e0cbcf4e61 | |||
| 42ee5784f0 | |||
| 556cac64d6 | |||
| bd17fde252 | |||
| 83d6a4e7fa | |||
| e829086b09 | |||
| 3707ddf434 | |||
| fb75d9bc40 | |||
| 2a5d513509 | |||
| 8a04baaa20 | |||
| 40da25920a | |||
| abfb68abb0 | |||
| 4123e68798 | |||
| c1ec1cb02d | |||
| 372ccae1d3 | |||
| ca288c45cb | |||
| 945cba664f | |||
| 6b28048b80 | |||
| 316ed2c963 | |||
| d304cbcfe0 | |||
| 5b07207cf4 | |||
| 2ceef65fe2 | |||
| c03d76a4cc | |||
| a18338911f | |||
| de7bd61aed | |||
| 8644df19c0 | |||
| c3a10fa09a | |||
| 5f735f0699 | |||
| 5ecb7652f4 | |||
| ce6d71109b | |||
| cb5ec41590 | |||
| 2bc64203df | |||
| 7eda728af6 | |||
| 586608f863 | |||
| ac28f039bd | |||
| 0bd189a583 | |||
| da21c317f8 | |||
| 2a1742547a | |||
| 1bdf128e34 | |||
| 6b68d5ea25 | |||
| 8a639ca015 | |||
| 2312d59c03 | |||
| f591fe11b8 | |||
| c93fea2389 | |||
| 901c1c279f | |||
| 6969351e71 | |||
| 195c194da0 | |||
| bf82b448f9 | |||
| e14b87cf2d | |||
| 5265fa90ca | |||
| d3c4ec7daf | |||
| 3336edbc42 | |||
| 779768d297 | |||
| 1f182b3881 | |||
| 3e9a8a1f0c | |||
| 5f77bb5c59 | |||
| 01f140842e | |||
| a36e6b3bb7 | |||
| 11e81b70c5 | |||
| 8c1be09f2d | |||
| cd503d7e46 | |||
| bde37c12fe | |||
| a99bb3bcd8 | |||
| dfbc3e5c50 | |||
| c018629b75 | |||
| d8ad20083d | |||
| 80c80765ff | |||
| 08cd692da1 | |||
| 9067e3892b | |||
| 19ece16d87 | |||
| 738410d852 | |||
| 652fc3d3c5 | |||
| 35dece5700 | |||
| 993a3c8c14 | |||
| 0873a50855 | |||
| 5195301e68 | |||
| 17700b8062 | |||
| 45821315a9 | |||
| 326a130787 | |||
| c4df5ed848 | |||
| 9f40f72326 | |||
| e0d047fa6f | |||
| 79e76885fe | |||
| c2913d6df0 | |||
| 599db2f4c1 | |||
| 5402ab02e9 | |||
| f6342942d8 | |||
| e1429a981a | |||
| 5a17f78794 | |||
| 5a56e9d235 | |||
| 209665a2d9 | |||
| 574ced2a3a | |||
| cdfacb9aee | |||
| 552c6509f8 | |||
| e40a7a99cb | |||
| 947096f053 | |||
| 9c7dde4e2b | |||
| a923463895 | |||
| 50901362a0 | |||
| efe26fdfbd | |||
| 1ce21c8cf9 | |||
| 2630475150 | |||
| 22fa75ba82 | |||
| 0882134413 | |||
| 53ae7ddc6d | |||
| c97674c2e6 | |||
| a294d5256e | |||
| 52cf1727f3 | |||
| 2de4492826 | |||
| 035fa391d6 | |||
| c744b3b58f | |||
| 287b0088cf | |||
| 9e9dbb01f4 | |||
| a02297a4af | |||
| c2d5e49e10 | |||
| 6375ad3570 | |||
| 88615fced6 | |||
| bd5626c9be | |||
| 8f31f6dd95 | |||
| 5c77da0978 | |||
| 63992e5dc6 | |||
| c8efc50ff3 | |||
| 1cee46db7f | |||
| d84789e223 | |||
| 6edd51f448 | |||
| 34283eccab | |||
| e5a34454ef | |||
| c4ace5b324 | |||
| 95db80f2e8 | |||
| 56a6bc7a1b | |||
| 8eedeb77bc | |||
| 57175588e4 | |||
| 13db6723c0 | |||
| 88353b1f2d | |||
| 75dced5099 | |||
| cd74eca813 | |||
| 9088a03a49 | |||
| a21c1f748a | |||
| 27c32c2c32 | |||
| 424ed2f3cc | |||
| f8b96743e3 | |||
| 30024cfe79 | |||
| 9677824bd0 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,3 @@
|
||||
/.obsidian/
|
||||
|
||||
/.obsidian
|
||||
/.obsidian*.tmp
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
---
|
||||
processed: true
|
||||
---
|
||||
|
||||
# Last Weeks Homework
|
||||
**Synopsis from Chinese Class_2026-02-19.md:** This session focused on Chinese New Year traditions, including the Spring Gala (春晚), Lunar New Year's Eve (除夕), and the linguistic origin of the phrase "killing your uncle" (死舅) as a pun for "missing old times" (思旧). It also introduced a new grammar structure for expressing that an action is an important step toward a goal.
|
||||
|
||||
# Homework
|
||||
Make 5 sentences in doing main structure
|
||||
- Dǎkāi kǎoxiāng Shì zuofan de zhòngyào yībù
|
||||
- Yào qiānxùn shì Chéngshú de zhòngyào yībù
|
||||
- Zhǎo gōngzuò Shì + jiehun + de zhòngyào yībù
|
||||
- Zhuànqián Shì + Mǎifáng + de zhòngyào yībù
|
||||
- Yánjiū Shì Biàn dé gèng cōngmíng de zhòngyào yībù
|
||||
|
||||
# Random Words
|
||||
- 我觉得我疯了 -》 Wǒ juédé wǒ fēngle -》 I think I'm going crazy.
|
||||
- 上次我买的是实体版,这次我买的是数字版
|
||||
- Shàng cì wǒ mǎi de shì shítǐ bǎn, zhè cì wǒ mǎi de shì shùzì bǎn
|
||||
- Last time I bought the physical version, this time I bought the digital version.
|
||||
- 我不断下辖,不断删除
|
||||
- Wǒ bùduàn xiàzǎi, bùduàn shānchú
|
||||
- I kept downloading and deleting.
|
||||
- bùduàn -> Continuous
|
||||
- xiàzài -> Download
|
||||
- shānchú -> Delete
|
||||
- 这就是为什么我买了数字版
|
||||
- Zhè jiùshì wèishéme wǒ mǎile shùzì bǎn
|
||||
- That's why I bought the digital version.
|
||||
|
||||
# Main Point
|
||||
## bùduàn -> Continuous
|
||||
Adverb. Means "continuous". Hanzi translate as "non-stop"
|
||||
|
||||
我们应该不断向上帝祷告
|
||||
Wǒmen yīnggāi bùduàn xiàng shàngdì dǎogào
|
||||
We should non-stop to god pray.
|
||||
|
||||
我们应该不断为弟兄姐妹祷告
|
||||
Wǒmen yīnggāi bùduàn wèi dìxiōng jiěmèi dǎogào
|
||||
We should continually pray for our brothers and sisters.
|
||||
|
||||
我们应该不断传到
|
||||
Wǒmen yīnggāi bùduàn chuándào
|
||||
|
||||
## That's why
|
||||
|
||||
我没有你的勇气,这就是为什么我还单身
|
||||
Wǒ méiyǒu nǐ de yǒngqì, zhè jiùshì wèishéme wǒ hái dānshēn
|
||||
I don't have your courage, that's why I'm still single.
|
||||
|
||||
## Number One
|
||||
我一七五
|
||||
Wǒ yāoqīwǔ
|
||||
- Note, when pronouncing the number by itself, with no unit, we pronounce one as yāo, not yī
|
||||
|
||||
## Either Big or Small
|
||||
|
||||
Bùguǎn dàshì xiǎoshì, zhǐyào shi wǒmen guānxīn de, yēhéhuá dōu yuànyì tīng
|
||||
No matter how big or small the matter, as long as it concerns us, Jehovah is willing to listen.
|
||||
|
||||
Bùguǎn dàshì xiǎoshì,
|
||||
No matter big or small,
|
||||
|
||||
# Homework
|
||||
- 3 sentences using "bùduàn"
|
||||
- Wǒmen yīnggāi bùduàn lian4xi2 shuo zhongwen
|
||||
- Wǒmen yīnggāi bùduàn baochi jian1qiang2
|
||||
- Wǒmen yīnggāi bùduàn Yánjiū shengjing
|
||||
- 3 sentences using "zhè jiùshì wèishéme”
|
||||
- wo xihuan chi fan, zhe jiushi weishenme wo xuexi zuofan le
|
||||
- wo xihuan bangzhu ren mingbai shengjingle, zhe jiushi weishenme wo xuexi zhongwen.
|
||||
- wo de lao de shǔbiāo Dǎpòle, zhe jiushi weishenme wo xuyao mai yi ge xin de.
|
||||
- 3 sentences using "Bùguǎn dàshì xiǎoshì"
|
||||
- Bùguǎn dàshì xiǎoshì, shangdi keyi bangzhu women Kèfú
|
||||
- Bùguǎn dàshì xiǎoshì, Wǒmen zǒng néng cóng zhōngxué dào yīxiē dōngxī.
|
||||
- Bùguǎn dàshì xiǎoshì,
|
||||
@@ -1,83 +0,0 @@
|
||||
# Last Weeks Homework
|
||||
# Synopsis - 2026-02-26
|
||||
- bùduàn (不断) -> Continuous / Non-stop. Adverb.
|
||||
- zhè jiùshì wèishéme (这就是为什么) -> That's why.
|
||||
- Pronouncing "One" as yāo (一) when reading a number by itself.
|
||||
- Bùguǎn dàshì xiǎoshì (不管大事小事) -> No matter how big or small.
|
||||
|
||||
# Homework
|
||||
- 3 sentences using "bùduàn"
|
||||
- Wǒmen yīnggāi bùduàn lian4xi2 shuo zhongwen
|
||||
- Wǒmen yīnggāi bùduàn baochi jian1qiang2
|
||||
- Wǒmen yīnggāi bùduàn Yándu shengjing
|
||||
- 3 sentences using "zhè jiùshì wèishéme”
|
||||
- wo xihuan chi fan, zhe jiushi weishenme wo xuexi zuofan
|
||||
- wo xihuan bangzhu ren mingbai shengjing, zhe jiushi weishenme wo xuexi zhongwen.
|
||||
- wo de jiù shǔbiāo huàile, zhe jiushi weishenme wo xuyao mai yi ge xin de.
|
||||
- 3 sentences using "Bùguǎn dàshì xiǎoshì"
|
||||
- Bùguǎn dàshì xiǎoshì, shangdi keyi bangzhu women Kèfú
|
||||
- Bùguǎn dàshì xiǎoshì, Wǒmen zǒng néng cóng zhōngxué dào yīxiē dōngxī.
|
||||
|
||||
|
||||
# Random Words
|
||||
**我觉得我可以停掉安眠药**
|
||||
**Wǒ juédé wǒ kěyǐ tíngdiào ānmiányào**
|
||||
**I think I can stop taking sleeping pills.**
|
||||
**- tíngdiào -> to quit (pills, not regular things)**
|
||||
|
||||
我希望可以停掉所有的要
|
||||
Wǒ xīwàng kěyǐ tíng diào suǒyǒu de yāo
|
||||
I hope I can stop all of them.
|
||||
|
||||
他跟我一样,离婚了
|
||||
Tā gēn wǒ yīyàng, líhūnle
|
||||
He, like me, is divorced.
|
||||
|
||||
Bù chéngshú
|
||||
|
||||
**我有一个好消息想告诉你**
|
||||
**Wǒ yǒu yīgè hǎo xiāoxī xiǎng gàosù nǐ**
|
||||
**I have some good news I want to tell you**
|
||||
|
||||
# Main Point
|
||||
## 不了 -> Bùliǎo
|
||||
Verb compliment that means "Can Not"
|
||||
|
||||
## Paragraph
|
||||
https://www.jw.org/cmn-hans/%E5%A4%9A%E5%AA%92%E4%BD%93%E5%9B%BE%E4%B9%A6%E9%A6%86/%E6%9D%82%E5%BF%97/%E5%AE%88%E6%9C%9B%E5%8F%B02023%E5%B9%B4%E7%AC%AC1%E6%9C%9F/%E7%A5%B7%E5%91%8A%E6%9C%89%E5%8A%A9%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7/
|
||||
|
||||
Wǒmen de xīnlǐ jiànkāng chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù, yīnwèi biérén bù yīdìng wánquán lǐjiě wǒmen de gǎnshòu.(Zhēnyán 14:10) Dàn yēhéhuá néng kàn dào yīqiè, tā liǎojiě wǒmen de yōushāng tòngkǔ, yě xīwàng wǒmen chǎngkāi xīnfēi xiàng tā qīngsù.
|
||||
|
||||
- xīnlǐ jiànkāng -> Mental Health
|
||||
- chūxiàn -> to appear
|
||||
- nánmiǎn -> Inevitably
|
||||
- gǎndào -> to feel -> Means the same as juédé
|
||||
- gūdān -> Lonely
|
||||
- wúzhù -> Helpless
|
||||
|
||||
Wǒmen de xīnlǐ jiànkāng chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù
|
||||
When there's a problem with our mental health, inevitably will feel lonely and helpless
|
||||
|
||||
**THING THAT THERE'S A PROBLEM WITH + chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù**
|
||||
When there's a problem with THING THERE'S A PROBLEM WITH, inevitably will feel lonely and helpless
|
||||
|
||||
Wǒmen hé yēhéhuá de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù
|
||||
When there's a problem with our relationship with Jehovah, inevitably will feel lonely and helpless
|
||||
|
||||
Wǒmen hé dìxiōng jiěmèi de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù
|
||||
When there's a problem with our relationship with brothers and sisters, inevitably will feel lonely and helpless
|
||||
|
||||
Zhàngfū gēn qīzǐ de guānxì chūxiàn wèntí shì, nánmiǎn huì gǎndào gūdān wúzhù
|
||||
# Homework
|
||||
- 3 sentences using "Wǒ yǒu yīgè hǎo xiāoxī xiǎng gàosù nǐ"
|
||||
- Wǒ yǒu yīgè hǎo xiāoxī cong shengjing xiǎng gàosù nǐ
|
||||
- ni xiang tingting yīgè hǎo xiāoxī ma?
|
||||
- wo zhende xuyao ting youdian'er hǎo xiāoxī.
|
||||
- 3 sentences using "tíngdiào (to quit pills)"
|
||||
- Yīshēng shuo wo keyi tíngdiào Zhǐtòng yào
|
||||
- Yīshēng shuo wo xuyao bu tíngdiào Kàng ái yào
|
||||
- wo xiwang wo keyi tíngdiào Ānmiányào
|
||||
- 3 sentences using "THING THAT THERE'S A PROBLEM WITH + chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù"
|
||||
- Wǒmen hé Qīzǐ de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù
|
||||
- Wǒmen hé pengyou de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào Nǎohuǒ
|
||||
- Wǒmen hé fumu de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào Bēishāng
|
||||
@@ -1,74 +0,0 @@
|
||||
# Last Weeks Homework
|
||||
# Synopsis - 2026-02-26
|
||||
- bùduàn (不断) -> Continuous / Non-stop. Adverb.
|
||||
- zhè jiùshì wèishéme (这就是为什么) -> That's why.
|
||||
- Pronouncing "One" as yāo (一) when reading a number by itself.
|
||||
- Bùguǎn dàshì xiǎoshì (不管大事小事) -> No matter how big or small.
|
||||
|
||||
# Homework
|
||||
- 3 sentences using "Wǒ yǒu yīgè hǎo xiāoxī xiǎng gàosù nǐ"
|
||||
- Wǒ yǒu yīgè láizì shengjing de hǎo xiāoxī xiǎng gàosù nǐ
|
||||
- Láizì -> 来自 -> Come From
|
||||
- ni xiang tingting yīgè hǎo xiāoxī ma?
|
||||
- wo zhende xuyao ting dian'er hǎo xiāoxī.
|
||||
- 3 sentences using "tíngdiào (to quit pills)"
|
||||
- Yīshēng shuo wo keyi tíngdiào Zhǐtòng yào
|
||||
- Yīshēng shuo wo be keyi tíngdiào Kàng ái yào
|
||||
- wo xiwang wo keyi tíngdiào Ānmiányào
|
||||
- 3 sentences using "THING THAT THERE'S A PROBLEM WITH + chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù"
|
||||
- Wǒmen hé Qīzǐ de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù
|
||||
- Wǒmen hé pengyou de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào Nǎohuǒ
|
||||
- Wǒmen hé fumu de guānxì chūxiàn wèntí shí, nánmiǎn huì gǎndào Bēishāng
|
||||
|
||||
# Random Words
|
||||
- 逗 -> Dòu -> To make someone laugh
|
||||
- 你真的太逗了 -> Nǐ zhēn de tài dòule -> "You are absolutely hilarious!"
|
||||
- 那个笑话太逗了 -> Nàgè xiàohuà tài dòule -> That joke was hilarious.
|
||||
- 电影 -> Diànyǐng -> Movie
|
||||
- 小品 -> Xiǎopǐn -> Comedy Skit
|
||||
- Most popular/funniest skit performer is Mr. Zhao.
|
||||
- 最近过得怎么样?-> Zuìjìnguò dé zěnme yàng? -> How's it been lately?
|
||||
|
||||
# Main Point
|
||||
-
|
||||
|
||||
# Supplementary Notes
|
||||
|
||||
## Article Words
|
||||
https://www.jw.org/cmn-hans/%E5%A4%9A%E5%AA%92%E4%BD%93%E5%9B%BE%E4%B9%A6%E9%A6%86/%E6%9D%82%E5%BF%97/%E5%AE%88%E6%9C%9B%E5%8F%B02023%E5%B9%B4%E7%AC%AC1%E6%9C%9F/%E7%A5%B7%E5%91%8A%E6%9C%89%E5%8A%A9%E5%BF%83%E7%90%86%E5%81%A5%E5%BA%B7/
|
||||
|
||||
Pulled from above article
|
||||
|
||||
因为别人不一定完全理解我们的感受
|
||||
Yīnwèi biérén bù yīdìng wánquán lǐjiě wǒmen de gǎnshòu
|
||||
Because other people may not completely (deeply) understand our feelings
|
||||
- 一定 -> yīdìng -> Certain
|
||||
- 不一定 -> bù yīdìng -> Not Certain | Not for Sure | May Not
|
||||
- 完全 -> wánquán -> Fully | Completely
|
||||
- lǐjiě -> Understand
|
||||
- Note: This is different then 明白/Míngbái. Míngbái is surface understanding, but lǐjiě is deep understanding, that takes time and experience to accumulate.
|
||||
|
||||
### Examples
|
||||
我们的期待要合理,因为别人不一定完全理解我们的感受
|
||||
Wǒmen de qídài yào hélǐ, yīnwèi biérén bù yīdìng wánquán lǐjiě wǒmen de gǎnshòu
|
||||
Our expectations should be reasonable, as others may not fully understand our feelings.
|
||||
- qídài -> expectations
|
||||
- hélǐ -> reasonable
|
||||
我们必须解释好,因为别人不一定完全理解我们的计划
|
||||
Wǒmen bìxū jiěshì hǎo, yīnwèi biérén bù yīdìng wánquán lǐjiě wǒmen de jìhuà
|
||||
We must explain this clearly, as others may not fully understand our plan.
|
||||
jiěshì -> to explain
|
||||
|
||||
## 不一定 // bù yīdìng
|
||||
不一定 -> bù yīdìng
|
||||
|
||||
yīdìng means "certain" or "sure", therefore bù yīdìng means "not sure", but its used in more ways then that. You can stick it as answers to anything your not sure about, or may not happen, or stuff like that.
|
||||
|
||||
### Examples
|
||||
A: 这个周末你工作吗?-> Zhège zhōumò nǐ gōngzuò ma? -> Do you work this weekend?
|
||||
B: 不一定 -> bù yīdìng -> Not sure
|
||||
|
||||
|
||||
# Homework
|
||||
- 3 sentences using "dòu"
|
||||
- 3 sentences using the "Wǒmen de qídài yào hélǐ, yīnwèi biérén bù yīdìng wánquán lǐjiě wǒmen de gǎnshòu" sentence (See Examples)
|
||||
75
10-Input/Classes/Chinese Class_2026-03-26.md
Normal file
75
10-Input/Classes/Chinese Class_2026-03-26.md
Normal file
@@ -0,0 +1,75 @@
|
||||
---
|
||||
processed: true
|
||||
---
|
||||
|
||||
# Homework
|
||||
- 1 sentences using “Shàonǚ shāshǒu”
|
||||
- 我听受他是一个少女杀手
|
||||
- Wǒ tīng shòu tā shì yīgè shàonǚ shāshǒu
|
||||
- 1 sentence using "Shàonán shāshǒu"
|
||||
- 我的朋友告诉我他是一个少男杀手
|
||||
- Wǒ de péngyǒu gàosù wǒ tā shì yīgè shàonán shāshǒu
|
||||
- 3 sentences using "SUBJ + kěndìng hěn + ADJ"
|
||||
- 因为他从工作来了,他肯定很累
|
||||
- Yīnwèi tā cóng gōngzuò de dìfāng guòlái, tā kěndìng hěn lèi
|
||||
- 今天她会结婚,他肯定很快乐
|
||||
- Jīntiān tā huì jiéhūn, tā kěndìng hěn kuàilè
|
||||
- 下个星期我有很多的事情,优惠肯定很忙
|
||||
- Xià gè xīngqí wǒ yǒu hěnduō de Shìqíng, wo kěndìng huì hěn máng
|
||||
- 3 sentences using "Wǒ juédé wǒmen háishì zuì hǎo bǎochí + State of Being"
|
||||
- 我觉得我们还是最好保持努力工作
|
||||
- Wǒ juédé wǒmen háishì zuì hǎo bǎochí nǔlì
|
||||
- 我觉得我们还是最好保持持续学习
|
||||
- Wǒ juédé wǒmen háishì zuì hǎo chíxù xuéxí
|
||||
- 我觉得我们还是最好保持健康饮食
|
||||
- Wǒ juédé wǒmen háishì zuì hǎo bǎochí jiànkāng
|
||||
- 3 sentences using "SUBJ + bǐ shéi dōu + ADJ"
|
||||
- 我的电脑比谁都强大
|
||||
- Wǒ de diànnǎo bǐ shéi de dōu Qiángdà
|
||||
- 他比谁都值得信赖
|
||||
- Tā bǐ shéi dōu zhídé xìnlài
|
||||
- 你比谁都好中文的老师
|
||||
- Nǐ Zhè wèi zhōngwén de lǎoshī bǐ shéi dōu hǎo
|
||||
# Random Words
|
||||
- 分区监督探访
|
||||
- Fēnqū jiāndū tànfǎng
|
||||
- Circuit Overseer Visit
|
||||
- 你们什么时候有分区监督探访
|
||||
- Nǐmen shénme shíhòu yǒu Fēnqū jiāndū tànfǎng?
|
||||
- When will you have circuit overseers visit?
|
||||
- STRUCT: Nǐmen shénme shíhòu yǒu + ACTIVITY?
|
||||
- When will you guys have + ACTIVITY?
|
||||
|
||||
# Main Point
|
||||
## Building a Computer
|
||||
- 你有几台电脑?
|
||||
- Nǐ yǒu jǐ tái diànnǎo?
|
||||
- Notice: tái is the special MW for Computers
|
||||
- 那台电脑是你的主力机?
|
||||
- Nà tái diànnǎo shì nǐ de zhǔlì jī?
|
||||
- Which computer is your main machine?
|
||||
- 主力 -> zhǔlì -> Main/Primary
|
||||
- 性能最好的那台,是我的主力机
|
||||
- Xìngnéng zuì hǎo de nà tái, shì wǒ de zhǔlì jī
|
||||
- Best performance one, is my main one
|
||||
- {{Xìngnéng zuì hǎo}} is acting as a single adj for nà tái (That Machine)
|
||||
- 你的主力机,什么配置?
|
||||
- Nǐ de zhǔlì jī, shénme pèizhì
|
||||
- What are the specs of your main machine?
|
||||
- pèizhì -> Specs
|
||||
- CPU是什么的?
|
||||
- CPU shì shénme de?
|
||||
- What's your CPU?
|
||||
- 锐龙7
|
||||
- Ruìlóng 7 || Ryzen 7 || Translates to: Wise Dragon, but thats just a phonetical translation
|
||||
- 英特尔5
|
||||
- Yīngtè'ěr 5 || Intel 5 ||
|
||||
- 你的显卡是什么的?
|
||||
- Nǐ de xiǎnkǎ shì shénme de?
|
||||
- What kind of graphics card do you have?
|
||||
# Homework
|
||||
- 3 Sentences using “Nǐmen shénme shíhòu yǒu + ACTIVITY?”
|
||||
- Nǐmen shénme shíhòu yǒu nǐmen de hūnlǐ?
|
||||
- Nǐmen shénme shíhòu yǒu zhōumò huìyì?
|
||||
- Nǐmen shénme shíhòu yǒu yīshēng yùyuē?
|
||||
- Recite all sentences for computers
|
||||
94
10-Input/Classes/Chinese Class_2026-04-02.md
Normal file
94
10-Input/Classes/Chinese Class_2026-04-02.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Last Weeks Homework
|
||||
**Synopsis from Chinese Class_2026-03-26.md:** This session focused on technical vocabulary for computers and spiritual activities. We discussed how to ask about future events using "Nǐmen shénme shíhòu yǒu + ACTIVITY?". New vocabulary included specs (pèizhì), performance (xìngnéng), main machine (zhǔlì jī), and components like CPU, GPU (xiǎnkǎ), Ryzen (Ruìlóng), and Intel (Yīngtè'ěr). We also covered the term for a Circuit Overseer Visit (Fēnqū jiāndū tànfǎng).
|
||||
|
||||
**Synopsis from Chinese Class_2026-03-19.md:** This session focused on describing personality traits and certainties. Key vocabulary included "juéjiàng" (stubborn), "shàonǚ shāshǒu" (lady killer), and "shàonán shāshǒu" (teenage heartthrob). We practiced the patterns "SUBJ + bǐ shéi dōu + ADJ" for comparisons, "SUBJ + kěndìng hěn + ADJ" for expressing probability, and "Wǒ juédé wǒmen háishì zuì hǎo bǎochí + State of Being" for recommendations on maintaining a certain state or lifestyle.
|
||||
|
||||
# Homework
|
||||
- 3 Sentences using “Nǐmen shénme shíhòu yǒu + ACTIVITY?”
|
||||
- Nǐmen shénme shíhòu yǒu hūnlǐ?
|
||||
- Nǐmen shénme shíhòu yǒu zhōumò de jùhuì?
|
||||
- Nǐmen shénme shíhòu yǒu yīshēng yùyuē?
|
||||
- Recite all sentences for computers
|
||||
|
||||
# Random Words
|
||||
- 睡得晚了 -> Shuì dé wǎnle -> I went to bed late.
|
||||
|
||||
# Main Point
|
||||
## Memorial
|
||||
|
||||
耶稣牺牲纪念聚会
|
||||
Yēsū xīshēng jìniàn jùhuì
|
||||
Memorial Meeting for Jesus' Sacrifice
|
||||
|
||||
In normal spoken Chinese, they just say:
|
||||
主的晚餐
|
||||
Zhǔ de wǎncān
|
||||
Lord's Evening Meal
|
||||
|
||||
今年你们有多少人出席主的晚餐?
|
||||
Jīnnián nǐmen yǒu duōshǎo rén chūxí zhǔ de wǎncān?
|
||||
How many of you are attending the Lord's Supper this year?
|
||||
|
||||
一百二十三
|
||||
Yībǎi èrshísān
|
||||
123
|
||||
|
||||
因为是我数的人数
|
||||
Yīn wéi shì wǒ shǔ de rénshù
|
||||
Because I was the one who counted the people.
|
||||
|
||||
我负责播放视频和音乐
|
||||
Wǒ fùzé bòfàng shìpín hé yīnyuè
|
||||
I am in charge of playing videos and music.
|
||||
fùzé -> to take care of
|
||||
bòfàng -> To Play
|
||||
|
||||
比如停止参加聚会的人河北会中出去的人
|
||||
Bǐrú tíngzhǐ cānjiā jùhuì de rén hé běi huìzhòng chūqù de rén
|
||||
|
||||
==赎价对你个人来说,有什么意义呢?
|
||||
Shú jià duì nǐ gèrén lái shuō, yǒu shénme yìyì ne?
|
||||
Ransom to you personally , has what meaning?
|
||||
- duì ... lái shuō -> saying to ....
|
||||
- yìyì -> meaning==
|
||||
|
||||
我知道我是个罪人,但赎价给我无亏的良心
|
||||
Wǒ zhīdào wǒ shìgè zuìrén, dàn shú jià gěi wǒ wúkuī de liángxīn
|
||||
I know that I am a sinner, but the ransom gives me a clear conscience.
|
||||
- wúkuī -> Not Guilty | Clean
|
||||
- liángxīn -> conscience
|
||||
|
||||
# Supplementary Notes
|
||||
### I really enjoy seeing you...
|
||||
|
||||
==我很喜欢看你 {Thing you love seeing} 的样子
|
||||
Wǒ hěn xǐhuān kàn nǐ {Thing you love seeing} de yàngzǐ
|
||||
I really like seeing you..... {Thing you love seeing} ==
|
||||
|
||||
我很喜欢看你穿衬衫的样子
|
||||
Wǒ hěn xǐhuān kàn nǐ chuān chènshān de yàngzǐ
|
||||
I really love seeing how you look wearing a shirt.
|
||||
- yàngzǐ -> look/style
|
||||
|
||||
我真喜欢看你微笑的样子
|
||||
Wǒ zhēn xǐhuān kàn nǐ wéixiào de yàngzǐ
|
||||
I really love seeing you smile.
|
||||
|
||||
我很喜欢看你的胖胖的样子
|
||||
Wǒ hěn xǐhuān kàn nǐ pàng pàng de yàngzǐ
|
||||
I really love seeing you looking chubby.
|
||||
_what_
|
||||
Its a thing. I guess.
|
||||
If you say something twice, it softens the blow, and makes it cuter, less offensive.
|
||||
|
||||
|
||||
|
||||
# Homework
|
||||
- 3 Sentences using Wǒ hěn xǐhuān kàn nǐ {Thing you love seeing} de yàngzǐ
|
||||
- Wǒ hěn xǐhuān kàn nǐ chuandao de yàngzǐ
|
||||
- Wǒ hěn xǐhuān kàn nǐ Cóng lóutī shàng shuāi xiàlái de yàngzǐ
|
||||
- Wǒ hěn xǐhuān kàn nǐ zuofan de yàngzǐ
|
||||
- 3 Sentences using "To you personally, something has what meaning?"
|
||||
- Chuàngjiàn duì nǐ gèrén lái shuō, yǒu shénme yìyì ne?
|
||||
- feichang haochi fan duì nǐ gèrén lái shuō, yǒu shénme yìyì ne?
|
||||
- bangzhu bieren duì nǐ gèrén lái shuō, yǒu shénme yìyì ne?
|
||||
71
10-Input/Classes/Chinese Class_2026_04_16.md
Normal file
71
10-Input/Classes/Chinese Class_2026_04_16.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Homework
|
||||
- 3 Sentences using Wǒ hěn xǐhuān kàn nǐ {Thing you love seeing} de yàngzǐ
|
||||
- Wǒ hěn xǐhuān kàn nǐ chuandao de yàngzǐ
|
||||
- Wǒ hěn xǐhuān kàn nǐ Cóng lóutī shàng shuāi xiàlái de yàngzǐ
|
||||
- Wǒ hěn xǐhuān kàn nǐ zuofan de yàngzǐ
|
||||
- 3 Sentences using "To you personally, something has what meaning?"
|
||||
- Shòu zàowù duì nǐ gèrén lái shuō, yǒu shénme yìyì ne?
|
||||
- feichang haochi de fan duì nǐ gèrén lái shuō, yǒu shénme yìyì ne?
|
||||
- bangzhu bieren duì nǐ gèrén lái shuō, yǒu shénme yìyì ne?
|
||||
|
||||
# Random Words
|
||||
|
||||
公寓 -> Gōngyù -> Apartment
|
||||
|
||||
爱子让我很头疼
|
||||
Àizǐ ràng wǒ hěn tóuténg
|
||||
Aiko gives me a headache
|
||||
|
||||
顺其自然吧
|
||||
Shùn qí zìrán ba
|
||||
Just let things take their course.
|
||||
Whatever happens, happens
|
||||
As it goes
|
||||
- zìrán -> Nature
|
||||
- Shùn -> Follow
|
||||
- qí -> It's
|
||||
|
||||
# 一股脑地 // yīgǔnǎo de
|
||||
|
||||
一股脑地 -> yīgǔnǎo de
|
||||
|
||||
Means "All at once". The hanzi translates to "One Stream Brain", as in one continuous stream. The de is just the -ly for adverbs.
|
||||
|
||||
我们不需要把自己从圣经学到的一切一股脑地告诉别人
|
||||
Wǒmen bù xūyào bǎ zìjǐ cóng shèngjīng xué dào de yīqiè yīgǔnǎo de gàosù biérén
|
||||
We do not need to everything we learned from the bible all at once tell others
|
||||
- yīgǔnǎo de -> All at once
|
||||
|
||||
### Structure:
|
||||
SUBJ zǒng shì yīgǔnǎo de {{VERB}} ge bù tíng
|
||||
SUBJ always does VERB non-stop
|
||||
|
||||
- ge bù tíng -》 Means non-stop
|
||||
### Examples
|
||||
她总是一股脑地说个不停
|
||||
Tā zǒng shì yīgǔnǎo de shuō ge bù tíng
|
||||
She always non stop talks
|
||||
|
||||
他总是一股脑地吃个不停
|
||||
Tā zǒng shì yīgǔnǎo de chī gè bù tíng
|
||||
He always eats non stop
|
||||
|
||||
别总是一股脑地吃个不停
|
||||
Bié zǒng shì yīgǔnǎo de chī gè bù tíng
|
||||
Don't always eat nonstop
|
||||
|
||||
我一股脑地把所有旧衣服都扔了
|
||||
Wǒ yīgǔnǎo de bǎ suǒyǒu jiù yīfú dōu rēngle
|
||||
I all at once all my old clothes throw away
|
||||
|
||||
他一股脑地吧整本圣经都读完了
|
||||
Tā yīgǔnǎo de bǎ zhěng běn shèngjīng dōu dúwánle
|
||||
He all at once the entire bible finished reading
|
||||
|
||||
我一股脑的吧所有游戏都卖了
|
||||
Wǒ yīgǔnǎo de bǎ suǒyǒu yóuxì dōu màile
|
||||
I all at once all my games sold
|
||||
|
||||
|
||||
# Homework
|
||||
- Make 5 sentences using "yīgǔnǎo de"
|
||||
67
10-Input/Classes/Chinese Class_2026_04_23.md
Normal file
67
10-Input/Classes/Chinese Class_2026_04_23.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Homework
|
||||
- Make 5 sentences using "yīgǔnǎo de"
|
||||
- 买东西的时候,我喜欢一股脑把东西买玩
|
||||
Mǎi dōngxī de shíhòu, wǒ xǐhuān yīgǔnǎo bǎ dōngxī mǎiwan
|
||||
- 我一股脑地吧我的衣服洗了
|
||||
Wǒ yīgǔnǎo de ba wǒ de yīfú xǐwanle
|
||||
- 别一股脑吧一切打开
|
||||
Bié yīgǔnǎo ba yīqiè dǎkāi
|
||||
- 她总是一股脑地读个不停
|
||||
Tā zǒng shì yīgǔnǎo de dú gè bù tíng
|
||||
- 他总是一股脑地唱歌个不停
|
||||
Tā zǒng shì yīgǔnǎo de chàng gè bù tíng
|
||||
# Random Words
|
||||
- 现在外面正在下雨
|
||||
Xiànzài wàimiàn zhèngzài xià yǔ
|
||||
- 雨大不大
|
||||
Yǔ dà bù dà?
|
||||
- 不大,还行
|
||||
Bù dà, hái xíng // Not big, so-so
|
||||
- 你智商太高了
|
||||
Nǐ zhìshāng tài gāole
|
||||
Your Intelligence is very high
|
||||
- zhìshāng // Intelligence
|
||||
- Qíngshāng // Emotional Intelligence
|
||||
-
|
||||
# Main Point
|
||||
## Don't over do it
|
||||
### Structures
|
||||
Subj + Verb + Obj 是要小心,一定不要用力过猛
|
||||
Subj + Verb + Obj shì yào xiǎoxīn, yīdìng bùyào yònglìguò měng
|
||||
Be careful when Subj + Verb + Obj, must not over do it
|
||||
- yīdìng -> must
|
||||
- yīdìng is optional, only add for emphasis
|
||||
- yònglìguò měng -> Over do it
|
||||
|
||||
Subj + Verb + Object 的时候用力过猛,result
|
||||
Subj + Verb + Object de shíhòu yònglìguò měng, result
|
||||
when Subj overdid Verb (+obj), result of overdoing it
|
||||
### Examples
|
||||
你想他们传道士也可能用力过猛,结果跟他们起了冲突
|
||||
Nǐ xiǎng tāmen chuándàoshi yě kěnéng yònglìguò měng, jiéguǒ gēn tāmen qǐle chōngtú
|
||||
You toward them (family) preaching also might overdo it, the result with them have conflict.
|
||||
- yònglìguò měng -> Over do it
|
||||
|
||||
我们像亲人传到的时候要小心,一定不要用力过猛
|
||||
Wǒmen xiàng qīnrén chuán dào de shíhòu yào xiǎoxīn, yīdìng bùyào yònglìguò měng
|
||||
We towards other people preach want to be careful, must not overdo it
|
||||
- qīnrén -> Relatives
|
||||
|
||||
干活的时候,要小心,一定不要用力过猛
|
||||
Gàn huó de shíhòu, yào xiǎoxīn, bùyào yònglìguò měng
|
||||
When you work (physically), need to be careful, don't overdue it
|
||||
|
||||
她化妆的时候用力过猛,看起来很不自然
|
||||
Tā huàzhuāng de shíhòu yònglìguò měng, kàn qǐlái hěn bù zìrán
|
||||
She went overboard with her makeup; it looks very unnatural.
|
||||
|
||||
我做饭的时候用力过猛,结果很不好吃
|
||||
Wǒ zuò fàn de shíhòu yònglìguò měng, jiéguǒ hěn bù hào chī
|
||||
When I go overboard in cooking, the result doesn't taste good
|
||||
|
||||
# Note
|
||||
Look up differences between verb compliment le, and verb compliment wan
|
||||
|
||||
# Homework
|
||||
3 Sentences for Structure A
|
||||
3 Sentences for Structure B
|
||||
101
10-Input/Classes/Chinese Class_2026_04_30.md
Normal file
101
10-Input/Classes/Chinese Class_2026_04_30.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# Homework
|
||||
3 Sentences for Structure A
|
||||
zuofan de shíhòu, Jiā yán shì yào xiǎoxīn, yīdìng bùyào yònglìguò měng
|
||||
Pào chá de shíhòu, Jiā Fēngmì shì yào xiǎoxīn, bùyào yònglìguò měng
|
||||
Tígōng jiànyì de shíhòu bié shuō tài duō, yīdìng bùyào yònglìguò měng
|
||||
3 Sentences for Structure B
|
||||
Subj + Verb + Object de shíhòu yònglìguò měng, result
|
||||
# Random Words
|
||||
- 服务器 -> Fúwùqì -> Server (As in computer)
|
||||
- Lit: Serving Machine
|
||||
- 你真的太会玩儿了
|
||||
Nǐ zhēn de tài huì wán erle
|
||||
You really know how to have a good time!
|
||||
Can be applied to most anything, as long as your having fun
|
||||
- 小远 -> Xiǎoyuǎn -> This is apparently our name.
|
||||
- You can add xiao before the hanzi to show familiarity to someone?
|
||||
- 怎么了 -> Zěnmele -> Whats up?
|
||||
- 没怎么 -> Méi zěnme -> Not much
|
||||
|
||||
# Aiko
|
||||
- 矮子刻意避开我
|
||||
Ǎizǐ kèyì bì kāi wǒ
|
||||
Aiko deliberately avoided me
|
||||
- kèyì -> deliberately
|
||||
- 不过得看谁和我们一起
|
||||
- Bùguò déi kàn shéi he wǒmen yīqǐ
|
||||
It Depends on who's with us
|
||||
- déi kàn -> Depends on
|
||||
- 上个星期五我主持传到前聚会
|
||||
Shàng gè xīngqíwǔ wǒ zhǔchí chuándào qián jùhuì
|
||||
Last Friday I conducted meeting before service
|
||||
No le, because this is part of a story. If it was just a statement, le would there.
|
||||
- 我是唯一的弟兄
|
||||
Wǒ shì wéiyī de dìxiōng
|
||||
I was the only brother
|
||||
- 爱子和其他地方的朋友来了
|
||||
Àizǐ hé qítā dìfāng de péngyǒu láile
|
||||
- 他的朋友大概四五十岁
|
||||
Tā de péngyǒu dàgài sìwǔshí suì
|
||||
Her Friend probably 40/50 year old
|
||||
- 从澳大利亚来
|
||||
Cóng àodàlìyǎ lái
|
||||
From Australia came
|
||||
- 他的朋友人非常好。
|
||||
Tā de péngyǒu rén fēicháng hǎo.
|
||||
Her friend is a very good person.
|
||||
|
||||
- 安排 an1pai2 appointment
|
||||
|
||||
- 我们传道的地方不一样
|
||||
Wǒmen chuándào de dìfāng bù yīyàng
|
||||
Ours preaching place not the same
|
||||
|
||||
- 非常近,非常远
|
||||
Fēicháng jìn, fēicháng yuǎn
|
||||
very close, very far
|
||||
|
||||
- 传道之后 Chuándào zhīhòu
|
||||
After preaching
|
||||
|
||||
- 跟日本人结婚了
|
||||
Gēn rìběn rén jiéhūnle
|
||||
Married to Japanese people
|
||||
|
||||
- 如何跟日本人谈恋爱
|
||||
Rúhé gēn rìběn rén tán liàn'ài
|
||||
How to date a Japanese person
|
||||
|
||||
- slow 慢 man4
|
||||
|
||||
- 日本人喜欢慢慢的谈恋爱,不能着急。
|
||||
Rìběn rén xǐhuān mànman4 de tán liàn'ài, bùnéng zhāojí.
|
||||
Japanese people prefer to take their time in dating and don't like to rush.
|
||||
|
||||
- 想法 xiang3fa3 thought
|
||||
|
||||
- 我觉得你们俩以后会好的。
|
||||
Wǒ juédé nǐmen liǎ yǐhòu huì hǎo de.
|
||||
I think you two will be together in the future.
|
||||
|
||||
- 我说你真的很喜欢爱子
|
||||
Wǒ shuō nǐ zhēn de hěn xǐhuān ài zǐ
|
||||
I said you really like Aiko
|
||||
|
||||
- 妈妈说:
|
||||
mama shuo:
|
||||
Mom said:
|
||||
|
||||
- 你离开了我
|
||||
Nǐ líkāile wǒ
|
||||
You left me
|
||||
|
||||
- 爱子是一个糟糕的女儿
|
||||
Ài zǐ shì yīgè zāogāo de nǚ'ér
|
||||
Aiko is a terrible daughter
|
||||
# Main Point
|
||||
##
|
||||
# Note
|
||||
Look up differences between verb compliment le, and verb compliment wan
|
||||
|
||||
# Homework
|
||||
@@ -1,10 +1,7 @@
|
||||
# Synopsis - 2026-02-26
|
||||
- bùduàn (不断) -> Continuous / Non-stop. Adverb.
|
||||
- zhè jiùshì wèishéme (这就是为什么) -> That's why.
|
||||
- Pronouncing "One" as yāo (一) when reading a number by itself.
|
||||
- Bùguǎn dàshì xiǎoshì (不管大事小事) -> No matter how big or small.
|
||||
**Synopsis from Chinese Class_2026-03-26.md:** This session focused on technical vocabulary for computers and spiritual activities. We discussed how to ask about future events using "Nǐmen shénme shíhòu yǒu + ACTIVITY?". New vocabulary included specs (pèizhì), performance (xìngnéng), main machine (zhǔlì jī), and components like CPU, GPU (xiǎnkǎ), Ryzen (Ruìlóng), and Intel (Yīngtè'ěr). We also covered the term for a Circuit Overseer Visit (Fēnqū jiāndū tànfǎng).
|
||||
|
||||
**Synopsis from Chinese Class_2026-03-19.md:** This session focused on describing personality traits and certainties. Key vocabulary included "juéjiàng" (stubborn), "shàonǚ shāshǒu" (lady killer), and "shàonán shāshǒu" (teenage heartthrob). We practiced the patterns "SUBJ + bǐ shéi dōu + ADJ" for comparisons, "SUBJ + kěndìng hěn + ADJ" for expressing probability, and "Wǒ juédé wǒmen háishì zuì hǎo bǎochí + State of Being" for recommendations on maintaining a certain state or lifestyle.
|
||||
|
||||
# Homework
|
||||
- 3 sentences using "bùduàn"
|
||||
- 3 sentences using "zhè jiùshì wèishéme”
|
||||
- 3 sentences using "Bùguǎn dàshì xiǎoshì"
|
||||
- 3 Sentences using “Nǐmen shénme shíhòu yǒu + ACTIVITY?”
|
||||
- Recite all sentences for computers
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
# Last Weeks Homework
|
||||
# Synopsis - 2026-03-04
|
||||
- "Supposed to be": はずです. Indicates strong expectation or certainty based on evidence. Dictionary form verbs, nouns with の, and な-adjectives with な.
|
||||
- Line/Queue: 行列 (ぎょうれつ).
|
||||
- Fluent: ペラペラ (ぺらぺら).
|
||||
- Art/Art School: 芸術 (げいじゅつ) / 芸術の学校 (げいじゅつのがっこう).
|
||||
|
||||
# Random Words
|
||||
- ややこしい - Confusing -> い形容詞
|
||||
- 遠慮しておきま -> えんりょしておきます -> Say this to decline an invitation. It translates to "I'll be reserved about it"
|
||||
- Can also say 遠慮しないでください which means "don't worry about it". It literally means "don't be so reserved about it".
|
||||
- つま -> Wife
|
||||
- Normal way of saying it
|
||||
- おと -> Husband
|
||||
- Normal way of saying it
|
||||
- 主人 -> しゅじん -> Way a wife often calls her husband
|
||||
- A bit more polite
|
||||
- 奥様が -> おくさま -> Wife
|
||||
- Very polite way of saying it. Usually used in relation to other peoples wives
|
||||
- ご主人様 -> Husband | Lit: Master (yikes)
|
||||
- Very polite way of saying it. Usually used in relation to other peoples Husbands
|
||||
- ゆっくり話 -> ゆっくりはなし -> A way to say "A good talk", but in like, deep conversation and productive talk kind of way
|
||||
- がる -> to feel (verb)
|
||||
- I feel like this is a big one we somehow missed.
|
||||
|
||||
# Main Point
|
||||
## 謙譲語 -> けんじょうご -> Humble Speech
|
||||
This is けいご、very polite speak, this is the second pattern. These words lower yourself, whereas そんけいご/尊敬語 raises the other person up. **The subject of the sentences involved is usually ourselves, or our family. Something that involves us, since we're lowering it.**
|
||||
|
||||
Used for superiors at work, for clients, for strangers, and for formal situations.
|
||||
|
||||
There are specific conjugation patterns for humble speech:
|
||||
|
||||
* **For Group 1 and 2 verbs:** Add お- to the verb stem and follow with -します
|
||||
* お + verb stem + します
|
||||
お手伝いします -> To help
|
||||
お送りします -> おおくりします -> To Send
|
||||
* * (e.g., ご案内します - to guide, ご説明します - to explain, お手伝いします - to help, お送りします - to send).
|
||||
* **For Group 3 verbs (suru verbs):** Add ご- to the noun part of the verb and follow with -します For verbs like 電話する (to call) and 約束する (to promise), it becomes おでんわします and お約束します respectively.
|
||||
* Note: This only used when the Noun before する is two kanji.
|
||||
* There are two exceptions:
|
||||
* 電話 & 約束 use お in front, not ご. There's no reason why, its just custom
|
||||
* ご + Noun + します
|
||||
ご案内します -> ごあんないします -> To Guide
|
||||
ごせつめいします -> To explain
|
||||
おでんわします -> To call
|
||||
おやくそくします -> To Promise
|
||||
|
||||
Examples of humble speech in sentences include:
|
||||
* 私は先生をお送りします (I will drop off the teacher).
|
||||
* 私は社長にscheduleをお伝えします (I will tell the president the schedule).
|
||||
* 私は課長にお手伝いしましょう (I will help the manager).
|
||||
Group 3:
|
||||
- 私は会社に得意様をご案内します (I will show our valued clients around the company.)
|
||||
- 私は課長にA-sanをご紹介します (I will introduce Mr./Ms. A to the Section Manager.)
|
||||
- 彼は社長にお電話します (He will call the president.)
|
||||
-
|
||||
### Examples
|
||||
私は先生を駅にお送りします -> To drop off the teacher at the station
|
||||
私は社長にscheduleをお伝えします -> TO tell the president the schedule
|
||||
私は課長にお手伝いしましょう -> I'll help the manager
|
||||
@@ -1,47 +0,0 @@
|
||||
79674766584:0173
|
||||
# Last Weeks Homework
|
||||
# Synopsis - 2026-03-11
|
||||
- Humble Speech (謙譲語/Kenjougo): Used to lower oneself/family.
|
||||
- Pattern 1 (Group 1/2): お + stem + します (e.g., お送りします).
|
||||
- Pattern 2 (Group 3): ご + noun + します (e.g., ご説明します).
|
||||
- Declining invitations: 遠慮しておきます (Polite decline).
|
||||
- Family Titles: Specific terms for husband (主人, ご主人様) and wife (奥様) depending on politeness and whose family it is.
|
||||
- Vocabulary: ややこしい (Confusing), がる (To feel), ゆっくり話 (Good/deep talk).
|
||||
|
||||
|
||||
# Random Words
|
||||
- 座って、ゆっくり楽しめました。
|
||||
- I was able to sit down and enjoy it at my leisure.
|
||||
- 監督 -> かんとく -> Overseer
|
||||
- 部門監督 -> ぶもんかんとく -> department Overseer
|
||||
- なぜか、分かりませんが
|
||||
- I don't know why, but...
|
||||
- Non Polite: なぜか、わからないけど
|
||||
- お客様 -> おきゃくさま -> Customer
|
||||
- Usually used for someone your selling something physical too.
|
||||
- お得意様 -> とくいさま -> Client
|
||||
- Usually used for someone your selling a service too.
|
||||
- 自己紹介 -> じこしょうかい -> Self-Introduction
|
||||
- 相談する -> そうだんする -> To Discuss
|
||||
- We know this one already.
|
||||
- 招待 -> しょうたい -> Invitation
|
||||
- 招待する -> To Invite
|
||||
-
|
||||
|
||||
# Main Point
|
||||
## 特別の謙譲語 -> とくべつのけんじょうご -> Special Humble Speech
|
||||
|
||||
| Polite form | Special humble verbs I | Lit Translation |
|
||||
| :-------------- | :--------------------- | -------------------------------------------------------------------------------- |
|
||||
| たべます/のみます/もらいます | いただきます | To Receive (food, drink, whatever) |
|
||||
| みます | はいけんします | To see and worship it |
|
||||
| 聞きます/(うちに)いきます | うかがいます | To visit/To ask/To hear |
|
||||
| あいます | おめにかかります | To hang on to my eyes |
|
||||
| あげます | さしあげます | To Offer (like an offering). Like your taking your hands and offering a sword up |
|
||||
|
||||
|
||||
# Supplementary Notes
|
||||
-
|
||||
|
||||
# Homework
|
||||
-
|
||||
82
10-Input/Classes/Japanese Class_2026-04-01.md
Normal file
82
10-Input/Classes/Japanese Class_2026-04-01.md
Normal file
@@ -0,0 +1,82 @@
|
||||
---
|
||||
processed: true
|
||||
---
|
||||
79674766584:0173
|
||||
# Last Weeks Homework
|
||||
**Synopsis from Japanese Class_2026-03-23.md:** Continued Special Humble Speech (Tokubetsu no Kenjougo) with verbs like 'mairimasu' (go/come), 'orimasu' (be), and 'moushimasu' (say). Introduced the 'V-naide' pattern for expressing 'instead of' doing something. Vocabulary included clothing items (short/long sleeves, shorts) and terms like 'kouei' (honor) and 'renkyuu' (long holiday).
|
||||
|
||||
# Random Words
|
||||
- 学習しました -> I learned something
|
||||
- 上着 - うわぎ -> Jacket
|
||||
- 下着 -> したぎ -> Underwear
|
||||
- 薄着 -> うすぎ -> Thin Clothes (Summer Clothes)
|
||||
- 厚着 -> あつぎ -> Thick Clothes (Winter Clothes)
|
||||
- 記憶喪失 -> きおくそうしつ -> Memory Loss
|
||||
- 離陸する -> りりくする -> To Take off (like in an airplane)
|
||||
- 着陸する -> ちゃくりくする -> To Land (like in an airplane)
|
||||
- 到着 -> とうちゃく -> Arrival
|
||||
- 間違う -> まちがう -> To make a mistake
|
||||
- 文章 -> ぶんしょ -> Documents
|
||||
- お見合い -> おみあい -> Arranged Marriage
|
||||
- 招待する -> しょうたいする -> to invite
|
||||
|
||||
# Main Point
|
||||
## Embedded Question
|
||||
When you want to stick a "Who/What/Where/When/Why" question into the middle of a sentence, you follow this formula:
|
||||
|
||||
> **[Question in Plain Form] + か + [Main Verb]**
|
||||
|
||||
The verb inside that first part **must** be in the **Plain Form** (e.g., _たべる_ instead of _たべます_).
|
||||
|
||||
- **ビールをなんぼんのんだか、わかりません。**
|
||||
- _Literal:_ How many bottles drank [か], don't know.
|
||||
- _Natural:_ I don't know how many beers I drank.
|
||||
|
||||
- **どこにすんでいるか、おしえてください。**
|
||||
- _Literal:_ Where living [か], please tell me.
|
||||
- _Natural:_ Please tell me where you live.
|
||||
|
||||
- **いつかいぎがあるか、しっていますか。**
|
||||
- _Literal:_ When meeting is [か], do you know?
|
||||
- _Natural:_ Do you know when the meeting is?
|
||||
|
||||
### Noun / な-Adjectives
|
||||
|
||||
When you use a **Noun** or a **な-Adjective** with this specific grammar, you **drop the "だ"**.
|
||||
- **Correct:** どこが不便**か**、教えてください。 (Tell me what is inconvenient.)
|
||||
- **Incorrect:** どこが不便~~だ~~か...
|
||||
No です・だ, skip it entirely.
|
||||
|
||||
### Whether or Not
|
||||
|
||||
**かどうか** is used for **Yes/No questions** where there is no interrogative word (like "where" or "who").
|
||||
|
||||
- **If there's a question word (Who/What/etc):** Just use **か**.
|
||||
- **If there's NO question word:** Use **かどうか**
|
||||
|
||||
- **私が結婚しているかどうか、わかりません。**
|
||||
- "I don't know **whether or not** I am married."
|
||||
- _You what now?_
|
||||
- **家族がいるかどうか、わかりません。**
|
||||
- "I don't know **if** I have family (there) **or not**."
|
||||
### Examples
|
||||
- 事故に遭ったかどうか、覚えっていません
|
||||
- I don't remember if the accident happened or not
|
||||
- ここはどこか、私は誰か、どうしてここにいるか、かぞくがいるか、おぼえていません
|
||||
- I do not remember where I am, who I am, why I am here, or if I have a family.
|
||||
- 私はA-さんがどこにいるか、わかりません
|
||||
- B-さんが卒業したかどうか、知りません
|
||||
- I don't know whether B-san graduated or not.
|
||||
- いつ離陸するか、教えてください
|
||||
- Please tell me when we will take off.
|
||||
- 私は文書が間違っているかどうか、チェックします
|
||||
- I will check whether the document is incorrect.
|
||||
- 招待したの人が来るかどうか、知りません
|
||||
- I don't know whether the people I invited will come or not.
|
||||
-
|
||||
|
||||
# Supplementary Notes
|
||||
- For 知っている, we can only use ています in the affirmative, not in the negative.
|
||||
|
||||
# Homework
|
||||
-
|
||||
79
10-Input/Classes/Japanese Class_2026-04-23.md
Normal file
79
10-Input/Classes/Japanese Class_2026-04-23.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
processed: true
|
||||
---
|
||||
79674766584:0173
|
||||
# Last Weeks Homework
|
||||
|
||||
# Random Words
|
||||
- 往復 -> おうふく -> Round Trip
|
||||
- 一泊 -> いっぱく -> One Night Stay
|
||||
- 片道 -> かたみち -> One Way
|
||||
- 実家 -> じっか -> Home Town
|
||||
- 最低限 -> さいていげん
|
||||
- 眺め -> ながめ -> View
|
||||
- 眺める -> ながめる -> To View
|
||||
- 録音 -> ろくおん -> Recording
|
||||
- 低い -> ひくい -> Low
|
||||
- 金閣寺 -> きんかくじ -> Golden Temple
|
||||
- 三線 -> さんしん -> Sanshin (Okinawan Instrument)
|
||||
- 楽器 -> がっき -> Instrument
|
||||
- 滑る -> すべる -> To Slip (godan)
|
||||
- 割れる -> われる -> To Shatter
|
||||
# Main Point
|
||||
## という -> Called
|
||||
ドリアン という 果物(くだもの)を 知っていますか?
|
||||
Do you know the fruit called Dorian?
|
||||
|
||||
name+という+item = The Item called Name
|
||||
|
||||
### Examples
|
||||
トムヤムクンというタイ料理を知っていますか?
|
||||
Do you know a Thai dish called Tom Yum Kung?
|
||||
|
||||
金閣寺というお寺を知っていますか?
|
||||
Do you know the temple called Kinkaku-ji? (Golden Temple)
|
||||
*Yes, yes we do. All to well*
|
||||
|
||||
三線という楽器を知っていますか?
|
||||
Are you familiar with the instrument called the sanshin?
|
||||
|
||||
## Easy and Difficult // ~やすい & ~にくい
|
||||
|
||||
To express that something is easy or difficult to do, you can stick ~やすい (easy) or ~にくい (difficult) at the end of the verb. The verb has to be in stem form, so take the verb, conjugate it to ~ます form, and then cut off the ます, and stick ~やすい or ~にくい at the end to express what you want to say.
|
||||
|
||||
### Examples
|
||||
このパソコンは使いやすい
|
||||
This Computer is easy to use
|
||||
|
||||
右のパソコンは使いにくいです
|
||||
The right computer is difficult to use
|
||||
|
||||
このスニーカーは歩きやすいです
|
||||
The shoes on the left are easy to walk in
|
||||
|
||||
このハイヒールはあるきにくいです
|
||||
The High Heels are hard to walk in
|
||||
|
||||
この本は分かりやすい
|
||||
This book is easy to understand
|
||||
|
||||
この通りは運転しやすいです
|
||||
This road is easy to drive on
|
||||
|
||||
この道は運転しにくいです
|
||||
This road is difficult to drive on.
|
||||
|
||||
氷は車で滑りやすい
|
||||
Ice by car is easy to slip on
|
||||
|
||||
冬は交通事故が起きやすいです
|
||||
It's easy to have a car accident in winter
|
||||
|
||||
グラスは割れやすいです
|
||||
The glass is easy to shatter
|
||||
|
||||
カップは割れにくいです
|
||||
The cup is difficult to shatter
|
||||
|
||||
僕のマンションは素地しやすい
|
||||
My apartment is easy to clean
|
||||
50
10-Input/Classes/Japanese Class_2026-04-30.md
Normal file
50
10-Input/Classes/Japanese Class_2026-04-30.md
Normal file
@@ -0,0 +1,50 @@
|
||||
---
|
||||
processed: true
|
||||
---
|
||||
79674766584:0173
|
||||
# Random Words
|
||||
梅雨 -> つゆ -> Rainy Season
|
||||
それる -> To Go around
|
||||
憲法記念日 -> けんぽうきねんび
|
||||
勤勉 -> きんべん -> Diligent
|
||||
招き猫 -> Inviting Cat (Kami that invites money)
|
||||
頼む -> たのむ-> To Ask/Request
|
||||
警察 けいさつ -> Police
|
||||
誘う -> さそう -> To Invite (More casual)
|
||||
|
||||
# Main Point
|
||||
## Golden Week
|
||||
憲法記念日 -> けんぽうきねんび -> Constitution Memorial Day
|
||||
5/4 -> 国民の休日 -> Citizens Holiday
|
||||
5/5 -> 子供の日 -> Boys Holiday
|
||||
|
||||
Its basically a collection of holidays they just kept adding to it to make it a week
|
||||
|
||||
## Passive Form // 受身形
|
||||
|
||||
This transforms the verb from "to do something" to "to be done something to by"
|
||||
|
||||
To Invite -> To be invited by
|
||||
To eat -> To be eaten by
|
||||
To love -> To be loved by
|
||||
|
||||
|**Group**|**Dictionary Form (Vじしょ)**|**Passive Form (Vうけみ)**|**Example (Dict.)**|**Example (Passive)**|
|
||||
|---|---|---|---|---|
|
||||
|**Group 1**|~u|~**aれる**|しかる|**しかられる**|
|
||||
||~う|~**われる**|さそう|**さそわれる**|
|
||||
|**Group 2**|~る|~**られる**|たべる|**たべられる**|
|
||||
|**Group 3**|する|**される**|ゆにゅうする|**ゆにゅうされる**|
|
||||
||くる|**こられる**|もってくる|**もってこられる**|
|
||||
|
||||
私は 友達から 結婚式に 招待される
|
||||
As for me, From a friend, To Wedding, was invited
|
||||
|
||||
### Examples
|
||||
彼女はお母さんからスーパーに買い物に行って、と頼まれました
|
||||
The girl, from mother, to supermarket buy things, requested to
|
||||
|
||||
いとうさんは警察から注意されました
|
||||
As for Itou, by police, was told to be careful
|
||||
|
||||
鈴木さんは井上さんからデートに誘われます
|
||||
Mr. Inoue asks Ms. Suzuki out on a date.
|
||||
@@ -1,10 +1,8 @@
|
||||
# Synopsis - 2026-03-11
|
||||
- Humble Speech (謙譲語/Kenjougo): Used to lower oneself/family.
|
||||
- Pattern 1 (Group 1/2): お + stem + します (e.g., お送りします).
|
||||
- Pattern 2 (Group 3): ご + noun + します (e.g., ご説明します).
|
||||
- Declining invitations: 遠慮しておきます (Polite decline).
|
||||
- Family Titles: Specific terms for husband (主人, ご主人様) and wife (奥様) depending on politeness and whose family it is.
|
||||
- Vocabulary: ややこしい (Confusing), がる (To feel), ゆっくり話 (Good/deep talk).
|
||||
**Synopsis from Japanese Class_2026-04-01.md:** This session introduced embedded questions using the `[Question in Plain Form] + か + [Main Verb]` pattern and "Whether or Not" using `かどうか`. Vocabulary focused on clothing (jacket, underwear, thin/thick clothes) and travel-related terms like taking off/landing. Also covered memory loss (記憶喪失) and arranged marriage (お見合い).
|
||||
|
||||
**Synopsis from Japanese Class_2026-03-23.md:** Continued Special Humble Speech (Tokubetsu no Kenjougo) with verbs like 'mairimasu' (go/come), 'orimasu' (be), and 'moushimasu' (say). Introduced the 'V-naide' pattern for expressing 'instead of' doing something. Vocabulary included clothing items (short/long sleeves, shorts) and terms like 'kouei' (honor) and 'renkyuu' (long holiday).
|
||||
|
||||
**Synopsis from Japanese Class_2026-03-18.md:** Introduced Special Humble Speech (Tokubetsu no Kenjougo) which uses unique verbs like "itadakimasu" (eat/drink/receive), "haikenshimasu" (see), and "sashiagemasu" (give). Vocabulary focused on professional settings: overseer (監督), customers (お客様), and clients (お得意様).
|
||||
|
||||
# Homework
|
||||
- (No specific homework was assigned in this note, Captain.)
|
||||
(No homework assigned this session)
|
||||
|
||||
28
20-Knowledge/Okinawa/2026/April/Initial Prep.md
Normal file
28
20-Knowledge/Okinawa/2026/April/Initial Prep.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Okinawa Move-In Checklist: Thomas Akamichi 905
|
||||
[177-9 Akamichi](https://maps.app.goo.gl/LunNiNVCyWrgmdVv5)
|
||||
|
||||
### 1. Immediate Compliance & Logistics
|
||||
- [x] **Submit Vehicle Plate Number:** Take a photo of your rental car's license plate and email the **車両番号** (vehicle number) to Kikuchi-san immediately.
|
||||
- [x] **Locate Parking Spot:** Drive to "Detached Lot NO. 1" (離れ NO.1). Verify it matches the provided video/map.
|
||||
- [x] **Room Inspection:** Take photos of the apartment's condition (walls, furniture, appliances) upon entry for your records.
|
||||
- [x] **Wi-Fi Setup:** Check the router behind the TV for the SSID and Password.
|
||||
|
||||
### 2. Shopping Trip: Essential Consumables
|
||||
*Target: San-A Gushikawa Main City or Drugstore Mori*
|
||||
|
||||
- [x] **Uruma City Designated Trash Bags (うるま市指定ゴミ袋):**
|
||||
- **Red Text Bags:** For "Burnables" (燃やせるごみ).
|
||||
- **Blue Text Bags:** For "Non-burnables" (燃やせないごみ).
|
||||
- [x] **Paper Goods:** Toilet paper and paper towels.
|
||||
- [x] **Toiletries:** Hand soap, body wash, shampoo, and conditioner.
|
||||
- [x] **Laundry:** Laundry detergent (and fabric softener if preferred).
|
||||
- [x] **Linens:** Bath towels and hand towels.
|
||||
|
||||
### 3. Kitchen & Food Prep
|
||||
- [x] **Cooking Staples:** Butter, salt, black pepper, and cooking oil.
|
||||
- [x] **Quick Meal Supplies:** Pasta, garlic, and basic snacks.
|
||||
- [x] **Water:** 2L bottled water (recommended due to the high mineral content/hardness of Okinawa tap water).
|
||||
|
||||
### 4. Administrative Reminders
|
||||
- [ ] **Trash Rules:** Review the "ごみだしのルール" document once Kikuchi-san sends it.
|
||||
- [ ] **Check-Out Deadline:** Note that keys must be returned to the mailbox by **12:00 PM on May 20th** to avoid the ¥20,000 replacement fee.
|
||||
4
20-Knowledge/Okinawa/2026/April/Shopping list.md
Normal file
4
20-Knowledge/Okinawa/2026/April/Shopping list.md
Normal file
@@ -0,0 +1,4 @@
|
||||
- Mozzarella cheese
|
||||
- coriander
|
||||
- sweet potato
|
||||
-
|
||||
24
20-Knowledge/Okinawa/2026/April/Stellaris Transfer.md
Normal file
24
20-Knowledge/Okinawa/2026/April/Stellaris Transfer.md
Normal file
@@ -0,0 +1,24 @@
|
||||
#### 4.3_Cetus
|
||||
https://steamcommunity.com/sharedfiles/filedetails/?id=3699649482
|
||||
|
||||
```steamcmd.exe +login anonymous +workshop_download_item 281990 1623423360 +workshop_download_item 281990 2512317259 +workshop_download_item 281990 819148835 +workshop_download_item 281990 865040033 +workshop_download_item 281990 1121692237 +workshop_download_item 281990 727000451 +workshop_download_item 281990 3243319558 +workshop_download_item 281990 2409209888 +workshop_download_item 281990 1623423504 +workshop_download_item 281990 3002188516 +workshop_download_item 281990 2830996776 +workshop_download_item 281990 1780481482 +workshop_download_item 281990 1174506627 +workshop_download_item 281990 1504611647 +workshop_download_item 281990 2980894435 +workshop_download_item 281990 2793279669 +workshop_download_item 281990 3351307743 +quit```
|
||||
|
||||
## Load Order (Irony Mod Manager recommended)
|
||||
|
||||
1. UI Overhaul Dynamic || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=1623423360
|
||||
2. UI Overhaul Dynamic + Gigastructural Engineering || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=3002188516
|
||||
3. UI Overhaul Dynamic - Extended Topbar || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=1780481482
|
||||
4. UI Overhaul Dynamic - Improved Text || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=2830996776
|
||||
5. Gigastructural Engineering & More (4.3) || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=1121692237
|
||||
6. UI Overhaul Dynamic + Planetary Diversity || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=1623423504
|
||||
7. More Events Mod || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=727000451
|
||||
8. Planetary Diversity || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=819148835
|
||||
9. Guilli's Planet Modifiers and Features || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=865040033
|
||||
10. ! Immersive Beautiful Stellaris ! || * || https://steamcommunity.com/sharedfiles/filedetails/?id=2409209888
|
||||
11. Tech Tiers Revealed || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=2512317259
|
||||
12. Arc Furnace System Locator + || v4.2.* || https://steamcommunity.com/sharedfiles/filedetails/?id=3243319558
|
||||
13. PMC Advisor Mod Expanded || v3.14.15 || https://steamcommunity.com/sharedfiles/filedetails/?id=3351307743
|
||||
14. Canadian Advisor Voice || 3.8.2 || https://steamcommunity.com/sharedfiles/filedetails/?id=1504611647
|
||||
15. Monkey Advisor || 3.3.4 || https://steamcommunity.com/sharedfiles/filedetails/?id=2793279669
|
||||
16. Mass Effect - Reaper Advisor || 2.1.* || https://steamcommunity.com/sharedfiles/filedetails/?id=1174506627
|
||||
17. BT-7274 Advisor || v4.3.* || https://steamcommunity.com/sharedfiles/filedetails/?id=2980894435
|
||||
35
20-Knowledge/Okinawa/2026/April/Thomas Akamichi 905.md
Normal file
35
20-Knowledge/Okinawa/2026/April/Thomas Akamichi 905.md
Normal file
@@ -0,0 +1,35 @@
|
||||
Parking: [177-9 Akamichi](https://maps.app.goo.gl/LunNiNVCyWrgmdVv5)
|
||||
|
||||
### 1. Location & Access
|
||||
* **Address:** 180-19 Akamichi, Uruma City, Okinawa 904-2245 (〒904-2245 沖縄県うるま市赤道180−19)
|
||||
* **Unit:** Room 905
|
||||
* **Main Entrance:** Auto-lock system (Unlocked using your room key).
|
||||
* **Check-in:** April 9, 2026, after 12:00 PM (Noon).
|
||||
* **Check-out:** May 20, 2026, by 12:00 PM (Noon).
|
||||
|
||||
### 2. Key Collection
|
||||
* **Location:** Inside the mailbox for Room 905 on the 1st floor.
|
||||
* **Mailbox Combination:** Turn **Right twice to "B"**, then **Left to "9"**.
|
||||
* **Quantity:** You should find two (2) keys. Contact management immediately if any are missing.
|
||||
|
||||
### 3. Parking Details
|
||||
* **Designated Spot:** Detached Lot **NO. 1**.
|
||||
* **Restriction:** Strictly for **Kei-cars** (Light cars) only.
|
||||
|
||||
### 4. Utilities & Amenities
|
||||
* **Wi-Fi:** Router is located behind the TV; credentials are printed on the device.
|
||||
* **Furnishings:** Bedding, AC, TV, washing machine, vacuum, microwave, fridge, and basic kitchenware (pots/pans) are provided.
|
||||
* **Not Provided (Must Buy):** Towels, toilet paper, toiletries, laundry detergent, and city-designated trash bags.
|
||||
|
||||
### 5. House Rules & Penalties
|
||||
* **Smoking:** Strictly prohibited. Penalty: **¥50,000** deodorizing fee + damage costs.
|
||||
* **Trash:** Must follow sorting rules and use Uruma City bags. Penalty: **¥3,000** per violation.
|
||||
* **Key Loss:** Replacement fee is **¥20,000** (plus tax).
|
||||
* **Extensions:** Must be requested at least 7 days prior to check-out.
|
||||
* **Trash on Exit:** All trash must be removed upon move-out. Penalty: **¥3,000** per bag left behind.
|
||||
|
||||
### 6. Management Contact
|
||||
* **Company:** Maruyu Houzy Monthly (マルユウハウジーマンスリー)
|
||||
* **Contact Person:** Kikuchi-san
|
||||
* **Phone:** 098-943-1455
|
||||
* **Business Hours:** Mon–Sat, 10:00 AM – 6:00 PM
|
||||
47
20-Knowledge/Okinawa/2026/April/Trash.md
Normal file
47
20-Knowledge/Okinawa/2026/April/Trash.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Trash Disposal Guide: Uruma City (Thomas Akamichi 905)
|
||||
|
||||
### 1. Essential Gear
|
||||
You must purchase **Uruma City Designated Trash Bags** from a convenience store or supermarket. Trash in plain plastic bags will not be collected and may result in a **¥3,000 fine**.
|
||||
* **Red Text Bags:** For "Burnables" (可燃ごみ - Moyaseru Gomi).
|
||||
* **Blue Text Bags:** For "Non-Burnables" (不燃ごみ - Moyasenai Gomi).
|
||||
|
||||
### 2. Sorting Categories
|
||||
|
||||
#### **Category A: Burnable Trash (Red Bags)**
|
||||
* **Items:** Food scraps (drain all liquid first), paper waste, tissue, clothing, rubber, and leather.
|
||||
* **Protocol:** Tie the bag tightly. Ensure no recyclables are mixed in.
|
||||
|
||||
#### **Category B: Non-Burnable Trash (Blue Bags)**
|
||||
* **Items:** Metal items, glass, ceramics, small appliances (toasters, etc.), and umbrellas.
|
||||
* **Protocol:** For broken glass or needles, wrap them in thick paper and write **"KIKEN" (DANGER)** on the outside for the safety of the collectors.
|
||||
|
||||
#### **Category C: Recyclables (Clear Bags or Bins)**
|
||||
* **Plastic Packaging:** Food trays, plastic wrap, and containers (rinse first).
|
||||
* **PET Bottles:** Remove caps and labels (dispose of these as plastic packaging). Rinse the bottle.
|
||||
* **Cans:** Aluminum and steel. Rinse thoroughly.
|
||||
* **Glass Bottles:** Rinse and separate by color if specific bins are provided at the site.
|
||||
* **Cardboard:** Flatten and tie with string.
|
||||
|
||||
#### **Category D: Hazardous Waste**
|
||||
* **Items:** Batteries, lighters, and fluorescent bulbs.
|
||||
* **Protocol:** Look for a specific small box or tray at the collection point designated for these items.
|
||||
|
||||
### 3. Collection Logistics
|
||||
* **Location:** Check the **Red Circle** on the photo provided by Kikuchi-san.
|
||||
* **Time:** Trash must be out by **8:30 AM** on the scheduled morning.
|
||||
* **Restriction:** Do **NOT** put trash out the night before (to prevent issues with crows/stray cats).
|
||||
* **Schedule:** Locate the colorful **Collection Calendar** in the building’s common area (usually near the entrance) to find the specific days for "Akamichi."
|
||||
|
||||
### 4. Move-Out Requirements
|
||||
* **Total Clearance:** You must dispose of all trash before your check-out on May 20th.
|
||||
* **Final Penalty:** Any trash bags left in the room or common areas after check-out will result in a **¥3,000 per bag** charge.
|
||||
|
||||
### **The "Safe Bet" Summary for Your First Week:**
|
||||
|
||||
1. **Red Text Bag:** Everything "gross" or "dirty" (food, tissues, kitchen waste). **Never clear.**
|
||||
2. **Blue Text Bag:** Metal, glass, ceramics, small electronics. **Never clear.**
|
||||
3. **Clear/Transparent Bag:** Clean plastics (bread bags, meat trays you've rinsed, strawberry containers) and PET bottles.
|
||||
4. **No Bag at All:** Cans and Glass Bottles are often placed directly into plastic crates/bins at the collection point rather than in bags.
|
||||
|
||||
|
||||
![[あかみち.png]]
|
||||
BIN
20-Knowledge/Okinawa/2026/April/あかみち.png
Normal file
BIN
20-Knowledge/Okinawa/2026/April/あかみち.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 206 KiB |
31
20-Knowledge/Project B/10 Principles.md
Normal file
31
20-Knowledge/Project B/10 Principles.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# The INTJ/ESFJ Operating Manual: 10 Principles
|
||||
|
||||
1. **Harmony > Correctness**
|
||||
The social atmosphere is the highest priority. If a fact is correct but ruins the "vibe," it is a system error. Prioritize the mood over the data.
|
||||
|
||||
2. **Impact > Intent**
|
||||
Your intent is to be helpful; her system registers the emotional impact. If she is hurt, apologize for the impact first before explaining the logic.
|
||||
|
||||
3. **Small Talk is a "Health Ping"**
|
||||
Small talk isn't "fluff"; it’s a diagnostic tool to ensure the connection is healthy. View it as a low-data, high-importance server heartbeat.
|
||||
|
||||
4. **Externalize the Appreciation**
|
||||
ESFJs feel loved through voiced validation. Silence is not "neutral"—it can be interpreted as disapproval. Explicitly name the things you notice.
|
||||
|
||||
5. **Consistency Creates Security**
|
||||
Reliability is her currency for trust. Grand gestures matter less than "showing up exactly when you said you would."
|
||||
|
||||
6. **The Tribe is the Filter**
|
||||
She is a collectivist. Her friends and family are secondary processors for her decision-making. If they trust you, her trust in you will accelerate.
|
||||
|
||||
7. **Consult, Don’t Command**
|
||||
Presenting an "optimized" plan as a finished product can feel exclusionary. Frame your ideas as a consultation: "I was thinking X, what are your thoughts?"
|
||||
|
||||
8. **Validate Before You Solve**
|
||||
She seeks emotional resonance, not an immediate patch. Give her 10 minutes of "That sounds hard" before offering "Here is how to fix it."
|
||||
|
||||
9. **Read the Air**
|
||||
Perform a "system scan" of the room before speaking. Adjust your directness to match the collective energy of the group.
|
||||
|
||||
10. **You are her Sanctuary**
|
||||
The social world is noisy for her. Use your logic to protect her from chaos (being the "bad guy" or setting boundaries) rather than using it to critique her.
|
||||
8
20-Knowledge/Project B/Specifics.md
Normal file
8
20-Knowledge/Project B/Specifics.md
Normal file
@@ -0,0 +1,8 @@
|
||||
We were told to write down exactly what we want in a mate, so here we go, yea?
|
||||
|
||||
1. This one's a given, but spirituality matching or better then my own. I don't want to have to drag anyone to a meeting, and I need someone to drag me if anything ever happens. This would include willingness to serve where the need is greater, live simply, spend time in and enjoy service, etc.
|
||||
2. I want someone who's going to challenge me. Initially I thought "I want someone smart" or "I want someone determined", which yes are both true, but the underlying desire is someone that's going to be able to engage with me, consider my thoughts, and either validate them or tell me I'm an idiot, and explain why. Someone's who's going to push me to become something better
|
||||
3. This kind of coincides with the previous point, but I don't want a duplicate of myself. Some overlap is desired of course, but someone who has high proficiency in areas I don't understand, or even know exist would be ideal.
|
||||
4. My Japanese isn't *awful*, but someone who understands at least a bit of English, or is willing to put up with and help me learn Japanese will be required for communication.
|
||||
5. I don't want someone lazy. Someone involved, busy, part of everything would be nice
|
||||
6.
|
||||
111
20-Knowledge/Reference/Robbies Notes/Podcast A.md
Normal file
111
20-Knowledge/Reference/Robbies Notes/Podcast A.md
Normal file
@@ -0,0 +1,111 @@
|
||||
*Why are we watching this again?*
|
||||
Becuase he wanted us too
|
||||
|
||||
### Summary of “Solved: Dating Deep Dive with Mark Manson”
|
||||
|
||||
This episode of *Solved* with Mark Manson provides a comprehensive exploration of dating, rooted heavily in evolutionary science, psychology, and modern cultural dynamics. It aims to clarify why dating is challenging, unpack the different dating strategies of men and women, and offer actionable skills to improve dating success. The episode is structured around evolutionary theory, historical context, the current dating landscape, and practical advice across three dating phases: pre-dating, meeting, and dating.
|
||||
|
||||
---
|
||||
|
||||
### Key Insights and Core Concepts
|
||||
|
||||
#### 1. **Evolutionary Foundations of Dating**
|
||||
- **Sexual selection theory (Darwin, 1871):** Beyond survival, sexual selection drives traits that improve mating success (e.g., peacock’s feathers).
|
||||
- Two processes:
|
||||
- **Intra-sexual selection:** Competition within the same sex.
|
||||
- **Inter-sexual selection:** Mate choice based on preferred traits.
|
||||
- **Parental Investment Theory (Trivers, 1970s):** The sex investing more in offspring is choosier.
|
||||
- Women’s investment: 9 months pregnancy, childbirth risks, lactation, childrearing.
|
||||
- Men’s investment: Minimal biological investment, leading to different mating strategies.
|
||||
- Resulting **asymmetry** creates distinct psychological and social incentives:
|
||||
- Women evolve to be selective, demanding investment.
|
||||
- Men evolve to compete for limited fertile female partners.
|
||||
|
||||
#### 2. **Male vs. Female Mating Strategies**
|
||||
- Men tend toward a **short-term mating strategy** (more frequent, less investment).
|
||||
- Women tend toward a **long-term mating strategy** (higher selectivity, seeking resource investment).
|
||||
- Both sexes pursue both strategies to varying degrees, adding complexity.
|
||||
- **Attractiveness cues differ:**
|
||||
- Women value **resource acquisition potential**, **status**, and **physical protection**.
|
||||
- Men prioritize **youthfulness** and **fertility cues** (e.g., waist-to-hip ratio ~0.7).
|
||||
- Social and evolutionary pressures shape distinct dating advice ecosystems for men and women.
|
||||
|
||||
#### 3. **Historical and Cultural Context**
|
||||
- For thousands of years, **marriage was an economic arrangement**, not based on romance.
|
||||
- Romance was viewed as irrational and destabilizing until the **Middle Ages and Romantic Era**.
|
||||
- The modern concept of marrying for love is only about 200 years old.
|
||||
- **Modern dating challenges:**
|
||||
- Increased choice and expectations.
|
||||
- Women’s rising socioeconomic status raises their selectivity.
|
||||
- Technology (dating apps) amplifies paradox of choice and superficial screening.
|
||||
|
||||
#### 4. **Current Dating Landscape and Challenges**
|
||||
- About **42% of U.S. adults are single**, an all-time high.
|
||||
- Sexual activity rates have declined across all age groups.
|
||||
- Dating apps create a **volume vs. filter problem:**
|
||||
- Men increase volume of approaches.
|
||||
- Women tighten filters, leading to burnout and frustration on both sides.
|
||||
- Economic barriers: Average date costs $168; Gen Z spends even more despite lower income.
|
||||
- Political and ideological polarization increasingly affects partner selection.
|
||||
|
||||
---
|
||||
|
||||
### Practical Dating Skills by Phase
|
||||
|
||||
| Phase | Psychological Problem | Key Skills and Focus | Commentary/Takeaways |
|
||||
|---------------|----------------------------------------------|----------------------------------------------------|--------------------------------------------------------------|
|
||||
| **Pre-Dating** | "Would a stranger consider me?" (Desirability) | - Appearance (grooming, fitness, style)<br>- Confidence<br>- Status signaling | Appearance removes barriers; confidence is foundational.<br>Women value grooming more; men emphasize physical features.<br>Diminishing returns on “looks maxing.” |
|
||||
| **Meeting** | "Who do I actually encounter and get a date?" (Initiation and filtering) | - Clear communication of interest (redefined flirting)<br>- Digital dating skills (use apps strategically)<br>- Reading social cues | Flirting is best as clear, honest signaling.<br>Move quickly from apps to in-person.<br>Reading people is a maintenance skill—know when to move on. |
|
||||
| **Dating** | "How do I keep the connection going?" (Retention and trust) | - Trustworthiness (consistency, reliability)<br>- Emotional regulation<br>- Conversation skills (vulnerability)<br>- Boundaries and expectation setting | Trust is vital long-term; emotional regulation improves stability.<br>Calibrated vulnerability builds intimacy.<br>Clear boundaries prevent ambiguity and conflict. |
|
||||
|
||||
---
|
||||
|
||||
### Definitions and Theories in Table Form
|
||||
|
||||
| Term | Definition |
|
||||
|------------------------------|---------------------------------------------------------------------------------------------------------------------------------|
|
||||
| **Parental Investment Theory** | The sex investing more resources in offspring is choosier; the other sex competes for access. |
|
||||
| **Intra-sexual selection** | Competition among individuals of the same sex for mates. |
|
||||
| **Inter-sexual selection** | Preferences in mate choice that shape traits in the opposite sex. |
|
||||
| **Paradox of Choice** | More options lead to less satisfaction and greater decision paralysis. |
|
||||
| **Hell Yes or No Principle** | If a potential partner is not a clear enthusiastic "yes," the relationship should not continue to avoid wasted time and energy. |
|
||||
| **Error Management Theory** | Men tend to overestimate women's interest; women tend to underestimate men's interest, as adaptive biases. |
|
||||
|
||||
---
|
||||
|
||||
### Important Quantitative Data
|
||||
|
||||
| Statistic | Value / Description |
|
||||
|------------------------------------------------|----------------------------------------------------------|
|
||||
| Percentage of U.S. adults unpartnered | 42% (all-time high) |
|
||||
| Adults reporting weekly sexual activity (2024) | 37% (down from 55% in 1990) |
|
||||
| Men aged 18-24 reporting no sex past year | 31% (doubled since early 2000s) |
|
||||
| Average date cost | $168 (Gen Z closer to $200) |
|
||||
| Documented most prolific mother | One woman with 69 children over 27 pregnancies |
|
||||
| Documented most prolific father | Sultan of Morocco with 800+ children |
|
||||
| Waist-to-hip ratio preferred by men worldwide | ~0.7 (consistent across cultures) |
|
||||
|
||||
---
|
||||
|
||||
### Summary of Gender Differences in Dating Advice Ecosystems
|
||||
|
||||
| Gender | Primary Psychological Problem | Dating Advice Focus | Common Pitfalls/Challenges |
|
||||
|--------|----------------------------------------------|----------------------------------------------------------------------|------------------------------------------------------------------|
|
||||
| Men | Access, initiation, fear of rejection/creep | Approaching/initiation tactics, confidence, status signaling, escalation | Over-intellectualizing, tactical manipulation, lack of female social exposure, overemphasis on looks/status |
|
||||
| Women | Filtering, discernment, fear of harm/manipulation | Screening for red flags, boundaries, attachment style awareness, strategic non-initiation | Cynicism disguised as discernment, overpathologizing normal behavior, passive vetting, excessive stringency |
|
||||
|
||||
---
|
||||
|
||||
### Key Takeaways and Conclusions
|
||||
|
||||
- **Dating difficulties stem largely from deep evolutionary and biological differences** between men and women, compounded by social, technological, and cultural shifts.
|
||||
- **Men and women operate within distinct psychological realities with different priorities and fears**, leading to misunderstandings and conflict.
|
||||
- **Modern dating is complicated by paradox of choice, technology, and heightened expectations**, often leading to dissatisfaction and burnout.
|
||||
- **Best practices emphasize authenticity, honest communication, vulnerability, and clear boundaries** rather than manipulative tactics or rigid “rules.”
|
||||
- **Confidence is critical and is best built through evidence and self-improvement**, starting often with lifestyle and appearance fundamentals.
|
||||
- **Meeting people in real life and through social networks is more effective than relying solely on dating apps**, which often degrade to superficial filtering.
|
||||
- **Trustworthiness, emotional regulation, and conversational skills are essential for sustaining relationships** and building intimacy.
|
||||
- The principle of **“Hell Yes or No”** helps avoid wasting time on ambiguous or lukewarm connections by demanding clear enthusiasm.
|
||||
- **Compatibility tends to align along levels of status, confidence, and emotional maturity**, with successful couples either similar or complementary in key traits.
|
||||
- The episode encourages **empathy toward both men and women’s struggles** in dating and challenges listeners to realistically manage expectations.
|
||||
- Upcoming episodes will explore **love and deeper relationship dynamics** beyond dating.
|
||||
48
20-Knowledge/Spiritual Notes/2026/CO Visit.md
Normal file
48
20-Knowledge/Spiritual Notes/2026/CO Visit.md
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
# Servants/Elders Meeting
|
||||
I wasn't able to take notes so this is just the main points that I remember
|
||||
|
||||
You could be the best speaker, the most organized admin, the best of anything, but if you don't love the friends, they won't forgive you.
|
||||
|
||||
If you don't love the friends, there is no point in anything.
|
||||
|
||||
If we love the friends, even if we make mistakes, even if we aren't perfect, if we love the friends, they will forgive us.
|
||||
# Pioneer Meeting
|
||||
|
||||
### Have a regular schedule
|
||||
Balance is required
|
||||
*Well Duh*
|
||||
Acts 19: 9 - 9 But when some stubbornly refused to believe, speaking injuriously about The Way before the crowd, he withdrew from them and separated the disciples from them, giving talks daily in the school auditorium of Ty·ranʹnus.
|
||||
Study Note on "school auditorium of Tyrannus": Pauls schedule was likely 11am to 4pm. He had a regular schedule that he stuck with.
|
||||
Early in the morning, early in the day, early in the week, early in the month, early in the year.
|
||||
|
||||
### Schedule a specific time each month to engage in various forms of the ministry
|
||||
*Well, we're failing on that one aren't we*
|
||||
Yea but things still work so don't question it.
|
||||
|
||||
Acts 20:20,21 - 20 while I did not hold back from telling you any of the things that were profitable nor from teaching you publicly and from house to house. 21 But I thoroughly bore witness both to Jews and to Greeks about repentance toward God and faith in our Lord Jesus.
|
||||
Publicly, House to House, Letter, Phone, Informal
|
||||
If anything mechanical falls out of balance, then it eventually falls apart. Why would humans be any different? If we fall out of balance, eventually we will fall apart.
|
||||
|
||||
Most people tend to find door to door ministry to be the most difficult. How to help?
|
||||
Practice
|
||||
Workshops
|
||||
Take Breaks
|
||||
Keep things simple
|
||||
OD Book: Lesson 9, Par 6,7
|
||||
Pray for help, Jehovah will help us.
|
||||
We aren't alone up there.
|
||||
Pray, Hope in Jehovah, and Act.
|
||||
|
||||
### Show Insight When Facing Economic Difficulties
|
||||
Phillipians 4:12 - 12 I know how to be low on provisions and how to have an abundance. In everything and in all circumstances I have learned the secret of both how to be full and how to hunger, both how to have an abundance and how to do without.
|
||||
Paul faced economic hardships, but learned the secret on how to deal with it. The secret? Contentment.
|
||||
This is why we need to keep a simple life, it helps us keep our joy in the ministry
|
||||
|
||||
### Have a Good Spiritual Routine
|
||||
What can help us not to neglect our spiritual routine?
|
||||
Add study to our regular routine/schedule
|
||||
2 Tim 4:9,13, 21 - 9 Do your utmost to come to me shortly. 13 When you come, bring the cloak I left at Troʹas with Carpus, and the scrolls, especially the parchments. 21 Do your utmost to arrive before winter. Eu·buʹlus sends you his greetings, and so do Puʹdens and Liʹnus and Clauʹdi·a and all the brothers.
|
||||
It was cold, and he also wanted his personal study notes. He really wanted timiothy to arrive quickly, for it was cold.
|
||||
SIDE NOTE: 2 Tim 4:14 study note
|
||||
|
||||
@@ -43,9 +43,18 @@ This note is a synthesized compilation of all Chinese class notes from the `10-I
|
||||
- **"I'm a little bit sad that..."**: `SUBJECT + yǒudiǎn er shāngxīn yīnwèi...` - 2026-01-22
|
||||
- **A 跟 B 差不多 ADJ**: A and B are about the same in ADJ - 2026-01-15
|
||||
- **SUBJ + déle + disease**: SUBJ + got the disease - 2026-02-12
|
||||
- **{Thing we do}, 是 + {purpose} + 重要一步 ({Thing we do}, shì + {purpose} + zhòngyào yībù)**: Doing {thing} is an important step in {purpose} - 2026-02-19
|
||||
- {Thing we do}, 是 + {purpose} + 重要一步 ({Thing we do}, shì + {purpose} + zhòngyào yībù): Doing {thing} is an important step in {purpose} - 2026-02-19
|
||||
- **{THING} + chūxiàn wèntí shí, nánmiǎn huì gǎndào gūdān wúzhù**: When there's a problem with {THING}, inevitably one will feel lonely and helpless - 2026-03-05
|
||||
- **不一定 (bù yīdìng)**: Not sure / May not / Not certain. Used as a standalone answer or within sentences - 2026-03-12
|
||||
- **SUBJ + 不一定完全理解 + OBJ**: SUBJ may not fully understand OBJ - 2026-03-12
|
||||
- **SUBJ + 比谁都 + ADJ (bǐ shéi dōu)**: SUBJ is more ADJ than anyone else - 2026-03-19
|
||||
- **SUBJ + 肯定很 + ADJ (kěndìng hěn)**: SUBJ is probably very ADJ - 2026-03-19
|
||||
- **我觉得我们还是最好保持 + State of Being (Wǒ juédé wǒmen háishì zuì hǎo bǎochí)**: I feel it's best if we stay + State of Being - 2026-03-19
|
||||
- **你们什么时候有 + ACTIVITY? (Nǐmen shénme shíhòu yǒu)**: When will you guys have + ACTIVITY? - 2026-03-26
|
||||
- **台 (tái)**: Measure word for computers and machinery - 2026-03-26
|
||||
|
||||
- **不断 (bùduàn) -> Continuous / Non-stop** - 2026-02-26
|
||||
|
||||
Adverb. Hanzi literally translates as "non-stop."
|
||||
- *Example*: 我们应该不断向上帝祷告 (Wǒmen yīnggāi bùduàn xiàng shàngdì dǎogào) - We should pray to God non-stop.
|
||||
- *Example*: 我们应该不断为弟兄姐妹祷告 (Wǒmen yīnggāi bùduàn wèi dìxiōng jiěmèi dǎogào) - We should continually pray for our brothers and sisters.
|
||||
@@ -70,6 +79,7 @@ This note is a synthesized compilation of all Chinese class notes from the `10-I
|
||||
2. Subjective Feeling (with senses): `海鲜看起来很好吃` (The seafood looks delicious).
|
||||
- **出来 (chūlái)**: Indicates movement from inside to outside.
|
||||
- **伤 (shāng)**: A result complement indicating an action caused injury.
|
||||
- **不了 (Bùliǎo)**: Verb complement that means "Can Not" - 2026-03-05
|
||||
|
||||
### Common Patterns & Word Usage
|
||||
|
||||
@@ -135,11 +145,26 @@ This note is a synthesized compilation of all Chinese class notes from the `10-I
|
||||
- **数据线 (shùjù xiàn)**: Data cable
|
||||
- **掌机 (zhǎng jī)**: Handheld console
|
||||
- **3D打印 (3D dǎyìn)**: 3D Printing
|
||||
- **天气 (Tiānqì)**: Weather
|
||||
- **天气预报 (Tiānqì yùbào)**: Weather Forecast
|
||||
- **主力机 (zhǔlì jī)**: Main/Primary machine - 2026-03-26
|
||||
- **性能 (xìngnéng)**: Performance - 2026-03-26
|
||||
- **配置 (pèizhì)**: Specs - 2026-03-26
|
||||
- **锐龙 (Ruìlóng)**: Ryzen - 2026-03-26
|
||||
- **英特尔 (Yīngtè'ěr)**: Intel - 2026-03-26
|
||||
- **显卡 (xiǎnkǎ)**: Graphics card - 2026-03-26
|
||||
|
||||
### Spiritual & Congregation
|
||||
|
||||
- **会众 (Huìzhòng)**: Congregation - 2025-12-04
|
||||
- **本地建筑设计委员会 (Běndì jiànzhú shèjì wěiyuánhuì)**: LDC - 2025-12-04
|
||||
- **电工 (Diàngōng)**: electrician - 2025-12-04
|
||||
- **先驱 (xiānqū)**: Pioneer - 2025-12-04
|
||||
- **个人医疗指示 (Gèrén yīliáo zhǐshì)**: Personal medical directive
|
||||
- **分区监督探访 (Fēnqū jiāndū tànfǎng)**: Circuit Overseer Visit - 2026-03-26
|
||||
|
||||
### Environment & Weather
|
||||
|
||||
- **天气 (Tiānqì)**: Weather
|
||||
- **天气预报 (Tiānqì yùbào)**: Weather Forecast
|
||||
- **农村 (nóng cūn)**: countryside
|
||||
- **保龄球 (Bǎolíngqiú)**: bowling - 2025-12-04
|
||||
- **电视剧 (Diànshìjù)**: TV drama - 2025-12-04
|
||||
- **拉锁 (lāsuǒ)**: zipper - 2025-12-04
|
||||
@@ -161,6 +186,14 @@ This note is a synthesized compilation of all Chinese class notes from the `10-I
|
||||
- **实体版 (shítǐ bǎn)**: physical version - 2026-02-26
|
||||
- **数字版 (shùzì bǎn)**: digital version - 2026-02-26
|
||||
- **勇气 (yǒngqì)**: courage - 2026-02-26
|
||||
- **心理健康 (xīnlǐ jiànkāng)**: Mental Health - 2026-03-05
|
||||
- **消息 (xiāoxī)**: News - 2026-03-05
|
||||
- **电影 (Diànyǐng)**: Movie - 2026-03-12
|
||||
- **小品 (Xiǎopǐn)**: Comedy Skit - 2026-03-12
|
||||
- **期待 (qídài)**: expectations - 2026-03-12
|
||||
- **计划 (jìhuà)**: plan - 2026-03-12
|
||||
- **少女杀手 (Shàonǚ shāshǒu)**: Lady Killer - 2026-03-19
|
||||
- **少男杀手 (Shàonán shāshǒu)**: Teenage Heartthrob - 2026-03-19
|
||||
|
||||
### People & Relationships
|
||||
|
||||
@@ -224,6 +257,16 @@ This note is a synthesized compilation of all Chinese class notes from the `10-I
|
||||
- **扫地 (sǎodì)**: To sweep the floor - 2026-02-12
|
||||
- **打扫 (dǎsǎo)**: To clean - 2026-02-12
|
||||
- **主持 (Zhǔchí)**: To host/preside - 2026-02-12
|
||||
- **停掉 (tíngdiào)**: to quit (pills, not regular things) - 2026-03-05
|
||||
- **离婚 (líhūn)**: to divorce - 2026-03-05
|
||||
- **出现 (chūxiàn)**: to appear - 2026-03-05
|
||||
- **感到 (gǎndào)**: to feel - 2026-03-05
|
||||
- **逗 (dòu)**: To make someone laugh - 2026-03-12
|
||||
- **理解 (lǐjiě)**: Deep understanding (takes time/experience) - 2026-03-12
|
||||
- **解释 (jiěshì)**: to explain - 2026-03-12
|
||||
- **努力工作 (nǔlì gōngzuò)**: to work hard - 2026-03-19
|
||||
- **持续学习 (chíxù xuéxí)**: to learn continuously - 2026-03-19
|
||||
- **健康饮食 (jiànkāng yǐnshí)**: to have a healthy diet - 2026-03-19
|
||||
|
||||
### Adjectives
|
||||
|
||||
@@ -255,6 +298,16 @@ This note is a synthesized compilation of all Chinese class notes from the `10-I
|
||||
- **喜乐 (xǐlè)**: Joyful - 2026-01-22
|
||||
- **焦虑 (Jiāolǜ)**: Anxious - 2026-02-12
|
||||
- **脏 (zàng)**: Dirty - 2026-02-12
|
||||
- **不成熟 (bù chéngshú)**: Immature - 2026-03-05
|
||||
- **难免 (nánmiǎn)**: Inevitably - 2026-03-05
|
||||
- **孤单 (gūdān)**: Lonely - 2026-03-05
|
||||
- **无助 (wúzhù)**: Helpless - 2026-03-05
|
||||
- **一定 (yīdìng)**: Certain - 2026-03-12
|
||||
- **完全 (wánquán)**: Fully | Completely - 2026-03-12
|
||||
- **合理 (hélǐ)**: reasonable - 2026-03-12
|
||||
- **倔强 (juéjiàng)**: Stubborn - 2026-03-19
|
||||
- **值得信赖 (zhídé xìnlài)**: trustworthy - 2026-03-19
|
||||
- **简朴 (jiǎnpú)**: simple (life) - 2026-03-19
|
||||
|
||||
### Adverbs & Expressions
|
||||
|
||||
@@ -306,6 +359,7 @@ This note is a synthesized compilation of all Chinese class notes from the `10-I
|
||||
- 除夕那天的晚上有春晚 (Chúxì natiān de wǎnshàng yǒu chūnwǎn): There is a Spring Gala on the night of Lunar New Year's Eve. - 2026-02-19
|
||||
- 你向上帝祷告,是回来的重要一步 (Nǐ xiàng shàngdì dǎogào, shì huílái de zhòngyào yībù): Praying to God is an important step in your return. - 2026-02-19
|
||||
- 你向上帝祷告,是谈恋爱的重要一步 (Nǐ xiàng shàngdì dǎogào, shì tán liàn'ài de zhòngyào yībù): Praying to God is an important step in dating. - 2026-02-19
|
||||
- 最近过得怎么样? (Zuìjìnguò dé zěnme yàng?): How's it been lately? - 2026-03-12
|
||||
|
||||
## Chinese New Year - 2026-02-19
|
||||
- **春节 (chūnjié)**: Chinese New Year (Spring Festival).
|
||||
|
||||
@@ -301,6 +301,28 @@ This is a fundamental concept in Japanese grammar that distinguishes between ver
|
||||
- **"No Need To" (〜なくてもいいです)** - *Added: 2025-12-04*: Expresses that there is no necessity to do an action. Formed from the negative `ない` form.
|
||||
- *Example: 日曜日は早く起きなくてもいいです。* (On Sundays, it's okay to not wake up early.)
|
||||
|
||||
- **Embedded Question - *Added: 2026-04-01***: Used to insert a question (who, what, where, when, why) into a sentence.
|
||||
- **Structure**: [Question in Plain Form] + か + [Main Verb]
|
||||
- *Example: ビールをなんぼんのんだか、わかりません。* (I don't know how many beers I drank.)
|
||||
- *Example: どこにすんでいるか、おしえてください。* (Please tell me where you live.)
|
||||
- *Example: いつかいぎがあるか、しっていますか。* (Do you know when the meeting is?)
|
||||
- **Note**: For **Noun** or **な-Adjectives**, drop the "だ" before adding か. *Example: どこが不便か、教えてください。*
|
||||
|
||||
- **Whether or Not (かどうか) - *Added: 2026-04-01***: Used for Yes/No questions within a sentence when there is no interrogative word.
|
||||
- **Structure**: [Plain Form] + かどうか + [Main Verb]
|
||||
- *Example: 私が結婚しているかどうか、わかりません。* (I don't know whether or not I am married.)
|
||||
- *Example: 家族がいるかどうか、わかりません。* (I don't know if I have family or not.)
|
||||
- *Example: 事故に遭ったかどうか、覚えっていません* (I don't remember if the accident happened or not.)
|
||||
|
||||
- **Instead of (Verb + ないで) - *Added: 2026-03-23***: Used to express doing one action instead of another.
|
||||
- **Structure**: [Thing you didn't do] + V+ないで + [Thing you did instead]
|
||||
- **Examples**:
|
||||
- バスに乗らないで歩きます (I won't take the bus; I'll walk instead.)
|
||||
- げむしないで勉強しています (I'm studying instead of playing games.)
|
||||
- 出かけないで家で本を読んでいます (Instead of going out, I'll stay at home and read a book)
|
||||
- 週末は出かけないで勉強するつもりです (I plan to stay in and study this weekend.)
|
||||
- 連休は菱光しないで家で休むつもりです (I plan to spend the long weekend relaxing at home rather than going out.)
|
||||
|
||||
- **Completion or Regret (〜てしまいます)** - *Added: 2026-01-08*: Can express completion of an action, or disappointment/regret about an action.
|
||||
- *Example (Completion)*: レポートを書いてしまいます。 (I have to finish writing the report.)
|
||||
- *Example (Regret)*: 財布が無くなってしまいました。 (My wallet is gone [and I'm sad about it].)
|
||||
@@ -339,6 +361,32 @@ Used for superiors at work, clients, strangers, and formal situations.
|
||||
- **お電話します** (odenwa shimasu) - To call (*Note: uses お*)
|
||||
- **お約束します** (oyakusoku shimasu) - To promise (*Note: uses お*)
|
||||
|
||||
## 特別な謙譲語 (Tokubetsu no Kenjougo) - Special Humble Speech - *Updated: 2026-03-23*
|
||||
These are unique humble forms that replace standard verbs entirely.
|
||||
|
||||
| Polite Form (Masu) | Special Humble Verbs | Kanji | Meaning |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| たべます / のみます / もらいます | **いただきます** | | To receive (food, drink, or items) |
|
||||
| みます | **はいけんします** | 拝見します | To see / To look at (and "worship") |
|
||||
| ききます / いきます | **うかがいます** | 伺います | To ask / To hear / To visit |
|
||||
| あいます | **おめにかかります** | お目に掛かります | To meet |
|
||||
| あげます | **さしあげます** | 差し上げます | To give / To offer |
|
||||
| いきます / きます | **まいります** | 参ります | To Go / To Come |
|
||||
| います | **おります** | 居ります | To Be |
|
||||
| いいます | **もうします** | 申します | To Say |
|
||||
| します | **いたします** | 致します | To do |
|
||||
| しっています | **ぞんじております** | 存じております | To know |
|
||||
| しりません | **ぞんじません** | 存じません | To not know |
|
||||
|
||||
- *Example:* 今朝は清水さんに名刺**差し上げて**私も**いただきました** (This morning, I gave my business card to Mr. Shimizu, and I received one from him as well.)
|
||||
- *Example:* 「ここに私はおります」 - Isa -> "Here I am"
|
||||
- *Example:* 「はい、まいります」 -> Rebekah -> "I will go"
|
||||
- *Example:* 六か月前に日本にまりました (I came to Japan six months ago.)
|
||||
- *Example:* 私は子供が二人おります (I have two children.)
|
||||
- *Example:* 私は大阪に住んでおります (I live in Osaka.)
|
||||
- *Example:* 私は田中と申します (My name is Tanaka. Note: When introducing oneself, this literally means "As for me, Tanaka is what is said.")
|
||||
- *Example:* いつ日本にいらっしゃいましたか? 三ヶ月前に参りました。 (When did you come to Japan? I arrived three months ago.)
|
||||
|
||||
## Passive Verb Tense - *Added: 2026-01-28*
|
||||
This turns something like "To Scold" to "To be Scolded by"
|
||||
### Group 1 Verbs (godan)
|
||||
@@ -426,16 +474,16 @@ These unique forms replace standard verbs entirely to show high respect.
|
||||
|
||||
Really all it takes is to take any verb, move it to て form, and then stick くださいます after and your good. If you want to show thanks, conjugate くださいます into くださって and add ありがとうございます after. Very polite, very useful.
|
||||
|
||||
| Polite Form (Masu) | Special Respectful Verbs | Meaning |
|
||||
| :--- | :--- | :--- |
|
||||
| いきます / きます / います | **いらっしゃいます** | To go / To come / To be |
|
||||
| たべます / のみます | **めしあがります** | To eat / To drink |
|
||||
| いいます | **おっしゃいます** | To say |
|
||||
| しっています | **ごぞんじです** | To know |
|
||||
| しりません | **ごぞんじじゃありません** | To not know |
|
||||
| みます | **ごらんになります** | To see / To look at |
|
||||
| します | **なさいます** | To do |
|
||||
| くれます | **くださいます** | To give (to me) |
|
||||
| Polite Form (Masu) | Special Respectful Verbs | Meaning |
|
||||
| :----------------- | :----------------------- | :---------------------- |
|
||||
| いきます / きます / います | **いらっしゃいます** | To go / To come / To be |
|
||||
| たべます / のみます | **めしあがります** | To eat / To drink |
|
||||
| いいます | **おっしゃいます** | To say |
|
||||
| しっています | **ごぞんじです** | To know |
|
||||
| しりません | **ごぞんじじゃありません** | To not know |
|
||||
| みます | **ごらんになります** | To see / To look at |
|
||||
| します | **なさいます** | To do |
|
||||
| くれます | **くださいます** | To give (to me) |
|
||||
|
||||
#### Examples
|
||||
- 課長はお弁当をめしあがります (The chief will have lunch.)
|
||||
@@ -562,6 +610,23 @@ Compare this with an い-adjective like `太い` (futoi), which means "thick" or
|
||||
- **税金 (ぜいきん)** - Tax
|
||||
- **ものみの塔 (ものみのと)** - Watchtower
|
||||
- **筋が通っている (すじがとおっている)** - To make sense / Logically consistent
|
||||
- **監督 (かんとく)** - Overseer / Director - 2026-03-18
|
||||
- **お客様 (おきゃくさま)** - Customer (physical goods) - 2026-03-18
|
||||
- **お得意様 (とくいさま)** - Client (services) - 2026-03-18
|
||||
- **自己紹介 (じこしょうかい)** - Self-Introduction - 2026-03-18
|
||||
- **招待 (しょうたい)** - Invitation - 2026-03-18
|
||||
- **名刺 (めいし)** - Business Card - 2026-03-18
|
||||
|
||||
### Vocabulary - 2026-03-23
|
||||
- **半袖 (はんそで)** - Short Sleeves
|
||||
- **長袖 (ながそで)** - Long Sleeve
|
||||
- **半ズボン (はんずぼん)** - Shorts (pants)
|
||||
- **まくる** - To Roll Up (e.g., 袖をまくる)
|
||||
- **腕まくり (うでまくり)** - Roll up Sleeves (also implies rolling up sleeves to help someone)
|
||||
- **腕 (うで)** - Arm
|
||||
- **光栄 (こうえい)** - Honor
|
||||
- **連休 (れんきゅう)** - Consecutive Holidays
|
||||
- **夜食 (やしょく)** - Midnight Snack / Night food
|
||||
|
||||
### Verbs
|
||||
|
||||
@@ -606,6 +671,11 @@ Compare this with an い-adjective like `太い` (futoi), which means "thick" or
|
||||
- **描く (かく) - *Added: 2026-03-04*** - To Draw
|
||||
- **行列します (ぎょうれつします) - *Added: 2026-03-04*** - To line up
|
||||
- **がる - *Added: 2026-03-11*** - To feel (suffix/verb)
|
||||
- **学習する (がくしゅうする)** - To learn - 2026-04-01
|
||||
- **離陸する (りりくする)** - To take off (airplane) - 2026-04-01
|
||||
- **着陸する (ちゃくりくする)** - To land (airplane) - 2026-04-01
|
||||
- **間違う (まちがう)** - To make a mistake - 2026-04-01
|
||||
- **招待する (しょうたいする)** - To invite - 2026-04-01
|
||||
|
||||
### Adjectives
|
||||
|
||||
@@ -627,6 +697,7 @@ Compare this with an い-adjective like `太い` (futoi), which means "thick" or
|
||||
- **頭がぼうっとします** - My head feels foggy
|
||||
- **遠慮しておきます (えんりょしておきます)** - *Added: 2026-03-11* - Decline an invitation ("I'll be reserved")
|
||||
- **遠慮しないでください (えんりょしないでください)** - *Added: 2026-03-11* - Don't worry about it ("Don't be reserved")
|
||||
- **到着 (とうちゃく)** - Arrival - 2026-04-01
|
||||
|
||||
## Phrases & Greetings
|
||||
|
||||
@@ -638,5 +709,7 @@ Compare this with an い-adjective like `太い` (futoi), which means "thick" or
|
||||
- **行ってきます (いってきます)** - I'm leaving
|
||||
- **お帰りなさい (おかえりなさい)** - Welcome Back (more formal)
|
||||
- **いただきます** - Said before eating
|
||||
- **座って、ゆっくり楽しめました** (suwatte, yukkuri tanoshimemashita) - I was able to sit down and enjoy it at my leisure - 2026-03-18
|
||||
- **なぜか、分かりませんが** (nazeka, wakarimasen ga) - I don't know why, but... - 2026-03-18
|
||||
- **おなかがすきます** - I'm hungry
|
||||
- **のどがかわきました** - I'm thirsty
|
||||
|
||||
@@ -5,7 +5,12 @@
|
||||
"WebFetch(domain:dockhand.pro)",
|
||||
"Bash(curl:*)",
|
||||
"Bash(do:*)",
|
||||
"Bash(ssh raspi:*)"
|
||||
"Bash(ssh raspi:*)",
|
||||
"WebSearch",
|
||||
"WebFetch(domain:github.com)",
|
||||
"WebFetch(domain:oneuptime.com)",
|
||||
"WebFetch(domain:steamcommunity.com)",
|
||||
"WebFetch(domain:ark.wiki.gg)"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,13 +25,14 @@ Living documentation for the `homelab` server. Goal: a new admin with zero prior
|
||||
| Stack | Purpose | Access |
|
||||
|---|---|---|
|
||||
| [[stacks/dockhand]] | Docker management UI | [dockhand.bunny-wyvern.ts.net](https://dockhand.bunny-wyvern.ts.net) |
|
||||
| [[stacks/minecraft]] | Minecraft server (TerraFirmaGreg) | `:25565` |
|
||||
| [[stacks/minecraft]] | Minecraft server (TerraFirmaGreg) — STOPPED | `:25565` |
|
||||
| [[stacks/ark/ark]] | ARK: Survival Evolved (TheIsland) | `:7777` |
|
||||
| [[stacks/mealie]] | Recipe manager | [mealie.bunny-wyvern.ts.net](https://mealie.bunny-wyvern.ts.net) |
|
||||
| [[stacks/linkwarden]] | Bookmark manager | [linkwarden.bunny-wyvern.ts.net](https://linkwarden.bunny-wyvern.ts.net) |
|
||||
| [[stacks/gitea]] | Self-hosted Git | [gitea.bunny-wyvern.ts.net](https://gitea.bunny-wyvern.ts.net) |
|
||||
| [[stacks/matrix]] | Matrix homeserver + bridges | [matrix.bunny-wyvern.ts.net](https://matrix.bunny-wyvern.ts.net) |
|
||||
| [[stacks/homepage]] | Dashboard | [homepage.bunny-wyvern.ts.net](https://homepage.bunny-wyvern.ts.net) |
|
||||
| [[stacks/n8n]] | Workflow automation | [n8n.bunny-wyvern.ts.net](https://n8n.bunny-wyvern.ts.net) |
|
||||
| [[n8n]] | Workflow automation | [n8n.bunny-wyvern.ts.net](https://n8n.bunny-wyvern.ts.net) |
|
||||
| [[stacks/calibre]] | E-book library (STOPPED) | [calibre.bunny-wyvern.ts.net](https://calibre.bunny-wyvern.ts.net) |
|
||||
| [[stacks/gluetun]] | VPN gateway (Mullvad) | `:8001` (control) |
|
||||
| [[stacks/openproject]] | Project management | [openproject.bunny-wyvern.ts.net](https://openproject.bunny-wyvern.ts.net) |
|
||||
|
||||
@@ -7,7 +7,8 @@ All stacks run on [[../environments#Environment 1 — Homelab]]. Compose files l
|
||||
| Stack | Status | Containers | Tailscale Node |
|
||||
|---|---|---|---|
|
||||
| [[dockhand]] | Running | 2 | `dockhand.bunny-wyvern.ts.net` |
|
||||
| [[minecraft]] | Running | 1 | None (LAN exposed) |
|
||||
| [[minecraft]] | **Stopped** | 1 | None (LAN exposed) |
|
||||
| [[ark/ark]] | Running | 1 | None (LAN exposed) |
|
||||
| [[mealie]] | Running | 2 | `mealie.bunny-wyvern.ts.net` |
|
||||
| [[linkwarden]] | Running | 3 | `linkwarden.bunny-wyvern.ts.net` |
|
||||
| [[gitea]] | Running | 3 | `gitea.bunny-wyvern.ts.net` |
|
||||
|
||||
188
21-Server Reference/homelab/stacks/ark/ark.md
Normal file
188
21-Server Reference/homelab/stacks/ark/ark.md
Normal file
@@ -0,0 +1,188 @@
|
||||
# ARK: Survival Evolved Server
|
||||
|
||||
Self-hosted ARK: Survival Evolved dedicated server. Map: **TheIsland**.
|
||||
|
||||
## Access
|
||||
|
||||
- **Game:** `192.168.2.114:7777` (LAN / Tailscale)
|
||||
- **Steam Query:** `192.168.2.114:27015`
|
||||
- **RCON:** `192.168.2.114:27020` (TCP)
|
||||
|
||||
No Tailscale sidecar — ports exposed directly on the host (same pattern as Minecraft).
|
||||
|
||||
## Containers
|
||||
|
||||
| Container | Image | Role |
|
||||
|---|---|---|
|
||||
| `ark_server` | `hermsi/ark-server:latest` | Game server |
|
||||
|
||||
## Compose File
|
||||
|
||||
**Path:** `/ARK_Server/docker-compose.yaml`
|
||||
|
||||
```yaml
|
||||
services:
|
||||
ark:
|
||||
image: hermsi/ark-server:latest
|
||||
container_name: ark_server
|
||||
mem_limit: 10g
|
||||
ports:
|
||||
- "7777:7777/udp"
|
||||
- "7778:7778/udp" # Must be game port +1
|
||||
- "27015:27015/udp" # Steam query / server browser
|
||||
- "27020:27020/tcp" # RCON
|
||||
volumes:
|
||||
- /ARK_Server/data:/app
|
||||
- /ARK_Server/backups:/home/steam/ARK-Backups
|
||||
environment:
|
||||
SESSION_NAME: "Inanis ARK"
|
||||
SERVER_MAP: TheIsland
|
||||
SERVER_PASSWORD: <redacted>
|
||||
ADMIN_PASSWORD: <redacted>
|
||||
MAX_PLAYERS: 20
|
||||
UPDATE_ON_START: "true"
|
||||
BACKUP_ON_STOP: "true"
|
||||
PRE_UPDATE_BACKUP: "true"
|
||||
WARN_ON_STOP: "true"
|
||||
ENABLE_CROSSPLAY: "false"
|
||||
DISABLE_BATTLEYE: "false"
|
||||
GAME_MOD_IDS: "1999447172,1609138312,751991809,1404697612,479929837,1984936918,936959483,1967741708,821530042,924933745,771785590,502202937"
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
## Host Directory Setup
|
||||
|
||||
Run these once before first boot:
|
||||
|
||||
```bash
|
||||
sudo mkdir -p /ARK_Server/data /ARK_Server/backups
|
||||
sudo chown -R 1000:1000 /ARK_Server
|
||||
```
|
||||
|
||||
The container runs as the `steam` user (UID 1000). The chown ensures it can write to the bind-mount volumes.
|
||||
|
||||
## Data Layout
|
||||
|
||||
| Path | Contents |
|
||||
|---|---|
|
||||
| `/ARK_Server/data` | Server binaries, world saves, config files |
|
||||
| `/ARK_Server/backups` | Automatic backups (triggered by `BACKUP_ON_STOP`) |
|
||||
|
||||
> **First boot warning:** The server downloads ~30 GB of files from Steam on first startup. This takes a long time. Do not restart the container — just wait.
|
||||
|
||||
## Server Configuration (Multipliers)
|
||||
|
||||
After first boot, edit these two config files directly on the host. They are created by the server on first run.
|
||||
|
||||
### `GameUserSettings.ini`
|
||||
**Path:** `/ARK_Server/data/server/ShooterGame/Saved/Config/LinuxServer/GameUserSettings.ini`
|
||||
|
||||
Add/update these values under the `[ServerSettings]` section:
|
||||
|
||||
```ini
|
||||
[ServerSettings]
|
||||
; Rates — faster and more forgiving, but not trivial
|
||||
TamingSpeedMultiplier=5.0
|
||||
HarvestAmountMultiplier=3.0
|
||||
XPMultiplier=3.0
|
||||
ResourcesRespawnPeriodMultiplier=0.5
|
||||
|
||||
; Survival annoyances — reduced
|
||||
PlayerCharacterFoodDrainMultiplier=0.5
|
||||
PlayerCharacterWaterDrainMultiplier=0.5
|
||||
DinoCharacterFoodDrainMultiplier=0.5
|
||||
|
||||
; Inventory QoL
|
||||
ItemStackSizeMultiplier=2.0
|
||||
|
||||
; Loot
|
||||
SupplyCrateLootQualityMultiplier=1.5
|
||||
```
|
||||
|
||||
**Rationale:**
|
||||
- **5x taming** — vanilla taming is hours-long; 5x is still meaningful but won't eat a whole session
|
||||
- **3x harvest/XP** — fast enough to feel rewarding, slow enough to preserve the grind loop
|
||||
- **0.5x food/water drain** — cuts survival micromanagement in half without eliminating it
|
||||
- **0.5x resource respawn** — resources come back faster so you're not farming across the whole map
|
||||
|
||||
### `Game.ini`
|
||||
**Path:** `/ARK_Server/data/server/ShooterGame/Saved/Config/LinuxServer/Game.ini`
|
||||
|
||||
Add these values under the `[/script/shootergame.shootergamemode]` section:
|
||||
|
||||
```ini
|
||||
[/script/shootergame.shootergamemode]
|
||||
; Breeding — fast enough to do in a session
|
||||
MatingIntervalMultiplier=0.1
|
||||
EggHatchSpeedMultiplier=10.0
|
||||
BabyMatureSpeedMultiplier=20.0
|
||||
|
||||
; Imprinting — scaled proportionally to maturation speed
|
||||
; Rule: BabyCuddleIntervalMultiplier ≈ 1 / BabyMatureSpeedMultiplier
|
||||
; At 20x mature speed, cuddles happen ~every 24 minutes instead of 8 hours
|
||||
BabyCuddleIntervalMultiplier=0.05
|
||||
BabyImprintAmountMultiplier=2.0
|
||||
```
|
||||
|
||||
**Rationale:**
|
||||
- **20x maturation** — a large dino that normally takes 5 real-world days now takes ~6 hours
|
||||
- **0.05x cuddle interval** — keeps the number of cuddles per maturation roughly constant, so full imprinting is still achievable
|
||||
- **2x imprint amount** — each cuddle gives double imprint credit, reducing the number of cuddles needed for 100%
|
||||
- **0.1x mating interval** — vanilla mating cooldown is 18 hours; this reduces it to ~2 hours
|
||||
|
||||
> Restart the server after editing INI files.
|
||||
|
||||
## RCON Usage
|
||||
|
||||
Connect with any RCON client (e.g. RCON Console, mcrcon) to `192.168.2.114:27020` using the admin password.
|
||||
|
||||
Useful commands:
|
||||
```
|
||||
SaveWorld — Force save
|
||||
DoExit — Clean shutdown
|
||||
admincheat AllowPlayerToJoinNoCheck <SteamID> — Whitelist a player
|
||||
listplayers — Show connected players
|
||||
```
|
||||
|
||||
Manual save before stopping the container:
|
||||
```bash
|
||||
docker exec ark_server arkmanager rconcmd "SaveWorld"
|
||||
```
|
||||
|
||||
## Mods
|
||||
|
||||
See [[mods.md]] for the full mod reference and recommended load order.
|
||||
|
||||
To enable mods, set `GAME_MOD_IDS` in the compose file:
|
||||
```yaml
|
||||
GAME_MOD_IDS: "839162288,1999447172,1609138312,..."
|
||||
```
|
||||
|
||||
Mods are downloaded automatically on container start.
|
||||
|
||||
## Future Ideas
|
||||
|
||||
### Event Webhooks (Discord / n8n)
|
||||
ARK logs all server events to `ShooterGame.log`. A lightweight log-watcher sidecar container can tail this file and fire webhooks on pattern matches — routing through n8n or directly to Discord.
|
||||
|
||||
Detectable events and their log patterns:
|
||||
| Event | Log pattern |
|
||||
|---|---|
|
||||
| Server ready | `Full Startup` |
|
||||
| Player join | `joined this ARK` |
|
||||
| Player leave | `left this ARK` |
|
||||
| World save | `World Saved` |
|
||||
| Shutdown | `DoExit` |
|
||||
|
||||
The sidecar would mount `/ARK_Server/data/server/ShooterGame/Saved/Logs` read-only and POST to an n8n webhook. arkmanager has a native `discordWebhookURL` config option but it only covers update warnings — the log-watcher approach covers everything.
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- Uses `hermsi/ark-server` which wraps `arkmanager` internally — use `docker exec ark_server arkmanager <cmd>` for manual operations
|
||||
- `UPDATE_ON_START: true` — pulls the latest server patch on every container start
|
||||
- `BACKUP_ON_STOP: true` + `PRE_UPDATE_BACKUP: true` — automatic backup before updates and on shutdown
|
||||
- Port `7778` is always game port + 1; if you change `7777`, update both
|
||||
- RAM: 10 GB hard limit. ARK base footprint is ~6-8 GB; mods and a populated server will push toward the cap
|
||||
- Storage: allocate 50+ GB for `/ARK_Server/data` — binaries alone are ~30 GB, save data grows over time
|
||||
100
21-Server Reference/homelab/stacks/ark/mods.md
Normal file
100
21-Server Reference/homelab/stacks/ark/mods.md
Normal file
@@ -0,0 +1,100 @@
|
||||
# ARK: Survival Evolved — Mod Reference
|
||||
|
||||
Server mods loaded via `GAME_MOD_IDS` in the compose file.
|
||||
|
||||
> **Load order matters.** Mods are loaded in the order their IDs appear in `GAME_MOD_IDS`. Super Structures must go first as other mods may depend on its building framework.
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference Table
|
||||
|
||||
| # | Mod Name | Workshop ID | Category | Notes |
|
||||
|----|-------------------------------|-------------|---------------|-----------------------------------------------------------------|
|
||||
| 1 | Super Structures | 1999447172 | Building | Building overhaul + built-in automation (collector, crafter) |
|
||||
| 2 | Dino Storage v2 | 1609138312 | Creature Mgmt | Pokéball-style creature storage |
|
||||
| 3 | Death Recovery Mod | 751991809 | QoL | Gravestone on death; recover lost items |
|
||||
| 4 | Awesome Spyglass! | 1404697612 | QoL | Shows dino stats, player info, loot, eggs at range |
|
||||
| 5 | Lethals Reusables | 1967741708 | QoL | Reusable parachutes/tools; removes durability from hazmat/scuba |
|
||||
| 6 | Upgrade Station v1.8i | 821530042 | QoL | Upgrade armor, weapons, and tools beyond base tier |
|
||||
| 7 | Improved Dinos | 479929837 | Content | Rare dino spawns with better loot and harder fights |
|
||||
| 8 | Marniimods: Wildlife | 1984936918 | Content | Adds non-dino animals (owls, etc.) with saddles |
|
||||
| 9 | The World Turtle | 936959483 | Content | Massive tameable turtle; functions as a mobile base |
|
||||
| 10 | Dino Tracker | 924933745 | Utility | GPS device to locate tamed dinos on the map |
|
||||
| 11 | More Turrets and Turret Tools | 771785590 | Defense | New turret types with auto-refill capability |
|
||||
| 12 | Rideable Dodos | 502202937 | Fun | Makes dodos mountable. Important. |
|
||||
|
||||
---
|
||||
|
||||
## Mod Details
|
||||
|
||||
### Building & Automation
|
||||
|
||||
**Super Structures** `1999447172`
|
||||
Fork of S+ with a cleaner codebase and fewer bugs. Adds snapping, auto-doors/gates, silent structures, and fuel-free torches. Also includes a built-in automation suite — **this replaces the need for a dedicated automation mod:**
|
||||
- **SS Item Collector** — periodically sweeps nearby containers and dinos for specified items (eggs, feces, resources) and deposits them
|
||||
- **SS Item Aggregator** — combines Hatchery, Gardener, Collector, and Farmer roles; less server-intensive than the old per-role structures
|
||||
- **SS Auto-Crafter** — automates crafting queues with materials pulled from nearby storage
|
||||
- **Resource pull** — integrated into the inventory UI; works on any container
|
||||
|
||||
> Dedicated "automation mods" (Automated Ark, AA3) are both effectively abandoned and broken post-Aquatica. Super Structures' built-in tools cover the same ground and are actively maintained.
|
||||
|
||||
---
|
||||
|
||||
### Quality of Life
|
||||
|
||||
**Dino Storage v2** `1609138312`
|
||||
Capture tamed creatures into a glass sphere (effectively a Pokéball). No debuffs on release. Fast-capture feature makes it practical for large collections. Reduces server strain from keeping hundreds of dinos loaded in the world.
|
||||
|
||||
**Death Recovery Mod** `751991809`
|
||||
Places a gravestone at your death location. You can retrieve all lost items from it. Eliminates the most frustrating part of ARK for casual servers.
|
||||
|
||||
**Awesome Spyglass!** `1404697612`
|
||||
Replaces the vanilla spyglass. Points at dinos to see HP, torpor, level, and stats. Works on players, structures, eggs, and supply drops too. Essential for evaluating tame candidates.
|
||||
|
||||
**Lethals Reusables** `1967741708`
|
||||
Makes parachutes, grappling hooks, and tools reusable. Removes durability from hazmat suits and scuba gear. Significantly reduces the grind around utility items.
|
||||
|
||||
**Upgrade Station v1.8i** `821530042`
|
||||
Adds an upgrade workbench that lets you push armor, weapons, and tools to higher quality tiers. Gives purpose to otherwise-marginal blueprints.
|
||||
|
||||
---
|
||||
|
||||
### Content & Creatures
|
||||
|
||||
**Improved Dinos** `479929837`
|
||||
Spawns rare dino variants with increased difficulty and guaranteed high-quality blueprint drops on kill. Makes the world feel more alive and rewards exploration.
|
||||
|
||||
**Marniimods: Wildlife** `1984936918`
|
||||
Adds non-dinosaur animals to the world — owls and others, many with saddles. Fills out the ecosystem beyond the vanilla creature roster.
|
||||
|
||||
**The World Turtle** `936959483`
|
||||
A massive tameable turtle that functions as a mobile base platform. More a novelty than a meta choice, but a strong server centerpiece.
|
||||
|
||||
---
|
||||
|
||||
### Utility & Defense
|
||||
|
||||
**Dino Tracker** `924933745`
|
||||
A GPS-style device that lets you locate any of your tamed dinos on the map. Useful once your collection grows and dinos wander or get left at outposts.
|
||||
|
||||
**More Turrets and Turret Tools** `771785590`
|
||||
Adds new defensive turret types beyond vanilla and a tool for auto-refilling ammo. Useful even on PvE servers for base defense against wild dinos.
|
||||
|
||||
---
|
||||
|
||||
### Fun
|
||||
|
||||
**Rideable Dodos** `502202937`
|
||||
Exactly what it says.
|
||||
|
||||
---
|
||||
|
||||
## Suggested Load Order
|
||||
|
||||
If using multiple mods, prioritize content mods before QoL mods:
|
||||
|
||||
```
|
||||
GAME_MOD_IDS=1999447172,1609138312,751991809,1404697612,479929837,1984936918,936959483,1967741708,821530042,924933745,771785590,502202937
|
||||
```
|
||||
|
||||
> Super Structures (1999447172) first. Adjust order if mod conflicts arise.
|
||||
@@ -0,0 +1,71 @@
|
||||
<TaskerData sr="" dvi="1" tv="6.6.20">
|
||||
<Task sr="task9">
|
||||
<cdate>1774931800563</cdate>
|
||||
<edate>1774932946532</edate>
|
||||
<id>9</id>
|
||||
<nme>Git Sync</nme>
|
||||
<Action sr="act0" ve="7">
|
||||
<code>107361459</code>
|
||||
<Bundle sr="arg0">
|
||||
<Vals sr="val">
|
||||
<EnableDisableAccessibilityService><null></EnableDisableAccessibilityService>
|
||||
<EnableDisableAccessibilityService-type>java.lang.String</EnableDisableAccessibilityService-type>
|
||||
<Password><null></Password>
|
||||
<Password-type>java.lang.String</Password-type>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB>Actions To Perform: openApp(com.viscouspot.gitsync)
|
||||
|
||||
click(text,SYNC CHANGES)
|
||||
|
||||
backOutOfApp()
|
||||
Not In AutoInput: true
|
||||
Not In Tasker: true
|
||||
Separator: ,
|
||||
Check Millis: 1000</com.twofortyfouram.locale.intent.extra.BLURB>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS>parameters</net.dinglisch.android.tasker.JSON_ENCODED_KEYS>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>java.lang.String</net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES><StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%ailastbounds
|
||||
Last Bounds
|
||||
Bounds (left,top,right,bottom) of the item that the action last interacted with</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%ailastcoordinates
|
||||
Last Coordinates
|
||||
Center coordinates (x,y) of the item that the action last interacted with</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%err
|
||||
Error Code
|
||||
Only available if you select &lt;b&gt;Continue Task After Error&lt;/b&gt; and the action ends in error</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%errmsg
|
||||
Error Message
|
||||
Only available if you select &lt;b&gt;Continue Task After Error&lt;/b&gt; and the action ends in error</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray></net.dinglisch.android.tasker.RELEVANT_VARIABLES>
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>parameters plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
|
||||
<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
|
||||
<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
|
||||
<parameters>{"_action":"openApp(com.viscouspot.gitsync)\n\nclick(text,SYNC CHANGES)\n\nbackOutOfApp()","_additionalOptions":{"checkMs":"1000","separator":",","withCoordinates":false},"_whenToPerformAction":{"notInAutoInput":true,"notInTasker":true},"generatedValues":{}}</parameters>
|
||||
<parameters-type>java.lang.String</parameters-type>
|
||||
<plugininstanceid>5910f160-ad6a-4b47-ab40-810a62e77df1</plugininstanceid>
|
||||
<plugininstanceid-type>java.lang.String</plugininstanceid-type>
|
||||
<plugintypeid>com.joaomgcd.autoinput.intent.IntentActionv2</plugintypeid>
|
||||
<plugintypeid-type>java.lang.String</plugintypeid-type>
|
||||
</Vals>
|
||||
</Bundle>
|
||||
<Str sr="arg1" ve="3">com.joaomgcd.autoinput</Str>
|
||||
<Str sr="arg2" ve="3">com.joaomgcd.autoinput.activity.ActivityConfigActionv2</Str>
|
||||
<Int sr="arg3" val="60"/>
|
||||
<Int sr="arg4" val="1"/>
|
||||
</Action>
|
||||
<Action sr="act1" ve="7">
|
||||
<code>130</code>
|
||||
<Str sr="arg0" ve="3">JWL_Merge</Str>
|
||||
<Int sr="arg1">
|
||||
<var>%priority</var>
|
||||
</Int>
|
||||
<Int sr="arg10" val="1"/>
|
||||
<Str sr="arg2" ve="3"/>
|
||||
<Str sr="arg3" ve="3"/>
|
||||
<Str sr="arg4" ve="3"/>
|
||||
<Int sr="arg5" val="0"/>
|
||||
<Int sr="arg6" val="0"/>
|
||||
<Str sr="arg7" ve="3"/>
|
||||
<Int sr="arg8" val="0"/>
|
||||
<Int sr="arg9" val="0"/>
|
||||
</Action>
|
||||
</Task>
|
||||
</TaskerData>
|
||||
166
21-Server Reference/homelab/stacks/n8n/JW_Backup/JW Backup.md
Normal file
166
21-Server Reference/homelab/stacks/n8n/JW_Backup/JW Backup.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# JW Library Sync System
|
||||
**Date:** 2026-03-31
|
||||
**Status:** Working — E2E Verified (Tablet)
|
||||
**Stack:** Android (Tablet/Phone), Tasker, AutoInput, GitSync, Gitea, n8n, jwlFusion
|
||||
|
||||
---
|
||||
|
||||
## System Overview
|
||||
|
||||
Syncs JW Library backups (`.jwlibrary`) across multiple Android devices via a central server-side merge. Each device exports its backup, pushes it to Gitea, the server merges everything into a single `master.jwlibrary`, and each device restores from that master.
|
||||
|
||||
---
|
||||
|
||||
## Daily Sequence (4:30 AM)
|
||||
|
||||
| Time | Device | Action |
|
||||
|------|--------|--------|
|
||||
| 04:30 | Tablet | Backup → GitSync push → trigger n8n merge |
|
||||
| 04:35 | Phone | Backup → GitSync push |
|
||||
| 04:45 | Tablet | (after n8n responds) GitSync pull → restore master |
|
||||
|
||||
---
|
||||
|
||||
## Tasker Tasks
|
||||
|
||||
### JWL_Backup_To_Git
|
||||
1. **Kill App** — `org.jw.jwlibrary.mobile`
|
||||
2. **Wait** — 2s
|
||||
3. **Launch App** — JW Library
|
||||
4. **Wait** — 3s
|
||||
5. **AutoInput** — `nav_personal_study` → `action_backup_restore` → `Create Backup`
|
||||
6. **Wait** — 3s
|
||||
7. **AutoInput** — `Save Locally` → confirm (`android:id/button1`)
|
||||
8. **Perform Task** — `Git Sync`
|
||||
|
||||
### Git Sync
|
||||
1. **AutoInput** — `openApp(com.viscouspot.gitsync)` → `click(text,SYNC CHANGES)` → `backOutOfApp()`
|
||||
2. **Perform Task** — `JWL_Merge` (wait for return)
|
||||
|
||||
### JWL_Merge
|
||||
1. **HTTP POST** — `http://n8n.bunny-wyvern.ts.net:5678/webhook/sync-jw-backup`
|
||||
- Body: `{"device": "Samsung-Tablet-S10+"}`
|
||||
- Timeout: 60s
|
||||
2. **Wait** — 2s
|
||||
3. **If** `%http_data` matches `*Successful*`:
|
||||
- **Wait** — 3s
|
||||
- **Perform Task** — `JWL_Restore_From_Git`
|
||||
4. **End If**
|
||||
- *(Discord notification fires on n8n side if merge fails)*
|
||||
|
||||
### JWL_Restore_From_Git
|
||||
1. **Kill App** — `org.jw.jwlibrary.mobile`
|
||||
2. **Wait** — 2s
|
||||
3. **Launch App** — JW Library
|
||||
4. **Wait** — 3s
|
||||
5. **AutoInput** — `nav_personal_study` → `action_backup_restore` → `Restore Backup`
|
||||
6. **Wait** — 3s
|
||||
7. **Open File** (Tasker) — `/storage/emulated/0/vault/JW_Backups/master.jwlibrary`
|
||||
- JW Library intercepts the file directly — no file picker navigation needed
|
||||
|
||||
---
|
||||
|
||||
## n8n Workflow
|
||||
|
||||
**Webhook** → **SSH (Execute command)** → success: **Respond "Merge Successful"** / error: **Discord notification** → **Respond "Merge Failed"**
|
||||
|
||||
- Webhook path: `POST /webhook/sync-jw-backup`
|
||||
- SSH credential: `Homelab Login`
|
||||
- Script: `bash /home/artanis/Documents/JW_Backup_Sync_Engine.sh`
|
||||
- No Wait node between SSH and response — removed, was causing indefinite hang
|
||||
|
||||
---
|
||||
|
||||
## Server Script — JW_Backup_Sync_Engine.sh
|
||||
|
||||
**Path:** `/home/artanis/Documents/JW_Backup_Sync_Engine.sh`
|
||||
**Source copy:** `stacks/n8n/JW_Backup/JW_Backup_Sync_Engine.sh`
|
||||
|
||||
**What it does:**
|
||||
1. `git pull origin main` — fetch latest device backups
|
||||
2. Rename all `.jwlibrary` files (except `master.jwlibrary`) to `incoming_N.jwlibrary`
|
||||
3. Run `jwlFusion` to merge all incoming files into `master_tmp.jwlibrary`
|
||||
- If only one file and no master exists: promotes it directly
|
||||
4. Delete all `incoming_*.jwlibrary` files
|
||||
5. Rename `master_tmp.jwlibrary` → `master.jwlibrary`
|
||||
6. `git add -A` → commit → `git push origin main`
|
||||
- `git add -A` is critical — stages deletions of old device files so they don't reappear on next pull
|
||||
|
||||
**After script runs:** only `master.jwlibrary` remains in the repo.
|
||||
|
||||
---
|
||||
|
||||
## Reference
|
||||
|
||||
| Item | Value |
|
||||
|------|-------|
|
||||
| Vault (device) | `/storage/emulated/0/vault` |
|
||||
| JW_Backups (device) | `/storage/emulated/0/vault/JW_Backups` |
|
||||
| JW_Backups (server) | `/home/artanis/Inanis_Vault/JW_Backups` |
|
||||
| n8n Webhook | `http://n8n.bunny-wyvern.ts.net:5678/webhook/sync-jw-backup` |
|
||||
| Sync script | `/home/artanis/Documents/JW_Backup_Sync_Engine.sh` |
|
||||
|
||||
---
|
||||
|
||||
## Known Issues & Workarounds
|
||||
|
||||
| Issue | Workaround |
|
||||
|-------|-----------|
|
||||
| Termux:Tasker fails ("Missing/Disabled Receiver") | Use AutoInput to physically click GitSync UI instead |
|
||||
| GitSync doesn't respond to `com.viscouspot.gitsync.action.SYNC` intents | AutoInput clicks "SYNC CHANGES" button directly |
|
||||
| JW Library `android.intent.action.VIEW` intent does nothing | Tasker **Open File** action works instead |
|
||||
| JW Library on wrong screen breaks AutoInput | Force-stop app before every launch |
|
||||
| Old device backups persisted in repo across runs | `git add -A` instead of `git add master.jwlibrary` |
|
||||
|
||||
---
|
||||
|
||||
## Adding a New Device
|
||||
|
||||
All task files for a new device are in `stacks/n8n/JW_Backup/` — the `(1)` suffixed files are the phone templates.
|
||||
|
||||
### 1. Install Apps
|
||||
- **Tasker** (Play Store)
|
||||
- **AutoInput** (Play Store — same source as Tasker)
|
||||
- **GitSync** (Play Store)
|
||||
- **JW Library** (Play Store)
|
||||
|
||||
### 2. Configure GitSync
|
||||
1. Open GitSync → add a new repository
|
||||
2. Clone URL: `https://gitea.bunny-wyvern.ts.net/artanis/Inanis_Vault`
|
||||
3. Local path: `/storage/emulated/0/vault`
|
||||
4. Credentials: Gitea username + password (see `credentials.gpg`)
|
||||
5. Do an initial sync to confirm the repo clones correctly — `JW_Backups/` folder should appear at `/storage/emulated/0/vault/JW_Backups/`
|
||||
|
||||
### 3. Import Tasker Tasks
|
||||
Import the following files from `stacks/n8n/JW_Backup/` into Tasker (long-press task list → Import):
|
||||
- `JWL_Backup_To_Git.tsk(1).xml`
|
||||
- `Git_Sync.tsk(1).xml`
|
||||
- `JWL_Merge.tsk(1).xml`
|
||||
- `JWL_Restore_From_Git.tsk(1).xml`
|
||||
|
||||
### 4. Update Device Name
|
||||
In `JWL_Merge`, find the HTTP POST body and update the device identifier:
|
||||
```json
|
||||
{"device": "YOUR-DEVICE-NAME-HERE"}
|
||||
```
|
||||
This is only used for logging — set it to something recognizable (e.g., `Samsung-Phone-A55`).
|
||||
|
||||
### 5. Grant Permissions
|
||||
- **Tasker:** grant accessibility service, notification access, and storage permissions
|
||||
- **AutoInput:** grant accessibility service
|
||||
- **GitSync:** grant storage permissions
|
||||
- **JW Library:** grant storage permissions
|
||||
|
||||
### 6. Set Up Tasker Profile
|
||||
Create a **Time** profile to trigger `JWL_Backup_To_Git` at the device's scheduled time (e.g., 04:35 for phone). The task chain handles everything from there: backup → git push → n8n merge → git pull → restore.
|
||||
|
||||
### 7. Test
|
||||
Run `JWL_Backup_To_Git` manually and verify each step completes. Check n8n Executions tab to confirm the webhook fired and the SSH script succeeded.
|
||||
|
||||
---
|
||||
|
||||
## Open Items
|
||||
|
||||
- [ ] **Screen-off handling** — verify AutoInput sequence works when device screen is off (may need `Turn On Display` + `Dismiss Keyguard` actions before AutoInput steps)
|
||||
- [ ] **Phone e2e test** — tablet verified, phone not yet tested end-to-end
|
||||
- [ ] **Stagger validation** — confirm 5-min gap between phone push (04:35) and tablet n8n trigger (04:45) is sufficient on slow networks
|
||||
@@ -0,0 +1,175 @@
|
||||
{
|
||||
"name": "JW Library Sync",
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"command": "bash /home/artanis/Documents/JW_Backup_Sync_Engine.sh"
|
||||
},
|
||||
"type": "n8n-nodes-base.ssh",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
112,
|
||||
-112
|
||||
],
|
||||
"id": "5a156815-edbb-4c08-9e7d-75f98c2f6c39",
|
||||
"name": "Execute a command",
|
||||
"alwaysOutputData": true,
|
||||
"credentials": {
|
||||
"sshPassword": {
|
||||
"id": "wILbpFcpVSKcewXl",
|
||||
"name": "Homelab Login"
|
||||
}
|
||||
},
|
||||
"onError": "continueErrorOutput"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"httpMethod": "POST",
|
||||
"path": "sync-jw-backup",
|
||||
"responseMode": "responseNode",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 2.1,
|
||||
"position": [
|
||||
-112,
|
||||
-112
|
||||
],
|
||||
"id": "37b4ca1b-8910-41d5-8b1f-e7696b71f07f",
|
||||
"name": "Webhook",
|
||||
"webhookId": "5e348016-4d6e-4226-a5dc-c91eb7d6ea0e"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"authentication": "webhook",
|
||||
"content": "=JW SYNC ERROR:\n {{ $json.stderr }}",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.discord",
|
||||
"typeVersion": 2,
|
||||
"position": [
|
||||
336,
|
||||
-16
|
||||
],
|
||||
"id": "abac265b-78c6-4bc0-9ba9-f846d39eefa8",
|
||||
"name": "Discord",
|
||||
"webhookId": "4f823df1-38b6-4a5b-ae32-2fc586a9aa9b",
|
||||
"credentials": {
|
||||
"discordWebhookApi": {
|
||||
"id": "0i1bW7qtePtHMHjA",
|
||||
"name": "SV98"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"respondWith": "text",
|
||||
"responseBody": "Merge Successful",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"typeVersion": 1.5,
|
||||
"position": [
|
||||
560,
|
||||
-208
|
||||
],
|
||||
"id": "be993bb8-c654-42d1-9bea-7d6ffbd75db9",
|
||||
"name": "Respond to Webhook"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"respondWith": "text",
|
||||
"responseBody": "Merge Failed",
|
||||
"options": {}
|
||||
},
|
||||
"type": "n8n-nodes-base.respondToWebhook",
|
||||
"typeVersion": 1.5,
|
||||
"position": [
|
||||
560,
|
||||
-16
|
||||
],
|
||||
"id": "daa52075-9bd6-4425-a9d5-8763d935a372",
|
||||
"name": "Respond to Webhook1"
|
||||
}
|
||||
],
|
||||
"pinData": {
|
||||
"Webhook": [
|
||||
{
|
||||
"json": {
|
||||
"headers": {
|
||||
"user-agent": "Tasker/6.6.20 (Android/16)",
|
||||
"content-type": "application/json",
|
||||
"content-length": "33",
|
||||
"host": "n8n.bunny-wyvern.ts.net:5678",
|
||||
"connection": "Keep-Alive",
|
||||
"accept-encoding": "gzip"
|
||||
},
|
||||
"params": {},
|
||||
"query": {},
|
||||
"body": {
|
||||
"device": "Samsung-Tablet-S10+"
|
||||
},
|
||||
"webhookUrl": "http://n8n.bunny-wyvern.ts.net:5678/webhook/sync-jw-backup",
|
||||
"executionMode": "production"
|
||||
},
|
||||
"pairedItem": {
|
||||
"item": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Execute a command",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Execute a command": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Respond to Webhook",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
],
|
||||
[
|
||||
{
|
||||
"node": "Discord",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Discord": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Respond to Webhook1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"active": true,
|
||||
"settings": {
|
||||
"executionOrder": "v1",
|
||||
"binaryMode": "separate"
|
||||
},
|
||||
"versionId": "e3c5e92f-e32e-4e76-88bb-5167c0c4896c",
|
||||
"meta": {
|
||||
"templateCredsSetupCompleted": true,
|
||||
"instanceId": "cb40080ef54f0b350fa960324602081324276be1181221a02a674c62336f7933"
|
||||
},
|
||||
"id": "rmbJkjlgZi5hbRpg",
|
||||
"tags": []
|
||||
}
|
||||
@@ -0,0 +1,151 @@
|
||||
<TaskerData sr="" dvi="1" tv="6.6.20">
|
||||
<Task sr="task3">
|
||||
<cdate>1774912401659</cdate>
|
||||
<edate>1774991619042</edate>
|
||||
<id>3</id>
|
||||
<nme>JWL_Backup_To_Git</nme>
|
||||
<pri>100</pri>
|
||||
<Action sr="act0" ve="7">
|
||||
<code>18</code>
|
||||
<App sr="arg0">
|
||||
<appClass>org.jw.jwlibrary.mobile.MainActivity</appClass>
|
||||
<appPkg>org.jw.jwlibrary.mobile</appPkg>
|
||||
<label>JW Library</label>
|
||||
</App>
|
||||
<Int sr="arg1" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act1" ve="7">
|
||||
<code>30</code>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="2"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act2" ve="7">
|
||||
<code>20</code>
|
||||
<App sr="arg0">
|
||||
<appClass>org.jw.jwlibrary.mobile.MainActivity</appClass>
|
||||
<appPkg>org.jw.jwlibrary.mobile</appPkg>
|
||||
<label>JW Library</label>
|
||||
</App>
|
||||
<Str sr="arg1" ve="3"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="1"/>
|
||||
</Action>
|
||||
<Action sr="act3" ve="7">
|
||||
<code>30</code>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="3"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act4" ve="7">
|
||||
<code>107361459</code>
|
||||
<Bundle sr="arg0">
|
||||
<Vals sr="val">
|
||||
<EnableDisableAccessibilityService><null></EnableDisableAccessibilityService>
|
||||
<EnableDisableAccessibilityService-type>java.lang.String</EnableDisableAccessibilityService-type>
|
||||
<Password><null></Password>
|
||||
<Password-type>java.lang.String</Password-type>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB>Actions To Perform: click(id,org.jw.jwlibrary.mobile:id/nav_personal_study)
|
||||
|
||||
click(id,org.jw.jwlibrary.mobile:id/action_backup_restore)
|
||||
|
||||
click(text,Create Backup)
|
||||
Not In AutoInput: true
|
||||
Not In Tasker: true
|
||||
Separator: ,
|
||||
Check Millis: 1000</com.twofortyfouram.locale.intent.extra.BLURB>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS>parameters</net.dinglisch.android.tasker.JSON_ENCODED_KEYS>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>java.lang.String</net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>parameters plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
|
||||
<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
|
||||
<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
|
||||
<parameters>{"_action":"click(id,org.jw.jwlibrary.mobile:id/nav_personal_study)\n\nclick(id,org.jw.jwlibrary.mobile:id/action_backup_restore)\n\nclick(text,Create Backup)","_additionalOptions":{"checkMs":"1000","separator":",","withCoordinates":false},"_whenToPerformAction":{"notInAutoInput":true,"notInTasker":true},"generatedValues":{}}</parameters>
|
||||
<parameters-type>java.lang.String</parameters-type>
|
||||
<plugininstanceid>4a568374-2445-46f3-be31-a879d2940e36</plugininstanceid>
|
||||
<plugininstanceid-type>java.lang.String</plugininstanceid-type>
|
||||
<plugintypeid>com.joaomgcd.autoinput.intent.IntentActionv2</plugintypeid>
|
||||
<plugintypeid-type>java.lang.String</plugintypeid-type>
|
||||
</Vals>
|
||||
</Bundle>
|
||||
<Str sr="arg1" ve="3">com.joaomgcd.autoinput</Str>
|
||||
<Str sr="arg2" ve="3">com.joaomgcd.autoinput.activity.ActivityConfigActionv2</Str>
|
||||
<Int sr="arg3" val="60"/>
|
||||
<Int sr="arg4" val="1"/>
|
||||
</Action>
|
||||
<Action sr="act5" ve="7">
|
||||
<code>30</code>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="3"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act6" ve="7">
|
||||
<code>107361459</code>
|
||||
<Bundle sr="arg0">
|
||||
<Vals sr="val">
|
||||
<EnableDisableAccessibilityService><null></EnableDisableAccessibilityService>
|
||||
<EnableDisableAccessibilityService-type>java.lang.String</EnableDisableAccessibilityService-type>
|
||||
<Password><null></Password>
|
||||
<Password-type>java.lang.String</Password-type>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB>Actions To Perform: click(text,Save Locally)
|
||||
|
||||
click(id,android:id/button1)
|
||||
Not In AutoInput: true
|
||||
Not In Tasker: true
|
||||
Separator: ,
|
||||
Check Millis: 1000</com.twofortyfouram.locale.intent.extra.BLURB>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS>parameters</net.dinglisch.android.tasker.JSON_ENCODED_KEYS>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>java.lang.String</net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES><StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%ailastbounds
|
||||
Last Bounds
|
||||
Bounds (left,top,right,bottom) of the item that the action last interacted with</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%ailastcoordinates
|
||||
Last Coordinates
|
||||
Center coordinates (x,y) of the item that the action last interacted with</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%err
|
||||
Error Code
|
||||
Only available if you select &lt;b&gt;Continue Task After Error&lt;/b&gt; and the action ends in error</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%errmsg
|
||||
Error Message
|
||||
Only available if you select &lt;b&gt;Continue Task After Error&lt;/b&gt; and the action ends in error</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray></net.dinglisch.android.tasker.RELEVANT_VARIABLES>
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>parameters plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
|
||||
<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
|
||||
<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
|
||||
<parameters>{"_action":"click(text,Save Locally)\n\nclick(id,android:id/button1)","_additionalOptions":{"checkMs":"1000","separator":",","withCoordinates":false},"_whenToPerformAction":{"notInAutoInput":true,"notInTasker":true},"generatedValues":{}}</parameters>
|
||||
<parameters-type>java.lang.String</parameters-type>
|
||||
<plugininstanceid>babe5b2c-f87a-4a8a-ab34-6a891fce327c</plugininstanceid>
|
||||
<plugininstanceid-type>java.lang.String</plugininstanceid-type>
|
||||
<plugintypeid>com.joaomgcd.autoinput.intent.IntentActionv2</plugintypeid>
|
||||
<plugintypeid-type>java.lang.String</plugintypeid-type>
|
||||
</Vals>
|
||||
</Bundle>
|
||||
<Str sr="arg1" ve="3">com.joaomgcd.autoinput</Str>
|
||||
<Str sr="arg2" ve="3">com.joaomgcd.autoinput.activity.ActivityConfigActionv2</Str>
|
||||
<Int sr="arg3" val="60"/>
|
||||
<Int sr="arg4" val="1"/>
|
||||
</Action>
|
||||
<Action sr="act7" ve="7">
|
||||
<code>130</code>
|
||||
<Str sr="arg0" ve="3">Git Sync</Str>
|
||||
<Int sr="arg1">
|
||||
<var>%priority</var>
|
||||
</Int>
|
||||
<Int sr="arg10"/>
|
||||
<Str sr="arg2" ve="3"/>
|
||||
<Str sr="arg3" ve="3"/>
|
||||
<Str sr="arg4" ve="3"/>
|
||||
<Int sr="arg5"/>
|
||||
<Int sr="arg6" val="1"/>
|
||||
<Str sr="arg7" ve="3"/>
|
||||
<Int sr="arg8"/>
|
||||
<Int sr="arg9"/>
|
||||
</Action>
|
||||
</Task>
|
||||
</TaskerData>
|
||||
@@ -0,0 +1,86 @@
|
||||
<TaskerData sr="" dvi="1" tv="6.6.20">
|
||||
<Task sr="task8">
|
||||
<cdate>1774931254224</cdate>
|
||||
<edate>1774986287495</edate>
|
||||
<id>8</id>
|
||||
<nme>JWL_Merge</nme>
|
||||
<Action sr="act0" ve="7">
|
||||
<code>339</code>
|
||||
<Bundle sr="arg0">
|
||||
<Vals sr="val">
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES><StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%http_cookies
|
||||
Cookies
|
||||
The cookies the server sent in the response in the Cookie:COOKIE_VALUE format. You can use this directly in the 'Headers' field of the HTTP Request action</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%http_data
|
||||
Data
|
||||
Data that the server responded from the HTTP request.</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%http_file_output
|
||||
File Output
|
||||
Will always contain the file's full path even if you specified a directory as the File to save.</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%http_response_code
|
||||
Response Code
|
||||
The HTTP Code the server responded</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4>%http_headers()
|
||||
Response Headers
|
||||
The HTTP Headers the server sent in the response. Each header is in the 'key:value' format</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES4><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5>%http_response_length
|
||||
Response Length
|
||||
The size of the response in bytes</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES5></StringArray></net.dinglisch.android.tasker.RELEVANT_VARIABLES>
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
|
||||
</Vals>
|
||||
</Bundle>
|
||||
<Int sr="arg1" val="1"/>
|
||||
<Int sr="arg10" val="0"/>
|
||||
<Int sr="arg11" val="0"/>
|
||||
<Int sr="arg12" val="1"/>
|
||||
<Str sr="arg2" ve="3">http://n8n.bunny-wyvern.ts.net:5678/webhook/sync-jw-backup</Str>
|
||||
<Str sr="arg3" ve="3"/>
|
||||
<Str sr="arg4" ve="3"/>
|
||||
<Str sr="arg5" ve="3">{"device": "Samsung-Tablet-S10+"}</Str>
|
||||
<Str sr="arg6" ve="3"/>
|
||||
<Str sr="arg7" ve="3"/>
|
||||
<Int sr="arg8" val="60"/>
|
||||
<Int sr="arg9" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act1" ve="7">
|
||||
<code>30</code>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="2"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act2" ve="7">
|
||||
<code>37</code>
|
||||
<ConditionList sr="if">
|
||||
<Condition sr="c0" ve="3">
|
||||
<lhs>%http_data</lhs>
|
||||
<op>2</op>
|
||||
<rhs>*Successful*</rhs>
|
||||
</Condition>
|
||||
</ConditionList>
|
||||
</Action>
|
||||
<Action sr="act3" ve="7">
|
||||
<code>30</code>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="3"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act4" ve="7">
|
||||
<code>130</code>
|
||||
<Str sr="arg0" ve="3">JWL_Restore_From_Git</Str>
|
||||
<Int sr="arg1">
|
||||
<var>%priority+1</var>
|
||||
</Int>
|
||||
<Int sr="arg10" val="1"/>
|
||||
<Str sr="arg2" ve="3"/>
|
||||
<Str sr="arg3" ve="3"/>
|
||||
<Str sr="arg4" ve="3"/>
|
||||
<Int sr="arg5" val="0"/>
|
||||
<Int sr="arg6" val="0"/>
|
||||
<Str sr="arg7" ve="3"/>
|
||||
<Int sr="arg8" val="0"/>
|
||||
<Int sr="arg9" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act5" ve="7">
|
||||
<code>38</code>
|
||||
</Action>
|
||||
</Task>
|
||||
</TaskerData>
|
||||
@@ -0,0 +1,127 @@
|
||||
<TaskerData sr="" dvi="1" tv="6.6.20">
|
||||
<Task sr="task5">
|
||||
<cdate>1774912401659</cdate>
|
||||
<edate>1774991723740</edate>
|
||||
<id>5</id>
|
||||
<nme>JWL_Restore_From_Git</nme>
|
||||
<pri>100</pri>
|
||||
<Action sr="act0" ve="7">
|
||||
<code>130</code>
|
||||
<on>false</on>
|
||||
<Str sr="arg0" ve="3">Git Sync</Str>
|
||||
<Int sr="arg1">
|
||||
<var>%priority+1</var>
|
||||
</Int>
|
||||
<Int sr="arg10" val="1"/>
|
||||
<Str sr="arg2" ve="3"/>
|
||||
<Str sr="arg3" ve="3"/>
|
||||
<Str sr="arg4" ve="3"/>
|
||||
<Int sr="arg5" val="0"/>
|
||||
<Int sr="arg6" val="0"/>
|
||||
<Str sr="arg7" ve="3"/>
|
||||
<Int sr="arg8" val="0"/>
|
||||
<Int sr="arg9" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act1" ve="7">
|
||||
<code>30</code>
|
||||
<on>false</on>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="2"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act2" ve="7">
|
||||
<code>18</code>
|
||||
<on>false</on>
|
||||
<App sr="arg0">
|
||||
<appClass>org.jw.jwlibrary.mobile.MainActivity</appClass>
|
||||
<appPkg>org.jw.jwlibrary.mobile</appPkg>
|
||||
<label>JW Library</label>
|
||||
</App>
|
||||
<Int sr="arg1" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act3" ve="7">
|
||||
<code>30</code>
|
||||
<on>false</on>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="2"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act4" ve="7">
|
||||
<code>20</code>
|
||||
<on>false</on>
|
||||
<App sr="arg0">
|
||||
<appClass>org.jw.jwlibrary.mobile.MainActivity</appClass>
|
||||
<appPkg>org.jw.jwlibrary.mobile</appPkg>
|
||||
<label>JW Library</label>
|
||||
</App>
|
||||
<Str sr="arg1" ve="3"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="1"/>
|
||||
</Action>
|
||||
<Action sr="act5" ve="7">
|
||||
<code>30</code>
|
||||
<on>false</on>
|
||||
<Int sr="arg0" val="0"/>
|
||||
<Int sr="arg1" val="3"/>
|
||||
<Int sr="arg2" val="0"/>
|
||||
<Int sr="arg3" val="0"/>
|
||||
<Int sr="arg4" val="0"/>
|
||||
</Action>
|
||||
<Action sr="act6" ve="7">
|
||||
<code>102</code>
|
||||
<Str sr="arg0" ve="3">Vault/JW_Backups/master.jwlibrary</Str>
|
||||
<Str sr="arg1" ve="3"/>
|
||||
</Action>
|
||||
<Action sr="act7" ve="7">
|
||||
<code>107361459</code>
|
||||
<Bundle sr="arg0">
|
||||
<Vals sr="val">
|
||||
<EnableDisableAccessibilityService><null></EnableDisableAccessibilityService>
|
||||
<EnableDisableAccessibilityService-type>java.lang.String</EnableDisableAccessibilityService-type>
|
||||
<Password><null></Password>
|
||||
<Password-type>java.lang.String</Password-type>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB>Actions To Perform: click(text,RESTORE)
|
||||
|
||||
click(text,CLOSE)
|
||||
|
||||
backOutOfApp()
|
||||
Not In AutoInput: true
|
||||
Not In Tasker: true
|
||||
Separator: ,
|
||||
Check Millis: 1000</com.twofortyfouram.locale.intent.extra.BLURB>
|
||||
<com.twofortyfouram.locale.intent.extra.BLURB-type>java.lang.String</com.twofortyfouram.locale.intent.extra.BLURB-type>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS>parameters</net.dinglisch.android.tasker.JSON_ENCODED_KEYS>
|
||||
<net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>java.lang.String</net.dinglisch.android.tasker.JSON_ENCODED_KEYS-type>
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES><StringArray sr=""><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0>%ailastbounds
|
||||
Last Bounds
|
||||
Bounds (left,top,right,bottom) of the item that the action last interacted with</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES0><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1>%ailastcoordinates
|
||||
Last Coordinates
|
||||
Center coordinates (x,y) of the item that the action last interacted with</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES1><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2>%err
|
||||
Error Code
|
||||
Only available if you select &lt;b&gt;Continue Task After Error&lt;/b&gt; and the action ends in error</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES2><_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3>%errmsg
|
||||
Error Message
|
||||
Only available if you select &lt;b&gt;Continue Task After Error&lt;/b&gt; and the action ends in error</_array_net.dinglisch.android.tasker.RELEVANT_VARIABLES3></StringArray></net.dinglisch.android.tasker.RELEVANT_VARIABLES>
|
||||
<net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>[Ljava.lang.String;</net.dinglisch.android.tasker.RELEVANT_VARIABLES-type>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>parameters plugininstanceid plugintypeid </net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS>
|
||||
<net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>java.lang.String</net.dinglisch.android.tasker.extras.VARIABLE_REPLACE_KEYS-type>
|
||||
<net.dinglisch.android.tasker.subbundled>true</net.dinglisch.android.tasker.subbundled>
|
||||
<net.dinglisch.android.tasker.subbundled-type>java.lang.Boolean</net.dinglisch.android.tasker.subbundled-type>
|
||||
<parameters>{"_action":"click(text,RESTORE)\n\nclick(text,CLOSE)\n\nbackOutOfApp()","_additionalOptions":{"checkMs":"1000","separator":",","withCoordinates":false},"_whenToPerformAction":{"notInAutoInput":true,"notInTasker":true},"generatedValues":{}}</parameters>
|
||||
<parameters-type>java.lang.String</parameters-type>
|
||||
<plugininstanceid>952ed8a8-d00f-4278-bb41-07599243b5f1</plugininstanceid>
|
||||
<plugininstanceid-type>java.lang.String</plugininstanceid-type>
|
||||
<plugintypeid>com.joaomgcd.autoinput.intent.IntentActionv2</plugintypeid>
|
||||
<plugintypeid-type>java.lang.String</plugintypeid-type>
|
||||
</Vals>
|
||||
</Bundle>
|
||||
<Str sr="arg1" ve="3">com.joaomgcd.autoinput</Str>
|
||||
<Str sr="arg2" ve="3">com.joaomgcd.autoinput.activity.ActivityConfigActionv2</Str>
|
||||
<Int sr="arg3" val="60"/>
|
||||
<Int sr="arg4" val="1"/>
|
||||
</Action>
|
||||
</Task>
|
||||
</TaskerData>
|
||||
@@ -0,0 +1,64 @@
|
||||
#!/bin/bash
|
||||
|
||||
# --- CONFIG ---
|
||||
TARGET_DIR="/home/artanis/Inanis_Vault/JW_Backups"
|
||||
MASTER_NAME="master.jwlibrary"
|
||||
LIB_SOURCE="/usr/local/lib/libjwlCore.so"
|
||||
|
||||
# 1. Environment & Pathing
|
||||
export PATH=$PATH:/usr/local/bin:/usr/bin:/bin
|
||||
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
|
||||
cd "$TARGET_DIR" || exit 1
|
||||
|
||||
# 2. Update Repo
|
||||
git pull origin main
|
||||
|
||||
# 3. Rename messy filenames (Spaces/Brackets)
|
||||
shopt -s nullglob
|
||||
counter=1
|
||||
for f in *.jwlibrary; do
|
||||
if [[ "$f" != "$MASTER_NAME" && "$f" != incoming_* ]]; then
|
||||
mv "$f" "incoming_$counter.jwlibrary"
|
||||
((counter++))
|
||||
fi
|
||||
done
|
||||
shopt -u nullglob
|
||||
|
||||
# 4. Identify standardized files
|
||||
INCOMING_FILES=$(ls incoming_*.jwlibrary 2>/dev/null)
|
||||
|
||||
if [ -z "$INCOMING_FILES" ]; then
|
||||
echo "No new device backups found. Exiting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 5. Satisfy Binary & Merge
|
||||
ln -sf "$LIB_SOURCE" ./libjwlCore.so
|
||||
FILE_COUNT=$(echo "$MASTER_NAME $INCOMING_FILES" | wc -w)
|
||||
|
||||
if [ -f "$MASTER_NAME" ] && [ "$FILE_COUNT" -gt 1 ]; then
|
||||
jwlFusion -o:"master_tmp" "$MASTER_NAME" $INCOMING_FILES
|
||||
elif [ ! -f "$MASTER_NAME" ] && [ $(echo "$INCOMING_FILES" | wc -w) -gt 1 ]; then
|
||||
jwlFusion -o:"master_tmp" $INCOMING_FILES
|
||||
else
|
||||
# Recovery: If only 1 file exists and no master, promote it
|
||||
cp $INCOMING_FILES "$MASTER_NAME"
|
||||
echo "Promoted single file to master."
|
||||
fi
|
||||
|
||||
# 6. Cleanup & Finalize
|
||||
rm -f ./libjwlCore.so incoming_*.jwlibrary
|
||||
|
||||
if [ -f "master_tmp.jwlibrary" ]; then
|
||||
mv "master_tmp.jwlibrary" "$MASTER_NAME"
|
||||
fi
|
||||
|
||||
# 7. Git Push
|
||||
if git status --porcelain | grep -q .; then
|
||||
git add -A
|
||||
git commit -m "Automated Sync: $(date +'%Y-%m-%d %H:%M')"
|
||||
git push origin main
|
||||
echo "Sync successful. Master updated and pushed."
|
||||
else
|
||||
echo "No changes detected in master."
|
||||
fi
|
||||
51
21-Server Reference/px2-server/General Notes.md
Normal file
51
21-Server Reference/px2-server/General Notes.md
Normal file
@@ -0,0 +1,51 @@
|
||||
Pixel 2 (walleye)
|
||||
**OS:** Android 15 (LineageOS) + Magisk Root
|
||||
|
||||
Access on Tailscale
|
||||
```bash
|
||||
ssh u0_a208@100.127.187.60 -p 8022
|
||||
```
|
||||
### **Hardware & Thermal Management**
|
||||
- **Device:** Google Pixel 2 (Snapdragon 835, 4GB RAM)
|
||||
- **Charging Controller:** `acc` (Advanced Charging Controller)
|
||||
- **Target Window:** 60% (Stop) / 55% (Start)
|
||||
- **Active Switch:** `battery/charge_disable 0 1`
|
||||
- **Current Mode:** **Battery Idle / Bypass** (System runs on wall power; battery at rest)
|
||||
- **Thermal Profile:** ~30°C (Idle)
|
||||
- **CPU Governor:** `schedutil` (Dynamic scaling for efficiency/responsiveness)
|
||||
|
||||
|
||||
### **Network & Connectivity**
|
||||
- **Primary Access:** SSH via Termux
|
||||
- ```ssh u0_a208@100.127.187.60 -p 8022```
|
||||
- **VPN / Overlay:** **Tailscale** (Always-on)
|
||||
- **DNS/Ad-Blocking:** Integrated with existing network-wide Pi-hole via Tailnet. (probably)
|
||||
- Note: Tailscale is installed as an android app, not as a tmux cli tool.
|
||||
- Good for full system integration, bad for cli automation
|
||||
- **Wakelock:** Active (`termux-wake-lock`) — Prevents CPU suspension during screen-off.
|
||||
|
||||
### **Software Stack**
|
||||
|
||||
- **Environment:** Termux (64-bit)
|
||||
- **Shell:** Zsh with OMZ
|
||||
- **Multiplexer:** Zellij (Session persistence)
|
||||
- **Automation:** Termux:Boot (Script execution on power-on)
|
||||
|
||||
### **Stability & Kernel Hardening**
|
||||
|
||||
- **Phantom Process Killer:** **Disabled**
|
||||
- `max_phantom_processes` set to `2147483647`
|
||||
- `settings_enable_monitor_phantom_procs` set to `false`
|
||||
- **Battery Optimization:** **Disabled (Unrestricted)**
|
||||
- Whitelist applied for Termux and Tailscale to prevent background pruning.
|
||||
- **Persistence:** All ACC and Magisk tweaks persist across system reboots.
|
||||
|
||||
### Troubleshooting
|
||||
If it stops working, just restart it. That usually fixes it. If it doesn't, something bad happened.
|
||||
|
||||
### Future Notes
|
||||
Look more at proot-distro, and maybe udocker for docker.
|
||||
|
||||
Actually, look at chroot instead of proot-distro. Basically install debian into a folder, point the / to that folder in a zellij auto-spawned tab, and you've got debian in that tab that's fully transparent. _Kinda crazyyyy_
|
||||
|
||||
If installing HA, do HA Core, do NOT do Supervised. Don't even try it.
|
||||
9
23-Cooking/.claude/settings.local.json
Normal file
9
23-Cooking/.claude/settings.local.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"permissions": {
|
||||
"allow": [
|
||||
"Bash(cd C:\\\\Users\\\\toami\\\\Inanis_Vault:*)",
|
||||
"Bash(cd C:\\\\\\\\Users\\\\\\\\toami\\\\\\\\Inanis_Vault:*)",
|
||||
"Bash(cd:*)"
|
||||
]
|
||||
}
|
||||
}
|
||||
88
23-Cooking/CLAUDE.md
Normal file
88
23-Cooking/CLAUDE.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Cooking Framework — Claude Code Instructions
|
||||
|
||||
This directory contains a personal cooking framework for a frequent traveler. The system uses a formula-based approach: every meal = Protein + Produce + Starch + Fat + Acid + Aromatic + Technique.
|
||||
|
||||
## Key Reference Files
|
||||
|
||||
- `Flavor Sense.md` — the four flavor mechanisms (fat as solvent, acid resets palate, salt in layers, browning creates umami)
|
||||
- `Flavor Profile Formulas.md` — 10 flavor profiles as role principles with "identify by" cues
|
||||
- `Role Substitution Logic.md` — substitution hierarchies for each role
|
||||
- `Frameworks.md` — three cooking techniques: One-Pan Sear, Steam-Sauté, Starch-Buffer
|
||||
- `Weekly Planning Template.md` — market-first meal planning entry point
|
||||
- `Essential Non-Perishables.md` — pantry stocking guide
|
||||
|
||||
---
|
||||
|
||||
## Location File Workflow
|
||||
|
||||
Location files live in `Locations/[City, Country].md`. They have four zones:
|
||||
- **Zone 1 (Header):** Location name, region, first visited, last updated
|
||||
- **Zone 2 (Observations):** User-filled market notes — freeform or structured fields
|
||||
- **Zone 3 (Analysis):** Agent-generated output — five subsections
|
||||
- **Zone 4 (Visit Log):** Chronological user notes from each visit
|
||||
|
||||
### When the user says "Process my [City] location file"
|
||||
|
||||
1. Find the file at `Locations/[City, Country].md`
|
||||
2. Read Zone 2 (Observations) — parse both freeform text and structured fields; treat them as the same pool of information
|
||||
3. Map observations to framework roles using `Role Substitution Logic.md`:
|
||||
- Fat: any cooking oil, animal fat, or dairy fat mentioned
|
||||
- Acid: citrus, vinegar, fermented liquids, sour dairy, or sour-tasting condiments
|
||||
- Aromatic: alliums + any secondary aromatics (ginger, lemongrass, spices, herbs)
|
||||
- Starch: any grain, root vegetable, legume, or bread
|
||||
- Protein: any meat, fish, egg, legume, or tofu
|
||||
- Umami: any fermented condiment, aged cheese, concentrated tomato, or mushroom
|
||||
4. Match observations to the 10 profiles in `Flavor Profile Formulas.md`. Assign confidence:
|
||||
- ✦✦✦ = all three defining elements (fat + acid + aromatic character) present
|
||||
- ✦✦ = two of three defining elements present, or key secondary aromatics missing
|
||||
- ✦ = only partial match; note specifically what's absent
|
||||
- Omit profiles that score below ✦ (nothing available)
|
||||
5. Generate 3–5 meal options using available ingredients. Each formatted as:
|
||||
`*[Meal name]* — [Technique] · [Profile] · [protein] / [produce] / [starch] / [fat] / [acid] / [aromatic]`
|
||||
Use techniques from `Frameworks.md`: One-Pan Sear or Steam-Sauté (Starch-Buffer if microwave available)
|
||||
6. Write 3–5 bullet points of regional intelligence — what's culinarily notable about this location, what differs from the framework's defaults, what a traveler without local knowledge would benefit from knowing. Draw on your knowledge of the region's culinary traditions.
|
||||
7. Write 3–5 "things to look out for" — specific ingredients or products worth seeking on the next market visit, each with a one-line explanation of why it matters (flavor role, rarity, or value)
|
||||
8. Replace Zone 3 (Analysis) with the five subsections filled in
|
||||
9. In Zone 1, set "First visited" to today's date if currently blank; set "Last updated" to today's date
|
||||
10. Stage and commit:
|
||||
```
|
||||
git add "23-Cooking/Locations/[City, Country].md"
|
||||
git commit -m "generate location file: [City, Country]"
|
||||
```
|
||||
|
||||
### When the user says "Update my [City] location file"
|
||||
|
||||
1. Find the file at `Locations/[City, Country].md`
|
||||
2. Read Zone 2 (Observations) AND Zone 4 (Visit Log) — the full visit log supplements and may revise the original observations; treat both as one combined pool of information
|
||||
3. Re-run steps 3–8 from the generate workflow above using the combined observations
|
||||
4. In Zone 1, set "Last updated" to today's date; leave "First visited" unchanged
|
||||
5. Stage and commit:
|
||||
```
|
||||
git add "23-Cooking/Locations/[City, Country].md"
|
||||
git commit -m "update location file: [City, Country]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Analysis Output Format
|
||||
|
||||
### Ingredient Role Map
|
||||
Inline format, one line:
|
||||
> **Fat:** [items] | **Acid:** [items] | **Aromatic:** [items] | **Starch:** [items] | **Protein:** [items] | **Umami:** [items]
|
||||
|
||||
### Profile Matches
|
||||
One line per profile, ordered by confidence (highest first):
|
||||
> [Profile Name] ✦✦✦
|
||||
> [Profile Name] ✦✦ (missing: [specific absent element])
|
||||
> [Profile Name] ✦ (missing: [specific absent elements])
|
||||
|
||||
### Meal Options
|
||||
3–5 items, one per line, italicised meal name:
|
||||
> *[Meal name]* — [Technique] · [Profile] · [protein] / [produce] / [starch] / [fat] / [acid] / [aromatic]
|
||||
|
||||
### Regional Intelligence
|
||||
3–5 bullet points. Focus on: staple ingredients, local cooking patterns, things that differ from framework defaults, and anything a traveler without local knowledge would miss.
|
||||
|
||||
### Things to Look Out For
|
||||
3–5 items, each with name and one-line explanation:
|
||||
> **[Ingredient/product]** — [why it matters: flavor role, what profile it unlocks, rarity, or value]
|
||||
34
23-Cooking/Essential Non-Perishables.md
Normal file
34
23-Cooking/Essential Non-Perishables.md
Normal file
@@ -0,0 +1,34 @@
|
||||
Keep these stocked so you always have the "glue" to connect your fresh groceries.
|
||||
|
||||
#### 1. The Starches (The "Volume")
|
||||
* **White Rice (Jasmine or Basmati):** The most versatile. Works for East Asian, Latin American, and South Asian profiles.
|
||||
* **Dry Pasta (Long & Short):** Spaghetti for "Sauté" frameworks; Penne or Fusilli for "One-Pan" builds.
|
||||
* **Couscous:** The fastest starch. It only requires boiling water and a lid (no active cooking), making it perfect for Mediterranean builds.
|
||||
* **Canned Beans (Black, Chickpea, Cannellini):** These act as both a Starch and a backup Protein.
|
||||
* **Instant Mashed Potatoes:** A reliable backup for "Standard American" or "French" profiles when you don't have fresh potatoes.
|
||||
|
||||
#### 2. The Fats (The "Volume/Heat")
|
||||
* **Avocado Oil or Ghee:** Your high-smoke-point fats for searing protein and "Steam-Sautéing" veg.
|
||||
* **Extra Virgin Olive Oil:** Use this for finishing Mediterranean or French dishes (don't sear with it).
|
||||
* **Toasted Sesame Oil:** Essential for the finish on any East Asian profile. Store in a cool, dark place.
|
||||
|
||||
#### 3. The Acids (The "Clarity")
|
||||
* **Rice Vinegar:** Mild and slightly sweet; essential for East Asian profiles.
|
||||
* **Apple Cider Vinegar:** Robust and fruity; great for "Standard American" hashes or pork.
|
||||
* **Balsamic or Red Wine Vinegar:** The backbone of Mediterranean and French cooking.
|
||||
* **Soy Sauce:** While salty, it acts as a complex fermented acid/salt hybrid for many builds.
|
||||
|
||||
#### 4. The Aromatics & Seasonings (The "System Polish")
|
||||
* **Garlic & Onions:** While technically "fresh," they last weeks in a cool, dark cabinet.
|
||||
* **Diamond Crystal or Sea Salt:** Non-negotiable for every single meal.
|
||||
* **Red Pepper Flakes:** Adds heat to almost any profile without changing the fundamental flavor.
|
||||
* **Dried Oregano & Cumin:** Covers the baseline for Mediterranean, Latin, and American profiles.
|
||||
|
||||
#### 5. The "Safety Net" Proteins
|
||||
* **Canned Tuna or Chicken:** For when there is no fresh protein on sale.
|
||||
* **Nuts (Walnuts, Peanuts, Almonds):** Adds the "Texture" component and a hit of fat/protein to grain bowls or stir-frys.
|
||||
* **Beef or Turkey Jerky:** A high-protein, zero-prep addition to quick stovetop hashes.
|
||||
|
||||
---
|
||||
|
||||
*These are your pantry defaults — the ingredients that make [[Role Substitution Logic|substitution]] easier wherever you are. When planning meals, start with [[Weekly Planning Template]].*
|
||||
148
23-Cooking/Flavor Profile Formulas.md
Normal file
148
23-Cooking/Flavor Profile Formulas.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# Flavor Profile Formulas
|
||||
|
||||
Each profile is defined by its **fat + acid + aromatic character** — not specific ingredients. Identify two or three of these elements in a local market and the profile works. You do not need every listed item.
|
||||
|
||||
The mechanisms behind why these roles matter are in [[Flavor Sense]]. When a specific ingredient isn't available, see [[Role Substitution Logic]].
|
||||
|
||||
## How to Identify a Profile in an Unfamiliar Market
|
||||
|
||||
Walk the market and ask:
|
||||
1. What fat is available? (Oils, animal fats, dairy)
|
||||
2. What is the primary source of brightness? (Citrus, vinegar, fermented liquid, sour dairy)
|
||||
3. What aromatics are here? (Alliums, ginger, dried spices, fresh herbs)
|
||||
|
||||
Match those three against the profiles below. Garlic and onion are available almost everywhere — your secondary aromatic (ginger, dried spices, fresh herbs) is usually the deciding factor.
|
||||
|
||||
---
|
||||
|
||||
## Mediterranean
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil to cook; olive oil to finish or dress |
|
||||
| **Acid** | Citrus (lemon primary) or wine-derived vinegar |
|
||||
| **Aromatic** | Garlic + onion + dried herbs (oregano, thyme, rosemary, or any local herb equivalent) |
|
||||
| **Signature** | Bright, clean, herbaceous |
|
||||
|
||||
**Identify by:** olive oil on the shelf + lemon or wine vinegar + dried herbs
|
||||
|
||||
---
|
||||
|
||||
## East Asian
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil to cook; toasted sesame oil to finish |
|
||||
| **Acid** | Rice vinegar or lime; soy sauce or fish sauce acts as a salt+acid hybrid |
|
||||
| **Aromatic** | Garlic + ginger + scallion or leek |
|
||||
| **Signature** | Savory-umami, sharp finish |
|
||||
|
||||
**Identify by:** soy sauce or fish sauce + ginger + scallion or leek
|
||||
|
||||
---
|
||||
|
||||
## Southeast Asian
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil to cook; coconut milk or coconut oil for richness |
|
||||
| **Acid** | Lime (primary); fish sauce as salt+acid hybrid; tamarind for deeper sour |
|
||||
| **Aromatic** | Lemongrass + galangal or ginger + shallot + garlic + chili; fresh herbs (cilantro, Thai basil, mint) added off heat |
|
||||
| **Signature** | Bright, herbaceous, complex heat, tropical |
|
||||
|
||||
**Identify by:** lemongrass + fish sauce + fresh herbs available + coconut milk
|
||||
|
||||
---
|
||||
|
||||
## Latin American
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil or lard |
|
||||
| **Acid** | Lime (primary); any acidic fermented liquid (pickle brine, vinegar) |
|
||||
| **Aromatic** | Onion + hot pepper + cumin |
|
||||
| **Signature** | Smoky, earthy, acidic punch |
|
||||
|
||||
**Identify by:** cumin + lime + hot pepper (fresh or dried)
|
||||
|
||||
---
|
||||
|
||||
## Middle Eastern / Levantine
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Olive oil (used liberally); tahini adds richness without additional heat |
|
||||
| **Acid** | Lemon (primary); pomegranate molasses for sweet-sour depth; sumac (a dry sour spice — acid without any liquid) |
|
||||
| **Aromatic** | Garlic + onion + warm spices (cumin, coriander, cinnamon, allspice) + fresh parsley or mint to finish |
|
||||
| **Signature** | Warm, aromatic, earthy with bright lemon |
|
||||
|
||||
**Identify by:** cumin + coriander + lemon + olive oil; sumac or pomegranate molasses if available
|
||||
|
||||
---
|
||||
|
||||
## French / Continental
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Butter or cream if available; neutral oil otherwise |
|
||||
| **Acid** | Wine, lemon, or mustard |
|
||||
| **Aromatic** | Shallot or leek + garlic + soft herbs (parsley, tarragon, chives) |
|
||||
| **Signature** | Rich, coating, aromatic |
|
||||
|
||||
**Identify by:** butter + shallot or leek + soft fresh herbs
|
||||
|
||||
---
|
||||
|
||||
## South Asian
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Ghee or coconut oil; neutral oil otherwise |
|
||||
| **Acid** | Yogurt, citrus, or any tamarind-adjacent sour |
|
||||
| **Aromatic** | Onion + garlic + ginger + warm spices (cumin, coriander, turmeric); spices are bloomed in fat before other ingredients |
|
||||
| **Signature** | Warm, layered, complex |
|
||||
|
||||
**Identify by:** turmeric + cumin + coriander + ginger; yogurt or tamarind for acid
|
||||
|
||||
---
|
||||
|
||||
## West African
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Palm oil for authenticity (earthy, red); neutral oil otherwise; groundnut or peanut paste adds richness |
|
||||
| **Acid** | Tomato (fresh or canned in large quantity) acts as both acid and sauce base |
|
||||
| **Aromatic** | Onion + garlic + scotch bonnet or habanero; fermented paste (dawadawa or any local fermented condiment) adds depth |
|
||||
| **Signature** | Deep, rich, spicy, earthy |
|
||||
|
||||
**Identify by:** scotch bonnet or habanero + tomato as sauce base; palm oil if available
|
||||
|
||||
---
|
||||
|
||||
## Eastern European
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Butter or lard; sour cream used as a finishing fat |
|
||||
| **Acid** | Sour cream, pickled brine, or vinegar; sour-forward rather than citrus-forward |
|
||||
| **Aromatic** | Onion + dill + caraway; garlic present but restrained compared to other profiles |
|
||||
| **Signature** | Hearty, sour-forward, dairy-rich, warming |
|
||||
|
||||
**Identify by:** dill + sour cream or pickled things + caraway
|
||||
|
||||
---
|
||||
|
||||
## Standard American
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Butter or bacon fat; neutral oil otherwise |
|
||||
| **Acid** | Apple cider vinegar or hot sauce |
|
||||
| **Aromatic** | Onion + garlic |
|
||||
| **Signature** | Simple, rich, direct |
|
||||
|
||||
**Identify by:** butter + hot sauce + onion and garlic
|
||||
|
||||
---
|
||||
|
||||
*Return to [[Weekly Planning Template]] · Substitution help: [[Role Substitution Logic]] · Mechanisms: [[Flavor Sense]]*
|
||||
51
23-Cooking/Flavor Sense.md
Normal file
51
23-Cooking/Flavor Sense.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Flavor Sense
|
||||
|
||||
The four mechanisms that explain why the [[Flavor Profile Formulas|formula]] works. Internalize these and the profiles become consequences of logic — not things to memorize.
|
||||
|
||||
---
|
||||
|
||||
## Fat is a Flavor Solvent
|
||||
|
||||
Most aromatic compounds are fat-soluble — they don't dissolve well in water. When you cook an aromatic in fat, the fat extracts those compounds and carries them into every other ingredient in the pan. This is why "aromatic in fat first" is universal across every cuisine: it's chemistry, not tradition. Skipping this step means the flavor stays trapped in the aromatic instead of spreading through the dish.
|
||||
|
||||
**The move:** Heat fat in the pan first. Add aromatics (garlic, onion, ginger, lemongrass, etc.) before any other ingredient. Cook until fragrant — 30 to 60 seconds for garlic, 2–3 minutes for onion. Then add everything else.
|
||||
|
||||
---
|
||||
|
||||
## Acid Resets the Palate
|
||||
|
||||
Fat coats your tongue and lingers — that's what makes rich food satisfying. But coating means each bite tastes slightly less than the last, because taste receptors are progressively buried. Acid stimulates saliva production, which physically clears the fat coating and resets your receptors. This is why lemon on fried fish or vinegar in a stir-fry makes the dish taste *cleaner* without tasting sour — it's removing interference, not adding brightness.
|
||||
|
||||
**The diagnostic:** Too heavy or cloying → needs acid. Too sharp or flat → needs fat.
|
||||
|
||||
**The move:** Add acid at the end of cooking, off or away from direct heat. Heat destroys the volatile compounds that make acid bright. A squeeze of citrus or a splash of vinegar added before serving does far more than the same amount added during cooking.
|
||||
|
||||
---
|
||||
|
||||
## Salt Works in Layers, Not as a Finish
|
||||
|
||||
Salt needs moisture to dissolve and penetrate. Applied to a dry surface, it sits on top and you taste it directly. Applied with moisture present, it dissolves, penetrates, and seasons from within.
|
||||
|
||||
- **Salt protein before cooking** (15–30 min minimum): draws moisture out, which reabsorbs seasoned — this is what [[References/Bone-Dry Patting|Bone-Dry Patting]] achieves
|
||||
- **Salt cooking water heavily**: the only chance to season the interior of any starch
|
||||
- **Salt in layers at each stage**: protein first, then vegetables as they go in, then taste and adjust at the end
|
||||
- **Target feeling**: salt should be undetectable as its own flavor. "Flat" = under-salted. "Tastes salty" = over-salted. Correct = everything tastes more like itself
|
||||
|
||||
---
|
||||
|
||||
## Browning Creates Umami
|
||||
|
||||
Umami is the fifth taste — the sense of depth, completeness, and satisfaction. Your body evolved to detect it as a signal for protein and nutrition. It comes from glutamates: amino acids released when proteins break down through browning, fermentation, or slow cooking.
|
||||
|
||||
The [[Frameworks|One-Pan Sear]] is the primary umami-generation step in this framework. The browned crust is concentrated glutamate. Without it, a dish can be technically correct — salted, acidic, well-seasoned — and still feel hollow.
|
||||
|
||||
**Umami sources by method:**
|
||||
- **Browning:** seared meat, toasted grains, roasted vegetables
|
||||
- **Fermentation:** soy sauce, fish sauce, miso, Worcestershire, aged cheese, any fermented paste
|
||||
- **Concentration:** tomato paste, dried mushrooms, reduced stock
|
||||
|
||||
**The diagnostic:** Dish tastes flat despite correct salt and acid → needs umami. Add something fermented, or brown something harder.
|
||||
|
||||
---
|
||||
|
||||
*See also: [[References/Bone-Dry Patting]], [[References/High Smoke Point Fats]]*
|
||||
20
23-Cooking/Frameworks.md
Normal file
20
23-Cooking/Frameworks.md
Normal file
@@ -0,0 +1,20 @@
|
||||
## Cooking Techniques
|
||||
|
||||
This note covers the three core techniques. The [[Weekly Planning Template]] is the entry point for using them in a meal plan.
|
||||
|
||||
**Single-burner note:** The One-Pan Sear and Steam-Sauté both work on a single burner. The Starch-Buffer requires a microwave and is optional — if no microwave is available, cook your starch on the burner before cooking your protein, then set it aside.
|
||||
|
||||
### The "One-Pan" Sear (Skillet)
|
||||
This is the fundamental method for high-protein meals. The goal is to develop a "crust" on the protein through the Maillard reaction.
|
||||
* **The Logic:** Pat your protein (Chicken, Steak, Fish) [[References/Bone-Dry Patting|bone-dry]]. Heat your skillet with a [[References/High Smoke Point Fats|high smoke point fat]] until it shimmers.
|
||||
* **The Execution:** Sear the protein until it releases naturally from the pan. Remove it to a plate, then immediately toss your produce into the leftover rendered fat and juices to pick up the flavor.
|
||||
|
||||
### The "Steam-Sauté" (Skillet + Lid)
|
||||
This is the best method for "hard" vegetables like broccoli, carrots, or cauliflower that usually take too long to cook through in a pan.
|
||||
* **The Logic:** You use a small amount of liquid to cook the interior of the food with steam, then evaporate the liquid to brown the exterior.
|
||||
* **The Execution:** Place your produce in the skillet with a tablespoon of fat and two tablespoons of water. Cover with a tight lid for 3–5 minutes. Remove the lid, let the remaining water evaporate, and sauté until the edges are crisp.
|
||||
|
||||
### The "Starch-Buffer" (Microwave)
|
||||
Because a skillet only has so much surface area, the microwave acts as your secondary processor to handle the bulk components.
|
||||
* **The Logic:** While the skillet handles the "flavor" (protein and veg), the microwave handles the "volume" (starch).
|
||||
* **The Execution:** Use the microwave to steam potatoes (diced with a splash of water), rehydrate rice, or soften "zoodles" or grain pouches. This ensures all components of the meal reach the plate at the same temperature.
|
||||
61
23-Cooking/Locations/Uruma, Okinawa, Japan.md
Normal file
61
23-Cooking/Locations/Uruma, Okinawa, Japan.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# [Uruma City, Okinawa, Japan]
|
||||
|
||||
**Region:** [Island South of Japan, tropical]
|
||||
**First visited:** [2004]
|
||||
**Last updated:** [2026-04-11]
|
||||
|
||||
---
|
||||
|
||||
## Observations
|
||||
*Fill this in before running the agent. Either format works — freeform dump, structured fields, or both.*
|
||||
|
||||
**Freeform notes:**
|
||||
Vegetables: carrots, potatoes,
|
||||
Meats: strips of beef, ground beef, pork, chicken, lots of eggs
|
||||
Fats: Butter, vegetable oil, olive oil
|
||||
Spices: mostly dried spices. Lots of Japanese spices that I don't know what they are
|
||||
Other: Pasta and Rice
|
||||
|
||||
|
||||
|
||||
**Structured fields:**
|
||||
```
|
||||
Proteins seen:
|
||||
Produce seen:
|
||||
Starches:
|
||||
Fats available:
|
||||
Acids available:
|
||||
Aromatics:
|
||||
Condiments:
|
||||
Notables:
|
||||
First impressions:
|
||||
```
|
||||
---
|
||||
|
||||
## Analysis
|
||||
*Agent fills this in. Say "Process my [City, Country] location file" in Claude Code.*
|
||||
|
||||
### Ingredient Role Map
|
||||
*Agent fills in — your observations mapped to framework roles (Fat / Acid / Aromatic / Starch / Protein / Umami)*
|
||||
|
||||
### Profile Matches
|
||||
*Agent fills in — which of the 10 profiles work here, with confidence indicators (✦ partial / ✦✦ workable / ✦✦✦ full)*
|
||||
|
||||
### Meal Options
|
||||
*Agent fills in — 3–5 concrete builds using what's available, formatted as formula fills*
|
||||
|
||||
### Regional Intelligence
|
||||
*Agent fills in — what's culinarily notable and different about this location*
|
||||
|
||||
### Things to Look Out For
|
||||
*Agent fills in — specific ingredients or products worth seeking, with a brief note on each*
|
||||
|
||||
---
|
||||
|
||||
## Visit Log
|
||||
*Append dated entries here on each visit. Say "Update my [City, Country] location file" to refresh the analysis.*
|
||||
|
||||
### [YYYY-MM-DD] (first visit)
|
||||
[Your notes from this visit — what you found, what surprised you, what was missing]
|
||||
|
||||
---
|
||||
77
23-Cooking/Locations/_Location Template.md
Normal file
77
23-Cooking/Locations/_Location Template.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# [City, Country]
|
||||
|
||||
**Region:** [e.g. Northern Thailand, Catalonia, Oaxacan Valleys]
|
||||
**First visited:** [YYYY-MM-DD]
|
||||
**Last updated:** [YYYY-MM-DD]
|
||||
|
||||
---
|
||||
|
||||
## Observations
|
||||
*Fill this in before running the agent. Either format works — freeform dump, structured fields, or both.*
|
||||
|
||||
**Freeform notes:**
|
||||
[Write whatever you see — proteins, produce, what's abundant, what's absent, prices, anything notable]
|
||||
|
||||
**Structured fields:**
|
||||
```
|
||||
Proteins seen:
|
||||
Produce seen:
|
||||
Starches:
|
||||
Fats available:
|
||||
Acids available:
|
||||
Aromatics:
|
||||
Condiments:
|
||||
Notables:
|
||||
First impressions:
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Example — Tbilisi, Georgia
|
||||
*This shows the expected detail level. Delete this section from your own location files.*
|
||||
|
||||
**Freeform notes:**
|
||||
Markets are covered and permanent — not just weekend affairs. Walnuts everywhere and cheap, used as both protein and fat. Tkemali (sour plum sauce) is the primary condiment and acid. Lamb and pork are the dominant proteins; chicken is available but less interesting. Sulguni cheese is salty and stretchy, used in everything. Bread culture is strong — shoti (torpedo-shaped) and lavash baked fresh. Strong wine culture; local wine vinegars available. Fresh tarragon, dill, and cilantro dominate the herb section.
|
||||
|
||||
**Structured fields:**
|
||||
```
|
||||
Proteins seen: lamb, pork, chicken, eggs, walnuts, sulguni cheese
|
||||
Produce seen: eggplant, tomatoes, peppers, spinach, beets, beans
|
||||
Starches: shoti bread, lavash, potatoes, dried beans (lobio)
|
||||
Fats available: sunflower oil, butter, walnut paste
|
||||
Acids available: tkemali (sour plum sauce), wine vinegar, pomegranate
|
||||
Aromatics: garlic, onion, tarragon, dill, cilantro, fenugreek (utskho suneli), coriander seed
|
||||
Condiments: tkemali, adjika (spicy walnut-pepper paste), satsebeli (tomato-walnut sauce)
|
||||
Notables: blue fenugreek (utskho suneli) — the defining Georgian spice; churchkhela (walnut-grape snack)
|
||||
First impressions: Walnuts are a staple fat+protein here, not a garnish. Tkemali does the acid work that citrus does elsewhere. Georgian cuisine sits between Middle Eastern and Eastern European — it doesn't fit cleanly into any of the 10 profiles, which makes it a good test of the substitution system.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Analysis
|
||||
*Agent fills this in. Say "Process my [City, Country] location file" in Claude Code.*
|
||||
|
||||
### Ingredient Role Map
|
||||
*Agent fills in — your observations mapped to framework roles (Fat / Acid / Aromatic / Starch / Protein / Umami)*
|
||||
|
||||
### Profile Matches
|
||||
*Agent fills in — which of the 10 profiles work here, with confidence indicators (✦ partial / ✦✦ workable / ✦✦✦ full)*
|
||||
|
||||
### Meal Options
|
||||
*Agent fills in — 3–5 concrete builds using what's available, formatted as formula fills*
|
||||
|
||||
### Regional Intelligence
|
||||
*Agent fills in — what's culinarily notable and different about this location*
|
||||
|
||||
### Things to Look Out For
|
||||
*Agent fills in — specific ingredients or products worth seeking, with a brief note on each*
|
||||
|
||||
---
|
||||
|
||||
## Visit Log
|
||||
*Append dated entries here on each visit. Say "Update my [City, Country] location file" to refresh the analysis.*
|
||||
|
||||
### [YYYY-MM-DD] (first visit)
|
||||
[Your notes from this visit — what you found, what surprised you, what was missing]
|
||||
|
||||
---
|
||||
97
23-Cooking/README.md
Normal file
97
23-Cooking/README.md
Normal file
@@ -0,0 +1,97 @@
|
||||
# Cooking Framework
|
||||
|
||||
A formula-based cooking system for a traveler. Works with whatever ingredients are locally available — no specific recipes, no fixed shopping lists. Every meal is built from the same formula using whatever fills each role where you are.
|
||||
|
||||
---
|
||||
|
||||
## The Formula
|
||||
|
||||
Every meal = **Protein + Produce + Starch + Fat + Acid + Aromatic + Technique**
|
||||
|
||||
The formula never changes. What fills each role changes depending on location, budget, and what's available.
|
||||
|
||||
---
|
||||
|
||||
## How to Use It
|
||||
|
||||
### Weekly planning (at home or settled somewhere)
|
||||
|
||||
1. Open **[[Weekly Planning Template]]**
|
||||
2. Walk the market — categorize what you see into roles (protein, produce, starch, fat, acid, aromatic)
|
||||
3. Match your available aromatics and acids to a **[[Flavor Profile Formulas|flavor profile]]**
|
||||
4. Fill in the formula for each meal you're planning
|
||||
5. Your shopping list is everything in the formula you don't already have
|
||||
|
||||
### New location (just arrived somewhere)
|
||||
|
||||
1. Copy **[[Locations/_Location Template|_Location Template]]**, rename it `City, Country.md`
|
||||
2. Fill in your observations — freeform dump or structured fields, either works
|
||||
3. Open Claude Code and say: **"Process my [City, Country] location file"**
|
||||
4. The agent maps your observations to roles, matches profiles, generates meal options, and adds regional intelligence
|
||||
5. On return visits: append to the Visit Log, then say **"Update my [City, Country] location file"**
|
||||
|
||||
### Something's missing (ingredient substitution)
|
||||
|
||||
Open **[[Role Substitution Logic]]** and find the role you need to fill. Each role has a substitution hierarchy — work down the list until you find something available locally.
|
||||
|
||||
### Something tastes wrong (troubleshooting)
|
||||
|
||||
| Problem | Cause | Fix |
|
||||
| ----------------------- | ------------------------ | ----------------------------------------------------------- |
|
||||
| Tastes flat | Under-salted or no umami | Add salt in layers; add something fermented or brown harder |
|
||||
| Tastes heavy or cloying | Needs acid | Add citrus or vinegar off heat at the end |
|
||||
| Tastes sharp or thin | Needs fat | Add more fat; finish with butter or oil |
|
||||
| Protein has no crust | Surface was wet | Pat dry before searing; see [[References/Bone-Dry Patting]] |
|
||||
| No depth | No umami | Sear harder; add soy sauce, fish sauce, or tomato paste |
|
||||
|
||||
---
|
||||
|
||||
## The Files
|
||||
|
||||
### Core system
|
||||
| File | What it's for |
|
||||
|---|---|
|
||||
| **[[Weekly Planning Template]]** | Entry point — market assessment → profile match → formula fill → shopping list |
|
||||
| **[[Flavor Profile Formulas]]** | 10 flavor profiles as role principles; "identify by" cues for market matching |
|
||||
| **[[Role Substitution Logic]]** | Substitution hierarchies for every role; regional fermented condiment guide |
|
||||
| **[[Flavor Sense]]** | Why the formula works — fat as solvent, acid resets palate, salt in layers, browning creates umami |
|
||||
| **[[Frameworks]]** | Three cooking techniques: One-Pan Sear, Steam-Sauté, Starch-Buffer |
|
||||
| **[[Essential Non-Perishables]]** | What to keep stocked so you always have the pantry minimum |
|
||||
|
||||
### References (technical details)
|
||||
| File | What it's for |
|
||||
|---|---|
|
||||
| **[[References/Bone-Dry Patting]]** | Why and how to pat protein dry before searing |
|
||||
| **[[References/High Smoke Point Fats]]** | Which fats to use at high heat and why |
|
||||
|
||||
### Location files
|
||||
| File | What it's for |
|
||||
|---|---|
|
||||
| **[[Locations/_Location Template\|_Location Template]]** | Blank template to copy for a new location |
|
||||
| `Locations/City, Country.md` | Your built-up location files — one per place you've cooked |
|
||||
|
||||
---
|
||||
|
||||
## The Flavor Profiles (quick reference)
|
||||
|
||||
| Profile | Identify by |
|
||||
|---|---|
|
||||
| Mediterranean | Olive oil + lemon or wine vinegar + dried herbs |
|
||||
| East Asian | Soy or fish sauce + ginger + scallion |
|
||||
| Southeast Asian | Lemongrass + fish sauce + fresh herbs + coconut milk |
|
||||
| Latin American | Cumin + lime + hot pepper |
|
||||
| Middle Eastern / Levantine | Cumin + coriander + lemon + olive oil |
|
||||
| French / Continental | Butter + shallot or leek + soft fresh herbs |
|
||||
| South Asian | Turmeric + cumin + coriander + ginger |
|
||||
| West African | Scotch bonnet or habanero + tomato as sauce base |
|
||||
| Eastern European | Dill + sour cream or pickled things + caraway |
|
||||
| Standard American | Butter + hot sauce + onion and garlic |
|
||||
|
||||
---
|
||||
|
||||
## Four Things to Remember
|
||||
|
||||
1. **Aromatic in fat first.** Always. Cook your garlic/onion/ginger in fat before anything else — this is how flavor spreads through the dish.
|
||||
2. **Add acid off the heat.** A squeeze of citrus or splash of vinegar at the end does more than the same amount added during cooking.
|
||||
3. **Salt in layers.** Salt the protein before cooking, salt the cooking water, taste and adjust at the end. Never just at the end.
|
||||
4. **If it tastes hollow, brown something harder.** The sear is your primary umami step.
|
||||
11
23-Cooking/References/Bone-Dry Patting.md
Normal file
11
23-Cooking/References/Bone-Dry Patting.md
Normal file
@@ -0,0 +1,11 @@
|
||||
This is a critical technical requirement for the **Maillard Reaction** (the chemical process that creates that brown, flavorful crust).
|
||||
|
||||
- **The Problem:** Water is the enemy of browning. Moisture on the surface of your steak or chicken turns into steam the moment it hits the pan. Steam is capped at **100°C**, but browning doesn't happen until around **140°C** to **165°C**. If your protein is wet, you are essentially boiling the outside of your meat instead of searing it.
|
||||
|
||||
- **The Fix:** Take a paper towel and physically press it onto every surface of the meat until the paper towel stops coming away damp.
|
||||
|
||||
- **Pro Tip:** For the absolute best results, salt your meat and let it sit uncovered in the fridge for 30 minutes before cooking. The salt draws out moisture, which you then pat away.
|
||||
|
||||
- **Heat:** Get your skillet hot _first_, then add your **High-Smoke-Point Fat**.
|
||||
|
||||
- **The Test:** When the oil starts to shimmer (moving like water) or just barely wisps with smoke, lay the protein in _away_ from you to avoid splashes.
|
||||
11
23-Cooking/References/Flavor Profile Matrix.md
Normal file
11
23-Cooking/References/Flavor Profile Matrix.md
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
> **Note:** This table lists specific ingredient examples per profile. It is a reference, not a requirement — the canonical system is in [[Flavor Profile Formulas]], which describes each profile as role principles that work with local substitutes. Use this table when you want concrete examples of what to buy.
|
||||
|
||||
| Profile | Common Proteins | Common Produce | Common Starches | Fats | Acids | Aromatics |
|
||||
| :--------------------- | :--------------------------------- | :-------------------------------------- | :----------------------------- | :---------------------- | :----------------------------- | :--------------------------- |
|
||||
| **Mediterranean** | White Fish, Chicken, Chickpeas | Zucchini, Tomato, Spinach, Eggplant | Orzo, Couscous, Crusty Bread | Olive Oil | Lemon, Red Wine Vinegar | Garlic, Onion, Shallot |
|
||||
| **East Asian** | Pork, Tofu, Shrimp, Beef | Bok Choy, Snap Peas, Cabbage, Mushrooms | White Rice, Rice Noodles, Udon | Sesame Oil, Neutral Oil | Rice Vinegar, Lime | Ginger, Garlic, Scallion |
|
||||
| **Latin American** | Steak, White Fish, Black Beans | Corn, Tomato, Radish, Cabbage (Slaw) | Corn Tortillas, Rice | Lard, Avocado Oil | Lime, Pickled Onion Juice | Onion, Bell Pepper, Jalapeño |
|
||||
| **French/Continental** | Steak, Chicken, Eggs | Mushrooms, Asparagus, Green Beans | Potatoes, Baguette, Pasta | Butter, Heavy Cream | White Wine, Dijon, Lemon | Leek, Shallot, Garlic |
|
||||
| **South Asian** | Chicken, Lentils, Lamb | Cauliflower, Peas, Spinach, Potato | Basmati Rice, Naan | Ghee, Coconut Oil | Lemon, Yogurt, Tamarind | Onion, Ginger, Garlic |
|
||||
| **Standard American** | Ground Beef, Bacon, Chicken Thighs | Broccoli, Corn, Green Beans, Carrots | Mashed Potatoes, Macaroni | Butter, Bacon Fat | Apple Cider Vinegar, Hot Sauce | Onion, Garlic |
|
||||
12
23-Cooking/References/High Smoke Point Fats.md
Normal file
12
23-Cooking/References/High Smoke Point Fats.md
Normal file
@@ -0,0 +1,12 @@
|
||||
The "Smoke Point" is the temperature at which a fat stops shimmering and starts to burn, smoke, and taste bitter. Since a good sear requires high heat, you need fats that can handle the "thermal load" without breaking down.
|
||||
|
||||
| Fat Type | Smoke Point | Best Use |
|
||||
| :--- | :--- | :--- |
|
||||
| **Avocado Oil** | **~271°C** | The gold standard for high-heat searing. Neutral flavor. |
|
||||
| **Ghee (Clarified Butter)** | **~250°C** | Best for flavor. All the milk solids are removed so it won't burn. |
|
||||
| **Tallow / Lard** | **~200°C** | Great for "Standard American" or "Latin" profiles. |
|
||||
| **Neutral Oils (Canola, Grapeseed)** | **~200°C - 230°C** | Reliable, cost-effective, and won't change the flavor of the dish. |
|
||||
|
||||
#### What to Avoid for Searing
|
||||
* **Extra Virgin Olive Oil:** Has a low smoke point (**~160°C - 190°C**). Best used for finishing or low-heat sautéing.
|
||||
* **Butter:** Milk solids burn almost instantly at high heat. If you want butter flavor, add it at the very end of the cooking process (this is called "butter basting").
|
||||
82
23-Cooking/Role Substitution Logic.md
Normal file
82
23-Cooking/Role Substitution Logic.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# Role Substitution Logic
|
||||
|
||||
When an ingredient isn't available, think in **categories, not products**. Ask: *what role does this ingredient play, and what else plays that role locally?*
|
||||
|
||||
See [[Flavor Profile Formulas]] to match available ingredients to a profile. See [[Flavor Sense]] to understand why each role matters.
|
||||
|
||||
---
|
||||
|
||||
## Acid
|
||||
|
||||
The goal is brightness and palate reset. Anything with a sour, mouth-watering quality works.
|
||||
|
||||
Fresh citrus (lemon, lime, orange) → other citrus → mild vinegar (rice, white wine) → strong vinegar diluted with water (1:1) → fermented liquid (pickle brine, yogurt whey, kombucha) → sour dairy (yogurt, crème fraîche, sour cream)
|
||||
|
||||
**Dry acid:** Sumac or tamarind powder add sourness without any liquid — useful when you don't want to add moisture to the dish.
|
||||
|
||||
---
|
||||
|
||||
## Fat
|
||||
|
||||
The goal is flavor dissolution and heat conduction. Any fat works for cooking; flavored fats add profile character.
|
||||
|
||||
Neutral high-smoke oil (canola, sunflower, grapeseed, avocado) → animal fat (lard, ghee, tallow, duck fat) → olive oil (use at lower heat only — not for searing) → coconut oil (adds tropical character, shifts profile toward South Asian or Southeast Asian)
|
||||
|
||||
**Note:** Coconut milk is both a fat and a liquid — it creates a sauce rather than a searing medium. Use it for braises, not for high-heat cooking.
|
||||
|
||||
---
|
||||
|
||||
## Aromatic
|
||||
|
||||
Garlic and onion are available almost everywhere on earth and form a valid aromatic base for any profile. Secondary aromatics add regional specificity.
|
||||
|
||||
**Primary (universal):** Garlic + onion in any form (fresh, dried, powder as last resort)
|
||||
|
||||
**Secondary aromatics and their profiles:**
|
||||
- Ginger → East Asian, Southeast Asian, South Asian
|
||||
- Lemongrass → Southeast Asian (no real substitute; omit if unavailable)
|
||||
- Shallot → French, Southeast Asian (substitute: white part of scallion, or mild onion)
|
||||
- Leek → French, Eastern European (substitute: white part of scallion)
|
||||
- Cumin → Latin American, Middle Eastern, South Asian
|
||||
- Dill → Eastern European (no real substitute; omit if unavailable)
|
||||
- Caraway → Eastern European (substitute: fennel seed, a milder anise note)
|
||||
|
||||
---
|
||||
|
||||
## Umami
|
||||
|
||||
The goal is depth and a sense of completeness. Layer sources when possible — the effect compounds.
|
||||
|
||||
Brown your protein well (Maillard) → add a fermented condiment → add concentrated tomato (paste or canned) → add dried mushrooms (rehydrate in hot water; use both mushrooms and soaking liquid) → finish with aged or hard cheese
|
||||
|
||||
**Regional fermented condiments you might encounter:**
|
||||
- East / Southeast Asia: soy sauce, fish sauce, miso, shrimp paste, oyster sauce
|
||||
- South Asia: tamarind paste, achaar (pickled condiment)
|
||||
- Middle East / North Africa: preserved lemon, harissa
|
||||
- Europe: Worcestershire, Dijon mustard, anchovy paste, aged cheese (parmesan, pecorino)
|
||||
- Latin America: chipotle in adobo, mole paste
|
||||
- West Africa: dawadawa, ogiri, fermented fish paste
|
||||
|
||||
---
|
||||
|
||||
## Starch
|
||||
|
||||
The goal is volume and satiety. Any carbohydrate that absorbs liquid and flavor works.
|
||||
|
||||
Any grain cooked by absorption (rice, millet, farro, bulgur, quinoa, couscous) → root vegetables (potato, sweet potato, yuca, taro, plantain) → legumes as starch (beans, lentils, chickpeas) → flatbread or commercial bread → pasta or noodles
|
||||
|
||||
**Fastest starches:** Couscous (boiling water + lid, 5 min), instant noodles (discard seasoning packet), pre-cooked grain pouches
|
||||
|
||||
---
|
||||
|
||||
## Protein
|
||||
|
||||
The goal is substance and the primary browning opportunity. Any protein that can be seared works.
|
||||
|
||||
Fresh meat → fresh fish or shellfish → eggs → firm tofu or tempeh → canned protein (tuna, chicken, sardines, chickpeas) → nuts and seeds (texture + fat + protein, no browning needed)
|
||||
|
||||
**Budget hierarchy within meat:** Chicken thighs → pork shoulder or belly → beef chuck → chicken breast → any offal (liver, heart — highly nutritious, very affordable)
|
||||
|
||||
---
|
||||
|
||||
*Return to [[Weekly Planning Template]] · See profiles: [[Flavor Profile Formulas]] · See mechanisms: [[Flavor Sense]]*
|
||||
58
23-Cooking/Weekly Planning Template.md
Normal file
58
23-Cooking/Weekly Planning Template.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Weekly Planning Template
|
||||
|
||||
The entry point for the system. Works **market-first** — assess what's available before deciding what to make.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Market Assessment
|
||||
|
||||
Walk the market and sort what you see into roles. You are not looking for specific ingredients — you are asking what is available to fill each slot.
|
||||
|
||||
| Role | What to look for | Notes |
|
||||
|---|---|---|
|
||||
| **Protein** | Anything fresh and affordable | Pick 1–2 for the week |
|
||||
| **Produce** | Whatever looks good in quantity | Pick 2–3 types |
|
||||
| **Starch** | Any grain, root vegetable, legume, or bread | Pick 1 |
|
||||
| **Fat** | Oils, butter, animal fat on the shelf | Pick the best smoke-point option — see [[References/High Smoke Point Fats]] |
|
||||
| **Acid** | Citrus, vinegar, fermented liquid, sour dairy | Pick 1 primary |
|
||||
| **Aromatics** | Garlic and onion first; secondary aromatics next | Note what's available — this determines your profile |
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Profile Matching
|
||||
|
||||
Look at what aromatics and acids are available. Match to the profile whose **two or three defining elements** you can satisfy. You do not need everything — you need the elements that define that profile's character.
|
||||
|
||||
→ Full profile table and "identify by" cues: [[Flavor Profile Formulas]]
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Fill the Formula
|
||||
|
||||
Copy this block for each meal you're planning this week.
|
||||
|
||||
```
|
||||
Meal: _______________
|
||||
Technique: [One-Pan Sear / Steam-Sauté] → [[Frameworks]]
|
||||
Profile: _______________ → [[Flavor Profile Formulas]]
|
||||
Protein: _______________
|
||||
Produce: _______________, _______________ (+ _______________ optional)
|
||||
Starch: _______________
|
||||
Fat: _______________
|
||||
Acid: _______________
|
||||
Aromatic: _______________
|
||||
```
|
||||
|
||||
Can't find an ingredient? → [[Role Substitution Logic]]
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Shopping List
|
||||
|
||||
Everything in Step 3 that you don't already have becomes your list. Pantry staples (salt, a fat, a basic acid) stay stocked between markets. Fresh components (protein, produce) are bought per week or per location.
|
||||
|
||||
→ Pantry stocking guide: [[Essential Non-Perishables]]
|
||||
|
||||
---
|
||||
|
||||
*System reference: [[Flavor Sense]] · [[Flavor Profile Formulas]] · [[Role Substitution Logic]] · [[Frameworks]]*
|
||||
@@ -0,0 +1,581 @@
|
||||
# Cooking Framework Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** Build the four missing notes that complete the framework and update existing files to link into the new structure.
|
||||
|
||||
**Architecture:** Four new notes (Flavor Sense, Flavor Profile Formulas, Role Substitution Logic, Weekly Planning Template) form a linked system. Existing files are revised to reference the new structure. All notes use Obsidian [[wiki links]] for navigation. The Weekly Planning Template is the entry point; all other notes are reachable from it.
|
||||
|
||||
**Tech Stack:** Markdown, Obsidian wiki links (`[[Note Name]]`), git for commits.
|
||||
|
||||
---
|
||||
|
||||
## File Map
|
||||
|
||||
| Action | File | Responsibility |
|
||||
|---|---|---|
|
||||
| Create | `Flavor Sense.md` | The four flavor mechanisms explained from first principles |
|
||||
| Create | `Flavor Profile Formulas.md` | Ten profiles as role principles; "identify by" cues for market matching |
|
||||
| Create | `Role Substitution Logic.md` | Substitution hierarchies for each role; regional fermented condiment reference |
|
||||
| Create | `Weekly Planning Template.md` | Market-first planning entry point; formula slots; links to all other notes |
|
||||
| Modify | `Frameworks.md` | Add link to Weekly Planning Template; add single-burner note |
|
||||
| Modify | `Flavor Profile Matrix.md` | Add header note marking it as a specific-ingredient reference, not the canonical system |
|
||||
| Modify | `Essential Non-Perishables.md` | Add link to Role Substitution Logic and Weekly Planning Template |
|
||||
|
||||
---
|
||||
|
||||
## Task 1: Create Flavor Sense.md
|
||||
|
||||
**Files:**
|
||||
- Create: `Flavor Sense.md`
|
||||
|
||||
- [ ] **Step 1: Create the file with full content**
|
||||
|
||||
Create `Flavor Sense.md` in the root of `23-Cooking/` with this exact content:
|
||||
|
||||
```markdown
|
||||
# Flavor Sense
|
||||
|
||||
The four mechanisms that explain why the [[Flavor Profile Formulas|formula]] works. Internalize these and the profiles become consequences of logic — not things to memorize.
|
||||
|
||||
---
|
||||
|
||||
## Fat is a Flavor Solvent
|
||||
|
||||
Most aromatic compounds are fat-soluble — they don't dissolve well in water. When you cook an aromatic in fat, the fat extracts those compounds and carries them into every other ingredient in the pan. This is why "aromatic in fat first" is universal across every cuisine: it's chemistry, not tradition. Skipping this step means the flavor stays trapped in the aromatic instead of spreading through the dish.
|
||||
|
||||
**The move:** Heat fat in the pan first. Add aromatics (garlic, onion, ginger, lemongrass, etc.) before any other ingredient. Cook until fragrant — 30 to 60 seconds for garlic, 2–3 minutes for onion. Then add everything else.
|
||||
|
||||
---
|
||||
|
||||
## Acid Resets the Palate
|
||||
|
||||
Fat coats your tongue and lingers — that's what makes rich food satisfying. But coating means each bite tastes slightly less than the last, because taste receptors are progressively buried. Acid stimulates saliva production, which physically clears the fat coating and resets your receptors. This is why lemon on fried fish or vinegar in a stir-fry makes the dish taste *cleaner* without tasting sour — it's removing interference, not adding brightness.
|
||||
|
||||
**The diagnostic:** Too heavy or cloying → needs acid. Too sharp or flat → needs fat.
|
||||
|
||||
**The move:** Add acid at the end of cooking, off or away from direct heat. Heat destroys the volatile compounds that make acid bright. A squeeze of citrus or a splash of vinegar added before serving does far more than the same amount added during cooking.
|
||||
|
||||
---
|
||||
|
||||
## Salt Works in Layers, Not as a Finish
|
||||
|
||||
Salt needs moisture to dissolve and penetrate. Applied to a dry surface, it sits on top and you taste it directly. Applied with moisture present, it dissolves, penetrates, and seasons from within.
|
||||
|
||||
- **Salt protein before cooking** (15–30 min minimum): draws moisture out, which reabsorbs seasoned — this is what [[References/Bone-Dry Patting|Bone-Dry Patting]] achieves
|
||||
- **Salt cooking water heavily**: the only chance to season the interior of any starch
|
||||
- **Salt in layers at each stage**: protein first, then vegetables as they go in, then taste and adjust at the end
|
||||
- **Target feeling**: salt should be undetectable as its own flavor. "Flat" = under-salted. "Tastes salty" = over-salted. Correct = everything tastes more like itself
|
||||
|
||||
---
|
||||
|
||||
## Browning Creates Umami
|
||||
|
||||
Umami is the fifth taste — the sense of depth, completeness, and satisfaction. Your body evolved to detect it as a signal for protein and nutrition. It comes from glutamates: amino acids released when proteins break down through browning, fermentation, or slow cooking.
|
||||
|
||||
The [[Frameworks|One-Pan Sear]] is the primary umami-generation step in this framework. The browned crust is concentrated glutamate. Without it, a dish can be technically correct — salted, acidic, well-seasoned — and still feel hollow.
|
||||
|
||||
**Umami sources by method:**
|
||||
- **Browning:** seared meat, toasted grains, roasted vegetables
|
||||
- **Fermentation:** soy sauce, fish sauce, miso, Worcestershire, aged cheese, any fermented paste
|
||||
- **Concentration:** tomato paste, dried mushrooms, reduced stock
|
||||
|
||||
**The diagnostic:** Dish tastes flat despite correct salt and acid → needs umami. Add something fermented, or brown something harder.
|
||||
|
||||
---
|
||||
|
||||
*See also: [[References/Bone-Dry Patting]], [[References/High Smoke Point Fats]]*
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Verify wiki links resolve**
|
||||
|
||||
Check that every `[[...]]` link in the file points to a file that exists or will exist by the end of this plan:
|
||||
- `[[Flavor Profile Formulas]]` → created in Task 2 ✓
|
||||
- `[[Frameworks]]` → exists ✓
|
||||
- `[[References/Bone-Dry Patting]]` → exists ✓
|
||||
- `[[References/High Smoke Point Fats]]` → exists ✓
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Flavor Sense.md"
|
||||
git commit -m "add Flavor Sense note — four flavor mechanisms from first principles"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 2: Create Flavor Profile Formulas.md
|
||||
|
||||
**Files:**
|
||||
- Create: `Flavor Profile Formulas.md`
|
||||
|
||||
- [ ] **Step 1: Create the file with full content**
|
||||
|
||||
Create `Flavor Profile Formulas.md` in the root of `23-Cooking/` with this exact content:
|
||||
|
||||
```markdown
|
||||
# Flavor Profile Formulas
|
||||
|
||||
Each profile is defined by its **fat + acid + aromatic character** — not specific ingredients. Identify two or three of these elements in a local market and the profile works. You do not need every listed item.
|
||||
|
||||
The mechanisms behind why these roles matter are in [[Flavor Sense]]. When a specific ingredient isn't available, see [[Role Substitution Logic]].
|
||||
|
||||
## How to Identify a Profile in an Unfamiliar Market
|
||||
|
||||
Walk the market and ask:
|
||||
1. What fat is available? (Oils, animal fats, dairy)
|
||||
2. What is the primary source of brightness? (Citrus, vinegar, fermented liquid, sour dairy)
|
||||
3. What aromatics are here? (Alliums, ginger, dried spices, fresh herbs)
|
||||
|
||||
Match those three against the profiles below. Garlic and onion are available almost everywhere — your secondary aromatic (ginger, dried spices, fresh herbs) is usually the deciding factor.
|
||||
|
||||
---
|
||||
|
||||
## Mediterranean
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil to cook; olive oil to finish or dress |
|
||||
| **Acid** | Citrus (lemon primary) or wine-derived vinegar |
|
||||
| **Aromatic** | Garlic + onion + dried herbs (oregano, thyme, rosemary, or any local herb equivalent) |
|
||||
| **Signature** | Bright, clean, herbaceous |
|
||||
|
||||
**Identify by:** olive oil on the shelf + lemon or wine vinegar + dried herbs
|
||||
|
||||
---
|
||||
|
||||
## East Asian
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil to cook; toasted sesame oil to finish |
|
||||
| **Acid** | Rice vinegar or lime; soy sauce or fish sauce acts as a salt+acid hybrid |
|
||||
| **Aromatic** | Garlic + ginger + scallion or leek |
|
||||
| **Signature** | Savory-umami, sharp finish |
|
||||
|
||||
**Identify by:** soy sauce or fish sauce + ginger + scallion or leek
|
||||
|
||||
---
|
||||
|
||||
## Southeast Asian
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil to cook; coconut milk or coconut oil for richness |
|
||||
| **Acid** | Lime (primary); fish sauce as salt+acid hybrid; tamarind for deeper sour |
|
||||
| **Aromatic** | Lemongrass + galangal or ginger + shallot + garlic + chili; fresh herbs (cilantro, Thai basil, mint) added off heat |
|
||||
| **Signature** | Bright, herbaceous, complex heat, tropical |
|
||||
|
||||
**Identify by:** lemongrass + fish sauce + fresh herbs available + coconut milk
|
||||
|
||||
---
|
||||
|
||||
## Latin American
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Neutral oil or lard |
|
||||
| **Acid** | Lime (primary); any acidic fermented liquid (pickle brine, vinegar) |
|
||||
| **Aromatic** | Onion + hot pepper + cumin |
|
||||
| **Signature** | Smoky, earthy, acidic punch |
|
||||
|
||||
**Identify by:** cumin + lime + hot pepper (fresh or dried)
|
||||
|
||||
---
|
||||
|
||||
## Middle Eastern / Levantine
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Olive oil (used liberally); tahini adds richness without additional heat |
|
||||
| **Acid** | Lemon (primary); pomegranate molasses for sweet-sour depth; sumac (a dry sour spice — acid without any liquid) |
|
||||
| **Aromatic** | Garlic + onion + warm spices (cumin, coriander, cinnamon, allspice) + fresh parsley or mint to finish |
|
||||
| **Signature** | Warm, aromatic, earthy with bright lemon |
|
||||
|
||||
**Identify by:** cumin + coriander + lemon + olive oil; sumac or pomegranate molasses if available
|
||||
|
||||
---
|
||||
|
||||
## French / Continental
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Butter or cream if available; neutral oil otherwise |
|
||||
| **Acid** | Wine, lemon, or mustard |
|
||||
| **Aromatic** | Shallot or leek + garlic + soft herbs (parsley, tarragon, chives) |
|
||||
| **Signature** | Rich, coating, aromatic |
|
||||
|
||||
**Identify by:** butter + shallot or leek + soft fresh herbs
|
||||
|
||||
---
|
||||
|
||||
## South Asian
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Ghee or coconut oil; neutral oil otherwise |
|
||||
| **Acid** | Yogurt, citrus, or any tamarind-adjacent sour |
|
||||
| **Aromatic** | Onion + garlic + ginger + warm spices (cumin, coriander, turmeric); spices are bloomed in fat before other ingredients |
|
||||
| **Signature** | Warm, layered, complex |
|
||||
|
||||
**Identify by:** turmeric + cumin + coriander + ginger; yogurt or tamarind for acid
|
||||
|
||||
---
|
||||
|
||||
## West African
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Palm oil for authenticity (earthy, red); neutral oil otherwise; groundnut or peanut paste adds richness |
|
||||
| **Acid** | Tomato (fresh or canned in large quantity) acts as both acid and sauce base |
|
||||
| **Aromatic** | Onion + garlic + scotch bonnet or habanero; fermented paste (dawadawa or any local fermented condiment) adds depth |
|
||||
| **Signature** | Deep, rich, spicy, earthy |
|
||||
|
||||
**Identify by:** scotch bonnet or habanero + tomato as sauce base; palm oil if available
|
||||
|
||||
---
|
||||
|
||||
## Eastern European
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Butter or lard; sour cream used as a finishing fat |
|
||||
| **Acid** | Sour cream, pickled brine, or vinegar; sour-forward rather than citrus-forward |
|
||||
| **Aromatic** | Onion + dill + caraway; garlic present but restrained compared to other profiles |
|
||||
| **Signature** | Hearty, sour-forward, dairy-rich, warming |
|
||||
|
||||
**Identify by:** dill + sour cream or pickled things + caraway
|
||||
|
||||
---
|
||||
|
||||
## Standard American
|
||||
|
||||
| Role | Principle |
|
||||
|---|---|
|
||||
| **Fat** | Butter or bacon fat; neutral oil otherwise |
|
||||
| **Acid** | Apple cider vinegar or hot sauce |
|
||||
| **Aromatic** | Onion + garlic |
|
||||
| **Signature** | Simple, rich, direct |
|
||||
|
||||
**Identify by:** butter + hot sauce + onion and garlic
|
||||
|
||||
---
|
||||
|
||||
*Return to [[Weekly Planning Template]] · Substitution help: [[Role Substitution Logic]] · Mechanisms: [[Flavor Sense]]*
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Verify wiki links resolve**
|
||||
|
||||
- `[[Flavor Sense]]` → created in Task 1 ✓
|
||||
- `[[Role Substitution Logic]]` → created in Task 3 ✓
|
||||
- `[[Weekly Planning Template]]` → created in Task 4 ✓
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Flavor Profile Formulas.md"
|
||||
git commit -m "add Flavor Profile Formulas note — ten profiles as role principles"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 3: Create Role Substitution Logic.md
|
||||
|
||||
**Files:**
|
||||
- Create: `Role Substitution Logic.md`
|
||||
|
||||
- [ ] **Step 1: Create the file with full content**
|
||||
|
||||
Create `Role Substitution Logic.md` in the root of `23-Cooking/` with this exact content:
|
||||
|
||||
```markdown
|
||||
# Role Substitution Logic
|
||||
|
||||
When an ingredient isn't available, think in **categories, not products**. Ask: *what role does this ingredient play, and what else plays that role locally?*
|
||||
|
||||
See [[Flavor Profile Formulas]] to match available ingredients to a profile. See [[Flavor Sense]] to understand why each role matters.
|
||||
|
||||
---
|
||||
|
||||
## Acid
|
||||
|
||||
The goal is brightness and palate reset. Anything with a sour, mouth-watering quality works.
|
||||
|
||||
Fresh citrus (lemon, lime, orange) → other citrus → mild vinegar (rice, white wine) → strong vinegar diluted with water (1:1) → fermented liquid (pickle brine, yogurt whey, kombucha) → sour dairy (yogurt, crème fraîche, sour cream)
|
||||
|
||||
**Dry acid:** Sumac or tamarind powder add sourness without any liquid — useful when you don't want to add moisture to the dish.
|
||||
|
||||
---
|
||||
|
||||
## Fat
|
||||
|
||||
The goal is flavor dissolution and heat conduction. Any fat works for cooking; flavored fats add profile character.
|
||||
|
||||
Neutral high-smoke oil (canola, sunflower, grapeseed, avocado) → animal fat (lard, ghee, tallow, duck fat) → olive oil (use at lower heat only — not for searing) → coconut oil (adds tropical character, shifts profile toward South Asian or Southeast Asian)
|
||||
|
||||
**Note:** Coconut milk is both a fat and a liquid — it creates a sauce rather than a searing medium. Use it for braises, not for high-heat cooking.
|
||||
|
||||
---
|
||||
|
||||
## Aromatic
|
||||
|
||||
Garlic and onion are available almost everywhere on earth and form a valid aromatic base for any profile. Secondary aromatics add regional specificity.
|
||||
|
||||
**Primary (universal):** Garlic + onion in any form (fresh, dried, powder as last resort)
|
||||
|
||||
**Secondary aromatics and their profiles:**
|
||||
- Ginger → East Asian, Southeast Asian, South Asian
|
||||
- Lemongrass → Southeast Asian (no real substitute; omit if unavailable)
|
||||
- Shallot → French, Southeast Asian (substitute: white part of scallion, or mild onion)
|
||||
- Leek → French, Eastern European (substitute: white part of scallion)
|
||||
- Cumin → Latin American, Middle Eastern, South Asian
|
||||
- Dill → Eastern European (no real substitute; omit if unavailable)
|
||||
- Caraway → Eastern European (substitute: fennel seed, a milder anise note)
|
||||
|
||||
---
|
||||
|
||||
## Umami
|
||||
|
||||
The goal is depth and a sense of completeness. Layer sources when possible — the effect compounds.
|
||||
|
||||
Brown your protein well (Maillard) → add a fermented condiment → add concentrated tomato (paste or canned) → add dried mushrooms (rehydrate in hot water; use both mushrooms and soaking liquid) → finish with aged or hard cheese
|
||||
|
||||
**Regional fermented condiments you might encounter:**
|
||||
- East / Southeast Asia: soy sauce, fish sauce, miso, shrimp paste, oyster sauce
|
||||
- South Asia: tamarind paste, achaar (pickled condiment)
|
||||
- Middle East / North Africa: preserved lemon, harissa
|
||||
- Europe: Worcestershire, Dijon mustard, anchovy paste, aged cheese (parmesan, pecorino)
|
||||
- Latin America: chipotle in adobo, mole paste
|
||||
- West Africa: dawadawa, ogiri, fermented fish paste
|
||||
|
||||
---
|
||||
|
||||
## Starch
|
||||
|
||||
The goal is volume and satiety. Any carbohydrate that absorbs liquid and flavor works.
|
||||
|
||||
Any grain cooked by absorption (rice, millet, farro, bulgur, quinoa, couscous) → root vegetables (potato, sweet potato, yuca, taro, plantain) → legumes as starch (beans, lentils, chickpeas) → flatbread or commercial bread → pasta or noodles
|
||||
|
||||
**Fastest starches:** Couscous (boiling water + lid, 5 min), instant noodles (discard seasoning packet), pre-cooked grain pouches
|
||||
|
||||
---
|
||||
|
||||
## Protein
|
||||
|
||||
The goal is substance and the primary browning opportunity. Any protein that can be seared works.
|
||||
|
||||
Fresh meat → fresh fish or shellfish → eggs → firm tofu or tempeh → canned protein (tuna, chicken, sardines, chickpeas) → nuts and seeds (texture + fat + protein, no browning needed)
|
||||
|
||||
**Budget hierarchy within meat:** Chicken thighs → pork shoulder or belly → beef chuck → chicken breast → any offal (liver, heart — highly nutritious, very affordable)
|
||||
|
||||
---
|
||||
|
||||
*Return to [[Weekly Planning Template]] · See profiles: [[Flavor Profile Formulas]] · See mechanisms: [[Flavor Sense]]*
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Verify wiki links resolve**
|
||||
|
||||
- `[[Flavor Profile Formulas]]` → created in Task 2 ✓
|
||||
- `[[Flavor Sense]]` → created in Task 1 ✓
|
||||
- `[[Weekly Planning Template]]` → created in Task 4 ✓
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Role Substitution Logic.md"
|
||||
git commit -m "add Role Substitution Logic note — substitution hierarchies by role"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 4: Create Weekly Planning Template.md
|
||||
|
||||
**Files:**
|
||||
- Create: `Weekly Planning Template.md`
|
||||
|
||||
- [ ] **Step 1: Create the file with full content**
|
||||
|
||||
Create `Weekly Planning Template.md` in the root of `23-Cooking/` with this exact content:
|
||||
|
||||
````markdown
|
||||
# Weekly Planning Template
|
||||
|
||||
The entry point for the system. Works **market-first** — assess what's available before deciding what to make.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Market Assessment
|
||||
|
||||
Walk the market and sort what you see into roles. You are not looking for specific ingredients — you are asking what is available to fill each slot.
|
||||
|
||||
| Role | What to look for | Notes |
|
||||
|---|---|---|
|
||||
| **Protein** | Anything fresh and affordable | Pick 1–2 for the week |
|
||||
| **Produce** | Whatever looks good in quantity | Pick 2–3 types |
|
||||
| **Starch** | Any grain, root vegetable, legume, or bread | Pick 1 |
|
||||
| **Fat** | Oils, butter, animal fat on the shelf | Pick the best smoke-point option — see [[References/High Smoke Point Fats]] |
|
||||
| **Acid** | Citrus, vinegar, fermented liquid, sour dairy | Pick 1 primary |
|
||||
| **Aromatics** | Garlic and onion first; secondary aromatics next | Note what's available — this determines your profile |
|
||||
|
||||
---
|
||||
|
||||
## Step 2: Profile Matching
|
||||
|
||||
Look at what aromatics and acids are available. Match to the profile whose **two or three defining elements** you can satisfy. You do not need everything — you need the elements that define that profile's character.
|
||||
|
||||
→ Full profile table and "identify by" cues: [[Flavor Profile Formulas]]
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Fill the Formula
|
||||
|
||||
Copy this block for each meal you're planning this week.
|
||||
|
||||
```
|
||||
Meal: _______________
|
||||
Technique: [One-Pan Sear / Steam-Sauté] → [[Frameworks]]
|
||||
Profile: _______________ → [[Flavor Profile Formulas]]
|
||||
Protein: _______________
|
||||
Produce: _______________, _______________ (+ _______________ optional)
|
||||
Starch: _______________
|
||||
Fat: _______________
|
||||
Acid: _______________
|
||||
Aromatic: _______________
|
||||
```
|
||||
|
||||
Can't find an ingredient? → [[Role Substitution Logic]]
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Shopping List
|
||||
|
||||
Everything in Step 3 that you don't already have becomes your list. Pantry staples (salt, a fat, a basic acid) stay stocked between markets. Fresh components (protein, produce) are bought per week or per location.
|
||||
|
||||
→ Pantry stocking guide: [[Essential Non-Perishables]]
|
||||
|
||||
---
|
||||
|
||||
*System reference: [[Flavor Sense]] · [[Flavor Profile Formulas]] · [[Role Substitution Logic]] · [[Frameworks]]*
|
||||
````
|
||||
|
||||
- [ ] **Step 2: Verify wiki links resolve**
|
||||
|
||||
- `[[References/High Smoke Point Fats]]` → exists ✓
|
||||
- `[[Flavor Profile Formulas]]` → created in Task 2 ✓
|
||||
- `[[Frameworks]]` → exists ✓
|
||||
- `[[Role Substitution Logic]]` → created in Task 3 ✓
|
||||
- `[[Essential Non-Perishables]]` → exists ✓
|
||||
- `[[Flavor Sense]]` → created in Task 1 ✓
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Weekly Planning Template.md"
|
||||
git commit -m "add Weekly Planning Template — market-first entry point for the system"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 5: Update Frameworks.md
|
||||
|
||||
**Files:**
|
||||
- Modify: `Frameworks.md`
|
||||
|
||||
- [ ] **Step 1: Add system header and single-burner note**
|
||||
|
||||
Open `Frameworks.md`. Replace the existing content with this:
|
||||
|
||||
```markdown
|
||||
## Cooking Techniques
|
||||
|
||||
This note covers the three core techniques. The [[Weekly Planning Template]] is the entry point for using them in a meal plan.
|
||||
|
||||
**Single-burner note:** The One-Pan Sear and Steam-Sauté both work on a single burner. The Starch-Buffer requires a microwave and is optional — if no microwave is available, cook your starch on the burner before cooking your protein, then set it aside.
|
||||
|
||||
### The "One-Pan" Sear (Skillet)
|
||||
This is the fundamental method for high-protein meals. The goal is to develop a "crust" on the protein through the Maillard reaction.
|
||||
* **The Logic:** Pat your protein (Chicken, Steak, Fish) [[References/Bone-Dry Patting|bone-dry]]. Heat your skillet with a [[References/High Smoke Point Fats|high smoke point fat]] until it shimmers.
|
||||
* **The Execution:** Sear the protein until it releases naturally from the pan. Remove it to a plate, then immediately toss your produce into the leftover rendered fat and juices to pick up the flavor.
|
||||
|
||||
### The "Steam-Sauté" (Skillet + Lid)
|
||||
This is the best method for "hard" vegetables like broccoli, carrots, or cauliflower that usually take too long to cook through in a pan.
|
||||
* **The Logic:** You use a small amount of liquid to cook the interior of the food with steam, then evaporate the liquid to brown the exterior.
|
||||
* **The Execution:** Place your produce in the skillet with a tablespoon of fat and two tablespoons of water. Cover with a tight lid for 3–5 minutes. Remove the lid, let the remaining water evaporate, and sauté until the edges are crisp.
|
||||
|
||||
### The "Starch-Buffer" (Microwave)
|
||||
Because a skillet only has so much surface area, the microwave acts as your secondary processor to handle the bulk components.
|
||||
* **The Logic:** While the skillet handles the "flavor" (protein and veg), the microwave handles the "volume" (starch).
|
||||
* **The Execution:** Use the microwave to steam potatoes (diced with a splash of water), rehydrate rice, or soften "zoodles" or grain pouches. This ensures all components of the meal reach the plate at the same temperature.
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Verify wiki links resolve**
|
||||
|
||||
- `[[Weekly Planning Template]]` → created in Task 4 ✓
|
||||
- `[[References/Bone-Dry Patting]]` → exists ✓
|
||||
- `[[References/High Smoke Point Fats]]` → exists ✓
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Frameworks.md"
|
||||
git commit -m "update Frameworks — add system link, single-burner note, wiki links"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 6: Update Flavor Profile Matrix.md
|
||||
|
||||
**Files:**
|
||||
- Modify: `Flavor Profile Matrix.md`
|
||||
|
||||
- [ ] **Step 1: Add header note marking the file as a specific-ingredient reference**
|
||||
|
||||
Open `Flavor Profile Matrix.md`. Add this block at the very top, before the table:
|
||||
|
||||
```markdown
|
||||
> **Note:** This table lists specific ingredient examples per profile. It is a reference, not a requirement — the canonical system is in [[Flavor Profile Formulas]], which describes each profile as role principles that work with local substitutes. Use this table when you want concrete examples of what to buy.
|
||||
|
||||
```
|
||||
|
||||
The existing table stays unchanged below this note.
|
||||
|
||||
- [ ] **Step 2: Verify wiki links resolve**
|
||||
|
||||
- `[[Flavor Profile Formulas]]` → created in Task 2 ✓
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Flavor Profile Matrix.md"
|
||||
git commit -m "update Flavor Profile Matrix — add reference note pointing to Flavor Profile Formulas"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 7: Update Essential Non-Perishables.md
|
||||
|
||||
**Files:**
|
||||
- Modify: `Essential Non-Perishables.md`
|
||||
|
||||
- [ ] **Step 1: Add footer links**
|
||||
|
||||
Open `Essential Non-Perishables.md`. Append this block at the very end of the file:
|
||||
|
||||
```markdown
|
||||
|
||||
---
|
||||
|
||||
*These are your pantry defaults — the ingredients that make [[Role Substitution Logic|substitution]] easier wherever you are. When planning meals, start with [[Weekly Planning Template]].*
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Verify wiki links resolve**
|
||||
|
||||
- `[[Role Substitution Logic]]` → created in Task 3 ✓
|
||||
- `[[Weekly Planning Template]]` → created in Task 4 ✓
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Essential Non-Perishables.md"
|
||||
git commit -m "update Essential Non-Perishables — add footer links to system notes"
|
||||
```
|
||||
239
23-Cooking/docs/superpowers/plans/2026-03-25-location-file.md
Normal file
239
23-Cooking/docs/superpowers/plans/2026-03-25-location-file.md
Normal file
@@ -0,0 +1,239 @@
|
||||
# Location File Implementation Plan
|
||||
|
||||
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** Build a location file system — a template for documenting local market conditions and a CLAUDE.md that tells Claude Code how to process those files into structured analysis.
|
||||
|
||||
**Architecture:** Two files. `Locations/_Location Template.md` is the user-facing template: blank zones with a fully-worked Tbilisi, Georgia example showing exactly what to fill in. `CLAUDE.md` is the agent-facing instruction file: tells Claude Code how to read a location file and produce all five analysis subsections when the user says "Process my [City] location file" or "Update my [City] location file".
|
||||
|
||||
**Tech Stack:** Markdown, Obsidian wiki links, CLAUDE.md (Claude Code context file).
|
||||
|
||||
---
|
||||
|
||||
## File Map
|
||||
|
||||
| Action | File | Responsibility |
|
||||
|---|---|---|
|
||||
| Create | `Locations/_Location Template.md` | Four-zone template with blank fields + worked Tbilisi example |
|
||||
| Create | `CLAUDE.md` | Agent processing instructions for generate and update workflows |
|
||||
|
||||
---
|
||||
|
||||
## Task 1: Create Locations/_Location Template.md
|
||||
|
||||
**Files:**
|
||||
- Create: `Locations/_Location Template.md`
|
||||
|
||||
- [ ] **Step 1: Create the Locations folder and template file**
|
||||
|
||||
Create `C:\Users\toami\Inanis_Vault\23-Cooking\Locations\_Location Template.md` with this exact content:
|
||||
|
||||
````markdown
|
||||
# [City, Country]
|
||||
|
||||
**Region:** [e.g. Northern Thailand, Catalonia, Oaxacan Valleys]
|
||||
**First visited:** [YYYY-MM-DD]
|
||||
**Last updated:** [YYYY-MM-DD]
|
||||
|
||||
---
|
||||
|
||||
## Observations
|
||||
*Fill this in before running the agent. Either format works — freeform dump, structured fields, or both.*
|
||||
|
||||
**Freeform notes:**
|
||||
[Write whatever you see — proteins, produce, what's abundant, what's absent, prices, anything notable]
|
||||
|
||||
**Structured fields:**
|
||||
```
|
||||
Proteins seen:
|
||||
Produce seen:
|
||||
Starches:
|
||||
Fats available:
|
||||
Acids available:
|
||||
Aromatics:
|
||||
Condiments:
|
||||
Notables:
|
||||
First impressions:
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Example — Tbilisi, Georgia
|
||||
*This shows the expected detail level. Delete this section from your own location files.*
|
||||
|
||||
**Freeform notes:**
|
||||
Markets are covered and permanent — not just weekend affairs. Walnuts everywhere and cheap, used as both protein and fat. Tkemali (sour plum sauce) is the primary condiment and acid. Lamb and pork are the dominant proteins; chicken is available but less interesting. Sulguni cheese is salty and stretchy, used in everything. Bread culture is strong — shoti (torpedo-shaped) and lavash baked fresh. Strong wine culture; local wine vinegars available. Fresh tarragon, dill, and cilantro dominate the herb section.
|
||||
|
||||
**Structured fields:**
|
||||
```
|
||||
Proteins seen: lamb, pork, chicken, eggs, walnuts, sulguni cheese
|
||||
Produce seen: eggplant, tomatoes, peppers, spinach, beets, beans
|
||||
Starches: shoti bread, lavash, potatoes, dried beans (lobio)
|
||||
Fats available: sunflower oil, butter, walnut paste
|
||||
Acids available: tkemali (sour plum sauce), wine vinegar, pomegranate
|
||||
Aromatics: garlic, onion, tarragon, dill, cilantro, fenugreek (utskho suneli), coriander seed
|
||||
Condiments: tkemali, adjika (spicy walnut-pepper paste), satsebeli (tomato-walnut sauce)
|
||||
Notables: blue fenugreek (utskho suneli) — the defining Georgian spice; churchkhela (walnut-grape snack)
|
||||
First impressions: Walnuts are a staple fat+protein here, not a garnish. Tkemali does the acid work that citrus does elsewhere. Georgian cuisine sits between Middle Eastern and Eastern European — it doesn't fit cleanly into any of the 10 profiles, which makes it a good test of the substitution system.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Analysis
|
||||
*Agent fills this in. Say "Process my [City, Country] location file" in Claude Code.*
|
||||
|
||||
### Ingredient Role Map
|
||||
*Agent fills in — your observations mapped to framework roles (Fat / Acid / Aromatic / Starch / Protein / Umami)*
|
||||
|
||||
### Profile Matches
|
||||
*Agent fills in — which of the 10 profiles work here, with confidence indicators (✦ partial / ✦✦ workable / ✦✦✦ full)*
|
||||
|
||||
### Meal Options
|
||||
*Agent fills in — 3–5 concrete builds using what's available, formatted as formula fills*
|
||||
|
||||
### Regional Intelligence
|
||||
*Agent fills in — what's culinarily notable and different about this location*
|
||||
|
||||
### Things to Look Out For
|
||||
*Agent fills in — specific ingredients or products worth seeking, with a brief note on each*
|
||||
|
||||
---
|
||||
|
||||
## Visit Log
|
||||
*Append dated entries here on each visit. Say "Update my [City, Country] location file" to refresh the analysis.*
|
||||
|
||||
### [YYYY-MM-DD] (first visit)
|
||||
[Your notes from this visit — what you found, what surprised you, what was missing]
|
||||
````
|
||||
|
||||
- [ ] **Step 2: Verify the file was created correctly**
|
||||
|
||||
Check that:
|
||||
- The file exists at `Locations/_Location Template.md`
|
||||
- Zone headers are present: `## Observations`, `## Analysis`, `## Visit Log`
|
||||
- The Tbilisi example section is present with both freeform and structured fields filled in
|
||||
- The Analysis zone has all five placeholder subsections: Ingredient Role Map, Profile Matches, Meal Options, Regional Intelligence, Things to Look Out For
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/Locations/_Location Template.md"
|
||||
git commit -m "add location file template — four-zone structure with Tbilisi example"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 2: Create CLAUDE.md
|
||||
|
||||
**Files:**
|
||||
- Create: `CLAUDE.md`
|
||||
|
||||
- [ ] **Step 1: Create the file with full content**
|
||||
|
||||
Create `C:\Users\toami\Inanis_Vault\23-Cooking\CLAUDE.md` with this exact content:
|
||||
|
||||
```markdown
|
||||
# Cooking Framework — Claude Code Instructions
|
||||
|
||||
This directory contains a personal cooking framework for a frequent traveler. The system uses a formula-based approach: every meal = Protein + Produce + Starch + Fat + Acid + Aromatic + Technique.
|
||||
|
||||
## Key Reference Files
|
||||
|
||||
- `Flavor Sense.md` — the four flavor mechanisms (fat as solvent, acid resets palate, salt in layers, browning creates umami)
|
||||
- `Flavor Profile Formulas.md` — 10 flavor profiles as role principles with "identify by" cues
|
||||
- `Role Substitution Logic.md` — substitution hierarchies for each role
|
||||
- `Frameworks.md` — three cooking techniques: One-Pan Sear, Steam-Sauté, Starch-Buffer
|
||||
- `Weekly Planning Template.md` — market-first meal planning entry point
|
||||
- `Essential Non-Perishables.md` — pantry stocking guide
|
||||
|
||||
---
|
||||
|
||||
## Location File Workflow
|
||||
|
||||
Location files live in `Locations/[City, Country].md`. They have four zones:
|
||||
- **Zone 1 (Header):** Location name, region, first visited, last updated
|
||||
- **Zone 2 (Observations):** User-filled market notes — freeform or structured fields
|
||||
- **Zone 3 (Analysis):** Agent-generated output — five subsections
|
||||
- **Zone 4 (Visit Log):** Chronological user notes from each visit
|
||||
|
||||
### When the user says "Process my [City] location file"
|
||||
|
||||
1. Find the file at `Locations/[City, Country].md`
|
||||
2. Read Zone 2 (Observations) — parse both freeform text and structured fields; treat them as the same pool of information
|
||||
3. Map observations to framework roles using `Role Substitution Logic.md`:
|
||||
- Fat: any cooking oil, animal fat, or dairy fat mentioned
|
||||
- Acid: citrus, vinegar, fermented liquids, sour dairy, or sour-tasting condiments
|
||||
- Aromatic: alliums + any secondary aromatics (ginger, lemongrass, spices, herbs)
|
||||
- Starch: any grain, root vegetable, legume, or bread
|
||||
- Protein: any meat, fish, egg, legume, or tofu
|
||||
- Umami: any fermented condiment, aged cheese, concentrated tomato, or mushroom
|
||||
4. Match observations to the 10 profiles in `Flavor Profile Formulas.md`. Assign confidence:
|
||||
- ✦✦✦ = all three defining elements (fat + acid + aromatic character) present
|
||||
- ✦✦ = two of three defining elements present, or key secondary aromatics missing
|
||||
- ✦ = only partial match; note specifically what's absent
|
||||
- Omit profiles that score below ✦ (nothing available)
|
||||
5. Generate 3–5 meal options using available ingredients. Each formatted as:
|
||||
`*[Meal name]* — [Technique] · [Profile] · [protein] / [produce] / [starch] / [fat] / [acid] / [aromatic]`
|
||||
Use techniques from `Frameworks.md`: One-Pan Sear or Steam-Sauté (Starch-Buffer if microwave available)
|
||||
6. Write 3–5 bullet points of regional intelligence — what's culinarily notable about this location, what differs from the framework's defaults, what a traveler would benefit from knowing. Draw on your knowledge of the region's culinary traditions.
|
||||
7. Write 3–5 "things to look out for" — specific ingredients or products worth seeking on the next market visit, each with a one-line explanation of why it matters (flavor role, rarity, value)
|
||||
8. Replace Zone 3 (Analysis) with the five subsections filled in
|
||||
9. In Zone 1, set "First visited" to today's date if currently blank; set "Last updated" to today's date
|
||||
10. Stage and commit:
|
||||
```bash
|
||||
git add "23-Cooking/Locations/[City, Country].md"
|
||||
git commit -m "generate location file: [City, Country]"
|
||||
```
|
||||
|
||||
### When the user says "Update my [City] location file"
|
||||
|
||||
1. Find the file at `Locations/[City, Country].md`
|
||||
2. Read Zone 2 (Observations) AND Zone 4 (Visit Log) — the full visit log supplements and may revise the original observations; treat both as one combined pool of information
|
||||
3. Re-run steps 3–8 from the generate workflow above using the combined observations
|
||||
4. In Zone 1, set "Last updated" to today's date; leave "First visited" unchanged
|
||||
5. Stage and commit:
|
||||
```bash
|
||||
git add "23-Cooking/Locations/[City, Country].md"
|
||||
git commit -m "update location file: [City, Country]"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Analysis Output Format
|
||||
|
||||
### Ingredient Role Map
|
||||
Inline format, one line:
|
||||
> **Fat:** [items] | **Acid:** [items] | **Aromatic:** [items] | **Starch:** [items] | **Protein:** [items] | **Umami:** [items]
|
||||
|
||||
### Profile Matches
|
||||
One line per profile, ordered by confidence (highest first):
|
||||
> [Profile Name] ✦✦✦
|
||||
> [Profile Name] ✦✦ (missing: [specific absent element])
|
||||
> [Profile Name] ✦ (missing: [specific absent elements])
|
||||
|
||||
### Meal Options
|
||||
3–5 items, one per line, italicised meal name:
|
||||
> *[Meal name]* — [Technique] · [Profile] · [protein] / [produce] / [starch] / [fat] / [acid] / [aromatic]
|
||||
|
||||
### Regional Intelligence
|
||||
3–5 bullet points. Focus on: staple ingredients, local cooking patterns, things that differ from framework defaults, and anything a traveler without local knowledge would miss.
|
||||
|
||||
### Things to Look Out For
|
||||
3–5 items, each with name and one-line explanation:
|
||||
> **[Ingredient/product]** — [why it matters: flavor role, what profile it unlocks, rarity, or value]
|
||||
```
|
||||
|
||||
- [ ] **Step 2: Verify the file was created correctly**
|
||||
|
||||
Check that:
|
||||
- The file exists at `23-Cooking/CLAUDE.md`
|
||||
- Both workflow sections are present: "Process my [City] location file" and "Update my [City] location file"
|
||||
- All five Analysis output format sections are present with their format examples
|
||||
- The 10-step generate workflow and 5-step update workflow are complete
|
||||
|
||||
- [ ] **Step 3: Commit**
|
||||
|
||||
```bash
|
||||
git add "23-Cooking/CLAUDE.md"
|
||||
git commit -m "add CLAUDE.md — agent instructions for location file processing"
|
||||
```
|
||||
@@ -0,0 +1,178 @@
|
||||
# Cooking Framework Design
|
||||
**Date:** 2026-03-25
|
||||
**Context:** Personal cooking system for a frequent traveler. Needs to work in partial kitchens (hostel/shared, 1–2 burners) with whatever ingredients are locally available. Budget-first, beginner-skill, scalable over time.
|
||||
|
||||
---
|
||||
|
||||
## Goals
|
||||
|
||||
- Replace ingredient-specific recipes with a flexible formula that works in any region
|
||||
- Teach flavor relationships from first principles so the system can be reasoned from, not just memorized
|
||||
- Support weekly meal planning with a market-first assessment flow
|
||||
- Start small, scale indefinitely as repertoire grows
|
||||
|
||||
---
|
||||
|
||||
## Architecture: Three Layers
|
||||
|
||||
Every meal is composed by filling a universal formula using the logic of a chosen flavor profile, guided by an understanding of how each role works.
|
||||
|
||||
```
|
||||
LAYER 1: Universal Formula
|
||||
Protein + Produce + Starch + Fat + Acid + Aromatic + Technique
|
||||
The formula never changes. Only what fills each role changes.
|
||||
|
||||
LAYER 2: Flavor Profile Formulas
|
||||
Each profile defines the principles for each role — not specific items.
|
||||
Profiles are identified by their fat + acid + aromatic character.
|
||||
|
||||
LAYER 3: Role Substitution Logic
|
||||
Teaches category thinking over product thinking.
|
||||
"No lemons? → any citrus → white vinegar cut with water"
|
||||
"No soy sauce? → fish sauce → miso + salt → any fermented paste"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Layer 1: Universal Formula
|
||||
|
||||
| Role | Function | How to fill it |
|
||||
| ------------- | -------------------------------------------------- | ------------------------------------------------------------------ |
|
||||
| **Protein** | Primary substance; main umami source when browned | Meat, fish, eggs, legumes, tofu |
|
||||
| **Produce** | Texture, color, micronutrients | Any vegetables; 2–3 per meal |
|
||||
| **Starch** | Volume, satiety | Any grain, root vegetable, legume, or bread |
|
||||
| **Fat** | Flavor solvent; carries aromatics through the dish | Any cooking oil or animal fat |
|
||||
| **Acid** | Palate reset; cuts richness | Citrus juice, any vinegar, fermented liquid, yogurt |
|
||||
| **Aromatic** | Base complexity; defines regional character | Alliums (garlic, onion, leek, shallot, scallion) + secondary spice |
|
||||
| **Technique** | Determines texture and umami generation | One-Pan Sear or Steam-Sauté (see [[Frameworks]]) |
|
||||
|
||||
---
|
||||
|
||||
## Layer 2: Flavor Profile Formulas
|
||||
|
||||
Each profile is defined by its **fat + acid + aromatic character**. Identify two or three of these in a local market and the profile works — you do not need every listed item.
|
||||
|
||||
| Profile | Fat principle | Acid principle | Aromatic character | Signature feel |
|
||||
|---|---|---|---|---|
|
||||
| **Mediterranean** | Neutral oil; olive oil to finish | Citrus or wine-derived vinegar | Garlic + onion + dried herbs (oregano, thyme, rosemary, or local equivalent) | Bright, clean, herbaceous |
|
||||
| **East Asian** | Neutral oil to cook; nutty/toasted oil to finish | Rice vinegar or lime; soy/fish sauce as salt+acid hybrid | Garlic + ginger + scallion or leek | Savory-umami, sharp finish |
|
||||
| **Southeast Asian** | Neutral oil to cook; coconut milk or oil for richness | Lime (primary); fish sauce as salt+acid hybrid; tamarind for depth | Lemongrass + galangal or ginger + shallot + garlic + chili; fresh herbs (cilantro, Thai basil, mint) to finish | Bright, herbaceous, complex heat, tropical |
|
||||
| **Latin American** | Neutral oil or lard | Lime or acidic fermented liquid (pickle brine, vinegar) | Onion + hot pepper + cumin | Smoky, earthy, acidic punch |
|
||||
| **Middle Eastern/Levantine** | Olive oil (used liberally); tahini adds richness without heat | Lemon (primary); pomegranate molasses for sweet-sour depth; sumac (a sour spice used dry) | Garlic + onion + warm spices (cumin, coriander, cinnamon, allspice) + fresh herbs (parsley, mint) to finish | Warm, aromatic, earthy with bright lemon |
|
||||
| **French/Continental** | Butter or cream if available; neutral oil otherwise | Wine, lemon, or mustard | Shallot/leek + garlic + soft herbs (parsley, tarragon) | Rich, coating, aromatic |
|
||||
| **South Asian** | Ghee or coconut oil; neutral otherwise | Yogurt, citrus, or tamarind-adjacent sour | Onion + garlic + ginger + warm spices (cumin, coriander, turmeric) | Warm, layered, complex |
|
||||
| **West African** | Palm oil for authenticity; neutral oil otherwise; groundnut/peanut paste adds richness | Tomato (fresh or canned, used in large quantity — acts as both acid and base) | Onion + garlic + scotch bonnet or habanero; fermented paste (dawadawa or any local fermented condiment) for depth | Deep, rich, spicy, earthy |
|
||||
| **Eastern European** | Butter or lard; sour cream as a finishing fat | Sour cream, pickled brine, or vinegar; sour-forward more than citrus-forward | Onion + dill + caraway; garlic present but more restrained than other profiles | Hearty, sour-forward, dairy-rich, warming |
|
||||
| **Standard American** | Butter or bacon fat; neutral otherwise | Apple cider vinegar or hot sauce | Onion + garlic | Simple, rich, direct |
|
||||
|
||||
---
|
||||
|
||||
## Layer 3: Role Substitution Logic
|
||||
|
||||
Substitution is about **category**, not product. Ask: what role does this ingredient play, and what else plays that role locally?
|
||||
|
||||
**Acid substitution hierarchy:**
|
||||
Fresh citrus → other citrus → mild vinegar (rice, white wine) → strong vinegar diluted with water → fermented liquid (pickle brine, yogurt whey)
|
||||
|
||||
**Fat substitution hierarchy:**
|
||||
Neutral high-smoke oil → animal fat (lard, ghee, tallow) → olive oil (lower heat only) → coconut oil (changes flavor profile toward South Asian/Southeast Asian)
|
||||
|
||||
**Aromatic substitution hierarchy:**
|
||||
Garlic + onion are available almost everywhere and form a valid aromatic base for any profile. Secondary aromatics (ginger, leek, shallot, hot pepper) add regional specificity when available.
|
||||
|
||||
**Umami substitution hierarchy:**
|
||||
Brown your protein well (Maillard) → add a fermented condiment (soy, fish sauce, miso, Worcestershire, any fermented paste) → add tomato paste or dried mushrooms → add aged or hard cheese as a finish
|
||||
|
||||
**Starch substitution hierarchy:**
|
||||
Any grain cooked by absorption → root vegetables (potato, sweet potato, yuca, taro) → legumes (beans, lentils) → flatbread or commercial bread
|
||||
|
||||
---
|
||||
|
||||
## Flavor Sense: Mechanism Layer
|
||||
|
||||
These are the four principles that explain *why* the formula works. Internalize these and the profiles become consequences of logic rather than things to memorize.
|
||||
|
||||
### Fat is a flavor solvent
|
||||
Most aromatic compounds are fat-soluble — they don't dissolve well in water. When you cook an aromatic in fat, the fat extracts those compounds and carries them into every other ingredient in the pan. This is why "aromatic in fat first" is universal across every cuisine: it's chemistry, not tradition. Skipping this step means the flavor stays trapped in the aromatic instead of spreading through the dish.
|
||||
|
||||
### Acid resets the palate
|
||||
Fat coats your tongue and lingers — that's what makes rich food satisfying. But coating means each bite tastes slightly less than the last, because taste receptors are progressively buried. Acid stimulates saliva production, which physically clears the fat coating and resets your receptors. This is why lemon on fried fish or vinegar in a stir-fry makes the dish taste *cleaner* without tasting sour — it's removing interference, not adding brightness. **Too heavy → needs acid. Too sharp or flat → needs fat.**
|
||||
|
||||
### Salt works in layers, not as a finish
|
||||
Salt needs moisture to dissolve and penetrate. Applied to a dry surface, it sits on top and you taste it directly. Applied with moisture present, it dissolves, penetrates, and seasons from within.
|
||||
|
||||
- **Salt protein before cooking** (15–30 min minimum): draws moisture out, which reabsorbs seasoned — this is what Bone-Dry Patting achieves
|
||||
- **Salt cooking water heavily**: the only chance to season a starch's interior
|
||||
- **Salt in layers at each stage**: protein, then vegetables as they go in, then taste and adjust at the end
|
||||
- **Target feeling**: salt should be undetectable as its own flavor. "Flat" = under-salted. "Tastes salty" = over-salted. Correct = everything tastes more like itself
|
||||
|
||||
### Browning creates umami
|
||||
Umami is the fifth taste — the sense of depth, completeness, and satisfaction. It comes from glutamates, which are amino acids released when proteins break down through browning, fermentation, or slow cooking. Your brain evolved to detect them as a signal for protein and nutrition.
|
||||
|
||||
The One-Pan Sear is the primary umami-generation step in this framework. The browned crust is concentrated glutamate. Without it, the dish can be technically correct (salted, acidic, well-seasoned) and still feel hollow.
|
||||
|
||||
**Umami sources by method:**
|
||||
- Browning: seared meat, roasted vegetables, toasted grains
|
||||
- Fermentation: soy sauce, fish sauce, miso, Worcestershire, aged cheese, fermented paste
|
||||
- Concentration: tomato paste, dried mushrooms, reduced stock
|
||||
|
||||
**If a dish tastes flat despite correct salt and acid: it needs umami.** Add something fermented or browned.
|
||||
|
||||
---
|
||||
|
||||
## Weekly Planning Flow
|
||||
|
||||
The entry point for the system. Works market-first — assess what's available before deciding what to make.
|
||||
|
||||
### Step 1: Market assessment (before buying)
|
||||
Walk the market and categorize what you see into roles:
|
||||
- What protein is affordable and fresh? *(pick 1–2)*
|
||||
- What produce looks good in quantity? *(pick 2–3)*
|
||||
- What starch is available? *(pick 1)*
|
||||
- What fats, acids, and aromatics are on the shelf? *(these determine which profile is possible)*
|
||||
|
||||
### Step 2: Profile matching
|
||||
Look at available fats/acids/aromatics. Match to the profile whose **two or three defining elements** you can satisfy. You do not need every item — you need the ones that define the profile's character.
|
||||
|
||||
### Step 3: Fill the formula
|
||||
For each planned meal:
|
||||
|
||||
```
|
||||
Technique: [One-Pan Sear / Steam-Sauté]
|
||||
Profile: [which flavor logic]
|
||||
Protein: _______________
|
||||
Produce: _______________, _______________ (+ _______________ optional)
|
||||
Starch: _______________
|
||||
Fat: _______________
|
||||
Acid: _______________
|
||||
Aromatic: _______________
|
||||
```
|
||||
|
||||
### Step 4: Shopping list
|
||||
The list writes itself from the formula fills. Pantry staples (salt, a fat, a basic acid) stay stocked between markets. Fresh components (protein, produce) are bought per week or per location.
|
||||
|
||||
---
|
||||
|
||||
## Existing Files and Their Role in the System
|
||||
|
||||
| File | Layer | Role |
|
||||
|---|---|---|
|
||||
| `Frameworks.md` | Layer 1 (Technique) | Documents One-Pan Sear, Steam-Sauté, Starch-Buffer methods |
|
||||
| `Flavor Profile Matrix.md` | Layer 2 | Specific ingredient examples per profile — use as a reference, not a requirement |
|
||||
| `Essential Non-Perishables.md` | Layer 3 | Pantry stocking guide; the "always have" items that make substitution easier |
|
||||
| `References/Bone-Dry Patting.md` | Flavor Sense | Technical detail on salt timing and Maillard prerequisites |
|
||||
| `References/High Smoke Point Fats.md` | Flavor Sense | Technical detail on fat selection for searing |
|
||||
|
||||
---
|
||||
|
||||
## Implementation Scope
|
||||
|
||||
The framework design is complete. Implementation involves building out the note structure that makes this usable:
|
||||
|
||||
1. A **Flavor Sense** reference note (the four mechanisms)
|
||||
2. Revised **Flavor Profile Formulas** note (role principles, not specific items)
|
||||
3. A **Role Substitution Logic** reference note (substitution hierarchies)
|
||||
4. A **Weekly Planning Template** note (the market-first flow with formula slots)
|
||||
5. Light revision of existing files to link into the new structure
|
||||
|
||||
Out of scope for now: individual meal builds, cuisine-specific deep dives, nutrition tracking.
|
||||
@@ -0,0 +1,177 @@
|
||||
# Location File Design
|
||||
**Date:** 2026-03-25
|
||||
**Context:** Extension to the cooking framework for a frequent traveler. Provides a structured workflow for documenting local market conditions and generating meal options from whatever ingredients are available in a given location.
|
||||
|
||||
---
|
||||
|
||||
## Goals
|
||||
|
||||
- Give a single Obsidian note per location that captures both raw observations and agent-generated analysis
|
||||
- Support both freeform dump and structured field input — whichever suits the moment
|
||||
- Produce five analysis outputs: ingredient role map, profile matches, meal options, regional intelligence, things to look out for
|
||||
- Be permanently updatable across multiple visits via a running visit log
|
||||
- Invoke via Claude Code conversation: "Process my Bangkok location file"
|
||||
|
||||
---
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
23-Cooking/
|
||||
Locations/
|
||||
_Location Template.md ← blank template with example entry
|
||||
Bangkok, Thailand.md
|
||||
Lisbon, Portugal.md
|
||||
Oaxaca, Mexico.md
|
||||
...
|
||||
```
|
||||
|
||||
Each location file is a single Obsidian note named `City, Country.md`. The `_Location Template.md` underscore prefix keeps it sorted to the top of the folder.
|
||||
|
||||
---
|
||||
|
||||
## Zone Architecture
|
||||
|
||||
Every location file has four clearly-marked zones:
|
||||
|
||||
```
|
||||
ZONE 1: HEADER
|
||||
Location name, country/region, date first visited, date last updated
|
||||
|
||||
ZONE 2: OBSERVATIONS ← user fills in
|
||||
Raw notes about what's available at local markets and shops.
|
||||
Accepts freeform dump or structured fields.
|
||||
Includes "First impressions" freetext field.
|
||||
|
||||
ZONE 3: ANALYSIS ← agent fills in
|
||||
1. Ingredient Role Map
|
||||
2. Profile Matches
|
||||
3. Meal Options
|
||||
4. Regional Intelligence
|
||||
5. Things to Look Out For
|
||||
|
||||
ZONE 4: VISIT LOG ← user appends to
|
||||
Dated entries from each visit.
|
||||
Agent reads this when updating the analysis.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Zone 2: Observations
|
||||
|
||||
Accepts either format — the agent handles both:
|
||||
|
||||
**Freeform dump:**
|
||||
```
|
||||
I'm in Chiang Mai. Tons of fresh lemongrass, galangal, kaffir lime leaves.
|
||||
Fish sauce is the condiment of choice. Lots of cheap pork cuts. Sticky rice
|
||||
everywhere. Coconut milk in every corner shop. Fresh herbs piled high.
|
||||
```
|
||||
|
||||
**Structured fields:**
|
||||
```
|
||||
Proteins seen: pork (cheap), chicken, eggs, tofu
|
||||
Produce seen: bok choy, morning glory, eggplant, long beans
|
||||
Starches: sticky rice, rice noodles, glass noodles
|
||||
Fats available: neutral oil, coconut milk
|
||||
Acids available: lime, fish sauce, tamarind paste
|
||||
Aromatics: lemongrass, galangal, shallot, garlic, chili
|
||||
Condiments: fish sauce, oyster sauce, fermented soybean paste
|
||||
Notables: kaffir lime leaves, pandan, fresh turmeric
|
||||
First impressions: [freetext — prices, what's abundant, what's absent]
|
||||
```
|
||||
|
||||
The template includes a worked example using a fictional location (Tbilisi, Georgia) showing both formats side by side, so the expected detail level is clear before the user fills in their own.
|
||||
|
||||
---
|
||||
|
||||
## Zone 3: Analysis (Agent Output)
|
||||
|
||||
Five subsections, all generated from the Observations zone and Visit Log:
|
||||
|
||||
### 1. Ingredient Role Map
|
||||
Observations translated directly into framework roles:
|
||||
> **Fat:** Neutral oil, coconut milk (braising only) | **Acid:** Lime, fish sauce | **Aromatic:** Lemongrass + galangal + shallot + garlic + chili | **Starch:** Sticky rice, rice noodles | **Protein:** Pork, chicken, tofu | **Umami:** Fish sauce, oyster sauce, fermented paste
|
||||
|
||||
### 2. Profile Matches
|
||||
Which of the 10 framework profiles are executable here, with a confidence indicator (✦ = partial, ✦✦ = workable, ✦✦✦ = full):
|
||||
> Southeast Asian ✦✦✦ · East Asian ✦✦ · South Asian ✦
|
||||
|
||||
Profiles that score ✦ or less are noted with what's missing.
|
||||
|
||||
### 3. Meal Options
|
||||
3–5 concrete builds using available ingredients. Each formatted as a mini formula fill matching the [[Weekly Planning Template]] structure:
|
||||
> *Pork stir-fry with morning glory* — One-Pan Sear · Southeast Asian · pork / morning glory / rice noodles / neutral oil / lime+fish sauce / lemongrass+garlic+chili
|
||||
|
||||
### 4. Regional Intelligence
|
||||
What's culinarily notable about this location — staple ingredients, local cooking patterns, things that differ from the framework defaults:
|
||||
> Sticky rice is the starch staple here, not jasmine rice. Kaffir lime leaves are used as an aromatic, not just a garnish. Morning glory (pak boong) is the default green — cheap, fast-cooking, takes high heat well.
|
||||
|
||||
### 5. Things to Look Out For
|
||||
Ingredients or products worth seeking on the next market visit — local specialties, seasonal items, crossover ingredients:
|
||||
> Fresh turmeric root, pandan leaves (floral sweetness in rice), fresh tamarind pods (better than paste for acid depth), pla ra (fermented fish paste — extreme umami depth)
|
||||
|
||||
---
|
||||
|
||||
## Zone 4: Visit Log
|
||||
|
||||
Chronological entries, oldest at top, newest at bottom. Each entry is a dated heading + freeform notes:
|
||||
|
||||
```markdown
|
||||
### 2026-03-10 (first visit)
|
||||
Settled into the Don Mueang area. Markets open early — 6am is peak
|
||||
freshness. Galangal cheaper than ginger here. Sticky rice only at
|
||||
street stalls, not supermarkets.
|
||||
|
||||
### 2026-09-15 (return visit)
|
||||
Rainy season — different produce. Lots of young coconut. Found a wet
|
||||
market two streets over, much better selection. Fermented fish paste
|
||||
(pla ra) available there.
|
||||
```
|
||||
|
||||
When the user asks the agent to update the file, it reads the full visit log and revises the Analysis zone — seasonal shifts, newly discovered ingredients, and price notes all feed back into the output.
|
||||
|
||||
---
|
||||
|
||||
## Agent Workflow
|
||||
|
||||
### First visit (generate)
|
||||
1. Copy `_Location Template.md`, rename to `City, Country.md`
|
||||
2. Fill in Zone 2 (Observations) — freeform dump or structured fields
|
||||
3. Open Claude Code: **"Process my [City] location file"**
|
||||
4. Agent reads Zone 2, fills in Zone 3 (Analysis), updates Zone 1 header dates, commits
|
||||
|
||||
### Return visit (update)
|
||||
1. Open the existing location file
|
||||
2. Append a dated entry to Zone 4 (Visit Log)
|
||||
3. Open Claude Code: **"Update my [City] location file"**
|
||||
4. Agent reads Zone 2 + full Zone 4, revises Zone 3, updates last-updated date in Zone 1, commits
|
||||
|
||||
### Agent context
|
||||
When processing, the agent has access to the full framework:
|
||||
- [[Flavor Profile Formulas]] — to match observations to profiles
|
||||
- [[Role Substitution Logic]] — to understand what roles available ingredients fill
|
||||
- [[Flavor Sense]] — to reason about what combinations work and why
|
||||
- [[Frameworks]] — to assign techniques to meal options
|
||||
|
||||
---
|
||||
|
||||
## Template Structure
|
||||
|
||||
The `_Location Template.md` file contains:
|
||||
|
||||
1. **Blank header** with labeled fields for location name, region, first visited, last updated
|
||||
2. **Observations zone** with both input formats shown (structured fields as the primary, freeform note above them)
|
||||
3. **A complete worked example** using "Tbilisi, Georgia" — showing filled-in structured fields, a freeform dump, and a first impressions note — so the expected detail level is unambiguous
|
||||
4. **Analysis zone** with placeholder headings and one-line descriptions of what each subsection will contain (filled by agent)
|
||||
5. **Visit Log zone** with one example dated entry
|
||||
|
||||
---
|
||||
|
||||
## Implementation Scope
|
||||
|
||||
1. Create `Locations/` subfolder
|
||||
2. Create `_Location Template.md` with blank zones + Tbilisi example
|
||||
3. Create `CLAUDE.md` (or update if exists) with agent processing instructions: how to read a location file, what to produce in each Analysis subsection, how to handle freeform vs structured input, how to update vs generate
|
||||
|
||||
Out of scope: automatic Obsidian plugin integration, location-based reminders, nutrition tracking per location.
|
||||
@@ -56,6 +56,8 @@ This Map of Content (MOC) serves as a living table of contents for all synthesiz
|
||||
- [[Synthesized-Japanese-Class-Notes#~ように|~ように]] - *Added: 2025-12-31*
|
||||
- [[Synthesized-Japanese-Class-Notes#Grammar - 2026-01-14#Connecting Sentences with と|Connecting Sentences with と]] - *Added: 2026-01-14*
|
||||
- [[Synthesized-Japanese-Class-Notes#Grammar - 2026-01-14#ながら -> Multi Tasking|ながら -> Multi Tasking]] - *Added: 2026-01-14*
|
||||
- [[Synthesized-Japanese-Class-Notes#謙譲語 (Kenjougo) - Humble Speech|謙譲語 (Kenjougo) - Humble Speech]] - *Added: 2026-03-11*
|
||||
- [[Synthesized-Japanese-Class-Notes#特別な謙譲語 (Tokubetsu no Kenjougo) - Special Humble Speech|特別な謙譲語 (Tokubetsu no Kenjougo) - Special Humble Speech]] - *Added: 2026-03-18*
|
||||
- [[Synthesized-Japanese-Class-Notes#尊敬語 - そんけいご - Honorifics|尊敬語 - そんけいご - Honorifics]] - *Updated: 2026-02-18*
|
||||
|
||||
### [[Synthesized-Japanese-Class-Notes#Vocabulary|Vocabulary]]
|
||||
@@ -63,6 +65,7 @@ This Map of Content (MOC) serves as a living table of contents for all synthesiz
|
||||
- [[Synthesized-Japanese-Class-Notes#Verbs|Verbs]]
|
||||
- [[Synthesized-Japanese-Class-Notes#Adjectives|Adjectives]]
|
||||
- [[Synthesized-Japanese-Class-Notes#Adverbs & Expressions|Adverbs & Expressions]]
|
||||
- [[Synthesized-Japanese-Class-Notes#Clothing|Clothing]] - *Added: 2026-04-01*
|
||||
|
||||
### [[Synthesized-Japanese-Class-Notes#Phrases & Greetings|Phrases & Greetings]]
|
||||
|
||||
@@ -73,6 +76,11 @@ This Map of Content (MOC) serves as a living table of contents for all synthesiz
|
||||
### [[Synthesized-Chinese-Class-Notes#Grammar|Grammar]]
|
||||
- [[Synthesized-Chinese-Class-Notes#Sentence Patterns|Sentence Patterns]]
|
||||
- [[Synthesized-Chinese-Class-Notes#Verb Complements|Verb Complements]]
|
||||
- [[Synthesized-Chinese-Class-Notes#不了 (Bùliǎo)|不了 (Bùliǎo)]] - *Added: 2026-03-05*
|
||||
- [[Synthesized-Chinese-Class-Notes#不一定 (bù yīdìng)|不一定 (bù yīdìng)]] - *Added: 2026-03-12*
|
||||
- [[Synthesized-Chinese-Class-Notes#Sentence Patterns|比谁都 (bǐ shéi dōu)]] - *Added: 2026-03-19*
|
||||
- [[Synthesized-Chinese-Class-Notes#Sentence Patterns|肯定很 (kěndìng hěn)]] - *Added: 2026-03-19*
|
||||
- [[Synthesized-Chinese-Class-Notes#Sentence Patterns|保持 (bǎochí)]] - *Added: 2026-03-19*
|
||||
- [[Synthesized-Chinese-Class-Notes#Again You vs Zai|Again You vs Zai]]
|
||||
- [[Synthesized-Chinese-Class-Notes#Grammar Notes - 2025-12-08|Grammar Notes]] - *Added: 2025-12-08*
|
||||
|
||||
@@ -82,7 +90,8 @@ This Map of Content (MOC) serves as a living table of contents for all synthesiz
|
||||
- [[Synthesized-Chinese-Class-Notes#Actions & Verbs|Actions & Verbs]]
|
||||
- [[Synthesized-Chinese-Class-Notes#Feelings & Emotions|Feelings & Emotions]]
|
||||
- [[Synthesized-Chinese-Class-Notes#Medical & Health|Medical & Health]]
|
||||
- [[Synthesized-Chinese-Class-Notes#Technology & Gaming|Technology & Gaming]]
|
||||
- [[Synthesized-Chinese-Class-Notes#Technology & Gaming|Technology & Gaming]] - *Updated: 2026-03-26*
|
||||
- [[Synthesized-Chinese-Class-Notes#Spiritual & Congregation|Spiritual & Congregation]] - *Added: 2026-03-26*
|
||||
- [[Synthesized-Chinese-Class-Notes#Weather - 2025-11-17|Weather]] - *Added: 2025-11-17*
|
||||
|
||||
### [[Synthesized-Chinese-Class-Notes#Conversations|Conversations]]
|
||||
|
||||
10
41-Calls/Okinawa/Araha Beach Call.md
Normal file
10
41-Calls/Okinawa/Araha Beach Call.md
Normal file
@@ -0,0 +1,10 @@
|
||||
https://maps.app.goo.gl/5AMETVyVEvk9Aehm6?g_st=ac
|
||||
|
||||
Unit 202
|
||||
|
||||
Nice man on his way to work, a bit standoffish at first, but then mentioned he was a devoted Bible reader and just had a Bible study the night before. Said he was going on retreat in torii Beach weekend of April 24.
|
||||
|
||||
Mentioned briefly Psalms 37:9,10l
|
||||
|
||||
Probably best to re-engage asking his thoughts on something biblical, as a proficient Bible reader.
|
||||
|
||||
4
41-Calls/Okinawa/Kevin & Alice.md
Normal file
4
41-Calls/Okinawa/Kevin & Alice.md
Normal file
@@ -0,0 +1,4 @@
|
||||
2-17-6 - Apt 201
|
||||
https://maps.app.goo.gl/3aYowjkaVtxiafUM9
|
||||
|
||||
Not sure on Kevi
|
||||
@@ -0,0 +1,142 @@
|
||||
> [!question] MANKIND NEEDS BETTER RULERSHIP (4 min.)
|
||||
> Is it time?
|
||||
> - To Eat? For Bed? To Leave?
|
||||
> - Time for Change?
|
||||
> - What kind of change? Why do we need change?
|
||||
>
|
||||
> > [!question] *Why do human governments fail to meet the needs of their subjects? ([Pr 29:2](https://www.jw.org/finder?bible=20029002&wtlocale=E))*
|
||||
> > > [!help] Lets take a quick look a the state of the world.
|
||||
> > > - Covid-19 : 7.1 million confirmed deaths
|
||||
> > > - As of April 2026, 30 countries are experiencing active armed conflicts.
|
||||
> > > - According to the inflation calculator, cost of living has risen ~38% over the past ten years
|
||||
> > > ---
|
||||
> > > Why? Mankind often looks to their leaders, the governments to fix these things, but often finds these same governments are the ones contributing to, or even causing these problems.
|
||||
> > >
|
||||
> > > So, what gives? Why do human governments fail to meet the needs of their subjects?
|
||||
> > >
|
||||
> >
|
||||
> > > [!question] *Man has neither the right nor the ability to govern himself successfully*
|
||||
> > > This same issue has been plaguing mankind for the past 6000 years
|
||||
> > >
|
||||
> > > Read ([Jer 10:23](https://www.jw.org/finder?bible=24010023&wtlocale=E))
|
||||
> > > - It does not belong to man to direct his own step, nonetheless others steps, nonetheless an entire countries worth of people's steps.
|
||||
> > >
|
||||
> > > His efforts to do so have led to much injustice and suffering ([Ec 8:9,](https://www.jw.org/finder?bible=21008009&wtlocale=E) [11](https://www.jw.org/finder?bible=21008011&wtlocale=E))
|
||||
> > >
|
||||
> > > So, what then? Is that the end of it? Are we doomed to a future of repeating failure?
|
||||
>
|
||||
> > [!question] *The Bible foretells that God’s Kingdom will soon replace human rule ([Da 2:44;](https://www.jw.org/finder?bible=27002044&wtlocale=E) [7:13, 14](https://www.jw.org/finder?bible=27007013-27007014&wtlocale=E))*
|
||||
> > Read [Daniel 2:44](https://www.jw.org/finder?bible=27002044&wtlocale=E)
|
||||
> >
|
||||
> > Focusing on this scripture for a second, what comes to mind when you hear the word "Kingdom?" -> King/Queen/Castle/Peasants -> Form of government.
|
||||
> >
|
||||
> > Contrast God's Government with Mankinds Governments
|
||||
> > - God can direct man's step
|
||||
> > - Got has the power to solve the worlds problems
|
||||
> > - Will not be destroyed, will crush all other governments
|
||||
> > - On every point, God's Government will be better then man's attempts at government
|
||||
> >
|
||||
> > When will God’s Kingdom begin ruling? Has it already started ruling? When will it take full control?
|
||||
|
||||
|
||||
> [!question] [**DANIEL CHAPTER 4**](https://www.jw.org/finder?bible=27004001-27004037&wtlocale=E)**—A PROPHETIC DREAM ABOUT RULERSHIP** (5 min.)
|
||||
> To answer these questions, we're going to look at a prophecy in Daniel. We're going to study Daniel chapter 4 in depth, and see what information it holds that pertains to the questions we just asked.
|
||||
> > [!question] Jehovah caused King Nebuchadnezzar to have a dream about rulership ([Da 4:10-17](https://www.jw.org/finder?bible=27004010-27004017&wtlocale=E))
|
||||
> > - Read Daniel 4:4,5 - Sets the stage
|
||||
> > - Next few verses he calls in the wise men of Babylon to interpret the dream, but nobody can. Nobody except for Daniel, a known servant of Jehovah.
|
||||
> > - Read Daniel 4:10-17 - The dream
|
||||
> >
|
||||
> > Right away we know the dream is not literal. A tree of such size can not exist. Also in verse 16 it states that the heart of the tree will change from a human to a beasts.
|
||||
> >
|
||||
> > So, what's it mean?
|
||||
> >
|
||||
> > > [!question] **God inspired Daniel to interpret the dream**
|
||||
> > > Read key portions of [**Daniel 4:20-27**](https://www.jw.org/finder?bible=27004020-27004027&wtlocale=E)
|
||||
> > > - Vs 22 - Tree is King Nebuchadnezzar
|
||||
> > > - Vs 24,25 - King will driven from men, and become cow
|
||||
> > > - Vs 26,27 - King will return
|
||||
> > > - Vs 28 - All of this came to pass
|
||||
> > > ---
|
||||
> > > We right away learn two things:
|
||||
> > > 1. Daniel accurately interpreted and foretold these events, which confirms this dream was from Jehovah, and thus its fulfilment to be taken note of
|
||||
> > > 2. The dream emphasizes that Jehovah God has the right to determine who will rule mankind
|
||||
> > > ---
|
||||
> > > Ok, great, we have a weird dream, we have a crazy fulfillment, why are we discussing this after we just mentioned God's Kingdom?
|
||||
|
||||
|
||||
> [!question] **THE DREAM FORETELLS THE RULE OF GOD’S KINGDOM** (16 min.)
|
||||
>
|
||||
> > This dream is a prophecy that has a larger fulfillment in connection with the establishment of God’s Kingdom ([_it_-1 132-135](https://docs.jw.org/finder?lank=doc-1200000316&lang=E))
|
||||
> > > [!question] What reason is there to suggest that the dream is more than just an interesting story about the humiliation of Nebuchadnezzar?
|
||||
> > > 1. The dream was given at the _time_ when God had just allowed his earthly kingdom to be overthrown
|
||||
> > > - Context First: Read 1 Chronicles 29:23
|
||||
> > > - Jehovah had an Earthly Kingdom already set up in Jerusalem
|
||||
> > > - The time this dream was delivered was 607 BCE, right after Jehovah used Babylon to overthrow Jerusalem, his earthly kingdom.
|
||||
> > > - Gods kingdom was "cut down" for a time. There was no kingdom that directly represented Jehovah at this point in time
|
||||
> > > 1. The _person_ to whom the dream was given was the very one used by God to cut off rulership in Jerusalem
|
||||
> > > - Nebuchadnezzar was directly involved in the temporary "cutting down" of Jehovah's rulership
|
||||
> > > 1. The _theme_ of the dream is God’s right to rule over the entire “kingdom of mankind” ([Da 4:17,](https://www.jw.org/finder?bible=27004017&wtlocale=E) [25,](https://www.jw.org/finder?bible=27004025&wtlocale=E) [32](https://www.jw.org/finder?bible=27004032&wtlocale=E))
|
||||
> > > - Daniel 4:17 stated "So that people living may know that the Most High is Ruler in the kingdom of mankind+ and that he gives it to whomever he wants"
|
||||
> > > 4. The dream’s _context,_ the book of Daniel, repeatedly points forward to the rule of God’s Kingdom
|
||||
> > > - Not only the theme of this dream, but the entire book of Daniel is pointing forward to God's Kingdom
|
||||
> > > 5. Daniel’s prophecies would not be fully understood until _“the time of the end”_ ([Da 12:4,](https://www.jw.org/finder?bible=27012004&wtlocale=E) [8, 9](https://www.jw.org/finder?bible=27012008-27012009&wtlocale=E))
|
||||
> > > - Read Daniel 12:4,8,9
|
||||
> > > - Focus on "Time of the end".
|
||||
> > > - Thats the time we're in right now.
|
||||
> > > ---
|
||||
> > > This dream will have multiple fulfillments.
|
||||
> > > In the first fulfillment, the large tree was King Nebuchadnezzar himself
|
||||
> > > In the larger fulfillment, the tree represents Jehovah’s rulership. How can we say that?
|
||||
> > >
|
||||
> >
|
||||
> > > [!help] For a period of time, Jehovah’s rulership had been represented by the Israelite kings who ruled in Jerusalem ([1Ch 29:23](https://www.jw.org/finder?bible=13029023&wtlocale=E))
|
||||
> > >
|
||||
> > > - Ezekiel foretold that the earthly representation of God’s rulership would be cut off and that God would later appoint a new Ruler **[Read** [**Ezekiel 21:26, 27**](https://www.jw.org/finder?bible=26021026-26021027&wtlocale=E)**]**
|
||||
> > > - What is "Later"?
|
||||
> > > - In 607 B.C.E., Jehovah used Nebuchadnezzar to destroy Jerusalem;
|
||||
> > > - Reference Daniel 4:16, talking about the "Seven Times"
|
||||
> > > - this marked the beginning of the “seven times” during which God’s rulership would be interrupted ([Da 4:16](https://www.jw.org/finder?bible=27004016&wtlocale=E))
|
||||
> > > - How long would this period last?
|
||||
> > > - Daniel does not say, but there are other parts of the bible that do tell us
|
||||
> > > - We're going to look a few scriptures that help us find the answer.
|
||||
>
|
||||
> > [!help] ** Jesus said that Jerusalem, representing God’s rulership, would “be trampled on . . . until the appointed times of the nations” were fulfilled ([_w06_ 7/15 6 ¶1-4](https://docs.jw.org/finder?lank=doc-2006521&lang=E&par=16-19))**
|
||||
> > First, [Read [**Luke 21:24**](https://www.jw.org/finder?bible=42021024&wtlocale=E)]
|
||||
> > - “The appointed times of the nations” are the same period as the “seven times” of [Daniel chapter 4](https://www.jw.org/finder?bible=27004001-27004037&wtlocale=E)
|
||||
> > - Jesus indicated that “the appointed times of the nations” were still ongoing during his earthly ministry, so the “seven times” could not be seven literal years counted from 607 B.C.E.
|
||||
> > - Next up, Read [Revelation 12:6,](https://www.jw.org/finder?bible=66012006&wtlocale=E) [14](https://www.jw.org/finder?bible=66012014&wtlocale=E). As we read, focus on where it talks about timing
|
||||
> > - 1,260 Days = 3.5 times. 3.5times x 2 = 7 times. 7 times = 2,520 days // About 7 years.
|
||||
> > - “Seven times,” or seven Biblical years, are equal to 2,520 days ([_w06_ 7/15 7 ¶1-2](https://docs.jw.org/finder?lank=doc-2006521&lang=E&par=20-21))
|
||||
> > - Adding 2,520 days // About 7 years to 607 BCE doesn't really get us anywhere, and we know its wrong from Jesus words earlier in Luke
|
||||
> > - Applying the rule of “a day for a year” and counting 2,520 years from 607 B.C.E. brings us to 1914 C.E. ([Nu 14:34;](https://www.jw.org/finder?bible=4014034&wtlocale=E) [Eze 4:6](https://www.jw.org/finder?bible=26004006&wtlocale=E))
|
||||
> > - In 1914, Jesus began ruling in heaven as the appointed King of God’s Kingdom
|
||||
> > - Why Jesus?
|
||||
> > - Jehovah promised David that one of his descendants would rule forever ([2Sa 7:16](https://www.jw.org/finder?bible=10007016&wtlocale=E))
|
||||
> > > - Just to quote: "[16](https://www.jw.org/open?bible=10007016&wtlocale=E) Your house and your kingdom will be secure forever before you; your throne will be firmly established forever.”"
|
||||
> > - As a descendant of King David, Jesus is “the one who has the legal right” to rule ([Eze 21:27;](https://www.jw.org/finder?bible=26021027&wtlocale=E) [Lu 1:32, 33](https://www.jw.org/finder?bible=42001032-42001033&wtlocale=E))
|
||||
|
||||
> [!help] **GOD’S KINGDOM WILL SOON TAKE FULL CONTROL** (5 min.)
|
||||
> - Does reality match up with this claim?
|
||||
> - Events since 1914 confirm that God’s Kingdom has been established ([Mt 24:3,](https://www.jw.org/finder?bible=40024003&wtlocale=E) [7-14](https://www.jw.org/finder?bible=40024007-40024014&wtlocale=E); [_w15_ 6/15 22-24 ¶12-14](https://docs.jw.org/finder?lank=doc-2015446&lang=E&par=21-23))
|
||||
> - Jesus disciples asked Jesus what the sign of his presence would be, and in Matt 24:7-14, Jesus gives many things to look out for.
|
||||
> - Wars, Food Shortages, Earthquakes, Tribulation, a shift in mankind's attitude
|
||||
> - History documents that these things have been increasing since 1914, with the start of World War I, and continue to increase exponentially.
|
||||
> - World events confirm that Jesus is now ruling over God's Kingdom.
|
||||
> - What comes next?
|
||||
> - Jesus is now ruling “in the midst of [his] enemies,” and he will soon “complete his conquest” ([Ps 110:2;](https://www.jw.org/finder?bible=19110002&wtlocale=E) [Re 6:2](https://www.jw.org/finder?bible=66006002&wtlocale=E))
|
||||
> - Read Rev 6:2
|
||||
> - We know this white rider as Jesus Christ himself
|
||||
> - Notice "he went out conquering and to complete his conquest."
|
||||
> - Right now we are waiting for Jesus to complete his conquest, to crush all other kingdoms/governments, and for God's Kingdom to take full control.
|
||||
> - Once that happens, Rule by God’s Kingdom will bring blessings to obedient mankind ([_w14_ 10/1 5-7](https://docs.jw.org/finder?lank=doc-2014723&lang=E&par=9-34))
|
||||
> - That subject alone is an entire talk in itself, just to mention a few points:
|
||||
> - No more health problems
|
||||
> - No more death
|
||||
> - No more Homelessness or Unemployment
|
||||
> - No more War, Food Shortages, or Poverty.
|
||||
> - Humans will live forever, in a paradise earth, truly enjoying life
|
||||
> - Is it time for change? Yes.
|
||||
> - Until then, now is the time to take your stand in support of God’s Kingdom
|
||||
> - Imitate Jesus by telling all we can, and sharing the Good news of the kingdom, and help everyone to eagerly await its arrival.
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
https://docs.jw.org/en/-/doc-1000019
|
||||
|
||||
# **No. 20 Is It Time for God to Rule the World?**
|
||||
|
||||
_Note to the speaker:_ Clearly present the Scriptural evidence that God’s Kingdom was established in 1914, and explain what the Kingdom will do in the near future
|
||||
|
||||
## **MANKIND NEEDS BETTER RULERSHIP** (4 min.)
|
||||
|
||||
Why do human governments fail to meet the needs of their subjects? ([Pr 29:2](https://www.jw.org/finder?bible=20029002&wtlocale=E))
|
||||
|
||||
Man has neither the right nor the ability to govern himself successfully ([Jer 10:23](https://www.jw.org/finder?bible=24010023&wtlocale=E))
|
||||
|
||||
His efforts to do so have led to much injustice and suffering ([Ec 8:9,](https://www.jw.org/finder?bible=21008009&wtlocale=E) [11](https://www.jw.org/finder?bible=21008011&wtlocale=E))
|
||||
|
||||
The Bible foretells that God’s Kingdom will soon replace human rule ([Da 2:44;](https://www.jw.org/finder?bible=27002044&wtlocale=E) [7:13, 14](https://www.jw.org/finder?bible=27007013-27007014&wtlocale=E))
|
||||
|
||||
When did God’s Kingdom begin ruling, and when will it take full control?
|
||||
|
||||
## [**DANIEL CHAPTER 4**](https://www.jw.org/finder?bible=27004001-27004037&wtlocale=E)**—A PROPHETIC DREAM ABOUT RULERSHIP** (5 min.)
|
||||
|
||||
Jehovah caused King Nebuchadnezzar to have a dream about rulership ([Da 4:10-17](https://www.jw.org/finder?bible=27004010-27004017&wtlocale=E))
|
||||
|
||||
God inspired Daniel to interpret the dream **[Read key portions of** [**Daniel 4:20-27**](https://www.jw.org/finder?bible=27004020-27004027&wtlocale=E)**]**
|
||||
|
||||
The dream was initially fulfilled upon Nebuchadnezzar himself ([Da 4:28-37](https://www.jw.org/finder?bible=27004028-27004037&wtlocale=E); [_dp_ 82-94](https://docs.jw.org/finder?lank=doc-1101999025&lang=E&par=1-33))
|
||||
|
||||
The dream emphasizes that Jehovah God has the right to determine who will rule mankind
|
||||
|
||||
## **THE DREAM FORETELLS THE RULE OF GOD’S KINGDOM** (16 min.)
|
||||
|
||||
The prophecy has a larger fulfillment in connection with the establishment of God’s Kingdom ([_it_-1 132-135](https://docs.jw.org/finder?lank=doc-1200000316&lang=E))
|
||||
|
||||
What reason is there to suggest that the dream is more than just an interesting story about the humiliation of Nebuchadnezzar?
|
||||
|
||||
(1) The dream was given at the _time_ when God had just allowed his earthly kingdom to be overthrown
|
||||
|
||||
(2) The _person_ to whom the dream was given was the very one used by God to cut off rulership in Jerusalem
|
||||
|
||||
(3) The _theme_ of the dream is God’s right to rule over the entire “kingdom of mankind” ([Da 4:17,](https://www.jw.org/finder?bible=27004017&wtlocale=E) [25,](https://www.jw.org/finder?bible=27004025&wtlocale=E) [32](https://www.jw.org/finder?bible=27004032&wtlocale=E))
|
||||
|
||||
(4) The dream’s _context,_ the book of Daniel, repeatedly points forward to the rule of God’s Kingdom
|
||||
|
||||
(5) Daniel’s prophecies would not be fully understood until _“the time of the end”_ ([Da 12:4,](https://www.jw.org/finder?bible=27012004&wtlocale=E) [8, 9](https://www.jw.org/finder?bible=27012008-27012009&wtlocale=E))
|
||||
|
||||
In the larger fulfillment, the tree represents Jehovah’s rulership
|
||||
|
||||
For a period of time, Jehovah’s rulership had been represented by the Israelite kings who ruled in Jerusalem ([1Ch 29:23](https://www.jw.org/finder?bible=13029023&wtlocale=E))
|
||||
|
||||
Jehovah promised David that one of his descendants would rule forever ([2Sa 7:16](https://www.jw.org/finder?bible=10007016&wtlocale=E))
|
||||
|
||||
Ezekiel foretold that the earthly representation of God’s rulership would be cut off and that God would later appoint a new Ruler **[Read** [**Ezekiel 21:26, 27**](https://www.jw.org/finder?bible=26021026-26021027&wtlocale=E)**]**
|
||||
|
||||
In 607 B.C.E., Jehovah used Nebuchadnezzar to destroy Jerusalem; this marked the beginning of the “seven times” during which God’s rulership would be interrupted ([Da 4:16](https://www.jw.org/finder?bible=27004016&wtlocale=E))
|
||||
|
||||
How long would this time period last?
|
||||
|
||||
**[Read** [**Luke 21:24**](https://www.jw.org/finder?bible=42021024&wtlocale=E)**]** Jesus said that Jerusalem, representing God’s rulership, would “be trampled on . . . until the appointed times of the nations” were fulfilled ([_w06_ 7/15 6 ¶1-4](https://docs.jw.org/finder?lank=doc-2006521&lang=E&par=16-19))
|
||||
|
||||
“The appointed times of the nations” are the same period as the “seven times” of [Daniel chapter 4](https://www.jw.org/finder?bible=27004001-27004037&wtlocale=E)
|
||||
|
||||
Jesus indicated that “the appointed times of the nations” were still ongoing during his earthly ministry, so the “seven times” could not be seven literal years counted from 607 B.C.E.
|
||||
|
||||
“Seven times,” or seven Biblical years, are equal to 2,520 days ([_w06_ 7/15 7 ¶1-2](https://docs.jw.org/finder?lank=doc-2006521&lang=E&par=20-21))
|
||||
|
||||
Applying the rule of “a day for a year” and counting 2,520 years from 607 B.C.E. brings us to 1914 C.E. ([Nu 14:34;](https://www.jw.org/finder?bible=4014034&wtlocale=E) [Eze 4:6](https://www.jw.org/finder?bible=26004006&wtlocale=E))
|
||||
|
||||
In 1914, Jesus began ruling in heaven as the appointed King of God’s Kingdom
|
||||
|
||||
As a descendant of King David, Jesus is “the one who has the legal right” to rule ([Eze 21:27;](https://www.jw.org/finder?bible=26021027&wtlocale=E) [Lu 1:32, 33](https://www.jw.org/finder?bible=42001032-42001033&wtlocale=E))
|
||||
|
||||
## **GOD’S KINGDOM WILL SOON TAKE FULL CONTROL** (5 min.)
|
||||
|
||||
Events since 1914 confirm that God’s Kingdom has been established ([Mt 24:3,](https://www.jw.org/finder?bible=40024003&wtlocale=E) [7-14](https://www.jw.org/finder?bible=40024007-40024014&wtlocale=E); [_w15_ 6/15 22-24 ¶12-14](https://docs.jw.org/finder?lank=doc-2015446&lang=E&par=21-23))
|
||||
|
||||
Jesus is now ruling “in the midst of [his] enemies,” and he will soon “complete his conquest” ([Ps 110:2;](https://www.jw.org/finder?bible=19110002&wtlocale=E) [Re 6:2](https://www.jw.org/finder?bible=66006002&wtlocale=E))
|
||||
|
||||
Rule by God’s Kingdom will bring blessings to obedient mankind ([_w14_ 10/1 5-7](https://docs.jw.org/finder?lank=doc-2014723&lang=E&par=9-34))
|
||||
|
||||
Now is the time to take your stand in support of God’s Kingdom
|
||||
|
||||
[Adhere closely to the outlined material, and observe the indicated timing of each section. Not all cited texts need to be read or commented on. See [_Ministry School_ book, pages 52-55,](https://docs.jw.org/finder?lank=doc-1102001061&lang=E) [166-169](https://docs.jw.org/finder?lank=doc-1102001094&lang=E)]
|
||||
|
||||
TO BE COVERED IN 30 MINUTES
|
||||
Binary file not shown.
1
50-Work/BCW/Clients/BCW/Info.md
Normal file
1
50-Work/BCW/Clients/BCW/Info.md
Normal file
@@ -0,0 +1 @@
|
||||
Manages DNS Records through Cloudflare
|
||||
222
50-Work/BCW/Maileroo Setup.md
Normal file
222
50-Work/BCW/Maileroo Setup.md
Normal file
@@ -0,0 +1,222 @@
|
||||
## Goal
|
||||
|
||||
Set up transactional email for each client’s WordPress site using Maileroo, while keeping every client isolated from the others.
|
||||
|
||||
This document is written for a website agency that manages multiple client domains and wants a repeatable, low-friction workflow.
|
||||
|
||||
---
|
||||
|
||||
## Recommended Structure
|
||||
|
||||
Use this hierarchy for every client:
|
||||
|
||||
- One Maileroo account for the agency.
|
||||
- One Maileroo Application per client.
|
||||
- One verified sending domain per client.
|
||||
- One sender/API key per client.
|
||||
- One WordPress mail connection per site.
|
||||
|
||||
This keeps Company A’s site separated from Company B’s site, so credentials and authorized domains do not overlap.
|
||||
|
||||
---
|
||||
|
||||
## Why This Works
|
||||
|
||||
Maileroo describes Applications as separate, self-contained sending environments. Each application can be restricted to its own authorized domains, which is the main isolation layer you want for client work.
|
||||
|
||||
Maileroo also says agencies can add an unlimited number of domains, and each domain gets its own sender key, which makes it practical to manage many clients from one account.
|
||||
|
||||
---
|
||||
|
||||
## Step-by-Step Setup
|
||||
|
||||
### 1. Create the client record internally
|
||||
|
||||
Before touching Maileroo, make a small internal record for each company:
|
||||
|
||||
- Company name.
|
||||
- Website URL.
|
||||
- Sending domain, usually the main domain or a subdomain like `mg.client.com`.
|
||||
- From address, such as `noreply@client.com` or `website@client.com`.
|
||||
- Destination address for form notifications, such as `hello@client.com`.
|
||||
|
||||
This gives you a clean source of truth for setup and handoff.
|
||||
|
||||
### 2. Create a Maileroo Application for that client
|
||||
|
||||
In Maileroo, create a new Application named after the client, for example:
|
||||
|
||||
- `Acme Plumbing`
|
||||
- `Acme Plumbing - Website`
|
||||
- `Acme Plumbing - Production`
|
||||
|
||||
Use one application per client so each site has its own sending environment.
|
||||
|
||||
### 3. Add and verify the client’s domain
|
||||
|
||||
Add the client’s sending domain in Maileroo and complete DNS verification.
|
||||
|
||||
Recommended DNS records:
|
||||
|
||||
- SPF.
|
||||
- DKIM.
|
||||
- DMARC.
|
||||
|
||||
If possible, use a subdomain for sending, such as:
|
||||
|
||||
- `mail.client.com`
|
||||
- `mg.client.com`
|
||||
- `tx.client.com`
|
||||
|
||||
This keeps transactional email separate from the client’s main mailbox setup.
|
||||
|
||||
### 4. Restrict the Application to that client’s domain only
|
||||
|
||||
This is the key isolation step.
|
||||
|
||||
Set the application’s authorized domains to only that client’s domain. If you leave the authorized-domain list blank, Maileroo can allow sending from any verified domain in the account, which is not what you want for agency isolation.
|
||||
|
||||
For example, Acme Plumbing’s application should only allow:
|
||||
|
||||
- `acmeplumbing.com`, or
|
||||
- `mg.acmeplumbing.com`
|
||||
|
||||
### 5. Create that client’s sending credentials
|
||||
|
||||
Generate a sender key or API credentials for that client/domain.
|
||||
|
||||
Best practice:
|
||||
|
||||
- One credential set per client/site.
|
||||
- Store credentials in your password manager.
|
||||
- Name them clearly, such as `Acme Plumbing - WP Production`.
|
||||
|
||||
Do not reuse the same key across multiple clients.
|
||||
|
||||
### 6. Connect WordPress using API if possible
|
||||
|
||||
For WordPress, use a plugin that supports Maileroo.
|
||||
|
||||
Preferred order:
|
||||
|
||||
1. Maileroo API.
|
||||
2. Maileroo SMTP.
|
||||
3. Avoid host SMTP.
|
||||
|
||||
API-based delivery is the cleanest option because it reduces the setup friction that often happens with server SMTP.
|
||||
|
||||
### 7. Set the From address correctly
|
||||
|
||||
Use a real address on the authenticated client domain, such as:
|
||||
|
||||
- `website@client.com`
|
||||
- `noreply@client.com`
|
||||
- `forms@client.com`
|
||||
|
||||
Do not use a Gmail address or an address from another domain.
|
||||
|
||||
For form notifications, keep the actual From address authenticated, and use Reply-To for the visitor’s submitted email if needed.
|
||||
|
||||
### 8. Send a test email before wiring the contact form
|
||||
|
||||
Before connecting the form plugin, send a plain WordPress test email.
|
||||
|
||||
Test it to:
|
||||
|
||||
- Your agency inbox.
|
||||
- The client inbox.
|
||||
- A Gmail address.
|
||||
- An Outlook or Microsoft 365 address.
|
||||
|
||||
This catches authentication problems early.
|
||||
|
||||
### 9. Connect the contact form
|
||||
|
||||
Once mail delivery is working, build the contact form in WordPress using Contact Form 7, WPForms, or another form plugin.
|
||||
|
||||
The form should:
|
||||
|
||||
- Send notifications to the client’s chosen inbox.
|
||||
- Use the authenticated domain as the From address.
|
||||
- Use Reply-To for the visitor’s email if needed.
|
||||
|
||||
### 10. Document everything
|
||||
|
||||
Save the following for each client:
|
||||
|
||||
- Maileroo Application name.
|
||||
- Verified domain.
|
||||
- DNS records added.
|
||||
- Sender/API key name.
|
||||
- WordPress plugin used.
|
||||
- From address.
|
||||
- Notification recipient.
|
||||
- Date tested.
|
||||
- Who owns DNS access.
|
||||
|
||||
This is what makes the setup repeatable later.
|
||||
|
||||
---
|
||||
|
||||
## Isolation Rules
|
||||
|
||||
Use these rules on every client:
|
||||
|
||||
- One Application per client.
|
||||
- Authorized domains set explicitly.
|
||||
- One credential set per client/site.
|
||||
- Never reuse API keys across clients.
|
||||
- Use separate From addresses per client.
|
||||
- Keep credentials in a shared password manager grouped by client.
|
||||
- Rotate keys when a site is rebuilt, migrated, or handed off.
|
||||
|
||||
---
|
||||
|
||||
## Suggested Naming Convention
|
||||
|
||||
A simple naming system helps a lot:
|
||||
|
||||
- Application: `Client Name - Website - Prod`
|
||||
- Domain: `mg.clientdomain.com`
|
||||
- From address: `website@clientdomain.com`
|
||||
- Key: `Client Name - WP Mail - Prod`
|
||||
|
||||
Use the same pattern for every client so the setup stays easy to audit.
|
||||
|
||||
---
|
||||
|
||||
## Internal SOP
|
||||
|
||||
Here is the shortest version of the workflow:
|
||||
|
||||
1. Create a Maileroo Application for the client.
|
||||
2. Add the client sending domain and verify SPF, DKIM, and DMARC.
|
||||
3. Restrict the Application to that authorized domain only.
|
||||
4. Generate that client’s sender/API key.
|
||||
5. Install Post SMTP or the Maileroo plugin on WordPress.
|
||||
6. Connect via Maileroo API first, SMTP second.
|
||||
7. Set the From address on the same authenticated domain.
|
||||
8. Send test emails.
|
||||
9. Hook up the form plugin.
|
||||
10. Save all setup details in your internal client record.
|
||||
|
||||
---
|
||||
|
||||
## Important Caveat
|
||||
|
||||
New Maileroo accounts may begin in Test Mode, where sending is limited until the required production steps are completed, including adding a domain. Make sure your agency’s main account is fully production-ready before onboarding multiple clients.
|
||||
|
||||
---
|
||||
|
||||
## Practical Recommendation
|
||||
|
||||
If you are standardizing this for an agency, use this as the default model:
|
||||
|
||||
- One agency Maileroo account.
|
||||
- One Maileroo Application per client.
|
||||
- One verified sending domain per client.
|
||||
- One API key per client.
|
||||
- One WordPress mail configuration per site.
|
||||
- Separate credentials, separate domains, no sharing.
|
||||
|
||||
That gives you a clean, low-volume, low-maintenance system for many client sites.
|
||||
BIN
JW_Backups/UserdataBackup_2026-04-01_Samsung_SM-X800.jwlibrary
Normal file
BIN
JW_Backups/UserdataBackup_2026-04-01_Samsung_SM-X800.jwlibrary
Normal file
Binary file not shown.
BIN
JW_Backups/UserdataBackup_2026-04-03_Samsung_SM-S926U1.jwlibrary
Normal file
BIN
JW_Backups/UserdataBackup_2026-04-03_Samsung_SM-S926U1.jwlibrary
Normal file
Binary file not shown.
BIN
JW_Backups/master.jwlibrary
Normal file
BIN
JW_Backups/master.jwlibrary
Normal file
Binary file not shown.
Reference in New Issue
Block a user