<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>When your software, programming language, or other technology is just so fucking stupid.</description><title>Software FAIL</title><generator>Tumblr (3.0; @softwarefail)</generator><link>http://softwarefail.tumblr.com/</link><item><title>[java] You want to create an object in one line?!?!??!</title><description>&lt;p&gt;&lt;pre&gt;try {
  Class clazz = type.getClassIWant();
  Constructor c = clazz.getConstructor(Integer.TYPE,SomeOther.class,Integer.TYPE,Date.class);
  return (Benchmark)c.newInstance(samples,dao,days,from);
}
catch (NoSuchMethodException e) {
  throw new ServletException(e);
}
catch (InstantiationException e) {
  throw new ServletException(e);
}
catch (IllegalAccessException e) {
  throw new ServletException(e);
}
catch (InvocationTargetException e) {
  throw new ServletException(e);
}
&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Why aren’t constructors part of interfaces?&lt;/li&gt;
&lt;li&gt;Why are there so many stupid exceptions I have to catch?&lt;/li&gt;
&lt;li&gt;Why is this any “safer” than SomeClass.new(samples,dao,days,from)? The net effect is the same, but I’ve just added a pile of steaming shit to my codebase for no benefit?&lt;/li&gt;
&lt;li&gt;Don’t even tell me to replace this with some Spring XML bullshit.  Angle brackets are like crack with none of the benefits (which I guess makes them cigarettes?)&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/99785439</link><guid>http://softwarefail.tumblr.com/post/99785439</guid><pubDate>Fri, 24 Apr 2009 17:44:34 -0400</pubDate><category>java</category></item><item><title>[java] 1000 monkeys could've implemented better Generics than Sun did</title><description>&lt;pre&gt;&lt;br/&gt;import java.util.*;

public class Test {
    public static void main(String args[])     {
        Map map = new HashMap();
        map.put(45L,"die now");
        System.err.println(map.get(45));
    }
}
&lt;/pre&gt;
&lt;p&gt;Not only does this motherfucker &lt;b&gt;compile&lt;/b&gt; with no warnings or other problems, but at runtime, it prints FUCKING NULL.&lt;/p&gt;
&lt;p&gt;So, my question to the braintrust that designed an implemented the pile-of-shit-Generics is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the literal “45” isn’t a long (and therefore is not a key in my map), &lt;b&gt;WHY THE FUCK DOES IT COMPILE?&lt;/b&gt;
&lt;/li&gt;
&lt;/ul&gt;</description><link>http://softwarefail.tumblr.com/post/97208616</link><guid>http://softwarefail.tumblr.com/post/97208616</guid><pubDate>Fri, 17 Apr 2009 11:37:09 -0400</pubDate><category>java</category><category>compilation cockup</category><category>general retardination</category></item><item><title>[java] I want svn blame src/java/util/Date</title><description>&lt;p&gt;&lt;pre&gt;preparedStatement.setDate(1,new java.sql.Date(someDate.getTime())
&lt;/pre&gt;
Would would &lt;b&gt;ever&lt;/b&gt; want to create a &lt;code&gt;java.sql.Date&lt;/code&gt; from a &lt;code&gt;java.util.Date&lt;/code&gt;?!?!?  And god FUCKING FORBID that &lt;code&gt;java.sql.PreparedStatement&lt;/code&gt; take a &lt;code&gt;java.util.Date&lt;/code&gt;…&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/97201108</link><guid>http://softwarefail.tumblr.com/post/97201108</guid><pubDate>Fri, 17 Apr 2009 11:11:00 -0400</pubDate><category>java</category></item><item><title>[java] Imports are for obsessive morons and lazy compilers</title><description>&lt;p&gt;Why is this:&lt;/p&gt;
&lt;pre&gt;import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Calendar;

import org.apache.commons.collections.Factory;
import org.apache.commons.collections.Predicate;

