Pick a number from 1 to 10 - <AUTHOR> http://nfrom1to10.appspot.com/ <comment><AUTHOR> Pick a number, then read, please.

The goal at first was to just see what numbers people gravitate toward. I've heard lots of conjecture about how people pick 7 or 3 or 4 more than others, and for a variety of reasons, but had a hard time finding actual demonstration of this. Then, while implementing a choosing system, the problem became: how do you present the information so as not to bias it? This is why there are four different ways of picking. There are also a couple other metrics being measured, including a difference in phrasing (Pick a number… vs Pick a random number…) which may be interesting.

Apologies for any bugs or general wonkiness. The whole thing was a ~2 hour impulse project.

PS: The data will absolutely be shared! Just need time to do a breakdown of all the different permutations.

<comment> DanI-S Interesting idea, but the slider may not be a great interface. It stops the experiment being purely about numbers - I found I picked '5' because it was close to being nice and symmetrical.

<comment><USER2> I think that is a good datapoint, myself. If there is a predisposition for people to choose "5" under those circumstances, we will have learned something.

<comment><USER3> This would be a fantastic app to run A/B -like testing on to determine whether say a circular "picker" gives different results than a horizontal "picker". You could even tighten it down to see if a random distribution of numbers between 1 and 10 gives different results than a ordered distribution.

It fits the model perfectly and, at least to my perspective, very clearly.

Edit: Doh. Looks like you're doing just that.

</comment></comment></comment></comment><comment><USER4> I was going to pick 4, but then realized that 4 has been my default "random" number, ever since <http://xkcd.com/221/>

<comment><USER5> Awww. I was going to pick seven but I thought it's too meaningfull so I changed it to first meningless number that came to my mind. Namely 4.

</comment></comment><comment><USER6> I also chose 7. Human Random Distribution is probably not very random. I hope that he'll release the data.

<comment><USER7> I was leaning towards 7 then thought "everyone chooses 7" and went with 9.

<comment><USER8> There is actually a "mind trick" where you make someone choose a number between 1 and 4, guess it is 3, then make them choose a number between 1 and 10, and guess it is 7. It works, because there is a statistical bias toward these numbers, but the way you do the trick is also important (the way you gesture with your hands primes the person to answer with these numbers).

I've always loved such mind tricks, and I have done this one quite a few times. Before discovering HN, I used to go out a lot, and, when talking to cute girls, I've done this "trick" many times for giggles. Some girls really believed I was a psychic when I got it right :)

Funnily enough, knowing about this trick and the "statistical preference" for the number 7 _made_ me choose 7 in this experiment, without thinking twice about it. I realized this afterward...

</comment></comment></comment><comment><USER9> An interesting extension of this could be to add a poll here on HN asking, "Which number did you pick?" and then comparing the poll results to the actual results.

</comment><comment><USER10> Are you trying to estimate the bias depending on the type of selector used (slider, input, options, ...)?

Very interesting concept :)

EDIT, forgot to add: if this is the case, have you thought of storing the type of selector in a cookie, so that refreshing the page gives always the same type?

<comment><AUTHOR> Yeah, I considered a more involved way of choosing the interfaces to present — the server attempts to even out the distribution of interfaces, use cookies to limit, etc — but I also just really wanted to get this made in a couple hours. The current implementation is about as simple as it gets.

</comment></comment><comment><USER11> Did it twice before reading comments. 7 and than 3. Have no idea why. My wife just picked 7... Scary

</comment><comment><USER12> There are faster ways to provide data for /dev/random...

<comment><USER13> He wants a "human" random distribution, not an uniform one. To see what numbers are picked most of the time.

<comment><USER14> The source shows he's also timing the pick, which I think is probably the more important dependent variable here. Doesn't matter what number you chose - it's how long it took you to find it, click it, and hit submit.

<comment><AUTHOR> Indeed. The goal there is to see if people think about the choice, then second guess it before actually submitting.

