HN user

codyrobbins

1,168 karma

Former CTO of a few venture-backed startups and advisor to others. I’m trained as an engineer in both computer science and electrical engineering and later as a research linguist specializing in theoretical syntactic models. I have a strong technical background in modern web and mobile technologies and extensive applied experience in the product and business side of startups.

     Email: cody@codyrobbins.com
       Web: codyrobbins.com
   Twitter: twitter.com/codyrobbins
    GitHub: github.com/codyrobbins
 AngelList: angel.co/codyrobbins
  Facebook: facebook.com/codyrobbins
  LinkedIn: linkedin.com/in/codyrobbins
Posts3
Comments189
View on HN

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!

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.

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.

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.

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

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.

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.

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...

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!

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...

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.

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;

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.

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.)

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.

That’s an interesting point, and I’d like to read that article, but I think it’d be highly situationally dependent on the particular brand and you’d have to know their internal sales numbers to confirm it.

Even if it were true, though, it still doesn’t address the fact that the designers would be crazy not to want more power to stop their designs from being stolen for simply artistic rather than pragmatic or business reasons. It’s not fair to call them greedy or immoral—and it’s certainly uncalled for and wrong to call them unpatriotic traitors—for wanting this and for not particularly caring about our industry just as we probably don’t really care about theirs. In fact, it’s that kind of one-sided ad hominem bullshit that’s actually the problem.

That being said, SOPA is still an unacceptable solution.

No, I don’t think that’s the reason why fashion brands are against knock-offs. They don’t necessarily expect that everyone who buys a counterfeit will buy the real thing. Instead, a market glutted with counterfeit products dilutes their brand and reflects poorly on the quality of their merchandise because consumers confuse the knock-off with the real thing. And that most certainly does lose them something.

A Chanel handbag is a luxury item that, in part, is desirable simply because of its expense and thus relative scarcity—not everyone can have one. Lifestyles brands are built in large part around a carefully crafted image of their consumer, and when every 19 year old Starbucks barista making $21K/year is walking around with a knock-off Chanel handbag it’s difficult to maintain the image they’re going for. Sales drop as the real consumers flee the brand, and then the company has no choice but to market to a lower demographic. Counterfeits undermine the company by commoditizing their goods.

Since fashion brands have significantly more limited legal protections for their products than other industries, I don’t see how you could expect them to be against an act that stands to enlarge the remedies available to them to protect their brands. It was shortsighted for the media companies to try to take a sledgehammer to the Internet—since what they sell are inherently digital products for which it was inevitable that distribution would move to the Internet eventually—but apparel is a physical product that isn’t in any danger of having that happen. For that reason apparel companies don’t care about the Internet (just like you probably don’t care very much about apparel), and I can’t say I could really blame them.

This isn’t even to mention the fact that fashion design is an art, and having opportunists steal your design, completely mangle it in an attempt to make it cheaper, and then sell it as an original is in all likelihood an incredibly infuriating thing simply from the perspective of artistic purity. Again, I find it hard to blame them for wanting to stop this, given that how well the Internet works is largely irrelevant to practically everyone in the entire industry.

No. Perhaps most of the wealth that you saw, working in finance, may have come from brute force (although I would disagree with that claim, prima facie, as well); but that doesn’t mean most wealth is accumulated that way.

You get money by using leverage to take other peoples money

No. That theory is called mercantilism, and we figured out that it’s wrong about three hundred years ago. You get money by bringing about the manifestation of value into the world. People who make money via leverage are doing that in a very specific way, but it’s far from the only way to do it.

I think this is a long-term vote of confidence in the NYC tech ecosystem, but I also think they’re counting in the short term on the at least partial unraveling of the startup craze freeing up lots and lots of talent that is currently tied up in lackluster startups here.

The problem here is the judge, not necessarily Chanel. There’s a number of interesting quirks about the fashion industry that may make you more sympathetic of their tactics.

