values

Look – corn ethanol is basically dumb, and subsidizing it is subsidized dumb. But this isn’t really the problem here:

[From Corn ethanol is the worst thing since sliced Hitler « The Poor Man Institute]

What’s going on? It isn’t that there isn’t enough food. It’s that the ability to fill up a gas tank with gasoline is, in the “wisdom” of the marketplace, the highest value use of the food crop.
[…]
Is the demand for one luxury meat meal really bigger than the demand for ten subsistence grain meals? This is true only if the wealthy person’s desires are valued more than the poor person’s desires. A starving Haitian’s desire for a scrap of bread exceeds your desire for your favorite meal by a considerable amount, but his ability to pay is constrained by your desire for steak.

We’re more concerned with feeding our cars (with corn that could be eaten by people) and housing them (by favoring zoning and urban planning that favors sprawl over density) than in feeding and housing people.

one more time

trying to work out what has changed in either mysql5 or WordPress. Or are they ganging up on me?

Alrighty, then. something was not right in the mysql upgrade of yesterday. for some reason (safety?) the mysql_upgrade script doesn’t run and restarting mysql without it means the internal mysql data tables are out of sync with what the engine expects. and it always helps to go for speed: make BUILD_OPTIMIZED=yes BUILD_STATIC=yes. seems a bit more sprightly now . . .

the crud

not only do grown-ups without children have more free time/disposable dough, they don’t get the crud nearly as often. what surprises me is how the stuff they carry and spread doesn’t kill them, even as it makes us wonder if we’ll survive.

not only do grown-ups without children have more free time/disposable dough, they don’t get the crud nearly as often. what surprises me is how the stuff they carry and spread doesn’t kill them, even as it makes us wonder if we’ll survive.

why computer programming is not fun

Same instructions, similar toolchains, identical code base: why on one system do I get a “parse error:” In file included from core/compositor.c:42: /opt/local/include/X11/extensions/damageproto.h:140: error: parse error before ‘xRectangle’ /opt/local/include/X11/extensions/damageproto.h:140: warning: no semicolon at end of struct or union /opt/local/include/X11/extensions/damageproto.h:141: warning: type defaults to ‘int’ in declaration of ‘geometry’ /opt/local/include/X11/extensions/damageproto.h:141: warning: data definition has no type or storage class /opt/local/include/X11/extensions/damageproto.h:142: warning: type defaults to ‘int’ in declaration of ‘xDamageNotifyEvent’ /opt/local/include/X11/extensions/damageproto.h:142: warning: data definition has no type or storage class core/compositor.c:124: error: parse error before ‘XserverRegion’ but the same identical source files build without issue on another system? My admittedly limited experience in C doesn’t point out any obvious flaws in this struct: 133 typedef struct { 134 CARD8 type; 135 CARD8 level; 136 CARD16 sequenceNumber B16; 137 Drawable drawable B32; 138 Damage damage B32; 139 Time timestamp B32; 140 xRectangle area; 141 xRectangle geometry; 142 } xDamageNotifyEvent; So perhaps it’s in another header or source file or perhaps how this definition is used by the file that calls it.

I’m not even trying to write any code, simply trying to build something that works over here but fails over there. Same instructions, similar toolchains, identical code base: why on one system do I get a “parse error:”

In file included from core/compositor.c:42:
/opt/local/include/X11/extensions/damageproto.h:140: error: parse error before 'xRectangle'
/opt/local/include/X11/extensions/damageproto.h:140: warning: no semicolon at end of struct or union
/opt/local/include/X11/extensions/damageproto.h:141: warning: type defaults to 'int' in declaration of 'geometry'
/opt/local/include/X11/extensions/damageproto.h:141: warning: data definition has no type or storage class
/opt/local/include/X11/extensions/damageproto.h:142: warning: type defaults to 'int' in declaration of 'xDamageNotifyEvent'
/opt/local/include/X11/extensions/damageproto.h:142: warning: data definition has no type or storage class
core/compositor.c:124: error: parse error before 'XserverRegion'

but the same identical source files build without issue on another system?

My admittedly limited experience in C doesn’t point out any obvious flaws in this struct:


133 typedef struct {
134 CARD8 type;
135 CARD8 level;
136 CARD16 sequenceNumber B16;
137 Drawable drawable B32;
138 Damage damage B32;
139 Time timestamp B32;
140 xRectangle area;
141 xRectangle geometry;
142 } xDamageNotifyEvent;

So perhaps it’s in another header or source file or perhaps how this definition is used by the file that calls it. Not that the error message says that . . .

This brings up something that many young hackers may never run into: a lot of computer programming work is maintenance. But unlike hardware maintenance, with identical FRUs and well-tested diagnostics, software is not nearly as consistently standardized. One person’s clever shortcut is another’s unspeakable kludge.

It’s stuff like the error messages above that confirm my unsuitability for software engineering. For all its logic and structure, sometimes it seem like rough carpentry — measure once, shim to fit.

What is Pinhole Day?

Anyone, anywhere in the world, who makes a pinhole photograph on the last Sunday in April, can scan it and upload it to this website where it will become part of the annual Worldwide Pinhole Photography Day celebration’s online gallery. [From Worldwide Pinhole Photography Day – home ] Just loaded a film holder to take to a birthday party: we’ll see what we get.

Anyone, anywhere in the world, who makes a pinhole photograph on the last Sunday in April, can scan it and upload it to this website where it will become part of the annual Worldwide Pinhole Photography Day celebration’s online gallery.

[From Worldwide Pinhole Photography Day – home]

Just loaded a film holder to take to a birthday party: we’ll see what we get.