Press "Enter" to skip to content

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.

[twenty twenty-four day one seven two]: i prioritize my marriage

centaur 0

SO! I am behind on blogging. But my wife and I have been traveling so much this year (near constantly for five months between the two of us) that, frankly speaking, we need to focus on us time more than I need to focus on the blog. So it's going to take a little longer to get things rolling ... because other things come first.

-the Centaur

Pictured: an anniversary picture, from years ago (since the blog image uploading is still borken).

[twenty twenty-four day one seven one]: better late than never

centaur 0

Welp, by my calendar, I'm about two weeks behind on blogging every day posts, but better late than never, eh? The Embodied AI Workshop went off quite well - we had standing room only three deep by the end - even though I was frazzled from 7am to 10pm trying to make sure things went off as planned.

And the next day, we had CVPR, which was quite the fun adventure! But, then, that evening, I spilled water onto my laptop. It promptly rebooted, then shut down, never to turn on again. Not only did that make me feel like an idiot, it put a serious crimp in the work I was planning to do during the conference.

Including blogging! Not only was it difficult to post on my phone, it was also practically impossible to start down the path of upgrading the dresan.com backend to deal with the file storage issue - and what computing time I had needed to be spent on The Neurodiversiverse. So everything ground to a halt.

So I'm not dead. But it is taking a bit of time to get things back on track. By my count I'm about two weeks behind on blogging and a week behind on art, and it looks like it will take several weeks to get caught up, back up to speed and on a regular posting schedule.

Stay tuned.

-the Centaur

Pictured: The backdrop for Embodied AI #4's scheduling poster, produced with several layers of generative AI combined in Photoshop and extended with Photoshop's own generative fill tools into the poster size. While I'm convinced we don't want to use generative AI for regular art, for this client, which was a workshop on AI featuring generative AI, we wanted the generative AI look.

not dead, still just recuperating

centaur 0

yeah, it turns out spilling water into your laptop is not great for your productivity. back at home, still working through recuperating from all the travel (including some unexpected bits there at the end).

more soon. i go zzz now.

-the Centaur

Pictured: me from a decade and a half ago, because blog images are still down. Hard at work on Jeremiah Willstone and the Watchtower of Destiny though, and am making progress.

still not a real blogging every day post …

centaur 0

... trying to catch up on the to-do list, stay tuned.

-the Centaur

Pictured: Past to-do lists, since one of the things to-do is to fix the blog backend.

Not Dead

taidoka 0
Tangled connections ...

CVPR and EAI took a lot out of me, and some unexpected stuff came up. Regular blogging will resume next week, once I return to sanity land.

-the Centaur

[twenty twenty-four day one seven oh]: embodied ai #5

centaur 0

Today is Embodied AI #5, running Tuesday, June 18 from 8:50am to 5:30pm Pacific in conjunction with CVPR 2024's workshop track on Egocentric & Embodied AI.

Here's how you can attend if you're part of the CVPR conference:

  • The physical workshop will be held in meeting room Summit 428.
  • The physical poster session will be held in room Arch 4E posters 50-81.
  • The workshop will also be on Zoom for CVPR virtual attendees.

Remote and in-person attendees are welcome to ask questions via Slack:

 Ask questions on Slack

Please join us at Embodied AI #5!

-the Centaur

Pictured: Our logo for the conference.

[twenty twenty-four day one six nine]: t minus one

centaur 0

The Fifth Annual Embodied AI Workshop is tomorrow, from 8:50 to 5:30 in room Summit 428 in the Seattle Convention Center as part of the CVPR conference!

You can see our whole schedule at https://embodied-ai.org/, but, in brief, we'll have six invited speakers, two panel discussions, two sessions on embodied AI challenges, and a poster session!

Going to crash early now so I can tackle the day tomorrow!

-the Centaur

Pictured: More from the archives, as I ain't crackin' the hood open on this website until EAI#5 is over.

[twenty twenty-four day one six eight]: what ISN’T embodied AI?

centaur 0
two hangry cats

The Embodied AI Workshop is coming up this Tuesday, starting at 8:50am, and I am busy procrastinating on my presentation(s) by trying to finish all the OTHER things which need to be done prior to the workshop.

One of the questions my talk raises is what ISN'T embodied AI. And the simplest way I can describe it is that if you don't have to interact with an environment, it isn't embodied.

Figuring out that the golden object on the left and the void on the right is a tremendously complex problem, solved by techniques like CNNs and their variants Inception and ResNet.

