language-agnostic

Derivative of a Higher-Order Function

This is in the context of Automatic Differentiation - what would such a system do with a function like map, or filter - or even one of the SKI Combinators? Example: I have the following function: def func(x): return sum(map(lambda a: a**x, range(20))) What would its derivative be? What will an AD system yield as a result? (This f...

Calculate when a cron job will be executed then next time

I have a cron "time definition" 1 * * * * (every hour at xx:01) 2 5 * * * (every day at 05:02) 0 4 3 * * (every third day of the month at 04:00) * 2 * * 5 (every minute between 02:00 and 02:59 on fridays) And I have an unix timestamp. Is there an obvious way to find (calculate) the next time (after that given timestamp) the job is du...

Rosetta Stone: reservoir random sampling algorithm

I've been killing some time with a little puzzle project -- writing the algorithm described in Knuth for random sampling of a population without knowing the size of the population in advance. So far I've written it in JavaScript Rhino, Clojure, Groovy, Python, and Haskell. The basic parameters are: the function takes two arguments, a s...

How to cook turkey programatically?

It's Thanksgiving in the United States tomorrow. Please describe your favorite method of cooking turkey in the form of runnable code using your favorite language. For example in Java with java.utils.concurrency. ...

Designing extensible software (plugin architecture)

I need some resources that talk about how to design your software to be extensible, i.e. so that other people can write add-ons/plug-ins that adds functionality to it. What do you recommend? Any books out there that discuss the subject? I would prefer something that's short and to the point; a bit of theory and a bunch of concrete examp...

On K.I.S.S and paving cowpaths

I'm currently developing a PHP application that's using an Access database as a backend. Not by choice you understand... the database is what the client used originally and using it is part of the requirements. One of the problems with this database is that the column names have the most insane naming convention you could possibly imagin...

How to restrain one's self from the overwhelming urge to rewrite everything?

Setup Have you ever had the experience of going into a piece of code to make a seemingly simple change and then realizing that you've just stepped into a wasteland that deserves some serious attention? This usually gets followed up with an official FREAK OUT moment, where the overwhelming feeling of rewriting everything in sight starts ...

How can you write info to a Windows "global (in-memory) variable" than can be shared by various applications, using Windows APIs?

Maybe this cannot be done, but please help or suggest how this can be achieved without writing something to disk. Lets suppose there are two string values that I want to share between two independent applications. You are welcome to provide code sample in any programming language. ...

Optimizing Code

You are given a heap of code in your favorite language which combines to form a rather complicated application. It runs rather slowly, and your boss has asked you to optimize it. What are the steps you follow to most efficiently optimize the code? What strategies have you found to be unsuccessful when optimizing code? Re-writes: At wh...

Code Reusability: Is it worth it?

We all write reusable classes and code. We factor in configurability to allow us to reuse this fantastic new class again and again. We tell our bosses that spending this extra time now will save us time and money later. But in reality, for those of us who don't write third party libraries, and spend our time working on a applica...

Determine Whether Two Date Ranges Overlap

Given two date ranges, what is the simplest or most efficient way to determine whether the two date ranges overlap? As an example, suppose we have ranges denoted by DateTime variables StartDate1 to EndDate1 and StartDate2 to EndDate2. ...

Difference between Hashing a Password and Encrypting it

The current top-voted to this question states: Another one that's not so much a security issue, although it is security-related, is complete and abject failure to grok the difference between hashing a password and encrypting it. Most commonly found in code where the programmer is trying to provide unsafe "Remind me of my password" fu...

need to explain why checkboxes look funky in Safari

Everyone in my office uses Macs and therefore most use Safari. We have a page that has 30 checkboxes on it, I didn't even do the HTML myself but no matter if I use the html input checkbox with a label or an asp:Checkbox usig the text property for the label my boss is irritated because the checkbox is a little below center on the label....

Debugging a Full-Screen Application

Given that I only have one monitor, what's the best way to debug a program which uses the entire screen (such as a DirectX application)? Tools such as the step-by-step debugger seem useless in this context. Also, printing to the console isn't as effective, since you can only look at the console once the application has terminated. ...

How do you handle exceptional cases

This is often situation, but here is latest example: Companies have various contact data (addresses, phone numbers, e-mails...) when they make job ad, they have checkboxes where they choose how they want to be contacted. It is basically descriptive data. User when reading an ad sees something like "You can apply by mail, in person...",...

Should we compare floating point numbers for equality against a *relative* error?

So far I've seen many posts dealing with equality of floating point numbers. The standard answer to a question like "how should we decide if x and y are equal?" is abs(x - y) < epsilon where epsilon is a fixed, small constant. This is because the "operands" x and y are often the results of some computation where a rounding error is in...

Real world implementations of "classical algorithms"

I wonder how many of you have implemented one of computer science's "classical algorithms" like Dijkstra's algorithm or data structures (e.g. binary search trees) in a real world, not academic project? Is there a benefit to our dayjobs in knowing these algorithms and data structures when there are tons of libraries, frameworks and APIs ...

Naming variables that contain filenames?

If I've got a variable that contains the fully-qualified name of a file (for example, a project file), should it be called projectFile, projectFileName or projectPath? Or something else? ...

Is 1 for TRUE or FALSE ?

I always forget :S How do you remember which number stands for TRUE or FALSE? (when I started css the colors black and white always confused me. Is white #FFFFFF or #000000. A trick I came up with: black is 0,because z0rr0 is dressed in …) ...

Other examples of magical calculations

I have seen this topic here about John Carmack's magical way to calculate square root, which refers to this article: http://www.codemaestro.com/reviews/9. This surprised me a lot, I just didn't ever realized that calculating sqrt could be so faster. I was just wondering what other examples of "magic" exist out there that computer games...