[Rant] Tech Whine Like a baby thread

GasBandit

Staff member
My C# library is now successfully parsing and deserializing my json file.

Pity it refuses to pass the data back to the Crestron program using said library >_<

Every day.. there's progress. It's excruciatingly slow progress that feels like dragging my brain across broken glass, but still.. progress.
So today is the first day SINCE July 25th I've been able to work on this. I was supposed to get both last week and this week to work on it, but last week got snaked because emergency last minute "real work" came up. But I'm not getting any more time, no I just have to do 2 weeks worth of the hardest coding I've ever done in 1 week.

Sighhhhhhhh

At least today I finally figured out how to pass the data back. It's excruciating. It's the worst code I've ever written since I was 6 years old and discovered BASICA.COM on our old 8088.
The Crestron C# API doesn't let you return objects to their proprietary language (SIMPL+).
Or Arrays.
Or booleans.
And it can't access any data structure other than a primary constructor.

That leaves just strings and integers.

I've got 36 different pieces of data I needed to pass back.

I had to declare a static class INSIDE my class with 36 global static variables in it.

Then I had to write 36 individual functions, each one consisting of one line that returns that function's particularly assigned piece of data.

Then I had to enter 36 individual (non recursive) calls to assign variable values to the results of calling those functions.

It works.

BUT IT'S SO HORRIBLE.

"If it's stupid but it works it isn't stupid" they say. Yeah, well, they might revise that axiom after they see the code I just had to write to get this shit to work.
 

GasBandit

Staff member
I hope it at least lets you pass sixty-four bit integers.
Man, this reminds me of my days in GSL.

--Patrick
Thankfully, all I need is a single bit, because I'm trying to pass some boolean values. There's just a few megabytes of overhead wrapped around it to get it done.
 

GasBandit

Staff member
And for the laypeople who might be lurking:

If a boolean value, needing one bit, is considered to be the same as a jug of milk, I need to transport 12 jugs of milk and 24 cows.

(the cows in this metaphor are character strings averaging 15 characters in length, they "weigh" about 120 times as much as a gallon of milk)

The vehicle being used to transport them weighs approximately 160,000 tons, or the size of roughly eight large freight trains.
 

GasBandit

Staff member
I estimate myself to now be halfway to where I need to be on my Crestron Certified Programmer exam. I've spent a great deal of my weekend trying to get this handled. SHIT IS NOT WORKING AND I DON'T UNDERSTAND WHY.
I'm going to fail this exam. This exam has ridiculous requirements for a base level certification. I should not have to put in 80-120 hours on an exam for a base level certification. And the exam tests functionality that only an insane person would want out of an A/V automation processor.

I have a 3 1st level and 2 second level certification for QSC, Crestron's main, up and coming competitor. I've spent a grand total of ~60 hours getting to that point. That's classes, exams, everything. And guess what? QSC's exams cover believable REAL WORLD SCENARIOS! That's less time than I've spend on the exam for the first level Crestron programmer cert, which has a scope of work that basically says "To receive the level 1 Schwinn repair certification, complete the following: using only metalworking you fabricated yourself, augment a Schwinn bicycle that can be used as a construction hoist capable of lifting 1 ton."

And I told my company I'd need at least 80 hours. I'm at about 50 now. And remember they snaked the 40 I was supposed to get week before last and made me work on paying projects instead because we're understaffed.

Failing the exam means the next time I take the exam they're going to give me a completely different (and harder, they say) exam.

Which means I'll have to tell my company I need even more time on it.

And I'm sure they'll be SO eager to give me even more time, because they won't see this situation as me failing because they took away time I had blocked off to work on it, no, they'll see it as sending good money after bad.

I hate everything, I am so stressed, and was not in a good headspace to begin with.
 

GasBandit

Staff member
What do you mean your programming language can't do floating point math?? You told me to write a point of sale system! Do you expect me to just parse the prices in two strings, one on each side of the decimal, convert it to integers, multiply the left by 100, add the right, and then just draw a dot on the screen?

Wait, you do?
 
What do you mean your programming language can't do floating point math?? You told me to write a point of sale system! Do you expect me to just parse the prices in two strings, one on each side of the decimal, convert it to integers, multiply the left by 100, add the right, and then just draw a dot on the screen?

Wait, you do?
I ran into something like this once. I was helping someone with an arduino project with a set of wandering goal posts. By the time we were almost done, and I was trying to add "one last thing", I had to keep track of a voltage in integer millivolts because we didn't have enough room to add the floating point module to the compile.
 

GasBandit

Staff member
I ran into something like this once. I was helping someone with an arduino project with a set of wandering goal posts. By the time we were almost done, and I was trying to add "one last thing", I had to keep track of a voltage in integer millivolts because we didn't have enough room to add the floating point module to the compile.
It's not even a space thing. I've done some other programs that pushed the limits of hardware before, but this is ridiculous from the get go.

