HNHacker News
TopNewBestAskShowJobs

frig

538 karma · joined December 11, 2008

submissionscomments
frig··on A New Approach to Aid: How a Basic Income Program Saved a Namibian Village
This is in der Spiegel b/c there's much more basic income advocacy in Germany (especially on the part of eg Gotz Werner, mentioned early in the article); that this experiment is being run in Namibia is likely due to Namibia's links with Germany.

A sustained basic income program differs markedly from just "giving people money" and other "poverty eradication" methods in several ways, and it will be interesting to see if those differences lead to different long-run results in the future.

The two major differences are: basic income is uniformly distributed across the population at predictable rates and on a predictable schedule; the second is that the aide is explicitly in "cash money", and not in-kind.

The underlying logic is this:

(1) escaping from extreme poverty requires making-and-following-through on plans on a long time horizon; for example: deferring present consumption and leisure and instead saving and pursuing education

(2) the circumstances of poverty are circumstances in which it is particularly difficult to make and especially to follow-through on such long-term plans

(3) a basic income program directly addresses the perceived root cause of poverty -- circumstances in which longer-term planning is too difficult to follow-through on -- by providing a stabilization factor (a small but 100% predictable income) and thereby making it substantially easier for those so-inclined to stick to those plans

You don't have to believe in that logic, but that's the logic. Following through on it:

- just giving "windfalls" -- direct lump-sum cash -- shouldn't be expected to have the same impact (even if, in an abstruse enough outlook there's no difference between a windfall and an equivalent annuity; we're explicitly talking personal psychology, here); it allows for a temporary improvement in one's circumstances but does not directly address the predictability factor

- just giving aid in kind -- wells, books, etc. -- likewise improves material standard of living but does not directly address the ability to make-and-stick-to long-term plans

...so it would be no surprise that earlier aid was ineffective, as it was symptom-patching that didn't do anything to address the perceived root cause of poverty.

Your commentary on the incentive-to-make-children thing is somewhat shallow:

Poor people have little capital to invest and make up for by using the children as a resource. It seems like a great idea at the time, but also virtually guarantees that the kids will be poor. And the cycle repeats itself.

The problem you sketch is this:

- poor people produce children b/c children are an exploitable resource

- poor people lack resources to invest in raising and educating their children

- ergo, the children go on to also become poor, perpetuating the cycle

You seem to have failed to draw the connection between the problem you pointed out and the idea of pegging the stipend per-child; doing so means that the situation now becomes

- poor people produce children b/c children are an exploitable resource

- poor people now receive k$stipend per offspring; so long as $stipend > $cost-of-adequately-educating-a-child there are no monetary* obstacles to educating and raising all k children (for whatever size of k we pick)

- ergo, there's no longer the intrinsic link between "too many kids" and "resources spread too thin to raise them right"; there's still room for moral failings / bad culture / bad choices / etc., but moral failings / bad culture / bad choices / etc. were present before the experiment and will likely always be with us, anyways

...which is why the stipend is tied to # of children. This now allows us to back up and look at the earlier criticism: "incentive to produce children".

Let's assume you're right: the extra stipend an extra kid brings in is such a material incentive that it materially effects the # of offspring women choose to have.

We must then ask: would increased production of offspring be a problem?

You seem to assume "yes, of course", and then explain your reasoning (what we just went through: inadequate resources => not raised right => cycle perpetuates).

Were the program to result in children being raised "well enough" (to go up a rung or two on the poverty ladder versus their parents) then the link between "moar children" and "bad" is a little less clear; it might even be the case that "moar children" == "good", in that having more children raised right speeds the arrival of some future point in time when the majority of the adult population has been raised right (instead of having learned the shiftless habits of the previous generation).

Time will tell, of course; this experiment would have to run for years or decades to get conclusive results; small changes happen quickly but most cultural and behavioral patterns take longer to iron out.

