<rqou>
which obviously cannot be casted into a com.mycompany.verysiloeddepartment1.devteam4.vendor.defunctcompanythatweboughtipfrombutcantchangethenameof.IAbstractSingletonProblemFactoryFactoryBeanAppletInjectorAttributeVisitor
<rqou>
and _certainly_ can't be casted into a com.mycompany.verysiloeddepartment2.devteam1.vendor.defunctcompanythatweboughtipfrombutcantchangethenameof.IAbstractSingletonProblemFactoryFactoryBeanAppletInjectorAttributeVisitor
<rqou>
also don't forget that com.mycompany.StateBlob also cannot be casted into a com.mycompany.StateBlob
<rqou>
why? because the first one came from VerySiloedDepartment1's custom classloader but the second one came from VerySiloedDepartment2's custom classloader
<rqou>
isn't java great?
<rqou>
serious question: what use cases were custom classloaders actually designed for?
* azonenberg
did not even know that was a thing
<rqou>
you didn't? how did you think the somewhat-deshittified minecraft mods worked?
<rqou>
(all "advanced" mods essentially contain a classloader that (at least in the past) took in a byte[] and returned a byte[] corresponding to every .class file in the game)
<rqou>
this is why modded minecraft needs the ASM library and why mod loading takes forever
<azonenberg>
I assumed minecraft mods just patched the jar or something
<azonenberg>
or used a documented mod api
<azonenberg>
but never looked into it
<rqou>
hah
<rqou>
the mod "api" is third party (and very drama)
<rqou>
they used to patch the jar until people realized that two mods couldn't exactly patch the same file at the same time
<azonenberg>
so is there no supported mod api?
<rqou>
so now it patches the jar in memory at runtime instead
<azonenberg>
...
<rqou>
now as long as two mods don't patch the same methods (or basic blocks, if the programmer was smart (unlikely)), they won't conflict
<rqou>
also, this might have changed since i last looked at it, but at least at one point the interface really was what i described above with byte[] inputs and outputs
<rqou>
so every mod that wants to make a patch has to repeat the "find target method" and "visit opcodes" steps
<rqou>
it can't be cached
<lain>
Forge has a pretty nice looking mod api (unofficial)
<lain>
most stuff uses it
<rqou>
right, forge is what added this giant classloader mess
<rqou>
also a whole bunch of hot attributes
<rqou>
and other "design pattern" madness
<rqou>
i actually never understood how the magic attributes in forge work
<rqou>
i assume that the forge part of the classloader magic somehow hooks them up
<rqou>
er, s/attribute/annotation/
<rqou>
naming things is hard
<rqou>
this is what happens when you combine *) java is poorly designed with *) minecraft is poorly designed
<rqou>
azonenberg: i just had an unbelievably-trolly idea to implement for an april fools or something
<rqou>
DCOM.v
* lain
spits out her drink
<lain>
that would be impressive
<rqou>
hmm, is the DCOM wire protocol even documented?
<rqou>
hmm, there's a 1998 article about it
<rqou>
lain: i can't even figure out if DCOM still "really exists" anymore or not
<rqou>
or if it's been added to the "giant stack of Windows tech that everybody else ignored"
<azonenberg>
Top plate is a frosty -30C right now, in a 26C ambient garage
<azonenberg>
if the ambient was a bit cooler and/or i had insulation around things, i think i could totally do -40
<balrog>
add some foam insulation :P
<balrog>
that would help a ton
<balrog>
azonenberg: how hot is the heatsink?
<azonenberg>
not that hot, maybe 30C iirc - it's in my notes somewhere
<azonenberg>
bear in mind that's a giant 2U ATX heatsink meant to cool a core2quad
<azonenberg>
i'm pushing maybe 15W through it
<azonenberg>
So it's not gonna break a sweat
<azonenberg>
i figure the cooler the hot side is, the less i leak to the cold side
<azonenberg>
56C differential is not bad, i just need to insulate the cold area and run my -40C tests at night with the garage door open
<rqou>
how is this going to get coupled to the DUT?
<azonenberg>
rqou: It will touch the DUT plus an I2C thermal sensor for feedback through either a layer of arctic silver or a silicone thermal pad, i have both and will experiment
<azonenberg>
gonna try and insulate around the sides
<rqou>
so no giant ZIF socket?
<azonenberg>
The -30C number quoted is an IR thermometer at the coldest part of the peltier plate
<azonenberg>
Correct, the ZIFs didnt seem to have an easy way to do a thermal plate
<azonenberg>
and i didnt want to deal with building an environmental chamber
<azonenberg>
(especially since some of the stuff on starshipraider probably won't handle -40C well, i used commercial range parts)
<rqou>
heh i was expecting "i stuck the DUT in a beer fridge"