import org.apache.commons.collections.map.LazyMap;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
&lt;/pre&gt;
&lt;p&gt;supposed to be superior to this:&lt;/p&gt;
&lt;pre&gt;import java.util.*;
import org.apache.commons.collections.*;
import org.apache.commons.collections.map.*;
import org.apache.commons.logging.*;
import org.springframework.beans.factory.annotation.*
&lt;/pre&gt;
&lt;p&gt;The compiler should be able to figure all this shit out anyway; why does it even need to be there at all?&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/89054520</link><guid>http://softwarefail.tumblr.com/post/89054520</guid><pubDate>Mon, 23 Mar 2009 11:32:04 -0400</pubDate><category>java</category></item><item><title>[eclipse] Your javadoc defaults SUCK</title><description>&lt;p&gt;The only thing worse than bad comments is no comments.  The only thing worse than no comments is Eclipse’s bullshit “helper” comments:&lt;/p&gt;
&lt;pre&gt;/**
 * @param name
 * @param type
 * @return
 */
public void doit(String name, String type)
&lt;/pre&gt;
&lt;p&gt;This is &lt;b&gt;worse&lt;/b&gt; than useless.  I suggest the &lt;b&gt;new&lt;/b&gt; Eclipse defaults for developers too lazy to even delete empty comments be like so:&lt;/p&gt;
&lt;pre&gt;/** performs a feat I could never normally do: lands me a woman
 * @param name I put the "E" in UNIX
 * @param type I put the "E" in UNIX
 * @return the shattered remains of my virginity
 */
public void doit(String name, String type)
&lt;/pre&gt;
&lt;p&gt;Even better if it puts the authors name in the comments.&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/88212623</link><guid>http://softwarefail.tumblr.com/post/88212623</guid><pubDate>Fri, 20 Mar 2009 11:55:37 -0400</pubDate><category>eclipse</category><category>java</category></item><item><title>[maven] exit values mean nothing!!</title><description>&lt;p&gt;&lt;pre&gt;&gt; mvn clean install &amp;&amp; echo 'It Worked!!!'
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
It Worked!!!
&lt;/pre&gt;
System.exit(-1): ever hear of it ‘ya douchelords?&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/87576966</link><guid>http://softwarefail.tumblr.com/post/87576966</guid><pubDate>Wed, 18 Mar 2009 10:34:00 -0400</pubDate><category>java</category><category>maven</category><category>compilation cockup</category></item><item><title>[java] Annotations breed configuration bloat</title><description>&lt;a href="http://www.naildrivin5.com/daveblog5000/?p=78"&gt;[java] Annotations breed configuration bloat&lt;/a&gt;</description><link>http://softwarefail.tumblr.com/post/85569154</link><guid>http://softwarefail.tumblr.com/post/85569154</guid><pubDate>Wed, 11 Mar 2009 12:45:35 -0400</pubDate><category>java</category></item><item><title>[easymock] I understand mock objects, but can't subtract?!?</title><description>&lt;pre&gt;Unexpected method call createRelative("sub/"):
    createRelative("sub/"): expected: 1, actual: 1 (+1)
&lt;/pre&gt;
&lt;p&gt;This is the epitome of programmer FAIL.  While I appreciate the effort to show me the difference in actual vs. expected, the actual actual is not shown.  How about:&lt;/p&gt;
&lt;pre&gt;Unexpected method call createRelative("sub/"):
    createRelative("sub/"): expected: 1, actual: 2 (+1)
