Cabinet

 




As an Amazon Associate I earn from qualifying purchases.

Cabinet

 




As an Amazon Associate I earn from qualifying purchases.

Box

 




As an Amazon Associate I earn from qualifying purchases.

Affordance is Play


Affordance as a Function of Intent and Action?


As a person passionate about Behavioral Sciences, I found myself unable to shake the impression that the paper “A Theory of Affordances in Reinforcement Learning” somewhat artificially imposes a mathematical frame on the idea. The authors, following Gibson in 1977, define “affordance” as a relationship between intent and action success within a Markov Decision Process (MDP). 
In their formulation, an affordance is something that fulfills an intended goal with a certain probability
The paper remains valid but inspires us to think more deeply about the meaning of affordance, especially in the context of Machine Learning.

Markov Decision Process (MDP) is a loop:

  1. You (or agent) in some situation (personal and world state).
  2. You (or agent) choose an action.
  3. The world reacts (new state + reward).
  4. Wash and repeat.
MDP fits neatly into the machinery of reinforcement learning, where an agent seeks to maximize rewards by executing optimal actions.

Gibson (1977) defined affordances as different possibilities of action that the environment affords to an agent.

I do not have an issue with Gibson's ecological definition. 

Affordance is Play

To me, affordance has less to do with intent and everything to do with play.

In the real world, we discover affordances not by planning but by playing with possibilities
A child learns what can be done by climbing, falling, touching, and testing the boundaries of safety. The best moments of childhood play are those when we barely escaped unscathed; when the heart raced, when something almost went wrong, but didn’t. That boundary between freedom and danger is where learning is deepest.

Affordance, in this sense, is not about achieving an outcome. It is about staying alive while experimenting with the world. 
It defines the space within which we can change the game's parameters without getting hurt. 
In reinforcement learning (RL) terms, it is the manifold of safe exploration, or the zone where feedback is rich but failure is not fatal.


source: Atlantic

 

Simulation and Safe Play


This form of learning is ancient. We simulate dangerous situations in imagination, running them over and over in the mind’s eye. Or we externalize them through ritualized, controlled play, just like in karate kata, where potentially lethal movements are practiced in a form that is safe and repeatable. Then there is karate kumite, or sparring, where we step closer to real risk but still within agreed limits. Both are forms of play. Both train us to recognize the edges of danger without crossing them.

It is the Most Serious Matter


Play, then, is not the opposite of seriousness; it is the method by which organisms map the terrain of survival. Through play, we learn about the world’s resistance and our own capabilities. The outcome of play is not a single intent achieved, but a widening of understanding; an embodied sense of what is possible.

The Definition

If I were to define affordance, I would not say it is “the subset of state–action pairs that fulfill intent.” I would say:
Affordance is the set of game parameters within which an agent can safely play and explore the outcomes that bring meaningful experiences.

It is the field of viable transformation, the space where curiosity meets consequence and both survive the encounter.

Mathematics


For those people who do not consider writing worth reading unless it contains at least 20% of LaTeX.

Let’s assume hazard H is a function that indicates how risky it is to take a particular action a in a given state s.

$$ H(s,a) \le h_{max} $$

If the hazard is below some acceptable threshold \( h_{max} \), then this action is considered safe enough to play with.
 In everyday terms: “Don’t jump higher than you can land safely.”

Now we introduce a second measure, feedback richness F. It describes how much change or learning happens when you take an action a. We can compute it by looking at the expected difference between the current state s and the next state s' after performing action a.

