<<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)
L4[02:05:15]
<walksanator> (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
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
L19[08:42:32]
<asie>
"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]
<asie> No
wait April
L22[08:45:00]
<asie>
"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]
<RedstoneParkour> another security
vuln?
L24[08:47:21]
<asie> as
previously, I want server administrators to have prior
warning
L25[09:03:15] <Corded> > <asie>
"PSA: On April 15th, 2024 around 19:00 UTC, the Minecraft
m…
L26[09:03:15]
<⚧ Emily>
Will this vulnerability already be fixed after the release of the
advisory?
L27[09:03:38]
<asie>
yes
L28[09:03:43]
<asie>
OpenComputers 1.8.4 will contain the fix
L29[09:04:06]
<asie> for
Minecraft 1.7.10 and 1.12.2
L30[09:04:12]
<⚧ Emily>
Good. Are emulators like ocelot desktop concerned in any way?
L31[09:06:19]
<asie> 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]
<⚧ Emily> 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]
<⚧ Emily>
If i may, what is the root cause of the vulnerability?
L34[09:08:42]
<Forecaster> computers
L35[09:09:06]
<asie> I
think discussing the root cause would narrow down the search
surface too much
L36[09:09:23] <Corded> > <asie> I
think discussing the root cause would narrow down the sea…
L37[09:09:23]
<⚧ Emily> I
understand and apologise
L38[09:09:27]
<asie>
Don't worry about it
L39[09:09:29]
<asie> 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]
<asie> 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]
<asie> I
mean, IIRC the log4j bug was found in part due to Minecraft
squabbles, so
L42[09:12:59] <Corded> > <asie> I
mean, IIRC the log4j bug was found in part due to Minecra…
L43[09:12:59]
<⚧ Emily>
Reverse engineering minecraft is part of modding, essentially. you
can't avoid finding exploits
L44[09:13:22]
<asie>
Yeah
L45[09:13:44]
<asie>
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]
<Forecaster> and you can't avoid
exploiting findings
L47[09:14:20]
<asie> 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]
<asie> *
frameworks, stuff like Fennel
L49[09:14:39]
<asie>
French users will appreciate the improved translation files
L50[09:15:08] <Corded> > <asie>
one notable improvement is that `package.preload`, `package…
L51[09:15:08]
<⚧ Emily> I
don't really understand hlw that part of OC works
L52[09:15:14]
<asie> 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]
<asie>
plus, for our users in China and Korea, there's many relevant
updates to the font data
L54[09:15:35] <Corded> > <asie>
French users will appreciate the improved translation files
L55[09:15:36]
<⚧ Emily>
Quelle chance! (How lucky!)
L56[09:16:29]
<⚧ Emily>
so a neat and really required update overall
L57[09:16:48]
<⚧ Emily>
By the way, are any major updated still planned for OC?
L58[09:18:07]
<Forecaster> asie just said this was going
to be their last release
L59[09:18:14]
<Forecaster> (probably)
L60[09:19:19]
<asie>
major updates? none, zero, nada
L61[09:19:54]
<asie>
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]
<Forecaster> I don't even know what that
would be
L63[09:20:08]
<asie>
there are a few PRs and issues that could be done to build up a
1.9.0
L64[09:20:22]
<asie> even
adapting GT:NH's work would be sufficient
L65[09:20:40]
<asie> 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]
<asie> I
think a good idea would be for someone to resurrect the 1.16.5
fork
L67[09:20:52]
<asie> it's
almost complete
L68[09:21:00]
<asie> and
would provide a good starting point for an OpenComputers fork in
general
L69[09:21:15]
<asie>
however, that person won't be me
L70[09:24:16]
<Forecaster> it would require a lot of
free time
L71[09:39:46]
<Forecaster> why did I decide to change
the structure of my ongoing series registry...
L72[09:40:16]
<Forecaster> oh right, to make it easier
to read manually... but still, why?!
L73[09:40:42]
<Forecaster> at least the system seems to
be working normally again after the change
L74[09:41:14]
<Forecaster>
L75[09:42:14]
<Forecaster> there was another change I
wanted to make, but I forgot what it was...
L76[09:42:48]
<Forecaster> I bet Amanda stole that
thought > - >
L77[09:54:17] <Corded> >
<Kristopher38> @Yabe_uke if this is reproducible you might
want to report …
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]
<Kristopher38> This might be a clue that
narrows it down
L87[10:17:34]
<Kristopher38> 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]
<Kristopher38> 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]
<Kristopher38> 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]
<Forecaster> 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]
<asie> does
IR package their own Lua software?
L101[10:39:45]
<asie> 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]
<asie>
ah
L103[10:40:25]
<asie> you
have your own program
L104[10:40:30] <Corded> > <asie>
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]
<asie>
hmm
L107[10:40:43]
<asie> 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]
<Forecaster> 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]
<Forecaster> Uh oh
L121[11:18:50]
<Forecaster> Um, maybe there's some bacon
nearby
L122[11:22:34]
<Vaur>
%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]
<Forecaster> _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> > <asie>
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]
<asie> did
you ask cam72cam (no pinging)
L134[12:52:25] <Corded> > <asie>
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> Amanda: 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]
<Forecaster> %tonkout
L151[14:59:46] <MichiBot> Wut!
Forecaster! You beat Vaur'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> Forecaster 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 Vaur!
L153[14:59:51]
<Forecaster> 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]
<Vaur>
%sip
L157[16:03:06] <MichiBot> You drink a
silent boneboo potion (New!). Vaur gains a negligible amount of
luck.
L158[16:27:49]
<Forecaster> _falls though the
rafters_
L159[16:28:00]
<Forecaster> * through the rafters_
L160[17:39:17] <Corded> >
<Amanda> %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> Amanda: 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]
<Mimiru>
*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> >
<Amanda> I see zero ways this could go wrong
L172[17:57:09]
<⚧ Emily>
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> Amanda: 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> Amanda: 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]
<Forecaster> it's not using the right kind
of Latin
L181[18:12:34]
<The
Patmann💖> Yeah, that's definitely ecclesiastical latin, it
needs to be speaking classical
L182[18:12:45]
<The
Patmann💖> 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
L187[18:23:02]
<Forecaster> 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]
<Forecaster> yeah, I wish I'd found out
earlier and not now when I tried moving data out of it
L191[18:26:50] <Corded> >
<Forecaster> 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]
<Forecaster> 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]
<Forecaster> 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]
<Forecaster> 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]
<Forecaster> 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]
<Forecaster> 2.72 TB to copy
L204[18:35:42]
<Forecaster> I know two files wont be
read
L205[18:36:12]
<Forecaster> hopefully anything that is
lost can be replaced
L206[18:36:39]
<Forecaster> I have some shows that are
very difficult to find now
L207[18:43:20]
<⚧ Emily>
%choose a or b
L208[18:43:20] <MichiBot> ⚧ Emily: Why
not both? Okay fine. "b".
L209[18:43:32]
<⚧ Emily>
pft--
L210[18:55:01] <Amanda> Well, that's
annoying
L211[18:56:58]
<Forecaster> Copying 2.7 TB over the
network is gonna take a while...
L212[18:57:42]
<Forecaster> 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]
<⚧ Emily>
sad reality
L215[19:25:29]
<Forecaster> almost at 1%!
L216[19:27:27] <Corded> >
<Forecaster> 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]
<Forecaster> 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]
<Forecaster> or maybe the program did the
math wrong
L222[19:39:31]
<DiamondCreeper_6> any 1.12.2 mods that
load chunks very fast?
L223[19:47:30]
<Forecaster> 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]
<Forecaster> well, I decided it was too
slow, so I moved the backup drive down to the server
L227[20:05:13]
<Forecaster> the speed before was around
8MB/s
L228[20:05:23]
<Forecaster> now it's about 16MB/s
L229[20:08:40]
<Forecaster> and predictably the eta is
now about 2 days
L230[20:13:54]
<Forecaster> Still over usb2
L231[20:58:34] <Amanda> %choose
laptopnaptime?
L232[20:58:34] <MichiBot> Amanda: 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]
<Forecaster> Ohno
L236[21:26:38]
<lucsoft>
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]
<lucsoft> *
welcoming :)
L239[21:39:21]
<Spider
EveryOS> %tonk
L240[21:39:21] <MichiBot> Crud! Spider
EveryOS! You beat Forecaster'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 Forecaster!
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
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]
<⚧ Emily>
oops...
L252[21:48:23] <Corded> > <⚧
Emily> I am writing my own opencomputers os. Somehow when I try
to…
L253[21:48:23]
<JasonS> 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]
<JasonS>
+to access the global `coroutine`
L255[21:48:43]
<⚧ Emily> I
have done a silly
L256[21:50:52] <Corded> >
<JasonS> Oh I see the problem. You did a silly lol. There’s
a global…
L257[21:50:52]
<⚧ Emily>
right. now it works.
L258[21:50:53]
<⚧ Emily>
However my coroutines are not running in parallel.
L259[21:50:53]
<⚧ Emily>
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]
<JasonS>
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]
<JasonS>
The best you can get is cooperative threads that give up control on
their own
L264[21:51:47]
<⚧ Emily>
fudge*
L265[21:51:50]
<⚧ Emily> *
fudge
L267[21:53:01]
<JasonS>
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]
<JasonS>
But AFAIK no one’s done that, and probably for good reason
L269[21:53:49]
<JasonS>
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]
<⚧ Emily>
My problem here is that most calls are blocking
L273[21:54:21]
<⚧ Emily>
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]
<⚧ Emily>
The asyncronous model would be ideal...
L276[21:55:00] <Corded> > <Izzy>
make component calls yield to the scheduler
L277[21:55:00]
<JasonS>
Yeah but still doesn’t fix `while true do end`
L278[21:55:16]
<JasonS> *
```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> >
<JasonS> Now I’m sure with some nonsense you could fake
preemptive m…
L285[21:55:54]
<JasonS>
This here was supposed to fix that, but like I said very nontrivial
to get working
L286[21:57:06] <Corded> > <Izzy>
make component calls yield to the scheduler
L287[21:57:07]
<JasonS>
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]
<JasonS>
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]
<JasonS> 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]
<JasonS> *
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]
<Ocawesome101> i don't use ASTs but i have
code that inserts yields yes
L297[22:07:39]
<Ocawesome101> 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)
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]
<Kristopher38> 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]
<Kristopher38> it's not a linear
relationship
L309[22:18:33]
<Kristopher38> 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]
<Kristopher38> 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]
<Kristopher38> 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]
<Kristopher38> * subtract different amount
based on the target, whether the source was dirty, and the size of
the source
L316[22:20:33]
<Kristopher38> 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]
<Kristopher38> 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]
<Kristopher38> 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> Amanda: 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)