Press "Enter" to skip to content

Posts published by “centaur”

[twenty twenty-four day twenty-four]: in foggiest depths

centaur 0

One of the problems with computing is when it just gets ... foggy. Not when you're trying to do something hard, or when two pieces of software are incompatible, no. When things just sort of kind of don't work, and there are no known reasons that it's happening, and no reliable actions you can take to fix it.

Once this happened to me when I was working on a robotics device driver, and I realized the lidar itself was unreliable, so the only way to fix problems was to run each configuration ten times and keep average stats. Broken "worked" around ten percent of the time, whereas "fixed" worked around seventy percent of the time (approaching the rate at which the manufacturer's own software could connect to its own hardware).

Today, I ran into a seemingly simple problem with Anaconda, a Python package / environment management system. Conda lets you corral Python and other software into "environments" with different configurations so that potentially incompatible versions can be used on the same computer (albeit, not at the same time). It even gives you a handy indication about which environment is in use in your command prompt, like so:

There's a seemingly innocent blank line between (ThatEnvironment) and the previous line, yes? Not part of the standard Conda setup, but you can easily add it with a single line of configuration, changing the "env_prompt" to include an extra newline "\n" before printing the environment, like so:

Yeah, that line at the end. "env_prompt: \n({default_env})". In a conda configuration - a .condarc, or "dot condarc" file - which is almost as simple as possible. I don't even think the "channels" bit is needed - I didn't recall writing it, I think it just got added automatically by Conda. So this is almost the simplest possible change that you could make to your Conda configuration, done in almost the simplest possible way.

Except. It. Didn't. Take.

No matter what changes I made to the .condarc file, they didn't affect my Conda configuration. Why? I don't know. No matter what I did, nothing happened. I changed the prompt to all sorts of weird things to try to see if maybe my syntax was wrong, no dice. No amount of searching through manuals or documentation or Stack Overflow helped. I re-ran conda config, re-loaded my shell, rebooted my Ubuntu instance - nothing.

Finally, almost in desperation, I went back to my original version, and tried creating system-wide, then environment-specific configurations - and then the changes to the prompt started working. Thank goodness, I thought, and rebooted one more time, convinced I had solved the problem.

Except. It. Took. The. Wrong. Config.

Remember how I said I created a weird version just to see that it was working? Conda started reverting to that file and using it, even though it was several versions ago. It actively started overwriting my changes - and ignoring the changes in the environment-specific configurations.

So, I blew away all the versions of the file - local, system and environment-specific - and re-created it, in its original location, and then it started to work right. In the end, what was the final solution?

I have no idea.

When I started working on the problem, I wanted Conda to do a thing - print an extra blank line so I could more easily see a command and its result, separate from the next command and result. And so I created a file in the recommended place with a line containing the recommended magic words ... and it didn't work. Then I hacked on it for a while, it sort of started working, and I backed out my changes, creating a file in the same recommended place with a line containing the same recommended magic words ... and it did work.

Why? Who knows! Will it keep working? Who knows! If it breaks again, how do I fix it? Who knows!

This is what I call "the fog". And it's the worst place to be when working on computers.

-the Centaur

Pictured: Sure was foggy today.

[drawing every day 2024 post twenty-four]: stay still damn it

centaur 0

I had a somewhat ruined piece of paper, not a lot of time, and there was an image of Belldandy from Ah My Goddess on my computer's screen saver, so I decided to draw that. Unfortunately, the screen saver kept changing, and even though there were several pictures of characters from the franchise, I couldn't quite keep the image straight.

Ah well, it's late, I'm tired, scan and send - keep drawing daily, no matter what.

Don't break the streak.

-the Centaur

[twenty twenty-four day twenty-three]: and for the record …

centaur 0

... it's still one of the worst feelings in the world to turn back the sheets at the end of a long day, only to realize you hadn't blogged or posted your drawing. I had a good excuse yesterday - my wife and I were actually out at a coffeehouse, working on our art, when we had a sudden emergency and had to go home.

I had just finished my drawing and was about to snapshot it so I could post it, but instead threw the notebook into my bookbag, packed it up, and drove us home. Disaster was averted, fortunately, but the rest of the day was go-go-go, until finally, exhausted, I went to turn in and then went ... oh, shit. I didn't blog.

Fortunately, I didn't have to go back to the drawing board. But it did flip over to tomorrow while I was posting ... so, next day's post, here we come.

-the Centaur

Pictured: A jerky shot of me trying to document my wife's computer setup for reference.

[drawing every day 2024 post twenty-two]: another hand

centaur 0

Another hand, after Goldman. I thought I was doing quite well until I tried to close the loop on the hand, and realized I'd messed up the spacing, making the hand too wide, which I partially fixed; but that in turn messed up the webbing between the hand and the finger - leading to that dark line I could not fix.

Oh well, next time. Drawing every day.

-the Centaur

[twenty twenty-four day twenty-one]: it’s too cold to be stingy

centaur 0

Look, I get it: giving money to pandhandlers is not necessarily the best way to help lift people out of homelessness, and can often be counterproductive. Out of all the money that I've given to people, I'd say one out of three of them I could tell benefited from it (for example, one guy immediately bought food), one third were scammers (for example, one "hungry" guy immediately bought alcohol), and one third, I dunno. That's one reason that signs like this go up in public squares all across the country:

But look at the kind of day that this sign was having. It didn't get above freezing until noon. It's too damn cold to be stingy to people who ask for things from you. Jesus said "Give to all those who beg of you" and while sometimes we can't follow that advice given the context, yesterday was not one of those days.

This is part of a whole trend of "hostile architecture" where we structure our societies to make things difficult for people who are homeless - closing the parks, making benches hard to sleep on, stealing the possessions of the homeless (either as a condition of going into a homeless shelter, or outright theft by the police) and eliminating low-cost housing that could provide a path out for the homeless.

I'm not sure what the right answer is, but when it's fifteen below freezing, the right answer is not "no".

-the Centaur

[drawing every day 2024 post twenty-one]: what’s afoot

centaur 0

More Goldman studies. Like an AI, I kept drawing this foot with six toes, not quite sure why. Mostly fixed it, but it could have been better, if only I had learned to count.

-the Centaur

Studio Sandi Sells Custom Sustainable Furniture!

centaur 0

So, my wife's furniture business is finally kicking off! Here's the first ad for Studio Sandi's custom sustainable furniture, made from (almost) all eco-friendly, recycled and recovered materials:

Check them out at studiosandi.com , where more information will be added soon!

-the Centaur

Pictured: An ad for Silicon Valley Open Studios, showing four pieces of art and two pieces of custom furniture, almost entirely made from recycled / sustainable materials except for the resin tops.

[twenty twenty-four day twenty]: cat-shaped void

centaur 0

We have a black cat, so we got a black cat condo (just barely visible to the left). But of course, our cat-shaped void is a cat, and so prefers the blue couch, where its voluminous shedded fur is easily visible. My wife caught him in the act, so, enjoy this picture of our cat-shaped void, doing cat-styled things.

-the Centaur

Pictured: Loki on our couch. Interestingly, this picture was taken at an angle, so I rotated it, then used Adobe Photoshop's generative fill to recover the outer edge of the picture. The very outer edge is ... mostly right. Some weirdness is visible in the carpet patterns on the lower left, the brick pattern on the upper left, and whatever it is on the table on the right isn't there in reality. Otherwise, not a terrible job.

[twenty twenty-four day nineteen]: our precious emotions

centaur 0

It's hard to believe nowadays, but the study of psychology for much of the twentieth century was literally delusional. The first half was dominated by behaviorism, a bad-faith philosophy of psychology - let's not stoop to calling it science - which denied the existence of internal mental states. Since virtually everyone has inner mental life, and it's trivial to design an experiment which relies on internal mental reasoning to produce outcomes, it's almost inconceivable that behaviorism lasted as long as it did; but, it nevertheless contributed a great understanding of stimulus-response relationships to our scientific knowledge. That didn't mean it wasn't wrong, and by the late twentieth century, it had been definitively refuted by cognitive architecture studies which modeled internal mental behavior in enough detail to predict what brain structures were involved with different reasoning phenomena - structures later detected in brain scans.

Cognitive science had its own limits: while researchers such as myself grew up with a very broad definition of cognition as "the processes that the brain does when acting intelligently," many earlier researchers understood the "cognitive" in "cognitive psychology" to mean "logical reasoning". Emotion was not a topic which was well understood, or even well studied, or even thought of as a topic of study: as best I can reconstruct it, the reasoning - such as it was - seems to have been that since emotions are inherently subjective - related to a single subject - then the study of emotions would also be subjective. I hope you can see that this is just foolish: there are many things that are inherently subjective, such as what an individual subject remembers, which nonetheless can be objectively studied across many individual subjects, to illuminate solid laws like the laws of recency, primacy, and anchoring.

Now, in the twenty-first century, memory, emotion and consciousness are all active areas of research, and many researchers argue that without emotions we can't reason properly at all, because we become unable to adequately weigh alternatives. But beyond the value contributed by those specific scientific findings is something more important: the general scientific understanding that our inner mental lives are real, that our feelings are important, and that our lives are generally better when we have an affective response to the things that happen to us - in short, that our emotions are what make life worth living.

-the Centaur

[twenty twenty-four day eighteen]: something clever (un)evaporates

centaur 0

Don't you hate it when you think of something clever to say, but forget to write it down? I do. My wife and I were having a discussion and I came up with some very clever statement of the form "if people do this, they don't end up doing that", but now I can't remember it, so please enjoy this picture of a cat sending an email.

Just a moment. Just a moment.

"If you haven't climbed a mountain before, thinking about what you'll do when you get there is a distraction from starting the journey towards it. Climbing a mountain seems hard, but they're only a few miles high, and perhaps ten times that wide; most of your journey towards it will be on the plain, and that deceptively level terrain is the hardest part. Speculating about what parka to wear on the upper slopes does nothing to get you walking towards that slope; set out on your journey, and you can buy a parka when you're closer."

This bit of armchair wisdom was designed to encapsulate why it's better to start work on your business than it is to speculate on how to grow it into a multibillion-dollar conglomerate. Sure, it's great to have a grand vision, but you don't need to worry about mergers and acquisitions before you've found any customers - if you've never built a business before, that is.

If you are someone who has built many businesses, it's okay to build on your experience to guide your steps - but most of us have not, and our grand dreams can actively get in the way of figuring out how to make your product, how to get it in front of your customers, and how to make your product excel in their eyes so that they choose you over the alternatives.

Phew. Strangely enough, that first image was load-bearing: I picked a "random" recent picture for this blog, but it so turned out that our cat had been playing with his catnip laptop right around the time that Sandi and I had been discussing strategies for startups.

Feed your memory with enough cues, sometimes you get a retrieval.

Cogsci out.

-the Centaur

Pictured: Loki, sending emails on his catnip laptop, and resting on his laurels after a hard day at work.

[twenty twenty-four day seventeen]: we’re stronger with each other

centaur 0

No, this isn't a post about family, though it could easily be adapted to that topic. Nor is it a post about generic togetherness - that's why I said "each other" instead in the title. No, this is a post about how we're often stronger when we take advantage of the strengths of those around us.

Often at work we have our own perspective, and it can be easy to get caught up in making sure that our way is the way that's chosen, and our work is the work that is credited. But if we do, we may miss out on great suggestions from our coworkers, or on the opportunity to benefit from the work of others.

Just today at one of my contracting jobs, I had to present our work on the project so far. While most of the machine learning work on the project was mine, a lot of the foundational analysis on the data was done by one of my coworkers - and I called him out specifically when presenting his graphs.

Then, we came to the realization that collecting the amount of data we would ideally like to have to learn on would literally cost millions of dollars. I presented a few ways out of this dilemma - but then, one of our senior engineers spoke up, trying to brainstorm a simpler solution to the problem.

I'd been hoping that he would speak up - he had shown deep insight earlier in the project, and now, after a few minutes of brainstorming, he came up with a key idea which might enable us to use the software I've already written with the data we've already collected, saving us both time and money.

Afterwards, the coworker whose contributions I'd called out during the meeting hung on the call, trying to sketch out with me how to implement the ideas the senior engineer had contributed. Then, unprompted, he spent an hour or so sending me a sketch of an implementation and a few sample data files.

We got much farther working together and recognizing each others' contributions than we ever would have had we all been coming to the table just with what we brought on our own.

-the Centaur

Pictured: friends and family gathering over the holidays.

[drawing every day 2024 post seventeen]: tennant

centaur 0

Huh. I gave myself more time, worked on the construction lines, used better pens (though, blame your tools, I could tell that the older pens produced a worse line) and overall tried to make this come out better. But I don't really like how it turned out ... something is "off" about David Tennant here, more than just my typical need to draw more, draw more, draw more, and don't waste time.

-the Centaur

Pictured: the Fourteenth Doctor.

[twenty-twenty four day sixteen]: blog early, blog often

centaur 0

I'm a night owl - I'd say "extreme night owl", but my wife used to go to bed shortly before I woke up - and get some of my best work done late at night. So it constantly surprises me - though it shouldn't - that some things are easier to do earlier in the day.

Take blogging - or drawing every day, two challenges I've taken on for twenty-twenty four. Sometimes I say that "writer's block is the worst feeling in the world" - Hemingway apparently killed himself over it - but right up there with writer's block is deciding to call it a night after a long, productive evening of work - and remembering that you didn't draw or blog at all that day.

Sure, you can whip up a quick sketch, or bang out a few words. But doing so actively discourages you from longer-form thought or more complicated sketches. Drawing breathes more earlier in the day, especially in the midafternoon when your major initial tasks are done and the rest of the day seems wide open. And blogging is writing too, and can benefit as much from concentrated focus as any other writing.

SO! Let's at least get one of those two things done right now.

Type Enter, hit Publish.

-the Centaur

Pictured: Downtown Greenville as seen from the Camperdown complex.

[twenty twenty-four day fifteen]: photographic archaeology

centaur 0

I take a heck of a lot of pictures, seemingly way more than most of the people I know other than the ones in the movie industry; in fact, one of my friends once said "your phone eats first". But there's a secret to why I take pictures: it's for something, for the creation of an external memory - and memory is my brand, after all. With those photographs, I can figure out what happened in the past, even sometimes obscure things - like the attachment point of this lightsaber, which isn't just the diamond-shaped piece of wood, but also includes two hooks that seem to have disappeared in the move.

We may not find them, but at least now we know what to look for.

How can you turn the things in your life into an unexpected resource?

-the Centaur

Pictured: the old library, which was very nice, but not as nice as this one: