WHAT STOPS ME

Well hello there readers. I've finished babbling on about
Australian political parties, at least for a few months until the
state election comes up. I got a free pencil when I voted this
time, since the old teathered-graphite arrangement is presumably
insufficiently sanitary these days. Nice to see from the result
that a lot more people were with me in opposition to both major
parties this time, though naturally not rallying behind any party
that I particularly like as an alternative. I do always feel a bit
like a mug after each election when I've looked into all these
parties and picked out some that sound vaguely reasonable to me
only to be reminded that they don't actually have a snowball's of
ever being voted in. Democracy is as much about placating the
masses so that they won't start a revolt as it is about finding an
ideal leadership, but so be it.

My party summaries are also now Csplit up into individual files
here, with The Greens added because I didn't get to them until the
election day itself. After the result they acheived this election
they're hardly a micro party now though:
gopher://aussies.space/1/%7efreet/elections/fed2022

Still recovering from all that and frustrated by other things I
decided to have a bit of a 'light' week this week. Last weekend I
tinkered with one of my side projects and went for a morning drive.
Then I got a socialisation overdose at my grandmother's birthday
party where I was bored stiff for hours quietly listening to family
members talking nonsense, especially my grandmother who has gone
downhill a lot mentally since moving into the nursing home at the
start of the year. Then back to me, myself, and I again for another
week, not without some degree of relief.

My 'light' week was symbolised by me wearing my mechanical
self-winding wristwatch instead of the Casio digital
calculator-watch that I normally wear (yes for most people the
latter might be more of a novelty than the former, but for a
mobile-phone-avoider like me a calculator watch is actually quite
handy). The idea is usually that I wear the mechanical watch when
I'm not doing real work so I don't need a calculator, alarm,
stopwatch, or particularly accurate timekeeping. But I wasn't
really having a break from work during the week, just trying to
take it easy and get out of a rut.

Ideally I would have gone back to one of my pure electonics
projects and avoid all the computer-based work  (election research
included) that has been particularly responsible for sending me
nuts. Unfortunately for those I've pretty much run out of either
good ideas or confidence in them at this point, so far as selling
them goes. Too many boxes full of unsold stuff - a bloke's got to
learn eventually that it's all these smartphony,
needlessly-internet-connected, vastly over-complicated, gizmos that
people want now. Even if they're exactly the things I avoid using
myself.

Instead I went back to a project that I got stuck on a couple of
years ago and have been peeping back at from time to time since,
working on everything but the one bit of code that I can't quite
figure out. The idea is simple enough: there's a library that in
part implements communication with a particular hardware interface.
I want to use the library with a different hardware interface
(implementing the same complicated data protocol). I've got a
manufacturer-provided library for the latter interface, so it's
just a matter of swapping over the relevent function calls.

Not quite so easy, because the libraries do things at different
layers so I had to mix-and-match code from different places. Also
the person who wrote the first library had never heard of comments,
so lots of trouble figuring out how variables correspond to things
in the new library. But the real problem comes down to this one
function call in the new library that wants a pointer to a
user-supplied function that doesn't seem to be demonstrated in the
examples (though these examples work at a higher level than I'm
working at). This seems like it shouldn't cause me all that much
trouble to figure out, as I conclude before each time I go back to
working at it, but somehow I just keep going in circles. Half my
trouble is that at times like these I use Cscope quite heavily,
especially for cases like this where the code is split over a long
list of  files. It turns out Cscope gets stuffed up by spaces in
directory names, exposing various bugs. I didn't want to rename the
directories in the (Windows-y) source tree in case it broke
includes, but it _finally_ dawned on me yesterday that I could keep
a separate copy of the source tree for Cscope's sake and just
recursively rename the directories in that. Of course I realised
this late Friday afternoon.

It probably is more of an attitude problem of mine than anything
else. I spent a lot of the week doing my usual
making/selling/posting stuff routines so I didn't really do nothing
all week, this was just the thing I needed to _achieve_. It makes
me think of all my other stalled projects, most of which are hobby
rather than business ones because with them I'm not so determined.
I think that all people who create things accumulate some projects
that never quite make it to the finish line. Heck GitHub seems to
have become a testament to that more than anything else, with all
the abandoned repos there promising great new concepts if only
there'd been more than five minor commits eight years ago. I don't
know about them but for me the stopping point for a project,
usually not consciously recognised at the time, isn't often so much
about running out of ideas but losing confidence in being able to
pick the right direction to go. The point where uncertainty
overwhelms the original vision of how a project can be realised.

It's not just that I don't know how to do something, but when I
can't see how to learn how to do something, through my usual
methods of reading or experimentation. There's one project, for
example, where it stalled because I couldn't figure out how to bend
a pipe. I still don't know really how to bend a pipe with the
equipment that I've got, but I've worked with formed metals enough
now that I would have more confidence in being able to mess around
for a bit in the shed and work out a way to do it soon enough. I
wouldn't do things much differently to how I might have back then,
only I'd have that little bit more confidence that there's be a
successful outcome.

It's not only unenjoyable to pursue working on a project when you
don't really see how you'll be successful at overcoming a problem,
but that same lack of confidence seems to cloud one's own thought
process. In my case at least, the process for deciding what to do
next seems to fall apart. To force myself on I usually stick to the
idea of "banging my head against the brick wall until I break
through", which means just randomly varying approaches to analysing
problem until _eventually_ I either realise some clue that I've
ignored or unexpectedly coax out a new one. Unfortunately that's
not very specific advice. For some things like a part of a program
or electronic circuit that's behaving wrongly you can hope to
simplify it down until the issue is pinpointed, but that's not
applicable to something like these libraries that I'm working on.

Overall I am short on any closing advice for this. Ideally one
wouldn't take on a creative project that one ends up stopping.
Skills may be learnt along the way, but they could most likely be
learnt through another project that could succeed with those skills
alone. It's impossible to know though, because it's only at the
point which you stop working on a project that you really
acknowledge, whether consciously or not, that your original vision
for how it could be realised was wrong. Like most thing in life
then, it's probably just down to dumb luck, and the thrill of
beating the odds by coming through with a project past the edge of
one's known abilities can indeed be very rewarding in itself.

- The Free Thinker