[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."
 
Top