|
honey the codewitch wrote: considering taking a different approach - ground up rewrite, heavy on the copy and paste from the old codebase. Sounds like it may be the easiest way to approach the situation. Have fun (if possible)! Just think of the limitations with the old approach that you are overcoming! That might bring a smile to your face!
|
|
|
|
|
Why does it feel like a failure though?
Meh. I guess I am just beating myself up over it. If it wasn't maintainable it wouldn't have lasted for as long as it did, I guess, but then other than feature adds and some minor cross platform compatibility fixes I haven't had to do much.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
[???] Maybe because you kick yourself in the butt for not thinking of the constraints you are now facing when you originally designed the project? It is easy to be hard on yourself, from personal experience. [???]
Go with the flow. If the easiest thing is to do what you are thinking of, smile, take a break, possibly do something else, then get back at it when the mood strikes.
Have fun!, and good luck with it! If I had your skills it wouldn't have taken me so long to do some of my projects!
|
|
|
|
|
I appreciate the vote of confidence.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Yep, been there with the editor that fixes warnings found by my C++ static analysis tool. Should each line of code be a separate string, or should the entire file be one big string? This went back and forth a couple of times until I settled on the latter, and each time it caused upheaval in the work that had gone into it before. I had no previous experience to draw on, so I had to play around with both approaches until I could decide which one was better.
|
|
|
|
|
Rich woman, bad cough! Is that to much to ask.
I actually have a very good mate.
A home without books is a body without soul. Marcus Tullius Cicero
PartsBin an Electronics Part Organizer - Release Version 1.4.0 (Many new features) JaxCoder.com
Latest Article: EventAggregator
|
|
|
|
|
Yes. While working in Waco maintaining a large electronic health record code base (This was years before the American Recovery Act mandated it.), Micro$oft Windows was doing a major upgrade from Windows 2000 to Windows 7. Since the code base was built starting in the 1990s and long before I joined the company, there was a fair number of Windows API changes that had to be worked in, and this is the killer, a huge amount of duplicate code and reliance on the side-effects of various subroutine and function calls.
The "common code" was a huge DLL that took forever to load and it contained code that was only occasionally used.
My boss, who learned to program in the Navy over twenty years earlier, was one of the programmers who originally built the program. While he was a good programmer, he moved into management and his skills became very rusty and out of date. He could not see why the existing code had to be changed.
This left me with the dilemma: update it on my own time without telling him or try to patch the code and pray that nothing breaks irrevocably.
I came up with a plan:
- I dropped the duplicate subroutines and functions, then recoded the calls to use the ones that remained. I hunted down all of the dependencies upon side effects and removed them. Many were functions that returned a single value of True or False, but modified other data. These I changed to return a data record with the data changes. I released this update to the huge common code DLL.
- I split the common code DLL into a three level structure with all the non-UI Windows API calls in the bottom layer. Depreciated API calls, of which there were many, were replaced with the current ones. The code to set up for API calls, such as letter generation, print formatting, data base record construction and whatnot in the middle layer as multiple DLLs. The top layer contained the business logic, with separate DLLs for
Mental Behavioral Health, Mental Retardation Developmental Disabilities, insurance processing, billing, and client demographics. I released this revised common code as an update. I received praise from the clinicians because the whole program loaded much faster. My boss provided no feedback.
- I split the main UI code removing rarely used paths to separately called programs. The main UI code handled all of the windows that everyone used. The separate programs handled billing and report generation, behavioral health unique logic, and developmental disabilities unique logic. I released this in stages, and again the loading time decreased.
- When my boss decided on a date to update to Windows 7, he asked (finally!) how long it would take to convert the code base. I told him that, with the recent updates currently in place, I could be ready in two weeks.
While the cutover was ongoing, I did have to maintain two versions of the bottom layer of DLLs, but that was not overly onerous. The field crew could reinstall the final version with a simple command line.
The whole thing went so smoothly, that my boss was amazed. He finally looked through the code and was instantly lost when he found the code for loading and running multiple independent modules. He blew a gasket - his and his buddy's "elegant solution," which had morphed into spaghetti code was almost totally gone, although most of their code remained. He could not do much to me at the time: I was the clinicians' hero.
When I was asked (not by my boss!), I told people I was hired by my boss' predecessor as a software engineer, not just as a programmer.
__________________
Lord, grant me the serenity to accept that there are some things I just can’t keep up with, the determination to keep up with the things I must keep up with, and the wisdom to find a good RSS feed from someone who keeps up with what I’d like to, but just don’t have the damn bandwidth to handle right now.
© 2009, Rex Hammock
“If you don't have time to do it right, when will you have time to do it over?” - John Wooden
|
|
|
|
|
CP is up and running again - hopefully for a long time - and even letting me log in!
"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!
|
|
|
|
|
Sorry about that. We managed to lock up the SQL Server.
"Mistakes are prevented by Experience. Experience is gained by making mistakes."
|
|
|
|
|
You sound like you are quite proud of that!
"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!
|
|
|
|
|
I'm waiting for an article or or probably rather a tip/trick
|
|
|
|
|
Retractions of scientific journal papers are increasing nowadays. Sometimes, highly cited papers also get retracted. There is indeed something called 'Retraction Watch'. Looks like the 'bug' of instant fame and glory has bitten some of today's scientists, researchers.
Wonder how the Universities which employ such 'Retraction Scientists' will handle them subsequent to retraction, in terms of tenure, salary hikes, etc.
|
|
|
|
|
More likely the bug of "publish or perish".
|
|
|
|
|
Or maybe "fudge and publish sooner".
|
|
|
|
|
Definitely what it's become.
|
|
|
|
|
|
I agree.
Sabine is quite honest.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
I'd consider looking into the peer review process, as maybe it could use tightening up.
Researchers are bound to make mistakes without peer review, for the same reason you don't proof read your own resume or review your own code.
My husband - when he had time for it - would peer review articles in his field, so I know a little about the process, and what I do know of it seems it's heavily reliant on the individuals doing the peer review.
It's essentially crowdsourcing review to try and find mistakes, but maybe they need to be more selective about their crowds?
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Looks like it's becoming like -
'I'll pat your back, you pat mine'.
|
|
|
|
|
Part of the problem is more and more on-line "journals" are bypassing the peer review process. Peer review is by no means perfect, but it's better than bypassing it.
|
|
|
|
|
Yikes. They aren't really journals then - they're magazines.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
obermd wrote: Part of the problem is more and more on-line "journals" are bypassing the peer review process.
Stating that a bit more clearly.
Obviously it is much easier for an online journal to exist that a print journal and thus there are many new ones.
And many of that have a 'pay to publish' model. So the author pays to have the study published. Some of those journals claim to have a peer review process. But although there might be a very few exceptions it is most likely just a rubber stamp process.
However in the same way I suspect it is very unlikely that those journals are retracting anything. Wouldn't surprise me if the only possible model would be if the original author paid again to have it retracted.
|
|
|
|
|
I've done a bit of peer review in my area of expertise over the years.
Peer review kind-of relies on the fact that what you're reading in the paper is honest. A reviewer can't be expected to recreate the results - the peer review process is intended to ensure that the paper's conclusions could reasonably be drawn from the results that are presented and the reported interpretation isn't simply fiction. If the reported results are incorrect, that's very difficult for the reviewer to ascertain.
There are many reasons for reported results to be "incorrect". Typos in spreadsheets, confirmation bias, commercial interest, the "publish or perish" model that obermd has already mentioned . . . simple dishonesty . . . I'm sure you can think of others.
Peer review is not perfect . . . but it's way better than the "no peer review" that some pay-for-publication portals allow.
Treading on the toes of giants . . .
modified 17-Aug-24 16:37pm.
|
|
|
|
|
QuantumPlumber wrote: but it's way better than the "no peer review" that some pay-for-publication portals allow.
I suspect most have no peer review.
And those that claim it I suspect most are just a rubber stamp. Certainly myself I would suspect any journal even with a peer review claim that operates like that.
|
|
|
|
|
yup
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.
|
|
|
|