But it's a static problem. Recognizing things in the image doesn't change things in the image. But in the real world, you cannot observe things without affecting them.

This is a fundamental principle that goes all the way down to quantum mechanics. Functionally, we can ignore it for certain problems, but we can never make it go away.

So, classical non-interactive learning is an abstraction. If you have a function which goes from image to cat, and the cat can't whap you back for getting up in its bidnes, it isn't embodied.

-the Centaur

Pictured: Gabby, God rest his fuzzy little soul, and Loki, his grumpier cousin.

[twenty twenty-four post one six six]: what is embodied AI?

centaur 0
big red stop button for a robot, i think from bosch

So, as I've said, Embodied AI is just around the corner. But what is this workshop about? Embodied AI, of course! It says so on the tin.

But the key thing that makes "embodied AI" different from computer vision is that you must interact with an environment; the key thing that makes "embodied AI" different from robotics is that technically it doesn't need to be a real physical environment, as long as the environment is dynamic and there are consequences for actions.

SO, we will have speakers talking about embodied navigation, manipulation, and vision; generative AI to create environments for embodied agents; augmented reality; humanoid robots; and more.

Okay, now I really am going to crash because I have to fly tomorrow.

Onward!

-the Centaur

Pictured: An e-stop (emergency stop) button from a robot. Looks a little jury-rigged there, Chester.

[twenty twenty-four post one six five]: embodied ai is almost here

centaur 0

Ok, the image is from ICRA, but I am still traveling, and have not fixed the problem on the website backend. BUT, Embodied AI is this coming Tuesday, so please drop in if you are at CVPR!

More later, I had several long days at the customer site and I am going to go crash now.

-the Centaur

[twenty twenty-four post one six four]: it’s not every bite, but their sum

centaur 0

So I had a really good set of meals in Vancouver over the last few days - one at old favorite Gotham Steakhouse, one at my consulting client's office where they ordered Persian from Shishlik Grill in for lunch, and one vegan meal at my other old favorite, the Lebanese restaurant Nuba in Gastown.

And it struck me, as a foodie, that while these meals were good, their sum was better than their individual bites. In particular, the hummus-tabbouleh-falafel-pita combo at Nuba was solid all around - definitely good but not the best I've ever had - but the sum of all of them into a meal was extraordinarily satisfying.

This is true even in the case where the food itself is extraordinary. One of my favorite meals is the blackened salmon quesadilla at Aqui's - it's off-menu, so you have to know that you can order it, and how - and while that quesadilla is one of the best food items ever, it's the whole plate - the mango salad, the tropical tea, and the special combination of salsas and pickled jalapenos that I add to it - that takes it over the top.

I mean, in one sense, I knew that - I knew a great meal wasn't just one great dish - but walking out of Nuba today, with a really great, really satisfying Lebanese meal in me - really struck that home.

Blogging every day.

-the Centaur

Pictured: Three great meals (or drinks) from the archives: a cauliflower steak (which they also have, in another form, at Nuba), a Page One or Cafe Salzburg from Cafe Intermezzo, and the blackened salmon quesadilla at Aqui's (mango salad, with my custom four-flavor salsa combo on the side).

[twenty twenty-four post one six three]: paranoia will ensure ya

centaur 0

Okay, I was flying Tuesday, so I'm just going to pretend this was an abbreviated post, something something busy busy something something flying to Vancouver something something robot consulting.

At least I didn't try to fly on an expired passport ... this time. Strange how paranoid a mistake can make you! Like how I missed a flight - two days in a row - trying to leave London, ~30 years ago, the first time due to my mistake, the second due to a train stoppage, so I now try to go to airports ~2 hours early ... and missing my flight to Comic-Con due to traffic made me paranoid enough to leave ~3 hours early in LA's rush hour traffic so I'd have time to make it through any unexpected snafus with my international flight.

But that paranoia got me there safely and on time ... this time.

-the Centaur

Pictured: Me, at some event in 2015 ... wait, I owned this scarf in 2015???

Embodied AI and Unsolved Problems in Social Robot Navigation

centaur 0

Hey folks! One more sticky post reminding y'all that coming up next week is the Fifth Annual Embodied AI Workshop, Tuesday, June 18th, at CVPR, the Computer Vision and Pattern Recognition Conference. I am the lead organizer, though you'll probably only hear me yapping for any extended length of time if you show up in the first ten minutes - I give the intro talk at 8:50am.

Next is the Workshop on Unsolved Problems in Social Robot Navigation, held at the Robotics, Science and Systems Conference. Our paper deadline is coming up June 7th, and the workshop itself will be held July 19th at RSS in the Netherlands. 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.

