Oct. 23rd, 2017

randomdreams: riding up mini slickrock (Default)
Last week my manager said "hey you should take some time off, like next week, or the week after."
About an hour later my favorite coworker came in and said "we have a horrible project and it's going horribly and can you help?" So I have until I don't know when, stuck sitting in front of a temperature-controlled chamber, running massive quantities of boards through.
I did manage to figure out a way to get my test system to run boards in parallel. In all the time I've been working at this job, our system test equipment ran one board at a time, but I recently wrote some fancy stuff that allows me to run as many boards as the measurement equipment I can scrounge up can accommodate. (I have not yet managed to get them to run in true parallel, because I'm still learning how to write re-entrant code. Maybe tomorrow. But at least I can get different hardware systems to measure in parallel, meaning if I'm careful, I can interleave them and get N units tested in T* (N/(N*1.2)) time rather than T*N time.)
The problem is that I get a datalog that has a complete mishmash of data in it: a temperature reading, then a huge swath of readings that are identified in one column by the instrument name that took the measurement, and in the next column by the actual measurement.
What I need to do is convert that to a column of temperatures, and then N columns of measurements, one for each measurement from each board being tested. Writing a sorting array for that took a lot of today and it's still not totally functional: it relies very heavily on all measurements being basically valid. (If a measurement is skipped for some reason, as in the instrument returns no value, it substitutes the next valid measurement, from the next round of tests, shifting everything in that column upwards and putting data where it shouldn't be.)
I was doing this in my office, into which everyone was pouring to talk about their weekends and the trails they rode and the stuff they made, while I'm trying to figure out how to make arrays of pointers that determine the stack depth in each column. Finally I went back and hid behind the temperature chamber, where it is too loud and hot for anyone else to even try a conversation, and got my first attempt at a sorting program working. While I was doing that, I noticed I'd made a stupid mistake in the program taking data, reusing a variable without assigning new values to it, so all my measurements were the same. Great consistency. I had to restart the program from the beginning, for its three hour run ("a three hour run, a THREE HOUR RUN", and I was playing the part of Gilligan for most of it.)
At least I think this will only take me three days rather than a week and a half because of parallel operation.
randomdreams: riding up mini slickrock (Default)
Both the Spitfire and my Subaru have leaking tires, the Spitfire because the wheels themselves are rusted enough that air leaks through the seams where the wheel halves were joined, and the Subaru because I ran over a very tough wire. This means every other week I need to fire up the air compressor and pump up three wheels. At some point I'll get some tire sealant and put it in the Spitfire's wheels and fix that problem. Likewise at some point I'll get new tires on the Soob since they're about worn out.
Today is not that point, and apparently that point has also not been at any time in the last two months. Sheesh.
I still haven't even managed to get time to replace the front brake disc on the Subaru, that's badly and unevenly worn because the caliper won't center correctly anymore. That's going to be a disaster at some point.
This is why I needed a week off.

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 Aug. 19th, 2025 04:32 pm
Powered by Dreamwidth Studios