Non-obvious indicators that a transaction might be fraudulent - <AUTHOR> https://simility.com/device-recon-results/ <comment><USER2> Being pegged as a fraud risk just because the user is concerned about privacy rubs me the wrong way. Even if it is entirely legal and the statistical model is valid.

Some years back, some law enforcement agency in the US (but I forgot which) produced a highly-reliable indicator of drug mules on highways. The indicator was black male, driving a late-model sedan, and traveling at exactly the speed limit (when everyone else was traveling 10-15 mph over the limit). The police were stopping and searching anyone who fit these indicators.

Putting aside the questions of racial profiling and whether the statistical model was correct, do you think this is a good idea? I can't articulate my feelings exactly, but I feel it's wrong.

<comment><USER3> If that is wrong, what is right?

Should the police instead do less efficient completely random searches? Should the taxpayers hire more police officers to make up for this loss in efficiency?

Should businesses accept losses from fraud to placate your feelings?

While it may not feel very good to be sending signals that associate you with crime, that is a cost you have to accept of sending those signals.

In the case of police searches, I think attention would be better spent on making them more humane, rather than less racist.

<comment><USER4> I feel there is something deeply wrong with this sort of over- statistically/analytically focused thought chain, allow me to try to elaborate.

Many signals have absolutely nothing to do with wrongdoing whatsoever. Say that hypothetically every drug dealer makes large cash deposits, and this is marked in a database somewhere as a "very reliable indicator". Well what about taxi drivers? Street Vendors? other occupations that deal almost exclusively in cash, should they also be suspected?

What happens if somebody otherwise innocent of anything in particular triggers multiple "flags" like this, do they deserve to be discriminated against?

What if the flags are stuff like being black, being poor, having a friend that has been charged with a crime. What about living in the "wrong" neighbourhood, how about the wrong genetic markers. How about a family history of mental illness, what about if you dont own a cellphone? What if they are angry about the government and have publicly protested? What if you accidentally like ISIS on facebook, or your friend does it as a joke? are these acceptable "black flags" too?

What about if one of your close friends trips one or more of these markers? What if several do? Are you just as untrustworthy?

It gets much choppier when you introduce something like neural net learning into the equation. It will form links between activity that are basically impossible to decipher by a human at all, should we accept these utterly opaque judgments because "on average they are pretty reliable"?, what about the cases where they are 100% dead wrong, should they just be considered collateral damage?

A huge class of people could end up going through life denied basic services like a bank account because of things ENTIRELY beyond their control, or even understanding, all they know is they managed to piss off some equation somewhere.

It gets better, because on average people with bad scores on one system "reliably indicate" they will be bad faith in other contexts too...

Lots of businesses will accept this as an acceptable cost to keep fraud rates/whatever down, I don't find it acceptable, its almost the definition of injustice, and has a grave potential to create a vast underclass of "poor social credit score" people (who being a member of, even by association will assuredly be another hit against your scores)

How happy would you be, if via no fault of your own you were deemed an "unacceptable risk"?

So yes, it is inhuman, and wrong. I guess that -100 Social Credits for me.

<comment><USER5> This new years, I made a large liquor store purchase (about $600) in Manhattan, not in my normal geographical area. The transaction was declined, but all I had to do was to answer "yes" a text that I got from the issuing bank, and then swipe again. Was I "profiled"? Yes. Did Visa do a good job protecting me and itself with my profiling? Yes. Try running a real business with this purist approach. You will exceed 1% chargeback threshold in the first year, and your payment processor will either shut you down or will require a huge collateral.

<comment><USER6> Yeah, I think this is an appropriate way to do profiling. The declined transaction was explicitly tied to something you did, so you understood why it happened. The bank also provided an easy way out.

Where profiling becomes dangerous is when it's tied to something you are or something you did in the past: it can be harder to identify _why_ you're being profiled in these cases. Most of these cases aren't resolved through a single text, either. Profiling is a useful tool, but we have to be careful to do it in a humane way.

</comment></comment></comment></comment></comment><comment><USER7> Ugh. The author just gave away all the good tricks.

This is one area where security by obscurity actually works (well worked, depending on how many fraudsters read this).

Fraudsters are generally pretty dumb when it comes to technology, so even if a lot of these seem obvious to the tech savvy HN audience, they weren't obvious to the fraudsters till now.

The good news is that most of them don't read HN.

<comment><USER8> The blog this was posted on was a company that deals with fraud detection. I'm sure they thought about this and only posted things they already weight pretty low in their algorithm as the evidence isn't too valuable.

</comment></comment><comment><USER9> My wife was seeing a lot of fraud with her business. She only takes payment via PayPal. The fraudsters have been ordering via a local hacked computer with a hacked PayPal account that matches. Everything looks 100% OK (physical address matches, IP address matches, browser nice and normal, etc), but she gets hit by a PayPal chargeback 3 to 4 weeks later for a "non authorised payment". She now has to call each new customer to make sure that they are real. Interestingly, when she posted that she would call all new customers the fraud attempts went down to about 5% of the previous level.

</comment><comment><USER10> What is meant by referrer "history"? As far as I know, referrer in http headers can refer only to the one most recently visited resource.

Edit: And what's with this?

