<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:05:38]

<Renno>
almost kind of shocked how little eeprom stuff there is on
OPPM
L2[00:06:52]

<Renno>
Vexatos is the person I would need to speak to about getting my
repo on OPPM right?
L3[00:46:46]

<Kristopher38> I believe they've
stopped adding stuff to the "main" OPPM repo long time
ago since that slows down `oppm` quite a bit
L4[00:47:49]

<Kristopher38> on that note I'm
running OC 1.8.3 and can't seem to do anything that accesses
the network in `oppm`
L5[00:48:41] <Izzy> is your java
current?
L6[00:48:59]

<Kristopher38> `oppm register` says repo
doesn't exist, `oppm update oppm` says package doesn't
exist
L7[00:51:19] <Izzy> sounds like the java
cert issues
L8[00:54:47]

<Kristopher38> no I can download stuff
from github fine
L9[00:55:01] <Izzy> oh. no idea then, good
luck :D
L10[00:56:20]

<Kristopher38> lol
L11[00:56:24]

<Kristopher38> seems like an issue with
oppm
L12[00:56:28]

<Kristopher38> not the first time this has
happened
L13[01:01:33] <Amanda> github rate limit
maybe?
L14[01:03:33]

<Kristopher38> oh ffs
L15[01:04:14]

<Kristopher38> oppm appends
`?token=<timestamp>` to requests to
`raw.githubusercontent.com`
L16[01:05:05]

<Kristopher38> presumably this worked at
some point in the past and got around hitting github cache
L17[01:05:14]

<Kristopher38> but now github responds
with 404
L18[01:06:03]

<Kristopher38> doesn't help that OPPM
catches all errors and prints a generic error message that
doesn't tell you anything specific
L19[01:06:17] <Amanda> RIP
L20[01:10:13]

<Kristopher38> reading random
stackoverflow/github posts and it seems this has changed just a
week ago
L21[01:11:58]

<Michiyo>
@Vexatos ^ Github broke the ?token= thing
L22[01:12:27] <Izzy> think we're up to
1.8.6 aren't we
L23[01:12:30] <Izzy> might already be
fixed
L24[01:12:35] <Izzy> grab the latest from
GH directly
L25[01:13:24]

<Kristopher38> it's not, i've
checked
L28[01:38:41]

<Kristopher38> @Renno I'm looking at
yawl-e's code, what are "welds" and
"tweens"?
L29[01:48:35]

<Renno>
someone else reading me code? how flattering lol
L30[01:48:35]

<Renno>
welds are basically "joints" that you can make between
GUI objects to maintain a certain offset whether thats static or
dynamic with a callback function
L31[01:48:35]

<Renno>
tweens are essentially linear interpolation for size and position
to do transitions/animations
L32[01:49:06]

<Renno>
thought about adding a callback for custom path calculation like
bezier curves but never got that far
L34[01:52:59] <Corded> > <Spider
EveryOS> I love the giant letters in the ground
L35[01:52:59]

<Renno>
what even causes that
L36[01:59:03] <Corded> > <Renno>
what even causes that
L37[01:59:03]

<Spider
EveryOS> Oh, I was modding and this was a side effect lol
L38[01:59:50] <Amanda> oh bah, the santos
aren't happy about podman
L39[02:00:15] <Amanda> %remindme 10h poke
santo-* and osiris to see why podman is unhappy
L40[02:00:15] <MichiBot> I'll tell you
"poke santo-* and osiris to see why podman is unhappy" in
10h at 12/16/2024 12:00:15 PM
L41[02:00:38] *
Amanda flops down atop Elfi, yawns a big ol' toofy
yawn
L42[02:06:13] <Amanda> Night girls
L43[02:18:54] <Corded> > <Renno>
someone else reading me code? how flattering lol
L44[02:18:54] <Corded> welds are …
L45[02:18:54]

<Kristopher38> Neat! I was looking at yawl
and yawl-e today since I remembered we've talked about the
performance of GPU buffers once and you said that drawing
everything to one buffer is fast enough to not bother with having a
separate buffer per each widget, so I checked out the code and
tested it myself
L46[02:19:36]

<Kristopher38> It is, in fact, plenty
fast
L47[02:20:27]

<Kristopher38> With some more work on the
widgets, GUI in OC could become a solved problem
L48[02:29:59] <Corded> >
<Kristopher38> With some more work on the widgets, GUI in OC
could become …
L49[02:29:59]

<Renno> I
am open to pull requests, if anyone wants to optimize or clean it
up go for it, a lot of the more recent things are kind of messy
because they are experimental and I was developing them for
specific projects
L50[02:30:39] <Izzy> one of these days
I'll make that PsychOS GUI layer I've been threatening
for years
L51[02:31:05] <Izzy> (it will just be a
windowing system for my existing buffered virtual terminals)
L52[02:32:04] <Corded> > <Renno>
I am open to pull requests, if anyone wants to optimize or …
L53[02:32:04]

<Renno> Or
add better documentation. I think there's a pull request
pending for adding documentation I keep forgetting to review
L54[02:32:28]

<Renno>
Realistically I should just have an ai build the documentation but
eh
L55[02:57:28]

<Renno>
I'm sure I'm reinventing the wheel here but I
haven't found a OC repo for "baking" eeproms yet
wherein you have eeprom code that gets LZSS compressed and
concatenated to the front of a minified LZSS decompressor
L56[02:59:36] <Corded> >
<Kristopher38> I believe they've stopped adding stuff
to the "main" OPPM r…
L57[02:59:37]

<Renno>
Looked through thr list earlier and saw a bunch of basically
useless or empty repositories on there so if the argument is for
performance I'd like to replace one of said repositories with
mine
L58[03:33:56] ⇨
Joins: EisforExist (~kvirc@121-45-72-112.tpgi.com.au)
L59[04:02:13]

<Forecaster> %tonkout
L60[04:02:13] <MichiBot> Eureka!
Forecaster! You beat Flameingsoul's previous record of 5
hours, 35 minutes and 59 seconds (By 8 minutes and 10 seconds)! I
hope you're happy!
L61[04:02:14] <MichiBot> Forecaster has
stolen the tonkout! Tonk has been reset! They gained 0.005 tonk
points! plus 0.004 bonus points for consecutive hours! (Reduced to
50% because stealing) Current score: 1.69349462. Position #5 Need
0.08713945 more points to pass RedstoneParkour!
L62[04:34:46]

<Renno> man
debugging drones is awful
L63[04:35:25]

<Renno>
tried to minify the lzss decompressor and concat everything and
make it load(decompressed)() and it just gives a "bios:17
attempt to call a nil value"
L64[04:37:28] <Izzy> I'd say
"talk to lunar_sam for their stuff" but they seem to have
disappeared in the last few months
L65[04:41:25] <Izzy> it's not drones,
specifically, but I like to test my EEPROM software by copying it
to /tmp/init.lua on a normal computer, setting the boot address to
the tmpfs, and rebooting
L66[04:42:09]

