Skip to main content

James Stauffer

James Stauffer is a senior software engineer for SPS Commerce. His 14 years there have been mostly maintaining and enhancing one Java enterprise web application. He wasted almost all of his money from high shool graduation gifts adding a 16 MB RAM chip to a Windows 3.11 machine that already had 4 MB and learned the important lesson of "right sizing".


staufferjames's blog

Naming abstract classes

Posted by staufferjames on December 18, 2007 at 8:02 AM PST

Normally I see abstract classes named as AbstractClass. But when there are many abstract classes that requires typing at least AbstractC when using code completion. Therefore I suggest that abstract classes be named ClassAbstract so that code completion is more usable.

Autoboxing vs. widening quiz

Posted by staufferjames on December 18, 2007 at 7:59 AM PST

Does widening or autoboxing happen first? Which param method will be called from the autoboxing method?

Terminal window distinguishing types of input and ouput

Posted by staufferjames on December 18, 2007 at 7:56 AM PST

I wish I had a terminal program that distinguished (i.e. with different colors) standard output, standard error, standard input, command input, and the command prompt.

Telecommuting tips

Posted by staufferjames on December 17, 2007 at 11:44 AM PST

I have been telecommuting 1-2 days/week for a few years so I present the following tips to those who want to telecommute:

  1. Practice communicating by email (especially when it is easier to talk in person about something) so you get better at writing emails that are complete and easy to understand.
  2. Practice doing as many normal activities on your telecommuting days as possible.

Connection Haiku

Posted by staufferjames on December 17, 2007 at 10:59 AM PST

One connection good.
Then two connections better.
Or maybe not so.

Technorati Profile

Type inference in Java

Posted by staufferjames on October 17, 2007 at 9:30 AM PDT

I initial asked about
adding dynamic types to Java
but someone pointed out that I probably wanted type inference instead.

So, would type inference be a good fit for Java?

Midwest Java Technology Days: Minneapolis

Posted by staufferjames on October 17, 2007 at 9:23 AM PDT

Here are my thoughts on the Midwest Java Technology Days: Minneapolis that I attended yesterday. (In order to get them out quickly I haven't refactored them.)

Free stuff: breakfast, lunch, networking snacks, t-shirts, pen (mine didn't work), and note pad. (the conference was also free.)

Tim Bray: Pretty interesting. Covered language and internet trends.

Dynamic/static language

Posted by staufferjames on August 27, 2007 at 11:41 AM PDT

What if a Java allowed both static and dynamic types? That might allow the best of both worlds. i.e.:[prettify]String str = "Hello";
var temp = str;
temp = new Integer(10);

  1. Would that be possible?
  2. Would that be beneficial?
  3. For languages that support it, how is it used?

toString() cost

Posted by staufferjames on August 24, 2007 at 6:56 AM PDT

Do you assume that toString() on any given object has a low cost? I do. Is that assumption generally valid? If it has a high cost should that normally be changed? What are valid reasons to make a toString() method with a high cost?

Debugger for *nix pipe commands

Posted by staufferjames on August 22, 2007 at 9:41 AM PDT

As I build *nix piped commands I find that I want to see the output of one stage to verify correctness before building the next stage but I don't want to re-run each stage (especially when steps are expensive).
Does anyone know of a program that will help with that? It would keep the output of the last stage automatically to use for any new stages.