<Darklight[m]>
Changed the script so I don't duplicate code anymore, and now the output is actually live
<Darklight[m]>
I'll eat breakfast and make it respond to PR's too
<DasSkelett[m]>
I for one go to bed now and respond to nobody anymore :P
<DasSkelett[m]>
#295 seems to work very well now <span class="d-mention d-user">HebaruSan</span> , but I still have to look closer at the code. I'm looking forward to see how the chart looks for some mods on production, will be quite interesting I think. Even though there are some discrepancies in the historical data, but I think all in all it evens out somewhat and won't be _that_ far off.
HebaruSan[m] has joined #spacedock
<HebaruSan[m]>
👍 Yeah I think for most mods, they're not going to have multiple different versions downloaded in any given hour
<Darklight[m]>
Now I need to figure out how github does PR's (although I have you two added as remotes already, so it won't be a big deal)
<Darklight[m]>
I guess I'll open up a PR from my side and see what happens
<DasSkelett[m]>
`git fetch origin pull/ID/head && git checkout origin pull/ID/head` might or might not work
<Darklight[m]>
I do a checkout on the commit sha so that part should be fine
<Darklight[m]>
But I'll just make it bulletproof
<Darklight[m]>
Although, it does run the spacedock code and you could in theory open up a malicious PR
<Darklight[m]>
It's in a VM though
<HebaruSan[m]>
What if we push to two different PRs at the same time, is it going to interfere with itself?
<Darklight[m]>
I will add locking in a bit, in the end though the answer will be "no"
<HebaruSan[m]>
Oh btw on #295, ideally the bar colors would match the legend of the previous over-time graph, but I could not find a way to make that happen with chart.js. Either all the bars are the same color, or they all share the same x-axis label. If you can figure that out. let me know.
<HebaruSan[m]>
Oh btw on #295, ideally the bar colors would match the legend of the previous over-time graph, but I could not find a way to make that happen with chart.js. Either all the bars are the same color, or they all share the same x-axis label. If you can figure that out, let me know.
<Darklight[m]>
After a fair bit of jiggering I am pretty confident it is all working correctly, also using ``flock`` means I can do it one at a time
DasSkelett[m] has quit [Quit: Idle timeout reached: 10800s]
HebaruSan[m] has quit [Quit: Idle timeout reached: 10800s]
Darklight[m] has quit [Quit: Idle timeout reached: 10800s]
RmiChevallier[m] has joined #spacedock
<RmiChevallier[m]>
Hey! I don't really know if this question belongs to this discord... So sorry if it doesn't! I'm a french engineering student and I'm trying to use KSP for simulation purposes. I try to use it to visualize the results of various simulations of space maneuvers. I need to be able to set the roll, pitch ,yaw, speed and position of my ship. I tried to find a way to use kRPC or kOS to do so, but I didn't find any options to do so... I
<RmiChevallier[m]>
want to be able to "teleport" my ship in the right position and attitude. Can anyone help me, or tell me where I can find any help about this topic? Thx!!
<VITAS[m]>
bart might help he is from belgium and does work on satelite constructions
<DasSkelett[m]>
Check out the forum threads of these mods too, that's where all the other users of them hand out. They might even have own Disord servers.
<RmiChevallier[m]>
<span class="d-mention d-user">DasSkelett</span> I read the docs firt, but I found more the "putthe throttle at full speed" type of command than the "set the speed at 200m/s :/
Darklight[m] has joined #spacedock
<Darklight[m]>
<span class="d-mention d-user">Rémi Chevallier</span> The stock game has "teleport" options in game, the debug menu
DasSkelett[m] has quit [Client Quit]
<RmiChevallier[m]>
yupe, but no roll control
Darklight[m] has quit [Client Quit]
DasSkelett[m] has joined #spacedock
<DasSkelett[m]>
<span class="d-mention d-user">Rémi Chevallier</span> I guess you have to write some logic to put throttle up until you reach the desired speed, then cut the engines. There even is a kOS standard lib that might have pre-built logic for this.
<RmiChevallier[m]>
And I don't find how to use these options from a program, from "outside" the game
Darklight[m] has joined #spacedock
<Darklight[m]>
If you've got programming experience I could give you a really simple setup that should work
<RmiChevallier[m]>
I am not a senior dev, but I can use C, C++, java, caml and python
<Darklight[m]>
This is C#, so similar to java that you shouldn't have too much of a problem
<VITAS[m]>
might work with newer versions too dont know
<Darklight[m]>
It sounds like they want a network version of hyperedit thoug
<Darklight[m]>
It sounds like they want a network version of hyperedit though
<Darklight[m]>
Telemechus prints data to a webpage iirc, and kOS is more autopilot scripting iirc
<VITAS[m]>
ok thats more your domaind Darklight
<VITAS[m]>
-d
<VITAS[m]>
but maybe good for getting result data
<RmiChevallier[m]>
<span class="d-mention d-user">VITAS</span> telemechus seems to be some kind of data
<RmiChevallier[m]>
data getter *
<Darklight[m]>
It is
<RmiChevallier[m]>
am I right?
<Darklight[m]>
For reference I'm the darkmultiplayer guy so I'm kinda used to network messages and positioning 😛
<RmiChevallier[m]>
like the DMP guy??
<Darklight[m]>
ye
<VITAS[m]>
Rémi Chevallier: telemachus is an http api for ksp. you can get data and also send steering commands
<VITAS[m]>
dmp is Darklight multiplayer
<RmiChevallier[m]>
wow
<VITAS[m]>
and yes we are all the guys in here :D
<RmiChevallier[m]>
amazing job guys
<VITAS[m]>
Darklight is dmp, DasSkelett and HebaruSan are CKAN and i do SpaceDock
<VITAS[m]>
anyways want to "cheat" a craft into position OR steer it?
<RmiChevallier[m]>
Ok, so I'm doing an internship for a Nasa guy
<RmiChevallier[m]>
He wants me to use KSP to visualise the results of various simulations they do on matlab
<VITAS[m]>
so first position then steer?
<RmiChevallier[m]>
So i'm trying to "cheat" the craft into position more than steering it
<VITAS[m]>
hyperedit?
<VITAS[m]>
you can enter the data in ksp manualy
<Darklight[m]>
It needs to be networked
<VITAS[m]>
why?
<Darklight[m]>
I can probably have this mocked up in like half an hour and then it's in your hands 😛
<VITAS[m]>
ah thats why
<VITAS[m]>
you want to play
<Darklight[m]>
In any case, reading from network or reading from file is easy enough
<VITAS[m]>
:D
<VITAS[m]>
maybe Rémi Chevallier can give you a sample file as input
<VITAS[m]>
also greetings to that nasa dude
<RmiChevallier[m]>
I don't have any yet, I have controlers designed on matlab, and I made a compiler to translate it into C
<VITAS[m]>
you both work it out
<VITAS[m]>
maybe cvs
<RmiChevallier[m]>
And I am in the early research part of the beginning of the internship :/
<VITAS[m]>
lol and you just wanted to research the posiility
<VITAS[m]>
and now Darklight jumps on it and offers custom code
<VITAS[m]>
:D
<RmiChevallier[m]>
I'm so glad I found this discord tho xDD
<Darklight[m]>
It's easy enough and I'm bored, I'm only putting like maybe half an hour into it 😛
<VITAS[m]>
hes like that a nice guy
<VITAS[m]>
and sometimes a grumpy farmer
<VITAS[m]>
:P
<RmiChevallier[m]>
thanks guys 😄
<VITAS[m]>
i continue to connect two 56k modems together because i want to :D
<VITAS[m]>
you two work it out :)
DasSkelett[m] has quit [Quit: Client limit exceeded: 6]
Darklight[m] has quit [Quit: Client limit exceeded: 6]
RmiChevallier[m] has quit [Quit: Client limit exceeded: 6]
Darklight[m] has joined #spacedock
<Darklight[m]>
https://github.com/godarklight/RemoteHyperedit going to go to bed, but <span class="d-mention d-user">Rémi Chevallier</span> this is the general gist of it, I'm actually working tomorrow so on a time limit now 😛
<Darklight[m]>
In any case TIME (numberhere) works
<Darklight[m]>
Next step is to parse the ORBIT and POS commands into a VesselUpdate
<Darklight[m]>
I had my fun though 😛
<Darklight[m]>
Kinetic they want to go TO KSP, not FROM 😉
<VITAS[m]>
i think both
<VITAS[m]>
they need the results
<VITAS[m]>
but as we established allready: both suggestions can control the craft but not cheat it into position like your approach can
<Darklight[m]>
It's not entirely finished but it isn't too far off, it needs the string command -> VesselUpdate parsing, and the "main loop" that sequences the updates and decides when to apply them
<Darklight[m]>
Also normally I'd use a binary protocol, but I figured string was more up their alley if it's coming from matlab, I've never used matlab though
KineticSloth8StoneBlue[m has quit [Quit: Client limit exceeded: 6]
RmiChevallier[m] has joined #spacedock
<RmiChevallier[m]>
Thanks mates you re awesome 😍
<VITAS[m]>
thats whats special about the ksp community :)
Darklight[m] has quit [Quit: Client limit exceeded: 6]
Bart[m] has joined #spacedock
<Bart[m]>
Determining attitude through kRPC isn't that difficult, it's KSP's awful coordinate system that causes issues there 😛
RmiChevallier[m] has quit [Quit: Idle timeout reached: 10800s]
HebaruSan[m] has joined #spacedock
<HebaruSan[m]>
> con tain er?
<HebaruSan[m]>
<span class="d-mention d-user">Darklight</span> In my day, we isolated our environments with `mkdir`
<VITAS[m]>
not so grandpa HebaruSan talking to little Darklight :P
Bart[m] has quit [Quit: Client limit exceeded: 6]
<HebaruSan[m]>
If a mod author deletes a release and re-uploads it, how long will the cache still serve the old file?
<VITAS[m]>
depends on the header flags set by spacedock and apache webserver
<VITAS[m]>
i think reuploading gives the fiel a new name anyways
<HebaruSan[m]>
Nope, same user, same id, same name, same friendly_version -> same file name
<HebaruSan[m]>
And definitely same URL, which is probably what actually matters
<VITAS[m]>
filename ins torage should change shouldnt it?
<VITAS[m]>
as i said even for the same file url and everything: i cant say depends on the stuff before the cache and what it sets as header and caches itself
<HebaruSan[m]>
The filename depends only on those factors I listed above
<HebaruSan[m]>
None of which change
<VITAS[m]>
i would say test it
<HebaruSan[m]>
Why?
<VITAS[m]>
and check what apache webserver is caching and setting as header
<HebaruSan[m]>
Ahh
DasSkelett[m] has joined #spacedock
<DasSkelett[m]>
Last time I checked the cache for the storage was set to last 30 days. The traffic server _does_ seem to recheck if the file is still up to date every now and then, however I'm unable to find out how often.
<DasSkelett[m]>
It's definitely not minutes, more like hours.
<VITAS[m]>
im sure i can set the recheck intervals
<HebaruSan[m]>
OK, that might be our explanation then. The latest PersistentThrust version got uploaded, indexed in CKAN, deleted, and re-uploaded within 15 minutes. So the cache would not have checked for the replaced file for a while after that.
<VITAS[m]>
but we have to balance the impact of more frequent rechecking vs the amount of instaces someone replaces the exact url with different content
<VITAS[m]>
also remember we have double caching
<VITAS[m]>
ocne by apache webserver and once by ats
<HebaruSan[m]>
Right, I'm not necessarily saying anything needs to change, just trying to pin down what happened
<VITAS[m]>
you can also control ats behaviour by setting header flags in apache webserver runnign on the sd hosts itself
<VITAS[m]>
if delays could caus eproblems we should notify the ones affected (e.g. uploader) or change the url each tiem a file is uploaded?
<HebaruSan[m]>
Changing the URL might be something worth investigating
<HebaruSan[m]>
But also potentially disruptive if backwards compatibility wasn't preserved
<VITAS[m]>
^maybe but its a different file
<VITAS[m]>
so its sort of logical
<HebaruSan[m]>
Agreed, sort of a write-only storage system
<HebaruSan[m]>
Err, write-once
<HebaruSan[m]>
Like Plan 9 had
<VITAS[m]>
you can delete the old file but you cant write a different fiel with the same name
<VITAS[m]>
you could however allow to write the same file with the same name if that is ever the case
<HebaruSan[m]>
Right, I think that's commonly done by indexing inodes according to a hash, which also achieves de-duping for free
<VITAS[m]>
easy as doing somethign with md5 of the file in the name or path
<HebaruSan[m]>
Well, one note on that, hashing a 1.2 GB file is very CPU intensive
<HebaruSan[m]>
Or just slow in general
<VITAS[m]>
right
<HebaruSan[m]>
CKAN has learned this lesson the hard way
<VITAS[m]>
im sure you have a solution :)
<HebaruSan[m]>
Maybe put ModVersion.id somewhere, I think it's a new row every time
Darklight[m] has joined #spacedock
<Darklight[m]>
When I updated DMPUpdater the change was instant, ATS did not cache it
<Darklight[m]>
It's on the same box and still on the same ATS
<VITAS[m]>
everythign i ost goes trough ats
<Darklight[m]>
But the config likely doesn't have messed with tags
<VITAS[m]>
remember theres apache webserver in rev proxy mode in between gunicorn and ats
<HebaruSan[m]>
Yeah I would rather stick to apples-to-apples tests rather than trying to puzzle through whatever intricacies are going on with all the various servers
<Darklight[m]>
In my local testing ATS slowed things down :P
<Darklight[m]>
But aaanyway
<Darklight[m]>
I woke up an hour before my alarm, will be my first day back at work
<VITAS[m]>
congrats
<VITAS[m]>
?
<VITAS[m]>
time for sugar
DasSkelett[m] has quit [Quit: Client limit exceeded: 6]
HebaruSan[m] has quit [Quit: Client limit exceeded: 6]
Darklight[m] has quit [Quit: Idle timeout reached: 10800s]