<Renno>
whats the benefit of that?
L67[04:42:41] <Izzy> they have a screen and
you don't have to write an EEPROM
L68[04:43:06] <Izzy> plus, you can include
debugging stuff because you have 64K to work with rather than
4K
L69[04:44:12]

<Renno> Idk
how to set the boot address
L70[04:44:24] <Izzy>
computer.setBootAddress, IIRC
L71[04:44:39] <Izzy> you can also use a
BIOS that allows you to select a boot device at ... boot
L72[04:46:53]

<Renno> I
got the same error 💀
L73[04:47:04]

<Renno> the
same non descriptive error
L74[05:03:00] <Corded> > <Renno>
tried to minify the lzss decompressor and concat everything…
L75[05:03:01]

<Lily> You
could always just write or use a firmware that loads from an
internet card
L76[05:03:07]

<Lily> Or
even just a regular wireless card
L77[05:03:15] <Corded> > <Renno>
I'm sure I'm reinventing the wheel here but I
haven't found…
L78[05:03:15]

<Lily>
Also, `crunch`.
L80[05:03:30]

<Renno>
crunch seems to be about the ssame as lzss compression
L81[05:03:36]

<Renno> I
think
L82[05:03:51]

<Lily>
there's an `--lz77` option
L83[05:04:30]

<Lily> I
should write a better version of my firmware specifically made for
drones and uCs
L84[05:04:49]

<Renno>
hmm
L85[05:04:51]

<Renno>
perhaps
L86[05:07:41]

<Lily>
wonder if I could write it in <256 bytes
L87[05:07:43]

<Lily>
...probably not
L88[05:09:06]

<Lily> I
forget, can you call `modem.send` over a wireless card?
L89[05:09:13]

<Lily> Or
does it only work for wired connections?
L91[05:09:27]

<Lily> ah
nice
L92[05:13:29]

<Renno> you
could definitely store the decompressor in the 256 byte part
L93[05:13:41]

<Lily>
could you?
L94[05:13:50]

<Renno> ehh
actually
L95[05:13:55]

<Renno>
would take some work to barely fit that
L96[05:14:10] <Izzy> store? possibly. load?
unlikely.
L97[05:14:20]

<Lily> you
*could* technically abuse part of the regular EEPROM as data
storage
L98[05:14:39]

<Lily>
i've done it in the past to embed DFPWM
L99[05:14:48] <Izzy> what
L100[05:14:51] <Izzy> that's
great
L101[05:15:11]

<Lily>
well, not in the EEPROM itself, but in a single file -- but you
absolutely could do it for an EEPROM
L102[05:15:17]

<Lily> hold
on, let me get my example
L103[05:15:37] <Izzy> lunar_sam appears to
have disappeared in mid september
L104[05:15:40] <Izzy> hope they're
okay
L105[05:15:46] <Izzy> x-x
L106[05:16:05]

<Renno> so
it seems to be decompressing it properly
L107[05:16:20]

<Renno> but
theres a syntax error or something that my human eyes can't
see
L108[05:18:18] <Corded> >
<LilyflowerFDL> hold on, let me get my example
L109[05:18:18]

<Lily>
it's just `dd` and a little bit of `echo`
L110[05:19:35]

<Lily> wow
this is cursed lmfao
L111[05:19:44]

<Lily> I
hooked into `printError` and then immediately forced the CC VM to
OOM
L112[05:22:55]

<Renno> hmm
well even the big brain AI doesn't know why its erroring
L113[05:23:05]

<Renno> so
I'll take that as my sign to sleep
L114[05:23:11] <Izzy> big brain, all
miswired :3
L116[05:24:32]

<Lily> *
Haxe
L117[05:24:40]

<Lily> haxe
is probably like
L118[05:24:44]

<Lily> one
of the top 3 languages for me
L119[05:25:02]

<Lily>
because you can do shit like *that*, and also EitherType, and also
it has actual real optional parameters
L120[06:18:30]

<Lily> aaa
why is OCVM such a pain to build
L121[06:18:46]

<Lily> and
before you say "just use ocelot": no, I am not changing
my resolution every time I launch it.
L122[06:19:17] <Izzy> changing your
resolution?
L123[06:24:46]

<Lily>
yeah
L124[06:24:48]

<Lily>
LWJGL 2 doesn't, uh
L125[06:24:53]

<Lily>
support non-standard xrandr modelines
L126[06:25:09]

<Lily>
which is fine, because for minecraft itself there's
workarounds
L127[06:25:25]

<Lily>
LWJGL3ify for 1.7.10 and LWJGL-on-LWJGL for 1.12.2
L128[06:25:47] <Izzy> non-standard xrandr
modelines?
L129[06:25:53]

<Lily>
yeah
L130[06:25:57]

<Lily>
anything with `xrandr --newmode`
L131[06:26:01] <Izzy> oic
L132[06:26:08]

<Lily>
LWJGL 2 flat out dies
L133[06:26:25]

<Lily>
unfortunately for me, 1440p is "non-standard" for my
monitor
L134[06:26:26] <Izzy> never noticed that
issue
L135[06:26:49]

<Lily> you
probably won't if you don't regularly use a custom
modeline
L136[06:26:58] <Izzy> had a few computers
I hooked up to TVs that only reported 1024x768 that I added new
modes for
L137[06:27:04] <Izzy> but I guess I never
ran minecraft on them
L138[06:29:31]

<Lily>
I'm tempted to PR OCVM to build with Lua 5.4 and drop SVN from
the makefile
L139[06:29:38]

<Lily>
because github dropped SVN early this year
L141[06:36:53]

<Lily> is
payonel even active anymore? I should probably just fork.
L142[06:37:17]

<Michiyo>
Yes ™️
L143[06:37:29]

<Lily> Yes
he's active or yes I should fork
L144[06:37:32]

<Michiyo>
payo is "around"
L145[06:37:42]

<Lily>
...well, technically I need to fork to PR *anyway*
L146[06:41:07]

<Lily> oh,
ocawesome has a slightly-more-updated fork... and an open PR from
'21
L147[06:41:17]

<Lily>
yeah, a PR to payonel's ocvm probably isn't getting
merged
L148[06:42:51]

<Forecaster> %sip
L149[06:42:52] <MichiBot> You drink a
powdery cerulium potion (New!). As Forecaster drinks the potion
they seem to have become magnetic and A tiny clay figure flies
towards them! They fail to evade it with a 11 vs DC 14 and takes
1d6 => 1 damage.
L150[06:42:58]

<Forecaster> Ow
L151[06:56:27]

<Lily> ok
cool it actually properly downloads the loot disks now
L153[07:00:26]

<Lily>
I'd ping him but I don't wanna be rude lol
L154[07:09:42]

<Vaur>
%sip
L155[07:09:42] <MichiBot> You drink a
sweet transparent potion (New!). After drinking the potion Vaur
realizes the bottle has their face on it.
L157[07:16:23]

<Ocawesome101> heyyy a pr
L158[07:16:27] <Corded> >
<LilyflowerFDL> I'd ping him but I don't wanna be
rude lol
L159[07:16:27]

<Ocawesome101> always ping
L160[07:16:40]

