Even Monkeys Fall from Trees

Monkey waiting to fall

Monkey waiting to fall

This week we have a nice selection of Japanese proverbs, courtesy of Mitsuhito Fujita, our friend (and wonderful Mightyverse engineer) in Japan. Fujita-san recited these proverbs from memory, and they should be familiar to most native Japanese speakers. They were recorded across from his office at Knowledgelink in the Akasaka prefecture in Tokyo, on a very hot Summer day, with the sound of cicadas almost drowning his voice.
Proverbs and idiomatic expressions have been shown to be some of the hardest aspects of language for non-native speakers to learn. How often have you, or a friend mangled a proverb to humorous effect in a language you don’t speak?

The study of proverbs is called “Paremiology” and is a rich area of research for people studying language and the mind.

From Wikipedia:
“Proverbs are found in many parts of the world, but some areas seem to have richer stores of proverbs than others (such as West Africa), while others have hardly any (North and South America) (Mieder 2004:108,109).
Proverbs are often borrowed across lines of language, religion, and even time. For example, a proverb of the approximate form “No flies enter a mouth that is shut” is currently found in Spain, Ethiopia, and many countries in between. It is embraced as a true local proverb in many places and should not be excluded in any collection of proverbs because it is shared by the neighbors. However, though it has gone through multiple languages and millennia, the proverb can be traced back to an ancient Babylonian proverb (Pritchard 1958:146).
Proverbs are used by speakers for a variety of purposes. Sometimes they are used as a way of saying something gently, in a veiled way (Obeng 1996). Other times, they are used to carry more weight in a discussion, a weak person is able to enlist the tradition of the ancestors to support his position. Proverbs can also be used to simply make a conversation/discussion more lively. In many parts of the world, the use of proverbs is a mark of being a good orator.
The study of proverbs has application in a number of fields. Clearly, those who study folklore and literature are interested in them, but scholars from a variety of fields have found ways to profitably incorporate the study proverbs. For example, they have been used to study abstract reasoning of children, acculturation of immigrants, intelligence, the differing mental processes in mental illness, cultural themes, etc. Proverbs have also been incorporated into the strategies of social workers, teachers, preachers, and even politicians.”

We are excited to present this small selection of Japanese proverbs for people looking for another entry point into Japanese culture and language.

Monkeys do fall from trees

Learn how to say “Even monkeys fall from trees”

Language Buddies


One of the use cases for Mightyverse is learning a language. We are starting an experiment of pairing up with language buddies as a great way for people to share their love of learning a language and help each other out.

We’ve paired up Jack (an 11-year old native English speaker), with Daniele (an 11-year old bilingual English/Italian speaker). Jack made up a list of phrases that he wanted to learn in Italian and those that weren’t already in Mightyverse were recorded by Daniele.

Today we launch the “I Like Pie” phrasepack of Italian phrases that Daniele prepared for Jack. You can see it on the homepage of Mightyverse under the “I Like Pie” tab.

Here’s how it works. If you want to learn phrases in any language, just record them in your language and find a language buddy to reciprocate in theirs.

The world just got a little bit smaller.

Interested in becoming a language buddy?
Drop us a line at Let’s be Language Buddies

Ruby language

I attended RubyConf in San Francisco last month, which is an annual conference about the Ruby programming language. Yukihiro Matsumoto (“Matz”), the creator of the Ruby language, gave the keynote about the 0.8 true language: a language can’t be good for everyone and every purpose, but we can strive to make it good for 80% of what is needed in a programming language. He talked about domain-specific languages (DSLs) and, while he was talking about programming DSLs, it struck me that we, as humans, commonly invent domain-specific languages that transcend our social cultures, instead encoding a culture that crosses national and linguistic boundaries.

Yuki Sonoda organized a series of talks called East meets West with presentations by Japanese Rubyists. In her talk description, she makes the case for our bridging the Japanese-English language gap between Ruby programmers:

Ruby needs your help. There are many issues. But there are too few developers. 92% of Ruby’s development in this 3 years were done by only 10 developers. 73% were done by only 5 developers. Ruby seems to be a cathedral project rather than a bazaar project.
There must be many reasons for this situation. I think a large reason is the language barrier between English-speaking Ruby world and Japanese-speaking Ruby world. So I will talk about how to solve this problem.
All of the top 10 committers speak Japanese and live in Japan. So they discuss in Japanese. Some of the most important decisions are done in these discussions. But this means that most of Rubyists, who do not speak Japanese, can not understand the discussions. For non-Japanese speakers, there has been no way to understand the most important issues in the development of Ruby.
I want to share the current issues of Ruby. I also want to request help from Rubyists who don’t speak Japanese.

