o8o 
                                `"' 
ooo. .oo.  .oo.    .ooooo.     oooo 
`888P"Y88bP"Y88b  d88' `88b    `888 
 888   888   888  888   888     888 
 888   888   888  888   888     888 
o888o o888o o888o `Y8bod8P'     888 
                                888 
                            .o. 88P 
                            `Y888P  

~~ who ~~

Honestly? I don't know.

It no longer feels like it's my place to say.

I'll leave it for you to decide.

~~ communicate ~~

one-on-one moj@sdf.org
soapbox @moj@mastodon.sdf.org
hotline SDF Phone x2239

Proprietary

Published: 27 Mar 2022

In order to develop a deep understanding for their system, I’m using it in a nonstandard way – not outside the scope of what it’s designed to do, but outside how it’s marketed. Applying the tool to a real-world problem where I have some personal interest? What could be a better driver?

Let’s skip forward a bit: At some age, and on a date only you will know, you may begin to consider that there are far fewer days ahead of you than there are behind you. After that date, you may find yourself more irrationally pissed than you used to be at losing a day to bullshit. Today, a prominent, high-dollar, proprietary software system filled the bulk of its pretty UI to tell me that I’d encountered an error that I had to resolve before proceeding. The error? “Index out of range.”

What index? What range? Who knows – it didn’t say. There was no additional information. There was no stack trace. There was no error code to search for or a link to follow. Just “Index out of range.” What was I doing? Well, funny that: I was trying to export the work I had done on their system and to import it into another system… Like Microsoft Office into Open Office or the like? No. I was trying to move my work from their system into an updated version of that very same system. Using their own tools. Following their own instructions.

For the deeper understanding, I went a little further… Alright, maybe also to cover my bases before the support folks come back and tell me it’s my own fault. After trying to migrate the work to the target system, I tried migrating it to another system – different platform. I upgraded the current system to the same system version as the target, and then tried migrating to the different targets. In every case, the same error. I looked for some known and some hidden places where some error hints might be – no luck. I opened up the data package it had constructed – nothing obvious. In the end? I filled the support ticket.

But really in the end I lost one of those remaining days, accomplishing nothing else but fucking around with this proprietary nonsense. My data is in there, as is the workflow I developed to process it all. I can’t even move it to a more capable platform running their latest and greatest. It’s stuck until I hear back on the support ticket.

So here’s the deal: Sitting off on the side are a pair of Raspberry Pis collecting and preprocessing some live data streams for me. They’re feeding this beast as well, sure, but the original system – the one this work was based on? It’s still just chugging along. It’s bespoke to the work at hand, written in nodejs, dumping to mongodb – event loops that take and process the data, kicking off other flows when different conditions are met. Every time I was dealing with a new hiccup on the fancy system, my old stuff never missed a beat… Crazy, right?

Fortunately, I’ll never waste a day trying to get my work out of their system for my own use…

I have a lot to say about some of these proprietary things, but I’m already well over my word count for these posts.

Next time.