First, fashion designs are not only un-patentable, but they can’t even be copyrighted. Think about that for a second: if you design a piece of clothing, it’s not your design—anybody can simply start creating and selling exact copies and there is nothing you can do legally to stop them. If you write a book, record a piece of music, make a movie, take a photograph, paint a painting, or write a piece of software, your creative expression is protected by copyright and nobody can copy the form of what you’ve done. This is not true for fashion designs.

People routinely criticize luxury goods for being emblazoned with logos, and I often hear geeks put down consumers of luxury goods for being stupid enough to buy things with someone’s logo all over it. But given the complete lack of legal protection afforded to the designers, the logos in part came about so that the products could be protected under trademark law instead: they’ve got logos all over them because there’s no other good, reliable way to protect their work from being knocked off!

Incidentally, another thing I often hear professed snickeringly as proof of the triviality of fashion is the fact that trends change so quickly—new designs are pushed out many times a year and maintaining a highly fashionable wardrobe is like trying to stand on quicksand. This, again, isn’t necessarily for any insidious reason or because consumers are stupid—it’s simply because the good designs are knocked off almost immediately and unless new ones are pushed out constantly it’s difficult to, in the consumer’s mind, differentiate oneself from and stay ahead of the copiers.

But even if the above weren’t true, most luxury goods are qualitatively better products anyways. They’re better made and better designed. I knew someone once who had a Louis Vuitton wallet that their mother had handed down to them, originally purchased in the 60s, that was still in 100% perfect condition after constant use fifty years later. Take a look at your wallet and think about whether you expect it to be in one piece fifty years from now.

A Chanel suit is made with a hell of a lot more than $20 worth of materials and time, but even if it weren’t it’s irrelevant. Everyone here A/B testing their SaaS apps at wildly different price points should know it’s meaningless what the marginal cost of the goods are—what matters is how much you can sell them for to maximize profit.

Second, designing clothes in actuality takes a lot of money and time. Fabric is, relatively speaking, an incredibly expensive raw material in and of itself, but on top of that is the fact that it’s bulky, produced overseas, and needs to be shipped around the world multiple times—from the mills to the factories to the retail floors. It costs a mind boggling amount of money simply to ship samples of fabric from the mills to the design studios alone. Then add in the fact that every piece of clothing you wear is not sewn together by robots, but by human laborers.

Given the inherent difficulties, I really can’t blame luxury goods makers for the very brilliant and successful legal and sales tactics they employ in order to make a business out of it. It’s really no different from what 37signals has done, except that doing it with a physical product is a lot harder. You write software: there is no physical overhead and everything you create belongs to you. Fashion is very different. Given the lack of legal protections for their products the fashion industry makes for an interesting petri dish for what repercussions we might see if software or other patents were abolished.

You’re joking, right? Who would you propose is more qualified to draft the word of the actual laws than lawyers? What lawyers are at their essence are experts in law—the word ‘lawyer’ even has the word ‘law’ in it.

It's like asking a team of developers to get together and vote on whether a problem is best solved by writing more code or doing nothing.

Who would you ask whether code needs to be written, then? The lawyers who aren’t dealing in law? Housewives? Veterinarians?

It’s the same thing with lobbyists—they end up getting hired by government because they are experts in what they are talking about. You’re going to be very hard-pressed to find an expert that doesn’t have some vested interest somewhere in what they’re talking about.

Consider the conflict of interest that exists…

A common tactic I see when people argue about politics is that because someone could be doing something corrupt then it means that they then therefore are doing it. I could certainly go walk outside and push someone in front of a bus right now, but assuming I’m a murderer just because I could is not a good assumption. Conflicts of interest certainly raise the possibility of wrongdoing and should be scrutinized, but the simple existence of a conflict of interest is not proof of wrongdoing; for that you need not aspersions but, well, proof.

I am staunchly against SOPA being enacted without industry input, and I think it’s misguided to try to prop up dying content businesses that aren’t innovating, but spouting conspiracy theories about the politicians passing it for their own benefit isn’t going to help.