There were two “lightning” tech talks given by Japanese Rubyist who each said that it was their first English language presentation. I started to think about what kind of vocabulary I would need to give a tech talk in Japanese or even just to understand one.

I approached Matz after his keynote to ask if he would record some phrases about the Ruby language in Japanese. He agreed, and I set out to capture a dozen or so phrases that would never appear in a phrasebook and might be interesting to say to a Japanese Rubyist at a conference.

I approached random people in the hallways and during lunch and asked questions like: if you would to use the word “closure” in a sentence, what would it be? Jim Weirich came up with my favorite: “Closures may be used to implement objects, and object may be used to implement closures.” Sarah Mei wondered how to read code aloud in Japanese — when would you use a Japanese word and when is the code pronounced phonetically. She guessed correctly that you would say “object.method” phonetically as obujekuto dotto mesoddo. I was intrigued that what Ruby calls the “shovel” operator (<<) is phonetically derived from the bitshift operator which has the same symbolic representation in C and Java, and is thus translated as bitto shifuto.

You can see all of the phrases that Matz recorded on the home page. One of these days, I will make it so there is a direct link. If you program in Ruby and speak English or Japanese, I’d be interested in knowing if there domain-specific phrases you would like to be able to say. I wonder if I learned enough “code” words along with some basic Japanese whether I could actually understand a Ruby Kaigi talk even before learning how to converse in Japanese.

I wish I remembered everyone’s names who suggested phrases. If you read this, please comment so that I can say thanks! and many thanks to the Japanese engineer who translated the phrases for me and her colleagues who helped! In my zealous pursuit of my goal, I neglected to keep track of everyone who helped me along the way. Thank you all.

the deterioration of language

“The english of today is not what it used to be, but then again, it never was,” writes Guy Deutscher in The Unfolding of Language. In Chapter 3, he includes a fascination chronology on a few hundred years of so-called decline:

  • In comparing the English language to that of two generations ago, a reviewer in the Times Literary Suppliment reminisced that then “a mistake was a mistake not a sign of free expression.”
  • 1946 George Orwell wrote “the English language is in a bad way” compared to the language of previous generations
  • 1848 linguist August Schleicher dismissed the English of is day as “ground-down,” noting “how rapidly the language of a nation…can sink” and that it was likely to further “sink into mono-syllabicity”
  • 1780 Thomas Sheridan reported a recent decline of the English language “during the reign of Queen Anne [1702-14]… it is probably that English was… spoken in its highest state of perfection”
  • 1712 Jonathan Swift wrote “our Language is extremely imperfect… its daily Improvements are by no means in proportion to its daily Corruptions”

English speakers are not unusual in feeling this way about their language.

Take modern German, for instance, which by common consent is a mere shadow of its former glory two centuries ago, in the Golden Age of Goethe and Schiller. That may well be, but during Goethe’s lifetime those in the know were of a rather different opinion. In 1819, the fairy-tale compiler and linguist Jacob Grimm compared the langauge of his day to that of previous centuries, and lamented that “six hundred years ago, every common peasant knew –that is to say practised daily — perfections and niceties of the German language of which the best language-teachers nowadays can no longer even dream.

The thesis of the book is that this it is precisely this destruction of language where the mystery of language creation lies — “all languages change, all the time — the only static languages are dead ones.” (p.55)

We don’t have to wait generations to hear the how languages change. It can be witnessed by traveling to different parts of a country or, more dramatically, by listening for differences in dialects of a single language across multiple countries.

I highly recommend the book which is a little academic at times, but full of fascinating historical and modern references that illustrate how languages evolve.

database column limits and utf8 strings

Wolf and I fixed a bug today where we needed to truncate a string of text that we use internally to annotate the database.  Now, the annotation is just for our reference, so we limit it to 50 bytes — that’s bytes, mind you, not characters, even though the PostgreSQL database will tell you it is “character varying(50)”

We use unicode internally, specifically UTF8, which is a fabulous and widely used standard.  However, it does have a challenging property where a character may be 1-4 bytes long. We were frustrated with what we thought ought to be a simple problem of truncating a string so that it would be no more than 50 bytes.  The tricky part, of course, was that the 49th byte might actually fall in the middle of a character.

To solve the problem, we added a method to the Rails Multibyte::Chars class, which is part of ActiveSupport.  For those who speak Ruby, Rails and RSpec, below is the solution we came up with (first the spec, then the implementation).