<Lily>
okay
L161[07:16:44]

<Ocawesome101> well, i should phrase that
as, i don't mind pings lol
L162[07:16:50] <Izzy> hi Ocawesome
:3
L163[07:16:57]

<Ocawesome101> my fork has fixed palette
colors :>
L164[07:16:58]

<Ocawesome101> hi izzy
L165[07:17:10] <Corded> >
<Ocawesome101> my fork has fixed palette colors :>
L166[07:17:11]

<Lily> your
fork also now actually builds on modern compilers
L167[07:17:55]

<Ocawesome101> fantastic
L168[07:18:03]

<Ocawesome101> last time i built it (for
this computer) i might've had to do that idk
L169[07:18:15]

<Ocawesome101> last i remember i was
puzzling how to make the build system work right, so thank you for
that
L170[07:18:57] <Corded> >
<Ocawesome101> last time i built it (for this computer) i
might've had to …
L171[07:18:57]

<Ocawesome101> yep, i did
L172[07:19:08] <Corded> >
<Ocawesome101> last i remember i was puzzling how to make
the build system…
L173[07:19:08]

<Lily>
np
L174[07:19:28]

<Lily> it
also prefers 5.4 now
L175[07:19:33]

<Ocawesome101> excellent
L176[07:19:53]

<Ocawesome101> merged
L177[07:20:28]

<Ocawesome101> damn it's been 2 years
since i touched ocvm
L178[07:20:52]

<Ocawesome101> thought about trying gpu
buffer support but i don't think i know c++ well enough to do
that
L179[07:21:32]
⇨ Joins: Vexatos
(~Vexatos@p200300eaef2e1700d6d86506875af174.dip0.t-ipconnect.de)
L180[07:21:33]
zsh sets mode: +v on Vexatos
L181[07:21:56] <Corded> >
<Ocawesome101> merged
L182[07:21:56]

<Lily>
ty
L183[07:22:09]

<Ocawesome101> no, thank _you_ for
actually fixing those things lol
L184[07:22:45]

<Lily>
:3
L185[07:23:15]

<Flameingsoul> %tonk
L186[07:23:15] <MichiBot> Consarn it!
Flameingsoul! You beat Forecaster's previous record of <0
(By 3 hours, 21 minutes and 2 seconds)! I hope you're
happy!
L187[07:23:16] <MichiBot>
Flameingsoul's new record is 3 hours, 21 minutes and 2
seconds! Flameingsoul also gained 0.00335 tonk points for stealing
the tonk. Position #2. Need 0.16424095 more points to pass
Vaur!
L189[09:34:15] <Corded> >
<LilyflowerFDL> because you can do shit like *that*, and
also EitherType, a…
L190[09:34:15]

<Kristopher38> Hello fellow haxe
user
L191[09:36:16] <Corded> >
<Renno> Realistically I should just have an ai build the
documentat…
L192[09:36:16]

<Kristopher38> AI? Ideally you should have
a CI that builds docs from annotations that you have in the
code
L194[09:40:56]

<Kristopher38> Docs would bring the most
improvement in terms of QoL right now
L195[09:41:15] <Corded> >
<Renno> I'm sure I'm reinventing the wheel here
but I haven't found…
L196[09:41:15]

<RedstoneParkour> see lunar_sam's
`ziptie`
L197[09:44:09]

<RedstoneParkour> especially
`bios.lua`
L198[09:52:45] <Corded> >
<Kristopher38> Hello fellow haxe user
L199[09:52:45]

<Lily>
:3
L200[09:54:35] <Izzy> hax
L201[09:56:23]

<Lily>
it's kind of like lua, except with proper OOP and it compiles
to...
L203[10:05:02]

<Lily>
Also, `EitherType<T1, T2>` my beloved
L205[10:06:18]

<Kristopher38> it's kind of lua is an
understatement lol
L206[10:06:58]

<Kristopher38> the syntax is java-ish but
it has ADTs and deep pattern matching so it has already won me
over
L207[10:07:11]

<Lily>
ADwhatnows
L208[10:07:21] <Corded> >
<Kristopher38> it's kind of lua is an understatement
lol
L209[10:07:22]

<Lily> also
tbf, yeah, that's fair
L210[10:07:34]

<Lily> Oh,
abstract data types
L211[10:07:57] <Corded> >
<LilyflowerFDL> God I love Haxe
L212[10:07:57]

<Lily>
These things?
L213[10:08:45]

<Lily>
(it's been a while lol)
L214[10:09:07]

<Kristopher38> algebraic data types
L215[10:09:14]

<Lily> oh,
the *other* ADT
L218[10:10:14]

<Kristopher38> what rust and haxe call
enums to not scare away programmers that have never seen a
functional language
L219[10:10:20]

<Lily> The
type system is a type suggestion if you do it cursed enough
:^)
L220[10:10:32]

<Lily>
...Functional as in functional programming?
L221[10:10:49]

<Kristopher38> yes
L222[10:10:59]

<Lily>
Are... Are enums a FP thing?
L223[10:11:09]

<Kristopher38> originally yes
L224[10:11:34] <Corded> >
<LilyflowerFDL> Part of why I like Haxe, though, is because
you can do curs…
L225[10:11:34]

<Lily>
Legit like a solid 20% of why I love it is because of actual real
optional parameters
L226[10:12:05]

<Lily> You
don't have to use funky wrapper classes that aren't
*really* optional
L227[10:12:09]

<Lily> You
can just not specify it and it just works
L228[10:12:16]

<RedstoneParkour> nix has those too!
L229[10:12:21]

<Lily>
Nix?
L230[10:12:23]

<Lily>
The... The OS?
L231[10:12:31]

<RedstoneParkour> the language
L232[10:12:38]

<Lily>
Huh.
L233[10:12:46]

<RedstoneParkour> also you can probaly
hack it into lua
L234[10:12:59]

<Lily>
What, nix?
L235[10:13:10]

<Lily> what
do you mean "hack it into lua"
L236[10:13:15]

<RedstoneParkour> uhh
L237[10:13:20]

<Lily>
optional parameters?
L238[10:13:24]

<RedstoneParkour> yeah
L239[10:13:26]

<Lily> lua
*kind of* has those already
L240[10:13:36]

<Lily> at
least imo
L241[10:13:38]

<Lily> but
not like how Haxe does it
L242[11:15:32]

<Forecaster> %tonk
L243[11:15:32] <MichiBot> Woooo!
Forecaster! You beat Flameingsoul's previous record of 3
hours, 21 minutes and 2 seconds (By 31 minutes and 14 seconds)! I
hope you're happy!
L244[11:15:33] <MichiBot>
Forecaster's new record is 3 hours, 52 minutes and 17 seconds!
Forecaster also gained 0.00208 (0.00052 x 4) tonk points for
stealing the tonk. Position #5. Need 0.08505945 more points to pass
RedstoneParkour!
L245[12:00:16] <MichiBot> Amanda REMINDER:
poke santo-* and osiris to see why podman is unhappy
L246[12:56:46] *
Amanda meows and looks around
L247[12:58:47]

