Over the last two weeks I’ve been building a company manufacturing simulation as part of a hobby/work thing, I’m not sure which. We’ve paid thousands of dollars for licenses to this monstrosity of a simulation platform written on the Eclipse Java IDE platform, we’ll call it SimUHate. I was told I need to use SumUHate, which is absolutely terrible software. It crashes frequently, hangs in weird places, and the documentation is abysmal.
So a team in another division has spent five years building their simulation which uses this horrible simulation software and covers manufacturing at the enterprise level, which I’m supposed to tap into and work our own division’s line into.
SimUHate, written on the Eclipse Framework is a toy, with some animation. Something to wow executives with some cheesy 90s animation of an assembly line. This isn’t anything a professional can mold to their problem.
I made no progress in deciphering the work done on the enterprise manufacturing model, and wracked my brain for weeks trying to figure this shit out. This reminds me of another platform built on Eclipse, we’ll call it Forgata. Forgata was a code generation platform that was supposed to be like the .net platform, except the .net platform actually works. Forgata was impossible to configure, and once you got that done, generating the code was impossible if you wanted to wander off the template.
This isn’t a rip on Eclipse by the way, I love Eclipse and forgive IBM for Informix and Netezza, but only because they gave us Eclipse. (But you guys are still a bit in shitlist range because of Netezza, so lets not have any more of those, OK?)
Finally when I decided to dump the SimUHate and build my own platform with some Java classes (yes, on Eclipse), I started to make progress. This is the second or third time I had to discount other scientist’s/executive’s directions on how to do my job, and trust my instincts. This is not always a good thing by the way. But most of the time, it seems to work. Take note: you have to build up those instincts first. Don’t try this as a shiny, new engineer. Get a little ink on that pocket protector first!
And it explains why the other team was wrestling with SimUHate for five years. And why my own co-worker was taking flak because he’d been working on the thing for two and a half years without making any progress on SimUHate. Because they had it in their minds that they needed to use SimUHate. These guys are all more talented coders than I am, by the way. I am by far the dumbest one in the group.
Building your own sim seemed intimidating at first, until I figured out what was the basis of all simulations – a simple clock. The clock ticks, things happen, the clock ticks again. More shit happens. Our lives in a nutshell.
So I made a clock, it just printed out the minutes starting with zero, and ended with 479, 480 minutes for an eight-hour workday.
Then you just bolt on stuff. After that the code and math just flowed. Items moves down the line. People and robots bolt on stuff to the items at certain times after the item starts down the line. The times vary when stuff gets down. A robot breaks down. Someone is slow with a part. The line starts and stops. All this is added in with some ifs, ands, and ors. Different processes are modeled using Java priority queues, which are really cool.
A painter adds strokes with color to his painting and builds it up. An engineer adds lines of code with math to his model and builds it up. I do science, but there is the artistry within, directing the science and being passionate about the product. This is when my job isn’t a job, its a hobby, it’s something I like doing it. I would pay to do it, if I didn’t need food. But it’s really not what I get paid for. I get paid to argue with risk management clerks about the data pipeline, or corporate risk, or some other horseshit no one cares about.
The one question they never ask is: Is this damn thing going to make us money? And how much? Aren’t those the real risks? And how much did it cost? Well it would have cost a lot less without that SimUHate license, and all the time wasted by trying to get that crap to work. And the fact that the model isn’t maintainable. The Russian that built it had a little too much Vodka one night and went back to Mother Russia. And nobody else can figure the damn thing out.
Did I mention that SimUHate was Russian-made software too? Yep.
No comments:
Post a Comment