It's a language called SIMPL+ which is a C+ based extension language for Crestron Symbol-Intensive Master Programming Language (SIMPL)... and for some reason, it only supports Integer and String variables. No Floats, no doubles.

So literally every operation that has to have a decimal in it has to be the number times 100 with a cosmetic dot.
 
It's not even a space thing. I've done some other programs that pushed the limits of hardware before, but this is ridiculous from the get go.

It's a language called SIMPL+ which is a C+ based extension language for Crestron Symbol-Intensive Master Programming Language (SIMPL)... and for some reason, it only supports Integer and String variables. No Floats, no doubles.

So literally every operation that has to have a decimal in it has to be the number times 100 with a cosmetic dot.
Yeah, that's even crazier.
 

GasBandit

Staff member
Me: "Ok, thank goodness, I've managed to do all the number crunching in such a way that it happens behind the scenes, and then the final "cents" can be sent to the touchpanel as an analog join."

Crestron compiler: "You forgot that analog joins are 16 bit."

Me: "So...?"

Crestron compiler: "So watch what happens when you try to buy more than $655.35 of product."

Me: "... son of a..."

Crestron compiler: "And that makes your entire data chain useless. you're going to have to go back to parsing strings, doing calculations, rebuilding strings from the results, and then repeating that three times to calculate sums what with ongoing space rentals and retail purchases."

Me: "I hate it here."
 

GasBandit

Staff member
There's a war of escalation right now between youtube and the various ad blockers. Basically what it amounts to is the user needs to update their filters and purge their cache more often than normal to keep ahead of the curve.

 
There's a war of escalation right now between youtube and the various ad blockers. Basically what it amounts to is the user needs to update their filters and purge their cache more often than normal to keep ahead of the curve.

this feels like when websites make it so you cant save media by presenting it in a container, but there is a bevy of extensions and plain old code inspection to find the "source" link and download that. (coughs due to catching that weird piracy disease)
 
Hey YouTube?
Fuck you.
somehow I have managed to never be caught by this. guessing its my cadre of anonymity extensions lol
They are not targeting people who browse anonymously. For now. Probably because anonymous means they can’t leave a cookie or whatever to monitor whether they’ve served up the message yet.

—Patrick
 

figmentPez

Staff member
I like using Google assistant to set timers, I find it's almost essential to keep me on task when doing laundry, but it's really annoying that I can't use voice to label those timers. Why isn't that a thing? I can label the timers by hand. Google assistant can transcribe messages. Why can't I tell Google to "Set a one hour timer and label it dryer"?
 
I like using Google assistant to set timers, I find it's almost essential to keep me on task when doing laundry, but it's really annoying that I can't use voice to label those timers. Why isn't that a thing? I can label the timers by hand. Google assistant can transcribe messages. Why can't I tell Google to "Set a one hour timer and label it dryer"?
Could you ask the assistant to "Remind me in an hour about the dryer"?
 
You can do that with Alexa/Echo/Amazon..."Alexa, set a dryer timer for one hour."
And in the future, then you can just say "Alexa, set a dryer timer" and it'll remember it was an hour

If you have multiple timers, and you ask "how much time is left" it will list the various timers with their labels
 
It's just me or open software likes to do products that can work in general better than the alternatives, but also like to make them annoying to use?
 
It's not just you. OSS tends to be written by people whose priority is to make the software work really well, but not so much on teaching you how to use it.

--Patrick
 

GasBandit

Staff member
... It's ready. I don't know if I'll pass, but at least I completed it. Submitting it today, 11 days ahead of my deadline (though the last day I would have to work on it before "real work" takes back over again on monday).

Re-reading the scope documentation, I see if they find problems they'll give me 30 more days to fix it.

I don't know if I'll pass first try (probably not), but man, I had serious doubts I'd even get this far.
Finally heard back from Crestron. They are experiencing a bug I can't reproduce that prevents 70% of the program's function from... functioning.

I have until Jan 20th to fix and resubmit.

Oh, and I only get one resubmittal, so if I fix this "bug" (which again, I can't even reproduce on my end) and they find another "bug" somewhere behind it, I just fail and have pissed away 120+ hours on this project for nothing and get to start over from square one with a new scope of work, being a huge disappointment to everyone in my professional circle (especially my boss who really went to bat for me to be able to do this project while on the clock), and bring shame and disgrace on my family name for generations to come etc etc.

And naturally my schedule is already crammed wall-to-wall/ceiling-to-ceiling with actual work with immediate deadlines.

So yeah. I'm so stressed I'm now getting involuntary muscle spasms. Which is not a nice feeling.
 
Wish I could be there to test it for you. Back when I was a technical writer, I picked up a reputation for finding bugs that R&D and QA wouldn't be able to find or reproduce.
 
Top