Mike Yearwood

i've been trying to explain to programmers for a very long time that there is a need for engineering in software which should follow the engineering of physical devices. lego blocks, spark plugs, light switches and so on, are engineered to be installed and forgotten. we do not have to know the chemical makeup of lego blocks, nor the electrical characteristics of the spark plug and light switch to use them.

i could construct a spark plug from a pair of wires with the end stripped off, but it would not be easy to use. it would be very primitive.… Continue reading

hi all

every once in a while i get to thinking about inefficiency. the particular inefficiency i'm concerned with right now is exe size. so many say exe size doesn't matter that i'm starting to think they read too much cosmopolitan magazine. 😉

to illustrate my point, let's look at a manufactured product. designers and engineers have refined the design to make the product cost effective to manufacture. that is rarely an easy task. even a lowly soda pop can has exactly what it needs to contain the drink, make it easy to open and easy to consume. it has… Continue reading

i've said it before and i'll say it again. arrays in vfp are not good. the cursor can do far more and sensibly too. simply modify structure. insert a new field between any two existing fields and the result is what you expect. not so with ains and two-dimensional (2d) arrays. this code demonstrates:

clear

?"using ains"

local array laarray[1]

prepareinitialarray(@laarray)

dimension laarray[3,3]

displayarray(@laarray)

ains(laarray,2,2)

displayarray(@laarray)

release all like laarray

*by this point the array does not look like it should.

wait window "now try ainsertcolumn"

clear

?"using ainsertcolumn"

local array laarray[1]

prepareinitialarray(@laarray)

ainsertcolumn(@laarray,2)

displayarray(@laarray)

return

procedure prepareinitialarray

lparameters raarray

?"initial… Continue reading