You're also being a little uncharitable in your fact-check (not incorrect, just uncharitable). Pre-BIG she wouldn't have been raising those chickens, b/c buying chickens to breed-and-raise pays off over too long of a time horizon to be practical; post-BIG, she's demonstrably using some of her surplus income to invest in activities that pay off over a longer-term, which is a clear success with respect to the general goals of what a basic income program is trying to do. So the program's verdict would be "great, we gave people no-strings money and hoped they'd use it to build wealth and lift themselves out of poverty (instead of blow it on alcohol); this woman has done that" and not "well shit, if we'd known she was going to want 40 chickens we could've just given her some for 1/10th the price" (if that kind of aid worked there wouldn't be as much poverty).

frig··on London's GPS-based speed-limit trial puts Big Brother's foot on the gas pedal
Your redheads example is either terrible or disingenuous or you're just innumerate; you're comparing 10k traffic accidents / annum with redheads, of whom there's several millions.

If you're going to try and have an honest debate you ought to pick an example that's not so laughable on its face; it's too hard for me to "forget" the actual sizes of the groups in question even when I try to assume they're comparable.

I pretty much give up on you; the sequence here is:

- some dude points out "if you could show that forcibly staying within the speedlimit => many more lives saved due to fewer accidents than are lost due to inability to speed to the hospital, it might be justified to hard-code the speed limit"

- rather than debate on the actual merits of the specific point in question, you pop over to trying to argue that on general principles the road to hell is paved with utilitarianism

- to make your case you invent a contrived example that's so far off as to be close to intellectual dishonesty

- you give up on your example and revert to just saying what it was supposed to accomplish -- showing that acting on utilitarian-calculus 'lives vs. lives' has revolting implications for the individuals on the wrong side of a decision -- while missing the point: utilitarianism is a tool for choosing between shitty alternatives, and that going the other way (picking the other alternative) has revolting implications for the individuals on the wrong side, too...which is why this is hard

Generally the best you can do is pray you're never finding yourself in a position where any of your decisions will inevitably have shitty consequences for other people; part of the general cussedness of life is that you can really only escape such positions -- or at least your awareness of being within one -- by shirking responsibility, adopting willful blindness, limiting the scope of your options, or becoming a jerk.

frig··on London's GPS-based speed-limit trial puts Big Brother's foot on the gas pedal
I'd stick with the serious point; it's not unique to politics and bureaucracies, though: just about anything can be justified by appealing to increasing shareholder value:

- paying generously above market rates? argue it is a morale-booster that leads to happier employees -> higher productivity -> higher profits -> higher shareholder value

- paying perilously below-market rates? argue the obvious cost-cutting line -> fatter margins -> higher profits -> higher shareholder value

...and the same with any other appeal to some vague metric of utility.

My serious point is that if you are arguing against "utilitarianism" (at that hoary level of abstraction) by saying:

- here's an example where 'utilitarianism' yields bad outcomes

...you're self-defeating, b/c your sole argument contra 'utilitarianism' hinges on a utilitarian-inspired argument (that the fact that one course of action yields better actions than another => taking the better course).

All you've accomplished is shown that you, too, seem to be a utilitarian, and all you're doing is pointing out a need to be careful in how you choose your utility metric. This doesn't make a convincing case against utilitarianism-the-abstraction and opens your specific 'corner case' to examination, which likely will not fare well if you pick a silly 'corner case' to try.

frig··on London's GPS-based speed-limit trial puts Big Brother's foot on the gas pedal
You're being silly: under your scenario the 'minimal force necessary' would be about what's necessary to prevent drivers from being distracted by random glimpses of penis:

- general knowledge that "hey, there's a law against indecent exposure; waving penis at passing drivers is indecent exposure"

- general knowledge that penis-flashers who get caught will suffer unpleasant consequences

...it's certainly not "cut off all the penii preemptively", and not even "surgically install unremovable loincloths"; in other words if red hair was really that unbelievably distracting the worst-case scenario minimal force for redheads would be that they cover up while in certain parts of the public.

So aside from the strawman choice of examples, you're also depending on utilitarianism to argue against it, which is pretty lame:

- don't be a utilitarian! it leads to bad outcomes!

frig··on Point nine recurring ...
I'm not trying to claim the "internal representation" is somehow more correct or even prior-to the real #s, etc.; I do think (though admit I haven't proven) that a great many common examples of innumeracy can be explained by assuming the innumerate are using a "reals + infinitesimal" representation...which doesn't make the innumerate claims right, but possibly helps get at why they make those particular mistakes and not others.

In the previous post I was hoping to make (only) the following claims(s):

- in my experience, the theory "people who claim .9... != 1 are (unknowingly) equating .9... to 1 - delta" has explanatory power (in that the results of doing calculations with deltas are aligned with what these people claim)

- I suspect that the internal human numerical representation is often a cruder, less rigorous form of nonstandard analysis, and that the reason you encounter otherwise-smart people who won't budge on .9... != 1 is that for them the question goes straight to that internal representation

The just-so story for why I think the internal numerical representation is approximately real #s + some infinitesimal would go like this:

