Thursday, September 20, 2012

Things to avoid

Magic numbers, especially if they appear in more than one place. They really want to be named constants, but they also have to be named in a way that is not dependent on the actual value. For example, worldPopulation = 6,973,738,433.

Thursday, September 13, 2012

The five (5) principles

... and here they are:

  • Single responsibility!
  • Open-closed! (but watch out for: single responsibility)
  • Liskov substitution!
  • Interface segregation! (see also: single responsibility)
  • Dependency inversion!

Sunday, January 01, 2012

No ParkHelper for you

FAIL:

../../../gcc-4.6.2/libjava/include/jvm.h:795:3: error: `ParkHelper' does not name a type

Saturday, December 31, 2011

Compilers with C++11 support ...

C++11

Stdcxx wiki - C++0xCompilerSupport

C++0x/C++11 Support in GCC

Status of Experimental C++11 Support in GCC 4.7

Prerequisites for GCC

The GNU Multiple Precision Arithmetic Library (GMP)

The GNU MPFR Library (multiple-precision floating-point computations with correct rounding)

MPC (arithmetic of complex numbers with arbitrarily high precision and correct rounding)

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations. Source code for these libraries can be found at their respective hosting sites as well as at ftp://gcc.gnu.org/pub/gcc/infrastructure/. See also http://gcc.gnu.org/install/prerequisites.html for additional info. If you obtained GMP, MPFR and/or MPC from a vendor distribution package, make sure that you have installed both the libraries and the header files. They may be located in separate packages.

GNU M4 (needed by gmp/configure: checking for suitable m4)

MPFR depends on GMP. The MPFR configure script may need help to find the GMP library and header files, e.g.

configure --with-gmp=/usr/local
(see INSTALL file).

MPC depends on MPFR and GMP. The MPC configure script can be informed about the whereabouts of gmp and mpfr, e.g.

configure --with-gmp=/usr/local --with-mpfr=/usr/local
(see INSTALL file).

Wednesday, January 26, 2011

The 0-1 principle, continued. The proof relies on using a monotonic mapping f which maps a pair of values a ≤ b onto a pair of values f(a) ≤ f(b). The idea is to choose f such that f(x) is either 0 or 1.
The o-1 principle: proof.

Sunday, October 10, 2010

Posted by Picasa
Posted by Picasa

Wednesday, January 20, 2010

Leverage

1,168,107 (51.9%) vs 1,058,682 (47.1%) for a difference of 109,425 = 4.9% of a total of 2,249,026.

Wednesday, December 30, 2009

Collections
Amino acids, squared.
Full tilt

The winter solstice was just a few days ago. And, it rhymes with lattice.

Tuesday, July 21, 2009

A fundamental truth

It is what it is - see also: It was what it was

As a consequence, it will be what it will be.

Wednesday, May 27, 2009

Book

ISBN-10: 0979777747
1 = sin(x) + cos(x)

1 = C/C (C ≠ 0) =>
1 = (1/C)*(C*sin(x) + C*cos(x)) =>
1 = (1/C)*(cos(a)*sin(x) + sin(a)*cos(x)) if C = sin(a) = cos(a)
=> 1 = tan(a)
=> a = π/4 as a possible solution
=> C = 1/sqrt(2)
=> 1 = sqrt(2)*(sin(x + π/4)) or 1/sqrt(2) = sin(x + π/4)

Friday, March 20, 2009

Again, it is time for some equinox.

Wednesday, March 04, 2009

The answer to "what makes something/someone be ..." is looking for symptoms, not causes; the answer to "what makes something/someone do ..." is looking for causes, not symptoms. For example, the answer to "what makes someone retarded" could be "low frustration tolerance" as opposed to "hitting your head against a wall too many times". The latter could indicate an initially high frustration tolerance, which then gradually lowered. For other symptoms, such as a tendency to acquiesce to the expectations and desires of others, see Switzky/Greenspan, "What is Mental Retardation?" [Google Book].

Tuesday, February 24, 2009

Probability
The conditional probability P(x|y) is the probability of some event x given the occurrence of some other event y.
The marginal probability P(x) is the unconditional probability of some event x.
Bayes' theorem states that P(x|y)*P(y) = P(y|x)*P(x) = P(x ∩ y).
See the wikipedia article for details.

See also: Sklar's Theorem about copulas, as well as the wikipedia article. A copula combines the marginal, univariate distributions of a multivariate distribution into that multivariate distribution.

Saturday, February 21, 2009

Tuesday, February 17, 2009

Sharing

Sharing (memory) is evil the enemy of scalability.

Monday, January 12, 2009

CWE-609

Double-Checked Locking - a common weakness, enumerated. The complete list can be accessed here.