<Forecaster> The nerve!
L248[13:36:38]

<S3>
Amanda: so I'm back to working on my mud again. I've
decided to use Tarot cards for stat roll in character creation once
I get the rest of the base stuff working that hasn't been
finished yet. I also gutted a lot of code that I never
documented...
L249[14:41:02]

<Flameingsoul> %tonk
L250[14:41:02] <MichiBot> I'm sorry
Flameingsoul, you were not able to beat Forecaster's record of
3 hours, 52 minutes and 17 seconds this time. 3 hours, 25 minutes
and 29 seconds were wasted! Missed by 26 minutes and 47
seconds!
L251[14:41:07]

<Flameingsoul> damn
L252[14:45:11] <Corded> >
<RedstoneParkour> especially `bios.lua`
L253[14:45:11]

<Renno> I
don't understand why bios.lua is different than the one I
tried to make
L254[14:45:47]

<Renno>
specifically the line that runs things ``assert(load(z($[[luacomp
-mluamin src/init.lua | lua utils/makezbios.lua]]),
"=(bios)"))(z)``
L256[14:55:36]

<Renno> ig
crunch isn't available on oppm?
L257[14:56:25]

<Renno> or
oppm is just straight not detecting any programs
L258[14:56:31]

<Renno>
epic
L259[15:03:51]

<Renno>
manually installed it and just errors bruh
L260[15:04:18] <Corded> >
<Renno> I don't understand why bios.lua is different
than the one I…
L261[15:04:18]

<RedstoneParkour> did you escape the
inserted string?
L262[15:04:35]

<Renno>
escape?
L263[15:04:46]

<Renno> as
in put [[return "this is a string"]]?
L264[15:05:28]

<Renno>
well it seems crunch is broken too
L265[15:05:34]

<Renno>
😮💨
L266[15:08:15]

<RedstoneParkour> nooooooo
L268[15:09:32]

<RedstoneParkour> the `$[[...]]` is a
preprocessor directive to run `...` as a shell command and replace
it with the output
L269[15:10:33]

<Renno> I
have never intentionally interacted with the preprocessor before so
idk what that does
L270[15:11:14]

<Renno>
that string looks like a terminal command and idk how you can run a
terminal command on an eeprom
L271[15:11:58]

<RedstoneParkour> it gets run at
preproc-time
L272[15:13:46]

<Renno>
still have no idea why that works or how to use it or why it has to
be escaped or what escaped means
L273[15:15:11]

<Forecaster> It's what I keep doing
from Amanda's enclosure
L274[15:15:15]

<Forecaster> I mean what
L275[15:16:04]

<RedstoneParkour> Renno: think of it like
you have to compile ziptie first before using it as an eeprom
L276[15:18:56]

<Renno> I
barely even have a concept of what ziptie is or how it actually
works, idk what its readme even means
L277[15:21:21] <Corded> >
<RedstoneParkour> Renno: think of it like you have to
compile ziptie first be…
L279[15:21:46] <Amanda> %remindme 20m
bring up the tools we'll need
L280[15:21:47] <MichiBot> I'll tell
you "bring up the tools we'll need" in 20m at
12/16/2024 03:41:45 PM
L281[15:21:47]