> There is another feature in browsers which is "Do Not Track" > ([http://donottrack.us/](http://donottrack.us/)). For organic/real users the > possible options are "Yes", "No", "Unspecified";

The DNT http header has 2 values. "0" and "1".

<comment><USER11> There are a number of ways (some patched) for sites to guess at your browsing history, such as the color of visited links or HSTS cache timing.

[https://zyan.scripts.mit.edu/blog/sniffly/](https://zyan.scripts.mit.edu/blog/sniffly/)

<comment><USER12> I don't think people are doing anything sketchy.

They're asking did your browser go

       amazon.com -> search evo 850 -> evo 850 product page -> post "add to cart"

or did your browser do

       evo 850 product page -> post "add to cart"

or even

       post "add to cart"

those are sorted in decreasing order of naturalness. Obviously #2 can happen if you got a link directing you to the product page, but it's still less natural. You would often expect to see the referrer be an email domain or similar.

</comment></comment></comment><comment><USER13> How do they know that fraudsters with fresh cookies and no referrer history aren't just in private browser mode? Sounds like the server would view them as the same in most cases.

<comment><USER14> There are capabilities like local storage that are often disabled in private browser mode.

<comment><USER15> I've actually found a few online stores which now check for this and redirect you to a "turn off private browsing to browse our site" message. It's moderately annoying that they refuse to even let me see what they have for sale until I agree to let them use my hard drive.

<comment><USER16> I wouldn't want to be customer of such a site.

Problem solved.

</comment></comment></comment></comment><comment><USER17> This type of service seems like it would be really useful to smaller merchants.

I remember reading awhile back on HN that smaller e-commerce shops were often targeted by fraudsters. So, many use Amazon as a go-between when they'd prefer to have their own site and payment processing.

Companies like this could empower competition of the services provided by Amazon, eBay etc.

<comment><USER18> Fraud is an always-changing landscape and the only way to stay on top of it is to rapidly and continuously adapt. Simility uses machine learning to derive and apply models in real time, which is huge for any-sized business.

</comment></comment><comment><USER19> The no referrer and user-agent (non Mac) are certainly signals, but there are some others that are interesting like caps lock on, geo-ip (obvious), and screen-size.

</comment><comment><USER20> Are all of these indicators available "over the wire" in browser fingerprinting?

can you tell cpu from browser finger printing?

and cookie age? is he talking about cross-domain cookies from the ad networks?

<comment><USER21> >can you tell cpu from browser finger printing?

In the context they're talking about, yes! 32 on 64 bit (on firefox at least) will have WOW64 on the header name, whereas 32 on 32 bit won't, and 64bit on 64 bit will have Win64.

<comment><USER22> But isn't WoW64 for running 32-bit applications on a 64-bit version of Windows? I don't think WoW64 exists on 32-bit Windows.

That'd make sense if they were running 32-bit Firefox on 64-bit Windows, but the article says a 32-bit OS on a 64-bit CPU. You'd think that would just look the same as a 32-bit OS on a 32-bit CPU in the headers, unless Firefox is going out their way to report a 32-bit OS on 64-bit hardware.

</comment></comment></comment><comment><USER23> I admire the research that went into collecting these signals, but I consider it a poor idea to have published what could be used as a checklist. I believe some of the kind of people (criminals, bad people: you should stop) who take the technical actions listed certainly read hackernews. yet without exception all of these are easy to modify, losing your hard-won signals. better not to mention what they are.

that said, perhaps they did not pubish all of the signals they found.

</comment><comment><USER24> Can a web server get a list of plugins installed by the client? That can't be right, can it?

<comment><USER8> Yup, it's part of the EFF browser fingerprinting

[https://panopticlick.eff.org/](https://panopticlick.eff.org/)

<comment><USER25> Whoa, thanks for that link!

I went to clean up the most revealing one: "HTTP_ACCEPT Headers" ... I turned off least-used language in chrome://settings/languages

It was 1/1200, now it's 1/9... still says I'm unique, though.

</comment></comment></comment><comment><USER26> about the #3 and DNT Null values ...

DNT wasn't proposed until 2009 (and implemented in 2010). So this would be normal (DNT header not sent) on older OS versions. So it's the same reason as the 32 bit OS on a 64 bit machine assuming people use IE coming with the installation (or downloading an old browser that is still usable in 32bit).

<comment><USER27> >or downloading an old browser that is still usable in 32bit

Are you implying newer browsers don't work with 32bit? Chrome and FireFox run as 32-bit and all IE versions still use a 32-bit renderer. These things are true on 64-bit and 32-bit machines, at least on Windows.

</comment></comment><comment><USER28> I assume that the bigger guys like Stripe are already doing this? Is that a valid assumption?

<comment><USER25> Stripe says they do flag some charges fraudulent, but it isn't their main business.

Here they mention some tips [https://support.stripe.com/questions/avoiding- fraud-and-disp...](https://support.stripe.com/questions/avoiding-fraud-and- disputes) and also point to SiftScience, Signifyd or Riskified.

SiftScience seems the most similar to simility, and give pricing online (free lite version or full for 5-6 cents) per order. Riskified and Signifyd actually provide insurance (and then perhaps have lower approval rating since they actually take risk?)

I'm planning on trying SiftScience in the future.

</comment></comment><comment><USER29> They call it machine learning, so did they apply unsupervised learning to determine these factors? How did they determine these factors were relevant?

<comment><USER27> They could have used PCA[1] on their feature set and let a human come up with these; they claim to use machine learning, not that this checklist was generated as a result of machine learning.

Otherwise, maybe they have an algorithm that looked at resulting classifications from learning and flagged inputs with the largest and most consistent variance across classes.

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

<comment><USER29> I'm OK with a human being involved, I'm curious how they actually figured it out.

</comment></comment></comment><comment><USER30> These were reliable indicators until they were disclosed here...

</comment><comment><USER31> It appears that we have a special, powerful, valuable opportunity for how to manipulate the data in the OP.

So, the OP has "7 Leading Fraud Indicators: From Fresh Cookies to Null Values".

Suppose for those 7 indicators, 4 of them have just two possible values and the other three have just 4 possible values or some such. Then for one connection to the server from a Web browser, the 7 signals have jointly just

         2^4 * 4^3 = 1,024

possible values. That is, there are only n = 1,024 possible _cases_ of signal data from a Web browser from a connection to the server. And apparently we have good data on each of the cases.

Or, to be practical, if for some case we have no data at all, then we just assume that the reason is that the probability of that case is so low that we can ignore that case.

The central problem here is how to detect "fraudsters". For such detection, necessarily there are two ways to be wrong: (1) a false alarm when we say that a connection is from fraud when it is not and (2) a missed detection when we say that a connection is not from fraud when it is.

Our mission, and we have to accept it, is essentially to find ways of manipulating the large amount of relevant data so that (A) from the false alarm (1), we can specify the highest probability of a false alarm f we are willing to tolerate, (B) get that probability of a false alarm f in practice, and (C) from the missed detections in (2), for that probability of a false alarm f, get the lowest probability of a missed detection (2) we can.

Or, for the false alarms we are willing to tolerate, we want to manipulate the data to get all the detections we can.

So, for some notation:

P -- probability

n -- positive integer, number of different possible cases of data from connections, e.g., as above, n = 1,024

B -- event, connection is bad, fraud

G -- event, connection is good, not fraud

P(B) + P(G) = P(B OR G) = 1

C -- random variable, case of connection, i = 1, 2, ..., n.

So random variable C takes values in the set {1, 2, ..., n}.

p(i) = P(C = i)

b(i) = P(B | C = i) = P(B AND C = i)/P(C = i)

= P(B AND C = i)/p(i)

g(i) = P(G | C = i) = P(G AND C = i)/P(C = i)

= P(G AND C = i)/p(i)

B = U_i {B AND C = i}

P(B) = Sum_i P(B AND C = i)

= Sum_i p(i) P(B | C = i)

= Sum_i p(i) b(i)

P(G) = Sum_i p(i) g(i)

b(i) + g(i) = P(B | C = i) + P(G | C = i)

= P(B AND C = i)/P(C = i) + P(G AND C = i)/P(C = i)

= ( P(B AND C = i) + P(G AND C = i) )/P(C = i)

= P( (B AND C = i) OR (G AND C = i) )/P(C = i)

= P(C = i)/P(C = i) = 1

M -- event, a missed detection of a bad connection, fraud

D -- event, detection of a bad connection, fraud

F -- event, false alarm

 _Detection Rule:_

Suppose for some set I a subset of {1, 2, ..., n} we raise an alarm of a detection of a bad connection, that is, fraud, when C in I.

With this detection rule, probability of a false alarm is

P(F) = Sum_{C in i} P(G AND C = i)

= Sum_{C in i} P(G | C = i) p(i)

= Sum_{C in i} g(i) p(i)

the probability of a detection is

P(D) = Sum_{i in I} P(B AND C = i)

= Sum_{i in I} P(B | C = i) p(i)

= Sum_{i in I} b(i) p(i)

and the probability of a missed detection is

P(M) = P(B AND C not in I)

= Sum_{j not in I} P(B AND C = j)

= Sum_{j not in I} P(B | C = j) p(j)

= Sum_j P(B | C = j) p(j)

\- Sum_{i in I} p(B | C = i) p(i)

= Sum_j P(B | C = j) p(j) - P(D)

= Sum_j P(B AND C = j) - P(D)

= P(B) - P(D)

So, to minimize the probability of a missed detection P(M) we want to maximize the probability of a detection P(D). We guessed this intuitively.

To maximize the probability of a detection P(D), suppose we have sorted our data on the n cases so that the ratios b(i)/g(i) are in descending order, that is, so that

b(1)/g(1) >= b(2)/g(2) >= ... >= b(n)/g(n)

Suppose we pick k in {1, 2, ..., n} and let I = {1, 2, ..., k}.

Then for our detection rule with this k and I, the probability of a false alarm is

P(F) = Sum_{i in I} g(i) p(i)

So, note that here really we are just summing i = 1, 2, ..., k where, as just above,

b(1)/g(1) >= b(2)/g(2) >= ... >= b(n)/g(n)

So, we just sort these ratios and then sum the products g(i) p(i) on i until we get our selected probability of false alarms f.

As we will prove below, this is just the thing we should do.

If we pick k too large, then our probability of false alarms will be larger than our selected value f. If we pick k too small, then our probability of detection will be smaller than we want.

Also for our detection rule with this k and I, the probability of a detection, what we want to maximize, is

P(D) = Sum_{i in I} b(i) p(i)

So, suppose we pick k just large enough that P(F) = f (or close enough for government work).

Claim: With this selection of k and I, we get, as in (1), the probability of a false alarm f we selected and, for that probability of a false alarm f, get the probability of a detection P(D) the largest possible and, as in (2) the probability of a missed detection the smallest possible.

To see this claim, we want to select x_1, x_2, ..., x_n to solve the _operations research applied mathematics resource allocation optimization problem_

Problem 1:

max z = P(D) = Sum_i x_i b(i) p(i)

subject to

P(F) = Sum_i x_i g(i) p(i) <= f

x_i = 0, 1

Yes, from the x_i, I = {i | x_i = 1}.

Problem 2:

Suppose for some L >= 0, x = (x_i) solves

max z = Sum_i x_i b(i) p(i)

\- L ( Sum_i x_i g(i) p(i) - f )

subject to

x_i = 0, 1

Then since x = (x_i) solves Problem 2, we have that for any y = (y_i) that satisfies the constraints of Problem 1, that is

Sum_i y_i g(i) p(i) <= f

and

y_i = 0, 1

we have that

Sum_i x_i b(i) p(i)

= Sum_i x_i b(i) p(i)

\- L ( Sum_i x_i g(i) p(i) - f )

>= Sum_i y_i b(i) p(i)

\- L ( Sum_i y_i g(i) p(i) - f )

>= Sum_i y_i b(i) p(i)

so that x = (x_i) solves Problem 1.

For more, in Problem 2, we have

max z = Sum_i x_i b(i) p(i)

\- L ( Sum_i x_i g(i) p(i) - f )

= Sum_i ( x_i b(i) p(i) - L x_i g(i) p(i) )

\- L f

= Sum_i ( x_i ( b(i) p(i) - L g(i) p(i) ) )

\- L f

so that x_i = 1 if and only if

x_i ( b(i) p(i) - L g(i) p(i) ) >= 0

and

b(i)/g(i) >= L

So, the way to solve Problem 1 is to pick k = 1, 2, ..., n, set I = {1, 2, ..., k}, and set x_i = 1 for i in I and x_i = 0 otherwise so that

Sum_{i in I} x_i g(i) p(i) = f

In particular,

L = b(k)/g(l)

That is, intuitively, we are making investments in real estate, our probability of a false alarm

P(F) = Sum_i x_i g(i) p(i) = f

is like money.

We get to invest the money in cases i = 1, 2, ..., n. For case i,

b(i)/g(i) = (b(i)p(i))/(g(i)p(i))

is our return on investment, that is, at investment i, the probability of detection we get for the probability of false alarms we are willing to tolerate.

So, we sort so that the ratios

b(1)/g(1) >= b(2)/g(2) >= ... >= b(n)/g(n)

and make investments in the order i = 1, 2, ... until we have spent all our money.

Then, for the money we have spent, that is the best return on our investment we can get.

Thanks to J. Lagrange, K. Pearson, J. Neyman, and H. Everett.

<comment><USER31> Errata:

Change

L = b(k)/g(l)

to

L = b(k)/g(k)

</comment></comment><comment><USER32> This would have been such a huge help to me a couple of years ago. Good read and good looking service.

</comment><comment><USER33> Or big FY to privacy conscious users. Does not mean that these are not a strong indicators of a possible fraud, but when applied fiercely would really hurt legitimate users.

</comment><comment><USER34> These are not useful statistics at all the way they're presented. Base rate fallacy or something? Idk. There's issues.

<comment><USER35> I don't see why not. Any feature that correlates with fraud is useful. Some of these correlate pretty strongly. And then combining multiple weak features can rapidly increase the certainty that a user is or is not fraudulent.

<comment><USER34> You can't tell how well these features correlate without knowing what the population of non-fraudsters is that satisfy each feature.

<comment><USER35> Presumably they have that data. That's how they found these correlations.

<comment><USER4> that is not something that should be presumed, this kind of error is super common, especially with people that are otherwise not statistically well grounded.

if 1% of transactions are fraudulent, and these indicators have only a 1% false positive rate (which it has nowhere close to), and it will match the fingerprint of every fraudulent transaction (which it wont) you get an absolutely titanic false overall positive rate, somewhere around >50% false positive.

This is not some trivial pedantic thing, its a very important aspect of statistical models that must be explicitly stated to be accounted for. It is not enough to say "every y has characteristic X" if no other information about X is provided.

<comment><USER35> Yes I understand Bayes Rule. Nowhere in the article did they make any such fallacy. They are just stating what features happen to be predictive of fraud.

Anyone actually using this would use a proper statistical model and real data, not random figures they found on a blog. But this post does give useful advice of what features to test.

In any case, if there is only a 50% chance that a user is a fraudster, it still might be worth rejecting them.

Anyway, using your assumption of 1% fraud, and using all of the features listed in the article (and presumably there would be other features too, but let's just use the ones they talked about), I do the following calculation:

1% = 1:99 x 8:1 (32 bit OS) x 9:1 (fresh cookies) x ? (Null values doesn't give a number, or suggests that 100% of null values are from fraudsters and never appear organically, so I will exclude it) x 5:1 (referrer history) x 96:70 (Windows) x ? (Number for plugins not given, but it seems to be a low correlation) x ? (No number given for incognito, but it's probably low.)

= 5:1 or 83% probability they are fraudulent, excluding the missing values, which would raise it further.</comment></comment></comment></comment></comment></comment>


Is Google A/B testing with Gmail ads? - <AUTHOR> http://twitpic.com/419o3w/full

<comment><AUTHOR> The odd thing is I haven't seen this "irritating pink ad" in any of my colleague/friends Gmail's inbox. Wonder what may be the reason ?</comment>


Sony's CEO Calls Hacker Attack 'Hiccup' in Company's Online Strategy - <AUTHOR> http://www.bloomberg.com/news/2011-05-17/sony-chairman-stringer-calls-hacker-attack-hiccup-in-road.html <comment><USER2> Despite Sir Howard's pretensions, Sony still doesn't really 'get it,' instead they just want to fight the old way, kind of like the English redcoats marching rank and file through Indian country.

Read Geohot's blog response to the hack, and you'll get a much better read on the problem:

Traditionally the trust boundary for a web service exists between the server and the client. But Sony believes they own the client too, so if they just put a trust boundary between the consumer and the client(can't trust those pesky consumers), everything is good. Since everyone knows the PS3 is unhackable, why waste money adding pointless security between the client and the server? This arrogance undermines a basic security principle, never trust the client.

<http://geohotgotsued.blogspot.com/>

</comment><comment><USER3> This attack was the first of many. Sony has done the one thing tech companies should never do. They've given people much smarter and more technically skilled than them a cause. I don't want to perpetuate the "basement dweller" stereotype, but the fact is that the people who took the PSN down spend all their spare time at their computer. This wasn't a simple attack. It wasn't just for lulz. The PSN outage was the opening battle of a war.</comment>


Google ends first click free policy - <AUTHOR> https://digiday.com/media/please-subscription-hungry-publishers-google-ends-first-click-free-policy/ <comment><USER2> Previous discussion on NYTimes piece covering same policy change (1 day ago, 132 comments):

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

</comment><comment><USER3> Does this include entire articles or just pieces of an article?</comment>


From a 2050 interview with Sarah Winston, former President of the United States - <AUTHOR> http://people.csail.mit.edu/phw/interview.html

<comment><USER2> They use the <font> tag and lay things out inside of a single cell <table> in 2050 ? Who knew how wrong we were...

</comment><comment><USER3> Poorly written. I usually love reading "future vision" short stories, but I couldn't get past the bad writing.</comment>


Ask HN: The Arc Effect - <AUTHOR> or HN: the Next Iteration
I get the impression that with Arc being released a lot of people who never had time for HN before are suddenly dropping in more often. (PG: what are the numbers on this? I'm envisioning a spike.)
Not to say that isn't great, but I'm wary of Diggification. Between links comparing programming to sex and a flurry of gratuitous, ostentatious  adjectives in the headlines it's a bit concerning.
80% of the stuff that makes the front page is still pretty awesome, but what's in place to keep the signal/noise ratio high? Does the HN model still work as the community scales? What's in store for (++ HN)? <comment><USER2> You can see two spikes in unique visitors due to Arc here:

<http://ycombinator.com/images/news.yc.1year.png>

There was a spike in Jan when I said Arc was imminent, and then another when it came out. But if you squint your eyes and look at the whole curve, the underlying growth rate seems pretty constant.

In other words, while it's true we've been getting a lot of new users lately, this probably would have happened anyway.

What to do about that growth is another matter. I think a lot of users are alarmed at the sight of fluff links on the front page because they remember what that meant for other sites in the past. But the current fluff link (<http://news.ycombinator.com/item?id=120816>) was submitted by a long-time user, and there are no signs of statistical weirdness in the votes on it. I.e. statistically the users who upvoted that story are no different from the ones upvoting the other top stories. So at the moment I'm still hopeful that the bad signs are false alarms.

I have a hunch that the way to fend off the hordes of 14 year olds is to keep up the quality of the stories on the front page. Then if they come across this site they'll decide it's boring and leave.

<comment><USER3> I'm not sure _how_ to fight fluff, but I think there's a strong case to be rather zealous about it.

It seems obvious that the direction of these communities is highly reflexive, in that users are determined by content, which is determined by users, and on and on. Neither users nor content is an "independent variable"... they depend on each other.

So there's no reason to assume stability in the system. A big influx of new users + a few badly timed fluffs, and things could roll downhill in escalating fashion (the fluffs attract a few extra fluffers from the new users, who then produce more fluff, which attracts a few extra fluffers from yet-new-users, ...)

<comment><USER4> May I suggest that fluff can be fought by NOT upvoting fluff links.

<comment><USER2> That's hard. But the opposite strategy might work: upvote non-fluff links. Only a few percent of the users of a site like this ever vote. So if the "silent majority" who never vote made even a slight effort to vote up non- fluff stories as a way to protect the site, that would have a real effect.

</comment></comment></comment></comment><comment><USER5> Does having 3 main hacker sites (this, proggit, /.) imply the retreat from 14 year olds will reach a stable equilibrium, and end the eternal September problem? <http://en.wikipedia.org/wiki/Eternal_September>

There are only so many 14 year olds in the world, so at some point the rate of change in users will be 0, incoming equals outgoing.

<comment><USER6> I think each of the three sites listed has a slightly different focus. Slashdot has a wide "nerd" focus, from computers to astronomy, and typically seems to follow major industry happenings. HN is focused on the boot strapping entrepreneur-hacker. programming.reddit seems more interested in actual programming, techniques, languages, etc. Sure, they all overlap the same general market, but each one caters to a different niche. I think as more communities pop up, catering to more and more niches, we'll notice less 14 year olds because they will be spread more thinly, but they'll still be there.

</comment></comment><comment><USER7> Why not just scale the weight given to a vote based on the voter's karma? Or would this encourage group think?

<comment><USER8> This could work, but I'd recommend scaling to sqrt(karma) or log10(karma) to offset the network effect a little.</comment></comment>


A better iPad keyboard - <AUTHOR> http://rosscarter.com/2010/320.html <comment><USER2> I don't think this would work very well. iPad typing, like normal typing, is all about muscle memory. Given a default position (fingertips hovering above middle row) each of my ten fingers has learned how to reach for and connect with each letter key. After reaching for a letter and tapping it my fingers immediately return to the default position. To type a capital letter I quickly tap shift with the pinky opposite the hand that will reach for that letter and then it's business as usual. Same goes for the symbol keys on the second page. This system minimizes the unique muscle movements needed to type the full spectrum of letters, numbers, and symbols. Sure: I'm making more key presses to type a single symbol in the current system, but many of those keystrokes are motions that I have learned to make very rapidly since they are used so often.

In this new scheme I'd be learning a new movement for each capitalization and special character. Seems like it will be a while before I'd become nearly as proficient as I am now (65wpm).

Also, adding flicks (especially downwards ones) to all of the keys seems like a recipe for wrist strain.

There are some interesting ideas in this post, and I'm not saying there isn't room for improvement on the iOS keyboards, but this isn't it. In the end I think it just boils down to needing practice.

And yes: I'm biased. My buddy and I buuilt an iOS typing trainer called TapTyping. We have seen people get some pretty impressive results:

<http://www.flairify.com/leaderboard/>

<comment><USER3> _In this new scheme I'd be learning a new movement for each capitalization and special character. Seems like it will be a while before I'd become nearly as proficient as I am now (65wpm)._

(Not so) Breaking news: New things take some getting used to.

If you really managed to memorize _three_ separate keyboards (regular, numeric, symbols) and all of the tap/hold options they have, props to you. But, memorizing three keyboards isn't something I've managed to do -- even after using iOS pretty much since the original iPhone first came out. But, I'd personally rather just have it all _right there on screen_ , without having to hunt a key down.

<comment><USER2> I think we are talking about different use cases.

I'm coming from the perspective that you shouldn't be looking at the keyboard when you type- virtual or not. Instead you are relying on robotic muscle memory to generate a specific character.

So in my view there's a lot more new stuff to get used to in the author's proposed scheme. We would be memorizing a distinct set of finger motions for every distinct symbol as opposed to a fixed set of taps to certain positions on the keyboard - some with one or more preceding modifier keys (that are always at the same keyboard position).

<comment><USER3> I'm coming from the perspective of _the iPad is right in front of my face when I'm typing and how can I not look at the iPad when using it?_

Apple took advantage of the iPhone to rearrange some parts of the keyboard. Ross is taking advantage of the larger key size on the iPad to do the same and (as far as I can tell) to scale back from having to memorize _three_ different keyboards (thats not including the non-standard-but-still-available Email, URL, etc keyboard).

And honestly? It sounds like you don't want to have to learn something new again. Which is fine. But it doesn't make Ross's keyboard _bad_ in any way, like you're claiming.

<comment><USER2> It's best to look at the text you're generating. Not the keys you are pressing.

I would LOVE to try out the author's keyboard. It's great that someone is at least trying to push touch screen typing forward. I remain skeptical that this form of text input could be faster or safer for your wrists- but it COULD be more enjoyable to use for short typing sessions which is also important.

<comment><USER3> _It's best to look at the text you're generating. Not the keys you are pressing._

I haven't been able to separate the two on the iPhone/iPad; they're both on the same screen and relate to what I'm doing at that exact instant.

 _I would LOVE to try out the author's keyboard._

If you like, email me your UDID and I'll email you back with the demo app the author provides. Or maybe a build of Mobile Colloquy (an IRC client) with this, if I have time to hack it together.

</comment></comment></comment></comment></comment></comment><comment><USER3> I had the pleasure of having Ross show me his keyboard about a month back, at SecondConf. I really like the idea. It took a few minutes of getting used to, but, _it works really well._ And it'll be even better when it has all the little touches to pull it together (Gradients on press/in the direction thats being flicked, graphics for all the keys, etc. See the README).

If you don't know, Ross Carter makes Pagehand (<http://pagehand.com>) for Mac. Its a very nice text layout app that fills the gap of being somewhere between TextEdit and Pages.app. I don't know if he's porting it to iOS, but I wouldn't be surprised if he's thought _a lot_ about it and the best way to enter text.

Anyway, this is progress. It's the first non-Apple keyboard for an iOS out there. It pushes iOS input forward into another direction (something that Apple really hasn't done much of, for US text input).

<comment><USER4> The review of a hands-on user should be ranked above speculation by a competing dev team. Unfortunately, that relationship is currently reversed. No offense to the competitors.

</comment></comment><comment><USER5> I hate to be the one to point this out, but the keyboard on Windows Mobile has had something like this for a _long_ time (drag up to shift, left to delete, right for space and down for enter). It makes typing on iOS devices feel really slow and laborious.

</comment><comment><USER6> The flick-up on comma and period is a nice shortcut.

Here's another one that's helpful: If you want to type just one character that's on the numerical keyboard, don't just tap the ".?123" button, tap and hold then drag to the key you'd like to press. This selects that key, then immediately returns you to the alpha keyboard.

<comment><USER7> On my iPad, when I try to do this with the shift key, it seems to have trouble tracking where my finger slides. It only follows me when I'm moving really fast. As soon as I slow down, it gets stuck on whatever key I'm over. It doesn't do this with the .?123 key.

</comment></comment><comment><USER8> Slightly related: Japanese "Ten Key" keyboard[1] on iPhone did something similar to this. Keys are mapped to consonants, with each flick direction being vowels. Biggest caveat is that the learning curve is pretty high, since you have to remember which vowel goes into which direction.

Apple did not implement this keyboard on an iPad, though. I assume because it would be pretty awkward to use in a full-sized keyboard layout. (E.g. target for full two hands vs. thumb)

[1]: <http://www.youtube.com/watch?v=kVy1p0v0Pow>

<comment><USER9> That's pretty darn clever! That's the only time I've seen a language that looked seriously type-able on such a small keyboard.

<comment><USER10> sirn is damn right about the learning curve, but once you get the hang of it (as I have), it's an absolute pleasure to type in Japanese.

So much so, that it makes you almost regret having to type English messages.

</comment></comment></comment><comment><USER11> Author seems to not realize that several keys show alternates when held.

<comment><USER12> I didn't realize that either! Although it just took me a while to find any that did, and even those that do are not very useful. For example round brackets, I cannot seem to hold down any key to get that character.

My biggest grips is 'n'. I keep conjoining words with n because it seems as though I hit that rather than space. Then autocorrect makes matters worse is that it figures it out and rather than breaking the words, it instead keeps the last word and drops the first. This is harder to spot when proofing than if it had just left the conjoined word alone.

I mainly use the blackberry for anything typing heavy.

<comment><USER13> Years ago, I experimented with a speech synthesiser for the Commodore 64. You used it the typical Commodore way: open a channel to the device, print command codes to the channel. Something like OPEN 3,12,1: PRINT#3, "H0E1L0O3 W0E4R1L0D0";: CLOSE 3 would be the obvious first step (I'm making up the details, but it gives you the idea). One funny thing was that, if you forgot the semi-colon at the end of the PRINT# command, you got an "nnnn" noise at the end of every statement. Why? Because all ASCII characters had associated sounds with the synthesiser, and the end of line character, which the semi- colon suppresses in a print statement, was mapped to the sound of the letter N.

Decades later, totally different technology, and you brought up that memory. Plus ça change and all that.

<comment><USER14> I wonder if that was related to "\n", or if the synthesizer intentionally mapped nonprinting characters to sounds (that would seem to make the command set more complicated than necessary, but bytes were precious then so what do I know.)

<comment><USER13> Could have been that, but I think it was just a coincidence. In CBMSCII, pronounced "ka-BOOM-ski", which was the warped and bizarre version of ASCII used on the Commodore machines, the end-of-line character was 13, aka Ctrl+M, not the C/Unixy Ctrl+J.

From dim, distant memory, every one of the 255 characters had a sound mapped to it, though surely I'm misremembering since there are only about 40 distinct phonemes in English.

I just remembered that it was called SAM, and here's the Wikipedia link: <http://en.wikipedia.org/wiki/Software_Automatic_Mouth> Ah, memories...

</comment></comment></comment></comment></comment><comment><USER15> I was thinking a more ergonomic keyboard that auto sensed your finger locations when you placed all 10 fingers on the keyboard would make a better keyboard for the ipad.

for a touch typist the keyboard wouldn't even need to be visible, as setting all fingers down again would reset to your current finger locations. Just showing the keys as they are pressed may be sufficient.

Adjusting your fingers to the home row could be difficult. I have had the fingerworks keyboards ever since they came out which has tactile dot's to re- adjust your fingers to the home row. Switching so that the keyboard home row moves to where your fingers are seems like a way to avoid the looking at the keyboard on the screen.

Although since the fingerworks wasn't a wild success, this keyboard app would probably be just for a nitch userbase.

</comment><comment><USER16> I somehow think if every key were to implement this, then quick typing would quickly lead to troubles. Why not simply do a long press for most punctuation and show it underneath, as on Android? I used to hate this about my iPod Touch, which I did a lot of typing on (often used for IM) and I am already faster using the touchscreen on my Android phone then I ever was on my much- used iPod (after 2 weeks with the phone and a year with the iPod).

That said, I doubt this is a independent-developer possibility. Alternative keyboards for iOS have, thus far, been limited to their own app, such as ShapeWriter as there is no way to implement them system-wide.. you can copy and paste and what not, but it's far from convenient.

</comment><comment><USER17> "Flicking down on any letter renders it in uppercase. Flicking downward with two or more fingers anywhere on the keyboard toggles Caps Lock, which is identified by swapping the uppercase and lowercase labels on the flickeys."

It seems that the Caps Lock idea should not be limited to the upper and lower cases. I would propose that a two finger swipe in any direction could shift the keyboard and replace the primary key faces.

Flick a single key with one finger to type from the alternate characters in that direction.

Double flick up, right, down or left to shift-lock in the chosen direction. Shift-locking consecutively in the same direction would cycle in order.

A two finger tap could return to default.

</comment><comment><USER18> Interesting idea, but most interesting is the retention of capslock. Is there ever a real use for capslock anymore? I can imagine turning it on by accident and promptly going insane.

<comment><USER19> Well, if you want to type in all caps for some reason, then caps lock on iPad keyboard seems much more usable than hitting shift, hitting key, hitting shift again, repeat repeat. Especially if you might be using the keyboard one handed.

</comment></comment><comment><USER20> _By the way, .?123 is an odd label. You can already type . and ? from the main keyboard._

Minor Note: This is a holdover from the iPhone keyboard which has no punctuation marks on the main letter keyboard. I'm not sure whether it's better to keep the symbols the same or not but I can certainly understand why Apple would have the somewhat redundant symbols on the button.

</comment><comment><USER21> I think this guy takes it a couple of steps too far. If he noticed that the keyboard doesn't give him enough feedback about where some of the shifted/modified keys are, then increased display of the character options is called for, not introducing an entirely new movement.

</comment><comment><USER22> I've been wanting to do this for a while now.

Surprisingly, if you look at the date of the post, it was originally written on April 23rd, 2010, a few weeks after the iPad was released.

</comment><comment><USER23> I'd just settle for Swype.

<comment><USER24> I'm not sure swype works well in the iPad context. I don't even like to use it in landscape on my incredible. It's too much distance to swype.

<comment><USER25> Long before Swype, I enjoyed Fitaly on keyboards that were so small they needed a stylus.

Fitaly is designed to minimize single finger travel:

<http://fitaly.com/fitaly/ofkey.htm></comment></comment></comment>


Ring: Shortcut Everything. - <AUTHOR> https://www.kickstarter.com/projects/1761670738/ring-shortcut-everything

<comment><USER2> This is an absolutely fantastic idea, however I would not be interested in buying it until it they make it rugged enough that simple tasks like washing your hands would not ruin the device.

Also, how is this charged? There is no mention of it. It should be compatible with the Qi charging standard, and if it isn't, this is DOA IMO.</comment>


Corman Lisp sources are now available - <AUTHOR> http://lispblog.xach.com/post/107215169193/corman-lisp-sources-are-now-available <comment><USER2> Awesome. Here's hoping someone can clean this up and get it building with VS2013. It would be amazing to have a Windows-native free/OSS CL. Neither Allegro or LW are truly free; their "free" tools have pretty limiting restrictions on how they can be used, which mostly just leaves one with SBCL and making do with libraries for anything Windows-based (of which I'm not even sure there are many).

<comment><USER3> I think it's pretty unlikely that this will be made to work in a modern environment in a useful way. I think the primary benefit will be historical interest and possibly the reuse of some of the component parts.

[http://lispblog.xach.com/post/107215169193/corman-lisp- sourc...](http://lispblog.xach.com/post/107215169193/corman-lisp-sources-are- now-available) has some more context. I'd have posted it myself directly, but xach.com is blacklisted from HN.

<comment><USER4> The ban on xach.com was removed a few weeks ago.

<comment><USER5> Can we get the URL changed then please, the context really helps.

<comment><USER6> Sure. Done.

<comment><USER5> Thanks!

</comment></comment></comment></comment></comment></comment><comment><USER7> There was a mailing list on Yahoo groups for Corman Lisp for those interested in browsing the history. Most of the activity occurred 2001-2003: [https://groups.yahoo.com/neo/groups/cormanlisp/info](https://groups.yahoo.com/neo/groups/cormanlisp/info)

</comment><comment><USER8> Fantastic. Thanks for doing this.

Esp. the compiler and FFI is super simple, much simpler than SBCL. I was one of the few people who worked with it those times.

I feel Roger's pain with the MSVC changes over time. But I don't think porting it to the newer compilers or mingw64-gcc would be that hard.

</comment><comment><USER9> Corman Lisp is good as a learning tool for Lisp. I had tried it out some, a while earlier, and also corresponded with the creator, Roger Corman. Interestingly, some time ago, he was looking for Lisp developers for a project in Lisp.

<comment><USER3> It might have been at some point in the past, but it doesn't run on modern systems, does not fully implement Common Lisp, and can't run much of the useful software written in the past 10 or so years.

It's still pretty cool, but not as a learning tool in 2015.

<comment><USER9> I don't agree with your points.

1\. It ran for me on Windows 7 not too long back - a year or so ago, IIRC. 2\. I did not say that it fully implements Common Lisp. I said is useful as a learning tool - meaning for beginners to Lisp. This scenario is quite possible and can make sense for beginners: install an easy-to-setup-and-start-using tool like Corman Lisp; try learning _some_ of the basics of Lisp for some time using such a tool; if you find that you understand it well enough, and are interested enough to proceed further, THEN find a better/more advanced/professional Lisp and start using it. In other words, gradual learning curve, less investment of time (on installation/setup, etc.) at the start, etc. All good reasons. 3\. A beginner is likely not going to want to run "much of the useful software written in the past 10 years" \- or however many years. A beginner is going to want to learn the basics of the language - by definition.

And I was talking about beginners in my previous comment - hence used the term "learning tool".

<comment><USER3> I think anyone who wants to be able to stick with a system as they grow, get supportive help from an active user base, reuse the work of others in the form of useful libraries, and not worry about the viability and future of their development environment should use something like LispWorks, Allegro CL, Clozure CL, or SBCL. LispWorks and Allegro CL are just as easy to install and use on Windows as Corman Lisp.

<comment><USER9> 1\. That's exactly one of my points. I don't thing it is necessary for a user to stick with one system as they grow. A user may prefer to start with a very simple tool, use it for a while, then move on to a more powerful but somewhat more complex tool. I guess it is a difference of opinion there.

2\. I had also tried out LispWorks and Allegro CL. It was a while ago, so don't remember exact details, but IIRC, either or both of them was not so easy to _use_ as Corman Lisp was - for beginners, mind you. Both were easy to install though. Note: I am not criticizing those two products on grounds of technical quality. I had read up a lot about Lisp in general, plus specifically about various prominent companies and individuals in the field, and the work that they had done, earlier, before trying out these tools, and so I know that both of those companies are by very accomplished Lisp people. It's just that I didn't find them that easy to use as a beginner to Lisp, compared to Corman Lisp.</comment></comment></comment></comment></comment>


State of Startups - <AUTHOR> http://stateofstartups.firstround.com/2016 <comment><USER2> I know this is created by a VC firm, but strange that they equate starting a company to requiring to raise money.

"Though the majority of founders say we're in a bubble, 9 out of 10 founders believe that it's a good time to be starting a company."

If you're not looking to raise, it doesn't matter if there is a bubble or not. Or am I missing something?</comment>


8 ways to destroy a startup - <AUTHOR> http://www.mytton.net/posts/2008/8-ways-to-destroy-a-startup-10 <comment><USER2> #10 Try to add all the features that your competitor have instead of releasing something flimsy quickly.

</comment><comment><USER3> #9 - try to sell technology instead of selling products</comment>


Ask HN: What types of subversive hacking are illegal? - <AUTHOR>

With the sudden advent of "patriotic hacking" we've seen "hackers" (for lack of a better word) take matters into their own hands and bring down corporate websites, etc. I've never engaged in this behavior myself and I'm curious as to the legality of various types of subversive "hacking" - DoS attacks, form spamming, or whatever other creative ways you can think of. Are there any good resources on this? Which ones could potentially get you in legal trouble? How easy is it to get caught, if you upset the wrong people? <comment><USER2> The short answer is that they're all illegal. If you're in the United States, you might consider reading the Computer Fraud and Abuse Act <http://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act>

But seriously--anything you might consider "subversive hacking" is illegal. I'm trying to think of an exception, and one really isn't coming to mind. It's legal to port scan people, but scanning the government or military is sort of asking for trouble.

It is easy to get caught if you don't know how to cover your tracks. I'm not going to give more details on not getting caught doing illegal things, because that's not how I roll.

I work in information security, and would love to point you in the direction of legal (but still cool) resources. One popular resource is the Offensive Security Metasploit Unleashed course [http://www.offensive- security.com/metasploit-unleashed/Metas...](http://www.offensive- security.com/metasploit- unleashed/Metasploit_Unleashed_Information_Security_Training) \-- It's well written and teaches you pretty much all there is to know about Metasploit, from basic usage to advanced scripting.

Hope that helps a little bit, and remember--the knowledge isn't illegal, but breaking into systems without propor authorization is. Don't throw away a bright future because you want to see what's on some random box.

<comment><USER3> "But seriously--anything you might consider "subversive hacking" is illegal."

What are you counting as "hacking"? Hacking together some encryption software to retain privacy from an intrusive government is subversive and, in many countries, legal.

<comment><USER2> Well, first of all, if you're writing crypto software to avoid an intrusive government, then said government would probably make that software illegal.

My goal was actually to show (as you're rightly pointing out) that there are lots of cool security related hacks that one can do legally.

The poster, though, was asking about DDoS, form stuffing and otherwise "black hat" activities in relation to the law. You can't DDoS or exploit software on systems that you don't have permission to test, nor can you stuff forms to defraud advertisement providers like Adsense. Spamming email is illegal as well.

I'm not trying to argue the semantics of "hacker" and "cracker" and "script kiddie." Hacker News refers to _hacker_ in its original sense, where as I perceive the poster to be asking about security related practices.

</comment></comment></comment><comment><USER4> Years ago there was a tool by Tom Liston called LaBrea Tarpit that could be used in defending against a DDOS. The theory behind Tarpit was to acknowledge the packet, then silently forget about it, releasing the resources on the defending side, but, the attacking side sat there with the resources being used. We used it rather successfully against a DDOS and while handing data over to several three letter agencies. Through cooperation with another country, 18 months later the hacker was arrested.

Now, LaBrea was unique, DMCA was a new law on the block and Tom Liston received a legal brief or opinion (I don't recall from whom) that stated that several states that were classified as Super DMCA States might actually consider LaBrea to be a reverse DDOS. It was sort of a stretch of the existing law, but, you could see how it could be applied.

The original intent of the SuperDMCA law was to prevent the anti-telemarketing devices from holding the line open when telemarketers called. Because of the way the old phone system worked, a flashhook would not disconnect two parties in case the person was on an older 1A switch and was trying to access certain services. This behavior moved over to 5ESS switches and even to this day, when someone calls, if they refuse to hang up and you don't have digital service, when you hang up you will not immediately get a dial tone. Briefly, the contention was that this behavior could prevent someone from calling 911 and could put the person in jeopardy. The rough comparison between the law and LaBrea Tarpit claimed Tarpit's behavior could constitute itself as a reverse DDOS - and Tom Liston stopped distribution of it. Of course, it was open source, but, by taking the stand that he wasn't distributing it, he was trying to protect himself from any legal liability.

I've dealt with the FBI on other DDOS attacks and I am in Florida, and I have told them that I have used Tarpit to defend against the DDOS. During one attack, they did offer to write an OIA as they wanted the data (political site).

So, even defending yourself against a DDOS could be illegal. :)

</comment><comment><USER5> If you have to ask, you're probably playing around with forces you shouldn't mess with.

Hack via providing goods and services that consumers or businesses will pay for. You'll actually see a return on your efforts.

</comment><comment><USER6> On the flip side, I have had some positive experiences doing some casual (non- malicious) hacking on some tech-blogs \ websites I frequent. Nothing too fancy, just simple SQL injection for privilege escalation and the like.

Any time I find something I immediately follow up with an email to the owner/administrator with all of the relevant information (including my IP address and contact information). The reactions have generally been quite positive (I've even gotten some complementary swag out of it).

</comment><comment><USER7> A lot of tools can be used for either good or evil. I am with david_shaw. Don't do anything illegal. That said, <http://sectools.org> is a great resource for network security software.

</comment><comment><AUTHOR> For the record (believe it or not), I'm not interested in doing any of this myself. I'm just curious as to what kind of trouble those that have been doing this recently might be in.

</comment><comment><USER8> Anything involving doing something to someone else's computer systems, without their permission, is illegal. It doesn't matter what your motives are.

Whether you will be prosecuted or convicted for those acts is a separate issue. Rule of thumb: if you cause harm/damage/bad things to happen, you will be prosecuted.</comment>


Ask HN: Will AI be able to create a more perfect programming language? - <AUTHOR> This article prompted me to ask if an AI can produce self-modifying code, wouldn't tend to evolve into a programming language better than any we have now?
https://www-newsweek-com.cdn.ampproject.org/c/s/www.newsweek... <comment><USER2> IMO, no. ML is about improving the training and results from an existing dataset. No computer will ever be able to make the leap into _creating_ a dataset that never existed; the best it can do is build something from pieces and parts that were already available. In other words, a computer that can play chess cannot teach itself to bake chocolate chip cookies (no ML; no training for that), but a human can.

Language design, in fact the existence of language as we are discussing, is the exclusive domain of humans. It takes humans to invent a new language (See mine: [0]) because only humans can make the leap to something truly new. Computers won't invent programming languages any more than they can paint real paintings or make real music. Computer speech, writing, art, and music can only be made from parts which were curated or defined by people.

[0][https://mimix.io/specs/](https://mimix.io/specs/)

<comment><USER3> > No computer will ever be able to make the leap into creating

But aren't humans proof an inanimate set of atoms _can_ be creative? Electric charge is pushing pressure through a psychical structure for both human brains and man-made computers.

Unless there's something supernatural going on (ie having a soul), I'm convinced real creativity can come from a variety of physical structures, from carbon based human brains to silicon machines.

<comment><USER2> That's an entirely different set of combinatorics. Life and ATP and energy transport within cells arose from inanimate molecules and DNA is just inanimate parts and that led to evolution and intelligence. A computer has far more limited resources to work with (processor, memory, storage. That's it.) and cannot "jump the box" in the way that is possible with chemistry and physics that gives rise to chemistry.

</comment></comment></comment><comment><USER4> > a programming language better than any we have now

This is so purely subjective it makes my head spin. What makes a programming language _better_ than any other? Surely the right tool for the job, and the tool that you have the most knowledge and experience in, is the 'best' programming language.

It just strikes of that 'beginner-programmer' thinking where we latch onto language_x and then proselytise it for no other reason than we are proficient in it, without any self-awareness of our own opinions.

</comment><comment><USER5> You have to define "better" better. Usually it's a measure of the productivity of human programmers using it. So languages that match human thought patterns are better. It's not clear that AIs would be good at optimizing for human comprehension.

If AIs are writing code directly, they might work faster with a very different-looking language that would be hard for people to design. So they might evolve something for their own use.

</comment><comment><USER6> Brainfuck is better than any other programming language. It has only 8 different commands to use ( instead of the much more verbose GO programming language ) and those commands are simple, one character long terms. From now on every code will be simpler and shorter. The benefits are multiple fold - more speed, easier compile optimalizations and for humans this is definetly the easiest language to grasp.

<comment><USER7> What about GolfScript?

</comment></comment><comment><USER8> Siri or her cousins will get better and better until there really isn't need for "programming"

You'll just have a conversation. Maybe if your trained in one of those "old programming languages" you might exchange pseudo code to get your point across. or draw out a truth table.

</comment><comment><USER9> If it does, will it be a more perfect language for _humans_ to use, or just more perfect for AIs?

</comment><comment><USER7> If they do it'll look a heck of a lot like lisp or one of its many flavours.

<comment><USER4> Surely that's purely subjective. I look at a lisp and gasp, but that's because I've never really used it and am not used to it.

<comment><USER7> Well, whatever it is it'll likely look like gibberish to humans without some syntactic sugar. But my point is that it would likely share that data/code macros business.</comment></comment></comment>


Wolfram Alpha Blog : Yes, That's Dumb—A Lexicographic Footnote - <AUTHOR> http://blog.wolframalpha.com/2009/05/24/yes-thats-dumb-a-lexicographic-footnote/ <comment><USER2> It would be cool if Wolfram Alpha incorporated functionality from Princeton's Wordnet Database:

<http://wordnet.princeton.edu/>

Screenshot: [http://minimalism.linguistics.arizona.edu/~sandiway/wnconnec...](http://minimalism.linguistics.arizona.edu/~sandiway/wnconnect/snapshotl.png)

As you can see from the screenshot, it allows you to map all kinds of relationships between words (e.g. taxonomies).

I always found WordNet to be an amazing tool, albeit one that could use some UX work.

<comment><USER3> That is actually what is being used here.

Wordnet is one of the sources for the WordData[] function. <http://reference.wolfram.com/mathematica/ref/WordData.html>

</comment></comment><comment> cool-RR Why doesn't Alpha let you actually browse the synonym network? Why does it show the sixth-level relative of a word but won't let me see all of its immediate synonyms?

</comment><comment><USER4> Interesting, ... the synonym network containing "black" contains 26,330 words.

The entire English language must be partitioned into "K" non-overlapping synonym networks. What is the value of "K" ?

I wonder if K = 2, ... and the other synonym network contains "white".

If K > 2, then how many words are in the "white" synonym network, and what other words are not connected with "black" or "white" ?

Whatever K is, it must be relatively small, since there are only so many words in the language, and the synonym networks seem rather large.

<comment><USER5> What about "ash"? I'd expect that to be in both networks: in "black" as a synonym for "coal" or "cinder", and in "white" as a form of "ashen", "pale", etc.

More widely, why must there be K non-overlapping networks that cover the entire language? Naively, I'd expect an unbounded number of non-overlapping small networks. But the two ideas of "Basic English" and of specialized vocabularies lead me to posit that every "significant" network (a network with a N number of members, where N > 5,000) overlaps with at least 1 other "significant" network. As a result, I would suspect that it would be difficult or impossible to find K non-overlapping sets that partition the entire language (where K is less than... oh, let's say 100).

<comment><USER6> An unbounded number of networks would be made of an unbounded number of nodes in the minimal case, and I have a hard time describing the number of English words as "unbounded". If you apply the full power of Internet debate (now with extra axioms!) to the twisting and spinning of the term and streeeeetch the meanings as hard as you can, maybe you can get there, but not by any sane method.

<comment><USER5> Oh, is English supposed to be sane? I hadn't noticed.

You're right, of course: I was using "unbounded" in a loose fashion. There are a finite number of phonemes used in English, and I suppose there must be some upper limit to the number of phonemes in a word.

</comment></comment></comment></comment><comment><USER7> Wolfram|Alpha: statistical, linguistic analysis... now with computational racism!

</comment><comment><USER8> nltk has been around for some time now and provides much richer functionality for this sort of thing.

</comment><comment><USER9> For a moment there I thought this was reddit-like Wolfram bashing.</comment>


Nintendo Labo – cardboard add on's for the Switch - <AUTHOR> https://www.youtube.com/watch?time_continue=172&v=P3Bd3HUMkyU <comment><AUTHOR> This is probably the single best STEM education tool I have seen created in a long time.</comment>


Florida Cops Have a New Device for Tracking Your Cell Phone - <AUTHOR> https://warisboring.com/florida-cops-have-a-new-device-for-tracking-your-cell-phone-d9a181a4cf27 <comment><USER2> Does anyone know how to detect if your phone has been intercepted by a device like a Stingray</comment>


Is the redesign killing Facebook apps? Yes, say app developers - <AUTHOR> http://www.alleyinsider.com/2008/9/is-the-redesign-killing-facebook-apps-

<comment><USER2> The facebook redesign is indeed hurting many existing apps. But it's one of those things that hurts in the short term but will help in the long term. Or at least I think that's the intention.

Firstly, the type of app that is currently dominant, i.e. the "Joe bit you, CLICK HERE TO BITE HIM BACK" junk, does indeed need to die. I don't think Facebook initially intended for this type of thing to be the dominant form of facebook app, but the amount of distribution power they exposed was a new thing for app developers and users. So we've all installed the zombie app now. Whoopee. It's time to trade away some of the noise that comes from fad apps and instead promote some serious apps. Apps that might be useful to people even when sober.

That's why I'm pleased that, alongside the redesign, facebook is exposing more and more of the API you'd need to do serious things on facebook. For example, just a month or two ago they finally released an API call that can create facebook events. In case you hadn't noticed, facebook events are one of the most useful features in FB, and letting third-party apps connect more meaningfully with the built-in Events app will probably make them more useful. That's certainly going to be the case for an app I'm currently building (for a client) that helps you get from "I wanna see a movie next week" to specific plans with a guest list. One of the most common responses to this app is "wow, finally a facebook app that's actually intended to be useful". If zombies and its ilk continue to get prime billing, people will eventually assume that all apps are trivial and the whole platform will be written off by most users. Preventing that is the long-term benefit.

Finally, this article is just not credible. Suppose your app started to lose traffic around the time of the redesign. You'd have one of those sad-looking graphs and you'd feel shitty. Maybe you were just unlucky? Maybe August just happened to be the point when your fad started dying down? Why make your app better when you could just blame facebook!

That said, Facebook's platform doesn't come with any guarantees. Facebook Inc. can make or break you if they ever decide to care. AFAIK they've been more reasonable than, say, Apple+iPhone, but Facebook dependence is a big risk. This may actually be another thing they should try to solve in order to motivate more serious app development.

</comment><comment><USER3> If I never saw another Facebook app I'd never even miss them.

<comment><USER4> you and me both.

I also question the so-called diligence of VCs who invested in fb app developers believing a viable and sustainable model existed. Why? Here are a few of my reasons: 1. social flight 2\. arrogant leadership (i'm CEO bitch) 3. unstable platform in regard to design changes (fb is fb, it's not an OS).

Now, I certainly feel a few indies and bootstrappers can make a great salary... but 10:1 return is high-risk and an unlikely scenario, IMO. I dunno, maybe I'm bias because I've been a long time user of fb (having left both Friendster and MySpace) and absolutely can't stand 99% of the fb apps.

<comment><USER5> I think the app market is barely in its infancy.

F'rinstance, why hasn't Vue subclassed the FB Event app to create a cinema trip event that automagically books your ticket? Or Dominos to order pizza for my 'Night of Mayhem'? That's where the value will come from. These all seem so obvious to me...

<comment><USER4> Good point... but I'm in the boat of "I don't want a swiss-army knife, social website, thing-a-ma-jig"... I want facebook to be good at one thing, which it once was and is no longer. As such, I visit fb about three-quarters as much as I use to...

Similarly, this is why I feel AAPL has gained market share, while MS lags behind tripping over LEGACY support while attempting to please every need of their customer base. And another example is 37signals.

However, like I said... my opinion might be bias. It's hard for me to be objective about Facebook given my distaste for it's recent shifts, and having loved the former.

</comment></comment></comment></comment><comment><USER6> OH yes the redesign is killing apps. But wasnt that the point?

<comment><USER7> how do you know that?

</comment></comment><comment><USER8> This highlights one of the biggest problems I have with web apps. The flip side of "you can instantly upgrade all users of your software" is "your users are all forced to use the latest version, whether they like it or not".

In the old days, if you didn't like the new version, you simply didn't upgrade. Nothing would stop you from running the old version. (I'm still using a 2001 version of an app which has had 3 major releases since then.)

With open-source, you had the option not only of sticking with the old version, but maintaining it.

Web apps, in this respect, are a step backwards: you can't even run the old version. If you're lucky, they might include an "Older version" link (GMail), but chances are they'll just remove features without even updating the docs (Google Maps). (But I'm not bitter.)

In the economic sense, you used to have to compete with not just your competitors, but with older versions of yourself. On the web, this self- competition is removed. Also, web apps tend to have strong network effects (who's the #2 Facebook or Twitter?), and make it very difficult to get your data out. Great for startups, bad for users.

</comment><comment><USER9> Don't be a sharecropper. Never base your primary business on a platform that's not completely open because if you do, you will suffer and you will be governed by someone else's whims. Think of all these proprietary platforms as marketing venues or ways to monetize portions of your revenue. But never base your core around them.

</comment><comment><USER10> It's terrible! The new layout is most certainly not conducive to my sheep- throwing.</comment>


GitHub flagged account with a repo containing kernel mode attack/driver - <AUTHOR> https://twitter.com/subTee/status/1211084113504899072 <comment><USER2> A reply from a GitHub worker:

> _We do not do content scanning of private repos. There are many reasons an > account can be flagged, but uploading a kernel driver to a private repo is > not one of them._</comment>


Twitter Users Split on Boycott Over Platform's Move Against Rose McGowan - <AUTHOR> https://www.nytimes.com/2017/10/13/technology/twitter-boycott-rose-mcgowan.html?rref=collection%2Fsectioncollection%2Ftechnology&action=click&contentCollection=technology&region=rank&module=package&version=highlights&contentPlacement=2&pgtype=sectionfront <comment><USER2> What's the saying? When millionaires argue with billionaires it's hard to care?</comment>


If a logo changes every day, is it still a logo? - <AUTHOR> http://xooglers.blogspot.com/2006/05/if-logo-changes-every-day-is-it-still.html

<comment><USER2> Great read. I will be adding this blog to my Reader, for sure.

I would say that although most companies wait until their logo is "burned" into the memory of customers, changing up the logo is a definitely a practice that is done. Just think about when you watch a commercial on television, and you know it's Coca-Cola long before they tell you. Is it the music? Is it the certain shade of red? It's branding. The Economist is also known for its creative use of brand power; their advertisements often feature a very small version of their logo, if it's featured at all. But the same dry, sharp wit for which the magazine is revered, leaves no doubt that the ad belongs to The Economist.

By the way, there is more information on the Dilbert-Google fiasco these two posts on the same blog: [http://xooglers.blogspot.com/2006/05/theres-no-story- yet-plo...](http://xooglers.blogspot.com/2006/05/theres-no-story-yet-plot- thickens.html) [http://xooglers.blogspot.com/2006/06/brilliant-love-it- now-c...](http://xooglers.blogspot.com/2006/06/brilliant-love-it-now-could- you-change.html)</comment>


Milankovitch Cycles - <AUTHOR> https://en.wikipedia.org/wiki/Milankovitch_cycles <comment><USER2> This is something taught about in most introductory earth science classes in college and is pretty interesting. Recently, I've seen it referenced as a means to debunk global warming as the historical evidence of the fluctuation of temperature throughout history and natural global warming. However, it doesn't account for anthropogenic changes in CO2 output, albedo changes as ice masses melt, and of course cow farts.

<comment><USER3> Seconded -- I know little about climate science, but I have faith that the people who have PhDs in in and have dedicated their working lives to learning more are aware of Milankovitch cycles. Yet over and over some other internet dummy who is no more educated on the subject than me will dismiss the IPCC report and triumphantly say something like, "AGW is a hoax. The climate changes cyclically because of Milankovitch cycles", as if climate scientists had never heard of it or hadn't factored that into their models already.

Another good one is when they will trot out some statistic, say, 30M years ago the CO2 levels were at 4000ppm and we are doing just fine. What they seem to fail to recognize is that the only reason they have that knowledge is due to climate researchers. Somehow the deniers will accept climate research if they think it supports their position, but then will decry the researches as ignorant, as if the climatologists weren't aware of the very facts they have amassed.

<comment><USER4> It's not that I'm sceptical of climate science, it's just that the discussion is now... entrenched. The random person will not debate the wisdom of human- induced changes to the weather, but also will probably not understand the Milankovitch cycles, or know the ocean water levels rise and fall on geological timescales by about 130 meters?, that we know this because (IIRC) of Wallace (I think, in tandem with Darwin?) who also noted that the divergence between different variants of the same species across the islands of an an archipelago varied more with the depth of the water between islands, than with just the distance. What about the PET (Paleocene-Eocene transition)? I'm sure that climate scientists are doing their jobs, but that doesn't mean that there aren't many (including "activists") who are willing to debate the matter without this key. Why doesn't this ever come up? (both the cycles, and the lack of depth in the discussions) If it's as dire as some seem to imply, we should all switch to nuclear right now. And personally, I am even more sceptical when I hear talk of climate justice, but that is an entirely different issue.

<comment><USER5> > If it's as dire as some seem to imply, we should all switch to nuclear right > now.

We probably should, or take other similar-scale approaches (multiple, as it wouldn't do to put all our eggs in one basket).

The lack of response shouldn't be taken as any indication that the problem isn't dire. That would be placing a truly ridiculous amount of faith in human civilization to tackle collective-action problems, which there is little evidence we are especially good at doing.

In fact, what you see in the world is _exactly consistent_ with an extremely dire problem and a very insufficient response.

Why the response to such a dire problem is so lukewarm is left as an exercise for the reader.

<comment><USER6> I think it's notable that he's saying "I don't believe in this, but I'd belive it if you did X" where X has been considered and dismissed by most relevant experts (nuclear is simply too slow to build and and too expensive to fix the problem) exactly like these cycles have been discounted as an explanation of global warming.

So if someone keeps bringing these things up, then it's likely they're acting in bad faith or they've been duped by someone else doing likewise.

Enthusiastic nuclear support while downplaying other sensible solutions (carbon fees, renewables, insulation and efficiency) is basically the socially acceptable face of climate change denial at this point.

</comment></comment></comment></comment></comment><comment><USER7> I have a friend who did his PhD studying Milankovitch cycles in the Netherlands.

When he defended his thesis, his friends presented him with the "milankofiets": a bicycle ("fiets", in Dutch) where the wheels were off- center, and the crown was elliptical (and also off-center). Biking it was very hard, and the speed would vary depending on the phase of each part of the bicycle.

<comment><USER8> Come on, historians like epicycles. Which would be a proper name for that riding implement in English. (Presuming it's the stationary one.)

Anyway, we have math to prove any semistationary sequence can be broken down into a bunch of cyclical patterns "plus error". That says nothing about predictive value of that model.

</comment></comment><comment><USER9> PBS Eons recently did a good video covering this topic. Check it out here:

[https://www.youtube.com/watch?v=gUdtcx-6OBE](https://www.youtube.com/watch?v=gUdtcx-6OBE)</comment>


Reminder: Peter Seibel is talking at the Justin.tv office on Thursday (Dec 13th, 12pm) - <AUTHOR> http://abstractstuff.livejournal.com/36717.html

<comment><USER2> Me too, I'll be there

</comment><comment><USER3> Count me in :)</comment>


Ask HN: Citizen Census. What do you think? - <AUTHOR>

I read in the news that the United States Census Bureau spent over 11 billion dollars for the 2011 census (35 dollars per person) and still could not get it right. The Census Bureau refuses to use online forms because it says it would be more expensive.<p>I just put together this online form http://citizencensus.appspot.com/ and wrote this rant http://citizencensus.appspot.com/about to justify citizen census for a recount of New York City census. Let me know what you think. <comment><USER2> I worked as a manager in the USCB for a few months last year, so I think I can give a little insight as to why the Census is so expensive, and why we didn't use an online form.

Virtually all of the money spent taking the Census was on enumerating non- responding households, hiring people to go door-to-door to count people. Only a few million were spend mailing out forms.

The problem with online submissions is that it's quite difficult to uniquely identify people online, and a large portion of the population doesn't use computers. It's also expensive to go through records of people who submitted both online and mail-in forms with slightly different entries and determine what is and isn't a duplicate.

Government software projects are also very expensive. I know you could throw this thing together in about an hour, but this isn't the same thing as the US Census. The Census doesn't get to assume that everyone uses a Google account that's tied directly to their real-life identity, and they need assurance that their software is extremely secure. It doesn't justify the obscene prices many contractors charge, but keep in mind that most corporations overpay for software, too (e.g. Oracle database)

There's a reason the government doesn't offer to pay people to turn in their census forms. It incentivizes people to turn in multiple forms, making the count less accurate.

There's also not much utility to a form that anyone can customize. Sometimes, when you're dealing with 310 million people, it's easier to treat them as cattle even if they really are all unique snowflakes.

<comment><AUTHOR> Thank for this insightful comment. Do you think, online form would work to count a relatively small section of the population, such as New York City?

 _The problem with online submissions is that it's quite difficult to uniquely identify people online,_

Does the census form ask the social security number of the person? Social Security number would uniquely identify individual online or offline.

 _and a large portion of the population doesn't use computers._

According to this [http://www.google.com/publicdata?ds=wb- wdi&met=it_net_us...](http://www.google.com/publicdata?ds=wb- wdi&met=it_net_user_p2&idim=country:USA&dl=en&hl=en&q=united+states+internet+usage) over 75 per cent of the population is online. And this is probably more in New York City with easy access to internet cafes.

 _It's also expensive to go through records of people who submitted both online and mail-in forms with slightly different entries and determine what is and isn't a duplicate._

My proposal is for online form only.

 _The Census doesn't get to assume that everyone uses a Google account that's tied directly to their real-life identity, and they need assurance that their software is extremely secure._

Again, can this be solved with asking social security number of people submitting their forms?

<comment><USER2> I think an online form would be nice if there were a way to ensure we weren't getting duplicate applications. Unfortunately, there is no unique identifier, so we would need to go by heuristics, which complicates things enormously.

If you do online-only and only 75% of people are online, you have to hand- count 25% of the population, which means you'd need about a 70% response rate with the people online to match what you have with paper forms. That's not realistic, I don't think. Plus, the people who aren't online tend to be in remote areas, which are much more expensive to hand-count.

The Census is inefficient in a whole lot of ways, but one thing that makes it really efficient is standardization. Every one of the ~700k enumerators gets the same exact kit, every manager gets the same boxes, and everything is basically made so an idiot can do it. There are two reasons for this: the first is that it's cheaper, but the second, more important reason is that the data is consistent from place to place. If people in NY respond online and people in North Dakota respond by mail, you'll get lots of little statistical differences that make the data less easy to work with. This the big reason they need to homogenize everything.

As the other commenter said, the social security number only works for people who are citizens, but the intent of the census is to count everyone who is regularly living in the area at the time. It's a tricky thing to define, and I think a silly one, but it's what the constitution says to do so we do it.

</comment></comment></comment><comment><AUTHOR> <http://citizencensus.appspot.com/>

<http://citizencensus.appspot.com/about></comment>


Conway's Game of Life in HTML5 - <AUTHOR> http://simon.lc/game-of-life/

<comment><USER2> To the author: have you tried making the board wrap around instead of having an impenetrable border? In my experience it looks better and keeps interesting things happening longer :)

<comment><AUTHOR> Sounds like it could be fun, I'll try it out and push the change if it works well. Ultimately I would like to add a way to have an 'infinite' field, but this might be easier to implement. Thanks for the feedback.

</comment></comment><comment><USER3> Neat! :D

Minified JavaScript :(

But from one Simon (canvas lover) to another I decided to chewing through the plastic bars of minification to see what was going on. In your loop you're doing:

        beginPath()
        arc()
        fill()

You could get away with nothing but arc() and moveTo() in your loop instead and make it a bit more efficient on slower (mobile) devices, because only one new path has to get created.

Your moveTo's x coordinate is going to need to be offset by the radius since thats where each starts. So it would look something like this:

        s.beginPath()
        loop start
            s.moveTo(10 * b + 5 + 4, 10 * c + 5)
            s.arc(10 * b + 5, 10 * c + 5, 4, 0, 2 * Math.PI, d)
        loop end
        s.fill()

I didn't try out the code, just typing in the open air here, but it should work.

<comment><AUTHOR> Hi fellow Simon, I do link to the code on github, for anyone that wants to look at it in full. Here it is again: <https://gist.github.com/3889013>

That's a great tip! I love little optimizations like that, thanks for the input. :)

</comment></comment><comment><USER4> It would be easier, if clicking and dragging filled all the cells in the mouse-path with life. Without this, it is very cumbersome to initiate the cells.

Great work, btw! Now everyone can play the game of life! :)

<comment><AUTHOR> I tried making this initially but had trouble. I will try to revisit it soon though.

</comment></comment><comment><AUTHOR> As per some feedback, I've added a random button, and some initial life, for those that don't know what to create. I'm still working on some of the other things people have suggested:

      - Saving the state of the 'creation stage'
        and resetting it when the player clicks a restart button.
        So you can experiment without having to redraw everything.
      - Wrapping cells around border (think Super Mario Bros 2.)
      - Easier drawing, using click and drag.

For those that have already tried it will likely need to clear their cache with ctrl+f5.

</comment><comment><USER5> Another one we discussed a while ago:

<http://willbailey.name/conway/index.html>

The discussion: <http://news.ycombinator.com/item?id=2555071>

The annotated source: <http://willbailey.name/conway/docs/conway.html>

</comment><comment><USER6> The methuselahs[1] always amazed me in Conway's Game of Life. If anyone's interested, here's the population growth (number of live cells in a given state) of the R-pentomino: <http://i.imgur.com/lR3i9.png>

[1] <http://en.wikipedia.org/wiki/Methuselah_(cellular_automata)>

</comment><comment><USER7> A random button would be a fun way to get started.

<comment><AUTHOR> I think I'll add a 'Create Life' button that adds a random known pattern.

</comment></comment><comment><USER8> Hey I was promised HTML5! What's with all this Javascript?!

As a side note, posted on HN the other day: [https://www.google.com.au/search?hl=en&q=conways%20game%...](https://www.google.com.au/search?hl=en&q=conways%20game%20of%20life)

</comment><comment><USER9> My own attempt: <http://www.julianpulgarin.com/canvaslife/>

<comment><AUTHOR> That's really cool! Can't stare at it for too long though, the colors are too bold for me. I like the amount of presets you have, I'm new to this game, it's very cool to see all these things.

I have a few ideas that I want to try and implement next week, hopefully to differentiate the game's everyone's been sharing.

</comment></comment><comment><USER2> A couple of fun patterns:

        .**
        **.
        .*.

        .*.
        ..*
        ***

<comment><USER10> If you put the second one directly next to itself some cool stuff happens

</comment></comment><comment><USER11> doesn't work here with firefox 16.0.1 on linux (adblock and noscript is disabled)

<comment><AUTHOR> I'm on the same version, I haven't tested on Linux. Could the problem be that you aren't creating the initial cells? Try drawing this pattern in the center before clicking start:

        |0|0|0|
        |0|_|0|
        |0|_|0|

or

        |_|0|_|
        |_|_|0|
        |0|0|0|

<comment><USER12> It's somewhat unintuitive. I also had just pressed play at first. Then I read the text and added a bunch of unconnected dots. Nothing. Only after reading your comment above have I understood how it works.

<comment><AUTHOR> Yes, I'm working on an update that adds something interesting from the start, and a better explanation of how to play. Thanks for the feedback. :)</comment></comment></comment></comment>