Press "Enter" to skip to content

Posts published in “Computing”

The art and science of mechanized thought.

comfort … and challenge

centaur 0

Long day. But I had yet another victory with "push it just a little bit farther" combined with "nailing down the carpet", applying them together to successfully complete a data loader for my latest machine learning project. It was quite the mess at first, with loose wires and dangling bits all over the place, and while the high level concept of what I wanted to do was clear, some of the next steps were elusive.

But "nailing down the carpet" means methodically going through a project and eliminating everything that can trip you up - formatting files, turning on the linter, resolving lint issues, refactoring code, and, sometimes, just moving code to its proper place. And when I was done with that, my data loader class was practically empty, just waiting for a suggestion from ChatGPT to flesh it out.

I had to adapt that code to my use case, of course, but I successfully loaded my data (into a Colab which was now a third of its former size thanks to my aggressive moves of code into reusable libraries) and managed even to cut the proposed loader to half its size, again due to the reusable libraries I had just built. The code worked in Colab. And I wanted to check it all in - but the unit tests suggested by ChatGPT no longer passed after all my code changes. It was late and I was tired, so I decided, yeah, time to hang it up.

But I was so close. And so, I decided to "work a little bit harder," and fix the unit test. Once I dug into it, I realized the problem was the synthetic data that the generative AI had proposed in the unit test, so I replaced that with real data, using the librarized code I'd just refactored. And then I realized the data was too big, so I used ChatGPT to write, on the fly, some code to squeeze the data down to size as test data.

That extra work took less than an hour - maybe less than thirty minutes. But it meant I was able to package up a report to my team and toss it over the virtual cube wall, confident that I had a clear picture of the data they were sending me and a clear set of tools to deal with it. And my next step, after a couple of minor refactors, is to finish the data loader so it can look at sequences of frames - something that we strongly suspect is needed to solve this machine learning problem.

So, once that's done tomorrow ... it's on to learning.

Don't jinx it, Francis.

-the Centaur

Pictured: Loki, being very comfortable in the Captain's chair. And so my point, and I guess I had one, is that by pushing it a little bit farther, almost past my comfort zone, I in turn made things so much more stable that I am actually more relaxed and calm than I was when I was planning to turn in early. So I find the tools that I'm developing - "nail down the carpet", "sharpen your saw", "work a little bit harder", "clear the decks", "find the price and pay it", and "be gentle with yourself" - continue to reap greater and greater rewards.

it’s late and i’m tired …

centaur 0

...but I'm still going to try to get at least one thing done before I go to bed.

Because, even though it's been a rough few years, and sometimes I want to give up ...

I still believe you just need to work slightly harder than you want to in order to really get things done, and if you do, you'll often find that your efforts are more greatly rewarded than you might have imagined.

I'll go further: if you work just a little bit less than you need to, it's often a net negative: you expend effort without reaching the goal, so all you're left with is the cost. But if you put that slight extra effort in, right when you think you want to give up, that's when everything can flip from negative to positive.

We often think in terms of a simple linear model of effort to results - we do a little work to get a little reward, and we're often taught in economics class that there's a law of diminishing returns, so if we do even more work, we get proportionally less reward.

But that little bit of extra effort right when you want to give up flips that script: it doesn't give you a little bit of extra reward, approaching zero the more effort you put in; because it can turn a loss into a win, it effectively has an almost infinite relative payoff.

So: Don't give up. Because, when you feel you want to ... that's when you're close to victory.

-the Centaur

Pictured: Pound cake, deep learning, and art practice.

maybe back in business …

centaur 0

Had another weird uploading thing yesterday, but it seems to have resolved with a Chrome restart.

Please enjoy this picture of a cat taking a nap in the "Captain's Chair", my favorite reading area.

-the Centaur

back … in business?

centaur 0

is it ... is it WORKING now? <relieved sobs>

-the Centaur

the scientific method …

centaur 0

first, let's try to add an image that failed previously ...

yep, it fails.

now, let's add a whitelist entry for the path that failed, and try again ...

