Page 1 of 1

Source code and status board

Posted: Wed Apr 24, 2024 12:19 am
by Mike V
The TMSA source code is now hosted on Github, the leading hosting service for code. Unless you're a developer, you probably won't care too much about this; however, I hope to eventually release the actual files you'd want to download and install via Github as well, so we'll see how that pans out. You can find the source code here. All active development will be saved there, so if I unceremoniously get hit by a truck, any future dev can pick up where I left off.

The way it works basically is that there's a main "branch" of the code, which is the most up-to-date release. There are also branches for any incomplete work that is being done; when they're finished, I merge them into the main branch. You can see the current branch near the top left of the repository.
Again, probably few people on the forum care about these details, but in case you do, that's where you can find it and that's what you're looking at.

I also made a Trello board where we can keep track of upcoming features. I threw on some existing things that had in my head, but I'll add to it in the coming weeks. I don't expect anyone but me to interact with it, but feel free to sign up (it's free) if you want to add discussion to to-do items, etc. (I think I have to invite you to the board once you sign up, so let me know if you do.)

Re: Source code and status board

Posted: Wed Apr 24, 2024 6:23 am
by Jim Eshelman
Excellent. - BTW, I have source code for several prior versions (most, not the very earliest). Is this useful to you? If so, I can put it in cloud folder.

Please invite me to the Trello board. I'll take a look as I get the chance later. (Or maybe I have to register first? I'll do that after I get to the office and have a few minutes.

I'm not sure if you saw, but I built a "priority repairs and new features" post yesterday with links to separate threads (where needed) to detail each.
https://solunars.com/viewtopic.php?f=60&t=8501
I think having a "closet" of Wish List posts on a single topic, linkable to Wish List master lists, makes more sense than the one long Wish List thread that didn't keep all items on one topic in one place. I also identified and updated several of Mike N's design and planning posts, including taking one where he provide cloud links to redesigned forms and pages, and moved his illustrations into the body of the thread. - We have no idea when his cloud storage will cease to exist. I can delete all of those illustrations and discussion when the need for them is behind us.

Re: Source code and status board

Posted: Wed Apr 24, 2024 7:53 am
by Jim Eshelman
I'm in. I'd never seen Trello before (I'd seen ads) and I see it is a type of project management "to do" structure that already gives a sense of professionalism (i.e., "I can see that someone is thinking about exactly how to proceed").

BTW, for some of the expansions you itemized, the current version already has a "Predictive Options" button and i think Mikestar13 had shaped out a way to add the necessary buttons and menus for expansion (in one of those threads I edited last night). This may all change, of course (it probably will), but I thought we shouldn't lose his "thinking ahead" results since he had hours a day for months at a time to think about such things.

BTW, since a three-wheel is on your expansion short list, one of the threads here has MikeN's redesign of the wheel center (data repositioned), which looked sharper overall plus had room for three sets of data. Ah, here it is:
https://solunars.com/viewtopic.php?f=60&t=6075#p45519

Re: Source code and status board

Posted: Wed Apr 24, 2024 9:07 pm
by Mike V
Jim Eshelman wrote: Wed Apr 24, 2024 6:23 am Excellent. - BTW, I have source code for several prior versions (most, not the very earliest). Is this useful to you? If so, I can put it in cloud folder.
We should probably host them on Github, yeah. Ideally we would have the full history of a project available through source control like this, so we can sort of pretend that we've had the full history by adding some orphaned branches for previous states of the code. Whenever you get some time - really, this is just housekeeping stuff - it would be great if you could put them up for download.

Glad you got access to Trello! I haven't personally run a Trello board before, but I've seen a number of small development teams (indie games, small computer hardware stores, even other teams at my workplace) use it for exactly this use case: hosting a publicly-accessible roadmap where we want to show the status of pretty much everything at a glance, at a high level. It looked like exactly the right tool for this.
Jim Eshelman wrote: BTW, for some of the expansions you itemized, the current version already has a "Predictive Options" button and i think Mikestar13 had shaped out a way to add the necessary buttons and menus for expansion (in one of those threads I edited last night). This may all change, of course (it probably will), but I thought we shouldn't lose his "thinking ahead" results since he had hours a day for months at a time to think about such things.
I fully agree. I plan to go through all of that stuff and record/categorize the items you and he were already considering/discussing. I just got on a roll yesterday and wanted to toss my personal notes up.
Jim Eshelman wrote: BTW, since a three-wheel is on your expansion short list...
Noted! Thank you.

Time to look through other threads...

Re: Source code and status board

Posted: Wed Apr 24, 2024 9:43 pm
by Jim Eshelman
All TMSA versions that I have are now here:
https://1drv.ms/f/s!Ansnmu2xbktapZIES4q ... w?e=6d5ISj

Most are installers. Some are source code. I think I purged some old code when it was long stale, and now see that I shouldn't have done that. Maybe I have it in another folder somewhere.

Re: Source code and status board

Posted: Wed Apr 24, 2024 9:52 pm
by Jim Eshelman
With a preface that this is all open to collegial discussion...

My present vision is priorities is reflected in this list:
https://solunars.com/viewtopic.php?f=60&t=8501

The basis of my priorities is a convergence of three things. (1) Mostly they are simple things that will go fast and add significant value. (2) I have a personal priority to have the program serve the Volume I of CSA that I'm presently writing, and all of these things lean in that direction rather than later volumes. (3) I think they add the most value.

That list specifically excludes new predictive options. I know those are of great interest to users and some of them will be easy to add. I've deferred them on my list to later than the "quick fixes that bring the program as we already know it up to a dramatically better new level." MikeN saw the predictive options as a very big deal and I think his wanting to include them in his big 1.0 release is part of what slowed him (though he did a lot of infrastructure prep for them). Conveniently, I won't need any of that until I start working on Volume II late this year (and, if an armada of easy calculation techniques are available, I promise to do a MAJOR cross-technique statistical comparison or relative value). - The one exception to pacing it to the writing schedule is adding Meridian Longitude (1) because it's easy, (2) because I want the chance to see if it is possibly linked to something other than ingresses, such as natals and solunars, and (3) as a preamble, "fill in the cracks when I need to put my attention elsewhere" project, I want to completely recalculate all of the roughly 3,000 charts in Sidereal Mundane Astrology and have that fully redone. For the same reason, when we get back to new predictive stuff, I have a high priority on secondary progressions (1) because no other available program calculates them quite right and (2) so that I can redo the solar ingress quotidians easily.

That's more or less the bases of my current thinking on what to do first and where to take this. However, I always believe in rewarding whoever is doing the actual work by letting them run with what really inspires them, so this is all up for a shared decision.

Re: Source code and status board

Posted: Wed Apr 24, 2024 10:56 pm
by Mike V
I'm on board with all of that. Lining up the feature set of TMSA to support and complement CSA Volume 1 is a great idea, and on a personal level, I'd much rather support what you're working directly on than invest a huge amount of time on things that (for example) Solar Fire is able to do already. (I have a vision for having all of the transits, progs, etc all on one calendar, maybe even with extremely terse Solunar summaries on the days they activate, but that is down the line.)

Adding Meridian Longitude is my first priority once I nail down building/packaging stuff.

Re: Source code and status board

Posted: Thu Apr 25, 2024 12:18 am
by Mike V
Jim Eshelman wrote: Wed Apr 24, 2024 9:43 pm I think I purged some old code when it was long stale, and now see that I shouldn't have done that. Maybe I have it in another folder somewhere.
We almost never need the really old and stale code, and we probably won't now, either; I just (eventually) want to have as complete of a history as possible. I can mostly rebuild the history from these snapshots of it, but it's not a priority - especially not the truly ancient stuff.

Re: Source code and status board

Posted: Fri Apr 26, 2024 12:23 am
by Mike V
The good news is that I can successfully build and run the TMSA executable (as a 32-bit application)!

The uh, other news is that I still need to figure out how Mike N built the (Windows) installer to put all the needed files in all the right places. I don't see any reference to the actual tools used on Solunars, and it's not bundled in the source code. I'll probably have to come up with my own method from scratch and base it on what I can see from his installer when it runs.

Re: Source code and status board

Posted: Fri Apr 26, 2024 6:49 am
by Jim Eshelman
On the first: Yay!

On the second: I saw something that might be helpful but probably not much. I'll dig it out.

Re: Source code and status board

Posted: Fri Apr 26, 2024 7:06 am
by Jim Eshelman
Here's the best I could find, and it's probably not much. He was using pyinstaller to build the executables. At one point he ran into trouble making it work, then it worked again but with a problem. (It might be that this was the wall that stopped him from moving forward.)
viewtopic.php?f=60&t=7119#p52915

Anyway, FWIW, a little and above this link he was talking about building his single file executable, but not with a lot of detail.

Re: Source code and status board

Posted: Fri Apr 26, 2024 3:47 pm
by Mike V
Thank you for bringing my attention back to that thread. I glossed over it a few times, and am using PyInstaller to build the .exe file as he did - but I didn't pay any attention to his mention of cx_freeze, which I actually have never heard of...

"cx_Freeze normally produces a folder containing an executable file for your program and the shared libraries (DLLs or .so files) needed to run it. You can make a simple Windows installer using a setup script with the bdist_msi option, or a Mac disk image with bdist_dmg. For a more advanced Windows installer, use a separate tool like Inno Setup to package the files that cx_Freeze collects."

this might actually be just the thing! It even seems to be able to build cross-platform installers. Very cool.

I suspect that we'll use cx_freeze to actually run PyInstaller when you download and run it - that's how you end up with the executable - but cx_freeze can (presumably) do the legwork of actually installing Python, putting files and directories into the right places, etc.

Re: Source code and status board

Posted: Fri Apr 26, 2024 3:52 pm
by Jim Eshelman
Oh, so this was a useful "stumbled upon" it after all. Cool :)

BTW, it's been popping into my mind that Mike could easily enough have done a Mac version except he didn't have a Mac to run it on, so no real way to see what he was doing. (Especially likely after what you just told me.) He decided (and I think it was probably the right decision) to build for the one platform he really knew and was running himself.

Re: Source code and status board

Posted: Fri Apr 26, 2024 4:10 pm
by Mike V
A useful stumbled-upon indeed!

I agree with Mike N's choice of platform. Windows seems to be the overwhelming choice for people on Solunars; I would've prioritized that platform too.

Every pocket of friends/astrologers is different, though. The majority of my friends who are interested and ask me to calculate stuff for them are Mac people (plus some Linux). Thankfully, I do have direct access to these platforms, so I can directly test out different builds. (I dual boot Windows 10 and Linux, and have a personal regular Macbook plus an M1 Macbook for work).
I can also make some small VMs for, say, Windows 7 and 11 to test it out there. I have plenty of drive space.

Do you think any significant number of people are still on Win 7? I know it remains well-loved but I don't know if many of its remaining fans have resisted upgrading for this long.

Re: Source code and status board

Posted: Fri Apr 26, 2024 4:44 pm
by Jim Eshelman
If they are still on Win 7, they shouldn't be. It's been fully out of the support cycle for four years and, therefore, isn't safe to run. We found very early that TMSA didn't run on at least one Win 7 machine and, by then, it was already time to move on.

Re: Source code and status board

Posted: Fri Apr 26, 2024 9:08 pm
by Mike V
We have liftoff with cx_Freeze. I'm slogging through other file location/path errors now, but it works as intended. Hopefully in the next few days I'll have a 0.4.10 sanity-check release ready.

Re: Source code and status board

Posted: Fri Apr 26, 2024 9:11 pm
by Jim Eshelman
👍 I just told a colleague this week that a stream of error message us a great sign that something or other is finally running 🤣