|
Some of the systems I work on only turn off once a year. Things like memory fragmentation become very important. It can be a real challenge to track down some customer issues.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
I used to work on systems like that (telecom call servers). What kind of system are you working on?
I still find it amusing when systems are shut down every week or two for "routine maintenance".
|
|
|
|
|
Production machines for packaging. Imagine a 200 foot long machine packaging beer or diapers.... you name it. If our product stops running, the entire line goes down. The cost of our machine is insignificant to the cost of the line or the downtime.
So, yeah, like telecom switches and the like.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
Interesting. I'd have guessed that the line would be regularly shut down for hardware maintenance, which would reduce the uptime expectations on you. Then again, your software wouldn't want to be the cause of a shutdown.
|
|
|
|
|
Most of the time there is an annual shutdown. In our case, our equipment tends to be wired into the production line, so it's a REALLY big deal to tell the user to cycle power. Many times, our equipment is parked under the line in protected areas. The only way to cycle power is to do it for the entire production line, and there tends to be a LOT of systems connected to that line. Note that if our system isn't working, they aren't making product, I guess that qualifies as mission critical in a light sense of the word.
So, over the years I've learned not to code things in ways we take for granted. For example, malloc's are evil. Skipping the memory leak issue (We'll assume there is a matching free everywhere), this can easily lead to memory fragmentation and a hang down the road. I didn't believe it at first. I'm a believer now.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
At least it is a "mess" of your own making, one that is probably clean and clear to work with. Right now I am getting ready to deal with cleaning up / fixing a Big Ball of Mud created by another developer. It is definitely a high caffeine morning....
|
|
|
|
|
When it's of your own making, you only have yourself to blame! But cleaning up someone else's Big Ball of Mud was always something that I found delightful.
|
|
|
|
|
Not when that other developer is the "senior" developer still working on that project and is resisting any cleanup (and contributing more to it).
I actually enjoy doing this type of cleanup too, generally. Gives me a chance to stretch my software design muscles to see how best to approach this.
|
|
|
|
|
Gotta love that - especially when your client or supervisor doesn't understand the ramifications of working through a Big Ball of Mud.
TBH the offending code in one of projects is code I didn't write but am using under a compatible license. Except this code is battle tested and I've used it past projects. Somehow the inputs are different I think? but I can't pinpoint where/how. The issue is I don't understand the algorithm being used, and it is very complicated, so the routine is pretty opaque from a debugging standpoint.
So on some level I can relate in my present situation. It's not a big ball of mud, but in some ways it may as well be.
Real programmers use butterflies
|
|
|
|
|
With four cats in the house, one of which had cat flu as a kitten, we frequently wake up to worse messes than that!
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Here as well. Our cat here likes chewing on the potted palm fronds and then creating mixed media art expressions on the carpet...
|
|
|
|
|
|
I am in a similar situation now, actually; not the first time, either.
The worse part for me, is debugging sessions that last for days. I take it personal, even if I did not create the mess, and it affects my mood greatly, even though I know better.
I just try to organize all that is broken or not working and create a todo/checklist and work through each one. It helps me psychologically to see some sort of progress.
|
|
|
|
|
Having a to-do checklist is vital for this--as well as for enhancements.
|
|
|
|
|
honey the codewitch wrote: I have to be very careful to keep my mood up and not spoil my morning and thus my day, because if I'm not I'll think about it and fret over it even if I'm not actively working on it.
Yup - there are times when there are several projects at work, each with their unique set of problems, and I wake up not wanting to get up because as soon as my brain starts working on one problem in my head, another part of my brain starts to scream for attention on the other problem. Multiply that by 10 problems, and there's a cacophony in my head.
The only solution I found is to write them all down (writing them down actually helps remove them from my head) and then pick one, and only one, to work on until it's done, and literally (vocally) tell the others "I will get to you soon." As bizarre as that sounds, it actually works for me.
|
|
|
|
|
Yes it's a very frustrating situation. My salvation is having a side project that I can work on and actually make some progress on. Most of the time 🤭
|
|
|
|
|
I keep running notes and leave myself comment markers in the code for where I'm having trouble. It helps. Asana is a good app too - you can make tasks and sub tasks and more and more subtasks, leave notes everywhere (so be careful not to lose them), and organize them by tags and into projects. You can view your tasks in many ways. I like it for personal work as well as team work, but I still keep a notepad open on my desktop called current or running notes.
Sometimes just cleaning up and adding comments throughout helps with debugging and is a bit of a break without being an actual break.
Best of luck!
|
|
|
|
|
Reading it closely to make good comments >> wait what??
Reading what is written, not what I think I wrote.
|
|
|
|
|
Well I hope you have a lot of "ah-HA!" moments soon! It sounds like you need some.
Cheers!
|
|
|
|
|
I wake up in the middle of the night trying to solve what seems like intractable problems and can't get back to sleep.
|
|
|
|
|
April 13, Low-Code/No-Code Developer Day 2022?
No doubt a cleverly masked way for LC/NC providers to pitch their wares to we the unsuspecting.
Just think, the worlds greatest fortunes to be made with the click of a mouse button. Excuse me, the click of a trackball button. The way of the future!
>64
Some days the dragon wins. Suck it up.
|
|
|
|
|
twelve days late?
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Being in the slow group, it took me a couple of minutes to figure out what you meant.
>64
Some days the dragon wins. Suck it up.
|
|
|
|
|
theoldfool wrote: the click of a mouse button. Excuse me, the click of a trackball button. The way of the future!
Nah ... it's tap or nothing, mouses are so last Tuesday ...
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Is that steak and kidney pie I see on your screen?
>64
Some days the dragon wins. Suck it up.
|
|
|
|