Edit: Quickly skimming through the database, it also reveals "tab" loaders who open up a bunch of tabs and let them sit. (It couldn't possibly have taken someone 300s to make a decision!) Not the goal, and it does skew the data, but still interesting.

<comment><USER15> Don't use the data for timing purposes, that's more than, say 40 seconds?

<comment><USER14> How about not starting the timer until you see mouse activity on the page?

</comment></comment></comment></comment></comment></comment><comment><USER16> Based on that interface I would predict...

middle number: for the graphical choices as it's common/easier to get a valid first click in the middle of the slider.

high number: for the key entry as if most people are right handed it's easier to get to the high numbers instead of going across the keyboard.

all that is predicated on the fact that people are lazy instead of random when using this.

<comment><USER17> On Refreshing, it changes the interface, every time you get a different input method. I guess its that way so as to avoid being biased over any number by default.

</comment></comment><comment><USER18> It might be biasing it's results by having it set to one by default...

<comment><AUTHOR> The other methods don't have a default. Sliders don't really present a good way of doing a "non-choice" default. I decided to leave it fixed at 1 to start to see if that particular method skews because of the default. (Not exactly precise and thorough, unfortunately. There could be more metrics, like starting position, but I wanted to keep it simple so I could get it up and running quickly.)

<comment><USER19> Your slider could have a * at each end and one in the middle, and have it start randomly on one of the 3 stars, but make them unselectable.

<comment><AUTHOR> Good idea! The next iteration will try this.

</comment></comment></comment></comment><comment><USER20> Excellent. Now give us the data!

</comment><comment><USER21> I am interested in finding out how many people decided not to choose a number at all, and if that fact could help mitigate the experiment's inherent bias.

As for people making multiple entries into the experiment, a simple IP filter could help reduce overall error.

I think it would be neat to offer an option to not choose a number, but rather a number to help offset selector's bias (in participating in the number choosing experiment knowingly). It's similar to the multiple choosing UIs.

Nonetheless, I can only appreciate simple things like this that lead to a spirited and educated read.

Cheers and can't wait to see "final" results and accompanying analysis.

</comment><comment><USER22> Interesting project. I'm looking forward to see the results. This reminds me some of the mental algorithms I was thinking about: How do you generate a random number without electronic devices? How do you generate a random permutation without electronic devices? How do you generate a hash without electronic devices? How do you do the above most efficiently? How about without any pen, pencil or paper?

It will be cool if you can master mental cryptography.

</comment><comment><AUTHOR> I posted a graph with the basic distribution on the results page (just hardcoded for the moment):

<http://nfrom1to10.appspot.com/results/>

A more in depth breakdown is coming. The number of responses has been far, far beyond what I expected — several orders of magnitude more. Once I get together a good way to efficiently track and display the graphs, I'll make them live.

</comment><comment><USER23> Upon being shown a circle and asked to pick a random number, I thought for a bit and realized that no matter what I picked I wouldn't believe I had chosen it randomly. Then I wrote a one-line script to generate a random number from 1 to 10 and I put its output as my answer. Perhaps this defeated the purpose of the site, but I find it so hard to choose when I know my response is being measured.

</comment><comment><USER24> Can't wait to hear how many people picked 10 (as I did). If it hadn't been for science, I would probably have picked 7 like everybody else.

Once I thought it would be good to play the numbers "1 2 3 4 5 6" in the lottery because they are as likely as other numbers, and I thought people would not pick them. Turns out lots of people play "1 2 3 4 5 6".

<comment><USER25> In fact the only advantage you can have in the lottery is of decreasing the chances of hitting a winning number that was also chosen by someone else and thus having to split the Jackpot. Many people let the computer choose, which helps limit duplicates, but if you want to choose numbers then be sure to select numbers over 31. Many people select important dates and so don't have any "lucky numbers" over 31.

That said, if you really want to increase your return for playing the lottery, sticking your money in a cookie jar is a far better investment, provided you already ate all the cookies in the jar.

<comment><USER24> I know - haven't played in ages, either, but sometimes just for fun it seems OK. In that case it should be considered more of an entertainment than an investment.

As for numbers above 31 - of course it only works as long as not many people realize they should pick numbers above 31. In the long run I suppose random numbers are the best bet.

</comment></comment></comment><comment><USER26> I was going to pick 7.1 until I found out that he was prepared for pedantry and restricted the set to natural numbers.

</comment><comment><USER27> Here's another test: Ask the user to pick a number from 1 to 10 but randomize the order of the numbers each time.

</comment><comment><USER28> Brilliant idea, but haven't you built in bias by unblinding the experiment? I followed the link, got one implementation and keyed in '5'. Then I read your write-up and realised that there are more implementations, reloaded the page and thought deeply about the number I would/should choose on the slider.

</comment><comment><USER29> yesterday i was improving my excel skills about statistics, instead of use the random funcion i thought to ask a number from 1 to 10 to some friend and see the histogram. just after some question i was surprised about the results and so i asked more people. up to now i asked 24 people(46 number in total,the first 2 was just one question), i also asked a second number after recived the first. my result are: that 7 win with 31% of answer followed by 5 with 17% the last are 10 (zero answer), 1 with 1 answer and 2 and 6 with 2 answer each. you have to note that 83% say a odd number as a first one.noone told me a number that wasnt integer. whats going on? the majority of people was italian, some spanish and some german.Guido

</comment><comment><USER30> After you've entered your unbiased data, make sure to refresh the page and see what else you could have been confronted with. You'll notice the different variables in the experiment - just make sure to do this _after_ in order for it to not influence your decision.

</comment><comment><USER31> Even if people have to pick a number from 1 to 20, 7 would be the second most chosen one.

[http://scienceblogs.com/cognitivedaily/2007/02/is_17_the_mos...](http://scienceblogs.com/cognitivedaily/2007/02/is_17_the_most_random_number.php)

</comment><comment><USER32> I'd imagine 7 would be less popular or people that have previously heard of a bias towards 7, would be hard to have a test group though that has never heard anything at all about a bias. It's still the highest so far in this experiment though.

</comment><comment><USER33> I would imagine that if you did this survey in a crowd of sports fans, you would get a different distribution based on town or player followed. Plus, if I remember right 7 and 4 and not terribly lucky numbers in China.

</comment><comment><USER34> I picked 6 because it was closest to my cursor when the row of numbers popped up.

</comment><comment><USER35> I'm curious to know if the typing prompt scores fewer 10's because of increased typing effort and if the hover-to-reveal circle gets more centrally- located numbers due to Fitt's law

</comment><comment><USER36> I swiped the mouse quickly, ended up at 5, and managed to resist the temptation to change it to something "more random".

How many people leave it at 1? This is kinda neat.

Also, it was nice of science to thank me.

<comment><AUTHOR> Were you asked to "Pick a number…" or "Pick a random number…"? One of the metrics is the phrasing of the question.

<comment><USER36> I _think_ it said "pick a random number", but honestly, I didn't read it as closely as I'd read the headline here.

So I don't know.

</comment></comment></comment><comment><USER37> I picked 7, because that's what I expected other people to gravitate to, and I wanted to see if you had some fun response if I picked the most common alternative. :P

</comment><comment><USER38> I chose 7 with slider preset at 1. Didn't want to leave it at 1 and throwing the slider "left" it there.

Referrer might be interesting information. Do geeks behave differently etc.

</comment><comment><USER39> I picked 8 because I could not find a reason for picking 8.

</comment><comment><USER40> I picked 6 purely because it's in the middle of my keyboard. I don't think "type a random number" is the same as "think of or say a random number"...

</comment><comment><USER41> What is the point of the asterisk at the end of the request?

Oh, and something about the page with the circle on it prevents my browser from reloading.

</comment><comment><USER42> I accidentally chose my number before I could do more than deliberate on whether to pick that number or go for another one.

</comment><comment><USER43> There is an interesting observation. Try selecting a random number multiple times with page refresh. The ui keeps changing.

</comment><comment><USER44> Hmm, might be interesting to see the results of numbers presented in a ring, equidistant from the cursor...

<comment><USER25> As long as you rotate the starting positions of the numbers on the ring and track both the chosen number and the cardinal position of their chosen number on their board. Maybe people are biased to numbers falling at the "three o'clock" position, that would be interesting to find out.

</comment></comment><comment><USER45> I was already aware that most people choose 7 in this situation so I selected my favorite number 8.

<comment><USER46> I was not aware of that and I actually chose 7, which is also my favorite number.

</comment></comment><comment><USER47> I'd like to see a heatmap for the website. I think you can do it with google analytics.

</comment><comment><USER48> pleas deploy <http://code.google.com/p/jquery-ui-for-ipad-and-iphone/> or something likt that to make the number by bar-thingie working in the ipad

<comment><USER49> Sorry, science wants you break some sweat and move to a proper computer. :P

</comment></comment><comment><USER50> Actually, I've heard a lot of people pick 2 or 7. Can you confirm if this is true?

<comment><USER51> I remember reading an article on this about year ago on HN. I think that the conclusion seemed to be that human prefer odd and prime numbers (at least in range 1 - 20).

<comment><USER37> Yes, they seem more "random" to people.

</comment></comment></comment><comment><USER52> Is this an actual app or is it just a trojan horse designed to collect our data?!

<comment><AUTHOR> Yes? What do you mean by app? It's an app whose entire purpose is to collect data. I wouldn't think of it as a Trojan horse, since it doesn't pretend to be anything else. I guess it's Trojan in that it was made in Troy, NY.

<comment><USER52> I guess no one gets the "Color" joke here...

<comment><AUTHOR> Oh hahaha nicely done. Unfortunately subtlety and the Web don't mix too well.

</comment></comment></comment></comment><comment><USER53> You shouldn't have it start on "1" -- you should make people have to slide it.

</comment><comment><USER54> Thought of submitting this to mechanical turk in order to get a lot of data?

<comment><AUTHOR> How about Reddit? Total votes is 160k+. Yikes!

</comment></comment><comment><USER55> What is the point of this numerical experiment? (I"m serious)

</comment><comment><USER56> Without something like facebook or twitter login, the system will be abused. There is no stopping someone who just reloads ( or even make an automated script heh ) and keeps on choosing, resulting in flawed data. Just saying.

<comment><AUTHOR> Totally agreed. I'm relying on people not caring enough to abuse it — a bit risky, I know. I just wanted something simple that wouldn't require people to jump through hoops just to vote. Also, the IPs are now one of the metrics, for regional breakdown, so that could be used to spot obvious anomalies.

</comment></comment><comment><USER57> It's all about the position of the mouse I would believe.

<comment><USER58> That's what I was thinking too. My choice was influenced at least slightly by where my mouse was at picking time. Would have been better to have a text entry field I think.

</comment></comment><comment><USER59> I had a favourite number, and I picked it. It was 4.

</comment><comment><USER60> Reminds me of Benford's Law [1], which stipulates that in many lists of numbers from real-world data, the leading digit is 1 30% of the time, and larger digits occur as the leading digit with lower and lower frequency (logarithmically). This has been used to detect made-up numbers in accounting which later turned out to be fraudulent behaviour.

1: <http://www.rexswain.com/benford.html>

</comment><comment><USER61> Its a cool idea but I would recommend A/B testing different GUI for picking numbers for removing some of the possible biases. I personally picked 7, most likely because the human eye moves from top left to bottom right so I scanned what the choices were then picked the number near where my eye last looked.

Also, I would love to see a heat map/click map of that page.

</comment><comment><USER62> I did not understand what to do. I thought it was going to try to guess it. I didn't understand that the 1 was the answer I was giving. Sadly.

</comment><comment><USER63> Of the different interfaces, the prompt in the circle looked the best, although the mysterious black circle was OK.

</comment><comment><USER64> Pls add : 42</comment>


A nice, little known C feature: Static array indices in parameter declarations - <AUTHOR> http://hamberg.no/erlend/posts/2013-02-18-static-array-indices.html <comment><USER2> I am convinced there is some kind of long-term drinking game going on in the C standards committee to see how many different uses they can come up with for the word "static".

<comment><USER3> They don't really have a choice, do they? If you want to add features you can either: 1) make a new reserve word, possibly breaking existing code 2) reuse a reserve word in a new context.

<comment><USER4> Larry Wall (author of Perl) used this as an argument for "sigils", that is, putting $/@/% in front of every variable.

[http://stackoverflow.com/questions/1091634/why-do-perl- varia...](http://stackoverflow.com/questions/1091634/why-do-perl-variables- need-to-start-with-sigils/1092410#1092410)

(I merely state this as fact and offer no judgement!)

<comment><USER5> Deleted my previous comment because it was wrong (I was saying that it didn't help with the names of subroutines). It appears you can even have subroutines named after keywords, but only as long as you put "&" in front of it when you call it:

        sub while
        {
            print "It works!\n";
        }

        &while();

I guess it is still the case that you can break perl code by adding keywords, if it collides with a subroutine that is called with the "&" symbol. Seems most code doesn't use "&" though, but it's a relatively quick fix.

<comment><USER6> Calling a sub with & has a special meaning, it exposes the current argument list @_ to the called sub. That's why you don't see it in most code.

<comment><USER5> I did not know that. Interesting. However, it only works if you call the sub without parentheses like this: &foo

Calling it with parentheses like &foo() would make @_ empty inside of foo. (Or if you said &foo("whatever") it would pass that as @_ instead.)

        sub while
        {
                print "@_\n";
                &foo();
        }

        sub foo
        {
                print "@_\n";
        }

        &while("a","b","c");

produces:

        a b c
        (blank line)

as the output, and

        sub while
        {
                print "@_\n";
                &foo;
        }

        sub foo
        {
                print "@_\n";
        }

        &while("a","b","c");

produces:

        a b c
        a b c

as the output. At any rate, back to the original topic: it still doesn't prevent new keywords from potentially colliding. Oh well.

</comment></comment></comment></comment></comment></comment><comment><USER3> In C++, you can do this by passing the array by reference:

        void foo(int (&foo)[10]) {}

However, that is not "minimum of 10" but "exactly 10".

You can also get the size at compile time:

        template <size_t N> void foo(int (&foo)[N]) { int newarry[N+2]; }

I've used the above for something like this:

        template <size_t N> void safe_strcpy(char (&buf)[N], const char *src) {
          strncpy(buf, src, N-1);
          buf[N-1] = 0;
        }

<comment><USER7> And, by extending your second example, we can enforce the minimum array size with std::enable_if (C++11; boost::enable_if_c with C++03):

        template <size_t N>
        typename enable_if<(N >= 10), void>::type
        foo(int (&bar)[N]) { ... }

EDIT: Changed condition from N >= 0 into a more meaningful one. X-)

<comment><USER8> The more readable C++11 version would use static_assert:

        template <size_t N>
        foo(int (&bar)[N])
        {
            static_assert(N >= 10, "Array needs >= 10 elements!");
            ...
        }

<comment><USER9> I don't think that is more readable. With enable_if the precondition is clearly visible at the function header, while the static_assert is inside the body and thus more easily accidentally ignored.

<comment><USER10> On the other hand, static_assert will have a more helpful compile error for users of the code. They will clearly see assertion condition that failed, rather than missing candidate error due to substitution failure (or worse, a different overload silently considered instead).

</comment></comment></comment></comment></comment><comment><USER11> Doesn't seem to work for me using GCC 4.7.2.

flags: -g -Wall -Wextra -std=c99 -pedantic

The following code compiles and runs (for me at least) with no errors. Tried with both stack and heap allocated arrays of various sizes.

        #include <stdlib.h>

        void foo(int array[static 10]) {
          (void) array; // suppress unused var compiler warning
          return;
        }

        int main () {
          int *x = calloc(10, sizeof(int));
          int *y = calloc(9, sizeof(int));
          int *z = calloc(11, sizeof(int));
          foo(x);
          foo(y);
          foo(z);
          foo(NULL);
          int a[9];
          int b[4];
          int c[11];
          foo(a);
          foo(b);
          foo(c);
          return 0;
        }

<comment><USER12> Not in front of a computer, but have you tried -std=gnu99

<comment><USER13> Thats a bad way of writing code, to be honest. On projects I run, code has to be warning free with -Wall -Wextra -pedantic -std=c99

<comment><USER14> It's not bad at all, at least if you've made the conscious decision to write GNU C and not std C, and accept that non-gcc compilers (except maybe clang) may not be able to compile your code.

Unfortunately, though, I believe one of the -std=gnuXX variants is the default, so most people don't make that a conscious decision.

<comment><USER12> gnu89 is the default. gnu99 will be the default when C99 is fully implemented (from the manpage, search for /-std=$/)

<comment><USER15> C99 is still not fully implemented in GCC? What's missing?

<comment><USER16> There is a list at <http://gcc.gnu.org/c99status.html>

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Can someone recommend a resource that talks about some interesting C stuff similar to this? I've looked at "Expert C Programming: Deep C Secrets" but found it a bit outdated. And the C standard is a bit dry :-).

<comment><USER18> You might look at _21st Century C: C Tips from the New School_ by Ben Klemens. It's very new (November 2012), and has some really nice stuff in it.

It's getting mixed reviews, but I really found it useful (even if I, like others, disagree with some of his tips). It's particularly good at sorting out what you can do in C99 and C11.

[edit: He has a really useful section on sorting out the different meanings of "static" in C, though I don't recall this being one of them.]

</comment></comment><comment><USER19> Unfortunately, gcc does not warn. I can pass a NULL pointer and arrays that are too small. But on the other hand, there is very little use, because arrays usually contain an arbitrary number of elements. This might be useful for matrices and vectors, but then I would rather wrap them in a struct anyway.

</comment><comment><USER20> I thought I knew C.

<comment><USER21> This is one of the things that attracts me to Go (and developing tools for working with it, which requires parsing the language, etc.). It's much easier to keep the entire language spec in your working memory, because it all fits in <http://golang.org/ref/spec>.

<comment><USER22> That's just because its young. The same could have been said for C in the long long ago. And honestly compared to most of whats out there, C is a tiny language. Give go time, it'll bloat ;)

<comment><USER23> Whether generics get retrofitted will be the measure of this. I suspect they won't, because by the time a Go 2.0 timeframe arrives, the thinking will be something like "Time has shown that we thrived without them, so despite commentator gnashing, they're simply not required."

<comment><USER21> It's possible to write tools that generate code instead of building it into the language too. I wonder if it can be done better than building it into the language.

<comment><USER23> You could contrast achieving generics using C preprocessor gymnastics versus C++ templates.

<comment><USER21> C preprocessor stuff works with text and text only. That's why it's quite hard to make things elegant. Tools can work with text and anything else you can think of. So they can potentially be better. But I don't know what could be done at this point (in fact, this might be a good problem to be analyzed from a theoretical side).

</comment></comment></comment></comment></comment></comment></comment><comment><USER24> great, just what we need - yet another overload of the static keyword :-).

</comment><comment><USER25> Why do many features added to C after the first standard have to be quirky and slightly incompatible (with C++, with existing implementations, etc.) like this?

Other examples are inline (different from C++, makes use of weird combinations with static and extern) and tgmath (compiler magic inaccessible to user- defined functions until C11).

They also seem to __barely__ improve the language without ever being "cool" or "interesting".

At least C++ has some standard data structures...

PS: Even Python has binary literals, while they were deemed "not useful enough" for C.

</comment><comment><USER26> I've never seen this before:

      void bar(int myArray[static 10])

Is that standard, and if so, how long has it been?

I also ran across this construct in a quick search [1]:

      void bar(int myArray[const])

[1] [http://stackoverflow.com/questions/3693429/c-parameter- array...](http://stackoverflow.com/questions/3693429/c-parameter-array- declarators)

<comment><AUTHOR> From <http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf>:

220.127.116.11 point 7: "If the keyword static also appears within the [ and ] of the array type derivation, then for each call to the function, the value of the corresponding actual argument shall provide access to the first element of an array with at least as many elements as specified by the size expression."

<comment><USER26> So, it was added in C11?

UPDATE: Thanks. The 2005 date on the linked document threw me off.

<comment><AUTHOR> No, C99 – this is the the C99 standard with corrigenda TC1, TC2, and TC3 included.

</comment></comment></comment></comment><comment><USER27> Interesting, but the one comment I haven't seen yet on this thread is 'Why is this useful enough to be a compiler feature?'. I think this is especially relevant with a relatively slim language like C.

In the rare cases you need to do this sort of check why not just write a simple sizeof test?

<comment><USER28> The compiler doesn't pass any size information when you pass an array into a function. The function just gets a pointer. If you take the sizeof the array, you'll get the size of a pointer on your system:

[eric@rangely foo]$ cat foo.c

        #include <stdio.h>

        int test (int arr[10])
        {
            printf ("%lu\n", sizeof (arr));
            return 0;
        }

        int main (int argc, char *argv[])
        {
            int arr[5];
            test (arr);
            return 0;
        }

[eric@rangely foo]$ gcc foo.c -Wall -o foo && ./foo

8

(EDIT: fixed formatting)

</comment></comment><comment><USER29> Using 'static' in this way _compiles_ with both Oracle Studio 12 and IBM xlc 11, but neither exhibit the behavior that gcc is shown to have in the article. Passing in both NULL as well as an array of shorter length work just fine with no warning/error from the compiler.

So, YMMV.

</comment><comment><USER30> [I'm away from a C compiler and can't test]:

What happen if you do

void bar(int fooArray[static 0]) {} ?

Is NULL allowed?

<comment><AUTHOR>
        test.c:3:30: warning: 'static' has no effect on zero-length arrays [-Warray-bounds]

</comment></comment><comment><USER31> Live test case: <http://liveworkspace.org/code/2uk7hc$18>

</comment><comment><USER32> a bit off-topic: Golang has a similar feature built into it's type system [1]

"The size of an array is part of its type. The types [10]int and [20]int are distinct."

[1] <http://golang.org/doc/effective_go.html#arrays>

</comment><comment><USER33> This is legitimately awesome, and allows for cleaner code. Nice post!</comment>


Ask HN: To those trying to pursue their passion but failing, do you regret it? - <AUTHOR>

For the millionth time, I've heard the "pursue your passion" speech. I can't help but wonder what happens to people who tried to pursue their passion but failed, and are now looking around to see their peers achieving "success". <comment><USER2> Sometimes.

Lately I have been but it was pointed out to me by Kuro5hin's tdillo that those who pursue the righteous path rarely get any credit for it during their lifetimes.

The reason I'm going to go work in the library this morning, is that I don't have the cash to buy a coffee at Starbucks. It really is that bad.

On the other hand, I am - at least at times - able to feel pretty good that the work I do has a lot more lasting value than does that of your typical coder.

<comment><AUTHOR> Thanks for the reply. If you don't mind me asking - what exactly are you trying to do now and what did you give up to try and do this?

<comment><USER2> What I gave up was any real hope at getting a job, this because I quite prominently link to two of my essays about my mental illness at the top of each page of my website: [http://www.warplife.com/](http://www.warplife.com/)

"Living with Schizoaffective Disorder" comes across to most people as lucid, informative and helpful, but I regard it as rather pedestrian myself. It claims that "I want to tell you what it's like to live inside my head", but really, it doesn't.

What does tell you is "My Deepest Fear". I've been tossed involuntarily into psychiatric hospitals on three different occasions - twice by the police, in handcuffs - for no other reason than simply mentioning that essay to mental health professions. This despite not having been symptomatic in any way at the time I wrote it. That it reads like a paranoid manifesto was rather like the literary equivalent of a stage actor being "in character".

I'm pursuing some software projects that I have some real hope of succeeding with through crowdfunding, however in reality I regard hosting my software on my site, as a way to attract readers and inlinks to those two essays.

It is flatly illegal, in the United States, to discriminate against the mentally ill for reasons of employment. That doesn't make any difference to me; I still get no offers.

I could sue under the Americans with Disabilities Act however I feel very strongly in the assertion that "the best response to hate speech is more speech". Consider that had the Weimar Republic passed a law like the ADA, it would not have stopped Hitler from putting people like me to death.

</comment></comment></comment><comment><USER3> I "pursued my passion" for a while, but the comfort of having a full-time job with a relatively fixed schedule for getting paid was too much at the time, so I started chasing the dollar. To the point where I moved to SV to enter the ratrace. It's starting to pay off a little, but I'm still clocking in at a cube farm for ~8 hours a day. YMMV</comment>


QR Code in shopping cart handle - <AUTHOR> http://mathematica.stackexchange.com/questions/26268/qr-code-in-shopping-cart-handle

<comment><USER2> I love the Mathematica Stack Exchange just for these sorts of things. Another one of my favorites that was previously on HN: [http://mathematica.stackexchange.com/questions/5676/how- to-p...](http://mathematica.stackexchange.com/questions/5676/how-to-peel-the- labels-from-marmalade-jars-using-mathematica)</comment>


Maybe It's Time For Apple To Go Back Behind The Curtain - <AUTHOR> http://techcrunch.com/2013/06/02/pay-no-attention-to-the-man-behind-the-curtain/

<comment><USER2> This is a perfect example of the media's inability to be impressed by Apple's behavior. They're too secretive, now they talk too much and are defensive?

They're defensive because the media has created an enormous echo chamber. MG Siegler, you're part of the problem.

</comment><comment><USER3> When a journalist is complaining about a company not being entertaining enough lately, and offers advice to that company as if their primary function was to provide entertaining hijinks for the journalist to write about, the problem isn't the company.

</comment><comment><USER4> I'm by no means an Apple fan but this post provides the perfect rebuttal to many of the criticisms surrounding Apple, specially on the innovative front.</comment>


8^8 – Find another you - <AUTHOR> http://8x8x8x8x8x8x8x8.com/ <comment><USER2> "Take the 8^8 test and the likelihood of someone else answering in the exact same pattern as yourself is 1 in 16,777,216"

That requires A) the distribution of answers is even across all 8 options, and B) there are zero correlations between any two answers in the quiz.

Not to mention that the 8 questions have to pretty accurately split the space of human personalities down into eigen-answers that explain the most variance in personality.

And there's just no way to do pick these questions without having the data to analyze in the first place.

<comment><USER3> Thank you for putting into clear words my gut impression that this wouldn't produce the intended result.

I wonder if you couldn't do better with binary questions. I'm reminded of the site [http://www.correlated.org/](http://www.correlated.org/).

Suppose you were to ask a bunch of binary questions, and then use some statistics to find questions that have fairly evenly distributed and non- correlated results, then take 24 of the best questions by those criteria (arbitrary, but 2^24 = 8^8) and find matches.

So basically, ask a whole bunch of binary questions, find ones with roughly 50-50 answers that don't correlate with each other, make the match-ups based on those and ignore the others.

<comment><USER4> okcupid does exactly this. Most of their questions are submitted by the users themselves, and they have hundreds if not thousands of them, but they present the questions to you in the order of most differentiating first. You can answer as many or as few as you want, but matches get better as you answer more, with monotonically diminishing returns. You also get to say which answers you would accept from your match (doesn't have to include your answer) and how much it matters if at all.

My gut tells me it's akin to doing principle component analysis. To find the most differentiating question, do 1 dimensional PCA, and the question most aligned with the resulting dimension is question #1. Then do 2 dimensional PCA fixing the first dimension as the first question. The result is question #2. And so on.

OF FAR GREATER CONCERN: They are collecting email addresses associated with personality questions. There is no privacy policy, other than the statement "If there's a match, we'll email you. (You will not be emailed under any other circumstances: no promos, no newsletters, nothing except news of a match.)" You don't know to whom you are giving this information, as there is no named legal entity, just a gmail address and a domain name whose registered owner is hidden in whois databases.

<comment><USER5> > My gut tells me it's akin to doing principle component analysis

Or a decision tree, maybe

<comment><USER5> Since I can't edit, here are some more details on what OkCupid does [http://blog.okcupid.com/index.php/page/3/](http://blog.okcupid.com/index.php/page/3/)

</comment></comment></comment></comment></comment><comment><USER6> It's fascinating (not being snarky) that this post has received about 50+ votes since I first saw it, and I've not once been able to pull the site up completely (never made it past the bot detection, and most of the time, won't even come up).

So I'm trying to understand the phenomenon:

\- HN folks are bookmarking it for later based on comments (even though it may/may not be worthy of a +1)

\- HN folks are +1'ing it based on the idea derived from the comments

\- Those +1'ing it are actually able to make it through (though it doesn't seem so based on most of the comments)

The fascinating part to me is that, assuming it's one of the first two, how much +1's an (arguably) broken link can get based on comments.

The idea sounds interesting, and the site may very well be +1 worthy.

<comment><USER7> Apparently no one on HN has used a dating web site before either. They have you do the same types of quizzes.

</comment></comment><comment><USER8> Ummm, I like other people precisely because they aren't me. My soulmate is not a duplicate of me. They are a compliment.

At best, 8^8 might expose someone who ends up making a lot of the same decisions as me. Boring!

<comment><USER9> You could of course also search for someone who is, in all aspects, the complete opposite of you :)

<comment><USER10> Or have your partner take the test, and line up a spare.

</comment></comment></comment><comment><USER11> The basic claim is false on many levels:

        Very few of us are lucky enough to come across our
        soulmate within our lifetimes. We tend to choose our
        friends and spouses from the limited pool of people
        available in our immediate vicinity: students at our
        schools, people who live in our neighborhoods,
        colleagues at our workplaces. Statistically, it is
        extremely unlikely that we will come across our
        soulmate.

First off, the notion of "soulmate" is bogus romantic nonsense, and the notion that the person most compatible with us is _just like us_ is demonstrably false. My father and I were very similar to each other and fought and argued all the time, because we were both cantankerous, ornery and contrary.

My life-partner and I--who are as close to "soulmates" as anyone can be to that basically ridiculous idea--are very similar in some respects, very different in others. The areas where we complement each other are as important as the ones where we reinforce each other.

More importantly, the claim that there is some great unexplored mass of humanity where our "soulmate" lurks is bogus. There are only 5000 people in the world. Maybe fewer. If there were more we wouldn't keep running into each other all the time.

That is, the number of people in our tribe is surprisingly small, and anyone who is sufficiently similar to us to answer the questions the same way is already almost certainly a member of it, so dipping into the pool of random strangers across the world is unlikely to improve the odds much in most cases, and citing an anecdote or three--which some people will be tempted to do--does not change this fact. The human social graph is full of islands.

Finally, to work as advertised the test requires that answers to the questions are uncorrelated, which is almost certainly not the case. So most people will find themselves with hundreds of "soulmates", a very few will have none. Unique matches will be extremely rare.

It's a superficially fun idea that turns out to be more of a monument to the failure to understand probability than anything else.

<comment><USER12> > There are only 5000 people in the world? Did I miss something?

<comment><USER13> It was a joke, but I found it funny - he explains it with "if there were more, I wouldn't bump into the same people all the time". In other words, _his_ world (the set of people he normally encounters) is made of at most 5000 people.

</comment></comment></comment><comment><USER14> Interesting idea. Bad execution.

There is _NO_ way that performance should be so bad given current load.

Some of the questions are frustrating. For instance question #4 is "YOU SAVE AN OLD LADY'S LIFE. IN GRATITUDE SHE GIVES YOU $100,000. WHAT DO YOU DO WITH MOST OF IT?" The obvious answer for me is, "Save it." But all possible answers are ways to spend it or give it away. I chose "Move to a nicer neighborhood", but that really is NOT who I am...

<comment><USER15> I suspect at each POST request the website is attempting to match (and filter) against all existing results.

<comment><USER16> They state otherwise - "verification takes place a few days from now". And filtering against 20k results should be instant anyway.

</comment></comment></comment><comment><USER17> There seems to be an awful lot of gratuitous negativity going on here.

The site was on Reddit yesterday, now it's on the front page of HN. Maybe the author can't throw a lot of resources at it, or they used the project as an excuse to learn a new stack. Who knows.

Maybe it was slow for you. Maybe it's not a mathematically sound idea. Maybe the questions aren't ideal. The CAPTCHA isn't ideal.

Who cares? There's no need to be mean about it.

<comment><USER18> > There seems to be an awful lot of gratuitous negativity going on here.

There isn't much negativity above your comment, no-one above you has criticized the speed or the CAPTCHA. Were you referring to a specific comment without using the reply-to feature? Are you saying the HN community is "mean" about it?

Most people on HN are very positive even if the project is slow, because everyone knows what it means to be on the top page of HN.

<comment><USER19> Did you see this post and thread, asking HN to avoid gratuitous negativity?

[https://news.ycombinator.com/item?id=9317916](https://news.ycombinator.com/item?id=9317916)

<comment><USER18> I'm not sure why my comment seems negative to you, while the comment above doesn't. The person above was generalizing negatively about "the people here", and it seemed gratuitous because no-one had criticized the speed or the CAPTCHA before.

In other words, please hellban me now, because I didn't get what was negative in my first comment.

<comment><USER19> I'm not sure why you think I am critcising you. Parent post is talking about gratuitous negativity, and I wanted to make sure you understood what they meant by gratuitous negativity which, in the context of HN, has a specific meaning.

I don't have any power to hellban you!

</comment></comment></comment></comment></comment><comment><USER20> This whole thing has been done before and in a way that allowed the questions to be crowdsourced, not just one person coming up with what he/she thinks are meaningful.

On OKCupid, There are thousands of questions, many of them penned by users. You choose which questions to answer, then mark how important this question is to you. You also choose the answer you want your partner to have. For example:

Are you looking for a partner to have children with? [] yes [] no

Answer(s) you'll accept [] yes [] no

Importance [] a little [] somewhat [] very

If this question were not at all important to you, you would just not answer it.

<comment><USER21> IIRC, OkCupid also has a "not at all important" option; that way, you could answer "yes" to the hypothetical question without caring about someone else's answer (while at the same time providing an answer for somebody else who _does_ care about the answer).

</comment></comment><comment><USER22> It's cool, but it kind of reminds me of Ok Cupid back in the day when they would ask you 200 questions about your personality, and then it would match you with people who gave similar answers. I went on dates with a couple people who were 99% matches, expecting love at first sight, only to find that in real life we didn't click at all. It seems that there are many dimensions to human interaction that are not easily captured by these kinds of quizzes.

</comment><comment><USER23> Took quite a while due to the site crashing several times, but I finished it.

I think of it as an interesting experiment - even if nothing ends up coming from it.

My largest concern is there are about 3 questions where I was torn between two answers. I'm thinking I should create email addresses to "cover every base" by alternating my answers on those 3 questions in every permutation. On the other hand, I would feel a bit bad for using up some of the "freebies" that legitimate people might miss out on and have to pay the small fee.

@ColinWright

>8^8 should be thought of less as a scientific black box, but as a friend who claims to know someone you'll hit it off with, and wants the two of you to get together. It might be wrong, but it could very well be right.

<comment><USER24> > _On the other hand, I would feel a bit bad for using up some of the > "freebies" that legitimate people might miss out on_

I wonder what the legality of publishing their questions and answers are. If we can duplicate their questions and answers, people could find each other on twitter with a hashtag: #my8x8is{answer 1}{answer 2}...{answer 2}

<comment><USER23> What would this accomplish, other than perhaps not giving their email to 8x8?

If they have taken the 8x8 test to know their answers, they may as well enter an email address to be alerted when they have a match. Rather than checking Twitter, seeing as 8x8 already plans to email you if you have a match.

In theory if two Twitter users took the test and were a match - there would be no need to use a hashtag to tweet.

This could be useful if enough people participated and were interested in finding an "8x7" or even "8x6" match by changing their answer of two questions. But even then, you would need enough participants who use Twitter and are willing to tweet their answers.

<comment><USER25> It would bypass the fee they apparently charge to actually connect matches (mentioned at the bottom of their homepage).

<comment><USER23> Right, I had forgotten about that after the first million.

</comment></comment></comment></comment></comment><comment><USER26> Yeah, the site is painfully slow. A site with a multiple choice test should handle thousands of users at a time with a tiny server. How is this thing made?

<comment><USER27> I know this sounds mean-spirited, but it's not. I'd be interested to know how this was developed as an example of what not to do. I wonder what the architecture is (and how it could/should be improved).

<comment><USER26> Well to be honest after many attempts to try it out I started to get a bit frustrated and annoyed.

From the errors returned I'm pretty sure it's a PHP backend. Considering the expertise of the average PHP developer I don't think I need to say more (this might sound mean but it's not).

</comment></comment></comment><comment><USER28> On too many of the questions there were multiple choices which seemed equally true thus my results would be largely arbitrary.

<comment><USER29> I had the same feeling. I went through the 8 questions. If someone else answered as I did, I feel like it would be completely random chance. There wasn't anything personally identifying about the questions at all. This reminded me of

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

If you're vague enough, everyone is self-centred enough to believe that you're talking about them.

I would expect the distribution of the answers to be close to uniform too.

</comment></comment><comment><USER30>
        To prevent abuse, we need to ensure that
        everyone taking the 8^8 test is a human
        and not a bot. Click on all of the icons
        below that represent animals.

And then the site is so slow it only shows me 5 of 7 images, the other two failing to load.

Good one.

Don't get me wrong, it's a cute idea, although I have to say that I'm not sure I'd get along with someone who thinks exactly as I do.

 _Edit: I 've passed the spam test and started the "test" \- most of the answers are "none of the above" or "any one of these 4". The usual frustrating experience. I mean:_

        THE KEY TO BEING SUCCESSFUL IN LIFE IS ...

_How should I know?_

<comment><USER31> And if there are always 3 animals (like on mine), then one out of every 35 (= 7 choose 3) bots will get through it anyway. Even if each picture is uniformly and independently an animal or non-animal, one out of every 128 bots will get through. If bots are a problem, maybe use a stronger captcha.

It sounds like a neat idea but it's taking too long to load for me to check it out. I'll try again later.

<comment> david-given I got two animals and a bird.

Whether I click on just the animals or all three of them is part of the test, right?

<comment><USER32> Birds are very much animals, both colloquially and scientifically: [http://en.wikipedia.org/wiki/Animal](http://en.wikipedia.org/wiki/Animal)

</comment></comment></comment></comment><comment><USER33> At a party you... ...listen in fear at the sounds of people who enjoy other people, observe small material details as though you were an anthropologist encountering alien beings, depend on searching for beer to consume time, and occasionally find someone who is amused by your off-kilter humor, but who ultimately is not really anyone you're likely to form a meaningful sober bond with?

Oh, apparently I have to actually be remotely ok in social settings. Seriously, what the fuck.

<comment><USER34> yeah. About six of the eight questions offered no selection that was in any way a meaningful answer for me. So apparently this matching algorithm it going to find that one in sixteen million person that randomly selected six out of eight answers the same, and completely agrees with me on two points.

The point is that, like many polls, the questions are very leading, and take a distinctly biased approach. For example, the question about what to take away that would change who you are. The options are all very idealized, and sound like they come off a dating website (ok..., maybe that what this intends to be.) Almost none of the possible answers seem likely to be an answer in keeping with the "being honest" directive. If the question was more of "what is your idealized opinion of yourself" it might have a real answer.

</comment></comment><comment><USER35> I can't speak on behalf of anyone else, but I'm pretty sure I wouldn't want someone just like me as a best friend.

To assemble an effective RPG party, you need multiple roles, like warrior, wizard, cleric, and rogue. Effective RL social circles work the same way. I'm more of an interjecting quipsniper or a technical sidebarbarian, and I really rely on other people to carry the majority of a conversation. If I were to hang out with a copy of myself, there would be no conversation to add zingers, counterpoints, and trivia to.

There's only so much of that crap that other people can take before it gets annoying, so there's not much use in adding two to the same party, unless they're scripted, like Crow and Tom Servo.

Also, I have a theory of conversation that keys on conversational coefficients. If a group of people are having a conversation, you add together their coefficients. If the sum is one, you have a very natural, comfortable conversation. If it is less than one, you experience some uncomfortable lulls. If it is greater than one, some people get interrupted, can't finish sharing their thoughts, or are excluded. If the coefficient approaches two, separate simultaneous threads of conversation will form, and participants will spontaneously rearrange or split themselves between conversations so as to make each one have a coefficient sum as close to one as is possible.

People don't have a fixed coefficient. They can adjust it within a certain range, that is somewhat dependent on atmosphere and subject matter. For instance, a lecturer who can teach an entire class without losing the attention of the audience can stretch up to 1.0 for conversations, but probably only for that one topic. Someone who has trouble yielding conversational priority may have a lower limit somewhere above 0.5. I suspect that most people can easily handle a range from 0.2 to 0.5. But I max out at probably a 0.4, on very few topics, so my "soul mate" would need to be _much_ more talkative than I am, not at the same level, because it would take at least three of me to have a good conversation.

</comment><comment><USER36> 9,945 people have taken the test according to the stats at the bottom, and the site's painfully slow. Definitely needs some performance tweaking.

<comment><USER37> It didn't work for me. It can't handle the spike in traffic right now that it reached the front page, that's probably what's going on.

<comment><USER38> Or its just badly developed. I hit question 4 and it failed.

</comment></comment></comment><comment><USER39> Nice way to build a profile of a bunch of email addresses which will then be quite valuable for targeted marketing campaigns.

<comment><USER40> Damn... lol

</comment></comment><comment><USER41> Sadly, my counterpart can't take the test either, because neither of us is running javascript.

</comment><comment><USER42> I don't like the idea of finding a soulmate, like there's only one person who you can be truly happy with.

You find someone, and then work your guts out to be lovable and to love, and you become soulmates.

</comment><comment><USER43> There is a widespread idea that the way to find true love is to spend all your effort searching for one optimal partner.

Here is an alternative algorithm: spend some effort finding a good enough partner, and at least as much effort building a good relationship with him or her.

I like this site: it shows the widespread idea in its purest form. Kind of a reductio ad absurdum.

<comment><USER44> How much effort does it take to answer 8 questions?

<comment><USER43> Not much, I did it myself! But the idea behind the site is "find that single unique person who is right for you" (one in 8^8 people). So it exemplifies the idea I was talking about.

</comment></comment></comment><comment><USER45> The site operator may like to know that the site is probably blocked by many corporate proxies; certainly by mine, which categorizes it as

        URL Category: "Malicious Outbound Data/Botnets"

I assume because the domain name looks suspicious to a classifier that's been trained on evil domain names.

<comment><USER46> The domain name has also only been registered for 11 days (Creation Date: 2015-05-04T16:22:00.00Z). That could have something to do with it as well.

</comment></comment><comment><USER47> "If you take the 8^8 test right now all our services will be 100% free for you. This offer is good only for those taking the 8^8 test before we reach the milestone of 1,000,000 tests taken. Thereafter, to cover server costs, there will be a modest fee for connecting with matches. "

\</comment><comment>--

I'm usually pretty pessimistic about the motives of websites like these. For example, this site seems like a great way to get a huge database of marketing info associated with email addresses. Nowhere on the main page or in their faq does it say they won't be selling this data, so they probably will. Use your spam-address if you're going to do this!

That being said, someone just like me also wouldn't pay for a service that's likely going to sign them up for spam. Given that payment will be required _long_ before the odds favour a match for me showing up, I think I'll just skip it.

</comment><comment><USER48> "Click on all of the icons below that represent animals." Anyone else notice that only the animals are simply-connected 2-manifolds? A bot could easily solve this.

<comment><USER16> You win the nitpick of the year award :-)

Actually there is a plane and a snowflake which share this property with the animals. But the set of images seems to be small - I got quite a few repetitions with just a few retries, so you could probably just hardcode it.

Which doesn't matter much - my feeling is that this test is rather intended to put humans into the right mood than to really deter bots.

</comment></comment><comment><USER49> I hope they fix their email regex. This kind of thing infuriates me because this really is the email I use daily: [http://imgur.com/F9a2XeG](http://imgur.com/F9a2XeG)

</comment><comment><USER50> Completely underwhelming. It's just a bunch of random personality questions that give no real insight about the person.

</comment><comment><USER51> I really like the concept, but I find the implementation disappointing.

I know it sounds dumb, but I think of myself as being a rather odd person, and not just like, collecting human skulls odd. It's hard to explain, but I don't feel that most people would get me, or like me once they got to know me. I'd love to find someone who's just like me (sometimes), so when I first clicked, I was a little excited, perhaps naively so. I was disappointed to find that it was just eight multiple-choice questions, many of which I had a hard time answering. There was no nuance.

<comment><USER52> Fortunately there are many people who have a generic like towards oddity.

There are also plenty of people that only care about a few things important to them, and don't care much about extra oddities.

If you care about the feelings of someone, and you like them, that goes a long way towards them liking you. If you are non-judgemental about the oddities of others, that helps a lot too.

<comment><USER34> I've never tried the questionnaires on dating sites, but it seems you'd get better results with paired questions. Ask person A what they're looking for in attribute X. Ask person B to describe themselves in attribute X. So someone that is emotionally submissive that likes a partner that is emotionally dominant gets matched with someone that is emotionally dominant that prefers a partner that is emotionally submissive.

Of course that assumes that the person even consciously knows what they want. I don't know how true that is.

</comment></comment></comment><comment><USER53> I wish there were a way to see what your results were. I took the test this evening; it'd be neat to retake it in a week and see if my answers match the ones I provided tonight.

</comment><comment><USER54> I love the idea! The "non-optimal" (location & time based) way of finding the people you spend your time with can be quite frustrating, if you think about it. I'm happy to have a great people around me, but why not meet more interesting people?

But, as others already pointed out, there are some problems with the current version:

* one could prefer multiple answers on some questions. I think that the test should allow for multiple answers and use ML/statistics to find close/closest matches. Using True/False (exact match) may not be the best. The "workaroud" would be to take several tests with all the permutations, but IMO that is a design flaw.

* the questions may not be the best. This is an interesting problem - how can we pick questions/attributes that would be a good "model" of human personality/mind/psychology?

* such test need to reach a lot of people and it may take a long time. Therefore, it needs to be done _right_ from the beginning, so that all the people take the same test.

Again - I love the concept and I'm glad that somebody it taking the time and effort to build this. IMO this has the potential to influence who you spend your time/life with - so it's very important to do this well.

</comment><comment> robert-wallis I was thinking about how fast it would be to find matches, so I wrote a little C program that runs in about 1/7th a second: [https://gist.github.com/robert- wallis/b7faf94976b153923fde](https://gist.github.com/robert- wallis/b7faf94976b153923fde)

It generates a random number, then tries 8^8 times to generate a new random number and find a match.

</comment><comment><USER55> I love the idea! Since I personally believe that every person has a 'perfect match'. To those who don't, consider the following:

1) You either do or don't get along with certain people.

2) This is determined by how they act, look and your dispositions to those actions and looks.

3) Given these terms for quantifying the amount of 'like' you feel towards a person, it follows that there are combinations of act/look that you absolutely loathe or love.

4) There exists a combination of act/look that is your perfect match, the combination that you love the most, ie. Your soulmate.

What does not follow is that you would like someone who, as the site puts it, is very much like you. I'm quite sure I couldn't stand myself in certain situations. Maybe your soulmate is actually someone who is entirely unlike you in certain aspects?

EDIT:

Also it's likely, at least in my case, that some of the questions don't have the options you'd pick. I guess it kinda proves that 8 options over 8 questions can't be used to arbitrarily identity a person.

<comment><USER56> Except that I'm fairly sure a lot of studies have shown that the more time you spend with someone, the more you like them (at least if you liked them to start with).

I suspect you're much more likely to find a good romantic partner by spending more quality time with people you initially like and find attractive, rather than spending all your effort trying to meet as many different people as possible.

<comment><USER55> Uhh, I agree with you. But what I don't get is where you see the contradiction in what we both said.

Where do we disagree?

</comment></comment></comment><comment><USER57> Don't you have to kill your clone ?

I liked this until they said "soulmate" it works much better as a weird sort of atsy project.

<comment><USER58> That is the premise of that shitty jet li movie, the one

</comment></comment><comment><USER59> The FAQ has some funny nuggets...

"Psychology is a science" \- Anyone following Retractation Watch may beg to differ...

"8^8 is blocked outside of countries where English is both the official language and the most common vernacular." \- Could take it from France, no VPN involved...

</comment><comment><USER60> These questions are so heavily stilted towards white male start up culture it's laughable.

<comment><USER61> I noticed that. The question "if you got 100K for saving lil old woman", my choice wasn't there.

Pay my debts.

<comment><USER62> Also missing: put it in the bank (i.e. do nothing).

The answers to the "greatest satisfaction" question are also telling. They are all job/business related. There's not even a single "spend time with my friends and family" catch-all.

<comment><USER60> Yeah. Where's the "travel the world and live in a tent" option. My soul mate is definitely out there in a tent with mad cash in the bank watching a sunset from a mountain top.

Sigh

We'll never find each other unless s/he wanders into an internet cafe tomorrow before this rolls off of front page of HN...

Hurry soul mate! HURRY down the mountain!

<comment><USER61> You cam make up whatever hair-brained scenarios you want, but 1 in 3 people in the US have debts in collections. Or 77 million people.

Source: [http://money.cnn.com/2014/07/29/pf/debt- collections/](http://money.cnn.com/2014/07/29/pf/debt-collections/)

So yes, "Pay off debts" is plenty sane, and yet not on there. And given the existing potential answers, gives credence that this is for rich white boys financed by rich mommy and daddy.

</comment></comment></comment></comment></comment><comment><USER63> Slightly off topic, why so many links to 'juvenile' questions on HN?

</comment><comment><USER64> "8^8 is not yet available in your country at this time. Hopefully a translated version will be available soon." Wait, what? I don't need a translation, I just want to give that website a go.

</comment><comment><USER65> FYI, email address validation doesn't support new gTLDs.

</comment><comment><USER66> I find that the options to the answers are ridiculous limited:

Question 1: "AT A PARTY YOU..." Missing answer: "I don't go to parties".

The same applies to most of them. It seems like the author got some friends to write down possible answer, but didn't assume that there are people way more different than themselves. I can't answer honestly to most of them, so I can see how it'll fail horrible to find someone else like myself.

</comment><comment><USER67> Some of the questions need more choices. Didn't feel happy with any of the answers for some of the questions.

</comment><comment><USER68> After 5 attempts, I made it. Out of 17.5k test takers, no matches yet? Birthday paradox be damned.

<comment><USER69> I don't believe their no matches counter. We're on the Internet. The first thing some Redditor or 4chan'er did was take the test from two different places and answer the questions the same way.

</comment></comment><comment><USER52> Sampling bias: I actually don't want to find me (I already know where to find men similar enough to me).

Complements: for many traits, I prefer someone who has a strength where I have a weakness. I like opposing opinions as they help me work out my wrongnesses.

<comment><USER70> I was thinking this after the 1st question, which asked what sort of person are you at a party. One of the answers was "being the centre of the attention" and often you find people who are that way inclined will fight others who are similar.

</comment></comment><comment><USER71> I wander if this could be from the guy asking how to spend 100k on AWS.

</comment><comment><USER12> At the time of writing there are 15099 filled tests so producing a match (assuming that all 8 answers must be the same) is highly unlikely (0,08%) if I assume even distribution.

<comment><USER53> Assuming even distribution, there would need to be 8^8 quizzes taken before there's a match.

Will we get that many people to take the quiz? I guess time will tell.

<comment><USER72> You may want to read about the "Birthday paradox"[1]. Short version the expected time for there to be a match with _you_ is much much larger than the expected time to find a match _at all_.

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

</comment></comment></comment><comment><USER73> Lol, fail - I don't understand the question:

#2 "REMOVING WHICH OF THE FOLLOWING WOULD MAKE YOU A COMPLETELY DIFFERENT PERSON?"

I'm not a native speaker -- what am I supposed to do here?

<comment><USER74> It might be rephrased into something like: "Which of these best define your personality?"

</comment></comment><comment><USER75> How can a website this simple be so slow? I don't get it.

</comment><comment><USER76> What if my soulmate is a roomful of monkeys on typewriters? It seems a fallacy to attribute coincident answers with any sort of real compatibility.

</comment><comment><USER77> If someone cloned me, I'm pretty sure one of us would murder the other one. Similar != compatible when it comes to humans.

</comment><comment><USER78> nice idea. I stopped at the first question though. The answer that would correctly describe my average situation at a party involves a combination of 3 of the mentioned answers and probably 3 others that were not mentioned, so I doubt a test with 8 questions with each 8 answers can match me properly to someone that is very much like me.

</comment><comment><USER79> Why would you want to meet someone exactly like yourself? You already know you. I'd rather meet people different from me.

<comment><USER80> Truth be told, opposites don't usually attract. People prefer others who are similar to themselves.

<comment><USER81> There's a wide spectrum between "exactly like you" and "opposite"

</comment></comment></comment><comment><USER82> Obligatory XKCD, though it's not a comic.

[https://what-if.xkcd.com/9/](https://what-if.xkcd.com/9/)

</comment><comment><USER83> We can read and write English just fine in Kenya. No translation needed.

</comment><comment><USER84> OkCupid does this

</comment><comment><USER85> wait... soulmates?

</comment><comment><USER86> If there was a _twin_ of me out there... we wouldn't get along anyway.</comment>


Doge as a Service - <AUTHOR> http://dogr.io/ <comment><USER2> Congrats on posting about something you did on HN! Here's some feedback:

\- Like a lot of such generators, you make the mistake of picking random x,y coordinates and not checking for collisions, which can result in situations like that ([http://i.imgur.com/M7LyPqD.png](http://i.imgur.com/M7LyPqD.png))

\- generating a nicer URL, as other commenters have pointed out, would be nice

\- just as a FYI, when products use the terminology "as a service", it's typically because the product can be used in a programmatic way (i.e. it exposes its functionality through an API). That would be a good next step for your project!

<comment><USER3> Hi, I'm the creator of dogr actually. I'm not sure who posted this to HN :) Thanks for the feedback! Doge-as-a-service is a just funny name. Not sure who would have a need for such a thing.

<comment><USER4> Those API-like URLs seem to be timing out now. Consider adding caching (you might be able to simply enable caching-proxy-functionality at the webserver layer, e.g.)

</comment></comment></comment><comment><USER5> Such sad

OMG no persistence!

Very copy/paste

(It provides the output as CData, so it doesn't give you a URL that you can then copy/paste to send to friends. You would have to save the image locally and then upload it somewhere first. Maybe plug this into imgur in the backend and redirect to an imgur URL if someone clicks on 'View'?)

<comment><USER3> Hi, thanks for the feedback. Upload to imgur is definitely coming!

</comment></comment><comment><USER6> I don't know why I find doge so funny, but this is great. Unfortunately "very view" causes Chrome and Chrome Beta to crash on a Nexus 5/Android 4.4.2. I get the idea though.

What does the tech stack look like? Is it open source?

<comment><USER3> Hi, thanks! It's a node app with some simple canvas rendering code. The rendering code is shared by the client and server. The text splitting is rather simple too but I had fun writing it. It's open-source of course! [https://github.com/codazzo/dogr](https://github.com/codazzo/dogr)

<comment><USER6> Looks like Chrome for Android is crashing because the serialized png is too large. Just sent a quick pull request that exports a smaller jpg instead.

</comment></comment></comment><comment><USER7> Not a fan of the meme, but I did want to link it to friends...I found out that you can't just right click and save the image though since it's in a canvas. Perhaps a different implementation would be better here?

<comment><USER3> Hi, I'll add upload to imgur shortly so you'll be able use that. In the meanwhile you can play wheel of fortune and use doge as a service :) [http://dogr.io/wow/suchfriends/manysharing.png](http://dogr.io/wow/suchfriends/manysharing.png)

</comment></comment><comment> dan-g Whatever you do, don't copy and paste the image URL into say, IRC, for example.

Big mistake.

</comment><comment><USER8> Perhaps you need to add some checks so different lines of text don't overlap on the image when their random positions are too close together.

<comment><USER3> Yup, that's definitely coming.

</comment></comment><comment><USER9> This isn't true SaaS because the images are generated on the client side. You could add value to your service by saving the images on the server and providing URLs that people can link to. [https://bayimg.com/KaegiaAFP](https://bayimg.com/KaegiaAFP)

</comment><comment><USER10> I still think this would be funnier with Baskerville and not Comic Sans.

<comment><USER11> Comic sans in bright colors seems to have become an important detail of the meme.

<comment><USER10> So _that 's_ what Comic Sans is for[0].

[0]: [http://www.mcsweeneys.net/articles/im-comic-sans- asshole](http://www.mcsweeneys.net/articles/im-comic-sans-asshole) (I'm aware.)</comment></comment></comment>


NYPD is canceling its Palantir contract - tefo-mohapi https://www.buzzfeed.com/williamalden/theres-a-fight-brewing-between-the-nypd-and-silicon-valley?utm_term=.upg46gXexp#.okrN9VDzJa <comment><AUTHOR> Palantir has an outdated software stack (Java/Swing). Their genius lied in creating "mythical image" and cleverly overselling it to the less proficient government agencies (apparently NSA was smart enough to see through the ruse). And then in turn sell the "spooky/mysterious" image to bunch of naive Stanford/Berkeley undergrads and convince them to work for peanuts.

Sadly in 2017, their tech stack is falling apart, they have no meaningful ML/AI strategy, the agencies/corporation cannot be fooled any longer, and employees have suddenly realized that the stock (without an IPO in sight) might be worthless and have begun leaving.

Finally the political environment along association with Thiel isn't helping them make any new friends.

Having known several people who work or were hired at Palantir, I can assure you it probably has the worst overconfident brogrammer culture. So much so that I truly hope no US government agency is using them for critical functions because its nothing more than hot air.

<comment><USER2> I interviewed there a couple years ago. the guy forgot to call me for the phone screen. I emailed the recruiter and they said sorry they can reschedule for 7pm that night when he got home.

on the call (which started at 7:15) he talked 90% of the time. he would ask me two or three questions at a time, and when I would get a chance to answer one he would jump in and answer the rest of them for me.

I was rejected for lack of technical skills

<comment><USER3> I interviewed there. It was extremely challenging, but somehow I passed it. I had a very positive impression of the company and its culture. Recruiters and interviewers were super-responsive.

It was in the early days, so it was a very startup-y attitude, "we're so smart" sort of thing. The engineers _were_ smart, from Stanford and CMU, so it was partially justified. I ended up not taking the offer. Not for a particularly good reason, it just didn't fit with life circumstances.

Looking back, it would have been a bad idea. I didn't understand the product, which is pretty essential when joining a company. The stock was granted as options, so without an IPO it is illiquid. The salaries were all low, but at the time someone could have lived in Palo Alto on them.

It turns out they thought they could tackle this problem of disparate data silos and change the world while respecting privacy. They weren't able to automate away the expensive process of having Forward Deployed Engineers do data integration work.

<comment><USER4> _> They weren't able to automate away the expensive process of having Forward Deployed Engineers do data integration work._

Enterprise in a nutshell.

And honestly, not what the customers want. If they're hiring you in the first place, they generally suck at tech. So they'd much rather have "Stanford grads on site every day" as proof of how they're spending money.

So it's a non-starter for Palantir's management when they're looking at existing customers and their desires, and the continuing trickle of naive tier 1 undergrads. Just keep the company cool enough to attract the crop under Google, Amazon, & FB...

And if the customers don't want 100% software data integration, then why spend a _lot_ of money to automate 85% of it?

</comment></comment></comment></comment><comment><USER5> Conjecture? Palantir is known to be rabidly expensive. The available information on the internet and from people I know who've encountered the technology directly describe their "product" as a mix of a very outdated tech stack and expensive integration services with expensive on-site support [1]

My guess is that the NYPD did an analysis of the life-cycle cost of the system over another contract period, and probably determined they could do something cheaper some other way. Since they've built another system based on a competitor's technology (with some special home rolled glue sauce) they're obviously getting _some_ benefit from the basic approach, but given a choice of close enough tech and more badges or the status-quo they've decided to move forward.

1 - I've basically heard their software described as a big graph backend with a document store and an ancient Java client for mucking around with the graph. Most of their tech has been subsumed by very free and highly scalable technologies.

The most recent video shows a just normal run-of-the-mill web app any decent team of 3 or 4 good web devs could crank out in a few weeks.

[https://www.youtube.com/watch?v=dFF4gN56Bhg](https://www.youtube.com/watch?v=dFF4gN56Bhg)

They actually don't have any video up of anything recent that actually really shows their core product. The video here shows a java client [https://www.youtube.com/watch?v=5OYy_UtINo4](https://www.youtube.com/watch?v=5OYy_UtINo4) but it's from 2015.

Kind of a shame considering how much money and talent they've vacuumed out of the market. If I'm right, it's amazing for IBM to actually come in at a lower price than some competitor.

<comment><USER6> I have one question, will the new NYPD in-house developers be union or not?

It'd be interesting if they were union just to see how that works, for better or for worse.

<comment><USER7> I wasn't aware of any unions with software engineers. Are you?

<comment><USER6> I also am not aware, but given this is the NYPD, isn't there an opportunity for the developers to become unionized?

And I wonder, the software developers for the larger trade unions, do they get under the union umbrella or do they get the short shrift form the unions they would work for?

</comment></comment></comment></comment><comment><USER8> Everyone is focusing on Palantir. As someone who knows how much IBM has thrown at this over the past 2 years, it's really IBM and their historically strong relationship with the NYPD that is the real (but far more mundane) story.

Ultimately, if you piss off the IBM execs enough (which is what Palantir is exceptionally good at), then IBM will mobilize a significant chunk of the company to obliterate anything in its wake. Even if that means making a huge loss.

They then try to use that win as a template for future success. Unfortunately IBM is incapable at that since the harsh reality is its software division is just a bunch of incoherent acquisitions who can't generally collaborate.

<comment><USER9> What's the beef between IBM & Palantir?

<comment> ryan-c IBM is competing with Palantir via a product called Analyst's Notebook, which they bought from a company called i2 a while back. Prior to the buyout, i2 sued Palantir over how Palantir's "import from Analyst's Notebook" functionality had been implemented.

It's entirely possible that there are other things going on between Palantir and IBM, but I'm not aware of any other specific squabbles.

Disclosure: I worked at Palantir from mid 2009 to early 2014 and still own some stock.

<comment><USER5> To be clear, the suit that i2 filed alleged that Palantir stole trade secrets and requested that the suit move forward under RICO law (an anti-Racketeering law meant to fight organized crime). The judge agreed and Palantir settled almost immediately after. i2 then sold to IBM almost immediately after that.

The employees on Palantir's side who were involved also kept their jobs. That sends a really powerful message about who they are.

[https://www.scribd.com/doc/36371667/i2-v-palantir-080910](https://www.scribd.com/doc/36371667/i2-v-palantir-080910)

</comment></comment></comment></comment><comment><USER10> I remember a friend of mine interviewing there. He was flown from London to SF for the interview. He got through the technical questions fairly easily. At the end, he had an interview with one of the co-founders, who asked him "As an FDE, what do you think your role is?". My friend totally BS'd his way through the response, thinking he's messed up the interview. The founder however ate up everything he said, and added his own flavor of fluff to the conversation. That's when he realised that Palantir was not really selling software, as they originally made out, but consulting, much like Accenture or McKinsey. Needless to say, he was truly disappointed by the experience - Palantir was quite simply not what it was made out to be.

<comment><USER11> To be fair that's how the game is played. You can't get in the door at a government agency or Fortune 500 company without offering support staff.

</comment></comment><comment><USER12> I can't quite place them. On the one hand I don't see what their product offers that existing BI dashboard tools such as Tableau can't deal with.

On the other hand, 2 of my former, incredibly smart, non-douchey, genuine, down to earth colleagues (both non-white male if it matters) work for them so I'd question the brogrammer stereotype as I doubt they'd stick around if they were feeling out of place.

</comment><comment><USER13> Interesting the aim at Palantir's supposedly bad Java stack. It might be uncool, and even bad from the programmer's POV, but many government agencies have regulations that actually prevent them from using "cool" technology. I know of orgs settling gov-nt and medical software, for example, and they use Java and .Net because those things are easy to sell. Doing anything in Ruby requires jumping through a thousand additional hoops. EOD, the language for them is just best business decision.

</comment><comment><USER14> When was the last time you heard a set of patched together IBM software being 'intuitive', let alone 'more intuitive' than Palantir's built-for-purpose product?

I'm experienced with both IBM software and Palantir and I am truly surprised by that bit in the article - imo IBM haven't put out anything intuitive since OS/2!

</comment><comment><USER15> Have any of the big Palantir critics on here actually _used_ their software for anything? Because compared to the usual fare of craptastic trashware that passes for "software" at NYPD, I can assure you that Palantir is excellent. Even the old Java/Swing installation still being used there is a godsend (though Palantir has moved on to a more modern UI in their current versions). It is (or was, I suppose) the most flexible investigative platform in that place.

The real issue at hand is internal politics. Tech at NYPD is run by a lawyer with little law experience and no technology chops who attained the position due to nepotism (daddy is rich and a huge contributor to the NYC police foundation). Coupled with brass who have zero understanding of technology and an aggressive IBM sales team, you get the result outlined in this news article.

</comment><comment><USER16> NYPD gets their source data, but not the algorithm. Hard to say if that's unfair without knowing the nature of the contract.

It's certainly not unusual to sell analysis without selling the "exactly how".

<comment><USER13> Definitely makes sense, especially if NYPD contracted with some firm to replace Palantir, and now wants the algorithm because that's the hard part to copy. Obviously the methods by which they are able to process information is the reason governments pay them big bucks.

<comment><USER17> No its not the algorithm, its an untamed firehouse access to Facebook data, all of it - not only what you see upfront, photos lead, or what marketers can target. It goes much much deeper than that.

Its a well-known secret that only Palantir has this type of contract signed with Facebook. A funny insiders anecdote is that some people joke about how this agreement is being signed: left side: By Board Member of Facebook: Peter Thiel. right side: By Board Member of Palantir: Peter Thiel.

This ability to query Facebook data anyway they want to is what gives Palantir competitive age. Tech stack is irrelevant; you might as well run it from a MS Access 2005, and you would still find clients, because they don't buy technology, but the result of crunching of data (well maybe something that hold more rows though)

Those who knows beginning of Palantir from a cocktail napkin times know it was a perfect asnwer to a question how to use FB data and make extra extra money. They's how Palantir was born.

Anyways, what most likely happened is that NYPD got enough of solid information on this and probably is questioning legality of pulling data from FB by Palantir without violating whole set of rules, laws, and US Constitution as well; hence they decided to stop before they may become part of a bigger lawsuit.

<comment><USER18> This is entirely fiction.

<comment><USER17> Of course. A guy with karma score 1 would know. And NSA spying if entirely fiction too!

<comment><USER19> Got any evidence?

</comment></comment></comment></comment></comment></comment><comment><USER20> With no technical details it's hard to know what is going on. "Analysis" can mean many things, and sometimes one person's open analysis data is another's proprietary visualisation.

<comment> bra-ket most likely this has nothing to do with tech, simply IBM sales guys are better at NYPD politics

<comment><USER16> The article says NYPD did the development.

 _" group of IBM products tied together with NYPD-created software"_

<comment><USER21> Smells like Watson came to town.

<comment><USER20> This is Analyst's Notebook, plus other things (some of them maybe branded as Watson)

</comment></comment></comment></comment></comment><comment><USER22> Wouldn't it be hilarious if their secret sauce analysis turns out to be a secret backchannel to the CIA/NSA and not some fancy algorithm.

<comment><USER23> You'd hope the NYPD knows how to set up a firewall and how to detect data exfiltration at that scale.

<comment><USER22> By backchannel I meant via people. As in the Palantir analyst calls up their friends at the CIA/NSA for help. CIA/NSA data collection remains secret, Palantir justify their expense, and NYPD find the guy. The problem is that you can't reproduce your results. The other problem is the erosion of civil liberties - but I'm only speculating with a thought experiment.

</comment></comment></comment><comment><USER24> Had a really bad experience at a palantir recruiting event. First, i got an unsolicited email all black and mysterious. Annoying. When I got there I felt nauseous. They actually employed a bunch of good looking women to talk with us techies. So demeaning for all parties involved. I drank their cocktails and ran away.

<comment><USER25> Have you ever considered that good-looking women can _also_ be techies?

</comment></comment><comment><USER26> I was talking to someone recently that had worked there and they said the first step for integrating with any client is to convert their data into a proprietary format called PXML, which I assume is XML with the added feature of vendor lock-in.

</comment><comment><USER27> i have no love for palantir and java makes me slightly sick but a lot of comments here are of the type "they use java, that's ancient, blah blah".

although they are in sv they are NOT a "start-up". They are an old-school government/3-letter-acronym IT supply/service company, think IBM and SAP.

In this environment, there is a good chance their customers may be using ie6. java is what their market expects not what-has-the-cat-dragged-in-now-js framework.

</comment><comment><USER28> How does buzzfeed get the scoop on this? I didn't know they did tech reporting.

<comment><USER29> The author of this article (William Alden) writes consistently negative headlines about two companies: Palantir and Uber. That's his beat at Buzzfeed.

[https://www.buzzfeed.com/williamalden](https://www.buzzfeed.com/williamalden)

<comment><USER30> Are you saying he is unfairly negative or that there are so many such stories that it is a full time job?

<comment><USER31> Neither, it's a feedback loop. By writing negative stories, when company insiders have a scoop and they want to leak it, they know they can contact Mr. Alden because they've seen his previous articles on the company and his track record of not revealing leakers. Mr. Alden then writes an article using such leaked information, which generates buzz within the company (employees share these articles among themselves), resulting in more insiders who know about Mr. Alden and what he does. This encourages more people to share with Mr. Alden.

A similar situation happened with WSJ's Christopher Weaver and Theranos, after his initial few articles, several Theranos investors contacted him with more information, which lead to more articles published, and further attracted people who had company information to share.

<comment><USER32> > WSJ's Christopher Weaver and Theranos

FWIW, I think it was primarily John Carreyrou. At least that's who Jesse Draper blames

[https://twitter.com/JesseDraper/status/799108097675378688](https://twitter.com/JesseDraper/status/799108097675378688)

<comment><USER31> You're right, thanks for catching that. My google-fu failed me, apologies.

</comment></comment></comment></comment></comment></comment><comment><USER23> At least the software ran on premises of the NYPD. There are many deals with governments where data gets pumped back-and-forth with external parties doing the analysis on _their_ infrastructure.

<comment><USER20> Palantir generally runs on-prem because in many environments it is in a SCIF.

<comment><USER23> As it should be. But I know for a fact that this is not always the case.

</comment></comment></comment><comment><USER33> > The department has created a new system to replace Palantir.

> The new system, named Cobalt, is a group of IBM products tied together with > NYPD-created software.

You really have to wonder about the quality of this internal product. From what I've gleaned about Palantir over the years, they supposedly have one of the hardest dev interview processes. People that work there are on top of their game.

My gut feel is that NYPD does not have as robust of an internal dev situation. Or perhaps they shopped it out to contractors? Either way... skeptical that the system is better. But who knows! It's possible the subset of features a police department actually needs from Palantir might be much smaller than the feature set they're paying for (and not too hard to construct themselves). Whatever is going on, it's clearly a cost-benefit issue.

Although, if they're fighting for Palantir's analysis, it seems they _need_ something that Palantir does that they can't do themselves from the data. There really isn't much one can conclude from this article. Only speculation.

EDIT: From responses on this thread it seems that the "hardcore super secret analysis" image Palantir promotes might be more bark than bite. What if NYPD actually did create something better? Intriguing.

<comment><USER34> IBM acquired a company called i2 in 2011 that already was a competitor to Palantir for defence/law enforcement analysis [https://www-03.ibm.com/press/us/en/pressrelease/35255.wss](https://www-03.ibm.com/press/us/en/pressrelease/35255.wss)

Even if you don't have the roughest and toughest devs in the market, surely spending more time with NYPD than the Palantir FDEs (are engineers part of the skeleton staff mentioned in the article?) would get a more valuable result?

<comment><USER8> Actually i2 was 20 years old when it was acquired, and it was the dominant law enforcement investigative analysis product in the US at the time. Palantir were the hotshots.

Of particular note was when i2 Group took Palantir to court for a conspiracy to misappropriate its software and trade secrets. They settled out of court (for a huge sum of money.) IBM swooped in soon after.

</comment></comment></comment><comment><USER35> The NYPD, which can't even successful migrate off of WinXP is going to build an in house product tying together a bunch of IBM products??

</comment><comment><USER36> A hundred comments criticizing the software stack and nobody discussing the ethical concerns around the product.

Perhaps the discussion around rugged individualism in the current thread about poverty are accurate.

</comment><comment><USER37> > Big data helped New York's cops bust Bobby Shmurda

So glad Palantir helped getting _Bobby Shmurda_ (best known for _Shmoney Dance_ ) off the streets.</comment>


Linux: The Gold Standard of Code - <AUTHOR> http://www.linuxinsider.com/story/Linux-The-Gold-Standard-of-Code-78051.html

<comment><USER2> It might be better to say that Linux _kernel_ code is the gold standard for _C code_ , although even that statement is something not everyone can agree on.</comment>


ML algorithm predicts human emotional response to abstract visual art - <AUTHOR> http://www.extremetech.com/extreme/140681-computer-ai-successfully-identifies-why-abstract-art-evokes-human-emotion

<comment><AUTHOR> The original title ("Computer AI successfully identifies why abstract art evokes human emotion") is a bit misleading, particularly the " _why_ " part.

<comment><USER3> Yes it is misleading indeed. From the description, the program extrapolated the emotional responses collected from 100 people for 500 paintings (??) to other paintings. No explanation is involved here to justify the use of "why" in the title as you point out. The title is likely to have made the original authors cringe.

Also consider this - the predictive power is dependent on the features tracked by the machine vision algo, which is decided by humans in the first place. We can ask whether the prediction would be as good as 80% if the vision algo only processed monochrome images. So was the "explanation" baked in beforehand?

</comment></comment><comment><USER4> So the predictions are customized for each person, right? The computer has to calibrate your emotional responses to known painting in order to predict how you, personally, will react to a new painting. So emotional response to abstract art is still subjective and personal, and the computer isn't so much understanding the art as getting to know the people.

</comment><comment><USER5> 80% accuracy seems too inaccurate, IMO. I would actually be surprised if you can't get nearly that accurate with nothing but comparing overall colors and quantity of edges (pick an edge detection effect, count pixels affected) - <USER2> dimensions of data. People are pretty simple, and pretty similar, and more importantly so are artists.

</comment><comment><USER6> I'm really interested in this. Any links to more information/original research?

<comment><AUTHOR> [http://www.newscientist.com/article/mg21628916.000-computers...](http://www.newscientist.com/article/mg21628916.000-computers- identify-what-makes-abstract-art-move-us.html)

EDIT: These are the Google Scholar profiles of the two scientists mentioned in the article:

[http://scholar.google.ca/citations?sortby=pubdate&hl=en&...](http://scholar.google.ca/citations?sortby=pubdate&hl=en&user=fOmROdkAAAAJ&view_op=list_works)

[http://scholar.google.ca/citations?sortby=pubdate&hl=en&...](http://scholar.google.ca/citations?sortby=pubdate&hl=en&user=inVzWAcAAAAJ&view_op=list_works)

</comment></comment><comment><USER7> Is there an article here? The mobile site will only give me a single nondescript paragraph.

<comment><AUTHOR> Try the print version [http://www.extremetech.com/extreme/140681-computer-ai- succes...](http://www.extremetech.com/extreme/140681-computer-ai-successfully- identifies-why-abstract-art-evokes-human-emotion?print)

<comment><USER7> Unfortunately it redirects back to mobile.</comment></comment></comment>