Jul 07, 2007 09:18
A few days ago I met Nagisas dad, who is divorced from her mom. It was awkward, as he's shy and a few years off from retiring, so we didn't really have much dialog. Also it was also only his lunch break from work so we met, ate, and left. After that we met one of Nagi's mom's friends who works at a middle school, and I got to go inside. Interacting with students is the best because they're close to my age so there's lots of things we can talk about like music, but also because they seem genuinely interested in foreigners, and they're all studying english (even though many don't like studying English, they seem to really enjoy trying out basic phrases like "where are you from?").
Today I went to the Tanabata festival here in Kanagawa-ken (prefecture). Basically Japanese festivals are made of a lot of tents that sell food (and some activities like catching goldfish or throwing things at targets). They also hang up decorations, some traditional-looking, and some have disney art or whatnot. Being cheap, I mostly just walked around. Nagi and I wore traditional yukata's which are like summer kimonos, as did many other people. I think white people actually look pretty cool in Japanese clothing (though there was only one other white guy that i saw wearing Japanese clothing at the festival). Again I'll forward a picture when I can get my hands on it.
Speaking of Kimonos, a lot of words in Japanese, and most asian languages as I understand, have meaning for different parts inside of them separate from the whole. Kimono, which is a well known word in the west for the traditional Japanese dress-esque thing, is built from "ki" (wear) and "mono" (thing). That makes it a wear-thing. "Tabemono" means food but it's literally eat-thing. "Karaoke" means empty-orchestra, the latter two syllables actually coming from english. "Karate" is empty-hand, so if you see a karate place using weapons, it's probably not genuine.
These inner meanings come from the fact that Japanese write the stems of nouns, adjectives, and verbs using chinese meaning-based-characters (they use a phonetic writing for foreign words and grammer/conjugations). These meaning characters are much like latin roots in English. If I were to invent a word using latin roots like "unspinable", your brain can break it down and get the meaning from it's components ("cannot be spun" is hopefully what that means to you). Thanks to chinese characters in Japanese, one can break down a word and possibly get the meaning. Also, it makes memorizing words easier, since you can learn a new word as a combination of other words (or parts of other words) instead of memorizing it from scratch.
I just recently learned a bit of "keigo" (honorific language) today that probably could have saved me some looking-stupid in the past. The phrase "..... ii desu ka" is normal speak for "is ..... ok". I recently learned in keigo this turns to ".... yoroshii deshou ka", so next time a clerk asks me if he should put something in a separate bag or if I would stand in a different line, I'm not gonna stare at him and ask him to repeat.
Three of four friends I traveled to Japan with have now returned home. One of them was fired from his job in America after new management came in and found out he was going on vacation, so he decided to find a job in Japan. And he found one, he will be teaching english at a middle school near Tokyo starting in fall. Until then he's working at a guest house (youth hostel) in exchange for free sleep.
So I think my next three or so weeks will be rather calm. I've done a lot, been to festivals, disneyland, climbed fuji, visited various places, been to concerts, taken lots of trains and busses, and went to clubs/bars in tokyo. I am going osaka in two weeks or so, and kyoto. Besides that I plan to visit the beat sometime, but mainly I'm going to hang around the house and chill.
Engine changes:
- System::keyState() implemented. Note that all key related functions have some limitations under Cocoa currently (ie no key states when the app is hidden/notfrontmost).
- Application::keyState() implemented
- Application::keyPress() implemented
- Application::keyDown() implemented
- Application::keyLift() implemented
- Application::hidden declared (used to hide/unhide the app). Not implemented.
- engine.h renamed to phobic_engine.h
- Window::keyPress() implemented
- Window::keyDown() implemented
- Window::keyLift() implemented
- Window::keyState() implemented
- Input functions are now implemented in a way that use memory for each button that has been used, rather than reserving memory to store the state of all buttons. Also eliminated a per-window per-frame copy of keyboard buffers.
- keyPress/down/lift functions now return how many times they were pressed rather than whether or not they were pressed
- Got rid of annoying Cocoa beeping when typing on a window that has no selected text input control. (However, pressing escape makes cocoa beep for reasons I don't understand).
-regressions:
- Testing reveals that most cocoa controls run their own event loops when pressed, causing phobic engine and the application to "freeze" when the user holds down a button / browses menus /resizes the window. I also notice that spacegame and probably alot of programs do this too.
- Alert dialogs can break keyboard input because they use their own event loops