After that .... Dragon Con!

-the Centaur

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

[twenty twenty-four post one six two]: behindiness

centaur 0

Super far behind, because we're in "the stretch" leading up to Embodied AI Five - which also happens to be the week of a site visit at one of my consulting clients. So, this past Monday, I met with them online, took care of some Neurodiversiverse stuff, met friends for dinner, then started packing to fly.

And, while I did draw, I forgot to blog. Mucha-girl disapproves.

Still, blogging every day, even if I have to backfill.

-the Centaur

Pictured: Detail of Alphonse Mucha's poster for Princess Hyacinth, incorporating, when you look more closely, a disturbingly strong right arm on the princess there - in my mind, probably symbolizing both her father, the blacksmith, and probably echoing Mucha's pro-Slavic symbolic interest in the goddess Slavia.

[twenty twenty-four post one six one]: one more thing

centaur 0

So one thing here to remind myself to blog about it in more details - I attended a panel at the Nebulas on "Moving Beyond Milford" which was very useful. Milford, for those not steeped in writerly inside baseball, refers to the Milford Writer's Workshop, or, more generally, a critiquing model in which a group gets together, shares stories to read in advance, and everyone critiques each other.

The key element of Milford is that each person in the group gets their turn to critique - say, four minutes - during which nobody else can speak - not the other authors, not other group members, with the exception of a facilitator who can keep things on track. And most people seem to agree that the gag rule is critical to Milford in that it helps authors to learn to take criticism - and shuts up "that guy" so he doesn't dominate the critique.

But it can cause people to pile on, or for criticism to be repetitive, or even misplaced. So people were recommending different approaches - online, threaded critique, or structured critique where you had to start off with what resonated with you in the story before critiquing it, or encouraging facilitated discussion so everyone doesn't pile on with dittos.

I had "office hours" at the Nebulas, during which I advised other authors on problems - not because I'm some super experienced author or anything, but simply because I'm an editor and publisher, which means authors who are arguably equally or more experienced than me thought they might benefit from talking to an editor and publisher about specific problems. Which we did, with a couple of people.

And, when I did, I took the advice of the "Moving Beyond Milford" panel: I reformulated my critique into a five-point breakdown:

  • What did I think the story was about? Reiterating what the story is about ensured that I "got" what the author was trying to do, in an attempt to head off at the pass any misunderstandings.
  • What did I like about the story? Identifying what resonated with you about the story helps the author understand what's working about the story which they probably shouldn't change.
  • What areas of improvement did I see? This is something that can crush newbie authors - or experienced authors hit with impostor's syndrome - so it's important to formulate this in terms of suggestions.
  • What features or turns of phrase stuck with me? These might be small things, but I think highlighting key sentences, elements of description, or ideas are important to remind authors they can be effective.
  • What areas could potentially use copyediting? If there are typos, grammatical errors, or other opportunities for low-level textual improvement, highlight them here.

But even though that's what I used when I analyzed the story, that's not how I presented the above material to the author in our meetings. What I did instead was use the following script (after the meet-and-greet):

  • Here's what I think I read. I started off by briefly reiterating what I thought the story was about, so the author knew I had read their piece (and we could clear up any misconceptions).
  • What do you want help with? I then asked the author to explain what areas they needed help in. If anything about that wasn't clear, I asked them to explain in their own words the problem.
  • Let's brainstorm solutions to your problem. Before digging into my notes, we discussed their problem in greater depth and used story structure ideas to start looking for solutions.
  • Let's discuss where my notes intersect with your concerns. Then, we dug into where my notes intersected their problems, focusing on the parts where they needed help.
  • Once we have ideas about a solution, then share the other notes. Where the other notes were still relevant, I shared them, trying to build suggestions about how to make the story stronger.

Overall, I wanted to not dive in with how I thought the story could be better, but to improve the author's experience working with the story first, then focus on how my thoughts about the story could help them.

I think this is a better approach than tackling the story proper as an entity divorced from its author. Once a story is done, we can talk about the text as an entity independent of its author, but BEFORE the story is done, it's a work in process being worked on by a real human being, asking for help.

When critiquing, put helping the author first, and worry about your personal pet peeves some other time.

-the Centaur

Pictured: Some writing advice from me, from back in the day, while blog image uploading is down.

[twenty twenty-four day one six oh]: zero inbox

centaur 0

