Hacker Newsnew | past | comments | ask | show | jobs | submit | Carlfish's commentslogin

Not entirely accurate (IANALTINLA also). It comes down to the commonly confused distinction between the burden of proof and the standard of proof.

"Proof beyond reasonable doubt" is the criminal _standard_ of proof, while the standard for civil cases is generally stated as balance of probabilities (but is a little more complicated than that)

The _burden_ of proof, on the other hand, is pretty much the same between criminal and civil cases. It's the plaintiff or prosecution's responsibility to prove their case, and if they can't do that to the standard required by law they lose. The defendant is under no obligation to do anything more than point out the flaws in the plaintiff's case.

Sometimes, though, the burden of proof shifts the other way. This usually happens when the defendant offers some kind of "affirmative defence". For example, if a defendant wanted to argue that a (civil) contract or a (criminal) confession was invalid because of duress, it would be up to the defence to produce evidence that this duress occurred. They could not just float the possibility of duress and force the prosecution/plaintiff to produce evidence that disproves it.


To paraphrase the argument: "If you steal more money than you can possibly spend, giving the rest away makes everything OK."


+1. I don't particularly care enough to get into a fight about Bill Gates' personal reputation (I'll happily accept he has done many good things alongside the bad), but the original Forbes article is offensive bullshit. So being a nasty capitalist convicted multiple times of abusing monopolies is OK if you throw a trinket to charity? This argument isn't just about his reputation, its about more than that - it's about what type of capitalism we do have and what type we should have.


As a long-time Java developer, I absolutely abhor the assumption that everything can be safely subclassed and overridden unless it is explicitly declared as final.

Implementation inheritance breaks encapsulation. It creates an intimate entanglement between the internal implementation details of the super- and sub-classes. Every time you extend a class or override a method that wasn't explicitly and carefully designed to be subclassed and overridden safely, you are _writing hacky code_.

There are, of course, places for hacky code. If you understand why something is hacky and feel it's a worthwhile trade-off then by all means you should be able to do it. Java, though, encourages people to pepper their code with such hacks before they have learned why they shouldn't.


Findbugs, the popular Java tool I linked to in another comment, explains the bug like this:

"A random value from 0 to 1 is being coerced to the integer value 0. You probably want to multiple the random value by something else before coercing it to an integer, or use the Random.nextInt(n) method."

That's about as good an explanation as you'd get from anyone.

The way I see it is this. Simple bugs like this happen because _human beings are flawed._ All it takes is a momentary lapse of concentration and you've put the cast in the wrong place in a method you don't write a test for because you're in a hurry, and all it's doing is generating a random number with a standard API so why bother? (Or it's something you wouldn't normally even test for, like assuming something is re-entrant when it isn't)

We're inevitably going to make a certain number of mistakes a day, and it's our duty to put systems into place that catch those mistakes before they cause any more damage than they should.


I believe this is the tool you are looking for.

http://findbugs.sourceforge.net/bugDescriptions.html#RV_01_T...


I'm amazed to still find Java programmers who don't run Findbugs on all their code. It's free, fast, and has a low rate of false positives.


I work there. Half the office wants one of those tshirts.


NSW has been suffering for the last decade from a totally clueless government, and an opposition totally owned by its fringe right-wing. Labor couldn't govern their way out of a paper bag and the Libs figure that instead of drifting to the centre to meet the voters, all they need to do is wait until the voters give up and move to them.

NSW doesn't have any money, so they can't do any major roads project without farming it out to private investors and putting up a toll booth to pay for it.

This has led to some really bad policy decisions. For one thing, most of the new roads are bypasses that allow drivers to skip congested areas like the middle of the city. The toll then discourages people from using the bypass and the city remains clogged. Then to bail out the investors, the government closes lanes on the free alternative routes to force people to take the tollway.

There was an amusing couple of years where you could get away with not paying tolls just by driving through the electronic gate and ignoring the infraction warnings. Because the RTA was doing all the work of collecting the money but not getting to keep any of it, they didn't care enough to follow up people who didn't pay.


I don't think Oracle particularly cares about the Java brand.

The Java brand was important to Sun because in recent years its value had eclipsed the value of the Sun brand, to the extent that they even renamed their stock ticker 'JAVA'. They poured resources into Java and Java-related projects because it was all that was keeping the ailing company relevant.

Oracle has no such problem with its brand. The company hasn't a great reputation as a philanthropist, and you have to look at what Oracle can get out of its ownership of Java. Those things are (a) exploiting the Intellectual Property, and (b) maintaining support for Oracle's own Java products.

Being a 'good steward of the language' is only important if it serves one of those two goals: i.e. if it improves Oracle's products, helps existing paying Java licensees, or creates opportunities for Oracle to license Java IP.

I'm not sure this is a healthy way for a programming language to be maintained.


I could think of many salient differences between hammering nails and programming in C, but the simplest one is:

Its impossible to do any kind of real carpentry job to completion using only a hammer. Thus, a 'hammer carpenter' is derogatory because you would not expect them to produce anything useful. C developers produce, and continue to produce complete, useful software.

There are also things like "A hammer carpenter doesn't have to spend a significant amount of career development time keeping up with the state of the art in nail compilers or wood instruction sets." C programming is a specialisation in a complex field, and such specialisations often deserve their own title.

Calling someone a neurosurgeon is like calling them a hammer carpenter. Everyone should be a GP.

A previous commenter mentioned 'helicopter pilot'. You wouldn't see a topic saying "Calling someone a helicopter pilot is like calling them a hammer carpenter." It's likely that a helicopter pilot has experience flying fixed-wing planes, but their _value_ comes from specialising in a particular craft, so they're likely better at it, and that's what they advertise themselves as.


I think you're being a trifle naïve.

Verizon have consistently used the "we're blocking illegal filesharing" line as justification for throttling BitTorrent traffic. Under the Google/Verizon deal, the FCC would have no power to say "No, actually BitTorrent is legal traffic", and it would be necessary for individuals to complain about the throttling, and most likely in the process be asked to demonstrate their particular use of BitTorrent was legal.

With the maximum payout capped at $2m, there would have to be a lot of BitTorrent users with significant grounds for complaint _and_ a carefully squeaky-clean file-sharing record before it cost the company more than they were saving from throttling the traffic in the first place.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: