Legacy Projects
-
The one mistake you made was not actually working from the VM you built! Nowadays, we do all of our development from our VMs. We save copies of them in folders dated to the major releases, by customer, and clean them up after a final release. Plus SVN/Git for the source. We USUALLY buy source with 3rd party components. I wish you luck!
Kirk 10389821 wrote:
The one mistake you made was not actually working from the VM you built!
Yes, exactly. In those days, on a dual core 1Ghz (or so) machine, it was a painful experience as compared to working natively. When I fired up the VM on an 8 core, 16GB, 3.5Ghz machine six years later, it was freaking fast. And that was before I changed the VM configuration to use 8GB and 4 cores!
Kirk 10389821 wrote:
We save copies of them in folders dated to the major releases, by customer, and clean them up after a final release. Plus SVN/Git for the source.
Ah, easily done now on terabyte drives. My poor little 256GB drive, at that time, would not handle it. Of course, it really wasn't my responsibility to keep these things around, but ironically, as the other person posted in reply, the company I was working for didn't let people set up VM's. To get the VM I had prepared to them, I gave them a thumb drive of it when I went out to visit them (3000 mile flight.) Nowadays, I'd even consider setting up a free EC2 instance simply to RDP into! Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
This state of extreme anger will soon pass; it is only a temporary state; you shall persevere Marc, you shall persevere!! :java:
Later, JoeSox “Write hard and clear about what hurts.” - Ernest Hemingway Last.fm - CPForAndroid++
JoeSox wrote:
This state of extreme anger will soon pass; it is only a temporary state; you shall persevere Marc, you shall persevere!!
I'm a typical male -- I tend to forget what I was angry about after a couple hours. Fortunately, I found a wonderful woman that is the same! The only thing that typically lingers is my annoyance at the stupidity of others, and that lingers only because I'm constantly reminded of it when I have to work with other people, particularly management! :laugh: Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
You remembered me back old days when a .NET version changed and I was getting so many assembly errors in Visual Studio that was really annoying. I love Microsoft and backwards compatibility in all their products. :) :) :)
Try doing Mac development sometime. Even a three-year-old project would have been built with an older version of Xcode that won't run on any new Mac that comes with the latest version of OS X. Older projects are even more fun, with things like Carbon, HFS paths, and even dependencies on CodeWarrior. Backward compatibility isn't even a concept at Apple.
-
Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with
Invalid pointer
compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. MarcImperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with
Invalid pointer
compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. MarcImperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Marc Clifton wrote:
Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself.
Concur. I have a fairly large project that includes a bunch of custom controls that are no longer in "print" too. I got to a point where I didn't want to build a development environment any longer because of the same kinds of troubles so I toughed it out one last time and did it in a VM then backed the VM up in a couple of places so I never have to go through that again.
-
My only comment: You are a lucky man to handle "only" 6 year old legacy Projects. I Need to handle 14 years old legacy Projects. Please a can of mercy with me :laugh: Bruno
I'll join the party. Mine's 17-years old. Anyone care to top that? ;)
-
.NET 2.0? You lucky bastard! :D I've had VB6 legacy projects that worked with libraries that are long gone, and third party tools that have advanced by 10 (non-compatible) versions, written for hardware that can't be bought anymore, not to mention the 80's database (forgot the name)... Luckily I had a coworker who worked with this sort of stuff almost daily... And liked it (I don't think he learned anything new after 1999 or something, his .NET code was horrible) :wtf: What do you mean this isn't a competition? :D
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
Sander Rossel wrote:
the 80's database
I remember a few back then, only one relational db though. That was Uniplex. Late 80's. The big ISAM db I saw many places was BTrieve. Then there was the Borland project called Paradox. You know, I'm glad I've stuck with relational databases.
-
Sander Rossel wrote:
the 80's database
I remember a few back then, only one relational db though. That was Uniplex. Late 80's. The big ISAM db I saw many places was BTrieve. Then there was the Borland project called Paradox. You know, I'm glad I've stuck with relational databases.
I think it was some version of dBase. Only once did I actually have to change anything in it, I asked a coworker :laugh: Relational is cool, certainly something I know. Not without perks though. I'd like to work with some NoSQL databases sometimes too. Unfortunately, my coworkers are pretty traditional when it comes to databases, Oracle or SQL Server (and preferably Oracle). Nothing is ever better for the job at hand :laugh:
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
The legacy project I am working on right now is in Core PHP/jquery. No Framework, Just Core PHP.
Member 10854216 wrote:
Just Core PHP.
Sorry man, PHP is awful in all of its forms ;p
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
-
Member 10854216 wrote:
Just Core PHP.
Sorry man, PHP is awful in all of its forms ;p
Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.
Simplicity is prerequisite for reliability. — Edsger W. Dijkstra
Regards, Sander
I know :laugh:
-
Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with
Invalid pointer
compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. MarcImperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
-
Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with
Invalid pointer
compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. MarcImperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
When I work on legacy stuff, I often call myself a "software mechanic" instead of software engineer. :-D
-
Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with
Invalid pointer
compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. MarcImperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
You must be close to declaring a code base obsolete and redeveloping a replacement? I suppose, now that I think of it every live project should be reviewed every six months to ensure it is viable. Next you'll be saying you have to install your application to your development system so that you can build it.