<Renno> *
end;load(table.concat(g))()
L282[15:21:47] <Corded> ```
L283[15:21:48] <Corded> I've tested
the decompressor and it works fine, but when I load() the
decompressed string it has an error that I can't figure out
(something is nil?)
L284[15:22:27] <Amanda> %splash
@Forecaster with mutable orange potion
L285[15:22:27] <MichiBot> You fling a
mutable orange potion (New!) that splashes onto @Forecaster.
@Forecaster turns into a rainbow frog girl until they have a gloopy
potion.
L286[15:22:44] <Amanda> Michibot's
back onto amphibians I seee
L287[15:37:02] <Corded> >
<Renno> I don't know if its even worth spending the
time to try to …
L288[15:37:02]

<RedstoneParkour> where is `input`
defined?
L289[15:39:03] <Corded> >
<Renno> I'm sure I'm reinventing the wheel here
but I haven't found…
L290[15:39:03]

<Renno>
^
L291[15:39:44]

<RedstoneParkour> ah
L293[15:40:51]

<Renno>
I've spaced out the decompressor to multiple lines and its
saying attempt to call a nil value on the line with ``load(``
L294[15:41:46] <MichiBot> Amanda REMINDER:
bring up the tools we'll need
L295[15:44:45] <Corded> >
<Renno> I've spaced out the decompressor to multiple
lines and its …
L296[15:44:45]

<RedstoneParkour> wrap the `load` call in
an `assert`
L297[15:47:55]

<Forecaster> Amanda D:<
L298[15:48:02] <Corded> >
<RedstoneParkour> wrap the `load` call in an `assert`
L299[15:48:02]

<Renno>
``assert(load(table.concat(g)))()`` like this?
L300[15:48:10]

<RedstoneParkour> yeah
L301[15:49:09]

<RedstoneParkour> it'll likely spit
out some syntax error
L303[15:49:58]
⇨ Joins: Hawk777
(~Hawk777@2001:569:7cae:7e00:1b56:db7d:d6bf:9a57)
L304[15:50:21]

<RedstoneParkour> yeah so uhh
L305[15:50:39]

<RedstoneParkour> either your compressor
or your decompressor or both is/are broken
L306[15:50:49]

<Renno> I
have tested them both
L307[15:50:57]

<Renno>
successfully compressed and decompressed
L308[15:50:59]

<Renno> on
a PC
L309[15:51:10]

<RedstoneParkour> no difference?
L310[15:51:13]

<Renno>
0
L311[15:51:28]

<RedstoneParkour> no invisible
characters?
L312[15:51:37]

<Ocawesome101> iirc `[[strings done like
this]]` convert `\r` to `\n`
L313[15:51:42]

<Ocawesome101> so that'll break
things
L314[15:51:46]

<RedstoneParkour> what
L315[15:51:47]

<Ocawesome101> or, it could
L316[15:52:26]

<Renno>
huh?
L317[15:53:06]

<Ocawesome101> wait no that might be
`"this kind of string"`
L318[15:53:24]

<Ocawesome101> more likely you have an
occurrence of `]]` somewhere
L319[15:53:26]

<RedstoneParkour> long format strings do
convert any type of line ending into `\n`
L320[15:53:49]

<Renno> the
string uses [=[
L321[15:53:50]

<RedstoneParkour> but that shouldn't
insert a `<\191>`
L322[15:53:51]

<Renno>
so..
L323[15:54:29]

<Ocawesome101> it could make it not
decompress right though? like if the decompressor gets offset by a
byte or something like that
L324[15:54:59]

<RedstoneParkour> that's
possible
L326[15:56:04]

<Ocawesome101> ^ the way i solved it for
PrismBIOS was using a long comment instead of a long string
L327[15:56:09]

<RedstoneParkour> oh hey that's the
same mini-lzss decompressor lunar uses
L328[15:56:22]

<Ocawesome101> i think that's a
modified version of SAM's `zlua` util that is ... somewhere in
one of their repos
L329[15:57:01]

<RedstoneParkour> its in `ziptie`
L330[15:57:01]

<Renno> so
what does this mean
L331[15:57:04]

<Renno>
what should I do
L332[16:02:54]

<Renno> I
think something in the way the code is being compressed is messing
up and breaking the decompressor
L333[16:03:20]

<Renno>
running the decompressor on the compressed eeprom code on the pc
and printing it out and its definitely not the same output
L334[16:04:42]

<RedstoneParkour> and running the
decompressor directly on the output of the compressor?
L335[16:05:43]

<Renno>
that's what I am saying
L336[16:06:30]

<Renno> on
other strings it works perfect
L337[16:07:17]

<RedstoneParkour> does the input file use
`\n` for newline or `\r\n`?
L338[16:09:14]

<Renno> it
something in how its being compressed from what I can tell
L339[16:09:37]

<Renno> or
how its being put into the "string" after
compression
L340[16:10:03]

<Renno> I
just compressed it and decompressed it again and it came out exact
(lzss.decompress(codec)==code) returned true
L341[16:18:17] <Corded> >
<Ocawesome101> ```lua
L342[16:18:18] <Corded> #!/usr/bin/env
lua
L343[16:18:18] <Corded> local lzss =
require("tools.compr…
L344[16:18:18]

<Renno> how
are you supposed to use this
L345[16:18:23]

<Renno> in
the command line
L346[16:19:31]

<Ocawesome101> `tools/zlua.lua
ChunkNameHere < /path/to/input/file.lua >
/path/to/bios.lua`
L347[16:20:22]

<Renno>
chunkname?
L348[16:20:43]

<Ocawesome101> given to `load`
L349[16:21:09]

<Ocawesome101> `load("thing",
"=name")` uses `name` instead of `[string "thing
..."]` in errors
L350[16:21:29]

<Renno> so
chunkname is just any random name?
L351[16:24:25] <Corded> >
<Ocawesome101> ```lua
L352[16:24:25] <Corded> #!/usr/bin/env
lua
L353[16:24:26] <Corded> local lzss =
require("tools.compr…
L354[16:24:26]

<Renno>
attempt to index nil value (global 'arg')
L355[16:24:35]

<Ocawesome101> what lua version are you
running it with?
L356[16:24:47]

<Renno>
whatever version the latest OC mod has
L357[16:25:18]

<Ocawesome101> i guess that must not set
up `arg` in the shell. add `local arg = {...}` to the top and
it'll work
L358[16:30:38] <Amanda> %choose waves or
halucinate
L359[16:30:38] <MichiBot> Amanda: Why not
both? Okay fine. "waves".
L360[16:33:24] <Corded> >
<Ocawesome101> ```lua
L361[16:33:24] <Corded> #!/usr/bin/env
lua
L362[16:33:24] <Corded> local lzss =
require("tools.compr…
L363[16:33:24]

<Renno>
seems to work, thanks
L364[16:33:34]

<Ocawesome101> welcome
L365[16:39:02]

<Renno> so
if I wanted to do a netflash with the bios made from this tool, how
would I send the actual string?
L366[16:39:03]

<Renno> I
tried to do this ``'return
bios.set[=['..codeSegment..']=]'`` where codeSegment
is the bios created from the tool, but it makes an error when I
reboot
L367[16:39:51] <Corded> >
<Ocawesome101> `load("thing", "=name")`
uses `name` instead of `[string "t…
L368[16:39:51]

<Renno>
guessing it has something to do with this?
L369[16:40:53]

<RedstoneParkour> no the long string
likely converts line endings which fucks up the bytes
L370[16:41:07]

<RedstoneParkour> i
L371[16:41:10]

<Ocawesome101> shouldn't; if you have
the converted file separately, then open it with mode `rb`, i
_believe_ it won't convert line endings.
L372[16:41:37]

<RedstoneParkour> i'd suggest to send
code that recieves the code seperately
L373[16:42:12]

<Renno> so
don't?
L374[16:44:22]

<Renno>
theres gotta be a way to do this without having it get messed
up
L375[16:44:41]

<RedstoneParkour> send the to-be-flashed
code seperately from the flasher
L376[16:45:01]

<Renno>
will try
L377[16:45:12]

<Ocawesome101> or- don't have a
literal with the compressed code in it- read it from a file
L378[16:45:51]

<Ocawesome101> (if that's not what
you're already doing)
L379[16:46:08]

<Ocawesome101> e.g. don't have `local
codeSegment = [=[compressed code here]=]`
L380[16:46:58]

<Renno> I
am already reading from a file
L381[16:47:04]

<Renno> and
trying to send it as a string
L382[16:47:17]

<Ocawesome101> that should work then. what
mode are you passing to `io.open`?
L383[16:47:27]

<Renno> the
file?
L384[16:47:35]

<Renno> of
the compressed eeprom?
L385[16:47:38]

<Ocawesome101> mode is second
argument
L386[16:47:46]

<Ocawesome101>
`io.open("/path/to/file", "mode")`
L387[16:47:50]

<Renno> it
doesn't work with rb or no mode
L388[16:47:56]

<Ocawesome101> i think mode `r` (the
default) will convert line endings and `rb` will not?
L389[16:48:05]

<Ocawesome101> hm
L390[16:48:19]

<Renno> in
rb "attempt to call a nil value" returned from the
drone
L391[16:48:42]

<RedstoneParkour> so a syntax error
L392[16:48:46]

<Ocawesome101> ^ `load` the string until
you get a more comprehensible error
L393[16:48:54]

<Renno>
that is from loading the string..
L394[16:49:02]

<Ocawesome101> load it on the computer
where you have a screen
L395[16:49:10]

<Ocawesome101> and tracebacks
L396[16:51:07]

<Renno> its
basically the same non descriptive error on pc as it is returned
from the dron
L397[16:51:08]

<Renno> *
drone
L398[16:51:18]

<Renno>
string expected, got nil
L399[16:51:33]

<Renno>
mind you the drone is alive and working
L400[16:51:35]

<RedstoneParkour> 'string expected,
got nil'?
L401[16:51:41]

<Renno>
yes, that is the error
L402[16:51:46]

<Renno>
doesn't say a line or anything
L403[16:52:04]

<Renno>
just bad argument #1 (string expected, got nil)
L404[16:52:34]

<Ocawesome101> sounds like either
`eeprom.set` or `load` isn't getting an argument
L405[16:53:15]

<RedstoneParkour> i highly doubt that
`load` isn't getting an argument
L406[16:53:26]

<Ocawesome101> yeah `eeprom.set` seems
more likely
L407[16:53:30]

<Ocawesome101> which is odd
L408[17:06:14]

<Renno>
trying to send it as a second argument to get passed into a pcall
but it seems it isn't getting passed into the function
returned by load 🤔
L409[17:08:38]

<Ocawesome101> are you using pcall
right?
L410[17:08:54]

<Ocawesome101> common mistake is
`pcall(func())` instead of `pcall(func)`
L411[17:09:30]

<Renno>
``local returned = {pcall(func, args[8], args[9],
args[10])}``
L412[17:09:55]

<RedstoneParkour> that should be
fine
L413[17:10:00]

<Renno> I
did ``status(tostring(args[8]))`` just to see if it had anything
and it shows the start of the code block
L414[17:10:09]

<Renno> so
the code block is there but its not making it into the pcall?
L415[17:11:45]

<Renno>
``local function update(newcode) return newcode and #newcode or
"how?" end return update()``
L416[17:11:45]

<Renno> the
code that the new bios should get passed into
L417[17:11:54]

<Renno>
returns ``how?``
L418[17:12:15]

<Ocawesome101> do you pass anything to
`update()`
L419[17:13:33]

<Renno> ah
yes the ...
L420[17:14:50]

<Renno>
seems to be working, epic
L421[17:26:11] <Corded> >
<Renno> bruh
L422[17:26:11]

<Kristopher38> I debugged this yesterday,
see some of my messages
L423[17:30:11] <Corded> >
<Kristopher38> oppm appends `?token=<timestamp>` to
requests to `raw.githu…
L424[17:30:11]

<Kristopher38> Here
L425[17:30:35]

<Kristopher38> If you grep for
"token" and remove the code that adds this in oppm's
code it should work
L426[17:30:52]

<Kristopher38> * to http requests in
oppm's code it should work
L427[17:37:24]

<Forecaster> I think it's %tonkout
time
L428[17:37:25] <MichiBot> I'm sorry
Forecaster, you were not able to beat Forecaster's record of
3 hours, 52 minutes and 17 seconds this time. 2 hours, 56 minutes
and 22 seconds were wasted! Missed by 55 minutes and 54
seconds!
L429[17:37:29]

<Forecaster> or maybe not
L430[17:37:32]

<Forecaster> %tonkattempts
L431[17:37:32] <MichiBot> You have 1
attempt left.
L432[17:37:35]

<Forecaster> phew
L433[17:37:59]

<Forecaster> I guess I misremembered and
it was actually 19 and not 18...
L434[17:38:21]

<Forecaster> no that can't be it, my
memory is flawless
L435[17:41:09]

<Flameingsoul> now i gotta wait until
4pm
L436[17:44:16] <Corded> >
<Kristopher38> If you grep for "token" and remove
the code that adds this …
L437[17:44:16]

<Michiyo>
Can just swap ?token for ?somerandombullshithere and it should
still work in the single, one thing I tested test. That'll
also leave in the cache defeat that was original going for.
L438[17:57:18]

<Kristopher38> Have you tested that it
does in fact bypass the cache?
L439[18:09:40]

<Ocawesome101> i think i've done
something like that before and it does in fact do so .... or it did
then anyway
L440[18:48:32] <Corded> >
<Kristopher38> Have you tested that it does in fact bypass
the cache?
L441[18:48:32]

<Michiyo>
In my I tested this exactly once test, it looked like it did.
*shrug*
L442[19:15:24]

<lunar_sam>
Izzy: i can't ever seem to get ahold of _you_ anymore
lol
L443[19:16:09]

<lunar_sam>
life's been rough but i've wanted to ramble about my
batshit ideas lol
L444[19:24:25]

<lunar_sam>
you know, i just realized i could shave 2 extra bytes off of
ziptie
L445[19:25:21]

<Renno> my
brain is having trouble braining
L446[19:26:01] <Hawk777> Zipties are made
of bytes now?
L447[19:30:28]

<lunar_sam>
everything can be made of bytes if you have the right way to store
and load it :p
L448[19:31:42]

<Forecaster> Gasp, we *do* live in a
simulation!
L449[19:36:37] <Elfi> most everything can
be bitten too. once.
L450[19:41:05] <Izzy> lunar_sam: still on
IRC and XMPP
L451[19:41:48]

<Forecaster> some things you can bite
multiple times
L452[19:41:51]

<Forecaster> I've heard...
L453[19:44:32]

<Spider
EveryOS> %tonkout
L454[19:44:33] <MichiBot> I'm sorry
Spider EveryOS, you were not able to beat Forecaster's
record of 3 hours, 52 minutes and 17 seconds this time. 2 hours, 7
minutes and 7 seconds were wasted! Missed by 1 hour, 45 minutes and
9 seconds!
L455[19:53:25]

<Vaur>
bloodbath today lol
L456[19:54:19]

<Flameingsoul> %greenshell Vaur
L457[19:54:19] <MichiBot> Flameingsoul:
You are out of Green Shells
L458[19:54:23]

<Flameingsoul> %shellcount
L459[19:54:24] <MichiBot> Flameingsoul:
You have 0 Blue Shells, 0 Red Shells, 0 Green Shells, and 2
Bricks
L460[19:54:26]

<Flameingsoul> nooooooooo
L461[19:54:28]

<Flameingsoul> my ammo
L462[19:59:09]

<Forecaster> who could have predicted
this
L463[19:59:33]

<Flameingsoul> i still need .17 points to
catch up to vaur
L464[20:07:26]

<Vaur>
I'm sure someone will find a shell
L465[20:07:42]

<Flameingsoul> %chug
L466[20:07:42] <MichiBot> You drink a
shiny redstone potion (New!). Flameingsoul's pockets suddenly
contain 1d10 => 5 Octiron colored marbles.
L467[20:07:48]

<Flameingsoul> one day ill get a shell,
one day
L468[20:07:56]

<Vaur> but
then ... I'll have my shell of my own ! 😄
L469[20:08:13]

<Flameingsoul> oh well i am happy at 2nd
place after starting at the bottom at the beggining of the
month
L470[20:09:18]

<Forecaster> %sip
L471[20:09:18] <MichiBot> You drink a
rising diamond potion (New!). Forecaster zones out for 2
minutes.
L472[20:10:37]

<Vaur>
%sip
L473[20:10:37] <MichiBot> You drink a
shining void potion (New!). Vaur's clothes turn the color of
coralcreep for 50 minutes.
L474[20:31:55]

<lunar_sam>
Izzy: it says you're offline lol
L475[20:32:16]

<Vaur>
%sip
L476[20:32:16] <MichiBot> You drink a
searing violet potion (New!). Tonk moved forward 1 hour. (Rem.
uses: 1)
L477[20:32:34] <Izzy> my messages
aren't getting acknowledged as sent properly
L478[20:32:39] <Izzy> will investigate
later, big day today
L479[20:34:07]

<lunar_sam>
hm, it might be my end lol
L480[20:34:24]

<lunar_sam>
the server i'm on is probably having Issues
L481[20:36:57]

<lunar_sam>
but yeah, i haven't done much programming for a while
lol
L482[20:55:12] <Corded> > <Vaur>
bloodbath today lol
L483[20:55:12]

<Spider
EveryOS> Yea lol, it's playing hard to get
L484[20:55:13]

<Spider
EveryOS> I missed an attempt in search results
L485[20:55:27]

<Spider
EveryOS> %sip
L486[20:55:28] <MichiBot> You drink a
woolly salmon potion (New!). Spider EveryOS's pinky goes on
vacation until their next sip of water.
L487[20:55:56] <Corded> >
<MichiBot> You drink a searing violet potion (New!). Tonk
moved forwar…
L488[20:55:56]

<Spider
EveryOS> This will only worsen the problem I think
L489[20:57:49]

<Forecaster> heck, why not both %sip
woolly salmon
L490[20:57:49] <MichiBot> You drink a
woolly salmon potion. Forecaster's pinky goes on vacation
until an elephant forgets.
L491[20:57:55]

<Vaur> %sip
searing violet potion
L492[20:57:55] <MichiBot> You drink a
searing violet potion. Tonk moved forward 4 hours. (Rem. uses:
0)
L493[20:57:58]

<Forecaster> that's not it...
L494[20:58:07]

<Vaur> this
is fine 😈
L495[21:05:57]

<Forecaster> %sip
L496[21:06:04]

<Forecaster> oh right
L497[21:06:27]

<Forecaster> the potion I didn't mean
to drink still counts towards the cooldown, how rude
L498[21:16:16]

<Vaur>
%sip
L499[21:16:17] <MichiBot> You drink a
hairy redstone potion (New!). Vaur grows slightly until hell
freezes over.
L500[21:27:45]

<Flameingsoul> %chug
L501[21:27:46] <MichiBot> You drink a
5th-dimensional rock potion (New!). Flameingsoul recovers some
mana.
L502[21:29:50] <Amanda> %choose
laptopnaptime and halucinate or play with thing
L503[21:29:50] <MichiBot> Amanda: The
sands of time whisper to me... they're saying
"laptopnaptime and halucinate".
L504[21:32:40] *
Amanda flops down atop Elfi, meows about her plans for taking over
a neighboring dimension where the amanda of that dimension was
stealing all her scritchies
L505[22:41:49]

<Þeros> is
opencomputers like
L506[22:41:54]

<Þeros>
completely dead now
L507[22:41:59]

<Þeros> the
community
L508[22:43:12] <Liizzii> no?
L509[22:43:48] <Liizzii> probably not as
big as it was, but there's still the occasional talk of OC
stuff here
L510[22:44:03] <Amanda> Not really, but
on-topic conversation is banned here. :P
L511[22:45:24] <Amanda> Hrm. I'm out
of stories to read
L512[22:45:45] <Amanda> Well, other than
the transfic stash, but I'm going to go slow on that
L513[22:45:51] <Corded> >
<Liizzii> probably not as big as it was, but there's
still the occasi…
L514[22:45:51]

<Þeros>
though i haven't seen anything new on the forms for the last 3
months
L515[22:46:07]

<Þeros>
other than what i've been posting
L516[22:46:15]

<Liizzii-chan> the forums are a little
dead, yeah
L517[22:46:30]

<Kristopher38> discord is where it's
t
L518[22:46:31]

<Kristopher38> * at
L519[22:46:49]

<Liizzii-chan> which reminds me, they need
updating, but i need to move them to a new server cause the current
one is running a version of ubuntu that doesn't have
php8
L520[22:47:06]

<Þeros>
ah
L521[22:47:14]

<Liizzii-chan> _adds to the list of stuff
to sort over her new year's break_
L522[22:47:24] <Amanda> Sadly, indeed, the
days of internet forums are slowly disappearing
L524[22:47:52] <Amanda> Now it's all
facetube and youbook and disacordian
L525[22:48:00]

<Þeros>
please give me criticism and whatnot
L526[22:48:08]

<JasonS>
are there any plans to bring opencomputers to later versions of
minecraft? And is OC2 development still happening or has that
project died
L527[22:48:55] <Amanda> there's been
several projects attempting to bring OC1 to newer mc, all have
stalled
L528[22:49:21] <Amanda> OC2 is now mostly
maintained in a fork form by gruetzkopf and co I think?
L529[22:50:19]

<JasonS>
maintained as in development is continuing, or just doing
maintenance?
L531[22:52:01] <gruetzkopf> atm mostly
maintanance, but we have done some new stuff, someone else is also
working on it without talking too much about it?
L532[22:52:40] <gruetzkopf> (we have
actual proper switches, and colorful fiberoptics, and a PCI card
cage (prototype))
L533[22:53:02] <gruetzkopf> and a
configured-from-scratch kernel and default rootfs
L534[22:53:22]

<JasonS>
nice
L535[22:53:31] <Liizzii> if i had the time
and motivation to learn minecraft modding and scala, i would
probably try and also take a crack at either re-writing OC in Java,
so porting would be easier, or updating it to a later version. but
i know I don't have anywhere near the patience to learn it and
would loose interest very quickly
L536[22:53:57]

<JasonS> is
OC not in java? What is it in, Scala?
L537[22:54:03]

<JasonS> *
Java? What is it in, Scala?
L538[22:54:03] <Liizzii> yep
L539[22:54:05]

<Þeros>
yes
L540[22:54:26] <Liizzii> which probably
isn't helping the porting attempts
L541[22:54:47] <Liizzii> IIRC Scala got
somewhat dropped from forge support in later versions?
L542[22:54:56] <Liizzii> or not as well
maintained
L543[22:54:58]

<Kristopher38> if the porting effort was
more focused we'd have had a port by now but everyone seems
dead set on making a port by themselves which gets nowhere (except
KosmosPrime's port, that's very impressive work)
L544[22:56:27]

<JasonS> I
know I've said this before, and I know saying it again now
won't do anything, but I think it would be cool and really fit
things well if we a version of OC or OC-like mod that used WASM as
the underlying architecture, just like CC and OC1 use Lua as the
underlying architecture. I feel like OC2 using RISC-V is going a
bit in the wrong
L545[22:56:27] <Corded> direction, making
it feel a little more like just using a regular computer IRL,
instead of keeping the charm of using a nonstandard, and therefore
drastically simpler, system (the linux kernel of course being
*very* complex, RISC-V or not)
L547[22:56:56]

<JasonS> *
had version of OC or OC-like mod that used WASM as the underlying
architecture, just like CC and OC1 use Lua as the underlying
architecture. I feel like OC2 using RISC-V is going a bit in the
wrong direction, making it feel a little more like just using a
regular computer IRL, instead of keeping the charm of using a
nonstandard, and
L548[22:56:56] <Corded> therefore
drastically simpler, system (the linux kernel of course being
*very* complex, RISC-V or not)
L549[22:57:55] <Corded> >
<Kristopher38> if the porting effort was more focused
we'd have had a port…
L550[22:57:55]

<JasonS> I
think the issue is that that mindset is kinda just what the people
of this community have, which is nice in a way but also as seen
here a bit counterproductive
L551[22:58:14]

<Kristopher38> this is the mindset where
you never ship anything usable
L552[22:58:38] <Liizzii> having the
alternative architectures there for those that want it would be
nice, but most players probably aren't looking to code their
own stuff from scratch and will instead just put together bits of
other things
L553[22:59:16] <Liizzii> Lua is basic
enough that you can get a reasonable understanding of what a script
does just by looking at it (so long as it's clean)
L554[22:59:23] <Corded> >
<Kristopher38> hmm, I wonder how far this fork has gotten
https://github.c…
L555[22:59:23]

<Kristopher38> not much it seems, the 1.18
branch had a bit more work done
L556[22:59:25] <Corded> >
<Kristopher38> this is the mindset where you never ship
anything usable
L557[22:59:25]

<JasonS>
yeah it's definitely not a practically-minded mindset
L558[23:00:09]

<JasonS>
more of a "wouldn't be cool if I..." type of
mindset, which is cool on a personal level, but doesn't
actually get things done very well
L559[23:01:42] <Liizzii> if development
for one of the forks (or even if it gets pooled back into the main
repo), I'll deffo host Jenkins or other CI tooling and
actively maintain the forums again, but it's not worth the
effort when the work is all fragmented and mostly stalled
L560[23:02:11] *
Liizzii wanders off to the rainbox
L562[23:08:17]

<Lily> Why
is crab
L563[23:08:34] <Hawk777> I wrote it so I
could write OC programs in Rust.
L564[23:08:39]

<Lily>
ah.
L565[23:08:46] <Hawk777> Should work fine
for other languages that can target Wasm, that’s just the one I
cared about personally.
L567[23:09:39]

<JasonS>
yeah this looks cool
L568[23:10:09] <Amanda> I got it working
with zig, but last I looked zig hasn't re-added async support,
so it's busted on any zig past 0.9
L569[23:10:53] <Amanda> It straight up
crashed the zig compiler on 0.10. :D
L570[23:10:59] <Hawk777> Wow nice!
L571[23:11:16] <Amanda> but I've not
touched it in years
L572[23:11:44] <Amanda> "Updated 2
years ago"
L573[23:11:53] <Hawk777> I haven’t
actually touched anything OC-related for many months now. Just too
many things to do. A friend talked about Create a bunch, and it
looked cool, so I decided to start up a Create world, and I picked
a big modpack with Create in it, and now I have another world to
very very slowly make progress in, in addition to my 1.12 which is
languishing but I still want to get back and work on Any Time Now™.
And of course instead of pop
L574[23:11:53] <Hawk777> stack, I ended up
pushing stack a personal programming project instead.
L575[23:15:11]

<Kristopher38> I wished to run OCaml on
oc-wasm but realized it needs GC extension and some other stuff
that oc-wasm doesn't have so that was a bit of a bummer
L576[23:16:36]

<Kristopher38> Hawk777: curious why did
you go with translating to jvm instead of just running a wasm VM, I
take it was for performance but did this make that much of a
difference?
L577[23:16:36] <Hawk777> Ah! Too bad.
Asmble, the Wasm-to-Java compiler it uses, is pretty much
unmaintained AFAIK.
L578[23:17:17] <Hawk777> Well, for one
thing it seemed like it shouldn’t be any worse for performance, and
maybe better—I didn’t measure anything, but it seemed like a good
idea from that perspective.
L579[23:18:03] <Hawk777> For another, I
looked at Java implementations of Wasm and found Asmble; at the
time I think it either didn’t implement an interpreter (only a
compiler), or else I didn’t manage to find the interpreter in its
codebase, and I didn’t run across any other Wasm-on-Java
implementations, so it was that or write my own, and I picked the
one that didn’t triple the project length.
L580[23:18:43]

<Kristopher38> yeah, I bet there
weren't that many wasm vms for java at the time
L581[23:18:58] <Hawk777> Do you know if
there are now?
L582[23:19:19]

<Kristopher38> I looked into it, I think
there was one that supported GC extension and stuff
L583[23:19:37] <Hawk777> In retrospect
something suspendable would have been nice, to eliminate the mild
inconvenience of having to make everything async.
L584[23:19:56] <Hawk777> And I imagine
interpreters are a lot more likely to be suspendable than compilers
to JVM.
L585[23:20:50] <Hawk777> (or, I suppose,
in the case of Zig, rather more than mild)
L586[23:21:14]

<Kristopher38> Hold on, I'm looking
for it
L587[23:21:33]

<Kristopher38> on a related note how much
work would it be to change the runtime backend in oc-wasm?
L588[23:21:45] ⇦
Quits: Vexatos
(~Vexatos@p200300eaef2e1700d6d86506875af174.dip0.t-ipconnect.de)
(Quit: Insert quantum chemistry joke here)
L589[23:22:53] <Hawk777> Depends. Maybe
actually not THAT much? I remember most of the work was either (1)
figuring out how to connect with OC and deal with stuff like that,
which would still be applicable; and (2) doing unspeakable eldritch
things with bytecode patching to the output of Asmble, which
hopefully wouldn’t be necessary.
L590[23:23:21] *
Liizzii returns
L591[23:23:43] *
Amanda offers @Liizzii some post-rainbox iced creams
L592[23:23:55] *
Liizzii accepts
L593[23:24:31] <Hawk777> Adding a
different backend would come with a huge question mark though:
should it be transparent to already-written applications that run
in OC-Wasm? Or should it break compatibility for the sake of the
improved features? And do we need to keep both backends, or just
throw the old one out?
L594[23:25:16] <Hawk777> *Maybe* it could
make all the new features available without breaking compat, but
that would require more research.
L595[23:27:26] <Hawk777> If you point me
at the Wasm interpreter, I’d be somewhat interested in having a
look, though it’ll probably be a long time before I get around to
doing much with it. Maybe you could write a ticket on the repo with
a pointer to it.
L596[23:29:48] <Amanda> Don't forget
the stacktrace on the ticket, too! :P
L598[23:32:07]
⇨ Joins: uis (~uis@95.165.156.213)
L599[23:32:21] <Corded> >
<Amanda> Don't forget the stacktrace on the ticket,
too! :P
L600[23:32:21]

<Michiyo>
%stacktrace :P
L602[23:36:27] <Amanda> That's
exactly what I was thinking of when I said it. :3
L603[23:38:34]

<Kristopher38> for the love of me I
can't find it
L604[23:38:49]

<Kristopher38> I'll get back to you
eventually though
L605[23:39:53] <Hawk777> OK!
L606[23:41:09] <Hawk777> A couple of times
over the past year or so I also pondered the option of using
non-Java code, but while I’m actually quite happy writing native
code, I don’t particularly feel like figuring out how to build it
for multiple architectures and so on (I know stock OC has Eris, but
even that has a fallback fully-Java option for people who can’t use
Eris).
L607[23:41:26] <Hawk777> There are some
pretty well-developed Wasm runtimes out there written in native
code, though…
L608[23:42:21] <Hawk777> I suppose I could
go fully insane, take a native-code interpreted Wasm runtime,
compile it *TO* Wasm, then use Asmble to turn it into JVM bytecode,
then use *THAT* to run the Wasm code in OC-Wasm…
L609[23:43:03] <Hawk777> At least if I did
that I wouldn’t have to do unspeakable eldritch horrors to the
bytecode coming out of Asmble.
L610[23:43:57] <Hawk777> But no, I think a
Wasm interpreter written in Java would be simplest.