- small distances aren't reliably perceivable under natural conditions: if I have two identical 8L pots and one has 4L and the other has 4.001L in it I probably can't tell which is which visually; if I'm not in very controlled conditions artifacts of ambient lighting or perspective or variations in the pot material will overrule any perceivable visual difference between the two

- actions with nonzero actual effect often have no perceivable effect: if i have an 8L pot with 4L in it and I insert 1 ml from a pipette I probably can't see a difference even after the ripples settle down, but of course I will know that there's more water in the pot after I put some in than before

...and thus it'd make sense (at least for items with a continuous scale of size) to keep track of both:

- what size do I perceive this to be? (the real component)

- if I know extra information (eg: that I added a .001L) about the size does that information say that the actual size is going to be > or < the size I perceive it to be (the "infinitesimal" component)

...and it's not unreasonable that for ad-hoc, intuitive reasoning the mind would (roughly speaking) make the "correct" adjustments when combining size measurements (eg: (x + delta) + y > x + y, (x + delta) + (y + delta) > x + y + delta, (x + delta) + (y - delta) 'is a wash between' x + y, etc.)...after all even babies and animals apparently can do simple sums intuitively/automatically.

frig··on Point nine recurring ...
And if you did 'solve' X = (.9... + 1)/2 using the standard 'algorithms' for doing it by hand you will wind up with X = .9... + .0...1 (more on this in a sec); you get there by noticing 1.9... / 2 looks like it ought to be .9..., but "of course" 2 x .9... == .9...8, ergo you can deduce you have .9... + a remainder of .0...1.

If you don't believe .0...1 exists (infinite 0s followed by a 1) then this ought to convince you that .9... == 1 (as (x+y)/2 == x => x == y) but since we're (hypothetically) arguing with someone who believes .9... != 1 it's quite plausible that the person is also going to believe in .0...1 existing, also.

