Log in
User

Pass

Remember


Older entries
Aug 26, 2010

Aug 26, 2010

Aug 17, 2010

Aug 8, 2010

Aug 7, 2010

Aug 5, 2010

Jul 4, 2010

Nov 16, 2009

Oct 30, 2009

Sep 27, 2009

Sep 6, 2009

Sep 4, 2009

Jun 21, 2009

Jun 20, 2009

Jun 19, 2009

Jun 17, 2009

Mar 1, 2009

Feb 15, 2009

Feb 3, 2009

Feb 3, 2009

Treelines
Aug 26, 2010       9:28 pm


The box is painted as if to say "You can't park here: This is a tree."
Maven
Aug 26, 2010       9:24 pm


It saddens me to think about how much we despise our build tools.
A moral dilemma
Aug 17, 2010       10:35 pm

My job consists mostly of Java programming. Over the past several months, the following things have been happening:

  • I have started doing a lot of work with GWT.
  • I have become enthusiastic about building a Java library (org.jreact - I've already bought the domain name) which should be helpful with GWT development.
  • I have been introduced to Scala, which has made me increasingly aware and sick of Java's shortcomings.
  • I have encountered a fledgling project, which aims to adapt the GWT compilation process to Scala code.

So, there are two different paths I want to take to help advance client-side web development.

(04:06:40 PM) Me: I'm so torn on whether I want to work on java gwt libraries, or try to help with scala-gwt
(04:07:45 PM) Me: It's like I own a failing railroad, and I know that keeping it afloat is the wrong thing to do, but I can't bear to abandon it and go to the obscure hidden capitalist society of joy
(04:09:49 PM) Me: But moreso because, in this case, I'm concerned that the city may be a pipe dream.
(04:12:50 PM) Matt Luongo: that was beautiful. thank you.
(04:16:09 PM) Me: It's so much more of an apt metaphor now that I think of it
(04:16:16 PM) Me: Because I think I can help a ton of people
(04:16:22 PM) Me: But they're people who are programming evil
(04:17:34 PM) Me: Working within a system that prevents me from getting work done.
(04:20:14 PM) Me: Yet, that system might be sort of necessary, since most people can't handle that much personal responsibility for their code and need to be coddled.
(04:20:57 PM) Me: And the result is a world in which software failures are ever present, and even tolerated!
Unrelated return types
Aug 8, 2010       12:36 pm

There's no shortage of Java things to be frustrated about.

public class Fail {

  static interface A { }
  static interface B { }
  static interface C extends A, B {}

  static interface D { A x(); }
  static interface E { B x(); }
  static interface F extends D, E { C x(); }

}

I see no legitimate reason why this should not compile. But javac disagrees:

Fail.java:9: types Fail.E and Fail.D are incompatible; both define x(), but with unrelated return types

IntelliJ IDEA, however, doesn't see a problem with this code. Although I agree with it, I've submitted a bug report.

More details on javac fail
Aug 7, 2010       2:41 am

I don't understand why no one else seems to be complaining about this bug, because lately I can't seem to avoid it.

Perhaps I was too hasty in posting the bug report a few days ago, because I've discovered now that it happens in more cases than I thought. A namespace clash is not even necessary. You can change the package name and get the same error:

/* One.java */
package abc;
import static abc.Two.three;
public class One<A> { }

/* Two.java */
package abc;
public class Two<B> extends One<B> {
    public static Object three;
}

This is absurd.