|
By the way, the phrase "can we get a copy of the codebase to maintain our own version" should be heard as "now is a good time to update your resume"
|
|
|
|
|
Last time someone tried this, it was for MS Money. With no luck, unfortunately -> How to bin dump an excellent piece of software ...
|
|
|
|
|
At least MS Money still works. Well, I've never used any of its online features, that is, so all offline functionality is still there and runs fine.
|
|
|
|
|
Sure. But I miss some modern features - like the filtersearch in comboboxes - and a few things I would have loved to implement. I actually see no point in keeping a source code sealed when it is not maintained anymore. I once started to reverse engineer, but that would be soooooo time consuming !
|
|
|
|
|
Rage wrote: I actually see no point in keeping a source code sealed when it is not maintained anymore.
Sometimes there are components that have been licensed that, themselves, are owned by third parties that are still very much under active development, and the licensing terms are such that it's an all-or-nothing type of deal.
Then there may by IP that they feel should be kept private.
Or there's a shared component that's re-used somewhere in another product that's still under support, and releasing the source would make it trivial to expose common vulnerabilities to anyone looking. Obviously security through obscurity should not be a thing, but the reality is, making the source public just lowers the bar.
I'm with you, there's plenty of abandoned closed source software I'd like to revive, even if only for my own use...but I just don't see that happening.
MS-DOS 4.x only got its source published a few weeks ago, and that was done, so they claim, "primarily for its historical importance". Don't get your hopes up for MS Money...
I've never used it myself, but HomeBank is free and has its source code available (I don't know however if it's open source according to the common terms), and claims to be able to open MS Money files. Depending on your goals, maybe you could take inspiration from that, even if only for the data import part...
|
|
|
|
|
MS Money still installs and works, even on Windows 11 v23H2.
|
|
|
|
|
Yes...I jumped into this thread to point that out.
|
|
|
|
|
Just as an aside. If you are still using MS Money there is a replacement Free Personal Finance Manager. | KMyMoney[^] . I think the two products are nearly identical.
I used to use it some time back and it looks like it is still supported. There used to be a conversion utility with it to import your MS Money database.
// TODO: Insert something here Top ten reasons why I'm lazy
1.
|
|
|
|
|
While I appreciate the suggestion, if I wanted to move to something else, I would've done that a long time ago already.
I have it running in a Windows 7 VM. It'll be a while still before that becomes unsupported with no workaround...
|
|
|
|
|
At least with MS Money, Microsoft made a free non-connected version available. The only problem is there is one version of Windows 10 where it didn't work, but someone with really good binary debugging skills figured out the issue and published the solution - on a Microsoft support site.
|
|
|
|
|
Another small rant, two-for-one.
1) Debugging console applications with parameters is painful.
I need to test against all the possible combinations of arguments, can't do it properly though, need to pass through the debug options... which are persistent.
And the console does not stay open (yes the checkbox is unchecked, also ignored by VS).
And the breakpoint after the parsing moves the focus to the VS window hiding the Command prompt.
Every test is a clickity-clickity-typety-clickity-clickity-clickity-clickity-clak.
you Microsoft.
2) Structures in watch window do not stay expanded.
Add other clickity-clickity-claks to a simple test.
Basically the best way to test this behavior is inserting test code and debug prints, as we used to do when we had to chisel bits one by one onto EEPROMS with tiny hammers and a lot of patience.
Told you it was a rant.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
Sounds like a situation where unit tests would work well.
|
|
|
|
|
They wouldn't.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
|
In this particular case it takes the same amount of code to visually inspect the relevant data structures + the test code + the validation code + the debug of the unit test.
Considering that the user interface will not have any upgrade (it is to be inserted in an automated tool) the overhead is way too much for the scope of the project - I did terminate the whole software less than 2 hours after ranting.
My gripe was not with the process I was using but by the fact that debugging a console application should naturally allow an easy way to pass arguments to said application. Also IT has to justify their paychecks so they the group policies weekly, this week they messed up a the VS developer console (we don't use VS in house, we develop for ARM microcontrollers and our legit tools are uVision and Understand).
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
I have a general gripe with Visual Studio where you need a separate project per main(). I tend to code each entry point as a separate class in a DLL project with a myMain(). I have one Console app that just calls into the correct class. This also allows you to UnitTest the separate classes.
|
|
|
|
|
I like your thread subject
|
|
|
|
|
Thank you, frustration brings out the comedian in me
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
Rename Main(...) to Main2(...)
Insert a Main() routine and make it call Main2 with your test cases.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Obviously, but it's not something I like to do because what's being tested and validated is Main2 and not Main. It did happen that seemingly harmless test code broke or unbroke some behavior in the test subject so I try to avoid it as much as possible.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
Another option is to set the startup object in the project settings. That way you can have two mains, and call the second from the first. It doesn't entirely solve your problem, but it's an option.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
|
If only I could install anything (I managed to install VS before they took away that privilege).
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|
|
den2k88 wrote: And the breakpoint after the parsing moves the focus to the VS window hiding the Command prompt.
Well at least that one's easy to fix, get another monitor and reshuffle your windows around so they don't overlap.
It's really nice to have an unobscured view of the IDE open on one monitor, then a browser / console / Explorer windows on another, alongside a bunch of debug windows (locals / watch windows / output window / etc).
I typically RDP into my dev VM using a 4K monitor and a 1080p one, and that's my sweet spot. Although sometimes I could use a third.
[Edit]
Also - everything you pointed out in your message has to do with the editor - not language limitations and the like. So, it's a bit unfair to blame C# for any of this. I wonder if VS Code behaves better under the circumstances you describe...or third-party editors?
modified 28-May-24 11:39am.
|
|
|
|
|
dandy72 wrote: Well at least that one's easy to fix, get another monitor
No space, on my lab desk (the only place where I can debug) I have the specimen cage, and very large power supply (it has to provide up to 170 Amperes at 60V). I have barely enough space to cram the closed laptop between the power supply and the base of the monitor, especially because I also have a fixed drawer cabinet that forces the ergonomic position only barely where the monitor is.
Plus the laptop has a single HDMI port anyway and the docking station is available only in the office desk, not le lab one.
GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
The shortest horror story: On Error Resume Next
|
|
|
|