language-agnostic

should interfaces (in java) be placed in a separate package?

i'm new to a team working on a rather large project, lots of components, dependencies. for every component, there's an 'interfaces' package where the 'exposed' interfaces for that component is placed. is this a good practise? my usual practise has always been interfaces and implementations in same package. was wondering what's the sta...

Dummy SMTP Server for testing apps that send email

I have a lot of apps that send email. Sometimes it's one or two messages at a time. Sometimes it's thousands of messages. In development, I usually test by substituting my own address for any recipient addresses. I'm sure that's what everybody else does, until they get fed up with it and find a better solution. I was thinking about cr...

What should I write in order to become a better developer?

I tend to finish my work related tasks pretty quickly, and I get to have some free time on my hands. What should I write in order to become a better developer ? I'm familiar with c++/java/perl/python/ruby. I wrote the following stuff on my own: simple web server simple web clients (different languages) DSLs, internal and external some...

What pitfalls do I need to be aware of when co-developing with the client or a third-party?

Lately we've been getting into a bit of co-development, and I don't think I'm making recommendations as I should for doing this efficiently. I've been working with third-party contractors hired by the client, the client's developers (and of course my own internal developers). Is it ridiculous to think these scenarios can even work out lo...

Writing "unit testable" code?

What kind of practices do you use to make your code more unit testing friendly? ...

Are there valid reasons to hold data internally as XML?

In the years that I've been at my place of employment, I've noticed a distinct trend towards something that I consider an anti-pattern: Maintaining internal data as big strings of XML. I've seen this done a number of different ways, though the two worst offenders were quite similar. The Webservice The first application, a web service...

Is there a clever way to parse plain-text lists into HTML?

Question: Is there a clever way to parse plain-text lists into HTML? Or, must we resort to esoteric recursive methods, or sheer brute force? I've been wondering this for a while now. In my own ruminations I have come back again and again to the brute-force, and odd recursive, methods ... but it always seems so clunky. There must be a...

Syntax of HTTP-status headers

There're many ways to write an HTTP-status header: HTTP/1.1 404 Not Found Status: 404 Status: 404 Not Found but which is the semantically-correct and spec-compliant way? Edit: By status headers I mean this, using a function such as PHP's header(). ...

What was the worst 3rd party API you had to work with?

I have recently been working with a 3rd party API that I had to make so many custom quirky algorithms just to return the basic information that it has basically driven me nuts... What is your worst experience with a 3rd Party API? ...

What are the nicknames for common programming special characters?

There are common slang names for period, exclamation mark, and asterisk: . "dot" ! "bang" * "star" but what are the teched-out, one-syllable names for characters like % & < { [ ; etc. ...

Stylistic Question: Use of White Space

I have a particularly stupid insecurity about the aesthetics of my code... my use of white space is, frankly, awkward. My code looks like a geek dancing; not quite frightening, but awkward enough that you feel bad staring, yet can't look away. I'm just never sure when I should leave a blank line or use an end of line comment instead of...

What are common UI misconceptions and annoyances?

I often use applications and electronic devices for which I think: "Why on earth did they engineer that thing as it is? They must have known that it is a pain in the neck to work with". On the other hand I often observed that I created a (G)UI that I was convinced about, that it'd delight my customers and was a breeze to work with. Alth...

"Necessary" Uses of Recursion in Imperative Languages

I've recently seen in a couple of different places comments along the lines of, "I learned about recursion in school, but have never used it or felt the need for it since then." (Recursion seems to be a popular example of "book learning" amongst a certain group of programmers.) Well, it's true that in imperative languages such as Java a...

What's the proper place for input data validation?

(Note: these two questions are similar, but more specific to ASP.Net) Consider a typical web app with a rich client (it's Flex in my case), where you have a form, an underlying client logic that maps the form's input to a data model, some way of remoting these objects to a server logic, which usually puts it in a database. Where should...

What is the purpose of hex-encoding for binary data?

I'm a bit curious as to why one would want to use hex encoding over base64. It seems to me that base 64 is more efficient. In particular, why is it that databases seem to always use hex encoding? Is it a historical issue, or am I missing something about hex encoding? ...

Is writing specifications for hobby projects the only way for them to be finished?

Here's what I'm wondering. Every night that our 3 months old baby lets us sleep, I jump to my computer and start coding my hobby projects. I have about 20 different projects that I'm working on: different types of projects, from C++ games to web apps along with some contribution to open source projects. It's truly a passion and has been ...

How should web sites deal with localization settings? (from “What are common UI misconceptions and annoyances?”)

I’ve chosen to take this as a question in its own right since it was generating so much debate in the comments of the original post. It’s interesting to see that a lot of people on SO (who are developer's) just don't get localization. Here’s my take on how it should work: In all browsers that I've looked at (and for the .NET developers...

When is a function name too long?

I try to be rather descriptive with my function names, where possible. This occasionally results in function names in the twenty to thirty character range such as "GetActionFromTypeName" or "GetSelectedActionType". At what point do functions get too long to manage (not too long for the compiler)? ...

Why differentiate between methods that return a value and methods that don't?

Why do some languages differentiate between methods that return a value and methods that don't? i.e. in Oracle's PL/SQL, where the primary difference between a function and a procedure is that the function must return a value, and the procedure must not. Likewise for languages that don't, why not? EDIT: I have found a related questi...

What are the efficient ways to take "programmer" notes?

I run many times into an issue where someone asked me about a bug or a feature I worked on. And it literally takes me a long time to recall it, usually by looking at Bugzila as well as my CVS reports. So I am trying to find a good way to take notes of what the things I have been working on, and looking for your suggestions. In fact, I u...