codyrobbins's comments

codyrobbins | 8 years ago | on: Show HN: Self-generated custom art for your home or Airbnb

This is a great idea and I’m going to order one for my parent’s rental house. Really nice job!

As constructive feedback I really wish the favorite places list showed the address of each location rather than the location type. I think the address would be much more useful information and the type is obvious from the name for each location I added so it’s kind of superfluous. I also wish this secondary text didn’t awkwardly wrap onto a new line when the location name is long—I think ideally each place would have its name on its own line followed by its address on a new line directly underneath it.

But that’s just a quibble—this is awesome!

codyrobbins | 13 years ago | on: Stop validating email addresses with your complex regex

Using or not using a regex to validate email addresses misses the point. You should simply be delegating this task to the library that you’re using to send mail in the first place. If the mail library can’t deal with a particular address, then it’s not worth accepting because you’re not going to be able to send anything to it anyways.

If you have a Rails app you’re most likely using the Mail gem to send mail, so that’s why I wrote this: https://github.com/codyrobbins/active-model-email-validator. It lets the gem worry about whether an address is valid. Since the mail library is actively maintained, in my opinion it’s a safe bet to trust that it is properly parsing and validating addresses insofar as is possible.

codyrobbins | 14 years ago | on: How to read Korean in 15 minutes

Japanese has a relatively small phoneme inventory, and luckily for English speakers it’s mostly a subset of the English inventory, but there are a few allophonic variations that we don’t have in English.

Pronunciation is not necessarily so simple, though: native speakers of every language employ a wide and relatively complicated set of phonological processes unconsciously. Here’s a partial list of the Japanese ones:

http://en.wikipedia.org/wiki/Japanese_phonology#Phonological...

Unless you’re unconsciously making these pronunciation changes on the fly, you’re going to have a discernible accent. I cringe when I hear English speakers of Japanese who haven’t internalized the simpler processes pronounce words like 人「ひと」as hee-toe and です as deh-sue. I’ve spoken Japanese for ten years and I still pick up something new every time I listen to a native speaker.

Regarding your other point, I always see people mention how complicated it is to learn to use the correct levels of politeness and honorifics in Japanese. But we encode largely the same information in English regarding relative social positions, familiarity with the conversational partner, etc. It’s really not any more complicated than it is in English, and in fact you could argue it’s less so because we primarily convey politeness with indirection and idiomatically. For example, if a waitress hasn’t brought your change at a restaurant after a few minutes and you say ‘Bring me my change now’ it would be incredibly rude. Instead you would usually say something along the lines of ‘Excuse me, I know you’re busy, but if it’s not too much trouble would you mind bringing our change over when you get a chance?’ You start by asking the waitress to excuse you for your imposition, go on to express that you understand the demands on her time, and then ask her (not command her) if she would mind bringing the change (not if she will actually bring it), when she has a chance to do so (not necessarily right this very second)—all despite the fact that you’re the customer and ostensibly she’s waiting on you. Depending on your tone of voice, the implication is that you really do want the change right now so you can leave but that whole song and dance conveys politeness and respect.

In any event, I have never had a problem speaking to practically everyone in Japanese using plain language. The only time I typically use polite language is with absolute strangers or people who seem in a bad mood, and even then I mostly speak in plain form and if your tone of voice is warm it serves to enact some closeness between you that people seem to appreciate. Very occasionally I’ve met a Japanese that seems to be a bit insulted if you speak too familiarly with them, but, honestly, I can usually chalk that up to that particular person just being a bit of a tight ass. If they persist in speaking to you in polite forms then you just switch back to the polite register to make them comfortable. Also, if you speak only in polite language then Japanese have a tendency to think that you only have a rudimentary understanding of the language. I have never used keigo, ever—if you’re in a business setting it might come in handy, but even Japanese themselves have to be instructed in how to use it when they enter corporate jobs. I can’t find the study now, but I was reading a paper that showed that native Japanese speakers have extremely warm attitudes towards foreigners who use keigo in business settings regardless of how proficient their use actually is or how many mistakes they make. If I remember correctly it was more or less irrelevant how well you used it—the Japanese had a high opinion of you simply for attempting to do so.

codyrobbins | 14 years ago | on: How to read Korean in 15 minutes

Japanese and Korean are actually not phylogenically related. In fact they’re both generally considered to be language isolates, which means they don’t seem to be related to any other languages. This may not be strictly true and there are proposals that there could be a link through a hypothetical language family called Altaic—they’re usually considered unrelated, though.

The “difficulty” of learning any particular language in relation to another is a bit of a meaningless comparison in my opinion. Ultimately, it appears to be the case that all human languages operate according to a common underlying linguistic mechanism—the seeming differences between particular languages are in fact probably actually just different surface realizations of the underlying mechanism with particular options twiddled in various combinations coupled with an idiosyncratic lexicon (i.e., a relatively unique but ultimately arbitrary vocabulary). The nature of the underlying mechanism is the subject of debate, as well as the list of the particular options available, but it seems pretty clear that all languages are utilizing a common underlying cognitive architecture.

