<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>sacha chua :: enterprise 2.0 consultant, storyteller, geek &#187; japanese</title>
	<atom:link href="http://sachachua.com/wp/category/japanese/feed/" rel="self" type="application/rss+xml" />
	<link>http://sachachua.com/wp</link>
	<description>I help people connect through blogs, wikis, other Web 2.0 tools. I'm also writing a book about Emacs.</description>
	<pubDate>Sat, 06 Sep 2008 03:47:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>Learning Japanese? Here are some useful resources</title>
		<link>http://sachachua.com/wp/2008/06/09/learning-japanese-here-are-some-useful-resources/</link>
		<comments>http://sachachua.com/wp/2008/06/09/learning-japanese-here-are-some-useful-resources/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 13:07:51 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[japan]]></category>

		<category><![CDATA[japanese]]></category>

		<category><![CDATA[learning]]></category>

		<guid isPermaLink="false">http://sachachua.com/wp/2008/06/09/learning-japanese-here-are-some-useful-resources/</guid>
		<description><![CDATA[One of my friends is planning to learn Japanese, so I thought I&#039;d put together some tips for him and for other people.
If you&#039;re planning to learn Japanese, I have some Japanese-related bookmarks on del.icio.us that you might find useful. =) You might also want to check out what other people have bookmarked for japanese+language.
I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hellowojo.blogspot.com/2008/06/learning-japanese.html">One of my friends is planning to learn Japanese,</a> so I thought I&#039;d put together some tips for him and for other people.</p>
<p>If you&#039;re planning to learn Japanese, I have some <a href="http://del.icio.us/sachac/japanese">Japanese-related bookmarks on del.icio.us</a> that you might find useful. =) You might also want to check out what other people have bookmarked for <a href="http://del.icio.us/tag/japanese+language">japanese+language</a>.</p>
<p>I particularly recommend this <a href="http://users.tmok.com/~tumble/qadgtj.html">quick and dirty guide to Japanese</a>, <a href="http://www.csse.monash.edu.au/~jwb/wwwjdic.html">Jim Breen&#039;s WWWJDIC</a> and the <a href="http://www.csse.monash.edu.au/~jwb/cgi-bin/wwwjdic.cgi?10">example  sentence search</a>. You can download the examples file from <a href="http://ftp.monash.edu.au/pub/nihongo/">the FTP server</a> for totally awesome local lookup. I wrote some code in Emacs to make this easier (and to insert random taglines into my blog posts =) ).</p>
<p>Good luck and have fun!</p>

<!-- start wp-tags-to-technorati 0.95 -->

<!-- end wp-tags-to-technorati -->
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2008/06/09/learning-japanese-here-are-some-useful-resources/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Basic Technical Japanese</title>
		<link>http://sachachua.com/wp/2006/05/23/basic-technical-japanese/</link>
		<comments>http://sachachua.com/wp/2006/05/23/basic-technical-japanese/#comments</comments>
		<pubDate>Tue, 23 May 2006 18:24:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[japanese]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2006.05.23.php#anchor-4</guid>
		<description><![CDATA[<p>JC Helary reminded me that I'd bought a book called "Basic Technical
Japanese", which is now sitting uselessly in a box or bookshelf
somewhere in the Philippines. I remember really, really loving that
book because of its examples. I'm serious! The examples talked about
atoms and nuclear fission, beakers, computers... Totally, totally
geeky, and totally, totally cool.</p>

<p>Did I give it to someone else, knowing that I wouldn't be able to take
it to Canada during the first trip? Argh. Anyway, if I did, chances
are that I gave it to one of my barkada. Anyone?</p>

<p>I definitely have to get it next time I fly home. It's a pretty hefty
book, but I'll make space for it!</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>

<p>E-Mail from Jean-Christophe Helary</p>

<p>Random Japanese sentence: ÃƒÂ¥Ã‚Â•Ã‚ÂÃƒÂ©Ã‚Â¡Ã‚ÂŒÃƒÂ£Ã‚ÂÃ‚Â¯ÃƒÂ¨Ã‚ÂªÃ‚Â°ÃƒÂ£Ã‚ÂÃ‚ÂŒÃƒÂ§Ã‚ÂŒÃ‚Â«ÃƒÂ£Ã‚ÂÃ‚Â«ÃƒÂ©Ã‚ÂˆÃ‚Â´ÃƒÂ£Ã‚Â‚Ã‚Â’ÃƒÂ£Ã‚ÂÃ‚Â¤ÃƒÂ£Ã‚ÂÃ‚Â‘ÃƒÂ£Ã‚Â‚Ã‚Â‹ÃƒÂ£Ã‚ÂÃ‚Â‹ÃƒÂ£Ã‚ÂÃ‚Â ÃƒÂ£Ã‚Â€Ã‚Â‚	The question is who will bell the cat.</p>
]]></description>
			<content:encoded><![CDATA[<p>JC Helary reminded me that I'd bought a book called "Basic Technical
Japanese", which is now sitting uselessly in a box or bookshelf
somewhere in the Philippines. I remember really, really loving that
book because of its examples. I'm serious! The examples talked about
atoms and nuclear fission, beakers, computers... Totally, totally
geeky, and totally, totally cool.</p>

<p>Did I give it to someone else, knowing that I wouldn't be able to take
it to Canada during the first trip? Argh. Anyway, if I did, chances
are that I gave it to one of my barkada. Anyone?</p>

<p>I definitely have to get it next time I fly home. It's a pretty hefty
book, but I'll make space for it!</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>

<p>E-Mail from Jean-Christophe Helary</p>

<p>Random Japanese sentence: ÃƒÂ¥Ã‚Â•Ã‚ÂÃƒÂ©Ã‚Â¡Ã‚ÂŒÃƒÂ£Ã‚ÂÃ‚Â¯ÃƒÂ¨Ã‚ÂªÃ‚Â°ÃƒÂ£Ã‚ÂÃ‚ÂŒÃƒÂ§Ã‚ÂŒÃ‚Â«ÃƒÂ£Ã‚ÂÃ‚Â«ÃƒÂ©Ã‚ÂˆÃ‚Â´ÃƒÂ£Ã‚Â‚Ã‚Â’ÃƒÂ£Ã‚ÂÃ‚Â¤ÃƒÂ£Ã‚ÂÃ‚Â‘ÃƒÂ£Ã‚Â‚Ã‚Â‹ÃƒÂ£Ã‚ÂÃ‚Â‹ÃƒÂ£Ã‚ÂÃ‚Â ÃƒÂ£Ã‚Â€Ã‚Â‚	The question is who will bell the cat.</p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2006/05/23/basic-technical-japanese/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Divergence</title>
		<link>http://sachachua.com/wp/2005/08/01/divergence/</link>
		<comments>http://sachachua.com/wp/2005/08/01/divergence/#comments</comments>
		<pubDate>Mon, 01 Aug 2005 14:07:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[japanese]]></category>

		<category><![CDATA[reflections]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.08.01.php#anchor-2</guid>
		<description><![CDATA[<p>Knowing how I wanted to practice my Japanese, Mark Chignell told me
about a couple of Japanese-related events this weekend. (Isn't it nice
to have a research supervisor who keeps track of your extracurricular
interests?)</p>

<p>The first event was a language exchange session held last Saturday, at
which I ran into no other than Baryon Posadas. Come to think of it, I
shouldn't have been that surprised. Of course he'd be at a
Japanese-language event.</p>

<p>Everyone was heading off to Starbucks to chat over coffee. I wanted to
ask how he had been, but I needed to go to Clarkson Station to meet
Tita Sol. We tried to work out some other time to meet, but he had
promised to help someone move and he needed to find an apartment, and
a lot of other things. Technically, I think I'm supposed to e-mail him
if I want to meet him for coffee (or hot chocolate), but now that I
think about it, I don't have much to chat with him about. Except
perhaps for general settling-in questions, like where's a good place
to open a bank account or get a credit card, and I already sorta know
the answers to those questions.</p>

<p>Anyway, I went to the barbecue today because it meant a free lunch. I
didn't get to practice my Japanese, though, as I didn't feel up to
making small talk in a foreign language&#8212;not when there was a
perfectly good conversation to have with Mark about research plans and
what I should do while he's off in Japan. (Yes, we were talking about
work. On a Sunday! During a long weekend!)</p>

<p>During a lull in the conversation, we wandered around in search for
non-MSG chips. Baryon was there at the table with the unflavored
chips, so I briefly introduced them to each other. Mark got drawn into
a conversation with a bunch of Japanese girls, so I was left on my
own. I asked them if I could sit there. I sat there for maybe a
minutes, idly munching on chips. Got bored, found it difficult to
break into a clique, eventually thought of a question to ask Mark and
left the table without a word.</p>

<p>Anyway, the entire thing prompted a reflection on divergence. I'd
borrowed a number of books from him before (speculative fiction,
mainly), and that was our common interest. Now my reading tastes have
changed (non-fiction and children's lit) and our worlds are really
very different now.</p>

<p>Mark's a pretty good judge of character, and he picked up on the
differences too. &#60;laugh&#62; In fact, he thought Baryon was strange.
I shrugged and said, "He's from humanities." (Nothing against the
humanities, of course. Hi Marcelle!)</p>

<p>I think that energy makes a big difference to me. Mark's a positive,
high-energy kind of person, which is one of the reasons why I get
along with him very well. Baryon and a number of other people I know
don't show that kind of energy often. They're more reserved and
detached.</p>

<p>If you take a look at the people I love hanging out with (Hiya, Just
Geeks League! ;) ), they've all got positive energy. One of the things
I like about chatting with Dominique is the way his smile comes
through so well in his voice, and you know his face shows it too! Even
Sean's deep and serious voice hides playfulness and wit. (You should
watch his Hulk impression... It's hilarious!) Even though they have
problems like everyone else, their upbeat personalities make the tough
times easier to weather.</p>

<p>I don't know if Baryon's like that, and I somewhat remember that he
laughs and joke about some things. Although it would be nice to pick
his brains about stuff I need to know as an international student in
Toronto, I think it would be a fair bit of work to get to the point
where conversation's comfortable. I'll probably focus on developing
new contacts instead, at least for now.</p>

<p>ÃƒÂ£Ã‚Â‚Ã‚Â‚ÃƒÂ£Ã‚ÂÃ‚Â†ÃƒÂ£Ã‚ÂÃ‚Â™ÃƒÂ£Ã‚ÂÃ‚ÂÃƒÂ£Ã‚ÂÃ‚Â¿ÃƒÂ£Ã‚Â‚Ã‚Â“ÃƒÂ£Ã‚ÂÃ‚ÂªÃƒÂ£Ã‚ÂÃ‚ÂŒÃƒÂ¨Ã‚Â‡Ã‚ÂªÃƒÂ¥Ã‚ÂˆÃ‚Â†ÃƒÂ£Ã‚ÂÃ‚Â®ÃƒÂ£Ã‚Â‚Ã‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â”ÃƒÂ£Ã‚ÂƒÃ‚Â¥ÃƒÂ£Ã‚ÂƒÃ‚Â¼ÃƒÂ£Ã‚Â‚Ã‚Â¿ÃƒÂ£Ã‚Â‚Ã‚Â’ÃƒÂ¦Ã‚ÂŒÃ‚ÂÃƒÂ£Ã‚ÂÃ‚Â¤ÃƒÂ£Ã‚ÂÃ‚Â ÃƒÂ£Ã‚Â‚Ã‚ÂÃƒÂ£Ã‚ÂÃ‚Â†ÃƒÂ£Ã‚Â€Ã‚Â‚	Everyone will have his own computer before long.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a>, <a href="http://www.technorati.com/tag/reflections" rel="tag">reflections</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Knowing how I wanted to practice my Japanese, Mark Chignell told me
about a couple of Japanese-related events this weekend. (Isn't it nice
to have a research supervisor who keeps track of your extracurricular
interests?)</p>

<p>The first event was a language exchange session held last Saturday, at
which I ran into no other than Baryon Posadas. Come to think of it, I
shouldn't have been that surprised. Of course he'd be at a
Japanese-language event.</p>

<p>Everyone was heading off to Starbucks to chat over coffee. I wanted to
ask how he had been, but I needed to go to Clarkson Station to meet
Tita Sol. We tried to work out some other time to meet, but he had
promised to help someone move and he needed to find an apartment, and
a lot of other things. Technically, I think I'm supposed to e-mail him
if I want to meet him for coffee (or hot chocolate), but now that I
think about it, I don't have much to chat with him about. Except
perhaps for general settling-in questions, like where's a good place
to open a bank account or get a credit card, and I already sorta know
the answers to those questions.</p>

<p>Anyway, I went to the barbecue today because it meant a free lunch. I
didn't get to practice my Japanese, though, as I didn't feel up to
making small talk in a foreign language&mdash;not when there was a
perfectly good conversation to have with Mark about research plans and
what I should do while he's off in Japan. (Yes, we were talking about
work. On a Sunday! During a long weekend!)</p>

<p>During a lull in the conversation, we wandered around in search for
non-MSG chips. Baryon was there at the table with the unflavored
chips, so I briefly introduced them to each other. Mark got drawn into
a conversation with a bunch of Japanese girls, so I was left on my
own. I asked them if I could sit there. I sat there for maybe a
minutes, idly munching on chips. Got bored, found it difficult to
break into a clique, eventually thought of a question to ask Mark and
left the table without a word.</p>

<p>Anyway, the entire thing prompted a reflection on divergence. I'd
borrowed a number of books from him before (speculative fiction,
mainly), and that was our common interest. Now my reading tastes have
changed (non-fiction and children's lit) and our worlds are really
very different now.</p>

<p>Mark's a pretty good judge of character, and he picked up on the
differences too. &lt;laugh&gt; In fact, he thought Baryon was strange.
I shrugged and said, "He's from humanities." (Nothing against the
humanities, of course. Hi Marcelle!)</p>

<p>I think that energy makes a big difference to me. Mark's a positive,
high-energy kind of person, which is one of the reasons why I get
along with him very well. Baryon and a number of other people I know
don't show that kind of energy often. They're more reserved and
detached.</p>

<p>If you take a look at the people I love hanging out with (Hiya, Just
Geeks League! ;) ), they've all got positive energy. One of the things
I like about chatting with Dominique is the way his smile comes
through so well in his voice, and you know his face shows it too! Even
Sean's deep and serious voice hides playfulness and wit. (You should
watch his Hulk impression... It's hilarious!) Even though they have
problems like everyone else, their upbeat personalities make the tough
times easier to weather.</p>

<p>I don't know if Baryon's like that, and I somewhat remember that he
laughs and joke about some things. Although it would be nice to pick
his brains about stuff I need to know as an international student in
Toronto, I think it would be a fair bit of work to get to the point
where conversation's comfortable. I'll probably focus on developing
new contacts instead, at least for now.</p>

<p>ÃƒÂ£Ã‚Â‚Ã‚Â‚ÃƒÂ£Ã‚ÂÃ‚Â†ÃƒÂ£Ã‚ÂÃ‚Â™ÃƒÂ£Ã‚ÂÃ‚ÂÃƒÂ£Ã‚ÂÃ‚Â¿ÃƒÂ£Ã‚Â‚Ã‚Â“ÃƒÂ£Ã‚ÂÃ‚ÂªÃƒÂ£Ã‚ÂÃ‚ÂŒÃƒÂ¨Ã‚Â‡Ã‚ÂªÃƒÂ¥Ã‚ÂˆÃ‚Â†ÃƒÂ£Ã‚ÂÃ‚Â®ÃƒÂ£Ã‚Â‚Ã‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â”ÃƒÂ£Ã‚ÂƒÃ‚Â¥ÃƒÂ£Ã‚ÂƒÃ‚Â¼ÃƒÂ£Ã‚Â‚Ã‚Â¿ÃƒÂ£Ã‚Â‚Ã‚Â’ÃƒÂ¦Ã‚ÂŒÃ‚ÂÃƒÂ£Ã‚ÂÃ‚Â¤ÃƒÂ£Ã‚ÂÃ‚Â ÃƒÂ£Ã‚Â‚Ã‚ÂÃƒÂ£Ã‚ÂÃ‚Â†ÃƒÂ£Ã‚Â€Ã‚Â‚	Everyone will have his own computer before long.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a>, <a href="http://www.technorati.com/tag/reflections" rel="tag">reflections</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/08/01/divergence/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Odd things</title>
		<link>http://sachachua.com/wp/2005/05/09/odd-things/</link>
		<comments>http://sachachua.com/wp/2005/05/09/odd-things/#comments</comments>
		<pubDate>Tue, 10 May 2005 01:59:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[cebu]]></category>

		<category><![CDATA[japanese]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.05.09.php#anchor-2</guid>
		<description><![CDATA[<p>On our way back from Infoweapons (and on the prowl for non-fried
places to eat), Paolo and I spotted a brightly-lit cafe with Japanese
characters sprayed on its windows. We stood there for a moment,
deciphering the inscription: ÃƒÂ¥Ã‚Â–Ã‚Â«ÃƒÂ¨Ã‚ÂŒÃ‚Â¶ÃƒÂ£Ã‚ÂÃ‚Â¨ÃƒÂ¨Ã‚Â»Ã‚Â½ÃƒÂ©Ã‚Â£Ã‚ÂŸ. Tea house and snacks. Coffee
and snacks. Something like that.</p>

<p>Then we saw the bookshelves overflowing with manga.</p>

<p>Whoa.</p>

<p>We went in and stared at the manga collection for a moment. I amused
myself by trying to translate the sign posted above the bookshelf. The
English caption mentioned Japanese people who want to converse with
Cebuanos. Being neither Japanese nor Cebuano, I wondered if they'd let
me come and practice Japanese anyway. A look at the clientele&#8212;old
Japanese businessmen, pretty Filipinas&#8212;and at the high prices posted,
and Paolo and I looked at each other and laughed. It might be like one
of those snack bars I saw in Shinjuku...</p>

<p>Hmm. Maybe we can have a cup of hot chocolate / coffee and read as
much as we want. Maybe Wednesday. Hehehe...</p>

<p>ÃƒÂ§Ã‚Â§Ã‚ÂÃƒÂ£Ã‚ÂÃ‚Â¯ÃƒÂ¥Ã‚Â¦Ã‚Â¹ÃƒÂ£Ã‚ÂÃ‚Â«ÃƒÂ¦Ã‚Â–Ã‚Â°ÃƒÂ£Ã‚ÂÃ‚Â—ÃƒÂ£Ã‚ÂÃ‚Â„ÃƒÂ£Ã‚Â‚Ã‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â”ÃƒÂ£Ã‚ÂƒÃ‚Â¥ÃƒÂ£Ã‚ÂƒÃ‚Â¼ÃƒÂ£Ã‚Â‚Ã‚Â¿ÃƒÂ£Ã‚ÂƒÃ‚Â¼ÃƒÂ£Ã‚Â‚Ã‚Â’ÃƒÂ¤Ã‚Â½Ã‚Â¿ÃƒÂ£Ã‚Â‚Ã‚ÂÃƒÂ£Ã‚ÂÃ‚Â›ÃƒÂ£Ã‚ÂÃ‚Â¦ÃƒÂ£Ã‚Â‚Ã‚Â„ÃƒÂ£Ã‚ÂÃ‚Â£ÃƒÂ£Ã‚ÂÃ‚ÂŸÃƒÂ£Ã‚Â€Ã‚Â‚	I let my sister use my new computer.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/cebu" rel="tag">cebu</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></description>
			<content:encoded><![CDATA[<p>On our way back from Infoweapons (and on the prowl for non-fried
places to eat), Paolo and I spotted a brightly-lit cafe with Japanese
characters sprayed on its windows. We stood there for a moment,
deciphering the inscription: ÃƒÂ¥Ã‚Â–Ã‚Â«ÃƒÂ¨Ã‚ÂŒÃ‚Â¶ÃƒÂ£Ã‚ÂÃ‚Â¨ÃƒÂ¨Ã‚Â»Ã‚Â½ÃƒÂ©Ã‚Â£Ã‚ÂŸ. Tea house and snacks. Coffee
and snacks. Something like that.</p>

<p>Then we saw the bookshelves overflowing with manga.</p>

<p>Whoa.</p>

<p>We went in and stared at the manga collection for a moment. I amused
myself by trying to translate the sign posted above the bookshelf. The
English caption mentioned Japanese people who want to converse with
Cebuanos. Being neither Japanese nor Cebuano, I wondered if they'd let
me come and practice Japanese anyway. A look at the clientele&mdash;old
Japanese businessmen, pretty Filipinas&mdash;and at the high prices posted,
and Paolo and I looked at each other and laughed. It might be like one
of those snack bars I saw in Shinjuku...</p>

<p>Hmm. Maybe we can have a cup of hot chocolate / coffee and read as
much as we want. Maybe Wednesday. Hehehe...</p>

<p>ÃƒÂ§Ã‚Â§Ã‚ÂÃƒÂ£Ã‚ÂÃ‚Â¯ÃƒÂ¥Ã‚Â¦Ã‚Â¹ÃƒÂ£Ã‚ÂÃ‚Â«ÃƒÂ¦Ã‚Â–Ã‚Â°ÃƒÂ£Ã‚ÂÃ‚Â—ÃƒÂ£Ã‚ÂÃ‚Â„ÃƒÂ£Ã‚Â‚Ã‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â³ÃƒÂ£Ã‚ÂƒÃ‚Â”ÃƒÂ£Ã‚ÂƒÃ‚Â¥ÃƒÂ£Ã‚ÂƒÃ‚Â¼ÃƒÂ£Ã‚Â‚Ã‚Â¿ÃƒÂ£Ã‚ÂƒÃ‚Â¼ÃƒÂ£Ã‚Â‚Ã‚Â’ÃƒÂ¤Ã‚Â½Ã‚Â¿ÃƒÂ£Ã‚Â‚Ã‚ÂÃƒÂ£Ã‚ÂÃ‚Â›ÃƒÂ£Ã‚ÂÃ‚Â¦ÃƒÂ£Ã‚Â‚Ã‚Â„ÃƒÂ£Ã‚ÂÃ‚Â£ÃƒÂ£Ã‚ÂÃ‚ÂŸÃƒÂ£Ã‚Â€Ã‚Â‚	I let my sister use my new computer.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/cebu" rel="tag">cebu</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/05/09/odd-things/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A fun-filled day: part 1. Lunch with Nishida</title>
		<link>http://sachachua.com/wp/2005/04/09/a-fun-filled-day-part-1-lunch-with-nishida/</link>
		<comments>http://sachachua.com/wp/2005/04/09/a-fun-filled-day-part-1-lunch-with-nishida/#comments</comments>
		<pubDate>Sun, 10 Apr 2005 01:47:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[japanese]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.04.09.php#anchor-1</guid>
		<description><![CDATA[<p>My day started with lunch with Nishida, a Japanese businessman setting up the Philippine subsidiary of <a href="http://www.msinet.co.jp">MSI Corporation</a>. MSI was my host company during my internship, and I'm greatly obliged to them for the opportunity to see how the Japanese software industry worked. I was nervously thinking of what they might want assistance with, and I was pleasantly surprised to find out that this was a social call. We met at the lobby of Shangri-la Makati and walked to Zen for (unsurprisingly) a Japanese lunch.</p>

<p>I had fun chatting with him in Japanese. He said he must've been to
all the Japanese restaurants in the area, and he proceeded to list
them. They were just imitations, he said, but they were much cheaper
than food in Japan so he wasn't unhappy. He had some problems figuring
out the bento box system at Zen, so I tried to explain how it worked,
and I also asked for the Japanese menu. (Good thing my mom and I
peeked at the Japanese menu a week or two ago!)</p>

<p>We then chatted about life in a foreign country. I told him how I'd
quickly made friends through free conversations with volunteers,
technical conferences, and nomikais (informal get-togethers). He's
been in the Philippines for over seven months but has been having
problems making Filipino friends. Although he went to a few karaoke
bars (you know the Japanese and their karaoke), he didn't really get
to know people there. As he said, women there just hit on you because
they want to marry a Japanese guy. I laughed and told him I have a
wonderful boyfriend; he doesn't need to worry about me. He has a
Filipina assistant who sometimes teaches him about Filipino culture
(what to do and what not to do), but they can't hang out because they
work together. All the other people he knows are Japanese, so they
chat in Japanese. As a result, he doesn't really feel comfortable
chatting in English.</p>

<p>Of course, I offered to switch to English so that he could practice.
He declined, saying he was just so relieved to find a Filipino who can
talk to him in Japanese. I told him a lot of people learn Japanese
because of anime, and offered to help him look for friendship circles
and other things like that.</p>

<p>We also chatted about cultural misadventures. Food was, as always, a
source of great humor, from balut (which we both can't stand) to
chicharon (which he found absolutely horrific&#8212;how can anyone eat that
sort of stuff? I just grin). He told me about this morning's phone
call. When he called up the house to confirm our lunch, of course he
asked for "Chua-san"&#8212;I always used my last name in Japan, following
convention. My dad answered the phone, and it took some back-and-forth
and a bit of panicking on Nishida's end before my dad realized the
call was for me. Heh. That's also why I tend to call guys by their
first names instead of by their last names, even if that _is_ their
nickname...</p>

<p>(You can ask Ernest about the very first time I called him up. See,
his nickname was not only "Baello" (his last name), but he also had
the same name as his father_, so I couldn't just ask for "Ernest"...
To be safe, I specified his _full_ name instead. That made his mom laugh.)</p>

<p>Anyway. We'll take care of introducing Nishida to some other people
and taking him out to see some places; it's the least I can do to
repay my obligations to the volunteers who helped me so much in Japan.
I wish Dominique was there. They'd probably have gotten along very
well. My mom might have fun chatting with him, too; she'll know how to
make him feel relaxed. Tita Raquel, definitely. I wonder who else
among our friends can help the poor guy... =)</p>

<p>Ã£Â€ÂŒÃ£ÂÂÃ£Â‚ÂŒÃ£ÂÂ§Ã£ÂÂ¯Ã£ÂÂŠÃ£ÂÂ¾Ã£ÂÂˆÃ£ÂÂ«Ã£ÂÂ­Ã£ÂÂ“Ã£Â‚Â’Ã¤Â¸Â€Ã¥ÂŒÂ¹Ã£ÂÂ¨Ã£ÂÂ£Ã£ÂÂ¦Ã£ÂÂÃ£ÂÂ¦Ã£ÂÂ‚Ã£ÂÂ’Ã£Â‚ÂˆÃ£ÂÂ†Ã£Â€ÂÃ£ÂÂ¨Ã£Â€ÂÃ£ÂÂŠÃ£ÂÂ˜Ã£ÂÂ„Ã£ÂÂ•Ã£Â‚Â“Ã£ÂÂ¯Ã£ÂÂ„Ã£ÂÂ„Ã£ÂÂ¾Ã£ÂÂ—Ã£ÂÂŸÃ£Â€Â‚	"I will get you a cat, my dear," said the very old man.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></description>
			<content:encoded><![CDATA[<p>My day started with lunch with Nishida, a Japanese businessman setting up the Philippine subsidiary of <a href="http://www.msinet.co.jp">MSI Corporation</a>. MSI was my host company during my internship, and I'm greatly obliged to them for the opportunity to see how the Japanese software industry worked. I was nervously thinking of what they might want assistance with, and I was pleasantly surprised to find out that this was a social call. We met at the lobby of Shangri-la Makati and walked to Zen for (unsurprisingly) a Japanese lunch.</p>

<p>I had fun chatting with him in Japanese. He said he must've been to
all the Japanese restaurants in the area, and he proceeded to list
them. They were just imitations, he said, but they were much cheaper
than food in Japan so he wasn't unhappy. He had some problems figuring
out the bento box system at Zen, so I tried to explain how it worked,
and I also asked for the Japanese menu. (Good thing my mom and I
peeked at the Japanese menu a week or two ago!)</p>

<p>We then chatted about life in a foreign country. I told him how I'd
quickly made friends through free conversations with volunteers,
technical conferences, and nomikais (informal get-togethers). He's
been in the Philippines for over seven months but has been having
problems making Filipino friends. Although he went to a few karaoke
bars (you know the Japanese and their karaoke), he didn't really get
to know people there. As he said, women there just hit on you because
they want to marry a Japanese guy. I laughed and told him I have a
wonderful boyfriend; he doesn't need to worry about me. He has a
Filipina assistant who sometimes teaches him about Filipino culture
(what to do and what not to do), but they can't hang out because they
work together. All the other people he knows are Japanese, so they
chat in Japanese. As a result, he doesn't really feel comfortable
chatting in English.</p>

<p>Of course, I offered to switch to English so that he could practice.
He declined, saying he was just so relieved to find a Filipino who can
talk to him in Japanese. I told him a lot of people learn Japanese
because of anime, and offered to help him look for friendship circles
and other things like that.</p>

<p>We also chatted about cultural misadventures. Food was, as always, a
source of great humor, from balut (which we both can't stand) to
chicharon (which he found absolutely horrific&mdash;how can anyone eat that
sort of stuff? I just grin). He told me about this morning's phone
call. When he called up the house to confirm our lunch, of course he
asked for "Chua-san"&mdash;I always used my last name in Japan, following
convention. My dad answered the phone, and it took some back-and-forth
and a bit of panicking on Nishida's end before my dad realized the
call was for me. Heh. That's also why I tend to call guys by their
first names instead of by their last names, even if that _is_ their
nickname...</p>

<p>(You can ask Ernest about the very first time I called him up. See,
his nickname was not only "Baello" (his last name), but he also had
the same name as his father_, so I couldn't just ask for "Ernest"...
To be safe, I specified his _full_ name instead. That made his mom laugh.)</p>

<p>Anyway. We'll take care of introducing Nishida to some other people
and taking him out to see some places; it's the least I can do to
repay my obligations to the volunteers who helped me so much in Japan.
I wish Dominique was there. They'd probably have gotten along very
well. My mom might have fun chatting with him, too; she'll know how to
make him feel relaxed. Tita Raquel, definitely. I wonder who else
among our friends can help the poor guy... =)</p>

<p>Ã£Â€ÂŒÃ£ÂÂÃ£Â‚ÂŒÃ£ÂÂ§Ã£ÂÂ¯Ã£ÂÂŠÃ£ÂÂ¾Ã£ÂÂˆÃ£ÂÂ«Ã£ÂÂ­Ã£ÂÂ“Ã£Â‚Â’Ã¤Â¸Â€Ã¥ÂŒÂ¹Ã£ÂÂ¨Ã£ÂÂ£Ã£ÂÂ¦Ã£ÂÂÃ£ÂÂ¦Ã£ÂÂ‚Ã£ÂÂ’Ã£Â‚ÂˆÃ£ÂÂ†Ã£Â€ÂÃ£ÂÂ¨Ã£Â€ÂÃ£ÂÂŠÃ£ÂÂ˜Ã£ÂÂ„Ã£ÂÂ•Ã£Â‚Â“Ã£ÂÂ¯Ã£ÂÂ„Ã£ÂÂ„Ã£ÂÂ¾Ã£ÂÂ—Ã£ÂÂŸÃ£Â€Â‚	"I will get you a cat, my dear," said the very old man.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/04/09/a-fun-filled-day-part-1-lunch-with-nishida/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Passed JLPT level 3</title>
		<link>http://sachachua.com/wp/2005/02/08/passed-jlpt-level-3/</link>
		<comments>http://sachachua.com/wp/2005/02/08/passed-jlpt-level-3/#comments</comments>
		<pubDate>Wed, 09 Feb 2005 01:21:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[japanese]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.02.08.php#anchor-1</guid>
		<description><![CDATA[<p>Looks like I passed level 3 of the Japanese Language Proficiency Test.
Yay.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Looks like I passed level 3 of the Japanese Language Proficiency Test.
Yay.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/02/08/passed-jlpt-level-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Nifty Japanese stuff: Kakasi</title>
		<link>http://sachachua.com/wp/2005/01/28/nifty-japanese-stuff-kakasi/</link>
		<comments>http://sachachua.com/wp/2005/01/28/nifty-japanese-stuff-kakasi/#comments</comments>
		<pubDate>Fri, 28 Jan 2005 15:36:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[japanese]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.01.28.php#anchor-3</guid>
		<description><![CDATA[<p><a href="http://kakasi.namazu.org/">Kakasi</a> is an external utility for
converting Japanese text between coding systems. It can also add
furigana after kanji or convert a text file to romaji.</p>

<p>Debian users can <code>apt-get install kakasi kakasi-dic</code>.
There's an <a href="http://komatsu.webmasters.gr.jp/elisp/kakasi/">Emacs interface</a>,
a <a href="http://search.cpan.org/dist/Text-Kakasi/Kakasi.pm">Perl module (Text::Kakasi)</a>,
and a <a href="http://raa.ruby-lang.org/list.rhtml?name=Ruby%2FKAKASI">Ruby library</a>.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a>, <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/linux" rel="tag">linux</a>, <a href="http://www.technorati.com/tag/ruby" rel="tag">ruby</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://kakasi.namazu.org/">Kakasi</a> is an external utility for
converting Japanese text between coding systems. It can also add
furigana after kanji or convert a text file to romaji.</p>

<p>Debian users can <code>apt-get install kakasi kakasi-dic</code>.
There's an <a href="http://komatsu.webmasters.gr.jp/elisp/kakasi/">Emacs interface</a>,
a <a href="http://search.cpan.org/dist/Text-Kakasi/Kakasi.pm">Perl module (Text::Kakasi)</a>,
and a <a href="http://raa.ruby-lang.org/list.rhtml?name=Ruby%2FKAKASI">Ruby library</a>.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a>, <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/linux" rel="tag">linux</a>, <a href="http://www.technorati.com/tag/ruby" rel="tag">ruby</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/01/28/nifty-japanese-stuff-kakasi/feed/</wfw:commentRss>
		</item>
		<item>
		<title>More Emacs evangelization: flashcard</title>
		<link>http://sachachua.com/wp/2005/01/14/more-emacs-evangelization-flashcard/</link>
		<comments>http://sachachua.com/wp/2005/01/14/more-emacs-evangelization-flashcard/#comments</comments>
		<pubDate>Fri, 14 Jan 2005 20:43:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[japanese]]></category>

		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.01.14.php#anchor-1</guid>
		<description><![CDATA[<p>Aris and I are both struggling with far too much kanji. I used a
combination of <b>kdrill</b> to gain familiarity with kanji and
<a href="http://sachachua.com/notebook/emacs/flashcard.el">../emacs/flashcard.el</a> to drill the meaning into my brain, as
flashcard.el requires me to get a question right 5 times in a row
before considering it solved. Aris searched the Internet for flashcard
programs on Windows and played around with things like Kanji Gold and
King Kanji, but couldn't figure out how to import our wordlist into
them. Kanji Gold looked promising as it also used EDICT, but I
couldn't figure out the magic number at the end of the dictionary
entry. With over 200 words in our word list, there was no way we were
going to enter those things one by one!</p>

<p>I told him to download Emacs and grab Jorgen Schaefer's flashcard.el
from my <a href="http://sachachua.com/notebook/emacs">../emacs</a> directory. I then grabbed the dictionary file that
Kanji Gold couldn't recognized, replaced [ with : to get flashcard to
recognize it without problems, then set up a deck for him. I tweaked
the default faces a bit&#8212;they're horrible on light-colored displays. I
copied the suggested feedback config and explained the pigeonhole
method to him. I tweaked the checking function so that it checked for
substrings and treated empty input as a definitely incorrect answer.
He wanted the answers displayed all the time, so I coded that in as
well.</p>

<p>The initial word list was too big, so I copied 9 words and put them
into a file, then imported them into a deck. Later, when he finishes
this deck, I'll show him how to create another colon file and import it.
I'll also ask him if he wants to tweak the number of compartments.</p>

<p>He's asked me if I can get YM working in the text editor as well. I'm
currently tunneled through Richi's host, but I think I can open a
local tunnel for him as well, if he feels like using ERC. 'course,
normal YM just might work, and chances are there's a YM-specific
client somewhere in Emacs.</p>

<p>I've made no efforts to hide Emacs' complexity. I lean over and drop
into Lisp code in front of him because I want him to have a working
environment up and running as soon as possible. Who knows? Maybe he'll
use Emacs even after the internship. =)</p>

<p>He looks like he's having fun, and certainly appreciates the fact that
I can hack the editor to fit how he wants to do things. He wants to
match the readings, too, which means I'll need to figure out how leim
works under Windows. I'll do that on Monday.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/opensource" rel="tag">opensource</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Aris and I are both struggling with far too much kanji. I used a
combination of <b>kdrill</b> to gain familiarity with kanji and
<a href="http://sachachua.com/notebook/emacs/flashcard.el">../emacs/flashcard.el</a> to drill the meaning into my brain, as
flashcard.el requires me to get a question right 5 times in a row
before considering it solved. Aris searched the Internet for flashcard
programs on Windows and played around with things like Kanji Gold and
King Kanji, but couldn't figure out how to import our wordlist into
them. Kanji Gold looked promising as it also used EDICT, but I
couldn't figure out the magic number at the end of the dictionary
entry. With over 200 words in our word list, there was no way we were
going to enter those things one by one!</p>

<p>I told him to download Emacs and grab Jorgen Schaefer's flashcard.el
from my <a href="http://sachachua.com/notebook/emacs">../emacs</a> directory. I then grabbed the dictionary file that
Kanji Gold couldn't recognized, replaced [ with : to get flashcard to
recognize it without problems, then set up a deck for him. I tweaked
the default faces a bit&mdash;they're horrible on light-colored displays. I
copied the suggested feedback config and explained the pigeonhole
method to him. I tweaked the checking function so that it checked for
substrings and treated empty input as a definitely incorrect answer.
He wanted the answers displayed all the time, so I coded that in as
well.</p>

<p>The initial word list was too big, so I copied 9 words and put them
into a file, then imported them into a deck. Later, when he finishes
this deck, I'll show him how to create another colon file and import it.
I'll also ask him if he wants to tweak the number of compartments.</p>

<p>He's asked me if I can get YM working in the text editor as well. I'm
currently tunneled through Richi's host, but I think I can open a
local tunnel for him as well, if he feels like using ERC. 'course,
normal YM just might work, and chances are there's a YM-specific
client somewhere in Emacs.</p>

<p>I've made no efforts to hide Emacs' complexity. I lean over and drop
into Lisp code in front of him because I want him to have a working
environment up and running as soon as possible. Who knows? Maybe he'll
use Emacs even after the internship. =)</p>

<p>He looks like he's having fun, and certainly appreciates the fact that
I can hack the editor to fit how he wants to do things. He wants to
match the readings, too, which means I'll need to figure out how leim
works under Windows. I'll do that on Monday.</p>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/opensource" rel="tag">opensource</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/01/14/more-emacs-evangelization-flashcard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Japanese flashcards</title>
		<link>http://sachachua.com/wp/2005/01/11/japanese-flashcards/</link>
		<comments>http://sachachua.com/wp/2005/01/11/japanese-flashcards/#comments</comments>
		<pubDate>Tue, 11 Jan 2005 16:53:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[japanese]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.01.11.php#anchor-2</guid>
		<description><![CDATA[<p>This extracts all kanji in the buffer and converts them to the format
expected by <a href="http://sachachua.com/notebook/emacs/flashcard.el">flashcard.el</a>.</p>

<pre class="example">
(defun sacha/kanji/get-ordered-kanji-list ()
  "Return a list of characters in the buffer."
  (goto-char (point-min))
  (let (kanji-list)
    (while (not (eobp))
      (let ((c (char-after (point))))
        (when (>= c ?Ã¤ÂºÂœ) (add-to-list 'kanji-list c)))
      (forward-char 1))
    kanji-list))

(defun sacha/kanji/to-flashcard-j2e (&#038;optional list)
  "Return a Japanese-English flashcard set.
If LIST is non-nil, use that instead of the current buffer."
  (interactive (list (sacha/kanji/get-ordered-kanji-list)))
  (unless list (setq list (sacha/kanji/get-ordered-kanji-list)))
  (let ((result
         (with-current-buffer (find-file-noselect "/usr/share/edict/kanjidic")
           (mapconcat
            (lambda (kanji)
              (goto-char (point-min))
              (when (re-search-forward (format "^%c.*?{\\(.*\\)}" kanji) nil t)
                (format "%c : %s\n"
                        kanji
                        (replace-regexp-in-string "}\\s-+{" "," (match-string 1)))))
            list
            ""))))
    (if (interactive-p) (kill-new result) result)))

(defun sacha/flashcard-method-leitner-check-answer (card answer)
  "Check answer for correctness. Allow multiple correct answers and provide feedback."
  (if (member answer (split-string (flashcard-card-answer card) ","))
      (progn
        (flashcard-insert "Correct! Answer is:\n"
                          (propertize (flashcard-card-answer card)
                                      'face 'flashcard-answer-face
                                      'rear-nonsticky t)
                          "\n"
                          "\n")
        t)
    (flashcard-insert "The correct answer is:\n"
                      (propertize (flashcard-card-answer card)
                                  'face 'flashcard-answer-face
                                  'rear-nonsticky t)
                      "\n"
                      "\n")
    (y-or-n-p "Was your answer correct? ")))

(setq flashcard-method-check-answer-function 'sacha/flashcard-method-leitner-check-answer)
(add-to-list 'auto-mode-alist '("\\.deck\\'" . flashcard-mode))
(add-hook 'flashcard-mode-hook 'flashcard-add-scroll-to-bottom)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-feedback-highlight-answer)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-feedback-congratulate)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-method-leitner-positive-feedback)
</pre>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This extracts all kanji in the buffer and converts them to the format
expected by <a href="http://sachachua.com/notebook/emacs/flashcard.el">flashcard.el</a>.</p>

<pre class="example">
(defun sacha/kanji/get-ordered-kanji-list ()
  "Return a list of characters in the buffer."
  (goto-char (point-min))
  (let (kanji-list)
    (while (not (eobp))
      (let ((c (char-after (point))))
        (when (>= c ?Ã¤ÂºÂœ) (add-to-list 'kanji-list c)))
      (forward-char 1))
    kanji-list))

(defun sacha/kanji/to-flashcard-j2e (&optional list)
  "Return a Japanese-English flashcard set.
If LIST is non-nil, use that instead of the current buffer."
  (interactive (list (sacha/kanji/get-ordered-kanji-list)))
  (unless list (setq list (sacha/kanji/get-ordered-kanji-list)))
  (let ((result
         (with-current-buffer (find-file-noselect "/usr/share/edict/kanjidic")
           (mapconcat
            (lambda (kanji)
              (goto-char (point-min))
              (when (re-search-forward (format "^%c.*?{\\(.*\\)}" kanji) nil t)
                (format "%c : %s\n"
                        kanji
                        (replace-regexp-in-string "}\\s-+{" "," (match-string 1)))))
            list
            ""))))
    (if (interactive-p) (kill-new result) result)))

(defun sacha/flashcard-method-leitner-check-answer (card answer)
  "Check answer for correctness. Allow multiple correct answers and provide feedback."
  (if (member answer (split-string (flashcard-card-answer card) ","))
      (progn
        (flashcard-insert "Correct! Answer is:\n"
                          (propertize (flashcard-card-answer card)
                                      'face 'flashcard-answer-face
                                      'rear-nonsticky t)
                          "\n"
                          "\n")
        t)
    (flashcard-insert "The correct answer is:\n"
                      (propertize (flashcard-card-answer card)
                                  'face 'flashcard-answer-face
                                  'rear-nonsticky t)
                      "\n"
                      "\n")
    (y-or-n-p "Was your answer correct? ")))

(setq flashcard-method-check-answer-function 'sacha/flashcard-method-leitner-check-answer)
(add-to-list 'auto-mode-alist '("\\.deck\\'" . flashcard-mode))
(add-hook 'flashcard-mode-hook 'flashcard-add-scroll-to-bottom)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-feedback-highlight-answer)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-feedback-congratulate)
(add-hook 'flashcard-positive-feedback-functions 'flashcard-method-leitner-positive-feedback)
</pre>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/01/11/japanese-flashcards/feed/</wfw:commentRss>
		</item>
		<item>
		<title>More hacks for mangling Japanese CSV</title>
		<link>http://sachachua.com/wp/2005/01/11/more-hacks-for-mangling-japanese-csv/</link>
		<comments>http://sachachua.com/wp/2005/01/11/more-hacks-for-mangling-japanese-csv/#comments</comments>
		<pubDate>Tue, 11 Jan 2005 15:06:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[japanese]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.01.11.php#anchor-1</guid>
		<description><![CDATA[<p>This is for use with kdrill.</p>

<pre class="example">
(defun sacha/kanji/get-ordered-kanji-list ()
  (let (kanji-list)
    (while (not (eobp))
      (let ((c (char-after (point))))
        (cond
         ((= c ?\"))
         ((= c ?\n))
         ((= c ?:) (forward-line 1) (forward-char -1))
         (t (add-to-list 'kanji-list c))))
      (forward-char 1))
    kanji-list))

(defun sacha/kanji/ordered-usefile-to-kill ()
  (interactive)
  ;; Look up kanji in kanjidic
  (let ((list (sacha/kanji/get-ordered-kanji-list)))
    (kill-new
     (with-current-buffer (find-file-noselect "/usr/share/edict/kanjidic")
       (mapconcat
        (lambda (kanji)
          (goto-char (point-min))
          (when (search-forward (char-to-string kanji) nil t)
            (skip-syntax-forward " ")
            (buffer-substring-no-properties (point) (and (skip-syntax-forward "^ ") (point)))))
        list
        "\n")))))
</pre>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></description>
			<content:encoded><![CDATA[<p>This is for use with kdrill.</p>

<pre class="example">
(defun sacha/kanji/get-ordered-kanji-list ()
  (let (kanji-list)
    (while (not (eobp))
      (let ((c (char-after (point))))
        (cond
         ((= c ?\"))
         ((= c ?\n))
         ((= c ?:) (forward-line 1) (forward-char -1))
         (t (add-to-list 'kanji-list c))))
      (forward-char 1))
    kanji-list))

(defun sacha/kanji/ordered-usefile-to-kill ()
  (interactive)
  ;; Look up kanji in kanjidic
  (let ((list (sacha/kanji/get-ordered-kanji-list)))
    (kill-new
     (with-current-buffer (find-file-noselect "/usr/share/edict/kanjidic")
       (mapconcat
        (lambda (kanji)
          (goto-char (point-min))
          (when (search-forward (char-to-string kanji) nil t)
            (skip-syntax-forward " ")
            (buffer-substring-no-properties (point) (and (skip-syntax-forward "^ ") (point)))))
        list
        "\n")))))
</pre>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/01/11/more-hacks-for-mangling-japanese-csv/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Japanese word list generator</title>
		<link>http://sachachua.com/wp/2005/01/07/japanese-word-list-generator/</link>
		<comments>http://sachachua.com/wp/2005/01/07/japanese-word-list-generator/#comments</comments>
		<pubDate>Fri, 07 Jan 2005 21:48:00 +0000</pubDate>
		<dc:creator>Sacha Chua</dc:creator>
		
		<category><![CDATA[emacs]]></category>

		<category><![CDATA[japanese]]></category>

		<guid isPermaLink="false">http://sachachua.com/notebook/wiki/2005.01.07.php#anchor-1</guid>
		<description><![CDATA[<blockquote> MWAHAHAHAHA! I just pulled off a really neat Emacs
hack. &#60;grin&#62; It's Japanese-related. So I've been
translating this document for the past two days. It's really slow
and boring work because there's no soft copy, so I have to write
the characters (blurry because this is a photocopy of a
photocopy) using the mouse, and hope I don't make any mistakes
along the way. In the course of copying down kanji (Chinese
characters) for later translation, I created a spreadsheet with
two columns: the kanji word and the number of the slide it
appears on. Then I exported that to CSV, opened that in Emacs,
and wrote an Emacs Lisp function that split the words up into
individual characters. I passed this through
shell-command-on-region to sort and uniquify the characters. I
then went back to the CSV with words and slide numbers, wrote
another Emacs Lisp function that searched edict (Jim Breen's
electronic Japanese dictionary) for the words, split the word
into individual characters, and filed the word info under each
character, also marking words that were not found in the
dictionary. After that, I wrote yet another function to add table
markup and individual character definitions to each line, then
copied the result into an HTML file. </blockquote>

<p>This should probably be rewritten as a Perl script.</p>

<pre class="example">
;; Generate the list of characters
;; Use add-all to add all the words to the list
;; call sacha/kanji/format-kanji-with-references

(defvar sacha/kanji/output-file "~/tmp/kanji")

(defun sacha/kanji/process-csv ()
  (interactive)
  (sacha/kanji/split-dictionary)
  (sacha/kanji/add-all)
  (sacha/kanji/format-kanji-with-references))

(defun sacha/kanji/split-dictionary ()
  (interactive)
  (let ((buffer (current-buffer)))
    (with-current-buffer (find-file-noselect sacha/kanji/output-file)
      (erase-buffer)
      (insert-buffer-substring buffer)
      (goto-char (point-min))
      (while (re-search-forward "^\"\\([^\"]+\\)\":" nil t)
        (delete-region (match-end 1) (line-end-position))
        (goto-char (line-beginning-position))
        (delete-char 1)
        (while (not (eolp))
          (forward-char 1)
          (unless (bolp)
            (insert "\n"))))
      (goto-char (line-beginning-position))
      (delete-matching-lines "^\\s-*$")
      (shell-command-on-region (point-min) (point-max) "sort &#124; uniq"  nil t))))

(defun sacha/kanji/add-all ()
  (interactive)
  (while (not (eobp))
    (sacha/add-word)
    (forward-line 1)))

(defun sacha/kanji/format-kanji-with-references ()
  "Add character meaning and table markup."
  (interactive)
  (find-file sacha/kanji/output-file)
  (goto-char (point-min))
  (while (not (eobp))
    (goto-char (line-beginning-position))
    (unless (= (char-after (point)) ?<)
      (forward-char 1)
      (let* ((kanji (buffer-substring (line-beginning-position) (point)))
             (definition (sacha/kanji/find-definition kanji)))
        (when definition
          (save-excursion
            (forward-char -1)
            (insert "<tr><td class=\"kanji\">"))
          (insert "</td><td class=\"meaning\">")
          (insert definition)
          (goto-char (line-end-position))
          (insert "</td></tr>"))))
    (forward-line)))

(defun sacha/kanji/find-definition (kanji)
  "Look up kanji definition."
  (with-current-buffer
      (find-file-noselect "/usr/share/edict/kanjidic")
    (goto-char (point-min))
    (when (and (search-forward kanji)
               (re-search-forward "\\({[^}]+}\\( {[^}]+}\\)+\\)"))
      (match-string 0))))  ;; kanji definitions

(defun sacha/kanji/lookup-word (key)
  "Return the definition of the current word. Ensure edict is loaded before running this."
  (with-current-buffer edict-buffer
    (goto-char (point-min))
    (when (re-search-forward (concat "^" key " \\[\\([^]]+\\)\\] /\\(.*\\)") nil t)
      (list (match-string 1) (match-string 2)))))

(defun sacha/add-word ()
  "Look up this word's definition and add the word to individual character entries."
  (interactive)
  (when (looking-at "^\"\\([^\"]+\\)\".*?:\\([0-9]+\\)")
    (let ((word (match-string 1))
          (slide (match-string 2))
          definition
          chars)
      (setq definition (sacha/kanji/lookup-word word))
      (setq chars (split-string word "" t))
      (while chars
        (with-current-buffer (find-file-noselect sacha/kanji/output-file)
          (goto-char (point-min))
          (when (re-search-forward (concat "^" (car chars)) nil t)
            (goto-char (line-end-position))
            (insert "<br /><span class=\"slide\">S:" slide "</span> <span class=\"word\">" word "</span>")
            (if definition
                (insert " <span class=\"reading\">" (elt definition 0) "</span>"
                        " <span class=\"meaning\">" (elt definition 1) "</span>")
              (insert "???"))))
        (delete (car chars) chars)
        (setq chars (cdr chars))))))
</pre>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></description>
			<content:encoded><![CDATA[<blockquote> MWAHAHAHAHA! I just pulled off a really neat Emacs
hack. &lt;grin&gt; It's Japanese-related. So I've been
translating this document for the past two days. It's really slow
and boring work because there's no soft copy, so I have to write
the characters (blurry because this is a photocopy of a
photocopy) using the mouse, and hope I don't make any mistakes
along the way. In the course of copying down kanji (Chinese
characters) for later translation, I created a spreadsheet with
two columns: the kanji word and the number of the slide it
appears on. Then I exported that to CSV, opened that in Emacs,
and wrote an Emacs Lisp function that split the words up into
individual characters. I passed this through
shell-command-on-region to sort and uniquify the characters. I
then went back to the CSV with words and slide numbers, wrote
another Emacs Lisp function that searched edict (Jim Breen's
electronic Japanese dictionary) for the words, split the word
into individual characters, and filed the word info under each
character, also marking words that were not found in the
dictionary. After that, I wrote yet another function to add table
markup and individual character definitions to each line, then
copied the result into an HTML file. </blockquote>

<p>This should probably be rewritten as a Perl script.</p>

<pre class="example">
;; Generate the list of characters
;; Use add-all to add all the words to the list
;; call sacha/kanji/format-kanji-with-references

(defvar sacha/kanji/output-file "~/tmp/kanji")

(defun sacha/kanji/process-csv ()
  (interactive)
  (sacha/kanji/split-dictionary)
  (sacha/kanji/add-all)
  (sacha/kanji/format-kanji-with-references))

(defun sacha/kanji/split-dictionary ()
  (interactive)
  (let ((buffer (current-buffer)))
    (with-current-buffer (find-file-noselect sacha/kanji/output-file)
      (erase-buffer)
      (insert-buffer-substring buffer)
      (goto-char (point-min))
      (while (re-search-forward "^\"\\([^\"]+\\)\":" nil t)
        (delete-region (match-end 1) (line-end-position))
        (goto-char (line-beginning-position))
        (delete-char 1)
        (while (not (eolp))
          (forward-char 1)
          (unless (bolp)
            (insert "\n"))))
      (goto-char (line-beginning-position))
      (delete-matching-lines "^\\s-*$")
      (shell-command-on-region (point-min) (point-max) "sort | uniq"  nil t))))

(defun sacha/kanji/add-all ()
  (interactive)
  (while (not (eobp))
    (sacha/add-word)
    (forward-line 1)))

(defun sacha/kanji/format-kanji-with-references ()
  "Add character meaning and table markup."
  (interactive)
  (find-file sacha/kanji/output-file)
  (goto-char (point-min))
  (while (not (eobp))
    (goto-char (line-beginning-position))
    (unless (= (char-after (point)) ?<)
      (forward-char 1)
      (let* ((kanji (buffer-substring (line-beginning-position) (point)))
             (definition (sacha/kanji/find-definition kanji)))
        (when definition
          (save-excursion
            (forward-char -1)
            (insert "<tr><td class=\"kanji\">"))
          (insert "</td><td class=\"meaning\">")
          (insert definition)
          (goto-char (line-end-position))
          (insert "</td></tr>"))))
    (forward-line)))

(defun sacha/kanji/find-definition (kanji)
  "Look up kanji definition."
  (with-current-buffer
      (find-file-noselect "/usr/share/edict/kanjidic")
    (goto-char (point-min))
    (when (and (search-forward kanji)
               (re-search-forward "\\({[^}]+}\\( {[^}]+}\\)+\\)"))
      (match-string 0))))  ;; kanji definitions

(defun sacha/kanji/lookup-word (key)
  "Return the definition of the current word. Ensure edict is loaded before running this."
  (with-current-buffer edict-buffer
    (goto-char (point-min))
    (when (re-search-forward (concat "^" key " \\[\\([^]]+\\)\\] /\\(.*\\)") nil t)
      (list (match-string 1) (match-string 2)))))

(defun sacha/add-word ()
  "Look up this word's definition and add the word to individual character entries."
  (interactive)
  (when (looking-at "^\"\\([^\"]+\\)\".*?:\\([0-9]+\\)")
    (let ((word (match-string 1))
          (slide (match-string 2))
          definition
          chars)
      (setq definition (sacha/kanji/lookup-word word))
      (setq chars (split-string word "" t))
      (while chars
        (with-current-buffer (find-file-noselect sacha/kanji/output-file)
          (goto-char (point-min))
          (when (re-search-forward (concat "^" (car chars)) nil t)
            (goto-char (line-end-position))
            (insert "<br><span class=\"slide\">S:" slide "</span> <span class=\"word\">" word "</span>")
            (if definition
                (insert " <span class=\"reading\">" (elt definition 0) "</span>"
                        " <span class=\"meaning\">" (elt definition 1) "</span>")
              (insert "???"))))
        (delete (car chars) chars)
        (setq chars (cdr chars))))))
</pre>

<p>On Technorati: <a href="http://www.technorati.com/tag/emacs" rel="tag">emacs</a>, <a href="http://www.technorati.com/tag/japanese" rel="tag">japanese</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sachachua.com/wp/2005/01/07/japanese-word-list-generator/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