&lt;/pre&gt;
&lt;p&gt;Since this, you know, reflects what actually happened using accepted practices in the English language of the word “actual”, a colon and the number “2”.&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/84195523</link><guid>http://softwarefail.tumblr.com/post/84195523</guid><pubDate>Fri, 06 Mar 2009 17:08:39 -0500</pubDate><category>easymock</category><category>egregious errors</category></item><item><title>[spring] XML Bean Configuration is the work of the devil</title><description>&lt;ol&gt;
&lt;li&gt;Start your spring-based dependency-injected pattern-compliant buzzword-happy Java application&lt;/li&gt;
&lt;li&gt;See an obscure message at INFO level about a bean not being initialized&lt;/li&gt;
&lt;li&gt;Watch as your application dumps thousands of spring exceptions (at INFO level, ‘natch)&lt;/li&gt;
&lt;li&gt;Open up the 500 line XML Bean configuration file&lt;/li&gt;
&lt;li&gt;Cry&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;i&gt;“Spring: removing predictability, understandability, and the ability to efficiently debug and trace your code since 1999”&lt;/i&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/84109140</link><guid>http://softwarefail.tumblr.com/post/84109140</guid><pubDate>Fri, 06 Mar 2009 11:04:41 -0500</pubDate></item><item><title>[trac] RSS feeds updated in less than 24 hours!</title><description>&lt;p&gt;Are you tired of getting the most up-to-date data from your wiki, ticketing system and source code monitor?  Trac is the tool for you.  You may have previously thought Trac was just the world’s ugliest and least functional wiki, but &lt;b&gt;NO&lt;/b&gt;!  It also has the least updated RSS feeds and the world’s most worthless commit messages.  Trac doesn’t bother you with such details as “the diff”; just the username and the message.  And &lt;b&gt;only&lt;/b&gt; about 3 hours &lt;b&gt;after&lt;/b&gt; the commit!&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/83539332</link><guid>http://softwarefail.tumblr.com/post/83539332</guid><pubDate>Wed, 04 Mar 2009 14:27:00 -0500</pubDate><category>trac</category><category>web1.0</category></item><item><title>[iphone] Who would ever schedule a phone call?</title><description>&lt;p&gt;&lt;ol&gt;
&lt;li&gt;iPhone alerts me to a pending calendar event&lt;/li&gt;
&lt;li&gt;I unlock the phone to see that it’s a call I need to make&lt;/li&gt;
&lt;li&gt;The phone number is handily in the calender entry&lt;/li&gt;
&lt;li&gt;Tap number&lt;/li&gt;
&lt;li&gt;Tap number&lt;/li&gt;
&lt;li&gt;Tap number&lt;/li&gt;
&lt;li&gt;Double-tap number&lt;/li&gt;
&lt;li&gt;Pinch&lt;/li&gt;
&lt;li&gt;Squeeze&lt;/li&gt;
&lt;li&gt;Shake&lt;/li&gt;
&lt;li&gt;Get pad of paper&lt;/li&gt;
&lt;li&gt;Write down number&lt;/li&gt;
&lt;li&gt;Dial manually on keypad&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/83204421</link><guid>http://softwarefail.tumblr.com/post/83204421</guid><pubDate>Tue, 03 Mar 2009 13:29:37 -0500</pubDate></item><item><title>[java] W2t T1e F2k i0s u0p w2h t2s, a6s?</title><description>&lt;p&gt;&lt;ol&gt;
&lt;li&gt;Take word that is not that fucking hard to type, especially when you use an editor from the 21st century that can complete dictionary words&lt;/li&gt;
&lt;li&gt;Count the number of letters in the word&lt;/li&gt;
&lt;li&gt;Subtract two&lt;/li&gt;
&lt;li&gt;Type the first letter of the word&lt;/li&gt;
&lt;li&gt;Type the number from step 3&lt;/li&gt;
&lt;li&gt;Type the last letter of the word&lt;/li&gt;
&lt;li&gt;Promote it to Java “programmers” as, well, something to prove how dumb they are?  I have no fucking idea.  Since when is typing “internationalization” is so difficult, but it’s totally cool to type AbstractDependencyInjectionSpringContextTests?&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/82631114</link><guid>http://softwarefail.tumblr.com/post/82631114</guid><pubDate>Sun, 01 Mar 2009 18:26:54 -0500</pubDate><category>java</category><category>general retardination</category></item><item><title>[maven] The 90210 of log messages</title><description>&lt;pre&gt;[INFO] ------------------------------------------------------------------------&lt;br/&gt;[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
&lt;/pre&gt;
&lt;p&gt;Dear Maven:&lt;/p&gt;
&lt;p&gt;&lt;b&gt; The fucking ERROR message is “Compilation Failure”, ya fucksticks&lt;/b&gt;.&lt;/p&gt;
&lt;p&gt;Sincerely,&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Everyone who understand the definition of the words “Error” and “Info”&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;P.S. Thanks a million for letting us configure the log message level.&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/82625548</link><guid>http://softwarefail.tumblr.com/post/82625548</guid><pubDate>Sun, 01 Mar 2009 18:01:00 -0500</pubDate><category>maven</category></item><item><title>[Quicksilver] What is this "google" of which you speak of?</title><description>&lt;p&gt;&lt;ol&gt;
&lt;li&gt;Invoke QuickSilver&lt;/li&gt;
&lt;li&gt;Type “Google”&lt;/li&gt;
&lt;li&gt;Scratch Head&lt;/li&gt;
&lt;li&gt;Enable/Install Web Search&lt;/li&gt;
&lt;li&gt;Invoke Quicksilver&lt;/li&gt;
&lt;li&gt;Type “Google”&lt;/li&gt;
&lt;li&gt;Wonder why in the fuck the default is to search Google MIT and not &lt;b&gt;the most used and popular web search engine in the entire history of the fucking universe&lt;/b&gt;.&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/82624769</link><guid>http://softwarefail.tumblr.com/post/82624769</guid><pubDate>Sun, 01 Mar 2009 17:58:00 -0500</pubDate><category>quicksilver</category></item><item><title>[Subversion] Can I use this software yet, boss?</title><description>&lt;p&gt;&lt;blockquote&gt;“Can I commit yet?”&lt;/blockquote&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/82624227</link><guid>http://softwarefail.tumblr.com/post/82624227</guid><pubDate>Sun, 01 Mar 2009 17:55:41 -0500</pubDate><category>svn</category><category>subversion</category></item><item><title>[Java] Switch Retardination</title><description>&lt;p&gt;&lt;pre&gt;switch (someStringIGot) &lt;br/&gt;{&lt;br/&gt;  case "foo" :&lt;br/&gt;    doSomething();&lt;br/&gt;  case "bar" :&lt;br/&gt;    doSomethingElse&lt;br/&gt;  default:&lt;br/&gt;    throw new RuntimeException("Sorry dude");&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;If &lt;b&gt;I&lt;/b&gt; understand that this is a compact if-else-if construct, why can’t Java?&lt;/li&gt;
&lt;li&gt;What is the purpose of requiring me to have break?  Fall-through is usually seen as a code-smell, and should be avoided.&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/82322272</link><guid>http://softwarefail.tumblr.com/post/82322272</guid><pubDate>Sat, 28 Feb 2009 13:53:00 -0500</pubDate><category>java</category></item><item><title>[Java] This compiles</title><description>&lt;p&gt;&lt;pre&gt;float f = Float.NaN;

