randomdreams: riding up mini slickrock (Default)
[personal profile] randomdreams
You know that old thing about how as you get old you walk into a room and can't remember why?
I'm increasingly fighting the opposite problem. I feel so short on time that I do this optimization process: I should go downstairs and move the sprinkler line. But if I'm going downstairs I should take the trash bag down because it needs to go in the can and out to the curb anyway. But if I'm going out to the curb I should get the replacement turn signal bulbs out of my car. But if I'm going to get the bulb I should grab a screwdriver so I can pull off the spitfire bulb cover and replace it. But I don't have enough hands to carry all those things. And then I freeze while I try to reoptimize my path.
Is this better or worse?

My manager came in and tried to help me with my project. About two hours in he was clutching his head and saying "this is a nightmare." However, we did make a bunch of progress, because I started detailing every single step of what I was doing, including stuff that seemed really obvious, and it turned out what seemed really obvious was wrong. There's this board, that I have to reflash firmware onto, which I do by plugging the usb cable into the debug port. Every other system I've used, you continue with the cable plugged into the debug port, and nowhere in the instructions does it say to change that, but when I was detailing what I was doing to some other people via the phone, one said "wait, no, you unplug it after loading the firmware, then plug it back in again, and that sets up the comm port for that side, and then you unplug it and plug in to the target instruction side and interface from there."
I wish I'd known that a week ago. Or two.
ANYWAY. So I did that, and then the board didn't even show up: refused to enumerate as a usb device. I measured and it had no power. So I'm all "you SURE this is how this works?" and he replies "oh, you have to change a jumper setting so it gets power from that usb port." I do that, still nothing, he says "you must have something wrong, because it works for me" and then another person chimes in "oh, wait, I just tried it and it doesn't work for me." There's a silence, and the first guy says "oh, I have a custom firmware package that enables that, and I forgot."
That was one of the points where my manager walked out of my office without saying anything and just walked around the building for a while, as I dealt with talking to them.
So I plugged in both cables and ran the software I'd written almost a month ago and it ran just fine.
sigh

well, not just fine. I ran it, not paying close attention, just seeing what happened, and all sorts of errors showed up about halfway through, and I shrugged because I figured that was not surprising, and ran it again, and now the errors showed up at the second step, and that was surprising, and by then my manager was back and anxious about why that was messed up and why a program wasn't deterministic: it should run the same each time, right?
Except the first pass, it (invisibly, but I happen to know) allocates a block of memory as a buffer for communication, and because the program is crashing, it cannot deallocate that block of memory, so a subsequent initiation blows up because the memory allocation call fails.
I felt really clever to figure that out within about five seconds of it happening.
I'm hoping the experience has convinced my manager that I do know what I'm doing if I have accurate documentation, and that if I have some time, I can work around documentation that is missing things and expert opinions that are flat-out wrong. I think all he saw up until now was that I was spending days of effort and getting nothing, when I was actually getting a lot of experience on what should be happening and how it was likely failing.

Date: 2018-08-30 05:03 am (UTC)
ranunculus: (Default)
From: [personal profile] ranunculus
I -both- forget why I've walked in a room -and-, on occasion, over think things. Often I'll start out to do one thing and end up doing five other things but NOT the original thing...

Glad your manager had that experience. I would think it should help him to be more understanding.

Date: 2018-08-30 07:05 am (UTC)
ivy: Two strands of ivy against a red wall (Default)
From: [personal profile] ivy
I'm glad that your manager got to see you being competent at a task that sounds deeply and recursively infuriating. (I am sorry for the nature of the task.)

I optimize like that too, only I cut myself off at about three or four steps since that's generally how many hands I have. The place where I go further than that is when I'm leaving the house in the morning for a whole day, and I have to figure out everything I need for the day. (Yesterday: yoga mat, work laptop, date clothes, motorcycle stuff, tea canisters for refill. Today: present for friend, Crossfit outfit, running shoes, Kindle, mail.)

Date: 2018-08-30 02:24 pm (UTC)
rebeccmeister: (Default)
From: [personal profile] rebeccmeister
I think I would call this optimization process "In-House Trip Chaining." Bicyclists trip chain a lot because it takes time and energy to travel between points. But yes, it's possible to take it too far.

I think this work experience kind of summarizes a lot of programming-related frustration, in a nutshell. We solve the easy stuff quickly, but getting stuck and working through the harder problems is often a nonintuitive, non-linear experience. And we always feel dumb when we start to figure out where things have been going wrong. But VERY GOOD to have your manager present to see what it's like and see you fight the dragons. :^)

Date: 2018-08-30 03:46 pm (UTC)
malterre: derpy bear (Default)
From: [personal profile] malterre
"oh, I have a custom firmware package that enables that, and I forgot."
Congrats on no murder!
And go you on problem spotting!

Date: 2018-08-30 05:02 pm (UTC)
amaebi: black fox (Default)
From: [personal profile] amaebi
About the colleague with the multiple relays of "and then it will work": No one documents what they've done. No one ever documents what they've done. :(

About the task-optimization stacks: Yeah, me too, and usually I'm figuring out how to configure stacks of really really boring tasks, which is an exponential level of boring.

My commiserations. :(

Date: 2018-08-31 11:02 am (UTC)
amaebi: black fox (Default)
From: [personal profile] amaebi
I believe you: you are very competent and practical and profoundly experienced at wink-wrangling. I should not have used the universal. Life is getting to me.

Date: 2018-08-30 08:04 pm (UTC)
secretagentmoof: (Default)
From: [personal profile] secretagentmoof
I overoptimize to the point of all my time and energy being used by the optimization, and never get anything done.

Date: 2018-08-31 05:34 am (UTC)
secretagentmoof: (Default)
From: [personal profile] secretagentmoof
Yeah, I feel called out on that last one.
I think my turdpolishing tendencies are a corollary of FOMO.

Date: 2018-08-31 06:56 pm (UTC)
elusis: (Default)
From: [personal profile] elusis
I think you and F have that in common. Last night we were trying to decide whether to buy a new suitcase for going to France, and I had it narrowed down to two possibilities. But then he had to look into a third because he saw it on a TV when he was having a beer with a friend, and then had to read three more reviews of the two options I had, and then had to go searching through the Air France website to look for their baggage policies to evaluate the cost/benefit of taking three bags rather than two, and I was like "JUST. TELL ME. A OR B."

Date: 2018-08-31 11:05 am (UTC)
amaebi: black fox (Default)
From: [personal profile] amaebi
Oh, yeah. :(

Date: 2018-09-01 12:39 pm (UTC)
fbhjr: (Default)
From: [personal profile] fbhjr
"it turned out what seemed really obvious was wrong"

Yeah, I get that.

Glad you were able to figure things out. We're having similar problems, but less luck.

Profile

randomdreams: riding up mini slickrock (Default)
randomdreams

April 2020

S M T W T F S
   12 34
567891011
12131415161718
19202122232425
2627282930  

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 11th, 2025 01:50 am
Powered by Dreamwidth Studios