What I suspect is actually going on (I've also met otherwise-savvy people who will debate this issue also) is that the human numerical-cognition system uses something like a crude form of nonstandard analysis internally; and, under this theory, you see this internal system (and its intuitions) leak out in some people smart enough to get that .9... really does have 'infinitely many' 9s but who also for whatever reason are both undereducated on this point of mathematics and generally self-assured.

Briefly: you can extend the real #s with a new entity (call it delta) such that:

- delta > 0

- if r is a nonzero # then delta < |r|

- (for now) delta^2 = 0

(in effect: delta is an infinitesimal, it's nonzero but smaller than any other positive #, and delta^2 is 0 is mainly an algebraic convenience).

Once you've extended things by including delta you can write extended #s in the form r + s x delta (eg: 1 - delta).

If we re-define ".9..." to be 1 - delta, then the following all drop out of that:

- .9... != 1 (1 - .9... == delta != 0)

- .9... < 1, (1 - .9... == delta > 0)

- and we even get: (1 + .9...)/2 = 1 - (delta/2) ==> (1 + .9...)/2 > .9...

And more generally in my experience most of the spinning-in-circles around people with beliefs about .9... != 1 is that the people who vociferously believe .9... != 1 don't even know about non-standard analysis (or infinitesimals, etc.) and thus can't articulate what their intuition is telling them, but what their intuition is using is basically (a nonrigorous form of) analysis with infinitesimals.

frig··on To all who Think Themselves a Programmer
The kid is full of win. A+++, I bow to you.
frig··on To all who Think Themselves a Programmer
Thanks.
frig··on To all who Think Themselves a Programmer
Missed the edit interval, so:

  def findPossibleSolutions(querytext): 
    for result in GoogleCodeSearch(query=querytext): 
      yield result

  def tryOutPossibleSolution(candidate): 
    output = None 
    with SafeSandboxedEvaluatorFactoryFactory(candidate.language).safeSandboxedEvaluator() as evaluator: 
      output = evaluator.evaluate(candidate.code) 
      return output

  def validatePossibleSolution(candidate, validator): return 
    validator(tryOutPossibleSolution(candidate))

  def giveMeValidSolutionSourceCodes(querytext,validator): 
    for validSolution in (candidate for candidate in findPossibleSolutions(querytext) if validatePossibleSolution(candidate,validator)): 
      yield {'source'=validSolution.code,'extension'=validSolution.languageExtension}

  if __name__ == "__main__": 
    helloWorlds = giveMeValidSolutionSourceCodes("hello world", lambda x: x == "hello world") 
    firstValidSource = helloWorlds() 
    if firstValidSource: 
      print "helloworld.%s:\n\n%s" % (firstValidSource["extension"],firstValidSource["source"]) 
    else: 
      print "helloworld.py:\n\nprint \"hello world\"" # default case ''
frig··on Point nine recurring ...
See, what's so awesome about that answer is it allows the idiocy to keep rolling. Here goes:

Proof: assume .9... < 1 (b/c lol I know this); then: X = (1+.9...)/2 => 2X = 1 + .9... =>

- 2X < 1 + 1 = 2 x 1 (b/c 1 > .9...)

- 2 x .9... = .9... + .9... < 2X (b/c .9... < 1)

=> 2 x .9... < 2X < 2 x 1

=> .9... < X < 1

=> proof there's a # between .9... and 1, assuming of course .9... < 1.

What's cute about this is it's employing a similar conceptual error: the above proof is literally circular -- it's proving something equivalent to '.9... < 1' (that there exists a distinct # between .9... and 1) by assuming '.9... < 1'; it's just different-looking enough to hide the circularity / equivalence if you don't want to see it (the analogy to the 'debate' as to whether .9... == 1 should be apparent).

frig··on To all who Think Themselves a Programmer
Yeah, and in point of fact now that it seems too late to edit my original post I am going to clarify here: this ad definitely works.

I wasn't specifically intending to make fun of the guy's appearance; he looks like a normal 20-something, doesn't look overweight, does look like he shaves regularly, does look like he gets sunlight, etc; it was just that after I tracked the guy down I was disappointed that he wasn't actually wearing a ninja mask in his picture (or whatever).

frig··on Poll: Does point 9 recurring equal one?
Nice work including the axiom of choice in there.

FWIW it's hard to imagine the mind that wouldn't believe in the axiom of choice but would believe in .999 == 1 being a good phrase to use; that person would probably say

- 'I have a procedure for constructing a # arbitrarily close to 1, and if you tell me how close to 1 you want it i'll tell you how many steps of my procedure you need to execute'

frig··on Point nine recurring ...
Someone once trolled an objectivist form with something like this: how do you square 'A==A' with '.9999...=1'?
frig··on To all who Think Themselves a Programmer
Additionally: in the spirit of good natured fun, here's my (clearly non-serious) entry:

'' def findPossibleSolutions(querytext): for result in GoogleCodeSearch(query=querytext): yield result

def tryOutPossibleSolution(candidate): output = None with SafeSandboxedEvaluatorFactoryFactory(candidate.language).safeSandboxedEvaluator() as evaluator: output = evaluator.evaluate(candidate.code) return output

def validatePossibleSolution(candidate, validator): return validator(tryOutPossibleSolution(candidate))

def giveMeValidSolutionSourceCodes(querytext,validator): for validSolution in (candidate for candidate in findPossibleSolutions(querytext) if validatePossibleSolution(candidate,validator)): yield {'source'=validSolution.code,'extension'=validSolution.languageExtension}

if __name__ == "__main__": helloWorlds = giveMeValidSolutionSourceCodes("hello world", lambda x: x == "hello world") firstValidSource = helloWorlds() if firstValidSource: print "helloworld.%s:\n\n%s" % (firstValidSource["extension"],firstValidSource["source"]) else: print "helloworld.py:\n\nprint \"hello world\"" # default case ''

Edit: if there's a way to reproduce source code please inform.

frig··on To all who Think Themselves a Programmer
Is there anything in the ad that isn't already encouraging its readers to make decisions based on appearance (in this case, that of a fun and elite group of people)?

In what possible way is 'send us the coolest "hello world" you've got, and we'll critique your style' not an invitation to judge by appearance?

frig··on To all who Think Themselves a Programmer
You missed a few, try going frame-by-frame. Remember there's 5+ ninjas there.
frig··on To all who Think Themselves a Programmer
Does this guy look like a ninja to you: http://www.gravatar.com/avatar/3b4ddb8b9c296ecf6a7cc338da508...

?

Because: that is who posted the ad; Stephen Blum, 'lead ninja engineer @ trusted opinion, inc'.

http://www.linkedin.com/in/stephenlb

frig··on How Inventors Always Get Screwed
For there to be money in 'inventing stuff' -- at least in the form of an incentive -- potential inventors have to believe there's enough possibility of there being money in 'inventing stuff' that 'inventing stuff' is worthwhile.

It's entirely possible to imagine a patent system that would work against the goals of lowering the cost of living and making progress 'go up'; such a system would be one in which:

- patent infringement carries heavy penalties when successfully prosecuted

- individual patent licenses must be negotiated individually; there's nothing resembling a compulsory licensing scheme

- researching the existing body of patents is difficult, expensive, and often inconclusive (bonus points: in addition to upfront cost of researching, actually having done the research potentially opens you to steeper penalties than would be the case had you not done the research)

- so many patents have been granted that in many fields it is hard to produce a product without using patented technology in some way (either by infringement or by licensing)

- maintaining ownership of a patent carries minimal ongoing expense, carries no obligation to put the patent to use (in licensing or in direct production)

- there's essentially no economically significant 'time-out' or statute of limitations on filing charges for past infringement

I leave as exercise to the reader deriving optimal strategies under such a system for inventors, patent-holding firms, and manufacturers.

Whether the system we have resembles the system sketched above depends greatly upon who you ask, what field with which they happen to have the most experience, their previous professional background, and from whence their current livelihood derives.

frig··on The work ethic of MJ - amazing tales from the studio by his engineers
There's a lot of reznor-sound in 'they don't care about us also', at least to my ears.
frig··on Ragel State Charts
That's useful, thanks.

Also thanks for this: http://news.ycombinator.com/item?id=134834

It's a wonderfully useful statement, and gets at what I was trying to get at much better than I could.

I stand by SMC being a better fit for simple finite state machines (eg: the kind best specified using state charts); typical uses I've put SMC towards are for ensuring consistency of internal state in complicated UI elements and similar tasks...for which there's no real 'regular language' that needs parsing (or, at least: no real gain to be had in setting up a regular language of input-events when state charts will do).

I'm guessing you're the thurston behind ragel: thank you for making ragel, for making it available, and for making it so well; it is an extremely high-quality piece of work.

frig··on Is P=NP an Ill Posed Problem?
Actually: I think you meant what I'm saying in the earlier version of this comment. But yes: if "P==NP is undecidable" holds then for any provably-polynomial sat-"solver" the following possibilities hold:

- you'd be able to find a proof it was an invalid "solver" (eg: the algorithm that assigns 'YES' to each of the N variables is provably polynomial and provably incorrect)

- you wouldn't be able to find a proof it was incorrect (in a strong sense: this isn't 'because you aren't clever enough' but b/c you've stumbled upon one of the 'true' polynomial-time algorithms, ergo there can't be a valid proof it's an invalid solver)

I'd guess you couldn't prove that a given polynomial-time algorithm couldn't be shown to be "provably known to be incapable of invalidation"; such a proof => doesn't exist a counterexample (in this case a SAT instance it doesn't get the right answer for), b/c such a counterexample is a refutation => proof the algorithm is correct => contradiction of "P==NP undecidable", but I won't remove the 'I'd guess' from that unless I had a better understanding of the field, as this kind of reasoning is the kind of thing where the technicalities are the important things, and I'm not up to speed on them.

Thus in the "P==NP undecidable" universe if you found a creepy algorithm -- in your example provably-polynomial but not known to be correct or incorrect, but "empirically" correct over a very extended period of time -- you'd know not to waste time trying to prove it correct (b/c such a proof would be obviously impossible) but you'd see every attempt at proving it invalid also fail, like you said.

Edited for clarity. Edited again for correction.

frig··on Is P=NP an Ill Posed Problem?
You're really moving the goalposts here: if it's already proven that P==NP is undecidable (your supposition) then of course you couldn't prove that the algorithm, say, solved arbitrary instances of SAT in time polynomial in their size; such a proof would prove P==NP => contradiction of undecidability of P==NP.

I was specifically critiquing this assertion:

- since it (P=?NP shown unprovable) proves that you won't ever come up with an algorithm

...which isn't exactly right (you're drawing too strong a conclusion from your supposition): in a "P==NP is undecidable" universe there's nothing (apparently) stopping there being polynomial-time algorithms for NP-complete problems, just a barrier preventing proof that a given algorithm's asymptotic performance puts it in P.

frig··on Is P=NP an Ill Posed Problem?
I wouldn't be so sure that P=NP not provable <=> de facto P!=NP.

It's at least not obviously inconceivable that one might stumble upon an algorithm for SAT or traveling salesman whose running time on all known inputs appears to be polynomial but for which a proof of its asymptotic running time might prove extremely elusive (in much the same way that so far as we know the riemann hypothesis appears to hold but proof remains elusive).

frig··on Ragel State Charts
In my experience SMC ("state machine compiler", tres original no?) is better-suited than ragel for working with state machines that're easily specified as "state charts".

The difference is that ragel is oriented around consuming a stream-of-chars: the generated state machine expects to be consuming chars as input.

You can pick up on this in the writeup even though Zed's not pointing it out: he first has to define his messages as chars (eg: 'done' == 'D'), then he specifies his states + transitions in terms of those definitions.

SMC instead generates methods for each 'message' and it's the enveloping program's responsibility to call the correct method to update the state.

This is cleaner for simpler state machines.

None of this is intended as a knock on ragel, btw: it's a very solid piece of software, and for more-complicated state machines should be the go-to choice.

frig··on OTOY to render the games on cloud.
You'd naively calculate per-player requirements at 720p to be 1,000,000 pixels/frame x 30 frames/sec x 10x rays/pixel == per-player you need 3 giga-rays / sec (+ video compression hardware). Maybe the video compression blurs stuff enough that you get pseudo-aa for free, letting you chop some of that 10x off.

Either way, their 'fusion render cloud' is supposed to be targeting the petaflop range, and @ an extremely generous 1ray = 1flop calculation (bear with me) you'd be able to handle ~333,333 simultaneous players (720p frames) @ 1 petaflop (and with more-realistic flops-per-ray you're looking @ a lot fewer).