$$ F(s,a) = \mathrm{E}_{s' \sim P(\cdot \mid s,a)} \left[ D(s,s') \right] $$
where:
Symbol Meaning
\( s \) The current state of the agent.
\( a \) The action taken in that state.
\( s' \) Read “s-prime” — the next state that results after performing the action.
\( P(s' \mid s,a) \) The transition probability: how likely it is to reach each possible next state \( s' \) when taking action \( a \) in state \( s \).
\( D(s,s') \) A difference function measuring how much the world or the agent’s perception changes between \( s \) and \( s' \); it could represent distance, novelty, or information gain.
\( \mathbb{E}_{s' \sim P(s' \mid s,a)}[\cdot] \) The expected value — the average of that difference over all possible next states following from \( s,a \).

The formula asks: “On average, how different is the world after I act?”
If nothing changes (like bouncing on a log that won’t move), feedback is low. If something new happens (the world reacts in an interesting way), feedback is high.
So \( F \) measures how informative or “fun” the action is: how much it teaches the agent about the world.

The affordance of play is the set of all state–action pairs that are both safe and interesting:

$$ A_{play} = \{ (s,a) \in S \times A \mid H(s,a) \le h_{max},\ F(s,a) \ge f_{min} \} $$

In plain language: An action is “playable” if it won’t hurt you and it’s worth doing because you might learn something new. It defines the zone of viable exploration; the sweet spot between boredom and danger.

Next, we define the play policy: the way an agent chooses its actions to keep playing safely and learning effectively.

$$ \pi_{play}^{*} = \arg\max_{\pi} E\!\left[ \sum_{t=0}^{T} \gamma^{t} F(s_t,a_t) \right] \quad \text{s.t.} \quad H(s_t,a_t) \le h_{max},\ \forall t $$
where:
Symbol Meaning
\( \pi \) A policy — a rule or function that tells the agent which action to take in each state.
\( \pi_{\text{play}}^{*} \) The best (optimal) play policy that satisfies the safety rule.
\( \arg\max_{\pi} \) Find the policy that gives the maximum possible value.
\( \mathbb{E}[\cdot] \) The expected value, i.e., the average over all possible outcomes.
\( \sum_{t=0}^{T} \) A sum over time steps from the beginning (\(t=0\)) until some horizon \(T\).
\( \gamma^{t} \) A discount factor (0 < \( \gamma \) < 1) that slightly reduces the importance of far-future experiences; it models our natural tendency to value the present more than the distant future.
\( F(s_t,a_t) \) Feedback richness — how much the agent learns from taking action \(a_t\) in state \(s_t\).
\( H(s_t,a_t) \) Hazard — the expected risk or potential harm of taking that action.
\( h_{\max} \) The maximum acceptable hazard, the safety limit.
\( H(s_t,a_t) \le h_{\max} \) The safety constraint: every action must remain below the danger threshold.

This formula means the agent tries to maximize total feedback over time (it wants the richest learning experience possible) while keeping every action within the safety boundary. 

In other words: “Explore as much as you can without getting hurt.”

The factor \( \gamma \) (gamma) discounts future feedback slightly, just as we naturally prefer immediate experiences to distant ones.

For comparison, the classical reinforcement learning policy focuses purely on reward:

$$ \pi^{*} = \arg\max_{\pi} E\!\left[ \sum_{t=0}^{\infty} \gamma^{t} r(s_t,a_t) \right] $$

Traditional Reinforcement Learning (RL) agents chase rewards \( r \). 

A playful agent instead chases understanding \( F \), which signals curiosity, while respecting a safety boundary \( H \). 

 It is not optimizing for success but for continued participation.

Application for Machine Learning

In practical machine learning, this perspective turns into a guide for building better agents. Instead of rewarding an agent only when it achieves a fixed goal, we can encourage it to discover where it can play safely. The agent learns the boundaries of its world and the regions that respond richly to its actions, rather than blindly optimizing for external rewards.

In reinforcement learning terms, the agent can maintain two learned functions: a hazard model \( H(s,a) \) estimating the probability of failure or damage, and a feedback model \( F(s,a) \) estimating the expected amount of new information or improvement gained from an action. By combining them, the agent can create its own playground of exploration \( A_{play} \) and focus on safe and informative actions.

Such agents do not merely chase rewards; they evolve through curiosity. 

They learn the structure of their environment by interacting with it, not just memorizing outcomes. This approach aligns machine learning more closely with how humans and animals learn: through playful experimentation, through testing what can be changed without harm. It is learning as a continuous dance with uncertainty; an art of exploring the edge of safety where discovery happens.

References



As an Amazon Associate I earn from qualifying purchases.

Shodo


 



As an Amazon Associate I earn from qualifying purchases.

Basic lines in Japanese calligraphy (shodō 書道)

In the third lesson of my shodō 書道, I have practiced only drawing lines. 

It is more difficult than it appears. In Europe, we are used to writing with a hand on paper, even with an ink fountain pen; there is support. 

In Japanese calligraphy, shodō 書道, you sit with your back straight and hold the ink brush (fude 筆) vertically. The strokes use various brush pressures, but they are very prescribed in direction.



書道 shodo: The art of Japanese calligraphy, meaning "the way of writing".
墨 sumi: The black ink used in calligraphy. 
筆 fude: This is the modern and common kanji for "brush" used in words like fudepen (brush pen).
聿 itsu: This is a more classical kanji that means explicitly "writing brush" and is often used in compound words related to writing.

The eight principles of 永 (Eiji Happō)
  1.  (
    soku
    ) - A dot
  2.  (
    roku
    ) - A horizontal stroke
  3.  (
    do
    ) - A vertical stroke
  4.  (
    teki
    ) - A hook
  5.  (
    saku
    ) - A horizontal stroke with a right upward ending
  6.  (
    ryaku
    ) - A diagonal stroke to the left
  7.  (
    taku
    ) - A short diagonal stroke to the left
  8.  (
    taku
    ) - A diagonal stroke to the right


The kanji "eternity," 永 (ei), actually contains all the 8 techniques.


I will practice this kanji for many days, just like kata, before I move on with the next lesson.



As an Amazon Associate I earn from qualifying purchases.

Japanese router joints by takuwoodcraft

 





As an Amazon Associate I earn from qualifying purchases.

Japanese joinery with router and circular saw by @YASUHIROTV


 



As an Amazon Associate I earn from qualifying purchases.

Minimalist Japanese Zen Workbench





 








As an Amazon Associate I earn from qualifying purchases.

Amazing Table Corner

 Amazing table corner. No nails, no glue.






As an Amazon Associate I earn from qualifying purchases.

Simple foldable chair project

 Here is a super simple foldable chair that I would like to make as a lightweight, artistic beauty in simplicity exercise.






As an Amazon Associate I earn from qualifying purchases.

Taikyoku Shodan, Nisan, and Sandan

Taikyoku are the first kata many students learn in Shotokan. They were designed by Gichin Funakoshi and his son Yoshitaka to teach the foundation of stance, posture, and basic movement. The pattern follows a simple embusen in the shape of an H, using:

- zenkutsu-dachi,

- gedan-barai, 

- uchi-uke

- oi-tsuki





The purpose of kata is practice of techniques and by repetition of well executed moves we gain strength, endurance, speed and muscle memory. 


In Shūdōkan (修道館), founded by Kanken Toyama, Taikyoku Shodan keeps its Shotokan roots but carries some key distinctions in philosophy, structure, and execution style.


Kanken Toyama studied under Ankō Itosu and Gichin Funakoshi, so Shūdōkan shares much with early Shotokan.

However, Toyama also incorporated Chinese Ch’uan Fa (拳法) principles,giving Shūdōkan a softer, more circular flavor than the linear rigidity of Shotokan.

Thus, Taikyoku Shodan in Shūdōkan is not just a “beginner drill” but a gatewayto blending hard and soft dynamics.



Technical Differences


Stances (dachi): oftenslightly higher and more natural than modern Shotokan’s deep zenkutsu-dachi.
Movements: less tension, more flow; hip rotation is present but not exaggerated.
Emphasis: smooth transitionbetween blocks and punches, maintaining zanshin (continuing awareness).
Breathing: coordinated with motion—sometimes more consciously emphasizedthan in Shotokan’s military rhythm.


Pedagogical Role


Still serves as a foundational kata, but Shūdōkan treats Taikyoku forms as continuing reference points, not discarded after learning Heian or Pinan series.
The kata is used to refine kihon quality and teach mental focus —shudō literally means “the way of self-cultivation.”



Spirit and Meaning

In Shūdōkan, Taikyoku expresses the unity of spirit and form — Toyama emphasized that “technique without heart is empty.” The simplicity of Taikyoku Shodan is meant to reveal the depth of character through precision and intent, not complexity.

 Toyama studied under Ankō Itosu and Gichin Funakoshi, so Shūdōkan shares much with early Shotokan.
However, Toyama also incorporated Chinese Ch’uan Fa (拳法) principles,giving Shūdōkan a softer, more circular flavor than the linear rigidity of Shotokan.
Thus, Taikyoku Shodan in Shūdōkan is not just a “beginner drill” buta gateway to blending hard and soft dynamics.



Technical Differences


Stances (dachi): often slightly higher and more natural than modern Shotokan’sdeep zenkutsu-dachi.
Movements: less tension,more flow; hip rotation is present but not exaggerated.
Emphasis: smooth transition between blocks and punches, maintaining zanshin (continuing awareness).
Breathing: coordinated with motion—sometimes more consciously emphasizedthan in Shotokan’s military rhythm.


Pedagogical Role


Still serves as a foundational kata, but Shūdōkan treats Taikyoku forms as continuing reference points, not discarded after learning Heian or Pinan series.
The kata is used to refine kihon quality and teach mental focus — shudō literallymeans “the way of self-cultivation.”



Spirit and Meaning

In Shūdōkan, Taikyoku expresses the unity of spirit and form — Toyama emphasized that “technique without heart is empty.” The simplicity of Taikyoku Shodan is meant to reveal the depth of character through precision and intent, not complexity.








As an Amazon Associate I earn from qualifying purchases.

Taekwondo and Okinawan karate

My kids decided to betrayed the "family" tradition and (they were) signed up for Taekwondo. The kids' classes are well run, the kids are having fun, and the high kicks are impressive.

Our local school, DMW Martial Arts in Snoqualmie, Washington, was founded in 2008 by Dan Cartan, Marcia Paul, and Warren Spencer. Based on the forms taught (Taegeuk and Koryo), the school likely practices a style used in the Olympics and associated with World Taekwondo (WT). There is an association with Grandmaster Hong Sik Kim, 9th dan, who was teaching in PNW.



Despite being developed in Korea and drawing on native Korean traditions, Taekwondo's modern form was shaped by the influx of Okinawan karate, particularly Shotokan, into Korea during and after the Japanese occupation (1910–1945). 

Many of the Korean masters who founded the original Taekwondo schools (known as kwans) had studied Japanese and Okinawan martial arts, including Shotokan karate, while living in Japan during the occupation period.

Borrowing of forms (poomsae): Early Taekwondo forms, or hyung, were based on or directly adapted from Shotokan karate's kata. For instance, some Shotokan kata, like Bassai and Tekki, were practiced in early Taekwondo under Koreanized names.

The linear striking techniques and belt-ranking system used in Taekwondo were directly inherited from karate. The white uniform, or dobok, is also derived from the karate gi.

After the end of the Japanese occupation, there was a strong movement to re-establish the Korean national identity. Early leaders of Taekwondo deliberately modified and rebranded these techniques to separate the Korean martial art from its Japanese influences. This included creating new forms (poomsae) and officially coining the term "Taekwondo" in 1955. 

Early Korean Karate Lineages and Founders
Master School (Kwan) Karate Training
Won Kuk Lee Chung Do Kwan Studied Shotokan karate under Gichin and Gigō Funakoshi while attending university in Japan. He brought karate to Korea in 1944.
Choi Hong Hi Oh Do Kwan and International Taekwon-Do Federation (ITF) Studied Shotokan karate while in Japan and held a 2nd dan black belt. He later denied studying Taekkyon, an ancient Korean art, and admitted that karate was the only martial arts influence he could verify.
Ro Byung Jik Song Moo Kwan Studied Shotokan karate in Japan, attending the same university as Won Kuk Lee.
Byung In Yoon Chang Moo Kwan Studied Shudokan karate directly under its founder, Toyama Kanken.
Kae Byung Yun Ji Do Kwan Studied Shudokan karate and later Shito-ryu karate, from which he received a 7th dan certificate.
Hwang Kee Moo Duk Kwan (Tang Soo Do) Studied martial arts by reading books on Okinawan karate, in addition to Chinese fighting systems. The original forms (poomsae) and techniques of his Tang Soo Do style were derived from Shotokan karate.


As an Amazon Associate I earn from qualifying purchases.

Japanese wood joinery by Akhira

 

















As an Amazon Associate I earn from qualifying purchases.

Kanji 气 (き,"ki") 气+米 = 氣 > 気

Today, I am on day two of my kanji calligraphy practice (shodō).

Kanji  (き, "ki") 

My name, 宇気, Uki, joins two characters that make an unusual yet poetic meaning. 



Kanji , Japanese: u; Chinese: yǔ,  meaning expanse of space, universe, shelter, and the structure of the heavens.  The component radical 宀 means a roof over a supporting framework.

Kanji , Japanese: ki; Chinese: qi, descended from the older form , depicted as vapors rising from rice, the visible breath of life offered to the gods. The meaning is offering, mind, spirit, vital energy, "ki/chi" in various fighting styles.



In time, its form simplified to , the simplified component radical  means to govern, control, or harmonize.

So, in many words, my name could mean "universe supporting harmonized vital energy".


In Japanese calligraphy, shodō, in my interpretation, the character 宇 is slightly slanted, almost spinning around its vertical axis; it represents the world I come from: a slender, dancing Highlander (góral) leaping over the fire. The radical 宀 is wide, like outstretched arms, holding the axe (piupaga). 




In my interpretation, 気 represents the energy of a fireplace. There are slanted horizontal 3 strokes representing heat waves rising from the fireplace. The radical 乂 represents crossing sticks of the firewood stack.






Since this is my second day of practice, my strokes and hand control are still terrible.
 



shodō is 書道.
書 (sho) — to write, writing, calligraphy
道 (dō) — way, path, discipline, or spiritual practice

References:

https://beyond-calligraphy.com/2011/09/13/kanji-2037/




As an Amazon Associate I earn from qualifying purchases.

Joinery

 




As an Amazon Associate I earn from qualifying purchases.

Japanese joinery (木組み , kigumi), joints 仕口 (shikuchi)

I have been fascinated by Japanese joinery (木組み, kigumi) for decades, admiring the precision and quiet beauty of wood fitting wood without nails or glue. The log houses of the highlanders of my birthplace used the joinery as well.  I remember my friend buying a costly Japanese bed that could be easily assembled and disassembled. I always wanted the house and furniture to be in a traditional Japanese style. 

Now that I finally have my own house with a workbench, I can begin exploring this hobby.

There are many books on Japanese joinery, especially in Japanese, on eBay, but I did not find any box sets. My plan is to start by making a miniature joinery box set, scaled-down examples that demonstrate the logic and craftsmanship behind full-sized structures. They take up little space, waste little wood, and can be disassembled for study.

Choosing Woods for Practice

Living in the United States, I don’t have access to traditional Japanese timbers like hinoki (檜, Japanese cypress) or sugi (杉, Japanese cedar), but several local species work surprisingly well:

  • Poplar is a first choice for learning. Smooth, consistent texture and inexpensive. Cuts cleanly and holds fine edges, perfect for small kigumi examples.
  • Alder is slightly harder than poplar with a warm tone. Its fine grain allows tight, but reversible, fits, making it suitable for dry-fit joinery.
  • Western Red Cedar is light, aromatic, and reminiscent of sugi, but it can splinter if too dry.
  • Pine is ideal for early practice. It planes easily, responds well to chisels, and is widely available. Eastern white pine is especially good.
  • Maple is a dense, beautiful hardwood. I’ll save it for when my hand tools and patience are ready for precision-level work.


Staining and Finish

At first, I won’t use stain. I want to see the true contrast of grain and color between different woods—it helps me understand how the pieces lock together. Later, when I build display joints, I’ll finish them with natural oil or wax, not colored stain. The goal is to highlight the fibers and feel the texture as it was meant to be.


Keeping the Joints Reversible

Japanese joinery often relies on the balance of friction and geometry, so the parts can be taken apart. You should be able to disassemble the joints using a wooden dowel and a mallet.

For the study, I’ll:

  • Avoid glue altogether.
  • Lightly wax the sliding faces.
  • Mark each pair with a small, hidden symbol for reassembly (kigumi-mei, 組み名, “joinery name mark”).

  I may combine this with my practice of shodo (calligraphy).


Starting the Journey


I really like the examples of Japanese joinery here:

https://x.com/TheJoinery_jp


  

My approach will stay simple: study and cut each joint by hand. I’ll rely only on hand tools —saws, chisels, marking knives —and on patience. No shortcuts, no power tools at first. The goal is not speed but understanding how the wood behaves, and how each joint holds together.


  • 仕口 (shikuchi) literally means _joint_ or _connection_ in carpentry, how two pieces of wood are fitted together.
  • 仕 (shi) means “to do” or “to make.”
  • 口 (kuchi) means “mouth” or “opening.”

Together, 仕口 (shikuchi) describes the way two elements meet and interlock, a functional term for a wood joint, much like “joint” or “connection” in English.


In summary:

  • shikuchi (仕口) = joint or joinery connection
  • tsugi (継ぎ) = joint in the sense of _splicing or extending_ wood (end-to-end)
  • hozo (ほぞ / 枘) = tenon or projecting part inserted into another piece



As an Amazon Associate I earn from qualifying purchases.

Link GitHub .md Docs as Obsidian Directory

If your Markdown files live in a GitHub repository but you want to edit them directly in Obsidian, you can create a symbolic link.  

This allows Obsidian to treat the remote folder as part of your vault without copying files.

Example (macOS)

```bash

ln -s "/Users/user_name/.../REPO/DNN-book/chapters" "/Users/user_name/Obsidian/DNN-book"




As an Amazon Associate I earn from qualifying purchases.

Recurrent Neural Network (RNN) cell in PyTorch

This minimal PyTorch example implements a custom recurrent neural network (RNN) cell from first principles, showing how sequence memory emerges through feedback.
The cell maintains a hidden state vector h, which evolves over time using the current input x and the previous hidden state through the nonlinear update h = tanh(Wₕₕh + Wₓₕx). The output y = Wₕy h is then computed as a simple linear projection of the hidden state.
Unlike PyTorch’s built-in nn.RNN, this implementation makes every matrix and operation explicit, clearly illustrating how temporal dependencies are learned through recursive state updates rather than static input-output mappings.

code: https://github.com/UkiDLucas/DNN-book



import torch
import torch.nn as nn

# pick device (use "mps" on Apple Silicon;
# macOS Metal hardware acceleration
device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")

class MyRNNCell(nn.Module):
# rnn_units: number of hidden neurons
def __init__(self, rnn_units, input_dim, output_dim):
super().__init__()
# weight matrices, * 0.01 scales the random weight initialization to small values
self.W_xh = nn.Parameter(torch.randn(rnn_units, input_dim) * 0.01)
self.W_hh = nn.Parameter(torch.randn(rnn_units, rnn_units) * 0.01)
self.W_hy = nn.Parameter(torch.randn(output_dim, rnn_units) * 0.01)
# hidden state h initialized to zeros
self.register_buffer("h", torch.zeros(rnn_units, 1))

def forward(self, x):
# x is shape [input_dim, 1]
self.h = torch.tanh(self.W_hh @ self.h + self.W_xh @ x)
y = self.W_hy @ self.h
return y, self.h
# minimal usage example


if __name__ == "__main__":
rnn = MyRNNCell(rnn_units=16, input_dim=8, output_dim=4).to(device)
x_t = torch.randn(8, 1, device=device) # input vector at time t
y_t, h_t = rnn(x_t)
print(y_t.shape, h_t.shape) # torch.Size([4, 1]) torch.Size([16, 1])


A practical use of this minimal RNN cell is to predict or generate sequential data, where each step depends on the previous one.

For example:

  • Time series forecasting: Feed in one value at a time (like daily temperatures or stock prices) and train it to predict the next value.

  • Character-level text generation: Convert characters to one-hot vectors, feed them sequentially, and let the RNN learn to predict the next character.

  • Signal smoothing or sensor prediction: Use it to process sequential readings (like a boat’s wind and wave sensors) to predict future conditions.

Even though it’s a tiny model, it demonstrates the whole idea: maintaining internal memory (h) to connect past inputs with future outputs.

Various RNN configurations:

  • single input >  RNN cell > single result for binary classification
  • many inputs > many RNN cells > single output: sentiment classification
  • single input > many RNN cells > many outputs: text generation, image captions
  • many inputs > many RNN cells > many outputs: translation, music generation

Think of an RNN as a storyteller that remembers what has already been said while deciding what comes next. Each RNN cell is like one frame in a film reel—receiving new input, updating its memory, and passing that memory forward. When you connect many cells in series, the network forms a chain of thought through time: it doesn’t see the whole story at once but recalls what just happened. In a simple one-to-one setup, it’s like hearing a single word and deciding “yes” or “no.” With many inputs feeding into a single output, it listens to a whole sentence before forming an opinion, such as judging sentiment. With one input producing many outputs, it’s as if the RNN takes one idea and tells a whole story, step by step. And when many inputs produce many outputs, it becomes a fluent translator or composer—listening, remembering, and responding continuously.

References:



As an Amazon Associate I earn from qualifying purchases.

Japanese "te" verbs by NihongoDekita with Sayaka

 




As an Amazon Associate I earn from qualifying purchases.

Miniature Bonsai by 善福寺まこと / Makoto Zenpukuji

 







As an Amazon Associate I earn from qualifying purchases.

Post Scriptum

The views in this article are mine and do not reflect those of my employer.
I am preparing to cancel the subscription to the e-mail newsletter that sends my articles.
Follow me on:
X.com (Twitter)
LinkedIn
Google Scholar

Popular Recent Posts

Most Popular Articles

apt quotation..