The solution we came up with was borrowed from the private translate_offset method. The key interesting part is that you can discover whether you’ve chopped up a string in the middle of a character by calling chunk.unpack(‘U*’) — the unpack method on String in Ruby will throw an exception when you ask it to interpret the UTF-8 characters as unsigned integers with the “U” directive.

describe "Chars#limit_bytes" do
  it 'should return "" on ""' do
    "".mb_chars.limit_bytes(0).should == ""
    "".mb_chars.limit_bytes(1).should == ""
  end

  it 'should truncate single byte character strings as expected' do
    a = "abcd"
    a.mb_chars.limit_bytes(0).should == ''
    a.mb_chars.limit_bytes(1).should == 'a'
    a.mb_chars.limit_bytes(50).should == 'abcd'
  end

  it 'should truncate multi-byte character strings at character boundaries' do
    k = "こんいちわ"
    k.mb_chars.limit_bytes(0).should == ''
    k.mb_chars.limit_bytes(1).should == ''
    k.mb_chars.limit_bytes(3).should == 'こ'
    k.mb_chars.limit_bytes(4).should == 'こ'
    k.mb_chars.limit_bytes(5).should == 'こ'
    k.mb_chars.limit_bytes(6).should == 'こん'
    k.mb_chars.limit_bytes(7).should == 'こん'
    k.mb_chars.limit_bytes(50).should == 'こんいちわ'
  end
end

module ActiveSupport #:nodoc:
  module Multibyte #:nodoc:
    class Chars
      def limit_bytes(limit)
        limit -= 1 while !valid_boundary?(limit)
        s = @wrapped_string.slice(0,limit)
        s.mb_chars
      end

      def valid_boundary?(length)
        chunk = @wrapped_string.slice(0,length)
        begin
          chunk.unpack('U*')
          true
        rescue
          false
        end
      end
    end
  end
end

We’ve written this up as a Lighthouse ticket in case the Rails folk want to add it to the platform or if other people developing multi-lingual database apps run into the same challenge and look there.

The above code can be used under the MIT License:

The MIT License (MIT)

Copyright (c) 2009 Mightyverse, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Mightyverse(マイティーバース)の紹介

今回が初めてのポストですのでMightyverse(マイティーバース)がいったい何なのか紹介させていただきたいと思います。

Mightyverseは、「文化と文化を言葉で結び合わせる手助けをする。」をコンセプトに作られたウェブサイトアプリケーションです。Sarah (サラ) もMightyblog「how can I say…」の中でいっていますが、Mightyverseは、語学学習を主な目的として作られたアプリケーションではありません。

Mightyverseは、実際の文化の中で、ネイティブが実際に使用しているフレーズ(句)、語学の教科書や会話のクラスでは習う事のないようなスラングや、フレーズを紹介していく場所です。もちろん、学習の用途としてヒヤリングやリスニングの勉強には多いに役立つと思います。

旅先で、たとえ一言でも、その土地の言葉をつかうことができたら、旅の内容が大きく変わって来ると思います。スラングや実際に使われている言葉を使う事によって、会話も楽しくなり、地元の人とも楽しく交流ができるようになると思います。それは、逆の立場になっても同じことだと思います。例えば、日本の屋台などで、英語を母国語をする人が、日本語で「おいしいです。」と一言でも言えば、「あっ、美味しい。よかったねー。」と笑顔で返したくなるものです。

Mightyverseホームページにいくと、21か国語のビデオフレーズが検索閲覧できます。今は、それだけです。でも、これから少しづついろんな機能が加えられていきますので楽しみにしていてください。

今後のポストで、いろいろなMightyverseのアップデートをしていきたいと思います。また、個人的な経験の中でMightyverseがあったら良かったのにも含めて紹介していきたいと思いますのでよろしくお願いします。

how can I say…

Mightyverse is not a translation web site or a language learning site… sure you can use Mightyverse for those things, but they are not the primary raison d’être, they don’t capture the gestalt. The purpose of Mightyverse is to help each of us convey meaning, to help us communicate across language and culture — not by ignoring differences, but by embracing them.

Many phrases cannot be translated directly. You cannot understand it unless you also understand some of the context and culture where that stream of sound evolved. “10-4 good buddy,” “Where’s the beef?” or “LOL” have complex, whimsical meaning that tie to culture. Each language has such phrases and learning them allows us to connect in surprising ways.