Okay, the Nebulas are over, and I should blog about that, and I'm a day or two ahead on drawing, which I should post when I get the website backend fixed, and I'm a day behind on blogging, so I should get caught up on all that.

But I just spent about two hours pursuing, and achieving, zero inbox across all three of my major email accounts, so I am VERY tired, and I am going to crash shortly.

Zero inbox is the discipline of clearing ALL the messages from your inbox - either by handling them, or categorizing them into folders for further action. This means what comes into the inbox in the future can be more quickly dealt with (or more easily unsubscribed from).

Now, I have a LOT of email in the folders I filed - probably hundreds of messages. But I had at least twenty thousand messages built up across all three accounts, most of which were spam, promotions, social media notifications, forum posts, or other notifications which were functionally worthless.

Now, even though there are hundreds of messages to process ... they're just in the hundreds.

And that feels way more doable.

Okay I go crash now.

-the Centaur

Pictured: A blast from the past in the Atlanta Airport (while blog images are still down).

[twenty twenty-four day one five nine]: fight the molasses

centaur 0

So! I made it. I'm at the hotel where the Nebulas will be happening, and by the time you read this (according to my records this should be post 159, and according to this day-of-the-year calendar that should be Friday, but as I type it's a hair before midnight Wednesday night) I should have already done the first of my events.

But I also have a day job, and since I was "drawing, on average, every day" and reading Neal Asher's Shadow of the Scorpion on the flight out, I took advantage of my oops-you-checked-in-in-advance-but-we-didn't-reserve-your-actual-room drink voucher and got an Old Fashioned at the soon-to-close hotel bar.

(Apologies to the hotel bar staff: I came in 30 minutes before close, just as they were cleaning up and switching over to sidework, but me plopping myself down at the bar apparently opened the floodgates, for something like half a dozen people then showed up right after I did).

At the bar, I cracked open Visual Studio Code, ChatGPT and Stack Overflow in an attempt to find a more parsimonious dataset representation for one of my clients. I'd built a horribly data-inefficient version of a machine learning dataset for them on the principle "get the fucker running so we can see whether it works" but the fucker worked, so we need now to make it at least marginally more efficient as we now turn our attention to "let's see whether this fucker can fucking scale up."

It looks like a data representation called HDF5 is worth a first shot (not that it's the best or the only, but it has C++ and Python bindings and appears simple to integrate into both our custom data set writer and into our custom PyTorch data loader). So, I did a little digging via Bing/Google to verify the best way to install HDF5 for Python (h5py for Conda, in this case) and set down to try out ChatGPT's recommended test case.

But ... the installation locked up.

Restarted the install. No dice. Then I thought it was the janky hotel Wi-Fi. Switched to my own personal hotspot. No dice. Tried a bunch of StackOverflow recommendations to fix the problem. No dice. Fifteen, then thirty, then forty-five minutes stretched by, as I tried to get a simple darn package to load.

This is, as I've said before, the problem of "molasses" in computer programming: the gummy gook which makes it impossible to do simple tasks. Another colleague called it "the novice penalty, and it's real": people who work in a domain all the time learn the tricks to make it work, but novices don't know these tricks, and struggle to do things that "experts" think are easy because they've forgotten they are difficult.

I almost gave up. But molasses needs to be fought. As I often say, oftentimes, you need to work a little bit harder than you think you need to, and when you do, you'll find that you're greatly rewarded by a breakthrough. Molasses can gum us up, but if we push through, we may find that it becomes smooth sailing.

In this case, the solution was actually to use ChatGPT's suggestion for installing the HDF5 package: 'pip install h5py', rather than ' conda install anaconda:h5py'. The benefit of doing it the 'conda' way is that the installation is in a 'Python environment' that corrals the installed software so it doesn't break anything else; but, for whatever reason, my conda environment was having trouble with that, so pip - which installs the program globally on the computer, across 'environments' - was the way to go,

From there I was able to start making progress on my dataset loader problem, and have a clear direction for the project to take tomorrow. Had I accepted the slowdown imposed by the molasses, I would have returned to this problem tomorrow with no real clue of the next steps to take, other than remembering that I had tried a bunch of stuff, got exhausted, and decided to start fresh in the morning.

Sometimes that's the right thing to do, of course. But if we can push through the molasses through to the other side, we often will be doubly rewarded: not only will we solve the immediate problem we were facing, but also will have a solid foundation to move forward on our next task.

So don't let the molasses bog you down. Push on through, and leave it behind if you can.

-the Centaur

Pictured: One from the archives - some Mathematica analysis of a problem - while the blog images are down.