You'd definitely need a breakthrough.

frig··on OTOY to render the games on cloud.
Unreal are doing fine for themselves. So are Microsoft, Nintendo, and Sony, more-or-less.

The sales pitch for this stuff is you can sell high-end games to people who don't have consoles or high-end gaming pcs; eg, play whatever on your iphones or netbooks or whatnot...think also the existing internet gaming-cafe market in most of the rest of the world.

It seems pretty dicey imho but it has enough logic to it I can see why people'd try it.

frig··on OTOY to render the games on cloud.
otoy was more open earlier; they've since locked it down a bit, but with some googling you can dig it out (eg: http://raytracey.blogspot.com/2008/08/otoy-transformers-and-... , links-> http://ompf.org/forum/viewtopic.php?f=6&t=882 ).

In earlier interviews Urbach spoke about a very fast gpu-assisted transform from polygon meshes -> voxels for use in their raytracer (and some hybrid meshes); the use of such a thing for making demo videos should be pretty obvious.

The video compression aspect is also interesting and probably works as you say; the point of raytracing isn't that it's faster per-se but that not having to keep transforming your scene data means you can more-easily share scene data between multiple simultaneous users on the same box (loosely: you don't need space for N translated copies of the scene data if you have N simultaneous users).

frig··on OTOY to render the games on cloud.
Reportedly the underlying tech at otoy (not the competitor, just otoy) is essentially a legitimate breakthrough in real-time gpu-assisted raytracing.

The significant advantage raytracing brings to this space is that compared to typical rendering techniques camera movement is "instantaneous": you just change the ray origin and paths, there's no need to translate+rotate the entire game world as in typical gpu rendering...which takes you from having to translate the entire world for each frame and then rendering to just rendering.

frig··on Let's reimplement Eurisko
A wag other than myself once summarized EY's other site as "wallowing in bias", which summarization did seem apt every time I overcame that tl;dr feeling and tried to wade through; I'll happily admit the possibility that there really is something nontrivial and worthwhile going on there, but the tone and contents were at more-than-a-glance indistinguishable from what people write when they are trying to convince themselves that they do believe in their heart what their mind wants to believe it believes.

As often, Dostoyevsky said it best:

He was one of those idealistic beings common in Russia, who are suddenly struck by some overmastering idea which seems, as it were, to crush them at once, and sometimes for ever. They are never equal to coping with it, but put passionate faith in it, and their whole life passes afterwards, as it were, in the last agonies under the weight of the stone that has fallen upon them and half crushed them.

frig··on Why Google Bothered to Appeal a $761 Small Claims Case (and Won)
It's not even precedence per-se.

Ad networks are abusable products: there's tons of ways someone could be making use of the service in a fraudulent fashion.

You can't know someone's fraudulently using the service until they actually fraudulently use the service, at which point by design the service will appear to "owe" them money; thus, anytime you're shutting someone down who's making fraudulent use of the service you're going to appear to owe them money right before you shut it off.

Which is why they're not going to pay this guy: as far as they're concerned he defrauded their customers -- publishers -- out of some $700, which is how his account got into a state where it looked to him like he was "owed" some $700; there's not really a reason to pay him, though, for obvious reasons, which is why they're not going to pay him.

← PreviousPage 6 of 9Next →