Even when listening to someone who appears speak the same language, one can discover that direct translations don’t work. I speak English, but am also fluent in geek. I can hear someone say that their mongrels are all tied up and understand that they are concerned about web site server performance and not the mistreatment of animals. Whatever language you learned as a child, it is likely that you also speak a domain specific language in some aspect of your life.

Humans are driven to invent specific words to resolve problems that we face together, whether it be something as mundane as server performance or as dramatic as global warming.  David Harrison speaks about the value of languages that are currently threatened by extinction. He describes the Yupik of Alaska who have the ability to name, and thereby precisely distinguish, 99 different formations of sea ice. The naming of a thing sharpens our perception of it. Harrison describes language as a technology, and the Yupik language may be one of the most sensitive instruments to detect the signs of climate change and global warming. Perhaps that vocabulary is worth learning.

So when you look at Mightyverse I hope you won’t only see a fun website with entertaining quotes or a tool for learning basic conversational phrases in a foreign language.  I hope you will catch a glimpse of what will happen when it is populated with a wide swath of human language, including dialects and vocabulary too new for the dictionary, languages threatened by extinction, as well as the essential expressions of commonly spoken languages that are just as commonly misunderstood.  We have a million ideas for how we can get from here to there, but we’re taking it one feature at a time, and recording phrases at every opportunity.  We don’t have the community features that we had hoped for at launch, but we do have a forum, twitter and this blog.  We’re interested in hearing what you think.

Helllllloooooo……. !!

So what’s this Mightyverse thing all about?

Well, we travel a lot. And… we like people… a lot.

A favorite peak...

A favorite peak...

In a normal year, I might spend as much as 10 full 24 hour days or more in the air. When I land, I often find myself in the midst of a new culture for a few days, on assignment as a filmmaker. What that translates to – or more accurately doesn’t translate to – is the need to be able to navigate and connect with people in a language that I’m not native in.

One might argue that English is becoming the language of business everywhere. I kinda prefer to try to connect with people on their terms, or more accurately, in their own language.

So what is someone from the midwest who has taken all of about two semesters of French and a smattering of Japanese classes to do?

Surveying the options I’ve tried over the past several years:

– cram for days before each trip and try to resemble a sponge…
– hire translators wherever I go (how do you say, “that’s not in the budget” in that language?)
– be a maniac with a phrasebook (note to self: improve charades skills……)
– make friends with people around the world and have them be my personal translators (Gomen nasai (I’m sorry!), Shimizu-san!)

We had an idea: what if there was something that would allow us to make someone laugh in their native language? Or to express gratitude in a way that was genuine and authentic to the area we were in? What if we had a global utility that was always there whenever we needed it – online or on our phones – that could answer the question, “How do I say ________ in any language?”

It’s a big dream. One that we can’t hold by ourselves. We invite you to be part of something truly global and truly human – to help us create a community and utility that doesn’t exist yet: to be a part of Mightyverse. At the center of this is a bridge that we’ve been seeking between language and cultures – an enormous collection of native speaker video phrases that are cross-translated into other languages.

We’re excited you’re here.

For now, we invite you to browse through an early smattering of phrases (more than 20,000) that we’ve pulled together in over 20 languages. You’re bound to find holes – that’s part of the journey. Soon, you’ll be able to help us fill those in. If you have any thoughts or suggestions, we’d love to hear from you. And if you’re in the bay area and would like to get more involved, drop us a note – we’d love your help!

Welcome to Mightyverse! There’s much more to come…

Glen Janssens

– co-founder, phrasefarmer

Mightyverse is now Live!

As one of the co-founders of Mightyverse I’m especially please to announce that Mightyverse is now live on the web!

It’s simple, but it’s mighty.

Especially if you are interested in Hebrew or Korean.
(for some reason we were on a roll for those sessions….)

My favorite phrase? Right now it has to be: Frog in a Well

The speaker is Fujita-san, the CTO of Knowledgelink, our wonderful Japanese partners. His voice is almost overwhelmed by crickets as we shot him in the little park across from KL’s offices in a little park in Akasaka section of Tokyo last summer.

We will be very active in the coming months and years to bring you wonderful phrases from many fantastic, expressive individuals. In the meantime, if you have a request for any phrases, or ideas for the site, let us know:
feedback@mightyverse.com

If you speak several languages and would like to record phrases for the site, we’d love to host you at our studio in Sausalito for a session. We’ll buy lunch!

Selamat Tinggal

– Paul Lundahl
phrasefarmer, co-founder
Mightyverse