Wow that's bad. But I think the real wft is c, because the code is valid.
How can you have a typed language which implicit cast an int to a pointer. (I had to start gcc just to test if this is really valid c code. It is).
Wow that's bad. But I think the real wft is c, because the code is valid.
How can you have a typed language which implicit cast an int to a pointer. (I had to start gcc just to test if this is really valid c code. It is).
@mott555 said:
GPL is cancer and I will fight to the death anyone who disagrees with me. Many cool features in commercial software I've worked on were canned due to only being possible (quickly) by relying on some obscure poorly-implemented third-party library licensed withcancerGPL, the bosses being unwilling to commit months to implement an in-house version of the library, and everyone involved rightly refusing to re-license and distribute our source.
Now I don't especially like GPL, but that is a terrible argument. You are basicly complaining that you can't use the work of others for free, without giving anything back.
@Snooder said:
@blakeyrat said:
Freedom means "fewer restrictions". Always. To redefine it as, "more restrictions", regardless of the intent of those restrictions is a bullshit move.
So, tell me, is a country where a landholder has an unrestricted right to kill, beat or torture his tenants more or less "free" than a country where serfdom is banned by law?
It is a more free, but not better country :} - Only the most out of touch anarchist would ever argue that more freedom is always better. We need laws to describe and control the interaction between humans, and that does make the country better but less free. (How many laws, and how free is best, is open for debate, but offtopic here :}
But to get back to the issue of gpl. When he defined it as a more free license, I think he compared it to the normal license for commercial software. And compared to that gpl is much more free.
I would argue that MIT/BSD are more free then GPL, but the question of "are they better" depend on how the author want the software to be used and extended.
@Mcoder said:
@mt@ilovefactory.com said:
If you don't want eclipse to cache things from disk, just enable the setting which force eclipse to always check if a file have changed on disk before accessing the cached version.1 - How does that make eclipse stop caching things?
Sorry, it does not make eclipse stop caching things. But it causes eclipse to check if a file have been updated before it uses the cached version.
And yes the true wft is that both Linux and Windows, are really bad at the "Just tell me if a file have changed" thing, thus forcing software to check last update changes on files. -(
@dkf said:
and the way it caches stuff in mysterious ways instead of just loading it off disk when needed is very close to the centre of the WTF. (Either that or maybe the way it screws with the class loader system, which is outright scary.)
If you don't want eclipse to cache things from disk, just enable the setting which force eclipse to always check if a file have changed on disk before accessing the cached version.
It might be because i went to an univercity with focus on theory, but why would the grader need to run the software at all? I meen it's a a data structure course, so in order to do any usefull grading he would need to read the source code. What possible information could you get from running the software?
Oh, And I do think that eclipse+cdt is a better development environment for doing c++ development then Visual studio 2012 but that is for an other flamewar I guess.
@dkf said:
The real problem is that the equality operations on bothInteger
andLong
don't make the values the same. I usually consider any autoboxing to be a bit of a code smell, though there are places where it is totally necessary (e.g., method calls that take a variable number of arguments).
But having equality between Long and Integer would not be enough for the code to work. For this code to work work, it is also require that Long.hashCode() returns the same values as Integer.hashCode() would, when constructed with the same int. (That is: Long(n).hastCode()==Integer(n).hachCode). Which it does for the java implementation I currently use, but that is an implementation detail, not a documented feature you can relay on.
@fire2k said:
Gratulations, you are now security maintainer of a version of java. We hope you handle this gracefully and responsibly.
And now do go celebrate.
But that is no risk. Since the java is not installed(Just copied to the same folder as the program) it don't interact with any browsers or other software. And it is not in the system path, so it can't get run by accident.
@OldCrow said:
A friend of mine says that he ships a version of JRE with all his software.
Not an installer, but bare binary files in a subfolder of the program's installation folder.
It works, he says...
That does work perfectly, and it was what our company did, back when we released Windows programs written in Java(Around jre 1.6.8 i think). Then the user can't fuck up anything by uninstalling/upgrading/downgrading java, and you know your bundled java is not going to fuck up any browser settings. (We also offered a jre free version, but almost all customers prefered the "Install and forget" version with the jre files included in the program directory.
@daveime said:
Anyone relying on a query optimizer is the kind of person who does full table SELECTs over multiple LEFT JOIN tables, and really has no business being anywhere near a database.
You will have to explain that one. What are the alternative to relaying on the query optimizer? Do you expect me to do all my joins in code???
Example: In a query with 4 joins and multiple where clauses, I absolutely depend on the query optimize to do the select and where filtering in an near optimal order, or else the query will be far to slow.
And If I do something like select a.field where a.id in(select otherid from c where c.otherfield=true) I absolutely need the query optimizer to detect that the inner select is independent of the outer select so it only run the "select otherid from c where c.otherfield=true" once, and not once per row. Something the mysql 5.1 optimizer is quite bad at. (Yes this problem have been in the mysql bug database for years, and is supossed to be fixed in 6.0)
And one problem which really bite me with mysql is the inability to optimize select which uses views. I once had to replace a select from a view with a normal select because using the select from the view took 3 minutes, but replacing the view with the exact same same select which generated the view took 0.2. seconds.
It looked to me like if I created a view by doing a select with a where using a field with an index, all queries against the view would use the same index, even if other indexex would give far better performance. Especially a problem because mysql can only use 1 key per table in a query.