SHAZAM! it worked.

let's see if we can publish the post ... NOPE!

so let's add THAT url to the whitelist ... nope, not that one ... YESSSS

another test

centaur 0

it may have been cached data in chrome ... investigating ...

i hate heisenbugs …

centaur 0

... so, whatever was causing images not to upload on the NEW website has just stopped happening, without me ever quite being to nail down what it was.

charming.

no, well, actually, frustrating, but, i suspect we will be back in business soon.

-the centaur

pictured: the old library, posted on the new library blog

am i alive?

centaur 0

wtf bro, what be the problem

test test

centaur 0

yes just a test

am i alive?

centaur 0

Strange ... I finally upgraded the blog, but the first post after fixing the blog seems to have disappeared ... and we're back on an older version of WordPress. What's up?

test test.

-the Centaur

still not dead, but blog updates must wait …

centaur 0

Okay, so some people are worried about me since I haven't posted in a while, so I thought I'd weigh in on what's going on - and explain why this will be the last update of the blog for a while, but hopefully, not forever.

As I mentioned earlier, I unexpectedly ran out of space to upload images to the blog - my reported quota was 35 gigabytes, but in practice the system craps out at 25. (And believe you me, it took a lot of debugging to figure that out).

This charming discovery happened right around the time that I spilled water on my laptop, which was a one-and-a-half week fix; that itself came in the middle of June, where I took 5 trips (Con Carolinas, the Nebulas, a Logical Robotics trip, CVPR/EAI, and Seattle) and was followed by July, where my wife and I, after almost five months of being mostly apart, had just two short weeks to catch up before her trip to go help her mother deal with the death of her stepfather. Not to mention the Unsolved Problems in Social Navigation Workshop, and The Neurodiversiverse copyedits and sensitivity edits. And Camp Nano, of course, far behind.

Good times, good times.

So, during all that, I didn't have time to update the blog's backend. Sorry.

Now, I've got a little free time, and I've started to do that - but it involves moving to a new provider, and that, itself, comes with a wrinkle. I'm going to have to copy all the data from the old provider, which is a painstaking process, since ~25GB and +25K files is far too large a file system for any normal FTP client to download without crashing. (And believe me, I've tried). So I have done the bulk of this copy now, but still have to verify that the files have correctly downloaded, which will actually involve writing a program to compare the trees, as I haven't found anything yet that will do that on a file tree this size over a connection this flaky.

Presuming success on that ... the next step is downloading the Library of Dresan database and migrating to the new provider.

So, if I blog any more here, I'm going to have to download that again. I already need to re-download this blogpost's image, as it wasn't in my first capture; but I wanted to test whether deleting the log files would have given me space to upload more images (it did). But downloading the database multiple times just because I can't stop blogging is a bridge too far.

SO! Until the migration is complete, I'm going to blog very sparingly, if at all. Sorry about that.

Hopefully it won't take too long.

-the Centaur

Pictured: A (mostly) vegan breakfast sandwich (except for the honey bread, since my favorite vegan bread was out at the store) - toasted bread, Just Egg, black salt and pepper, and two vegan patties from a new company whose name I can't remember; the ensemble of which always looks to me like a scream. Does that sandwich look right to you?

Unsolved Problems in Social Robot Navigation at RSS 2024

centaur 0

Hey folks! I am proud to announce the Workshop on Unsolved Problems in Social Robot Navigation, held at the Robotics, Science and Systems Conference in the Netherlands (roboticsconference.org). We are scheduled for 130 pm and will have several talks, spotlight papers, a poster session and discussion.

I'm an organizer for this one, but I'll only be able to attend virtually due to my manager (me) telling me I'm already going to enough conferences this year, which I am. So I will be managing the virtual Zoom, which you can sign up for at our website: https://unsolvedsocialnav.org/

After that, hopefully the next things on my plate will only be Dragon Con, Milford and 24 Hour Comics Day!

-the Centaur

Pictured: Again, from the archives, until I fix the website backend.