That being said, it would seem to me if you define a relative acquisition difficulty metric as something like

  D(x, y) = a*O(x, y) + b*P(x, y) + c*L(y) - d*C(x, y)

  O(x, y) = cardinality of the set of differences between the language “settings” of x and y
  P(x, y) = cardinality of the set of phonemic distinctions present in y but not x
  L(x)    = cardinality of the lexicon of x
  C(x, y) = cardinality of the set of cognates shared by the lexicons of x and y
where a, b, c, and d are scaling factors, then that might give you some semi-reasonable rough correlation in the form of a “distance” between two languages along various axes. The exact definition of O(x, y) is far from clear, however. And even just having knocked this out I’m realizing that there’s almost an infinite number of other things you could throw in here that you would arguably need to know to claim to have “learned” a language: phonological processes, knowledge of and relative productivity of morphological processes, pragmatics, etc. This is why I’m of the mind that any such measure is of dubious utility, because you would need to take into account a lot of factors—most of which we still don’t fully understand.

There’s probably work done on this somewhere but second language acquisition isn’t my area of expertise.

codyrobbins | 14 years ago | on: How to read Korean in 15 minutes

Actually, that’s more or less how the phonology of languages change internally over long periods of time [1]: sets of phonemes merge, split, appear, and disappear. The particular forces driving these changes are varied and complicated, but particular sounds that have adjacencies on various axes twist and enjoin and diverge, dancing about according to constraints that produce surface complexity like in a multibody system. Something about the way I’ve always envisioned phonological change makes me think of Voronoi diagrams [2].

###

[1] http://en.wikipedia.org/wiki/Phonological_change

[2] http://mbostock.github.com/d3/ex/voronoi.html

codyrobbins | 14 years ago | on: How to read Korean in 15 minutes

Yes, I’m aware that he died, but since it’s still up I was thinking that arguably he still has it? I actually was going to say ‘had’ but I felt that would incorrectly imply that it doesn’t exist anymore. Then I was going to put ‘late’ in front of his name but that sounded kind of stuffy. I guess I should have passivized the sentence since if the subject no longer exists it’s ambiguous whether a “possession” relationship can exist between the subject and the direct object any longer.

codyrobbins | 14 years ago | on: How to read Korean in 15 minutes

Yes, that’s exactly the same problem illustrated the other way around. Japanese speakers also fail to make the /l/ and /r/ distinction and it’s a rather stereotypical feature of a Korean or Japanese accent in English. Japanese happens to have sounds for both /f/ and /p/ unlike Korean, but not for /f/ and /h/. So you’ll hear Japanese speakers of English having a hard time producing those two sounds distinctly just like Korean speakers have a hard time with /f/ and /p/.

The Korean consonantal distinctions are particular tricky, though, because it’s one consonant in English being not two sounds in Korean but three.

codyrobbins | 14 years ago | on: How to read Korean in 15 minutes

Having an alphabet, as it does, Korean indeed isn’t hard to learn to read and write. The difficulty is learning how to pronounce it properly—it has a number of distinct consonants that are treated as the same consonant in most other languages and that therefore are extremely difficult for non-native speakers to distinguish and produce properly.

For example, it has three distinct unvoiced velar stops [1] which are all considered the same sound in English: normal [k], aspirated [kʰ], and faucalized [k͈].

We use both the normal and aspirated [2] unvoiced velar stops in English as positional allophones [3], meaning we consider them the same sound but they’re actually different and we distinguish between them unconsciously depending on where the sound occurs in a word. For example, /k/ is aspirated in word-initial position in words like cam but unaspirated after word-initial /s/ in words like scam. If you listen closely enough you realize that you turbulently expire a lot of air after the c in cam but don’t do so in scam. Despite using both phones [4] in English, you consider them more or less the same hard k sound—if you pronounce cam with an unaspirated /k/ it may sound slightly odd but you’ll still consider it the same word cam. The problem is that in Korean doing so would result in two different words—so it makes it hard for English speakers to perceive distinct words in Korean that differ this way, and to pronounce the correct word that they intend when talking.

This is true for many languages because phoneme inventories never overlap, but it’s especially difficult for English learners of Korean because Korean has a third /k/ sound—the faucalized [5] one—and it doesn’t occur at all in English. I know phonologists—people who are trained in the study of human speech categories—who have an extremely difficult time discerning between [k] and [k͈].

Peter Ladefoged, one of the world’s foremost phoneticians, has a fantastic website to accompany his phonetics textbook and it has recordings of all the sounds known to be produced in human languages. You can listen to the distinctions between the Korean consonants here:

http://phonetics.ucla.edu/appendix/languages/korean/korean.h...

The /k/ sounds I’ve been discussing are the third row down (weight of measure, rope, and large). As an English speaker try to hear a difference between how the consonant is pronounced—it’s extremely difficult to notice.

Our sensitivity to these phonemic distinctions develops at an extremely early age: by one month old infants already begin to stop distinguishing between different sounds that their language slots into the same category as the same “sound” [6]. Infants don’t even babble at this age never mind produce or understand adult speech, but they have already stopped noticing certain differences in speech—that’s how deeply ingrained the way we perceive and produce speech is, and why it’s almost impossible to speak a non-native language without an accent.

