ztlawton / workshoplocator

0 stars 0 forks source link

Knowledge #3

Open JamesBremner opened 1 year ago

JamesBremner commented 1 year ago

I feel like I'm missing a lot of background knowledge that the tutorials are assuming I already know. Like how I'd never heard of PATH and thus misunderstood what you were asking me to do.

You make up for it with a positive attitude and a strong work ethic.

You do need to be more cautious. If you do not understand something, stop and ask. Do not bumble on ahead hacking away left and right. While a decently managed repository makes it almost impossible to do permanent damage, it is a pain to back things out and you will only confuse yourself further.

Software engineering is hard.

JamesBremner commented 1 year ago

You wrote:

Also, I do apologize for not following procedures. I'm accustomed to a more exploratory side of things, and all of my instinct and experience is to "just try it and see what happens". It's taking some adjustment to get used to this more strict methodology. I haven't taken formal, technical programming classes; my actual coding experience before now is pretty much entirely self-taught, using JavaScript and XML to automate mathematical constructions and calculations and a bit of HTML and CSS to make it look good. My thought going into this was: "This problem seems like it would be really tedious to solve by hand. Computers were BUILT to solve problems that are too tedious to reasonably do by hand. Can a computer solve this particular problem for me?" I don't know if this will ultimately be easier, but it is at the very least a new experience and not nearly as tedious (so far).

You probably realize "just try it and see what happens" is not how engineers operate. If they did no one would ever dare to cross one of their bridges.

You will have to decide whether you want to be an engineer or an academic.

JamesBremner commented 1 year ago

When you make changes to a file I am also working on, what is the proper way to update my copy with your changes?

This is why you are working in your repo and I am working in mine - just so this cannot happen

When you commit you changes and I pull them any conflicts will be removed.

ztlawton commented 1 year ago

I see. I was trying to pull your changes as I saw them get made so I stayed in sync. I'll stop doing that.

JamesBremner commented 1 year ago

Now that you can do building and testing, thins should become more straightforward.

and so on. Each cycle should take no more than a couple of hours if everything goes well.

JamesBremner commented 1 year ago

Well, I think you can now call yourself a software engineer.

JamesBremner commented 1 year ago

when I open Visual Studio Code, it displays two warnings: "Makefile entry point not found" and "Make not found." Do I need to be concerned about that, since it seems like building and running is working fine?

Please ignore this. This project is not using make.

JamesBremner commented 1 year ago

So, now you have the knack of it, would you like to contribute some more code?

  1. Modify the ascii art code to display, instead of 'm' for every module, another character according to the module type.

or, for something more challenging

  1. Take over the layout code for one of the workshops that is currently overheating
ztlawton commented 1 year ago

I can try the ASCII art modification later today or tomorrow.

JamesBremner commented 1 year ago

OK, I will create an issue for that.

JamesBremner commented 1 year ago

I forget that issues need to be closed.

Yes indeed.

Ideally no issue should remain open for more than 24 hours. More than 5 days and the project is heading for trouble and will likely fail. Deferred issues can remain open longer, but if there more than 6 deferred issues open then some should be moved off the issue board to some kind of future work planning document.

Currently you have 5 issues assigned to you.

image

JamesBremner commented 1 year ago

Since you have no knowledge of C++ and I have no knowledge of JavaScript, we are not a good match. Although you have successfully learnt how to collaborate on Github and build C++ applications, an application with well over a 1,000 lines of C++ code is of doubtful use to you since you are unable to maintain it.

So, maybe we should stop and each turn our focus on something more fruitful?

ztlawton commented 1 year ago

How much maintenance would a project like this need? The game is a few years old so the parameters of the structures (like total number, heat production/requirements, and Module requirements) are unlikely to change, and if they do change I think I can handle updating the relevant values.

As far as putting it all together, if you can build something that works for one Workshop/Module to use as a template, I think I can work out how to copy it for the other Workshops/Modules. Like what we did with the initial parameters for the Workshops, after I got the handle of GitHub and building/testing.

JamesBremner commented 1 year ago

The current code "works" for ALL workshops and ALL modules. It is your decision whether you want more optimization to be done.

ztlawton commented 1 year ago

I would like more optimization to be done.

JamesBremner commented 1 year ago

You will need to be more specific. What is your goal?

( I was happy to work on an open ended basis when I expected you to take over at some point. That no longer applies. )

JamesBremner commented 1 year ago

You also need to work a lot more quickly when an issue is assigned to you in test. Currently there are four waiting for you.

ztlawton commented 1 year ago

Sorry, I'm working on this alongside my official job. My goal is to be able to input any Workshop mix, potentially up to 25 in total if mods for the game are taken into account, and get a layout that maximizes productivity while minimizing the number of Modules and Links used. If the number of Modules/Links/nodes required for a layout exceeds the un-modded number available, I want an option to get either the best-un-modded-layout or the best-with-no-limits layout.

JamesBremner commented 1 year ago

I understood that the maximum number of workshops is 12. Fitting 25 into that grid will be a huge challenge

ztlawton commented 1 year ago

There is at least one possible layout for 25 Workshops at maximum productivity without expanding the grid: https://imgur.com/a/HwWgp

If mods are in play, I'd like to be able to figure out if there's a more efficient possibility. Even if mods are out of the picture, I'd like to have the most efficient layout for any given Workshop mix.

ztlawton commented 1 year ago

Clarification: I know that the linked 25-Workshop layout is not optimal, because it includes many redundant Links that don't need to be where they are located. I would consider a layout which used the fewest extra-Links-beyond-what-the-unmodded-game-allows to be better than one that simply allows an infinite number of Links. The same goes for extra Modules.

JamesBremner commented 1 year ago

"If mods are in play." What does this mean?

JamesBremner commented 1 year ago

From now on I will not expect you to do your own build for testing purposes.

I will do an official release which you can test like this:

image

ztlawton commented 1 year ago

"If mods are in play." What does this mean?

See https://github.com/JamesBremner/workshoplocator/issues/23#issuecomment-1518692594_

JamesBremner commented 1 year ago

All open v1 issues are now assigned to you in test.

image

ztlawton commented 1 year ago

Just FYI so you don't think I've abandoned this, my computer died on Saturday. I'm taking it to a repair shop to see if it can be fixed or if I need to buy a new one. Apologies for the delay!

JamesBremner commented 1 year ago

Thanks for letting me know

ztlawton commented 1 year ago

I have a functional computer again! Hopefully it stays that way for a few more years.

JamesBremner commented 1 year ago

Just one issue left ( assigned to you in test )

https://github.com/JamesBremner/workshoplocator/milestone/1

JamesBremner commented 1 year ago

v1 is complete!!!!!!!!!!!!!!!!!!!!!!

I would appreciate it if you would accept my answer to your stack overflow question https://stackoverflow.com/questions/76010189/is-there-a-good-platform-software-language-to-make-a-computer-analyze-this-optim

JamesBremner commented 1 year ago

Thank you!