New services expand IBM Watson capabilities to images, speech, and more - <AUTHOR> https://developer.ibm.com/watson/blog/2015/02/04/new-watson-services-available/ <comment><USER2> Some context on the new services. They are built on technology that comes from IBM Research and has been moved into the Watson group in 2014. Some like speech, have been developed for more than 50 years. None of these technologies have overlap with the Watson Jeopardy stack (except for the Watson voice). We will release that stack later this year as a series of services allowing you to build a full Q&A/dialog application.

All the Watson services are still in beta but will start going GA very soon (first one next month). If you have any questions, please fire up, the Watson team is ready to answer.

<comment><USER3> Do any of the Watson services allow for feedback to train them?

<comment><USER4> Yes, all services include a feedback API, and the demos also include a mechanism for providing feedback. As an example, see 4th paragraph in this doc, which also includes a link to the API docs: [http://ibm.co/1yNfztF](http://ibm.co/1yNfztF) And here's a link to the demo, see the "Give us feedback" link: [http://bit.ly/1EJllDF](http://bit.ly/1EJllDF)

</comment></comment></comment><comment><USER5> I've been uploading the easiest photos I can find to the visual recognition demo[1], and its yet to get one right.

For example, I searched Google for "photo of girl", and found this image which seems _very_ easy:

[http://www.wagggsworld.org/shared/uploads/img/rachel-s-p- pho...](http://www.wagggsworld.org/shared/uploads/img/rachel-s-p-photo.jpg)

Watson says:

        Color		71%
        Human		67%
        Photo		65%
        Dog			59%
        Person		57%
        Placental_Mammal	56%
        Animal		50%
        Long_Jump		50%

Huh?

This isn't me cherry picking bad results; aside from their demos I'm not finding any photos that are accurately classified. I even tried a headshot of a person isolated on a white background, and Watson told me I uploaded a photo of "shoes".

Seriously - how is this data useful? What could I build with this level of accuracy?

Watson team - do you agree? Is this product about to get a lot better, soon, or is this considered "pretty good"?

[1] [http://visual-recognition-demo.mybluemix.net/](http://visual-recognition- demo.mybluemix.net/)

<comment><USER2> The top 3 classes in your example are actually correct - it is a color photo of a human. But we expect it to get much better over time. Only real world usage will allow us to make real improvement - and that's why we are eager to release early.

We are also believe that the first applications (e.g., classifying animals or plants or landmarks in dedicated apps) will have narrower use case that give better accuracy.

<comment><USER5> The top 3 may be correct, but they aren't very useful. What could I do with this information? What feature could I build?

Also, the other results are very wrong. (i.e., Watson is more confident that this is a dog than a person. And I have no idea where it got "Long Jump" from). This makes it hard for me to trust Watson.

Is the recommendation that I incorporate a "confidence in Watson" metric, and ignore most of the results?

What confidence from Watson would you say indicates an answer that is probably accurate? And how confident are you that Watson's self-reported confidence is accurate?

<comment><USER6> I tend to disagree. Assuming they are correct on a larger corpus you can start doing things like "only do face matching on pictures with people in them" and weed out photos in a batch that don't have those three properties.

Watson is a training API rather than say the more fanciful emergent AI type API. More data, the better it gets. It is like Google's voice recognition isn't good because someone coded the magic constants for various accents, rather it is good because Google fed it millions of samples of spoken words and corrects it when they get it wrong.

<comment><USER5> Thanks for your comment. This makes sense - I would use Watson to determine which photos have humans at all, and then run those through, e.g., my facial recognition software. But Watson would keep me from having to waste resources looking for faces in photos of trees, for example.

I'm not in this field, so I'm having trouble understanding what use cases / consumer facing features this API unlocks. Your comment is very helpful in that regard.

</comment></comment></comment></comment></comment><comment><USER7> Compare the Watson text-to-speech voices with Nuance ...

Watson [http://text-to-speech-demo.mybluemix.net/](http://text-to-speech- demo.mybluemix.net/)

Nuance [http://www.nuance.com/for-business/text-to- speech/vocalizer/...](http://www.nuance.com/for-business/text-to- speech/vocalizer/index.htm#demo)

I prefer the Watson version voicing a sample paragraph. Both are good enough for an application that selects on price. For a voice-first application, maybe Watson is better for TTS.

For speech to text, Nuance has been the leader, e.g. Apple's Siri. Has anyone compared IBM speech recognition to Nuance, Microsoft & Google?

<comment><USER8> We know we have strong core speech technology based on various comparisons we have done in the context of competitive evaluations done in conjunction with various government funded speech programs. However, our service is still very new. We could have waited for months to tune it, but our primary goal here is to solicit feedback from the community for how to make our services easier to use, especially in the context of our other platform services. We don't want to wait till the design is so mature that it is impossible to change - so any and all feedback is very welcome!

<comment><USER9> yes but how do you sign up for either service?

<comment><USER10> The Watson services are only accessible through Bluemix for the moment. Create an account on [https://console.ng.bluemix.net](https://console.ng.bluemix.net) and then add a service instance.

The idea was that you'll also host your application in bluemix, although I think the services are actually accessible elsewhere once you create the instance in bluemix.

</comment></comment></comment></comment><comment><USER11> The text-to-speech is surprisingly good, but I'm amazed at one thing, and not in a good way: the Spanish voice can't pronounce the word "Español". It pronounces it as "Espanol" with a hard "n" sound. In fact, it seems to pronounce all "ñ"s as "n"s. How that kind of an oversight got into the system, I'll never know. Did no one think to check?

Edit: And to add insult to injury, the _English_ voices _do_ pronounce "Español" correctly!

<comment><USER12> Fixed.

</comment></comment><comment><USER13> Pricing page (which they don't make easy to find): [https://console.ng.bluemix.net/#/pricing](https://console.ng.bluemix.net/#/pricing)

When this was first announced I remember reading about their pricing model where they would take a percentage of app revenue. I'm glad to see they offer flat pay-as-you-go pricing now. Some of the Watson services are intriguing.

</comment><comment><AUTHOR> I'm on the Watson team and we're interested in learning from developers to make our APIs and documentation easier to use. Have feedback? We'd love to hear it. email@example.com Twitter: @jsstylos

</comment><comment><USER14> The text-to-speech is actually a little nicer than Siri or Cortana, but not groundbreaking. This was the only one of the 5 that I thought did well. The rest might have been better without demo pages.

For visual recognition, I used a picture of a snowmobile from [http://www.1888goodwin.com/2013/11/14/what-do-you-need-to- do...](http://www.1888goodwin.com/2013/11/14/what-do-you-need-to-do-to-drive- a-snowmobile-in-michigan/), which it identified with 73% confidence as "Invertebrate".

Speech to text is a parody twitter account waiting to happen. Here's me asking it how it does with technical transcription:

How do you doing technical words.

If you were going to have to talk about get an jute cushion pull.

And you wanted to discuss the impact on a file server memory.

Issues that cross processes talk about home forks rivers slowed difficult.

<comment><USER15> Make sure you use a headset, not your laptop's microphone.

<comment><USER16> That's not a reasonable requirement. It only sounds like one to you because the technology has been so bad for so long.

<comment><USER2> Smartphone microphones are much better than laptop microphones and pretty much on par with using headsets on a laptop - they represent our primary use case.

</comment></comment></comment></comment><comment><USER17> I tried using Watson a month ago without much success. I wanted to do a classification of some random text, and say that this text for example is this category. But as far as I could understand it only allows using their own datasets.

It's not possible to train their service with your data, unlike wit.ai for example. Seems obvious to me that people would want to train with their own data.

<comment><USER2> Pretty much all the services that we are releasing will have some adaptation capabilities - allowing you to provide your own data, create your own models, etc - at some point. Stay posted.

</comment></comment><comment><USER18> Text to speech is pretty good. [http://text-to-speech- demo.mybluemix.net/?cm_mmc=developerWo...](http://text-to-speech- demo.mybluemix.net/?cm_mmc=developerWorks-_-dWdevcenter-_-watson-_-lp)

I decided to test it a little. I copied phonem challenges and non-sensical phrasing from the web. Then I added some stuff that I know has problems from past experience.

\----- Let's explore some complicated conversions, shall we? The old corn cost the blood. The wrong shot led the farm. The short arm sent the cow. How can I intimate this to my most intimate friend? Don't desert me here in the desert!. They were too close to the door to close it. The buck does funny things when does are present. Today is 1/1/2015\. Today is Jan 5th, 1992. It's currently half past 12. Or 12:30PM. Twenty thousand dollars. 20,000 dollars. 20 thousand dollars. 2^5 = 32. NASA is an acronym. This ... is a pause. firstname.lastname@example.com.

</comment><comment><USER19> Two things that jumped out at me:

1\. No "special characters" allowed in passwords when creating an account. 2\. ...where's the REST API? I've "added a service" (TTS), but I have to write a webapp to expose it over HTTP? It sure is a different experience than your typical API documentation.

<comment><USER20> take a look @ [https://www.ibm.com/smarterplanet/us/en/ibmwatson/developerc...](https://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc). There is also doc link once you click on the service you have bounded. There are samples in java and nodejs. (samples coming soon in github)

<comment><USER19> I did indeed take a look at the docs. That's why I commented. If there's documentation of REST end points, it's not obvious to me. Maybe someone else will point out what I'm missing.

As far as I can tell, most of the documentation essentially begins, "First, deploy a web app on our platform". Which is fine I guess, but isn't nearly as simple as the HTTP APIs you see from many other recent SaaS providers. As least for me, I'm pretty unlikely to jump through those hoops. Maybe others will be different.

Edit: All the way down on the bottom of the documentation page, past the research references, there's a link to HTTP API documentation--literally the last link on the page.

</comment></comment></comment><comment><USER21> So the gist of what I'm seeing in this thread is, "Watson's API services aren't very good yet, but they will get better as it collects and processes more data".

So basically, IBM is charging us to provide it with training data to make Watson useful for practical applications. Makes sense, but I can't help but feel that it would be a smarter move to skip charging entirely for now, or to use drastically reduced pricing tiers that exist only for the purpose of preventing abuse. The idea of releasing a product like this with less than impressive demos is a bit of a risk. It's not going to encourage people to use it if the demos aren't compelling, and the demos won't be compelling until a lot of people are using it. I'd err on the side of optimism here, it'll probably work out for the best, but it will be interesting to see how this goes and provide a good case study.

My other thought is that if IBM can't get sufficient training data on their own, what hope do the rest of us have? Performing classification on arbitrary data is a herculean task. People could throw literally _anything_ at this api and will expect to get common sense results, it's nearly impossible and pushing the boundaries of what even cutting edge software can do. But if a company like IBM spends billions of dollars and their demos still end up generating mostly confusion and complaints... This kind of open ended "AI" might be more difficult than even the most conservative experts thought.

EDIT: As an after thought, the real value here isn't so much software as it is pooled training data. Facebook has been able to identify human faces in photos for years, speech-to-text and concept modelling have all been around for a long time. What's difficult is getting the labelled data necessary to distinguish between "is this a picture of a person or a picture of a cat?". Watson is great and it seems like IBM has made an investment in acquiring and collecting the data necessary to do that. But their big play here might be to build a consumer friendly enough product that their users contribute the rest of that data for them over the next several years, building an aggregate data set that is worth as much or more than the software itself. Again, will be interesting to see how it plays out.

<comment><AUTHOR> All of the Watson services are free in beta. (Bluemix, through which the services are accessed, requires a credit card after 30 days, but doesn't charge you for use of the beta Watson services.)

We wanted to get the services into peoples hands early, even though we're still working on them, rather than wait until we had a perfect product. There's a tradeoff here, but we figure that we can improve the services faster and better with public usage and feedback than we could in private isolation.

Since they're free, hopefully people will be able to have some fun playing around with the services, also!

</comment></comment><comment><USER22> @IBM people: Is there any information available yet either regarding future pricing, or regarding timeline for getting pricing information?

<comment><USER23> Someone else posted this but here is the bluemix pricing page: [https://console.ng.bluemix.net/#/pricing](https://console.ng.bluemix.net/#/pricing)

<comment><USER24> That gives the pricing for running compute instances on BlueMix, but at the moment there's no pricing for these Watson services, since they're free-while- in-beta. Presumably post-beta there will be some kind of charge per N queries, like the other out-of-beta services (e.g. the Business Rules service charges $1.00 per 1000 API calls), but there's not currently an indication of when that's likely to happen and/or the likely price range.

</comment></comment></comment><comment><USER25> Visual recognition has some room for improvement

[http://i.imgur.com/V59IeQH.png](http://i.imgur.com/V59IeQH.png)

<comment><USER20> hey, try changing the classifier from "All" to "Scene". It does much better.. and stay tuned we will release some more api's on top of visual recognition to allow for image labeling..

</comment></comment><comment><USER26> This is great! There was a startup JetPacCity (acquired by Google) that was doing some CNN for image recognition, mostly on the mobile client side. They had open sourced their lib: [https://github.com/jetpacapp/DeepBeliefSDK](https://github.com/jetpacapp/DeepBeliefSDK)

</comment><comment><USER27> Interesting! We over at Prismatic released our interest tagging API just yesterday ( [http://blog.getprismatic.com/interest-graph- api/](http://blog.getprismatic.com/interest-graph-api/) ). Seems like there's a lot of opening up APIs going around.

</comment><comment><USER28> I've been developing a product with Watson from within the Partner Ecosystem, some of those capabilities are pretty useful. Others, sometimes, are kind of confusing, creating a broad overpopulated constellation of Watson-based APIs inside Bluemix.

</comment><comment><USER29> Now you can buy back stock algorithmically in the cloud!

</comment><comment><USER30> Don't pay a company to do what can be done with a library.

</comment><comment><USER31> This

>>Speech to Text : This application only works in recent versions of Chrome supporting HTML5 audio capture

<comment><USER8> Yeah, Chrome currently seems to have the best support for audio capture.....

</comment></comment><comment><USER32> Can we all just drop the charade and start calling Watson SkyNet already?

</comment><comment><USER9> How do I signup and pay them money?

<comment><USER33> Watson services on Bluemix are currently in beta. You can use the beta services at no charge, even after your 30 day Bluemix trial, although you will need to provide a credit card to Bluemix. You will not incur any charges unless you use any of the production services.

</comment></comment><comment> X-combinator The future is HERE!

</comment><comment><USER34> In other news, Watson will be RA'd at the end of the month.

<comment><USER23> If anyone is not going to be RA'd it's Watson group. There is a lot riding on the success of Watson.

<comment><USER35> Agreed, it's hard to find any other marketable IP in IBM's portfolio.

<comment><USER36> Care to provide some backing info on your statement?

[http://en.wikipedia.org/wiki/List_of_top_United_States_paten...](http://en.wikipedia.org/wiki/List_of_top_United_States_patent_recipients)

<comment><USER37> He said "marketable IP" (i.e., "useful IP") not "patentable IP".</comment></comment></comment></comment></comment>


A Rationalist's Mystical Moment - <AUTHOR> http://www.nytimes.com/2014/04/06/opinion/sunday/a-rationalists-mystical-moment.html?_r=0 <comment><USER2> Ever done ACID? It can induce a variety of perceptual anomalies (for lack of a better term).

I once saw the world in flat 2D, as if every object were made of paper cutouts. Then everything went plaid.</comment>


A Simple AI Capable of Basic Reading Comprehension - <AUTHOR> http://blog.ayoungprogrammer.com/2015/09/a-simple-artificial-intelligence.html <comment><USER2> The difference between this graph and propositional logic is only that the predicates joining concepts are arbitrary instead of logic operators. In that sense, this is like Google Knowledge Graph / Freebase.

[https://en.wikipedia.org/wiki/Propositional_calculus#Solvers](https://en.wikipedia.org/wiki/Propositional_calculus#Solvers)

Solving a set of propositional logic statements is NP-Complete. I'd argue "reading comprehension" is actually knowing the state of the world after a piece of text, which requires solving how these predicates interact. For example, if the paragraph is

      Bobby picked up the toy. Then he put down the toy.

This "semantic memory" does not "comprehend" where the toy is, and this is a relatively simple example. I think the title "basic reading comprehension" is thus inaccurate. Perhaps a better title is "A simple knowledge graph" or "A simple semantic memory"

<comment><USER3> Classic example:

        The iron ball fell on the glass table, and it shattered.
        The glass ball fell on the iron table, and it shattered.

Human readers will pick the correct antecedent for "it" in each case, so it's not ambiguous. But correct interpretation depends on knowing something about how likely glass and iron are to shatter.

I love these kinds of examples, but I don't think they ought to significantly deter the kind of work shown here; it depends on the application, but basic interpretation could be very useful even if it can't handle every case.

<comment><USER2> Yeah, it's a bit of a nitpick over definition of "comprehension" but the program itself is obviously useful, I mean it's a poor man's version of Freebase. Freebase/Google Knowledge Graph doesn't claim to "comprehend" anything, it is just a large graph datastructure with an efficient querying mechanism. That's what this is (...given this is a poor man's version, efficient querying mechanism may be lacking for larger graphs)

<comment><USER3> We don't have to worry about the philosophical questions of comprehension to find cases like this present challenges. These types of example (better articulated in mrec's link) are cases where we can imagine straightforward, plausible queries that the computer would be unable to answer: "what shattered?" or "what remains?" Some of the examples are such that simple web searches wouldn't be helpful in resolving the ambiguity; you'd need some "common knowledge." (Again: not that that's an insurmountable or _necessarily_ relevant problem.)

</comment></comment></comment></comment><comment><USER4> I love the ambition. But when you stated your next goals, I'm afraid I thought of this:

[http://xkcd.com/1425/](http://xkcd.com/1425/)

I may very well be wrong, and I'd love it if you showed me I am. Good luck. As I said, I really would be excited to see this go farther.

<comment><USER5> When was that xkcd posted? - couldn't not find a date.

Since machine vision is such a fast moving field, I think date is relevant for understanding the context of this xkcd. Is image recognition of a bird so inconceivable at the moment? Perhaps the joke now would be - "I'll need one researcher and one year"

<comment><USER6> You are taking the xkcd strip very literally instead of understanding the central concept on it.

You comment reminds me of this: [http://www.uh.edu/engines/epi879.htm](http://www.uh.edu/engines/epi879.htm)

<comment><USER7> I think the central concept is believe a smart engineer when he says something can be done, but not always when he says it can't be done.

<comment><USER8> I think that it means that thing #1 and thing $2 might appear to be just as difficult to untrained eyes while one would require very little work because of what's already available (libraries, data or whatever) and the other would be a very large task because most of the work hasn't been done yet (but of course a different engineer might be able to find more efficient ways to do things)

</comment></comment></comment></comment></comment><comment><USER9> Some thoughts about creating a system like this:

Any successful implementation of comprehension must progressively enhance the world model based on additional information. Furthermore it must understand some basic rules, such as, "Any subject, set of subjects, or actions can be represented multiple ways."

So if you said, "Mary's brother is Sam," or "Mary has a brother named Sam," or "Mary's brother is named Sam," the world model must collocate the meanings "Sam" and "brother" for Mary and be able to respond to queries about either.

Further, if you mention that John also has a brother named Sam, and then you mention Sam in an ambiguous context, the program should be smart enough to ask, "Which Sam? Mary's brother or John's?" Infocom games did this; you are building a more flexible world model builder, but the parser would operate similarly.

There is also the concept of recency. If I talk about "John's brother Sam", ignoring the fact that pronoun references to "he" should be contextually mapped correctly, and then mention Sam, the program should not need to ask which Sam I mean. It would be like talking to someone who wasn't paying attention.

Finally, there is also the concept of confidence. In the face of ambiguity that can't be resolved, a confidence rating should be assigned based on available information and future answers should be based on that confidence.

I suspect that if someone were to create a language parser that could create a mostly-accurate world model AND modify itself based on new rules it read (e.g., "When some says 'he' after referring to someone's name, they are almost certainly talking about the man they previously referred to"), you would be 90% of the way to creating a useful virtual intelligence. It would of course not be able to reason or have opinions of its own, but it would be extremely useful as a virtual assistant that could learn your preferences over time.

<comment><USER10> >> Finally, there is also the concept of confidence. In the face of ambiguity that can't be resolved, a confidence rating should be assigned based on available information and future answers should be based on that confidence.

That should probably be the first thing ;-) Every word has a probable meaning, and when all of them fit together into a coherent way including context, then the meaning is correct (probably). This also encompasses the use of pronouns, which you touch on. An inability to resolve ambiguity should also point to the appropriate question to ask for clarification, which you also mentioned. I think your points are all great, just wanted to point out that I think the notion of confidence should be more central.

I'd also go as far as saying part of the internal model of the world should also have a confidence. Any failure to understand a sentence may actually be a problem with its world view. But now I'm rambling.

<comment><USER9> _I 'd also go as far as saying part of the internal model of the world should also have a confidence. Any failure to understand a sentence may actually be a problem with its world view._

Yes, but that happens automatically by virtue of learning through natural language teaching. Put the VI through school.

</comment></comment></comment><comment><USER11> I think the AI should do more than just correlate some verbs. It should also be capable of understanding concepts like. If I give the following: "John and I are brothers. My mother has a brother named James. " And we ask: "What is the name of my uncle?" The initial results are great but in my humble opinion the big quest is to make computer learn concepts.

<comment><USER12> You obviously sound like you're interested! Why not fork the repo, contribute? :) It's a great demo project, and I love seeing these on HN.

OP - Instead of linking directly to en/Stanford Parser etc, you should get together a list of dependencies people need to run your application. Usually as easy as 'pip install pattern' (for the 'ImportError: No module named en') which is `import pattern.en` :-)

I like it! It's nearly 2am so better catch some sleep, but I'm definitely going to have a look further tomorrow.

<comment><AUTHOR> > It's a great demo project, and I love seeing these on HN.

Thanks!

> OP - Instead of linking directly to en/Stanford Parser etc, you should get > together a list of dependencies people need to run your application. Usually > as easy as 'pip install pattern' (for the 'ImportError: No module named en') > which is `import pattern.en` :-)

I didn't actually pip install anything for my project, I just downloaded and extracted the Stanford Parser, and Nodebox Linguistics libraries. The setup should be in the readme. I'll try to see if I can find the pip dependencies and update the readme.

</comment></comment></comment><comment><USER13> This is a really neat, rules-based, Chomskyian NLP (as opposed to the statistical kind represented by Word2vec). It's an old division...

[http://norvig.com/chomsky.html](http://norvig.com/chomsky.html)

The essential question is: Can it go from basic reading comprehension to advanced just by adding more rules. Is intelligence simply 10 million rules? If so, how do we go about creating new rules as language evolves? By hard- coding them, as in the example code?

The real test for general AI and NLP is how well it, well, generalizes; i.e. how well does it deal with situations we have not explicitly anticipated?

In my opinion, the fuzzy, statistical methods @davesullivan mentions have a better chance at generalizing (although they may well be augmented by rules- based AI).

If an AI doesn't have a good way of transferring what it knows to novel problems, then it is severely limited. It's treating the world like a canned problem with a finite number of possibilities, like chess or checkers, when in fact the world is much more complex.

The way DeepMind combines deep learning and reinforcement learning is one way of acknowledging that complexity.

Deep learning learns patterns in raw sensory data, which means it can ingest and handle the new. Reinforcement learning learns to perform actions over a series of unknown states, improving its choices by monitoring the rewards it receives for those actions. They both maximize within uncertainty, and I think that's our best bet going forward.

Because the world, and language, cannot be known in their entirety. The number, motion and interrelation of the atoms of air in the room where I'm typing this are all too large and complex to be computable. Their fluid dynamics can only be vaguely guessed at, not deterministically predicted in a few lines of code.

The trick will be to bridge the gap between the hard-coded, limited rules and the unlimited recombinations of language, which is inventing new rules and words all the time.

<comment><AUTHOR> > The essential question is: Can it go from basic reading comprehension to > advanced just by adding more rules. Is intelligence simply 10 million rules? > If so, how do we go about creating new rules as language evolves? By hard- > coding them, as in the example code?

I believe that it can go from basic reading comprehension to more advanced by adding many rules but of course manually adding them is not very feasible or scaleable.

> In my opinion, the fuzzy, statistical methods @davesullivan mentions have a > better chance at generalizing (although they may well be augmented by rules- > based AI).

I agree that a statistical model would be better since it will be able to handle more complexity. It would be much easier to train the rules from a dataset instead of hard coding all of them and it would be able to adapt to new rules as well. However, I could not find a good data set for the task I wanted.

</comment></comment><comment><USER14> Not to be discouraging, but I think research along these lines [http://arxiv.org/abs/1503.08895](http://arxiv.org/abs/1503.08895) stands an exponentially better chance of leading towards what OP is talking about. For anyone interested in "building AI", read that paper and all it's references.

<comment><USER15> Just because it could be done with the current hip thing (neural nets) doesn't mean all other approaches should be disregarded.

<comment><USER14> They're the current hip thing because they work really well and keep working better. They take a fundamentally different (I think better) approach than he's taking.

My recommendation comes from a more informed place than "Dur, neural networks!" Of course, this is my opinion, and you are welcome to have a different one.

What is your recommendation on the topic of most promising research areas for teaching reading comprehension to computers? Skip deep learning and read what instead? Or the OP has it figured out?

<comment><USER15> I think the strength lies in combining NNs with less fuzzy approaches (like the OP, or more explicit pattern matching). Coulda made that a bit clearer, I have to admit. Cuz who would want to spend an hour training their net on a big GPU for every new command they add? :P

To take a concrete example: we trust neural networks to do the handwriting recognition at the postal office, but once the address is digitized we use a simple database.

<comment><USER14> >> I think the strength lies in combining NNs with less fuzzy approaches

Haha, I think you'll find the deep learning camp agrees. Read the paper I posted, that's what the research is about (going from fuzzy knowledge to more specific/discrete knowledge.)

<comment><USER15> It's interesting stuff. Don't really see why you were being so dismissive towards OP tho.

</comment></comment></comment></comment></comment></comment><comment><USER16> Thanks for sharing your work. As a hobby, I have spent years working on extracting semantic ontologies from natural language, so it was fun to see someone else's take on the problem.

As other have mentioned, you will make progress more efficiently if you survey the linguistics literature, where a tremendous number of very smart people have spent decades grappling with the same essential problems.

Heterodox linguistics is a veritable goldmine of ideas that can be implemented in AI. My favorite approach is Richard Hudson's "word grammar," which you can read about here: [http://www.phon.ucl.ac.uk/home/dick/wg.htm](http://www.phon.ucl.ac.uk/home/dick/wg.htm)

Word grammar is particularly well suited for coding, because it strips away lots of arbitrary linguistic formalisms in favor of a flexible, network- centric framework. Some of the core principles, like default inheritance, were actually taken directly from computer science.

</comment><comment><USER17> Nice work, but but isn't this way of breaking down sentence structure already a standard thing? I get the impression that the writer didn't find much on this in the AI literature, but reinvented a wheel that has been long- established in linguistics departments.

[https://en.wikipedia.org/wiki/Sentence_diagram](https://en.wikipedia.org/wiki/Sentence_diagram)

I don't mean that in a dismissive way - even if it was a reinvention of the wheel it's still an elegant and useful one. It would be interesting to work up to larger chunks of text, and also to encapsulate ambiuities in some way, such that if presented with a sentence that admits of two meanings the program could honestly say 'I don't know, tell me more.'

</comment><comment><USER18> I always find it interesting how many things can be represented by finite state automata, and related concepts. I wonder what languages/libraries specialise specifically in handling machines of a directed-graph style? I would imagine VHDL and co. have functionality for it.

</comment><comment><USER19> I was intrigued by the initial transcript, but disappointed that it was edited (lightly). For the question "Why did Mary cheer?" the screenshot showed that the simple AI literally answered "because IT be HER FIRST TIME WINNING". This is correct, but the author edited it into a correct sentence for us.

I think it is too much to call this "capable of basic reading comprehension". Surely, "simple sentence parser can answer reading comprehension questions" would be more correct?

I mean it is quite an accomplishment, but there is no understanding here. In some natural languages with less inflection or change in word order, for example, you could answer any "why" questions with the regex /($question_string) because (.+?)\\./ against some source corpus, and then $2 will contain your answer. It doesn't work with English due to slight changes in word order, but surely it would be too much to state that this regex is capable of basic reading comprehension in languages it does work in.... If I'm allowed to massage the question the way the author massaged the output, look at this fine result:

[http://ideone.com/84QSHC](http://ideone.com/84QSHC) (output at bottom)

Would you say that 14-line Perl program is capable of basic reading comprehension? I wouldn't!

<comment><AUTHOR> > I was intrigued by the initial transcript, but disappointed that it was > edited (lightly). For the question "Why did Mary cheer?" the screenshot > showed that the simple AI literally answered "because IT be HER FIRST TIME > WINNING". This is correct, but the author edited it into a correct sentence > for us.

For some reason, the library I used to get the present tense of "was" is "be". I had a manually fix for this but accidentally removed it when I was cleaning up the code. Sorry if I disappointed you

> I think it is too much to call this "capable of basic reading > comprehension". Surely, "simple sentence parser can answer reading > comprehension questions" would be more correct?

I would say it is capable of basic reading comprehension because it is attempts to build relationships between different objects although the relationships are weak. When humans do reading comprehension, we do what my program does which is try to parse the sentence and understand the relationships. But brains are also able to augment a lot more information and thus be more flexible with understanding.

> Would you say that 14-line Perl program is capable of basic reading > comprehension? I wouldn't!

I would say it is not because it does not understanding the relation between objects; it only understands that sentences starting with "why" should be answered with everything after the string "because". Also, in your program, if there are two instances of "because" in the source, your program will only choose the first one.

<comment><USER19> Thanks for the reply! Thanks for sharing your work with us as well. It's impressive.

It's not disappointing, it's quite a feat. I suppose I would say that what I was trying to say is that "parsing", while impressive, is not a large part of "understanding" in my opinion. To use an analogy: almost by definition, compilers parse languages like C++ much better than humans do (basically perfectly, unless there's literally a bug in the compiler or it doesn't follow the standard due to some error).

But that doesn't mean they _understand_ the programs (at all.) A compiler has no idea on an algorithmic level what a program might be doing (and if you remove comments, maybe a person won't understand it either, if they're not familiar with the algorithm.)

So my basic objection is that you're really calling this reading comprehension, but I don't think anything is actually being "understood"; just parsed. A better title would be as I suggested: simple AI correctly answers reading comprehension questions.

The reason that I object to "comprehension" is that these days there really are a few "deep learning" systems, that can possibly synthesize information. (I don't know that much about them.) I don't think it's fair to elevate semantic parsing to the level of comprehension.

However the comment by tariqali34 makes a good point, that perhaps this is a criticism of reading comprehension tests. I know in multiple-choice tests from standardized exams, I've been able to correctly answer reading comprehension questions about texts that I didn't even read (by finding just the sentence that talks about it), or in other cases, texts that were too technical and that I didn't understand.

I would say that I would be able to answer a question about some biomedical excerpt that I can't understand a word of, I just can't make heads or tails of it, let's say:

 _In order to study the physiological roles of AGC kinases, a commonly used approach has been to over-express the active forms in cells. However, due to the overlapping substrate specificities of many AGC kinases, it is likely that the over-expression of one member of this kinase subfamily will result in the phosphorylation of substrates that are normally phosphorylated by another AGC kinase. Another strategy has been to over-express catalytically inactive 'dominant negative' mutants of AGC kinases in cells. However, such mutants are likely to interact with and inhibit the upstream protein kinase(s) that they are is activated by, and thus prevent the 'upstream' kinase(s) from phosphorylation of other cellular substrates. For example, a dominant negative RSK may interact with ERK1 /ERK2 preventing the activation of MSK isoforms and hence the phosphorylation of CREB (cAMP-response-element-binding protein) [9]. Furthermore, in Saccharomyces cerevisiae, over-expression of catalytically inactive Rck2p, a kinase that binds to and is activated by the Hog1P MAPK, sequestered the substrate-docking site of the Hog1P kinase, thereby preventing Hog1P from interacting with other substrates. Thus catalytically inactive Rck2P is acting as a dominant negative mutant of Hog1P and not Rck2P._

I couldn't answer a REAL reading-comprehension test about this: I just have no idea what it's REALLY talking about, I don't actually understand it. (Obviously on a syntactic level, it's not hard to parse.) I don't know what over-expression is, I don't know what a kinase is, I don't know what phosphorylation is. I don't understand the text. But if the questions are simple, perhaps I could answer some reading comprehension questions about this by parroting back quotations from it. Syntactically, there's nothing difficult here. I just don't understand it.

So I think it's unfair to call sentence parsing real reading comprehension, even if sometimes reading comprehension tests fail to differentiate between the two. You can parse sentences perfectly while understanding nothing. For example, I could answer the question "what is wrong with studying the physiological role of AGC kinases by overexpressing the active forms in cells?" which the first sentence refers to. I can just quote the second sentence "Due to the overlapping substrate specificities of many AGC kinases, it is likely that the over-expression of one member of this kinase subfamily will result in the phosphorylation of substrates that are normally phosphorylated by another AGC kinase". I don't understand, but I think I correctly parroted.

So there are real issues in determining comprehension. The higher the level of the question that is asked, the harder it is to answer without actually understanding the text.

I did find your work very interesting, thank you.

<comment><AUTHOR> > So my basic objection is that you're really calling this reading > comprehension, but I don't think anything is actually being "understood"; > just parsed. A better title would be as I suggested: simple AI correctly > answers reading comprehension questions.

I would argue that my program can understand the relationship between different objects but I agree that it does not understand the meaning of the relationships.

> I couldn't answer a REAL reading-comprehension test about this: I just have > no idea what it's REALLY talking about, I don't actually understand it. > (Obviously on a syntactic level, it's not hard to parse.) I don't know what > over-expression is, I don't know what a kinase is, I don't know what > phosphorylation is. I don't understand the text. But if the questions are > simple, perhaps I could answer some reading comprehension questions about > this by parroting back quotations from it. Syntactically, there's nothing > difficult here. I just don't understand it.

I would also argue that you are doing very basic reading comprehension here. You might not know the meaning of individual objects, but you understand that "what is wrong" is "the overlapping substrate specificities of many AGC kinases, it is likely that the over-expression of one member of this kinase subfamily will result in the phosphorylation of substrates that are normally phosphorylated by another AGC kinase". You might not know what that whole phrase means, but you understand that its related to "whats wrong" with "studying the physiological role of AGC kinases by overexpressing the active forms in cells". I agree that my program is unable to do full comprehension in not understanding the meaning of objects and relationships, but it can do very basic comprehension in understanding what the relationships are.

> So I think it's unfair to call sentence parsing real reading comprehension, > even if sometimes reading comprehension tests fail to differentiate between > the two. You can parse sentences perfectly while understanding nothing.

I did not really call it "real" reading comprehension, but "basic" reading comprehension. But I suppose "basic reading comprehension" is still a little of a stretch. I think the real question here is: how can you really determine if a program can understand something? What does understanding something really mean? It is difficult to define something like this and it seems we need some kind of "Turing test" for understanding.

> I did find your work very interesting, thank you.

Thanks!

</comment></comment></comment></comment><comment><USER20> this post and many of the comments here don't necessarily have a "semiotic" or "usage-based language acquisition" or "emergent-grammar" nature about them ...

which is fine ... just different results ...

specifically:

1\. meaning is usage. 2\. structure emerges from usage.

this post and many of the comments have a world view akin to:

1\. meaning is structure. 2\. usage emerges from structure.

what i mean by this is that the "analysis" of the text doesn't exist in the same "world" as the text.

meaning that its nothing like "real" (natural) language.

what i mean further by this is simple:

humans don't "use" natural language... it is an emergent property of other systems of externalized behaviors and such by individual humans.

and such emergent properties and systems are also evident in any development of this actual system and many of the comments here.

producing the comprehension introduces in-comprehensible things ... or at best just divorces systems (discontinuous) ... at which point any thing can be any thing, so debating it as such here doesn't even matter (value) .

im not exactly sure what im saying here but it is akin to:

1\. nthorder cybernetics (mostly like 3rd and 4th and such) 2\. autopoesis (humberto maturana and francisco valera)

im going through the same type of analysis regarding "activity stream" type APIs which use an "actor verb object" type form ... (usage from structure) ...

</comment><comment><USER21> Really impressive program! I'm a beginner as well and I'd like to know about how you learned to program. Your code looks advanced to me:)

</comment><comment><USER22> This rules-based framework is way too rigid for "reading comprehension". It would fail to recognize much from naturally written sentences.

</comment><comment><USER23> Very cool project. I would be good to have an AI similar to this and if it could read and comprehend lots of research articles. I dream of a AI capable of reading all research articles on the latest battery tech and then be able to understand and make recomendations from that. The question I would like us to ask the AI how would you create the worlds most efficient battery?

</comment><comment><USER24> It's thanks to people like you things move forward for that I thank you.

Of course it's going to be challenging, who cares – you are going to learn a lot of things even if this attempt fail and you are going to allow other people to stand on your shoulders.

</comment><comment><USER25> this is first year ai stuff</comment>


Ask YC: Any hackers working on clean(brown)tech? - <AUTHOR>

Ask YC: Any hackers working on clean(brown)tech? <comment><USER2> please clarify. not heard about this.

</comment><comment><USER3> what's clean(brown)tech?

<comment><USER4> it's tech for getting more energy from fossil fuels

[http://www.nytimes.com/2007/03/16/technology/16venture.html?...](http://www.nytimes.com/2007/03/16/technology/16venture.html?_r=1&oref=slogin)

<comment><USER4> though, a combination of clean/browntech seems to refer to anything energy related, except the traditional, like building an oil refinery.

</comment></comment></comment><comment><USER5> yep

<comment><AUTHOR> know anything about digestors?</comment></comment>


Show HN: Octodex – Find People on GitHub - <AUTHOR> https://octodex.me <comment><USER2> The constant, repeating animation of typing a language and city into the search field is distracting -- once is enough to give the idea.

Other than that, though, this is super cool. Nice work!

</comment><comment><USER3> Very good. I discovered some local developers via that .

</comment><comment><USER4> great work, I was planning to do the same thing few month ago, if it's opensource I'm really like to contribute.</comment>


Ask HN: What is the design process like at large tech companies? - <AUTHOR> I am working as a freelance designer and lately I've been trying to make my process more well defined. I'd like to know what the process is for designers at large companies like Facebook, Twitter, etc.<p>Are there any designers who work at large tech companies who might be willing to share? <comment><USER2> I'm not sure what it's like at super large companies, but I agree with another comment that assumes they make decisions based on micro-testing interactions with their millions of users.

At a mid-size company I worked at, we looked at metrics using analytics software (like Pendo and Full Story, not GA) and then AB tested variations to see if they moved users to our desired behavior.

</comment><comment><AUTHOR> I'm particularly interested in how you do about understanding the problem in more details, brainstorming solutions, working with your peers and getting feedback/review, and finally what the final set of deliverables are.

<comment><USER3> I'm guessing large companies like FAANG have massive traffic that they can use in their design process.

They probably can tweak UI/design for a tiny fraction of a percent of their user base and just use statistics on usage to drive decisions.

</comment></comment><comment><USER4> large companies is mostly a fiction, they are built from projects and teams where most of the design work is done at the team level or a bit more.

</comment><comment><USER5> Defining Design processes is a well trodden path for agencies.

In 20+ years, I've not seen a huge divergence from; discover, ideate, refine, launch.</comment>


Millennials Are Leaving Religion and Not Coming Back - dynamite-ready https://fivethirtyeight.com/features/millennials-are-leaving-religion-and-not-coming-back/ <comment><AUTHOR> Not just millennials. I'm part of the rearguard of Generation X, and I renounced Christianity as soon as I had the economic freedom to do so (it's safer to be closeted when you're dependent on close-minded parents). I haven't embraced any other religion, because why should I?

</comment><comment><USER2> While I'm not a fan of most organized religion, I do think the loss of the church is likely having a negative affect on society. Millennials are very lonely [1]. A church is one place that provides a community, and it doesn't seem like it's been replaced with anything else for the non-religious.

[1] [https://today.yougov.com/topics/lifestyle/articles- reports/2...](https://today.yougov.com/topics/lifestyle/articles- reports/2019/07/30/loneliness-friendship-new-friends-poll-survey)</comment>


An Unconventional Look at the European Map - <AUTHOR> http://www.the-dialogue.com/en/en4-an-unconventional-look-at-the-european-map/ <comment><USER2> Interesting that Turkey isn't depicted as part of Europe in either the author's traditional or contemporary view.</comment>


Show HN: Noties – A note taking app with a nice WYSIWYG editor - <AUTHOR> https://noties.co <comment><AUTHOR> Hello, I'm the maker. If you have any questions, do not hesitate to ask.</comment>


How Android gets to 100% market share - <AUTHOR> http://techcrunch.com/2016/05/01/how-android-gets-to-100-market-share/ <comment><USER2> My grandfather was a Ford man. He would only ever buy a Ford, even during periods when other manufacturers were making vastly superior vehicles.

I used to think such loyalty was a silly generational thing. My generation was a fickle consumer. We would research and decide on a purchase based purely on merit. That's how I was with phones. When iPhone was the most compelling phone, I would buy an iPhone. When there was a more compelling Android phone, I would buy that.

However, as I get older I'm starting to understand loyalty, and it's not what I expected. It isn't a dogmatic belief in a brand. It's recognizing that sometimes it's easier to stick with what works and not worry about whether there's something better out there.

Now that we've been living with smartphones for a while, and they mostly just work, I don't expect people find as much value in switching between Android and iOS. As long as both exist, neither will ever reach 100% market share.

<comment><USER3> I find a lot of those brand loyalist tend to be foolish in many ways. They make decisions based on emotion, rather than analytical thought.

I worked in retail for a good part of a decade, and I was dumbfounded by the number of people who would never buy another product from X manufacture based on a single poor experience with one product. It's simply an emotional response to their unpleasant experience which results in the person making a decision without statistical data to validate their idea. Which seems like nothing more than just plain ignorance.

<comment><USER4> You mean someone who spends days sleeping on the sidewalk in a tent to buy the new version of a pocket computer isn't buying based on analytical thought?

The thing is, I can understand staying up late and going to a midnight release of something like folks have done for a new Harry Potter book or a new Halo release. Following that up with staying up late reading the stories of the characters you already know to find out what happens next after waiting for a year. Or buying Halo with a buddy to head home and play the story in co-op for a few hours to have fun and see what the next chapter of the story is. With each of those emotion comes into play but for a reason and a purpose. But, in each case, you're satisfying a curiosity of what happens to a story/characters and you're spending no more than maybe 20 minutes of your time. Plus, you get to incorporate it into a fun evening with friends (having dinner and playing games for a couple hours before heading to the store to grab the game and coming back and playing for a couple hours). But, camping out for days to buy a new version of a pocket computer designed for consumption of content just seems silly.

<comment><USER5> A new smartphone enhances your capabilities, though. They are tools. So the guy waiting for a smartphone instead of waiting to see Harry Potter is going to come away from the experience with more capabilities than he had before. New entertainment like movies just wastes your time and money.

They are also powerful status symbols, like having an expensive Rolex. Someone who is first in their circle with a new iDevice is like a minor celebrity and gains attention and status. Depending on their position that can be converted to things like enterprise sales, intimate partners, etc..

<comment><USER4> The people in line for an iPhone 6 have an iPhone 5s with them. Nothing life changing is occurring at all. Someone buying a smartphone for the first time isn't camping out in line at the Apple store.

There is no difference in having an iPhone on day one vs day two in terms of social status or business status. And certainly not romantic status.

</comment></comment></comment></comment></comment><comment><USER6> This author has a pretty cynical view that the only reason people use iPhone is because of vendor lock-in, like from iMessage.

This disregards the fact that many iPhone customers are still first time buyers with no lock in hanging over their head. And also Apple has an extremely high customer satisfaction rate keeping customers coming back. Customers buy iPhones because they like the experience and ecosystem, not solely due to some service lock-in.

<comment><USER7> I don't think there are any more first-time buyers of phones left in the world. Really. Its not a thing any more. Also no first-time shoe buyers, or food buyers. Except maybe the very young trickling into the market.

<comment><USER8> > I don't think there are any more first-time buyers of phones left in the > world

I might believe you if you said the US, but given how low iPhone penetration is outside the US, combined with how many new people use the Internet for the first time each day in India alone (100,000,000 per year, most of that being accessed over a mobile device), it's clear that smartphones haven't hit 100% potential market penetration the way "food" has.

</comment></comment></comment><comment><USER9> I haven't read the article, and I love my Android phone, but I sincerely hope Android never approaches 100%. Monoculture is never a good thing.

<comment><USER10> True, except that as a developer I'd prefer to target only one architecture. Now we're forced to write apps for iOS and Android and the web separately.

<comment><USER11> > True, except that as a developer I'd prefer to target only one architecture. > Now we're forced to write apps for iOS and Android and the web separately.

How is it a bad thing ? more work == more money for you as a developer.

<comment><USER12> Some people like to do interesting work instead of doing basically the same thing over and over again.

</comment></comment></comment></comment><comment><USER13> I moved from android to iphone to Windows phone to android to iphone.

I'm sticking with iphone. Android has been the worst experience for me. Had an old HTC with 2.# and a Samsung note4, plagued with issues.

The thing that annoyed me most (besides Samsung bugs like not being able to remove keyboard notification) is when you register with an email, you cannot use the same email for another service.

My contacts exist on my windows live account which happens to be my gmail addy, when I register the phone with gmail I cannot sign in with windows live using the same email because the email already exists. A bug that doesn't happen on Windows phone or iphone.

Coupled with slow buggy laggy android phones, and malware. I ditched iphone. Android with so much market share is not a good thing either. Just a IE scenario all over again.

<comment><USER14> I'm having trouble understanding your issue with email addresses. What do you mean by "another service"? What do you mean by "register the phone with gmail"? What do you mean by "sign in with windows live"?

<comment><USER15> I've got no clue, I use the same email account for gmail, microsoft, samsung, facebook etc. I have lots of services with the same email setup.

</comment></comment></comment><comment><USER16> Nuclear bomb on Apple campus? This isn't 1995 and Windows. If anything Android becomes even more fragmented both for commercial reasons and by government meddling requiring different things in different countries until the OS is split up. Saying you are "Android" requires Google's restrictive license and that grates on lots of manufacturers who would love to be out from under their thumb and control their business. Don't forget that Apple still makes almost 90% of the profit from building devices. That is Android's weakness. Even Google doesn't directly make much. You may love your phone but if building it doesn't make the suppliers money something has to give.

<comment><USER17> As an OEM you have basically two choices:

1\. Do Android. You can crap it up with bloatware, or you can resign yourself to non-differentiation in software features and try to distinguish your products in hardware.

2\. You can dick around with a badly supported oddball OSs and go back to Android after you waste some money. Nobody is putting in the effort it takes to compete with Android.

Maybe someone should put in the investment to compete with Android, but it isn't true that "something has to give." It is possible to compete with Android, but that will cost many tens of millions, and maybe hundreds of millions _just to try._ Samsung won't put that kind of money into Tizen. Who else has the potential to compete?

Really, the OEMs have nobody but themselves to blame for poor margins. If they can't think beyond bloatware "differentiation" they deserve their outcomes.

</comment></comment><comment><USER18> I believe the fragmentation issue is going to take a lot longer to solve than the author leads on. Android is rooted in its open nature, and it's what caused the proliferation of the OS in the first place. It's going to take much longer for OEMs to stop shipping bloatware on the devices, or Google will _effectively_ fork the OS simply because the OEMs can't keep up. Look how long it's taken Microsoft to get their OEMs to comply (but I do believe Google is a different beast in this regard).

<comment><USER19> Fragmentation is an old beast.

Android is no better than what we had with Symbian, J2ME or proprietary mobile OSes that came before current crop of mobile OSes.

As long as OEM and networks have the last word on firmware, it will always exist´, in name of product differentiation.

<comment><USER14> It's way better than J2ME and lightyears ahead of proprietary OSes. If you think that's not the case, I don't think you remember those times very well. With J2ME it was basically close to impossible to create any app apart from the most basic ones without producer-specific APIs. Nokia, Siemens, Samsung, Motorola, etc. - they all had their own special extensions. Even if some game was released for more than one handset, each make had its own version.

(Although it was possible to write a translation layer - I wrote a nokia-to- siemens translating classes which worked in most cases)

Now you may have issues with versions of Android and which features you can support. You may also have issues with different resolutions. But it's nowhere as bad as in 2002.

<comment><USER19> I did develop for J2ME.

> With J2ME it was basically close to impossible to create any app apart from > the most basic ones without producer-specific APIs. Nokia, Siemens, Samsung, > Motorola, etc. - they all had their own special extensions. Even if some > game was released for more than one handset, each make had its own version.

How is this different from the firmware issues that plague Android?

Have you ever tried to make the support library work properly across Samsung devices, or even worse cheap chinese brands?

Or track down native crashes or memory leaks across Android firmware?

Whoever believes that Android is better than J2ME, never had to make their apps work on cheap or network specific Android devices.

<comment><USER20> I am sorry, how can J2ME even remotely compare to Android?

With J2ME you couldn't write the simplest application before you ran into the platform specific minefield (example: how to read the D-pad on different phones?). On Android, running into problems is the exception not the rule.

<comment><USER19> The fact is that there are fragmentation issues due to firmware bugs.

And it isn't that exceptional, if you look at the bug database, specially in low spec handsets.

</comment></comment></comment></comment></comment></comment><comment><USER21> If something works and as long as it is not such a crucial part of your life and its a matter of life and death, you can (in many cases) always go with what has worked previously. One other argument can be the cost benefit analysis of the research itself. The time and energy (which ultimately translates to money in some sense) you put on research may not be worth the feature(s) one option offers over the other. You may never use that feature or in case of price, how much you may have to more for the brand you are loyal to may be less expensive than the risk you take by going with an option which you yourself have not tested first hand.

</comment><comment><USER22> They fly over the biggest details of all: The price.

For 100$ you can get the Moto E 2nd gen and I consider it a very high-end phone (nice screen, fast, latest version of android).

<comment><USER23> The author mentions that—and that the fact that carrier contracts are dying means that US consumers will become more price conscious. However, Apple's high margins mean that iPhones are more expensive because Apple wants them to be (and people will pay it). I don't expect iPhone prices to ever be as low as Android prices, but if Apple needs to, they can drop their prices and still make money on their phones. They just don't _want_ to (because they like making money), and it's yet not clear that they _have_ to.

</comment></comment><comment><USER24> This post seems to ignore some huge points. Google can only solve fragmentation by closing the platform, and ending it's primary incentive to manufacturers. Meanwhile, the agreement it would need to use to do that, is already such an overreach, that it's being gone after for antitrust in several countries. In order to reach this Google fanboy's utopia, the agreement would need to get much more illegal than it is now.

</comment><comment><USER25> I am not sure which phone my father has, but based on searches for trying to solve a simple issue on his it seems like something many Android users have.

I cannot delete his email account off the phone. There is no method short of pointing it to a bad email address and provider that I can find and I am not sure it would even allow that change. Really, there is no option anywhere to delete. I did get it to stop pulling email down automatically and when opened.

As in, give a consistent and easy to use presentation. Each phone company seems able to totally muck it up but they all have odd issues in common

<comment><USER26> If the email you're trying to remove is the email used to register the phone, it can only be removed by resetting the phone. The same thing applies to Windows phone.

<comment><USER15> That's not standard though, I don't even have email setup on my S7 on the standard email app, although I've got my phone registered... although I did get the Gmail app and set up mail later, and I can indeed delete it.

</comment></comment></comment><comment><USER27> I have an iPhone and will keep it forever just to make sure Android will never make it to 100% market share ( evil smiley )

</comment><comment><USER28> "Anecdotally, one of the most frequently cited reasons among iPhone users for staying with iOS is that they love the "blue bubbles."

No way. I don't use iMessage (instead I use Whatsup) but I dont consider Android. I have a Motorola G3 also (work) but the Os is confusing, slow and crash frequently.

<comment><USER15> Yeah, cmon...

Text messages sent per day peaked in 2011 and have declined ever since, we're now half a decade later.

In fact just last month we heard FB and Whatsapp process 60 billion daily messages and growing, SMS 20 billion and dropping. Further, a decent chunk of those SMS messages are from feature phones, i.e. on an iPhone the SMS to IM ratio is more significant than 1:3 and again, growing.

Early on, especially for families, iMessage was somewhat of a big deal. But today and into the future? My whole family is on Whatsapp, from age 10 to age 70 and we all have each others' numbers. We exchange text, videos, voice recording, pictures, there's absolutely zero draw from iMessage. I use SMS exclusively for things like 2FA.

<comment><USER29> Most SMS, I receive right now are promotional messages or transactional messages from bank, airlines etc. Friend and Family have stopped sending SMS for a while now.

</comment></comment></comment><comment><USER30> Haha yea I know a lot of people who hate green bubbles.

</comment><comment><USER31> How TechCrunch gets to 100% clickbait.</comment>


How to break a Monolith into Microservices - <AUTHOR> https://martinfowler.com/articles/break-monolith-into-microservices.html <comment><USER2> Whats wrong with a monolith?</comment>


Bitcrypt broken - <AUTHOR> http://blog.cassidiancybersecurity.com/post/2014/02/Bitcrypt-broken <comment><USER2> This is one reason why I tell people to have both offsite backups (in case of fire, theft, etc.) and _offline_ backups. There are a lot of us that are just one SSH worm away from having all of our files destroyed.

I've been thinking about ways to create an offline-equivalent backup, so that it can be automated. One way would be to have a computer that is only connected via serial cable, which only accepts new files to be backed up. (No ability to delete via the serial cable.)

<comment><USER3> A pretty low-tech system I saw in use in the '90s, without having to go all the way to serial cables, was just FTP with delete/overwrite disabled, to a machine with no other network services running. You dump a snapshot and FTP it to the backup host over your local ethernet. The FTP server accepts new files, but doesn't allow deletions or modifications of previously uploaded files (lots of FTP servers have this option, in order to be able to create a public "anonymous upload" folder without people overwriting each others' uploads). If you ever need to retrieve the backups, you physically log in on the backup machine and do something from there.

This does rely on the FTP implementation being solid (vsftpd seems like a reasonable choice).

<comment><USER2> That is a good idea. I have considered having a network service like that, but I'm a little too paranoid. I want something that will survive heretofore unseen events, like a 0-day remote root exploit in the Linux kernel networking stack.

If such a remote root exploit exists, and the person that discovers it decides to write something like the Code Red worm from 2001, and also decides to have the worm erase all block devices, I'd currently lose every file I have and all of my backups, even though they are geographically dispersed. It's possible that even services like S3 and Dropbox would be wiped in such an event.

Once again, I realize I'm unusually paranoid in this regard, but I really don't want to lose my stuff.

<comment><USER4> Not everything is running on Linux you know, and therefore not everything is prone to the 0 day remote Linux kernel exploit. Get yourself other backup layers on other operatying systems, like Tarsnap, that runs FreeBSD, and you should get another level of security.

</comment></comment></comment></comment><comment><AUTHOR> Ransomware crypto fail:

      The number has 128 digits, which could indicate a (big)
      mistake from the malware author, who wanted to generate
      a 128 bytes key.
      Finally, we simply deal with RSA-464 encryption, which
      can easily be broken on a standard PC in a matter of hours.

<comment><USER5> Another reason why you shouldn't do your own crypto, leave it to the experts. :-)

<comment><USER6> Looks like the virus writer did live it to the experts. But then, he entered the wrong number at a function call.

<comment><USER5> Is that like "Hey I got the 'Professional' model of this camera because I want my pictures to be professional." :-)

</comment></comment></comment></comment><comment><USER7> Every article on security ends with:

* Update your anti-virus software * Apply all software updates * Pick a hard password

Rarely do these matter: ransomware, Target, etc., are exploits unrelated to these defenses. Why do we push them so hard? Does anyone feel safer and more righteous from advocating this security theatre?

<comment><USER8> Indeed. Or even "don't click on suspicious emails or visit suspicious websites" which are actually always harmless. How about simply "don't run a program you don't trust" and we wouldn't need virus scanners at all.

<comment><USER9> That would exclude me from using dominant majority of the software I use daily.

<comment><USER8> Or at least cause you to consider the risk of loss compared to the value of using the software while not panicking when you receive a spam email with a suspicious looking xls file attached.

</comment></comment></comment></comment><comment><USER10> Malware aside, it's annoying that people still think Bitcoin payments come "from" an address. It's not something you can rely on or expect in Bitcoin, and certainly shouldn't be used to identify payments by a client. A unique address per payment requested is the proper, expected method.

<comment><USER11> >Malware aside, it's annoying that people still think Bitcoin payments come "from" an address.

Do you mind clarifying?

<comment><USER10> Sure. You essentially can't rely on a particular wallet sending from an address they know about, or even from an address they can control.

The classic example is of a service using a shared wallet like Coinbase does. Coinbase maintains control of the keys of every piece of Bitcoin their clients own, and they have an external database that contains a record of how much Bitcoin they are holding on behalf of their clients. This allows them to keep the vast majority of the funds offline where they are invulnerable to attack. This system means that the "from" address is likely never correlated to the sender, and they have no control of where they send "from". Relying on a client to provide this information usually ends in disaster, as does sending refunds to an address you were sent "from".

Even for the reference client Bitcoin-QT addresses are disposable and almost never linked. Change from one transaction is sent to an entirely new address which done invisibly from the users perspective. There's more information about that on the wiki, change addresses in themselves are quite confusing.

[https://en.bitcoin.it/wiki/Change](https://en.bitcoin.it/wiki/Change)

</comment></comment></comment><comment><USER12> Malware author probably uses a multitude of wallets, but the one shown in that screenshot has received a few actual payments:

[https://blockchain.info/address/1HKCHx1RFhNHuF3NxLviHdrjNFzJ...](https://blockchain.info/address/1HKCHx1RFhNHuF3NxLviHdrjNFzJbCTvrC)

<comment><USER13> It always seems a little odd to me that bitcoin is associated with criminal enterprise. Surely with the transaction record public, it's rather easier for the police to "follow the money" than with cash etc?

<comment><USER14> You can "follow the money" electronically, but unlike bank transfers there's no physical connection. Going from imaginary point 1 to imaginary point 2 doesn't really tell you anything.

<comment><USER15> But some transactions are ultimately linked to the physical world, and that gives a window through which more can be pinned down over time. Operating from _just_ the blockchain doesn't tell you very much, but combined with other things it's a lot more informative than cash movements. You're never leaking _less_ than you think.

<comment><USER16> Bitcoin mixers can make it almost impossible for people to follow bitcoin transactions, providing that the number of coins in the mixer far exceeds the amount you are trying to mix.

<comment><USER15> Again, you're never leaking _less_ information than you think. I also expect that using bitcoin mixers will be prosecutable under AML laws in the medium term, if they aren't already.

</comment></comment></comment></comment></comment></comment><comment><USER17> Isn't this the kind of thing the NSA should be spending their time and our money on?

<comment><USER18> Is it a risk to national security?

<comment><USER19> Once they are hit, they will think so....

</comment></comment></comment><comment><USER20> Could it be the author made it crackable because he wanted to be able to help anyone recover their files if there was some mishap? Just a thought.

<comment><USER21> It seems unlikely to me that the author wanted to help anyone.

</comment></comment><comment><USER22> >So, things were clear: the cybercriminal wants 0.4 Bitcoin, which made about 260 Euros at the time of infection, but only 89 Euros at the time of writing (Once again this shows how unreliable the Bitcoin money is, but that is something else).

Sigh. The author is using the MtGox price. Mtgox is one of the smaller Bitcoin exchanges these days. Due to their legendary incompetence, they got hacked a while back and disabled Bitcoin withdrawals. As a result, their "Bitcoin" trading price fluctuated from 1/2 to 1/6th that of other exchanges. The current market value of Bitcoin on _all_ other exchanges is actually 400+ euros right now.

<comment><USER23> To be fair to the author, not six months ago MTGox was the place to look for the price of Bitcoins.

</comment></comment><comment><USER24> Is it just me, or a random new aes pwd for each file makes perfect sense? Otherwise once you brute force one file you could decrypt all the other ones.

<comment><USER25> Brute forcing properly implemented AES isn't possible.

<comment><USER24> I don't understand what you're saying. Brute force is always possible. Succeding is only a matter of time. Suppose you find the password for one of those files, then you would be able to decrypt all your ransom data. When it comes to recovering your data, you might be ready to have a brute force running for long long long time 😊

<comment><USER26> Technically, if the universe went on forever, yes, you could brute force AES. However, with a well-chosen key (i.e., 256 random bits, and not merely a weaker password that was expanded into a 256-bit key), the odds are pretty decent that all life in the universe will end before you guess the key.

A listener to Security Now wrote in to episode 340 with this for perspective:

        I took 256-bit encryption and assumed that the only way to crack it was, as we
        currently believe, a brute-force attack against the 256-bit key. ... So let's
        say the tricksy government has a secret algorithm that somehow allows them to
        weaken the strength to one trillionth of the original. That's a good number,
        one trillionth. And let's say they had a computer that can try 100 trillion
        guesses per second. And let's say this computer was one cubic millimeter in
        size, and let's say they build a cracking complex the size of the entire Earth
        made out of these one cubic millimeter crypto cracking computers. If I did my
        math right, it would still take 34 trillion years to crack.

I've double-checked the math, that's how long it takes to exhaust the 256-bit keyspace, even in an unreasonably-generous scenario. You could halve that time to get the average time it takes to find any given 256-bit key, since you won't, on average, have to search the entire key space.

We trust AES 256 because, as long as the algorithm is sound, it is actually impossible to brute-force in any useful time frame, for even insane definitions of "useful". Even in some scenarios where the algorithm _isn 't_ sound, as above, it's still impossible.

The author of BitCrypt didn't use AES 256, however. They used AES 192, which is drastically weaker. According to the same calculations, it would take 0.00067 _days_ to brute-force an AES 192 key. With a planet-sized cracking machine, impossibly fast computers, and a substantially weakened algorithm.

However, it gets better - the author of BitKeeper didn't actually choose a 256-bit key, they chose a 16-character password that was expanded into a key, and _that 's_ what we can crack to decrypt an individual BitCrypt file. In our hypothetical (yet unrealistic) scenario, this can be done in under a second.

So: brute-forcing well-implemented AES (good key, good key length) is impossible, no matter how you slice it. Brute forcing AES with a questionable key length is still impossible with anything remotely resembling the technology we'll see in our lifetimes.

Brute-forcing a file encrypted by low-quality malware is absolutely possible, as the article shows :)

</comment></comment></comment></comment><comment><USER27> nb: crashplan will encrypt & back up your stuff locally & remotely (in multiple locations) and keep a version history, which pretty much nips this sort of crap in the bud.

(not affiliated with those guys, just a happy user)

</comment><comment><USER28> That's why you have online and offline backups.

</comment><comment><USER29> an Amazing tech system ...

</comment><comment><USER30> > So, things were clear: the cybercriminal wants 0.4 Bitcoin, which made about > 260 Euros at the time of infection, but only 89 Euros at the time of writing > (Once again this shows how unreliable the Bitcoin money is, but that is > something else).

Fail.

<comment><USER31> Could you expand your comment a little beyond "Fail." to explain to those of us who aren't totally clued up on BitCoin what is wrong with that statement?

<comment><USER32> The cash value of Bitcoin declined since last fall, meaning the hacker is making less 'real' money now, if they try to trade the Bitcoin for cash. By hardcoding the asking amount of 0.4 Bitcoin, they are susceptible to the many ups and downs of the Bitcoin/$ ratio.

<comment><USER30> That's pretty bad, yes, but I was more irked by the author using a blatantly wrong and meaningless price.</comment></comment></comment></comment>


Ask HN: What was the toughest decision you have made as a founder? - <AUTHOR> For those who are/have been founders among the readers of HN, can you share some perspective on the toughest decisions you have made regarding your start up?
How did you go about making those tough decisions?
Thanks. <comment><USER2> Thinking about the product before actually working on it. Normally this meant the product wasn't good enough to work on, anyways.

</comment><comment><USER3> To figure out how much my co-founder or partners will get in equity.

Also figuring out who to include in the founding team and how not to make your other friends feel left out.

</comment><comment><USER4> How much equity to offer to my investors, partners and advisors. It's a difficult game of judging expectations and understanding motivations.

</comment><comment><USER5> There were some hard decisions, like when I had to buy out my cofounders, or before that, the first time I actually tried getting someone to pay me for stuff. But the hardest? Quitting my full-time job. Even though I had enough revenue lined up, it was still an extremely difficult decision to make.

</comment><comment><USER6> Toughest decision was when to call it quits, when you've done everything you could and nothing was working.

<comment><USER7> This is so true. When things don't go well it's really hard not to think of quitting as pure failure but to focus on what quitting will do for your health, wealth and general sanity.

It needs to be the hardest call to make though, as it has the most impact.

</comment></comment><comment><USER8> To walk away when I knew my heart wasn't in it but my partners wanted to continue. It wasn't easy because we were barely profitable, it was easy because I respected my partners. They continued to make a modest go of it for many years afterwards.

</comment><comment><USER9> To accept that job offer from Google...

</comment><comment><USER10> To trust a co-founder I just met based solely on mutual passion for starting a company, technology, and getting rich soon.

<comment><USER11> Is that a good idea? How did it go?

<comment><USER10> Well that's what made it a "hard decision." But so far so good. It's been a few month and we've become good friends since then, doing social stuff together not only startup work.

</comment></comment></comment><comment><USER12> So far, it has been going the part-time, bootstrapping route versus actively trying to raise funding and go full time.

<comment><AUTHOR> That is tough, been trying the part time route for almost a year. Realized, if nothing else, the delays in implementing would obsolete the idea.

A year ago when I started, there were just 2 major competitors to mine, after a year of working on it part time, now there are half a dozen more good competitors. Not trying to be a skeptic, and I also had other factors against me.

Finally I have decided to quit my job soon and focus on the start up full time, Otherwise I am sure the one I am working on now won't even have a sliver of a chance at success.

</comment></comment><comment><USER13> Realising that the project wasn't going to work out and having to shelve it.

<comment><USER14> This although for me on a smaller scale (just personal projects). And ACTUALLY shelving it, not just moving the folder somewhere else until "maybe" I'll keep doing it another day.

</comment></comment><comment><USER15> To return the wallet to its rightful owner</comment>


Netflix Ordered to Stop Poaching Fox Employees - <AUTHOR> https://variety.com/2019/biz/news/netflix-fox-final-order-injunction-1203431885/ <comment><AUTHOR> I'm honestly astounded that Disney could get this injunction given California's laws and rulings on non-competes, non-solicitation, and the basis for those rulings (employees' freedom to work wherever they want to and can.

<comment><USER2> > employees' freedom to work wherever they want to and can

But what about the employers freedom to restrict who their employees can work for??

<comment><AUTHOR> In California the legislature ande courts have historically not considered that worthy of any consideration at all.</comment></comment></comment>


Ask HN: Should I move to the valley? - <AUTHOR>

I'm stuck in a rut with a great idea(I hope) with out someone capable of building it. Should i move to the Valley for a while to find a tech cofounder? <comment><USER2> I don't want you to take this personally, so I'm just going to dispense the standard advice for people with great ideas but without someone capable of building them: great ideas are a dime a dozen, and anyone with the ability and inclination to be a "tech cofounder" probably has their own ideas. Building your skills and making sure you have something to contribute other than a "great idea" is the best way to get something accomplished.

<comment><USER3> He _could_ have skills and just neglected to mention them.

<comment><USER4> No, because then he would not have said he was without someone capable of building it.

<comment><USER2> It's possible to have skills, connections, experience, etc. to contribute to a startup without knowing how to build software.

<comment><AUTHOR> My personal background is mechanical engineering and my idea is a B2C online business. My skills is more on the side of contract negotiations and physical implementation which is relevant to my idea.

Thanks for warning me though, I will definitely try to develop as well as possible

</comment></comment></comment></comment></comment><comment><USER5> Well, valley or not, your idea needs to survive in the "real" world i.e. built _and_ wanted by people. Do some homework on that and get crackin'. Be so good that they can't ignore you :-)

As about tech cofounders, that's a tricky one - it helps to have an _intelligent_ tech friend who can perhaps help you find a good one. Like philwelch said, tech cofounders will have their own ideas and idiosyncrasies, but you have to clear from day one about what you bring to table. What can you offer them? Are you a sales genius? A kickass designer? Whatever it is, make sure your personal secret sauce is compelling enough.

"Should i move to the Valley for a while" Unless you have a decent cushion to blow for a while or are going to work to support yourself (where you can potentially find co-founders), don't sweat it.

</comment><comment><USER6> I don't live in The Valley (tm), but I do live in a tech center (Boston area).

My impression:

The positives: lots of people doing tech entrepreneurial things, lots of talent, other startups to work with and learn from, entrepreneurial culture.

The negatives: I could fill an auditorium with phonies, con artists, and impostors... I suspect that The Valley is even worse. There are lots of "me- too!" ideas, lots of people with enormous egos who don't really know what they're doing, and lots of people who will BS you to try to get you to follow them or do work for them. Being jaded and skeptical is a requirement.

Edit: come to think of it, I have been to conferences and pitch-fest type things in The Valley, and the smell of fast talkers and such was palpable.

So there's lots of good stuff but also lots of noise.</comment>


Online Dating Advice: Exactly What To Say In A First Message - <AUTHOR> http://blog.okcupid.com/index.php/2009/09/14/online-dating-advice-exactly-what-to-say-in-a-first-message/

<comment><USER2> Given that they measure "success" by response rate I'm not sure I put a whole lot of faith in the below quoted analyses. Perhaps the low "success" rate is because people reply w/ an outside service that OkCupid can't track?

"#4 – Don't try to take it outside. Obviously, all successful OkCupid relationships outgrow our in-site messaging feature. But an offer to chat or of an email address right off the bat is a sure turn off. One of the things online dating has going for it is its relative anonymity, and if you start chipping away at that too early, you'll scare the other person off."

<comment><USER3> given that okcupid doesn't charge for their services, it seems unlikely that a majority users are switching to out-of-site communications right away. There are no real incentives to do so.

<comment><USER4> Switching to out-of-site has two big benefits: 1\. OkCupid's chat system is horrible, and results in lots of missed messages. 2\. An IM handle gives an easy way to ping people later, the other person is subscribing to be IM'd by you in the future.

</comment></comment></comment><comment><USER5> "how's it going. in your profile, you mention zombie metal bands. they're pretty awesome."

<comment><USER6> atheist zombies

<comment><USER7> atheist vegetarian zombies??

<comment><USER7> Just curious... why was I down voted on this? If its something that makes sense I'll try to avoid it next time.

<comment><USER8> Probably because the whole thread smells a bit too much like reddit with all the puns that don't add anything besides humor to the conversation.

It's a fine line.

<comment><USER5> i'd make the argument that the article submission itself is a bit too much like reddit, hence the reddit-like response from myself and others. i couldn't really think of anything very HN topical to say.

its an interesting post, for sure, but not what i'd consider standard HN fare.

</comment></comment></comment></comment></comment></comment><comment><USER9> This is really only marginally useful information. Interesting, but not as practical as it seems.

The writers' profile does not seem to have been taken into consideration. Rarely does anyone respond without first checking out the profile of the person who just sent the message. Is saying "hi" really a problem, or is it more that people who typically say "hi" also have a boring profile?

Also, getting a single response doesn't mean much. You might say "sorry" and a woman might respond "that's ok" but when you try to continue the conversation it'll go nowhere. Real life dating advice doesn't discourage saying sorry because you'll get ignored, it's discouraged because it makes you boring and lower status. If you can do it without falling into that trap, it works in real life. (Accidentally bump into her shopping cart and say "sorry" and then smile and change the subject)

My okc stats are: 26 attempts to initiate contact, 9 responses. 1 live meeting and 2 open threads(1 fresh, 1 getting stale)). I don't have numbers for people who tried to iniate with me, except that I've met at least 3 others.

So that means while I get a 35% response rate there's only an 11% meet rate after that (though it may be 22% soon). So 4% total. While getting a little feedback feels good and can be useful, a few polite responses is not generally what a user's goal is. How many messages result in meetings, that's what I want to know.

<comment><USER7> Not just that, but are people who start with "How's it going" generally writing better? There are a number of ways this data can be misleading... many of which fall under "correlation vs causation."

</comment></comment><comment><USER10> Some girls get a hundred emails a week from guys looking for hookups. How are the numbers affected by those high-volume shameless creeps who spam every girl who looks easy to them? I suspect that physical compliments are a bad idea, but these numbers don't help confirm that. Saying a girl is "pretty" could actually help, yet score low in this analysis because it's a creep marker. There's no attempt at persuasive analysis here, just like in the other recent post that was featured on HN. Or did I miss the part where they explained that they targeted a certain subset of messages for analysis?

<comment><USER11> oh yeah the girls get spammed like crazy. They get like 500 emails a week. Hell a chick I know didn't even provide a picture and STILL got over 100 emails the first week.

<comment><AUTHOR> She was probably featured in the "new users near you" email okcupid sends out. I imagine it trickled off after that though.

</comment></comment></comment><comment><USER12> part I is here:

[http://blog.okcupid.com/index.php/2009/09/03/how-to-get- peop...](http://blog.okcupid.com/index.php/2009/09/03/how-to-get-people-to- reply-to-your-messages-in-online-dating-part-i/)

</comment><comment><USER13> Fascinating data. The reply rate for messages containing "how's it going?" is almost twice that of messages containing "hi". In fact, "how's it going?" is the only string mentioned (apart from "Zeus") that actually pushes the reply rate up above 50%.

<comment><USER14> I wonder how well "How's it going Zeus?" would work.

<comment><USER15> Probably _too_ well.

That guy's married, and his wife's the jealous type!

</comment></comment></comment><comment><USER16> I wonder if "god" faired so poorly because it was in lowercase, as it fails the first advice: "Be literate." Christians are careful to use it as a proper noun, God. So if the word _christian_ faired well, and _god_ did not, it seems like it's a turn off because you're probably not really a Christian as opposed to the fact you mentioned _God_.

<comment><USER7> I wonder how well mentioning religion to a person who puts religion on their profile vs mentioning to someone who doesn't compares. They say "Christin" doesn't help as much as atheist, but I would bet that people who put "Christian" in their profile respond more...

<comment><USER17> On their first post on this subject, I asked if they were going to do some response modelling based not only on the message, but on profile features like spirituality, math ability, desire for love, etc.

No reply, unfortunately.

<comment><USER18> _No reply, unfortunately._

There's a joke here somewhere...

<comment><USER7> Maybe khafra should have put "zombie" in the first post?

<comment><USER13> The main problem, I think, was opening with "hi ur pretty"

</comment></comment></comment></comment></comment></comment><comment><USER19> Wow, atheist +42%, vegetarian +41%! I'm set :D

<comment><USER20> It's not +42%/+41%; it's 42%/41% average reply rate, whereas the overall average is 32%.

<comment><USER19> Ah, you're right. Unusual graph format, would be helpful if they labeled the line.

</comment></comment></comment><comment><USER21> This data can be misleading. Girls probably get way more messasges and guys send more messages. The reply rate for messages sent by a man is probably much lower than for messages sent by a woman.

A man in more likely to call a woman "pretty" than the other way around. Thus the reply rate for "You're pretty" is low (30%, the average rate is 32%). But the reply rate for man-to-woman messages is 27%. So saying "you're pretty" probably _helps_.

</comment><comment><USER22> "Scientifically, this is because it's a little evil sounding."

</comment><comment><USER23> I know they took precautions on protecting user privacy, but there is something a little bit unnerving about analyzing personal messages without written consent.

<comment><USER24> You put your data on their server. Life is generally much clearer if you expect people to act according to their interests.

<comment><USER23> I don't mean to suggest that users don't. I'm just saying its a bit unnerving.

As a data scientist, one needs to constantly ask themselves ethical questions concerning that data they are working on. Just because it exists, doesn't mean you should munge on it. I know its quite the temptation, because it's what I currently do!

I prefer to create an outlet where users are willingly giving up that information to be analyzed. They can still act according to their interests, but at least they know what will become of their information.

<comment><USER25> That would turn out just like internet polls showing Ron Paul winning in a landslide and security blog polls showing most people memorize a unique 14 character alpha-numeric password for every site they visit.

This is the right way to anonymize the data -- publish only aggregate data, rather than anything which can be analyzed individually. If you don't expect everything you do to be anlayzed, you need to stay off the internet.

The answer to privacy issues is user education. Asking companies to behave nicely will lead to users being extremely vulnerable to bad actors.

</comment></comment></comment></comment><comment><USER26> Interesting. And predicatable?

I suspect that incorporating the second date conversion rates would skew this data significantly since vegetarian atheists are rarely alike.

</comment><comment><USER27> Can someone explain to me why this is still not dead, while the link to _50 Lectures on Brain Anatomy and Development, Neuroscience, and Psychology_ is dead?

</comment><comment><USER28> I just concocted a message on okcupid with almost all these phrases and I got a reply in 30 minutes. It works.

</comment><comment><USER29> Interesting data, but lots of fallacies in the analysis. Correlation/causation is just a start.

</comment><comment><USER30> funny. was just searching for this article a couple of hours ago but couldn't find it, and now it's popping up on the frontpage again.

</comment><comment><USER31> HN is the last place I expected to see online dating tips.

<comment><USER32> And yet, it's the first place were I expect to see "HN is the last place I expected to see..." posts.

<comment><USER31> Think of those posts as an immune response. Without it, the content of the articles and quality of the comments quickly matches that of Digg.com. Without enough of it, you get Reddit.

</comment></comment></comment><comment><USER33> I met my current girlfriend on OKC (dating for a bit over a year), its a great site :)

</comment><comment><USER34> Someone had to say this: how is this (even remotely) HN material? Let me guess: it's about "hacking" dating. Yeah, right. And rape is about hacking sex?

<comment><USER35> Data analysis and trending is topical to this audience. There are a lot of startups that could use techniques like this to increase return visits-- instruct your users how to be more successful.

<comment><USER36> It also analyzes what sort of language people tend to be receptive to (at least on dating sites... possibly elsewhere, too).

This could be useful if you're trying to create a rapport with users on your own website (albeit through one way communication).

<comment><USER37> Yeah, I wonder how "How's it going?" or "Yo" fare against a simple "Hi" in customer relations. Maybe there's something to be said for making that less formal.</comment></comment></comment></comment>


The war on curly braces and angle brackets - <AUTHOR> http://techblog.stickyworld.com/war-on-curly-braces-and-angle-brackets.html

<comment><USER2> I like the common indented syntax you get with this approach. Much less work for your brain when working with coffeescript, SASS and JADE.</comment>