&lt;/pre&gt;
How the fuck can a number hold something that’s not a number?!?!?&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/82321700</link><guid>http://softwarefail.tumblr.com/post/82321700</guid><pubDate>Sat, 28 Feb 2009 13:51:00 -0500</pubDate><category>java</category><category>compilation cockup</category></item><item><title>[Java] Generically Stupid</title><description>&lt;pre&gt;Map&lt;int,List&lt;Float&gt;&gt; whyTheFuckAmIRepeatingMyself = new HashMap&lt;int,List&lt;Float&gt;&gt;();
&lt;/pre&gt;
&lt;p&gt;The irony is, these types are discarded and only relevant at compile time.  &lt;b&gt;Then why am I typing them so God damn much??!?!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;The solution: if you aren’t gonna actually enforce the types, save me some typing:&lt;/p&gt;
&lt;pre&gt;List list = getMeAList();
String s = list.get(4);
&lt;/pre&gt;</description><link>http://softwarefail.tumblr.com/post/80004652</link><guid>http://softwarefail.tumblr.com/post/80004652</guid><pubDate>Fri, 20 Feb 2009 12:30:00 -0500</pubDate><category>java,</category><category>compilation cockup</category></item><item><title>[Java] This doesn't compile</title><description>&lt;p&gt;&lt;pre&gt;public class RetardedSyntaxerror
{
    public static void main(String args[])
    {
        doit(5);
    }

    public static void doit(Float f) { }
}

&lt;/pre&gt;&lt;/p&gt;</description><link>http://softwarefail.tumblr.com/post/80001235</link><guid>http://softwarefail.tumblr.com/post/80001235</guid><pubDate>Fri, 20 Feb 2009 12:15:00 -0500</pubDate><category>java,</category><category>compilation cockup</category></item></channel></rss>
