People Who Still Have Blogs:

  • Me


mySQL error with query SELECT itime, SUBSTRING(itime,1,4) AS Year, SUBSTRING(itime,6,2) AS Month, SUBSTRING(itime,9,2) as Day FROM kyle_nucleus_item WHERE iblog=1 and itime <="2018-08-20 06:18:04" and idraft=0 GROUP BY Year, Month ORDER BY itime DESC: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'nucleus.kyle_nucleus_item.itime' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Valid XHTML 1.0 Transitional
Valid CSS

The Art of Doing

My favorite thing about the world is how unintuitive it is.

I'm always fascinated by the clever innovations that the masters of various fields have come to, whether it be dish washing tricks for handling small bowls of sour cream, hired movers using long pieces of cloth to carry 8 ft stacks of boxes down narrow steps or cabinet installers methods for making everything come out flush and square.

You'd think in the field of computers everything would be the opposite, all logical math that holds no secrets.

The truth of it, is it is often less intuitive. The physical world has unalterable rules everyone agrees upon. The virtual ones are spun adhoc by people who think they're vision of birthing "active logic" is clear and straightforward.

Peoples' brains work differently. Some people, without knowing it, assign "morality" to some ideas and concepts and avoid or embrace certain approaches based on that bias. Others try to make the virtual world model the simplicity of the physical one, without taking into account the inherent grace and complexity of the actual world.

And of course, at some point those two worlds have to meet for anything useful to happen.

This weekend I was working on a simple project, to translate the pushing of a physical button to that of a virtual "button press" in a computer to trigger an event.

This seems intuitively straightforward. Button goes down, computer receives that signal, does a thing. Where is there room for unintuitive goblins to hide there?

The truth of it, is that when a physical button is pressed down, it does not yield a "clean" signal to the computer.

When the button is pressed down by our meaty finger, and makes initial contact it often *bounces* the spring terminal away. The computer watches so fast that it often sees a confident button press as a pattern of 3-5 "on/off" signals in quick succession before the kinetic energy of the button press and spring settle down and it becomes a solid, reliable "on".

Experts in the field know this as "debouncing", and is a thing they handle routinely. But for me, someone who presses buttons connected to computers for decades, it never occurred to me that my interaction with computers was so "messy", and what I had estimated was a program that would take 5 minutes to write became a much longer and frustrating endeavor as reality stubbornly refused to yield to my internal conception of it.

To turn a phrase: "It is annoying gotchas all the way down."

The gulf between learning the calculus of static engineering and the ability to shim and lash solid objects into immobility is vast, and it seems like we lack a formal mechanism for transmitting the latter to future generations.

There is often talk of a "knowledge vault" where humanity would record all our scientific progress. I suspect if a future generation of humanity ever needed to rely on the totality of our theoretical knowledge sans the practical wisdom of using it, that rather than hailing their progenitors as advanced gods, the future post-apocalyptic generation would just declare us "total dicks".