Why should hash functions use a prime number modulus?

Usually a simple hash function works by taking the “component parts” of the input (characters in the case of a string), and multiplying them by the powers of some constant, and adding them together in some integer type. So for example a typical (although not especially good) hash of a string might be: (first char) … Read more

What is the difference between concurrent programming and parallel programming?

Concurrent programming regards operations that appear to overlap and is primarily concerned with the complexity that arises due to non-deterministic control flow. The quantitative costs associated with concurrent programs are typically both throughput and latency. Concurrent programs are often IO bound but not always, e.g. concurrent garbage collectors are entirely on-CPU. The pedagogical example of … Read more

Shortest distance between a point and a line segment

Eli, the code you’ve settled on is incorrect. A point near the line on which the segment lies but far off one end of the segment would be incorrectly judged near the segment. Update: The incorrect answer mentioned is no longer the accepted one. Here’s some correct code, in C++. It presumes a class 2D-vector … Read more

Expression Versus Statement

Expression: Something which evaluates to a value. Example: 1+2/x Statement: A line of code which does something. Example: GOTO 100 In the earliest general-purpose programming languages, like FORTRAN, the distinction was crystal-clear. In FORTRAN, a statement was one unit of execution, a thing that you did. The only reason it wasn’t called a “line” was … Read more

What is the difference between currying and partial application?

Currying is converting a single function of n arguments into n functions with a single argument each. Given the following function: function f(x,y,z) { z(x(y));} When curried, becomes: function f(x) { lambda(y) { lambda(z) { z(x(y)); } } } In order to get the full application of f(x,y,z), you need to do this: f(x)(y)(z); Many … Read more

What is a magic number, and why is it bad? [closed]

A magic number is a direct usage of a number in the code. For example, if you have (in Java): public class Foo { public void setPassword(String password) { // don’t do this if (password.length() > 7) { throw new InvalidArgumentException(“password”); } } } This should be refactored to: public class Foo { public static … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)