<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:08:17] ⇨ Joins: Izzy (~izzy@210.1.218.92)
L2[01:18:04] ⇨ Joins: Hawk777 (~Hawk777@2001:569:7e40:1300:eabb:5d74:b6ec:ae79)
L3[02:04:59] <walks​anator> all I wanna say is https://discordembeds.pc-logix.com/live/1712973899130.png
L4[02:05:15] <walks​anator> (totally not the 65el02 in modern MC)
L5[02:07:44] ⇦ Quits: nadja (~dequbed@banana-new.kilobyte22.de) (Ping timeout: 183 seconds)
L6[02:08:05] ⇦ Quits: kilobyte (~kilobyte2@banana-new.kilobyte22.de) (Ping timeout: 189 seconds)
L7[02:08:12] ⇨ Joins: nadja (~dequbed@banana-new.kilobyte22.de)
L8[02:08:15] ⇨ Joins: kilobyte (~kilobyte2@banana-new.kilobyte22.de)
L9[02:08:15] zsh sets mode: +v on kilobyte
L10[04:49:54] <Spider ​EveryOS> %tonk
L11[04:49:54] <MichiBot> I'm sorry Spider EveryOS, you were not able to beat Vaur's record of 9 hours, 23 minutes and 51 seconds this time. 8 hours, 39 minutes and 39 seconds were wasted! Missed by 44 minutes and 11 seconds!
L12[04:50:57] <Spider ​EveryOS> OH, forecaster reset the timer earlier today
L13[04:59:24] <Izzy> current status: https://shadowkat.net/tmp/7f95.png
L14[06:20:12] ⇨ Joins: Vexatos (~Vexatos@p200300eAEF236b008384Ba46f24b4e4A.dip0.t-ipconnect.de)
L15[06:20:12] zsh sets mode: +v on Vexatos
L16[07:54:09] ⇦ Quits: Hawk777 (~Hawk777@2001:569:7e40:1300:eabb:5d74:b6ec:ae79) (Quit: Leaving.)
L17[08:39:12] <CompanionCube> Izzy: are you moving db servers or what
L18[08:42:27] <as​ie> https://mk.asie.pl/notes/9s1evo9h06
L19[08:42:32] <as​ie> "PSA: On July 15th, 2024 around 19:00 UTC, the Minecraft mod OpenComputers will be publishing patches and a security advisory concerning a vulnerability found in the mod."
L20[08:44:20] <as​ie> No wait April
L21[08:44:57] <as​ie> https://mk.asie.pl/notes/9s1f02yp0b
L22[08:45:00] <as​ie> "PSA: On April 15th, 2024 around 19:00 UTC, the Minecraft mod OpenComputers will be publishing patches and a security advisory concerning a vulnerability found in the mod."
L23[08:45:24] <Redston​eParkour> another security vuln?
L24[08:47:21] <as​ie> as previously, I want server administrators to have prior warning
L25[09:03:15] <Corded> > <as​ie> "PSA: On April 15th, 2024 around 19:00 UTC, the Minecraft m…
L26[09:03:15] <⚧ E​mily> Will this vulnerability already be fixed after the release of the advisory?
L27[09:03:38] <as​ie> yes
L28[09:03:43] <as​ie> OpenComputers 1.8.4 will contain the fix
L29[09:04:06] <as​ie> for Minecraft 1.7.10 and 1.12.2
L30[09:04:12] <⚧ E​mily> Good. Are emulators like ocelot desktop concerned in any way?
L31[09:06:19] <as​ie> I can't say for sure as I don't fully know their architecture. However, I anticipate they will need to adapt the relevant patch, yes
L32[09:07:48] <⚧ E​mily> I see. As far as I know Ovelot uses their own emulation engine called ocelot-brain, which is essentially a fork of opencomputes will all dependencies ro minecraft either remived or adapted to their own renderer/other required systems.
L33[09:08:05] <⚧ E​mily> If i may, what is the root cause of the vulnerability?
L34[09:08:42] <Forec​aster> computers
L35[09:09:06] <as​ie> I think discussing the root cause would narrow down the search surface too much
L36[09:09:23] <Corded> > <as​ie> I think discussing the root cause would narrow down the sea…
L37[09:09:23] <⚧ E​mily> I understand and apologise
L38[09:09:27] <as​ie> Don't worry about it
L39[09:09:29] <as​ie> I am aware of groups which look for these for their cheat/hack clients, so I'd like to limit the amount of information revealed until the advisory.
L40[09:09:48] <as​ie> I recall stuff like a Minecraft mod which had undisclosed item duplication exploits, and stuff like that. There are, actually, people who look for these
L41[09:10:57] <as​ie> I mean, IIRC the log4j bug was found in part due to Minecraft squabbles, so
L42[09:12:59] <Corded> > <as​ie> I mean, IIRC the log4j bug was found in part due to Minecra…
L43[09:12:59] <⚧ E​mily> Reverse engineering minecraft is part of modding, essentially. you can't avoid finding exploits
L44[09:13:22] <as​ie> Yeah
L45[09:13:44] <as​ie> Either way, this is also probably my final OC1 release. I've tried to get a few low-hanging fruits cleared too, so 1.8.4 is not *just* a security release
L46[09:13:47] <Forec​aster> and you can't avoid exploiting findings
L47[09:14:20] <as​ie> one notable improvement is that `package.preload`, `package.searchers` and `package.config` are now implemented - this should allow loading more advanced Lua library framework, stuff like Fennel
L48[09:14:23] <as​ie> * frameworks, stuff like Fennel
L49[09:14:39] <as​ie> French users will appreciate the improved translation files
L50[09:15:08] <Corded> > <as​ie> one notable improvement is that `package.preload`, `package…
L51[09:15:08] <⚧ E​mily> I don't really understand hlw that part of OC works
L52[09:15:14] <as​ie> and on 1.7.10, you can now read aspect information from Thaumcraft Wands - a GT:NH patch which was adapted for upstream
L53[09:15:32] <as​ie> plus, for our users in China and Korea, there's many relevant updates to the font data
L54[09:15:35] <Corded> > <as​ie> French users will appreciate the improved translation files
L55[09:15:36] <⚧ E​mily> Quelle chance! (How lucky!)
L56[09:16:29] <⚧ E​mily> so a neat and really required update overall
L57[09:16:48] <⚧ E​mily> By the way, are any major updated still planned for OC?
L58[09:18:07] <Forec​aster> asie just said this was going to be their last release
L59[09:18:14] <Forec​aster> (probably)
L60[09:19:19] <as​ie> major updates? none, zero, nada
L61[09:19:54] <as​ie> someone else has to take up the mantle; I've been working on the sidelines for a while but I'd like to move on from modding and OpenComputers is the last thing holding me back 🙂
L62[09:19:59] <Forec​aster> I don't even know what that would be
L63[09:20:08] <as​ie> there are a few PRs and issues that could be done to build up a 1.9.0
L64[09:20:22] <as​ie> even adapting GT:NH's work would be sufficient
L65[09:20:40] <as​ie> but someone would have to do it and I don't see any takers, at least, not within the official framework
L66[09:20:48] <as​ie> I think a good idea would be for someone to resurrect the 1.16.5 fork
L67[09:20:52] <as​ie> it's almost complete
L68[09:21:00] <as​ie> and would provide a good starting point for an OpenComputers fork in general
L69[09:21:15] <as​ie> however, that person won't be me
L70[09:24:16] <Forec​aster> it would require a lot of free time
L71[09:39:46] <Forec​aster> why did I decide to change the structure of my ongoing series registry...
L72[09:40:16] <Forec​aster> oh right, to make it easier to read manually... but still, why?!
L73[09:40:42] <Forec​aster> at least the system seems to be working normally again after the change
L74[09:41:14] <Forec​aster>
L75[09:42:14] <Forec​aster> there was another change I wanted to make, but I forgot what it was...
L76[09:42:48] <Forec​aster> I bet Amanda stole that thought > - >
L77[09:54:17] <Corded> > <Kristo​pher38> @Yabe_uke if this is reproducible you might want to report …
L78[09:54:18] <Yabe​_uke> https://paste.pc-logix.com/bipeduciqi
L79[09:54:37] <Yabe​_uke> * *seems* to be player related somehow. If I stay on a train that is on a computer that has "halted", it will remain halted, but, if I exit the train, the computer will (eventually) resume operation. I've checked server log and it only states ` [Server thread/WARN]: Could not persist computer @ (3079.50, 11.5000, -355.500, 0).
L80[09:54:37] <Corded> li.cil.repack.com.naef.jnlua.LuaRuntimeException: attempt to literally persist userdata`
L81[09:54:38] <Corded> I don't think it's related to #3495, does this help narrow it down or make the rabbit hole deeper?
L82[09:55:34] <Yabe​_uke> * Also happens if a train is on a stopped computer and any player comes near it (down to the "real" chunk, aka internal chunk: 16x16x16). I've checked server log and it only states ` [Server thread/WARN]: Could not persist computer @ (3079.50, 11.5000, -355.500, 0).
L83[09:55:35] <Corded> li.cil.repack.com.naef.jnlua.LuaRuntimeException: attempt to literally persist userdata`
L84[09:55:35] <Corded> I don't think it's related to #3495, does this help narrow it down or make the rabbit hole deeper?
L85[09:56:17] <Yabe​_uke> Oh, and with persistency off, all computers shutdown on server close/restart so I'd rather leave persistency on
L86[10:14:55] <Kristo​pher38> This might be a clue that narrows it down
L87[10:17:34] <Kristo​pher38> My first suspicion would be that the IR integration is broken in a subtle way - userdata are lua objects that are stored on the java side so persisting them fails
L88[10:18:39] <Yabe​_uke> Right now (still testing) a train is stopped away from my position, and server only reported IR physics calculation, no errors. I suspect when I approach the area, it will spit out the same error.
L89[10:18:50] <Yabe​_uke> Should I talk to the IR team instead? Might this be on their end?
L90[10:19:06] <Yabe​_uke> It looks like an OC issue to me
L91[10:26:59] <Kristo​pher38> Seems like it's them who implemented OC integration code
L92[10:27:17] <Yabe​_uke> Ah, I see. I'll pester them (too) then
L93[10:27:27] <Kristo​pher38> I'm not saying issue is on their end but might be worth a shot
L94[10:28:43] <Yabe​_uke> No, I know no blaming here. People get very emotional about mods for some reason, I understand it's a lot of work and having big modpacks is work for every dev down the line. Thanks, I'll talk to them see if they can figure it out
L95[10:29:26] <Forec​aster> even if they're not to blame they might be able to figure out what the cause is
L96[10:31:17] <Yabe​_uke> yeah, yeah. Thanks everyone for your attention ^-^
L97[10:34:41] <gruetzkopf> i have exactly zero scala knowledge so its messing with OC2 for me
L98[10:36:38] <gruetzkopf> having oc1 and oc2 on the same release would be fun though
L99[10:39:33] <Corded> > <Yabe​_uke> yeah, yeah. Thanks everyone for your attention ^-^
L100[10:39:33] <as​ie> does IR package their own Lua software?
L101[10:39:45] <as​ie> the error sounds like either the fault of IR's OC integration, or a specific Lua program running on the computer
L102[10:40:23] <as​ie> ah
L103[10:40:25] <as​ie> you have your own program
L104[10:40:30] <Corded> > <as​ie> does IR package their own Lua software?
L105[10:40:31] <Yabe​_uke> Not that I know off. It only adds like 5 instructions to interact with trains, but the programs you have to write yourself using OC manual
L106[10:40:36] <as​ie> hmm
L107[10:40:43] <as​ie> then I'd bet on IR's OC integration, though the error is still strange
L108[10:41:40] <Yabe​_uke> That's my guess after all this testing too. I've asked in a couple discord servers and they all agree computers should be either off or crashed, not on and stopeed. That's whitchcraft
L109[10:48:37] ⇨ Joins: flappy (~flappy@2001:99a:2068:8c00:7415:f667:7d3a:b534)
L110[10:56:22] <Yabe​_uke> Mini-update: train stopped, no server errors whatsoever. After a while, computers resumes. Again, no errors on console. I've already asked IRs team, just prefer to keep updating. Wanna believe bug reporting helps everyone and shit.
L111[11:10:06] * Amanda meows and looks around
L112[11:10:48] <Amanda> I had a fun dream, I was running around in @Forecaster's head and found something shiny to grab!
L113[11:11:17] <Forec​aster> D:<
L114[11:15:59] <Amanda> I think I left it next to the repressed cat envy
L115[11:16:31] * Amanda does a heccen biiig streetchie, getting ready for her meowning ritual
L116[11:17:17] <Amanda> %splash @Forecaster with mutable diamond potion
L117[11:17:17] <MichiBot> You fling a mutable diamond potion (New!) that splashes onto @Forecaster. @Forecaster turns into a bird until they have some bacon.
L118[11:17:44] * Amanda sits up suddenly
L119[11:18:00] * Amanda stares at fore, chittering
L120[11:18:07] <Forec​aster> Uh oh
L121[11:18:50] <Forec​aster> Um, maybe there's some bacon nearby
L122[11:22:34] <Va​ur> %sip
L123[11:22:36] <MichiBot> You drink a hairy pussplum potion (New!). Vaur feels a strong urge to recycle the potion bottle.
L124[11:23:37] * Amanda butt wiggles, pounces on Fore, ends up smacking into the invisible shield she set up around herself and Elfi last night for protecc
L125[11:25:43] <Forec​aster> _flies up into the rafters where there's no bacon, but also no cats_
L126[12:02:28] * Amanda looks up, lays back down around Elfi, watching the rafters closely
L127[12:08:03] * gruetzkopf writes some new GUI code for oc2 vxlan uplink configuration
L128[12:32:20] <Izzy> CompanionCube: upgrading pg13 to pg15
L129[12:34:26] <Corded> > <as​ie> then I'd bet on IR's OC integration, though the error is st…
L130[12:34:26] <Yabe​_uke> IR's discord kinda sucks. They autmatically started with "check configs, must be OC", no further questions asked, even after I wrote I already spoke to you guys. I'll keep at ti, but they don't seem very keen on helping people. The first person who answered me was suggesting weird things and I asked "dude, where's that in the config,
L131[12:34:26] <Corded> I don't see it", answer: "idk, I don't use OC". I have no hopes of getting this working ffs
L132[12:35:12] <as​ie> did you ask cam72cam (no pinging)
L133[12:35:52] <Izzy> played some extremely normal minecraft with my nephew https://shadowkat.net/tmp/e41c.jpg
L134[12:52:25] <Corded> > <as​ie> did you ask cam72cam (no pinging)
L135[12:52:25] <Yabe​_uke> I never ping him, he seems busy af
L136[12:54:27] <Yabe​_uke> I'd find it rude, he seems he's always coding
L137[13:04:16] <Amanda> Izzy: so what I thought I'd do is...
L138[13:05:20] <Amanda> Though I'm guessing it's meant to be Roblox face
L139[13:06:49] <Izzy> no it was just a random 8x8 one
L140[13:07:34] <Amanda> Ah
L141[13:08:07] <Amanda> Hrmhrm
L142[13:08:24] <Amanda> Read about more catgirls or start another srory
L143[13:08:54] <Amanda> Or spaaace
L144[13:09:14] <Amanda> %choose catgirls or other halucinations or spaaace
L145[13:09:14] <MichiBot> Ama​nda: A nearby lamp whispers "catgirls" such that it's barely audible.
L146[13:09:23] <Izzy> the face is in the tape also
L147[13:09:33] <Izzy> but the encoding is silly
L148[13:09:36] * Amanda nods sagely
L149[13:12:32] <Izzy> didn't want to have it cross chunk boundaries so I ended up making two in parallel and having a mux switch between at display speed, and then using a toggle latch to divide the display clock by two
L150[14:59:44] <Forec​aster> %tonkout
L151[14:59:46] <MichiBot> Wut! Forec​aster! You beat Va​ur's previous record of 9 hours, 23 minutes and 51 seconds (By 45 minutes and 59 seconds)! I hope you're happy!
L152[14:59:47] <MichiBot> Forec​aster has stolen the tonkout! Tonk has been reset! They gained 0.01 tonk points! plus 0.009 bonus points for consecutive hours! (Reduced to 50% because stealing) Current score: 1.36245. Position #2 Need 0.08025 more points to pass Va​ur!
L153[14:59:51] <Forec​aster> Hooray
L154[16:02:13] <Brisingr​ Aerowing> %splash @Forecaster with mutable potion
L155[16:02:13] <MichiBot> You fling a mutable silver potion (New!) that splashes onto @Forecaster. @Forecaster turns into a dragon until they find a jar of dirt.
L156[16:03:05] <Va​ur> %sip
L157[16:03:06] <MichiBot> You drink a silent boneboo potion (New!). Vaur gains a negligible amount of luck.
L158[16:27:49] <Forec​aster> _falls though the rafters_
L159[16:28:00] <Forec​aster> * through the rafters_
L160[17:39:17] <Corded> > <Ama​nda> %choose catgirls or other halucinations or spaaace
L161[17:39:18] <Spider ​EveryOS> How about a book about cat-people overthrowing the evil space organization by using hallucination splash potions to help them infiltrate their station?
L162[17:39:18] <MichiBot> Ama​nda: The sands of time whisper to me... they're saying "other halucinations".
L163[17:39:18] <Spider ​EveryOS> surely somebody's written that xD
L164[17:39:54] <Mim​iru> *sigh* MichiBot needs to ignore quotes... I swear that was a thing once
L165[17:40:16] <Spider ​EveryOS> Yea, I was not expecting that
L166[17:40:32] <Amanda> %blame @Forecaster
L167[17:40:33] * MichiBot blames @Forecaster for adding an Magic isekai'd house! (25%) to the inventory!
L168[17:53:20] <Amanda> %give MichiBot an extinction-level event catalyst
L169[17:53:20] * MichiBot accepts the extinction-level event catalyst and adds it to their inventory
L170[17:53:36] <Amanda> I see zero ways this could go wrong
L171[17:57:09] <Corded> > <Ama​nda> I see zero ways this could go wrong
L172[17:57:09] <⚧ E​mily> basically a bin
L173[18:01:55] <Amanda> %choose halucinate or continue staring at terminal hoping for spoons to appear
L174[18:01:55] <MichiBot> Ama​nda: I've heard "continue staring at terminal hoping for spoons to appear" is in these days
L175[18:02:04] <Amanda> %8ball am I low-temp goat kitten?
L176[18:02:04] <MichiBot> Ama​nda: Reply hazy, try again
L177[18:02:21] <Amanda> Hrm
L178[18:02:29] <Amanda> I feel like she would know if I was
L179[18:06:41] <Amanda> Hrm. I feel like HomeAssistant isn't talking to Samsung Smart Things right
L180[18:07:55] <Forec​aster> it's not using the right kind of Latin
L181[18:12:34] <The Pa​tmann💖> Yeah, that's definitely ecclesiastical latin, it needs to be speaking classical
L182[18:12:45] <The Pa​tmann💖> Glad I could help clear things up
L183[18:17:31] <Spider ​EveryOS> %8ball Will I actually finish any of my current OC projects?
L184[18:17:32] <MichiBot> Spider ​EveryOS: Reply hazy, try again
L185[18:17:53] <Spider ​EveryOS> Guess I'm trying again, but in the bots channel to avoid cluttering this channel
L186[18:22:55] <Forec​aster> uh oh https://discordembeds.pc-logix.com/live/1713032574861.png
L187[18:23:02] <Forec​aster> my shows >:
L188[18:24:25] <gruetzkopf> disk bad replace disk.
L189[18:25:47] <Amanda> I'm sure it's fine, just throw more data onto it. :3
L190[18:26:01] <Forec​aster> yeah, I wish I'd found out earlier and not now when I tried moving data out of it
L191[18:26:50] <Corded> > <Forec​aster> uh oh
L192[18:26:51] <Spider ​EveryOS> I hope you have a backup
L193[18:26:51] <Spider ​EveryOS> I had an expensive SSD die after 6 months with no prior warning. Luckily, most of my important stuff was backed up, but I had some small projects that weren't
L194[18:26:51] <Spider ​EveryOS> Luckily, warranty did at least replaced the SSD
L195[18:28:05] <Forec​aster> the drives on the media server are supposed to be mirrored, but I know one of the mirrors have failed for some reason
L196[18:28:16] <Forec​aster> I don't know if it's this drive's mirror that has disconnected
L197[18:28:37] <Spider ​EveryOS> Ooh, hopefully not. Double failure
L198[18:31:42] <gruetzkopf> Railway signalling has this concept of "time to detection of failure"
L199[18:32:39] <Forec​aster> I've plugged in a new drive here (because the server has no free sata ports)
L200[18:32:43] <gruetzkopf> so "how long does it take to detect the first error" (which is the window of opportunity for a second fault to occur and cause harm)
L201[18:32:46] <Forec​aster> lets see how much I can pull out
L202[18:33:33] <Amanda> Speaking of drive failure, I should probably set up some kind of monitoring for detection of a failing drive in my ceph cluster
L203[18:35:25] <Forec​aster> 2.72 TB to copy
L204[18:35:42] <Forec​aster> I know two files wont be read
L205[18:36:12] <Forec​aster> hopefully anything that is lost can be replaced
L206[18:36:39] <Forec​aster> I have some shows that are very difficult to find now
L207[18:43:20] <⚧ E​mily> %choose a or b
L208[18:43:20] <MichiBot> ⚧ E​mily: Why not both? Okay fine. "b".
L209[18:43:32] <⚧ E​mily> pft--
L210[18:55:01] <Amanda> Well, that's annoying
L211[18:56:58] <Forec​aster> Copying 2.7 TB over the network is gonna take a while...
L212[18:57:42] <Forec​aster> although the USB interface might be more of a bottleneck
L213[19:07:31] <Amanda> the chart I'm using for gotosocial was deleted off the internet it seems
L214[19:10:45] <⚧ E​mily> sad reality
L215[19:25:29] <Forec​aster> almost at 1%!
L216[19:27:27] <Corded> > <Forec​aster> almost at 1%!
L217[19:27:27] <Spider ​EveryOS> At that rate it should only take slightly over 2 days, assuming no interruptions
L218[19:27:27] <Spider ​EveryOS> Fast
L219[19:28:00] <Forec​aster> the eta is about 4 days according to the transfer program
L220[19:28:13] <Spider ​EveryOS> Maybe I did my math wrong...
L221[19:39:06] <Forec​aster> or maybe the program did the math wrong
L222[19:39:31] <DiamondC​reeper_6> any 1.12.2 mods that load chunks very fast?
L223[19:47:30] <Forec​aster> what?
L224[19:50:33] <Amanda> There's not really anything a mod can do to speed up chunk loading, no
L225[19:52:20] ⇦ Quits: lunar_sam (c44a7f2987@2a00:c70:1:178:170:40:189:1) (Ping timeout: 189 seconds)
L226[20:05:04] <Forec​aster> well, I decided it was too slow, so I moved the backup drive down to the server
L227[20:05:13] <Forec​aster> the speed before was around 8MB/s
L228[20:05:23] <Forec​aster> now it's about 16MB/s
L229[20:08:40] <Forec​aster> and predictably the eta is now about 2 days
L230[20:13:54] <Forec​aster> Still over usb2
L231[20:58:34] <Amanda> %choose laptopnaptime?
L232[20:58:34] <MichiBot> Ama​nda: Yes, but only if you do it right now.
L233[20:58:49] <Amanda> D:
L234[20:58:54] * Amanda quickly baps her laptop closed
L235[21:03:15] <Forec​aster> Ohno
L236[21:26:38] <luc​soft> Seeing the Sedna fix is really welcome :)
L237[21:27:45] ⇦ Quits: Vexatos (~Vexatos@p200300eAEF236b008384Ba46f24b4e4A.dip0.t-ipconnect.de) (Quit: Insert quantum chemistry joke here)
L238[21:29:22] <luc​soft> * welcoming :)
L239[21:39:21] <Spider ​EveryOS> %tonk
L240[21:39:21] <MichiBot> Crud! Spider ​EveryOS! You beat Forec​aster's previous record of <0 (By 6 hours, 39 minutes and 36 seconds)! I hope you're happy!
L241[21:39:22] <MichiBot> Spider EveryOS's new record is 6 hours, 39 minutes and 36 seconds! Spider EveryOS also gained 0.00666 tonk points for stealing the tonk. Position #3. Need 0.72373 more points to pass Forec​aster!
L242[21:39:51] <gruetzkopf> i really need to put my sat tv recorders storage backend onto a different platfrom
L243[21:40:08] <gruetzkopf> (it's currently recording onto 6 USB2 attached disks..)
L244[21:41:29] <Amanda> Hrm
L245[21:41:31] <gruetzkopf> (and not that fast, given that it's running on a core2duo e6400 (because that box has 7 PCI AND 4 PCIe slots and there were *cheap* DVB-S2 cards to be had (2€ a card))
L246[21:41:41] <Amanda> Cake or get dressed to get iced creams from the basement
L247[21:41:48] <Amanda> ... Cake
L248[21:43:02] <⚧ E​mily> https://paste.pc-logix.com/ditugoyeqo
L249[21:47:40] <Izzy> try calling the variable something other than coroutine
L250[21:47:54] <Izzy> you're replacing the coroutine library in your scope
L251[21:47:57] <⚧ E​mily> oops...
L252[21:48:23] <Corded> > <⚧ E​mily> I am writing my own opencomputers os. Somehow when I try to…
L253[21:48:23] <Jas​onS> Oh I see the problem. You did a silly lol. There’s a global variable called `coroutine` that you’re trying to use, but you made a local variable also called `coroutine` which shadowed the global variable. Either name it something else or use `_ENV.coroutine` (or is it `_G.coroutine`, not sure)
L254[21:48:43] <Jas​onS> +to access the global `coroutine`
L255[21:48:43] <⚧ E​mily> I have done a silly
L256[21:50:52] <Corded> > <Jas​onS> Oh I see the problem. You did a silly lol. There’s a global…
L257[21:50:52] <⚧ E​mily> right. now it works.
L258[21:50:53] <⚧ E​mily> However my coroutines are not running in parallel.
L259[21:50:53] <⚧ E​mily> In this environement, how can I make my code run in parallel?
L260[21:51:07] <Izzy> you can't really
L261[21:51:16] <Jas​onS> Lua is does not have parallel processing abilities.
L262[21:51:27] <Izzy> but you can write a scheduler to switch between coroutines
L263[21:51:30] <Jas​onS> The best you can get is cooperative threads that give up control on their own
L264[21:51:47] <⚧ E​mily> fudge*
L265[21:51:50] <⚧ E​mily> * fudge
L266[21:51:57] <Izzy> eg https://git.shadowkat.net/izaya/OC-PsychOS2/src/branch/master/module/sched.lua#L46-L64
L267[21:53:01] <Jas​onS> Now I’m sure with some nonsense you could fake preemptive multitasking by changing the `load` function to modify any loaded lua code to give up control so you can’t have an unyielding infinite loop.
L268[21:53:22] <Jas​onS> But AFAIK no one’s done that, and probably for good reason
L269[21:53:49] <Jas​onS> Such a change would be very nontrivial to get working in all circumstances without breaking anything
L270[21:54:08] <Izzy> something that I think would be interesting to explore is an I/O scheduler
L271[21:54:17] <Izzy> make component calls yield to the scheduler
L272[21:54:21] <⚧ E​mily> My problem here is that most calls are blocking
L273[21:54:21] <⚧ E​mily> I'm basically trying to do the impossible and get lua to run code in paralel/asyncronously
L274[21:54:40] <Izzy> so it could do its best to use the whole call budget
L275[21:54:54] <⚧ E​mily> The asyncronous model would be ideal...
L276[21:55:00] <Corded> > <Iz​zy> make component calls yield to the scheduler
L277[21:55:00] <Jas​onS> Yeah but still doesn’t fix `while true do end`
L278[21:55:16] <Jas​onS> * ```Lua
L279[21:55:16] <Corded> while true do end```
L280[21:55:21] <Izzy> by doing faster I/O until it runs out of call budget then doing slower I/O
L281[21:55:29] <Izzy> yeah, but there's not a lot you can do about that
L282[21:55:30] * Izzy shrugs
L283[21:55:50] <Izzy> it will get killed after 5 seconds
L284[21:55:54] <Corded> > <Jas​onS> Now I’m sure with some nonsense you could fake preemptive m…
L285[21:55:54] <Jas​onS> This here was supposed to fix that, but like I said very nontrivial to get working
L286[21:57:06] <Corded> > <Iz​zy> make component calls yield to the scheduler
L287[21:57:07] <Jas​onS> Also OpenOS already does this somewhat right? Component access through the OpenOS APIs trigger yields I think. I’m pretty sure the threading library in OpenOS uses that. Never used that library though.
L288[21:57:23] <Izzy> not sure, never went to deep into how the thread library works
L289[21:58:27] <Jas​onS> Anyway, if making an OS from scratch, it shouldn’t be hard to make all calls to the surrounding environment automatically yield to the scheduler.
L290[21:59:30] <Jas​onS> So the only remaining problems are Lua programs calling their own pure functions (pure in the sense of functional programming) recursively or having an infinite loop that does nothing.
L291[21:59:38] <Jas​onS> * recursively (pure in the sense of functional programming) or having an infinite loop that does nothing.
L292[22:06:36] <Spider ​EveryOS> I read "making an OS from scratch" and briefly forgot they meant in the context of within OC Lua xD
L293[22:06:44] <Izzy> Is there some way to check the call budget of a computer?
L294[22:07:06] <Amanda> Was it @Ocawesome101 who did the ast rewriting to insert yields or someone else? Either way Istr someone was doing it
L295[22:07:22] <Izzy> it sounds like an Ocawesome101 thing to do
L296[22:07:29] <Ocawes​ome101> i don't use ASTs but i have code that inserts yields yes
L297[22:07:39] <Ocawes​ome101> i just do dumb pattern matching :p
L298[22:08:07] <Spider ​EveryOS> I should make an OC/CC OS and call it EveryOS. I was briefly writing an OC/CC OS, but then kinda stopped working on it, so I'll go back to that at some point
L299[22:08:07] <Spider ​EveryOS> (I like to make my programs cross-compatible where possible)
L300[22:08:24] <Ocawes​ome101> see: https://github.com/oc-ulos/oc-cynosure-2/blob/dev/src/scheduler/preempt.lua
L301[22:09:23] <Ocawes​ome101> if that's not legible, i wrote up more or less how it works here https://ocaweso.me/lua-preemption-2/
L302[22:09:31] <Ocawes​ome101> * intelligible, i wrote up more or less how it works here https://ocaweso.me/lua-preemption-2/
L303[22:16:18] <Izzy> okay so the processor in computer.getDeviceInfo() has a "clock" rating of 500, 1000, or 1500
L304[22:16:23] <Izzy> how does that relate to the call budget?
L305[22:17:39] <Kristo​pher38> 0.5, 1.0, 1.5 values in the config iirc
L306[22:17:50] <Izzy> yup, but how many calls is that?
L307[22:18:02] <Izzy> is that 500, 1000, 1500 direct component calls?
L308[22:18:05] <Kristo​pher38> it's not a linear relationship
L309[22:18:33] <Kristo​pher38> different calls subtract different amount from the call budget
L310[22:18:42] <Izzy> ah, so I'd have to run tests to find out
L311[22:18:57] <Izzy> or check the source of everything
L312[22:19:03] <Kristo​pher38> you could in theory track all component calls and subtract reverse-engineered values from the mod's code
L313[22:20:10] <Izzy> yeah that's what I'm looking at now
L314[22:20:13] <Kristo​pher38> e.g. gpu blits take subtract different amount based on the target, whether the source was dirty, and the size of the source
L315[22:20:20] <Kristo​pher38> * subtract different amount based on the target, whether the source was dirty, and the size of the source
L316[22:20:33] <Kristo​pher38> iirc don't take my word on it
L317[22:20:47] <Izzy> think I'd probably just treat GPU calls as "before indirect, but after direct"
L318[22:20:52] ⇦ Quits: uis (~uis@95.165.156.213) (Ping timeout: 183 seconds)
L319[22:21:03] <Izzy> would let you do a lot of disk I/O in the background first
L320[22:21:06] ⇨ Joins: uis (~uis@95.165.156.213)
L321[22:21:12] <Izzy> final val readSectorCosts = Array(1.0 / 10, 1.0 / 20, 1.0 / 30, 1.0 / 40, 1.0 / 50, 1.0 / 60)
L322[22:22:16] <Kristo​pher38> also indirect calls yield to the java side immediately regardless of the call budget
L323[22:22:32] <Izzy> yup, so you do those after you run out of direct calls
L324[22:23:54] <Kristo​pher38> you might also consider doing them right before the next tick happens
L325[22:42:44] <Amanda> %choose waves or rain box?
L326[22:42:44] <MichiBot> Ama​nda: A nearby lamp whispers "waves" such that it's barely audible.
L327[22:46:28] <Amanda> Hrm
L328[22:46:43] <Amanda> Nah, rain box first
L329[23:13:03] ⇦ Quits: flappy (~flappy@2001:99a:2068:8c00:7415:f667:7d3a:b534) (Ping timeout: 183 seconds)
L330[23:32:49] ⇨ Joins: linuxpower300 (~linuxpowe@170.231.120.131)
L331[23:32:52] ⇨ Joins: lol3000 (~lol3000@170.231.120.131)
L332[23:32:58] <lol3000> hi
L333[23:33:14] <linuxpower300> lol
L334[23:33:49] ⇦ Quits: linuxpower300 (~linuxpowe@170.231.120.131) (Client Quit)
L335[23:34:31] <Amanda> Riveting discussion
L336[23:36:11] ⇦ Quits: lol3000 (~lol3000@170.231.120.131) (Ping timeout: 189 seconds)
<<Prev Next>> Scroll to Top