(I am only tangentially familiar with Korean phonology so I might be getting some of the details slightly wrong here—please correct me if I’ve misstated anything.)

###

[1] http://en.wikipedia.org/wiki/Unvoiced_velar_stop

[2] http://en.wikipedia.org/wiki/Aspirated_consonant

[3] http://en.wikipedia.org/wiki/Allophone

[4] http://en.wikipedia.org/wiki/Phone_(phonetics)

[5] http://en.wikipedia.org/wiki/Faucalized_voice

[6] http://www.sciencemag.org/content/171/3968/303 & http://home.fau.edu/lewkowic/web/Eimas%20infant%20speech%20d...

codyrobbins | 14 years ago | on: How to read Korean in 15 minutes

Hey, would you be kind enough to email me? My address is in my profile. I’ve been looking for a Hindi speaker of Korean for a while. I’d love to ask you a few questions if you have a moment!

codyrobbins | 14 years ago | on: Paul Graham consistently says ‘um’ ~7 times per minute

You’re in good company. The rising tone at the end of a sentence used in a non-interrogative context is called uptalk or a high rising terminal [1]. Its increased use has been a far-reaching dialect shift that has been ongoing for a couple of decades now. The New York Times published an article on it in 1993 [2] and just recently another [3] with a good overview of how its use has mostly spread into every corner of the American populace. Perhaps my favorite discussion of uptalk is an analysis of some of George W. Bush’s speeches in which he extensively employs it [4].

###

[1] http://en.wikipedia.org/wiki/High_rising_terminal

[2] http://www.nytimes.com/1993/08/15/magazine/on-language-like-...

[3] http://www.nytimes.com/2012/02/28/science/young-women-often-...

[4] http://itre.cis.upenn.edu/~myl/languagelog/archives/002708.h...

codyrobbins | 14 years ago | on: Silicon Valley’s Productivity Secret

It’s an excellent name. It’s not supposed to be proper grammar—that’s part of the playfulness of it. It’s not a sentence, it’s a name. What you’re saying is like saying ‘Flickr’ isn’t a word.

codyrobbins | 14 years ago | on: The New Web Typography

I am completely, wholeheartedly, emphatically, and unabashedly in favor of finally bringing control over OpenType features to CSS—finally!!

But this syntax they’ve come up with is an absolute horrifying mess. Ugh. Please say it ain’t so!

  font-feature-settings: "smcp=1”;
  font-feature-settings: "swsh=1,cswh=1”;
Seriously—that’s how you get small caps and swash? Seriously?? These look like optimization flags for a C compiler, not CSS.

I’m guessing that these are probably mapping through to the underlying OpenType features directly somehow to support arbitrary aspects of a particular type, but it still needs to be less of a mess for the “normal” stuff.

Why can’t it be something readable and self-documenting?

  font-features: small-caps, contextual-swash;

codyrobbins | 14 years ago | on: The New Web Typography

Those aren’t f’s, they’re long s’s: http://en.wikipedia.org/wiki/Long_s.

You should read up on typography before decrying things about it. Robert Bringhurst’s The Elements of Typographic Style or Warren Chappell’s A Short History of the Printed Word are two great places to start.

codyrobbins | 14 years ago | on: The New Web Typography

The comments here are generally calling these “old-style” figures, but—while I’m aware that this is what some people call them—I think the term is a poor one. The old-style figures are better referred to as text figures and the so-called “usual” ones—which @funkah prefers—as lining or titling figures.

The difference between them is not really simply a stylistic choice: text figures are basically lowercase numbers and titling figures are uppercase ones. Saying you don’t like them is like saying you don’t like lowercase letters, and that you prefer everything in uppercase. Using titling figures in running text is like typing in all caps—it’s screaming at you.

It’s not so much that the text figures are old and were abandoned, but rather that typewriters simply left them off to simplify things. And since computer keyboards were based on typewriters, they never made their way to computers either. And then they started being used exclusively in newspapers and advertising. If you look at books, though, you’ll see that they never really went away. Only now are we finally getting them back—and that’s the entire point of OpenType and it’s a good thing.

Now, the difference between text and titling figures isn’t precisely the same as upper- and lowercase, since titling figures are generally used in titles despite the fact that titles can be mixed case; and they’re also used in tables of numbers. (Although there is another dimension of figure variation—namely, whether they are proportional- or fixed-width—and fixed-width lining figures are typically used in tables so that the places line up.)

codyrobbins | 14 years ago | on: Paul Graham: SOPA Supporting Companies No Longer Allowed At YC Demo Day

You presume that the point about them being greedy or immoral is invalid

Yeah, I am presuming it—because I just laid out how what they’re doing is not necessarily driven by greed or immorality but defensible motives from their point of view. You’re simply saying they’re bad people and that’s probably not true in the vast majority of cases. I’m not vouching for anyone’s integrity, but you are so down a rabbit hole of fundamental attribution bias I don’t have any interest in attempting to change your mind.

page 1