<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:15] <Izaya> Hover(?)craft, anything but VB
L2[00:00:50] <Hovercraft> Pascal, C or Java then?
L3[00:01:03] <Izaya> I'd go C
L4[00:01:13] <Izaya> Pascal is dead, Java is terrible
L5[00:01:18] <Hovercraft> oh
L6[00:01:59] <Hovercraft> Pascal is kind of not... At least according to the exam board, all sample papers from students are in pascal
L7[00:02:21] <Hovercraft> Also... minecraft is a Java game lol
L8[00:03:14] <Hovercraft> however the 2012 papers *were* in Chinese so... don't expect much
L9[00:04:04] <SolraBizna> Java *is* terrible.
L10[00:04:07] <SolraBizna> Though it used to be far, far worse.
L11[00:04:54] <Izaya> Pascal isn't actually used anywhere anyway
L12[00:05:01] <Izaya> You don't have new projects written in pascal
L13[00:05:07] <Izaya> and you haven't for at least 17 years
L14[00:06:25] <Hovercraft> oh
L15[00:12:08] <Hovercraft> the pseudocode they use looks like a weird mix of Python and Lua with a Left-facing arrow for variable assignment
L16[00:12:29] <Hovercraft> They use if...then with whitespace
L17[00:15:03] <SolraBizna> ...
L18[00:15:10] <SolraBizna> left-facing arrow...
L19[00:15:34] <SolraBizna> does your professor have scales and a very long neck?
L20[00:16:23] <SolraBizna> because that is a fairly specific idiom for assignment which died out with APL
L21[00:16:37] <Hovercraft> no, it's the exam board's decision
L22[00:16:52] <Hovercraft> (I'm talking about high school stuff so...)
L23[00:17:22] <Hovercraft> Actually, my calculator has a *right* facing arrow which is even weirder
L24[00:18:47] <Hovercraft> At least they know what an interpreter is
L25[00:20:15] <SolraBizna> sorry, according to the Internet, APL is gaining a new life because of its "ability to create and implement systems"
L26[00:22:28] <Hovercraft> Syllabus: "Be aware of the evolution of programming languages" Hmm... The exam boards surely aren't aware
L27[00:24:24] <SolraBizna> well, now I've made it so that synchronous computers can receive exactly one signal and no more
L28[00:24:31] <SolraBizna> this... feels like a step backwards
L29[00:31:05] <gamax92> alright, got a bunch of work done on OCSymon
L30[00:32:14] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Quit: I solemnly swear that I am up to no good.)
L31[00:32:41] <gamax92> mod is still useless garbage but I have the big changes ready to test and all the other stuff committed
L32[00:35:05] <gamax92> I also have to find an assembler still, not tried any out yet
L33[00:37:16] <SolraBizna> I use wladx for all my real 65* needs
L34[00:41:45] <SolraBizna> gamax92: with your hacky synchronous computers, the command prompt was noticeably more responsive, right?
L35[00:42:31] <gamax92> yeah
L36[00:43:18] <SolraBizna> that's not happening with my sync mode
L37[00:46:22] <gamax92> oh
L38[00:46:42] <SolraBizna> I'm thinking I left open a tick gap by mistake
L39[00:47:20] <gamax92> I also forced direct to true when I was testing since it didn't matter anymore
L40[00:47:57] <gamax92> which is not something that you can do due to machine.lua's caching
L41[00:48:14] <SolraBizna> typing on the command prompt should only consume keyboard signals and generate gpu calls, right?
L42[00:50:25] <gamax92> maybe
L43[00:50:55] <gamax92> can always look at ocemu's way too verbose mode to see
L44[00:57:46] <gamax92> oh hey SolraBizna, how does the eeprom get accessed in oc-arm?
L45[00:57:47] ⇨ Joins: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl)
L46[00:58:43] <SolraBizna> it calls eeprom.get and maps the result to a ridiculously huge portion of the address space
L47[00:59:13] <GreaseMonkey> can confirm wla-dx is good
L48[00:59:14] <SolraBizna> (ROMs up to 1GB are supported)
L49[00:59:34] <gamax92> ahh, so if you remove the eeprom technically it would still run?
L50[00:59:44] <GreaseMonkey> ocmips assumes 4kb eeproms
L51[01:00:05] <gamax92> ocsymon will also assume 4kb eeproms
L52[01:00:08] <GreaseMonkey> i don't exactly remember where it gets preloaded to
L53[01:00:15] <GreaseMonkey> 0x4000
L54[01:00:19] <GreaseMonkey> iirc
L55[01:00:37] <SolraBizna> If you remove the EEPROM after it boots, it will still run (as long as the program doesn't access the EEROM or SRAM)
L56[01:00:58] <GreaseMonkey> wait shit... it needs to appear at 0x1FC00000, but that's a mirror
L57[01:01:11] <GreaseMonkey> of some other location in RAM, i *think* it might even be at 0x00000000
L58[01:01:21] <gamax92> for me, it will still technically work but will either truncate larger sizes or crash on smaller
L59[01:01:28] <SolraBizna> OC-ARM maps it to 0xC0000000-0xFFFFFFFF
L60[01:01:47] <SolraBizna> as if it were a real ROM of either 64KiB or the next >= power of two, whichever is larger
L61[01:01:55] <GreaseMonkey> would make sense to do 0x00000000-something instead
L62[01:02:09] <GreaseMonkey> unless you have your own boot ROM that loads before the EEPROM
L63[01:02:25] <SolraBizna> this means that for ROMs of 64KiB or less, 0xFFFF0000 is an address of the beginning of the image
L64[01:02:36] <SolraBizna> and OC-ARM boots in "high-vector" mode, which means that's where the interrupt vectors are
L65[01:02:38] <GreaseMonkey> ah righty
L66[01:02:54] <gamax92> but like, does every read of the eeprom cause a get() invoke or are you caching?
L67[01:03:05] <SolraBizna> it caches until it is told the EEPROM changes/is removed
L68[01:03:08] <GreaseMonkey> i suspect it's a matter of "read once at the start"
L69[01:03:25] <SolraBizna> I think it will be fooled if the EEPROM is flashed
L70[01:03:29] <GreaseMonkey> at least 1. that's how ocmips does it, and 2. that's basically how stock oc does it too
L71[01:04:27] <SolraBizna> I deliberately made ROM accesses slow, and 4096 bytes is really not enough for any useful services, so it is likely that everyone will either use the EEPROM only as a bootloader or use it as the only program
L72[01:05:04] <gamax92> well remember, set() is also slow already
L73[01:05:13] <GreaseMonkey> i just opted for an ELF loader on my boot EEPROM
L74[01:05:34] <gamax92> it forces a pause when you call it, ... I just access the byte array directly instead
L75[01:05:48] <GreaseMonkey> the only case you really need to handle in a bootloader is a statically-located statically-linked program
L76[01:06:11] <GreaseMonkey> basically, read the program headers, load anything marked PT_LOAD, then jump to the entry point
L77[01:06:42] <GreaseMonkey> of course when i say load anything marked PT_LOAD, i do mean you also have to pad the memory space out with zeros
L78[01:07:19] <SolraBizna> yup
L79[01:07:25] <SolraBizna> my boot0 does that
L80[01:07:41] * SolraBizna really needs to make it fully OETF #1 compliant, and add support for little-endian ELFs
L81[01:07:58] <gamax92> so, I should try wladx?
L82[01:08:02] <SolraBizna> absolutely
L83[01:08:08] <SolraBizna> it is a wonderful tool
L84[01:09:37] <gamax92> and I don't exactly have ELFs here :P just code, not sure what my transfer scheme will be yet
L85[01:11:20] <gamax92> ahh crap... I'll have to make the eeprom hidable or I can't have the vectors be changeable
L86[01:11:41] <SolraBizna> do write passthrough!
L87[01:11:56] <SolraBizna> writes always go to RAM, reads read ROM if enabled+present and RAM otherwise
L88[01:12:47] <gamax92> then the eeprom is not flashable
L89[01:13:00] <Kodos> Bleh, I'm at a loss as to what else I should make a chat activated computer system do
L90[01:13:01] <SolraBizna> Flashing it by writing it wouldn't be realistic
L91[01:13:49] <SolraBizna> Flash EEPROMs need a special erase cycle, then possibly-serial writes
L92[01:14:24] <gamax92> it's already not realistic due to having to support components and lots of memory :P
L93[01:14:45] <gamax92> but sure, that'll simplify my code a bit
L94[01:15:18] <SolraBizna> Supporting components over a memory-mapped FIFO is very similar to how component access over a bus like I2C is done
L95[01:16:01] <SolraBizna> and having 6502s with (nearly) 64KiB of RAM isn't uncommon
L96[01:16:47] <SolraBizna> hm... it might be an interesting balance decision to have a 6502-based architecture always have (nearly) 64KiB of RAM and ignore any installed memory modules
L97[01:17:01] <SolraBizna> that would give it a significant gameplay advantage to balance the relative clumsiness of the arch
L98[01:17:59] <gamax92> ehh? bank switching exists
L99[01:18:32] <SolraBizna> well then, always having (nearly) 64KiB of RAM and allowing bank switching to more RAM if memory modules are installed :P
L100[01:19:38] <gamax92> SolraBizna: what do you think would be a good component accessing scheme then?
L101[01:19:51] <SolraBizna> Something like packed UIF over a memory-mapped FIFO
L102[01:19:58] <gamax92> ?
L103[01:20:22] <SolraBizna> https://oc.cil.li/index.php?/topic/903-proposal-universal-interchange-format/
L104[01:20:57] <gamax92> DMA based then?
L105[01:21:06] <SolraBizna> write some special sentinel value (I nominate 0x80) to the FIFO, the bus readies
L106[01:21:25] <SolraBizna> write a UUID to the bus one byte at a time, whichever device has that address is now listening and the rest are quiescent
L107[01:21:40] <SolraBizna> write tags to the bus, write ICTAG_END
L108[01:21:52] <SolraBizna> then read the result, byte-at-a-time
L109[01:22:31] <SolraBizna> OC-ARM uses DMA, but a FIFO is more like how such a system on a real 65C02 would work
L110[01:23:29] <SolraBizna> the approach is the same as used with I2C, but with many many more bytes involved
L111[01:23:40] <gamax92> ... so a one byte register device where you just load something a byte at a time into a address?
L112[01:24:19] <SolraBizna> pretty much
L113[01:25:18] <SolraBizna> you could also have a DMA system layered on top of that
L114[01:25:32] <SolraBizna> where the program designates a block of memory to be loaded into the FIFO
L115[01:25:55] <SolraBizna> then you get the advantages of a DMA system, without necessarily having to build the entire thing in memory as a solid block like in OC-ARM
L116[01:26:30] <SolraBizna> real 65C02s are amenable to DMA; the 65C816 even has a (crappy; 8 cycles per byte?!!?!) DMA engine built in
L117[01:28:39] <SolraBizna> argh, not communicating well because midnight thirty
L118[01:29:14] <SolraBizna> architecturally-speaking, the external interface part of a component bus for a 65C02 system would probably be a simple serial bus
L119[01:29:34] <SolraBizna> exposing that as a FIFO makes sense
L120[01:30:41] <SolraBizna> OpenComputers' component system is more like I2C than it is like the kinds of closely-integrated peripherals that find themselves memory-mapped into 6502s' address spaces
L121[01:31:01] <SolraBizna> of course, GreaseMonkey's thing offers an alternative
L122[01:31:53] <GreaseMonkey> the hardbus proposal kinda led into what was for a while known as "OC2"... and i *still* haven't got interrupts set up on the MIPS3 core yet
L123[01:32:07] <GreaseMonkey> and yeah, it is more like I2C than... well, yeah
L124[01:32:14] <gamax92> I'll just go with DMA
L125[01:32:36] <SolraBizna> for now, at least?
L126[01:32:44] <gamax92> a "realistic" 6502 system with OC is unusable
L127[01:32:56] <SolraBizna> I would disagree with that
L128[01:34:01] <SolraBizna> what's your reasoning?
L129[01:34:58] <GreaseMonkey> you'd have to be creative with your message sending stuff
L130[01:35:49] <SolraBizna> I don't understand how that is different from the "unrealistic" alternative
L131[01:36:15] <gamax92> components are very unlike what you would see on a real system, like the GPU interface, versus an Acia
L132[01:36:23] * SolraBizna points at I2C
L133[01:36:50] <SolraBizna> I've used I2C LCD screens which had the same usage pattern as OC GPUs
L134[01:37:02] <vifino> morning everyone.
L135[01:37:02] <SolraBizna> the only difference would be that OC's component bus involves more bytes being slung
L136[01:37:29] <gamax92> yes, and the 6502 is already slow enough
L137[01:38:14] <SolraBizna> it may be faster than you're thinking it is
L138[01:39:13] <gamax92> now you have something that instead of say, write byte = output, it's now 36 bytes for a uuid, 3 for set, 2 for x, y, and now finally the character
L139[01:40:03] <SolraBizna> on I2C, it'd be two bytes (start + address), then some more stuff (including a command byte), 2 for x, y, and the character
L140[01:40:22] ⇨ Joins: brandon3055_ (~Brandon@122-129-151-48.dynamic.ipstaraus.com)
L141[01:40:42] <gamax92> wtf are you talking about the address is 36 bytes long?
L142[01:40:51] * SolraBizna is talking about *actual* I2C
L143[01:41:01] <gamax92> talk about OC
L144[01:41:04] ⇦ Quits: brandon3055 (~Brandon@122-129-151-48.dynamic.ipstaraus.com) (Read error: Connection reset by peer)
L145[01:41:21] <SolraBizna> I'm trying to draw a comparison between a real system and the "unrealistic" I2C system
L146[01:41:25] <SolraBizna> also, UUIDs are 16 bytes long
L147[01:41:32] <SolraBizna> argh
L148[01:41:37] <SolraBizna> corrected: I'm trying to draw a comparison between a real system and the "unrealistic" OC system
L149[01:42:02] <SolraBizna> we're not talking about a dedicated serial line to a single terminal, we're talking about a bus that is being shared by multiple, heterogenous devices
L150[01:42:10] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:9877:f367:a32b:bd7e) (Read error: Connection reset by peer)
L151[01:42:51] <gamax92> still significantly less bytes with that real I2C example you gave, to do the same thing in OC
L152[01:43:01] <SolraBizna> yes, but a factor of 3 is not a factor of 40
L153[01:44:56] <SolraBizna> you said "a 'realistic' 6502 system with OC is unusable", and then said that "components are very unlke what you would see on a real system"
L154[01:45:03] <SolraBizna> I pointed out I2C, you said "but OC is slower"
L155[01:45:11] <SolraBizna> I am not following your chain of reasoning
L156[01:46:05] <GreaseMonkey> OC's API is pretty clumsy from a "real CPU" perspective
L157[01:46:12] <GreaseMonkey> rather than a "scripting language" perspective
L158[01:46:16] <gamax92> ^
L159[01:46:18] <SolraBizna> but not outside the realm of possibility
L160[01:46:27] <SolraBizna> I2C is effectively the same but with smaller spaces
L161[01:46:40] <SolraBizna> and what about USB?
L162[01:46:59] <Kodos> Wjat
L163[01:46:59] <SolraBizna> both are clumsy from a CPU's perspective, but they are real, useful protocols
L164[01:47:01] <Kodos> err
L165[01:47:11] <Kodos> What's the fecking command for getting a list of users in a channel without being there
L166[01:47:50] <GreaseMonkey> thing is, they generally don't involve sending full strings purely for commands and parsing floating point number return values
L167[01:48:14] <SolraBizna> first part is arbitrary, second part is... UIF has ints
L168[01:48:34] <gamax92> is it possible, yes, I never meant that it was impossible and if it came off that way than sorry. could it be done better in a way more optimized for an 8bit microprocessor? yes.
L169[01:48:35] <SolraBizna> what's the difference between a string and a variable-length opcode?
L170[01:48:36] <GreaseMonkey> LDA #CMD_POS \ STA GPU_CMD \ LDA pos_x \ STA GPU_CMD \ LDA pos_y \ STA GPU_CMD <-- this is notably cleaner than "softbus"
L171[01:49:08] <SolraBizna> that's what it would look like if the GPU were a closely integrated, memory-mapped component
L172[01:49:21] <GreaseMonkey> or a component on a serial bus
L173[01:49:23] <SolraBizna> but we're not talking about individual components and how to integrate them on a specific basis, we're talking about generic component access
L174[01:50:07] <gamax92> actually my plan is to have wrappers available around components for easier access
L175[01:50:18] <GreaseMonkey> that would be the most sensible option tbh
L176[01:50:29] <GreaseMonkey> i have no wrappers, and boy does it hurt sometimes
L177[01:50:38] <SolraBizna> I am again confused by an apparent logic jump
L178[01:50:52] <SolraBizna> "generic bus + specific wrappers" is fine by me, and in fact the UIF spec mentions that
L179[01:51:39] <GreaseMonkey> of course i still prefer how it works w/ circuity
L180[01:51:42] <SolraBizna> OC-ARM itself does that by having special support for reading the EEPROM, reading/flashing the NVRAM on the EEPROM, shutting down / manipulating / crashing the computer...
L181[01:51:52] <GreaseMonkey> it's all memory mapped
L182[01:51:59] <GreaseMonkey> there's a bus controller which you can probe to work out everything
L183[01:52:08] <gamax92> I still have to look at circuity
L184[01:52:21] <SolraBizna> I wouldn't be surprised to encounter a real-life system where components can be accessed both in a device-specific way by memory mapping (or whatever) and also on a separate, generic bus
L185[01:52:24] <GreaseMonkey> i don't recall if i got the TLB working on the MIPS3 core
L186[01:52:33] <SolraBizna> that's very similar to how hardware is supposed to work under Open Firmware
L187[01:53:30] <GreaseMonkey> this is probably a little different from what you've said, but i know that the PS1 GPU lets you use either DMA or direct writes to control it
L188[01:53:35] <SolraBizna> you can access a piece of hardware through its platform-agnostic, discoverable, plug-and-play FCode, or by having a driver for it
L189[01:53:40] <GreaseMonkey> it is all command-based though
L190[01:54:23] <SolraBizna> That's more or less what I was suggesting in the beginning
L191[01:54:42] <SolraBizna> a FIFO to read/write on a fake serial bus that "speaks" UIF, and a DMA engine to push/pull bytes to/from it
L192[01:55:27] <GreaseMonkey> for the N64 iirc you only have the DMA approach for RDP (the actual GPU), although you can pass it along from the main CPU or from the RSP (what most emulators think is the GPU)
L193[01:55:32] <gamax92> I'll make it that you can manually fill the buffer but DMA will be how I'll mostly use it
L194[01:56:01] <SolraBizna> having it be a FIFO will be more routinely advantagous when reading
L195[01:56:10] <gamax92> nah
L196[01:56:21] <SolraBizna> you can read it a byte at a time, and never have to assemble the complete thing in RAM
L197[01:56:28] <GreaseMonkey> chained DMA is probably the cleanest approach tbh
L198[01:56:39] <gamax92> chained?
L199[01:56:41] <SolraBizna> if you did assemble it in RAM, you'd almost certainly just be reading it a byte at a time anyway
L200[01:56:57] <GreaseMonkey> point to a list of pointer-type pairs
L201[01:57:28] <GreaseMonkey> although instead of a pointer you could give a direct value in the case of an int
L202[01:57:39] <GreaseMonkey> hard bit of course is getting the result you want
L203[01:57:58] <SolraBizna> 6502s are pretty clumsy when it comes to indirection, in my experience
L204[01:59:40] ⇦ Quits: Cervator (~Thunderbi@2601:4c1:4000:1050:719b:4d45:65d6:ad29) (Quit: Cervator)
L205[02:00:08] <SolraBizna> the 65C02 and the 65816 each improved the situation, but the high overhead of indirection in the general case is one of the things that makes compiling C code well on the 65816 hard
L206[02:01:46] <gamax92> I should probably scrap my mod entirely though, I built it around Symon because oh look a Java 6502 core, but I keep finding out more and more that it really sucks
L207[02:02:04] <SolraBizna> Building a 6502 core of your own actually wouldn't be too hard
L208[02:02:07] <SolraBizna> it's a very simple ISA
L209[02:04:16] <gamax92> I know, it's easy and I've done it before, I just didn't realize how incomplete Symon was, has cycle counting but is inaccurate, no illegal opcodes, bus can have overlapping components
L210[02:19:37] <SolraBizna> why am I still awake
L211[02:20:58] ⇨ Joins: Vexatos (~Vexatos@p200300556E653146FCB613C21D8E1EED.dip0.t-ipconnect.de)
L212[02:20:58] zsh sets mode: +v on Vexatos
L213[02:21:06] <gamax92> hey Vexatos
L214[02:27:42] <Vexatos> yo
L215[02:30:46] <SolraBizna> I've thought about making a 65C816 architecture, but I don't want to give myself any more excuses not to work on OC-ARM than I already have
L216[02:33:23] ⇨ Joins: Mettaton_Fab (~OyVey@p5796404e.dip0.t-ipconnect.de)
L217[02:34:42] <Izaya> https://github.com/XeonSquared/test3d this may interest or horrify someone here
L218[02:34:52] <Izaya> this is what I did while the power was out today
L219[02:35:34] <Mettaton_Fab> do i have to reinstall Ubuntu if it crashes while updating?
L220[02:35:44] <SolraBizna> no
L221[02:36:02] <SolraBizna> reinstalling is not routinely needed
L222[02:36:20] <SolraBizna> dammit Solra, go to bed
L223[02:36:32] <Mettaton_Fab> i wont let me log into the system.
L224[02:36:39] <Mettaton_Fab> *it
L225[02:37:47] <Mettaton_Fab> so i pretty much have to reinstall it.
L226[02:40:33] <Hovercraft> Shit, I clicked on a youtube toy video... I know what my recommended will be for this month now
L227[02:40:35] <Izaya> or you could
L228[02:40:37] <Izaya> break into it
L229[02:40:39] <Izaya> that's not hard
L230[02:43:19] <Izaya> 0 0 1 4090 4094 1 4091 16 4091 0 4087
L231[02:45:18] ⇨ Joins: Keanu73 (~Keanu73@host-78-148-141-192.as13285.net)
L232[02:46:34] <Mettaton_Fab> i cant even use wifi on the machine because its broken!
L233[02:46:51] <Mettaton_Fab> so my pc ruined a Ubuntu install.
L234[02:48:53] ⇨ Joins: brandon3055__ (~Brandon@122-129-151-48.dynamic.ipstaraus.com)
L235[02:49:54] ⇦ Quits: brandon3055_ (~Brandon@122-129-151-48.dynamic.ipstaraus.com) (Read error: Connection reset by peer)
L236[02:52:40] ⇦ Quits: jackmcbarn (jackmcbarn@gateway.insomnia247.nl) (Ping timeout: 192 seconds)
L237[03:01:21] ⇨ Joins: jackmcbarn (jackmcbarn@gateway.insomnia247.nl)
L238[03:09:12] <Antheus> %weather 76020
L239[03:09:14] <MichiBot> Current weather for Azle, TX Current Temp: 34.8°F/1.6°C Feels Like: 30°F/-1°C Current Humidity: 68% Wind: From the SSE 6.0 Mph/9.7 Km/h Conditions: Overcast
L240[03:09:24] <Antheus> ew
L241[03:10:04] <Mettaton_Fab> -1°C is not as bad as -8°C
L242[03:10:23] <Antheus> that's like a fucking ice age
L243[03:10:51] <Izaya> eugh
L244[03:10:53] <Izaya> less than 20C
L245[03:10:55] <Izaya> sounds horrid
L246[03:10:57] <Antheus> ^
L247[03:10:58] <Izaya> how are you alive
L248[03:11:07] <Antheus> Izaya, I've been dead inside for years
L249[03:11:39] <Antheus> I want it to snow this winter :3
L250[03:11:49] <Antheus> Snow = Stay inside a warm house
L251[03:11:59] <Antheus> except one time we got 11 inches of snow
L252[03:12:04] <Antheus> and we had rolling blackouts
L253[03:12:13] <Antheus> and no one told me
L254[03:13:20] <Antheus> so I woke up shivering because it lasted a while
L255[03:13:49] <Mettaton_Fab> i went outside in the morning when it was -8°C
L256[03:14:13] <Antheus> I didn't know outside was a cryogenic chamber
L257[03:14:39] <Mettaton_Fab> i had to go to school on that day.
L258[03:14:58] <Antheus> Jeez
L259[03:15:08] <Antheus> I've never been in anything colder than 20F
L260[03:15:19] <Antheus> -6.66667C
L261[03:15:39] <Mettaton_Fab> it was freezing, but i didn't give a fuck about it.
L262[03:16:09] <Antheus> Like, my school HAS to shut down if it gets that cold
L263[03:16:52] <Mettaton_Fab> we are in germany!
L264[03:17:01] <Antheus> Texas, bitch.
L265[03:17:34] <Antheus> But like if the power draw from peoples heaters is to much (because it's that cold) all major businesses and schools are aked to shiut down
L266[03:17:35] <Mettaton_Fab> normally the school would start at 8:00, but because of trains, it starts at 7:45.
L267[03:18:09] <Mettaton_Fab> we have central heaters.
L268[03:18:31] <Antheus> Most places here have Central AC and Heating
L269[03:18:50] <Mettaton_Fab> but the school has no A/C system!
L270[03:19:05] <Mettaton_Fab> so we have to technically slowly die in summer.
L271[03:19:06] <Antheus> ew
L272[03:19:29] <Mettaton_Fab> fucking hot, you dont want to go to school in summer.
L273[03:19:45] <Antheus> I can stand the heat
L274[03:20:04] <Antheus> as long as I have a building cooler than 85F/ 29.5C to go into
L275[03:20:15] <Antheus> and water
L276[03:20:19] <Mettaton_Fab> i might just get a strong CPU fan and attach it to a ATX PSU which I'll take to school.
L277[03:20:51] <Mettaton_Fab> water's from a dispenser.
L278[03:21:04] <Antheus> get one of those mist fans
L279[03:21:09] <Mettaton_Fab> it filters the crappy tasting water to something good!
L280[03:21:35] <Mettaton_Fab> i could just modify the CPU fan so it can spray mist arund.
L281[03:21:41] <Mettaton_Fab> *around
L282[03:21:42] <Antheus> My schools water founatins only have filters for water bottles
L283[03:22:00] <Mettaton_Fab> my school has no water fountains.
L284[03:22:23] <Antheus> rip
L285[03:22:28] <Mettaton_Fab> only a single water dispenser, and a beverage dispenser
L286[03:22:43] <Mettaton_Fab> but they still sell water in bottles!
L287[03:23:12] <Mettaton_Fab> (At school, because water from the dispenser takes to long apparently)
L288[03:23:18] <Antheus> My school as three kinds of vending machines:
L289[03:23:27] <Antheus> Dr. Pepper branded Water
L290[03:23:32] <Antheus> Dr. pepper Beverages
L291[03:23:36] <Antheus> and ice cream
L292[03:23:46] <Mettaton_Fab> Dr. Pepper?
L293[03:23:49] <Antheus> only the water one is able to have stuff dispensed during school hours
L294[03:24:03] <Antheus> Like Dr. Pepper products
L295[03:24:09] <Mettaton_Fab> my school only has "Staffelberg-Bräu"
L296[03:24:29] <Antheus> I actually kinda support Dr. Pepper since their HQ is near me
L297[03:25:39] <Mettaton_Fab> my school is unable to do something useful for all students there.
L298[03:26:05] <Antheus> my school has 1 to 1 ipads
L299[03:26:09] <Antheus> like every student gets an iPad
L300[03:26:21] <Antheus> I've had mine since my freshman year (2013-2014)
L301[03:26:28] <Antheus> maybe used it a total of 8 hours
L302[03:26:30] <Izaya> ew
L303[03:26:33] <Mettaton_Fab> we still have to use crappy heavy as fuck books for school.
L304[03:26:40] <Antheus> same
L305[03:26:46] <Mettaton_Fab> just because bavarian school system
L306[03:27:12] <Antheus> my astronomy text book is literally 6 months younger than me
L307[03:27:16] <Mettaton_Fab> i could kill someone with my schoolbag.
L308[03:27:37] <Antheus> omg
L309[03:27:47] <Antheus> we got into an arguement in one of my classes
L310[03:28:49] <Antheus> since one school district near me allows certain teachers to have concealed guns on school grounds, this one person went on a full rant about how they should be banned and not allowed on any school campus ort at all etc..
L311[03:29:11] <Antheus> tl;dr her argument was "it could be used as a deadly weapon"
L312[03:29:36] <Antheus> so the entire class started saying things like "my backpack could be used as a deadly weapon"
L313[03:29:59] <Antheus> "Thes $14054005,010401.1199 iMacs could be used as a deadly weapon"
L314[03:30:02] <Antheus> etc..
L315[03:30:04] <Antheus> was quite funny
L316[03:30:31] <Antheus> also I hate OSX
L317[03:30:43] <Mettaton_Fab> a table can be used to kill people!
L318[03:30:56] <Mettaton_Fab> i can lift a table at school.
L319[03:31:07] <Mettaton_Fab> just throwing it is a problem.
L320[03:31:41] <Antheus> lol
L321[03:31:57] <Antheus> well, I'm off to go to sleep
L322[03:33:21] <Mettaton_Fab> only 2 weeks till christmas left!
L323[03:39:51] ⇨ Joins: Hunterz (~hunterz@62.182.234.189)
L324[03:41:22] <Hunterz> hi, pls https://github.com/MightyPirates/OpenComputers/issues/2173 its ugly bug which make robots useless...
L325[03:42:38] ⇨ Joins: blood_ (unknown@ool-4574115b.dyn.optonline.net)
L326[03:42:56] <blood_> any devs around
L327[03:43:13] <blood_> have an issue with OC and our SpongeForge mod
L328[03:43:43] <blood_> I created a ticket here https://github.com/MightyPirates/OpenComputers/issues/2173
L329[03:44:11] <Temia> Hunterz literally came in a minute before you and posted it already :p
L330[03:44:27] <blood_> hes the one that has been bugging me for months about it
L331[03:44:33] <blood_> finally had time to sit down and debug it
L332[03:44:35] <Hunterz> :)
L333[03:44:50] <blood_> I would PR a fix but I don't do scala =)
L334[03:46:35] <Temia> Well, it's fairly late, but I'm sure someone'll get to it soon.
L335[03:46:47] <blood_> yea no worries, hunterz can wait :P
L336[03:47:51] <Hunterz> hehehehe
L337[04:08:35] <Mettaton_Fab> wshould i reinstall ubuntu or get a better mobo/pc first?
L338[04:13:24] ⇨ Joins: sshika (webchat@bsr-213-44-171-58.ft.ethernet.abo.bbox.fr)
L339[04:13:28] <sshika> hi
L340[04:13:47] <Forecaster> hello
L341[04:16:18] <sshika> how i do use a function setEnabled ? it's a boolean variable. can you help me ?
L342[04:16:37] <sshika> with true/false or / ?
L343[04:16:47] <sshika> with true/false or 0/1 ?
L344[04:16:53] <Forecaster> setEnabled?
L345[04:17:16] <Forecaster> you'd have to use true/false
L346[04:17:24] <Forecaster> in Lua 1 and 0 are both true
L347[04:17:37] <Forecaster> because they are not boolean values
L348[04:18:04] <sshika> ok. thanks
L349[04:20:18] <sshika> i have a problem. i use this syntax "component.ie_diesel_generator.setEnabled = True" but the boolean variable don't effective
L350[04:21:00] <Forecaster> setEnabled is probably a method
L351[04:21:32] <sshika> a method ?
L352[04:21:35] <Forecaster> aka function
L353[04:36:33] <sshika> http://puu.sh/sKvwY/57da1d5289.png
L354[04:37:28] <Forecaster> it literally says it's a function right there
L355[04:38:24] <sshika> and it's impossible to modify ?
L356[04:38:33] <Forecaster> what?
L357[04:39:09] <Forecaster> if you don't know what a function is and how to use it you should probably google that.
L358[04:39:26] <sshika> the fucntion setEnabled is not to start/stop the diesel ?
L359[04:39:50] <Forecaster> it says what it does right there as well.
L360[04:43:35] <sshika> yes but what is the correct syntax?
L361[04:45:09] <Forecaster> function(argument,argument,...)
L362[04:45:37] <sshika> a ok.
L363[04:46:32] <sshika> thanks
L364[05:11:27] <sshika> re. i have antoher problem with a function
L365[05:11:47] <sshika> no sorry it's my error
L366[05:37:36] ⇨ Joins: ChJees (~ChJees@217-212-206-126-no62.tbcn.telia.com)
L367[06:01:13] ⇨ Joins: Inari (~Pinkishu@p4FC1E329.dip0.t-ipconnect.de)
L368[06:05:35] <Mettaton_Fab> yay, the queen of lewd has arrived!
L369[06:07:41] ⇨ Joins: Jezza (~Jezza@92.206.161.17)
L370[06:09:16] <Inari> Mettaton_Fab: meow
L371[06:10:03] * Cruor pokes Inari
L372[06:11:26] * Inari pokes Cruor back with a dildo
L373[06:11:32] <Cruor> D:
L374[06:11:58] * Mettaton_Fab gives Inari a suction cup dildo
L375[06:12:00] <Inari> Oh well *goes to chpo it up and make cucumber salad*
L376[06:13:36] * Mettaton_Fab throws a cucumber at Inari
L377[06:34:13] <Lizzy> %tell Michiyo check yo discord pms gurrl (if you haven't already done so when you get this tell)
L378[06:34:13] <MichiBot> Lizzy: Michiyo will be notified of this message when next seen.
L379[06:35:01] <Forecaster> there is says "check irc pms!"
L380[06:35:07] <Forecaster> where it says "check #oc"
L381[06:36:25] <Lizzy> lol nah
L382[06:36:27] <Inari> %tell Michiyo guuuuuuuhhhrrl
L383[06:36:27] <MichiBot> Inari: Michiyo will be notified of this message when next seen.
L384[06:36:30] <Forecaster> aw
L385[06:36:51] <Inari> What secret talk are you up to anyway
L386[06:36:57] <Inari> proposing three... well theres naomi... foursomes/
L387[06:36:58] <Inari> *?
L388[06:37:26] <Mettaton_Fab> just send a link to a fucking long folder stacking.
L389[06:37:54] <Lizzy> Inari, err, who would be the other person?
L390[06:37:59] <Lizzy> not that i'd want to do that
L391[06:38:00] <Inari> vif?
L392[06:38:15] <Lizzy> ah, nah. vifino is all mine and Naomi is all Michiyo's
L393[06:38:33] * Lizzy is also all vifinos
L394[07:02:02] <Inari> "This should be safe to install or uninstall at any time, but make sure there are no active food effects on your character when installing, uninstalling or upgrading this mod." so not actaully any time
L395[07:03:18] <Forecaster> :P
L396[07:04:44] <20kdc> oh, it's probably perfectly safe in terms of "no crashing"
L397[07:04:53] <20kdc> it'll just instakill the character
L398[07:05:12] <20kdc> or something equally horrifying
L399[07:05:59] <Inari> I guess either it crashes because the effect isn't there anymore but still in the save or the ffect sticks around forever
L400[07:06:00] <Inari> or something
L401[07:06:22] <Forecaster> that's pretty poor design in that case
L402[07:06:26] <Inari> 20kdc: It actually just says its fine to remove it midgame :P
L403[07:06:38] <Inari> Forecaster: Yeah well
L404[07:06:43] <Inari> Thats TES for you
L405[07:06:46] <Forecaster> Skyrim: "What is this effect? I don't know. Lets let it stick around forever."
L406[07:06:52] <Forecaster> :P
L407[07:07:14] <Inari> At least I read some bug reports where some people uninstalled ineeda nd had the eeffect forever, but in that case it was proabbly a permanetn effect anyway
L408[07:07:16] <Inari> that a script would then remove
L409[07:07:55] <Vexatos> god dammit
L410[07:07:55] <Inari> Forecaster: I wish the ESP format was better for modders. I mean its nice as it is compared to alot of other engines. But it would be handy if you could just say I wan tthis specific thing cahnged and nothing else :P
L411[07:07:55] <Vexatos> https://github.com/MightyPirates/OpenComputers/issues/2173
L412[07:07:58] <Forecaster> you can probably remove it with the console or something
L413[07:08:01] <Vexatos> any more ambiguous than this
L414[07:08:02] <Vexatos> >_>
L415[07:08:41] <Inari> People and their silly plumbng names
L416[07:10:01] <Hunterz> vexatos for testing bug I prepared server with spongefoge+oc
L417[07:10:12] <Hunterz> if you want try what happen
L418[07:10:42] <Vexatos> I cannot run spongeforge
L419[07:10:48] *** Keridos|away is now known as Keridos
L420[07:11:03] <Vexatos> it keeps crashing in the dev environment, and outside of it it's just as useful as you doing it >_>
L421[07:12:13] <Vexatos> Hunterz, so does robot.forward return true or false?
L422[07:12:41] <Hunterz> howto get value?
L423[07:12:46] <Vexatos> lua interpreter
L424[07:12:50] <Vexatos> =robot.forward()
L425[07:12:55] <Hunterz> ok mmt
L426[07:12:56] <Vexatos> to get the return value
L427[07:13:09] <Inari> #lua =robot.forward()
L428[07:13:09] <|0xDEADBEEF|> > [string "lua"]:1: unexpected symbol near '='
L429[07:15:40] <Vexatos> Also, Hunterz: Does anything appear in the server log? Any error message? Is the new block the duplicate or the old one (i.e. is the robot without NBT data the new or the old one)? Can the old robot still be accessed (does it still work like before)?
L430[07:16:13] <Vexatos> does the duplicate drop a working robot or a broken one
L431[07:16:22] <Hunterz> yes robo block is duplicated
L432[07:16:31] <Hunterz> as invisible block
L433[07:16:42] <Hunterz> must click, then appear but without nbt data
L434[07:16:52] <Vexatos> is the invisible robot at the new or the old position
L435[07:17:00] <Hunterz> on the new
L436[07:17:11] <Vexatos> if you break it, does it drop a robot?
L437[07:17:24] <Hunterz> yes drop
L438[07:17:26] <Vexatos> if you place that down, is that still broken?
L439[07:17:42] <Inari> Debugging 101
L440[07:17:46] <Vexatos> Inari, pretty much
L441[07:17:47] <Hunterz> mmt
L442[07:17:49] <Hunterz> testing
L443[07:17:57] <Inari> What does mmt even mean
L444[07:18:03] <Vexatos> "moment" probably
L445[07:18:13] ⇨ Joins: Turtle (~SentientT@82.171.92.73)
L446[07:18:18] <Inari> Huh I thougth the abbreviation for that is "mom" or "sec"
L447[07:18:32] <Hunterz> :)
L448[07:18:36] <Hunterz> is a moment
L449[07:19:06] <Vexatos> Is the old robot still usable after the dupe? i.e. the one at the old position
L450[07:19:46] <Inari> REminds me of frames + PCs issues :P Though maybe that was with computercraft
L451[07:20:06] <Hunterz> yes
L452[07:20:13] <Cruor> Inari: what issues arent computercraft? :⁾
L453[07:20:18] <Hunterz> when break it it drops
L454[07:20:27] <Vexatos> if you place that down again
L455[07:20:27] <Inari> Cruor: OC components vanishing
L456[07:20:35] <Vexatos> is the placed robot still broken?
L457[07:20:49] <Cruor> Inari: no no no, its code from CC causing it
L458[07:21:21] <Hunterz> when placing it must power on
L459[07:22:36] <Vexatos> hm
L460[07:22:57] <Vexatos> Hunterz, did you get the return value of robot.forward()?
L461[07:23:23] <Hunterz> idk howto, im not familiar with lua
L462[07:23:37] <Vexatos> start robot
L463[07:23:40] <Vexatos> >lua
L464[07:23:45] <Vexatos> >=robot.forward()
L465[07:23:48] <Vexatos> it should print the result
L466[07:24:00] <Vexatos> with that = sign in front
L467[07:24:09] <Hunterz> ok
L468[07:24:42] <Hunterz> nil
L469[07:24:46] <Hunterz> assertion failed
L470[07:24:51] <Vexatos> uhm what
L471[07:25:12] <Hunterz> i will make screenshot
L472[07:26:57] <Hunterz> https://ctrlv.cz/xfDH
L473[07:28:12] <20kdc> that's probably not good.
L474[07:30:06] <Vexatos> well that
L475[07:30:08] <Vexatos> is interesting
L476[07:30:12] <Vexatos> that is not a normal error
L477[07:30:15] <Vexatos> whatsoever
L478[07:30:51] <Forecaster> anything in the server log?
L479[07:30:56] ⇦ Quits: VikeStep (~VikeStep@101.184.55.151) (Quit: Leaving)
L480[07:31:08] <Hunterz> nothing
L481[07:31:28] <Vexatos> but
L482[07:31:31] <Vexatos> what the hell is that error
L483[07:31:38] <Vexatos> it looks lika a Lua assertion failure
L484[07:31:42] <Vexatos> uuuuh
L485[07:32:15] <blood_> Vexatos: after we call te.writeToNBT, it never returns back to us
L486[07:32:20] <blood_> it gets stuck on OC side
L487[07:32:35] ⇨ Joins: BearishMushroom (~BearishMu@90-231-174-194-no159.tbcn.telia.com)
L488[07:32:44] <Vexatos> blood_, Hunterz just said that the old robot (the non-duped one) is perfectly usable still
L489[07:32:48] <Vexatos> was that wrong?
L490[07:33:11] <Hunterz> i will start stream and show what is wrong
L491[07:33:14] <blood_> i think the issue is your synchronized call does some odd on scala side
L492[07:33:27] <Vexatos> blood_, thing is I have no idea what this carp is
L493[07:33:39] <Vexatos> I'm not an OC dev, I have to learn this code myself
L494[07:33:40] <blood_> https://github.com/MightyPirates/OpenComputers/blob/master-MC1.10/src/main/scala/li/cil/oc/common/tileentity/Robot.scala#L446
L495[07:33:41] <blood_> this
L496[07:33:41] <Vexatos> >_>
L497[07:33:51] <Vexatos> yea I know
L498[07:33:51] <blood_> no idea why you have this here
L499[07:33:56] <blood_> it doesnt make any sense
L500[07:34:06] <Vexatos> I don't know either
L501[07:34:10] <Vexatos> you need to ask Sangar
L502[07:34:11] <blood_> if a mod does something stupid like
L503[07:34:12] <Vexatos> %seen Sangar
L504[07:34:13] <MichiBot> Vexatos: Sangar was last seen 5d 22h 46m 21s ago.
L505[07:34:14] <Vexatos> yea
L506[07:34:16] <blood_> calls this on another thread
L507[07:34:20] <blood_> blame the dumb mod =)
L508[07:34:34] <Vexatos> I wonder whether something in OC calls this
L509[07:34:36] <Vexatos> let me check
L510[07:34:42] <blood_> if you can remove that and provide a test build
L511[07:34:44] <blood_> i can test it
L512[07:34:45] <Vexatos> OC has another thread
L513[07:34:51] <Vexatos> but that is normally purely for executing Lua
L514[07:34:57] <blood_> ah k
L515[07:35:00] <Vexatos> blood_, sure that is super easy
L516[07:35:06] <Vexatos> I can get you a build without the sync
L517[07:35:20] <blood_> ok just link me
L518[07:35:27] <Vexatos> oh hmm
L519[07:35:29] <Vexatos> I think I know
L520[07:35:34] <Vexatos> nbt.setNewCompoundTag(RobotTag, bot.save)
L521[07:35:43] <Vexatos> it is saving its component for obvious reasons
L522[07:36:02] <Vexatos> and that one DOES have some methods that are called on the Lua thread
L523[07:36:43] <blood_> still, it should always return from that call no matter what calls writeToNBT
L524[07:36:46] <blood_> it doesnt in this case
L525[07:36:49] <Vexatos> I wish I could just run sponge in my dev env but neither the normal nor the dev build work :P
L526[07:36:58] <Vexatos> it doesn't return at all?
L527[07:36:59] <blood_> oh sec
L528[07:37:07] <blood_> i can give you a deobf build for dev
L529[07:37:08] <blood_> or
L530[07:37:12] <blood_> you can use our dev build
L531[07:37:17] <Vexatos> I tried that
L532[07:37:35] <blood_> which build did you try
L533[07:37:43] <Vexatos> latest?
L534[07:38:13] <blood_> the dev one?
L535[07:38:19] <Vexatos> yea
L536[07:38:25] <blood_> try the dev-shaded
L537[07:38:26] <blood_> http://files.minecraftforge.net/maven/org/spongepowered/spongeforge/1.10.2-2171-5.1.0-BETA-1976/spongeforge-1.10.2-2171-5.1.0-BETA-1976-dev-shaded.jar
L538[07:38:27] <blood_> this
L539[07:38:29] <Vexatos> spongeforge-1.10.2-2171-5.1.0-BETA-1976-dev-shaded.jar
L540[07:38:46] <Vexatos> how do I install it, I wonder
L541[07:38:52] <blood_> just throw it into mods
L542[07:39:00] <Vexatos> yea that didn't work :P
L543[07:39:00] <blood_> in your dev environment
L544[07:39:07] <Vexatos> org.spongepowered.asm.mixin.injection.throwables.InvalidInjectionException: @Inject annotation on handler$onConstruction$zzc000 could not find '<init>'
L545[07:39:08] <blood_> what error
L546[07:39:34] <blood_> hrmm odd
L547[07:40:57] <Vexatos> do you have any clue where the robot hangs?
L548[07:41:17] <blood_> nope since it never returns back to us
L549[07:41:18] <Vexatos> The weirdest thing is that it just hangs and doesn't actually crash
L550[07:41:27] <Vexatos> that can't really happen
L551[07:41:44] ⇦ Quits: Turtle (~SentientT@82.171.92.73) (Ping timeout: 198 seconds)
L552[07:42:12] <blood_> the line after i call te.writeToNBT is never called
L553[07:42:18] <blood_> if i remove these 2 lines
L554[07:42:20] <blood_> robots work fine
L555[07:42:43] <Vexatos> you mean the "synchronized" ?
L556[07:42:54] <blood_> if i dont call te.writeToNBT on your robot, it will work
L557[07:43:11] <Vexatos> you are still implying it's mine
L558[07:43:13] <Vexatos> :P
L559[07:43:20] <blood_> OC robot =)
L560[07:43:33] <blood_> i guess remove the synchronized bit, let me test
L561[07:43:51] <Vexatos> I am quite sure there is a good reason for the method to be synchronized
L562[07:44:05] <Vexatos> On the other hand, I do not know the reason
L563[07:44:13] <Vexatos> and the only person that does only appears once a week at most
L564[07:45:19] <Inari> probably sync so data doesnt change mid-save, i'd assume?
L565[07:45:33] <Inari> If sync in scala does what I think ti does :P
L566[07:45:45] <Vexatos> pretty much, yea
L567[07:45:56] ⇨ Joins: Turtle (~SentientT@82.171.92.73)
L568[07:46:08] <Vexatos> the question is, are there threads other than the server thread accessing it
L569[07:46:13] <Vexatos> and the bigger question
L570[07:46:19] <Vexatos> why does it hang the thread
L571[07:46:25] <Vexatos> blood_, I am assuming you call writeToNbt from the server thread, right?
L572[07:47:00] <blood_> let me do another test
L573[07:47:08] <blood_> yes always from main server thread
L574[07:48:57] <blood_> ok let me check something
L575[07:49:13] <blood_> i think TE's have a try catch in updateEntities
L576[07:49:18] <blood_> so the actual crash should be there
L577[07:49:51] <blood_> because the server thread does continue, just not at the line i would expect
L578[07:50:02] <blood_> but now i remember about the try/catch =)
L579[07:50:04] <blood_> so let me check that
L580[07:50:42] <blood_> yup , ok let me output this
L581[07:50:50] <Vexatos> oh an error? :D
L582[07:50:51] <Vexatos> finally ._.
L583[07:54:14] <Vexatos> yea the method just hanging didn't make any sense :P
L584[07:54:45] <blood_> yea i added it at 4AM in morning so
L585[07:54:49] <blood_> but here is the error
L586[07:55:39] <blood_> moment
L587[07:56:01] <blood_> https://gist.github.com/bloodmc/05b51174bf06494a41af8dc8261073d2
L588[07:56:15] <blood_> at li.cil.oc.server.machine.Machine.save(Machine.scala:785)
L589[07:56:20] <blood_> i had to add a try/catch around it
L590[07:57:38] <blood_> added to ticket
L591[07:57:45] <Saphire> Um
L592[07:57:48] * Saphire pokes Lizzy
L593[07:57:58] * Lizzy wiggles
L594[07:58:02] <Saphire> Can forum username be changed..?
L595[07:58:12] <Lizzy> i think so
L596[07:58:21] <Saphire> Squeeee
L597[07:58:33] <Vexatos> blood_, http://git.io/v1rrL
L598[07:58:54] <Saphire> Lizzy: can you try..?
L599[07:58:57] <Lizzy> Saphire, hmm, looks like it'll have to be updated through the admin CP
L600[07:59:40] <blood_> if isExecuting means OC is calling it then that is bad
L601[07:59:49] <Lizzy> Saphire, yep, i can change it
L602[07:59:53] <Vexatos> isExecuting means the machine (i.e. robot) is currently running
L603[07:59:55] <blood_> plus it already is synchronized
L604[08:00:08] <blood_> right but that doesnt account for other mods calling writeToNBT
L605[08:01:11] <blood_> it is perfectly valid for a mod to call this method at any moment during server thread
L606[08:01:27] <blood_> same as it is with normal entities
L607[08:01:28] <Vexatos> ok
L608[08:01:38] <Vexatos> the error is that you are calling writeToNbt during the robot's own update tick
L609[08:02:07] <blood_> right we call it while tracking TE during update
L610[08:02:17] <blood_> we do this for all TE's
L611[08:02:49] ⇦ Quits: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl) (Quit: Leaving)
L612[08:03:13] <Saphire> Lizzy: i'm idiot
L613[08:03:23] <Saphire> There is a "Change display name" in user profile
L614[08:03:35] <Lizzy> oh well
L615[08:03:58] <Vexatos> blood_, basically, you are trying to save the machine while the machine is executing robot.forward
L616[08:04:55] <blood_> net.minecraftforge.fml.common.FMLCommonHandler.onPreServerTick(FMLCommonHandler.java:274)
L617[08:04:57] <blood_> your TE runs update
L618[08:05:05] <blood_> after i call the lua method yes
L619[08:05:18] <blood_> then it sets some blockstates which get captured
L620[08:05:26] <blood_> which result in us having to create snapshots
L621[08:05:48] <blood_> remove that line and let Hunterz test?
L622[08:05:57] <Vexatos> which line
L623[08:06:00] <blood_> the assert line
L624[08:06:04] <Vexatos> I can't
L625[08:06:12] <Vexatos> this literally would break all computers ever
L626[08:06:14] <blood_> test build
L627[08:06:20] <Vexatos> if you saved a running machine
L628[08:06:22] <Vexatos> hell would break loose
L629[08:06:25] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L630[08:06:35] <blood_> ok insert of assert
L631[08:06:47] <blood_> just avoid saving that bit
L632[08:06:52] <blood_> instead of assert*
L633[08:07:06] <Vexatos> well THAT would then make robots not persistent
L634[08:07:07] <vifino> dessert*
L635[08:07:19] <blood_> it would still be persistent
L636[08:07:37] <blood_> the assert doesnt save it either so there is no difference
L637[08:07:38] <Vexatos> you mean if(!isExecuting) return?
L638[08:07:42] <blood_> yes
L639[08:07:43] <Vexatos> err
L640[08:07:47] <Vexatos> if(isExecuting) return?
L641[08:07:49] <blood_> there is no point in asserting there
L642[08:07:49] <Vexatos> >_>
L643[08:07:53] <blood_> as it breaks any mod calling this
L644[08:08:21] <Vexatos> let me get you a build with this
L645[08:08:22] <Vexatos> ,_,
L646[08:08:37] <blood_> https://github.com/MightyPirates/OpenComputers/blob/master-MC1.10/src/main/scala/li/cil/oc/server/machine/Machine.scala#L787
L647[08:08:39] <blood_> so this line
L648[08:08:50] <blood_> can simply be
L649[08:08:57] <blood_> if (!isExecuting || SaveHandler.savingForClients) {
L650[08:12:39] ⇦ Quits: Keanu73 (~Keanu73@host-78-148-141-192.as13285.net) (Quit: Gotta go to bed or something. See ya!)
L651[08:12:52] <blood_> i added a try/catch on my end in case this happens again
L652[08:13:57] <Vexatos> ok, the data it's lose would be the entire state, and any information about components
L653[08:14:34] <blood_> its fine as it should never be restored at this point
L654[08:14:51] <Vexatos> and all signals
L655[08:15:03] <Vexatos> well
L656[08:15:13] <Vexatos> blood_, you said this tracking is there for potentially restoring a block, right?
L657[08:15:33] <Vexatos> If I give you this build and it works, could you try restoring one of those captured robots and see how terribly it crashes?
L658[08:15:45] <Vexatos> without machine NBT
L659[08:17:10] <Vexatos> EVERYTHING IS FINE https://puu.sh/sKDdx/1f7c3fe641.png
L660[08:18:36] <blood_> yea looks good
L661[08:19:09] <blood_> return is far better than assert as assert halts all execution for that TE
L662[08:20:02] <Hunterz> brb
L663[08:20:24] <Vexatos> do you want a normal or a deobf build?
L664[08:20:40] <blood_> deobf is fine
L665[08:20:51] <blood_> if not, i can just run BON on it
L666[08:22:56] <Vexatos> So yea, please test a) if it's fixed, of course and b) how badly this change would affect the robot if that NBT data is actually ever used to restore the block
L667[08:25:19] <blood_> well we can add another fix actually
L668[08:25:27] <Vexatos> hm?
L669[08:25:30] <blood_> it seems OC doesnt fire any forge events for breaks
L670[08:25:41] <blood_> if you fire a break event BEFORE moving, all this can be avoided
L671[08:25:46] <Vexatos> oh it does fire them all
L672[08:25:50] <Vexatos> not for moving, no
L673[08:26:06] <blood_> any time you attempt to call setBlockState, a break should be used
L674[08:26:13] <Vexatos> But... I am not sure it should
L675[08:26:14] <blood_> assuming you are changing it
L676[08:26:26] <Vexatos> because the block is not actually being broken
L677[08:26:32] <Vexatos> "breaking" implies stuff like drops, etc
L678[08:27:03] <blood_> break was added to allow mods to cancel to avoid a robot griefing for example
L679[08:27:07] <blood_> protection
L680[08:27:19] <blood_> what happens if a player moves an OC robot into an area that he/she doesnt own
L681[08:28:11] <blood_> i added the break event to forge back during 1.6 i think
L682[08:28:27] <blood_> 1.6.4? i forget
L683[08:28:35] <Vexatos> that is what the RobotMoveEvent is for
L684[08:29:01] <blood_> that requires a mod to have your API
L685[08:29:06] <blood_> BreakEvent covers everything
L686[08:29:12] <Vexatos> which would be one line in gradle :P
L687[08:29:32] <blood_> sure but generic events exist for a reason
L688[08:29:56] <blood_> its ok though, i fire it in sponge =)
L689[08:29:59] <blood_> so doesnt matter really
L690[08:30:15] <blood_> however if cancelled, that is when a "restore" occurs
L691[08:30:47] <Vexatos> those events need a player though
L692[08:30:58] <blood_> [03:40:38] [Server thread/INFO] [STDOUT]: [org.spongepowered.common.event.tracking.CauseTracker:setBlockState:367]: setBlockState pos = BlockPos{x=2146, y=64, z=-878}, currentState = opencomputers:robot, newState = minecraft:air, flags = 1
L693[08:31:02] <blood_> this is why Forge's FakePlayer exists
L694[08:31:08] <Vexatos> robots do have one
L695[08:31:09] <Vexatos> but still
L696[08:31:13] <Vexatos> this is not where it should be used
L697[08:31:26] <blood_> you would pass the player that is interacting in LUA
L698[08:31:27] <EnderBot2> It's Lua, not LUA. Name, not an acronym
L699[08:31:38] <20kdc> blood_: how do you suppose that would be found?
L700[08:31:56] <blood_> OC will always know who the player is
L701[08:32:01] <blood_> the player has a gui open :P
L702[08:32:09] <20kdc> player A writes a program which says it will do one thing, but instead does another
L703[08:32:11] <20kdc> player B uses it
L704[08:32:17] <20kdc> player B gets the blame for player A's program
L705[08:32:31] <blood_> Player B has to open the GUI does he not?
L706[08:32:48] <blood_> an interact has to occur on the robot
L707[08:32:53] <blood_> there is your player
L708[08:33:00] <20kdc> yes, my point is, Player B doesn't know that the robot will, say, grief the world
L709[08:33:09] <20kdc> it's not Player B's fault
L710[08:33:15] <20kdc> but it will be logged as Player B
L711[08:33:20] <blood_> doesnt matter
L712[08:33:28] <blood_> what matters is, what player "caused" it to happen
L713[08:33:42] <blood_> obviously admins on the server will know it is a robot with programs
L714[08:33:48] <blood_> they wont blame the player
L715[08:34:09] <blood_> but at least grief is avoided
L716[08:34:13] <Vexatos> Moving would take the robot fake player
L717[08:34:19] <blood_> however with sponge, we fire the event anyway
L718[08:34:25] <Vexatos> but you just said that would restore the robot state
L719[08:34:29] <blood_> so this would only help servers without sponge
L720[08:34:37] <Vexatos> Right?
L721[08:34:48] <Vexatos> that is, if BreakEvent fails
L722[08:34:56] <blood_> [03:40:38] [Server thread/INFO] [STDOUT]: [org.spongepowered.common.event.tracking.CauseTracker:setBlockState:367]: setBlockState pos = BlockPos{x=2146, y=64, z=-878}, currentState = opencomputers:robot, newState = minecraft:air, flags = 1
L723[08:35:00] <blood_> this is where it fails
L724[08:35:08] <blood_> when you attempt to set the old spot to air
L725[08:35:25] <blood_> but it should never reach this point if you couldnt move in the first place
L726[08:35:31] <blood_> so there wouldnt be an issue
L727[08:36:40] <blood_> dont worry about the fakeplayer, not needed for sponge =)
L728[08:36:47] <blood_> i track it all
L729[08:37:15] <blood_> also i really need to get rid of the fakeplayer and add some basic tracking for Forge but meh, more work
L730[08:37:34] <blood_> and too many mods use it now
L731[08:37:37] <Vexatos> so sponge does listen to the RobotMoveEvent anyway?
L732[08:37:43] <blood_> no
L733[08:37:58] <blood_> i built a tracking system that tracks all block changes, notifications, etc.
L734[08:38:09] <blood_> this info is passed via our events
L735[08:38:19] <blood_> ChangeBlockEvent in this case
L736[08:38:28] <Vexatos> mhm
L737[08:38:33] <blood_> so if a player places a robot down, they own it
L738[08:38:40] <blood_> if another comes along and uses it, they become the notifier
L739[08:39:14] <Vexatos> so when exactly would a robot block be restored from the state you save with your writeToNbt
L740[08:39:40] <blood_> when you set the block you are attempting to move to
L741[08:39:45] <blood_> so the block "forward"
L742[08:39:50] <blood_> this would be cancelled
L743[08:40:13] <Vexatos> and the block at the old position would be restored?
L744[08:41:04] <Vexatos> or what
L745[08:41:04] <blood_> TE runs logic, captures are done, TE logic ends, events are processed and if cancelled we roll back captures
L746[08:41:13] <Vexatos> so yea
L747[08:41:16] <blood_> so it would end up with the very first snapshot
L748[08:41:20] <Vexatos> But rolling back a capture would shut down the robot
L749[08:41:22] <blood_> which would have proper NBT
L750[08:41:29] <Vexatos> since machine won't be saved
L751[08:41:37] <Vexatos> oh it would?
L752[08:41:44] <blood_> captures are done in order
L753[08:41:46] <blood_> so if you do lets say
L754[08:41:49] <blood_> 10 setBlockStates
L755[08:41:53] <blood_> that is 10 different snapshots
L756[08:42:14] <blood_> if cancelled, they would revert backwards
L757[08:42:47] <Vexatos> Yea but none of these would have the machine state saved, no?
L758[08:42:47] <blood_> [03:40:38] [Server thread/INFO] [STDOUT]: [org.spongepowered.common.event.tracking.CauseTracker:setBlockState:367]: setBlockState pos = BlockPos{x=2145, y=64, z=-878}, currentState = minecraft:air, newState = opencomputers:robot, flags = 1
L759[08:42:59] <blood_> this is the second setBlockState you call
L760[08:43:02] <Vexatos> for the new block
L761[08:43:02] <blood_> which is the block you want to move to
L762[08:43:07] <Vexatos> but what about the old block
L763[08:43:09] <Vexatos> where the robot used to be
L764[08:43:13] <blood_> it is a transaction
L765[08:43:17] <blood_> old block + new block have snapshots
L766[08:43:26] <Vexatos> yes
L767[08:43:35] <Vexatos> but old block would be restored too, no?
L768[08:43:49] <blood_> let me look at my output again
L769[08:43:56] ⇦ Quits: techno156 (~techno156@137.154.137.222) (Quit: Leaving)
L770[08:44:03] <Vexatos> by the way, https://vexatos.com/phora/dev/OpenComputers-MC1.10.2-1.6.0-dev%2B7a0ac13.jar
L771[08:44:06] <Vexatos> here's the thinger
L772[08:44:12] <blood_> hrmm actually this may be a problem because
L773[08:44:22] <blood_> TE's are captured throughout the update
L774[08:44:30] <blood_> then reverted at end
L775[08:44:34] <blood_> oh no
L776[08:44:37] <blood_> it would be fine...
L777[08:44:43] <Vexatos> so it would revert back to the first robot state?
L778[08:44:44] <blood_> ok so let me explain another way
L779[08:44:45] * Cruor pokes Vexatos with a shovel
L780[08:44:55] <blood_> lets say robot is at pos A and wants to move to B
L781[08:44:58] * Vexatos throws a garden fork at Cruor
L782[08:45:13] <blood_> setBlockState is called on B with new state it wants to be (in this case robot)
L783[08:45:24] <blood_> this is captured and a snapshot is created for what was at B originally
L784[08:45:29] <blood_> and what B is going to become (robot)
L785[08:45:43] <Cruor> Vexatos: fak these here harmonic mabobs
L786[08:45:57] <Vexatos> told you, Cruor
L787[08:46:16] <Vexatos> blood_, yea, and if the move was illegal it will revert back to old state
L788[08:46:26] <blood_> it will only revert the move pos back
L789[08:46:33] <blood_> the position it is at will always be fine
L790[08:46:38] <blood_> because it is already there
L791[08:46:47] <Vexatos> you mean pos A will not be reverted?
L792[08:47:10] <blood_> right
L793[08:47:23] <Vexatos> then the robot will just vanish
L794[08:47:25] <Vexatos> I gave you the jar file
L795[08:47:28] <Vexatos> feel free to test
L796[08:47:31] <blood_> k let me see
L797[08:47:33] <Vexatos> But it SHOULD make the robot vanish
L798[08:47:39] <Vexatos> because it still thinks it's moving
L799[08:47:49] <Cruor> Vexatos: fak all, going with the magical guessHarmonic(freqs, key) :I
L800[08:47:59] <Cruor> MUCH easier :I
L801[08:48:14] <Vexatos> hax :P
L802[08:48:21] <Cruor> but this works like, never
L803[08:48:33] <Inari> nsfl
L804[08:48:35] <Inari> not safe for loli
L805[08:48:45] <Cruor> [784.09, 586.48, 385.58, 392.04, 394.61] works on this set
L806[08:48:57] <Cruor> then it hates life on most of the other ones :I
L807[08:49:02] <Forecaster> when is something nsfl?
L808[08:49:08] <Cruor> Forecaster: tentacles
L809[08:49:40] <Cruor> and cars with lockable doors
L810[08:50:03] <blood_> k testing
L811[08:50:20] <blood_> but yea if any restore issues occur, this is our issue
L812[08:50:25] <blood_> and ill fix them
L813[08:50:48] <blood_> if you see any tickets about that, just close them :P
L814[08:51:07] <Vexatos> So this change basically stops saving the machine state to snapshot entirely
L815[08:51:14] <Vexatos> meaning any robot that would be restored would be shut down
L816[08:51:22] <Vexatos> making the restoration process not persistent
L817[08:51:44] <Vexatos> and robot.forward() would, if canceled, just make the robot vanish, most likely
L818[08:53:24] <Vexatos> blood_, if you test this, please test using an equals sign in front of robot.forward() in the Lua interpreter
L819[08:53:31] <Vexatos> to get the function's return value
L820[08:53:33] <blood_> each setBlockState is a different transaction
L821[08:53:43] <blood_> if a plugin cancelled the break entirely and all transactions were included
L822[08:53:45] <blood_> it would break it
L823[08:53:55] <blood_> however if they only cancel the transactions needed, it would be fine
L824[08:54:01] <Inari> https://www.youtube.com/watch?v=Kb22BkCbpik
L825[08:54:01] <MichiBot> Shenzhen I/O plays Rick Astley - Never Gonna Give You Up | length: 1m 44s | Likes: 316 Dislikes: 1 Views: 9,507 | by gtw123 | Published On 1/11/2016
L826[08:54:34] <blood_> however this is a good test to make sure it is working properly =)
L827[08:54:40] <blood_> so the move issue is fixed
L828[08:54:46] <Vexatos> so no more dupe?
L829[08:54:46] <blood_> the restore part, is my end
L830[08:54:50] <blood_> right
L831[08:54:55] <blood_> it moves properly now
L832[08:55:09] <Vexatos> Is it still turned on after the move?
L833[08:55:13] <Vexatos> can you still access it, etc
L834[08:55:18] <Vexatos> and what if it's canceled
L835[08:55:30] <blood_> yes works fine
L836[08:55:40] <blood_> cancelled part dont worry, ill test all that when i get more time
L837[08:55:42] <blood_> that is my issue
L838[08:55:46] <blood_> nothing to do with OC at that point
L839[08:55:46] <Vexatos> ok
L840[08:55:54] <Vexatos> so again, the state you capture there
L841[08:55:58] <Vexatos> is WITHOUT the machine state, right.
L842[08:56:03] <Vexatos> So if you do restore it
L843[08:56:06] <Vexatos> the robot will be shut down
L844[08:56:10] <blood_> yea it would be bad if restored
L845[08:56:10] <Cruor> Vexatos: in THEORY, its just i + 7 and i + 12
L846[08:56:11] <Vexatos> and there's nothing I can do about that, really
L847[08:56:14] <blood_> right
L848[08:56:15] <Cruor> that means its i / 2
L849[08:56:25] <Cruor> but hell naw its not that simple ;_;
L850[08:56:27] <Vexatos> blood_, so if you have a server grief protection plugin having issues with this
L851[08:56:32] <Vexatos> point them at RobotMoveEvent
L852[08:56:55] <Vexatos> because cancelling that cancels the move, guaranteed
L853[08:56:59] <blood_> i actually created GriefPrevention for sponge which technically protects against any mod
L854[08:57:07] <blood_> quite powerful =)
L855[08:57:13] <blood_> they would complain to me first
L856[08:57:23] <Vexatos> well, then feel free to test that thing with robots :P
L857[08:57:37] <blood_> yea i always end up patching things in sponge/GP as i break things
L858[08:57:43] <Vexatos> Robots really should never ever be restored
L859[08:57:49] <Vexatos> Not only because they would shut down
L860[08:58:01] <Vexatos> but because the entire device... progresses
L861[08:58:02] <blood_> if you fire a break event before move
L862[08:58:06] <blood_> it would be fine
L863[08:58:08] <Vexatos> going back in time is not really a thing it shoudl do
L864[08:58:16] <blood_> because your logic would halt at that point
L865[08:58:20] <blood_> and nothing on my end would capture
L866[08:58:44] <Vexatos> are you not able to cancel a setBlockState?
L867[08:59:09] <Vexatos> I thought the method returned a boolean for a reason >_>
L868[08:59:11] <blood_> most mods never check the result
L869[08:59:16] <Vexatos> well OC does
L870[08:59:25] <Vexatos> and it properly returns false in robot.forward if it fails
L871[09:00:44] <blood_> right now lets assume OC fired a break event before the forward logic ran
L872[09:01:09] <blood_> that would support any "protection" mod that expects a BlockEvent.Break
L873[09:01:22] <blood_> including Sponge
L874[09:01:46] <blood_> if that passed, it would never be cancelled
L875[09:02:05] <blood_> because it doesnt matter if the robot changes the block it was at (it was already there) =)
L876[09:03:52] <blood_> ill look into altering things on my end though now that i have a good test case
L877[09:06:48] <Vexatos> >Event that is fired when an Block is about to be broken by a player
L878[09:06:58] <Vexatos> that is not what this event should be used for
L879[09:07:04] <Vexatos> there is no player breaking any block
L880[09:07:13] <Vexatos> and the player would be the robot's fake player anyway
L881[09:10:42] <blood_> you have the player when they interact with the robot
L882[09:10:47] <blood_> so you can just use that
L883[09:11:37] <blood_> however that doesnt help you if they logoff later and the robot does some kind of movement
L884[09:11:53] <Vexatos> https://github.com/MightyPirates/OpenComputers/pull/2174
L885[09:11:54] <blood_> fakeplayer needs to be removed and a new system has to be put in place
L886[09:11:56] <Vexatos> this should do I assume?
L887[09:12:04] <Vexatos> 22blood_> you have the player when they interact with the robot
L888[09:12:05] <Vexatos> I do not
L889[09:12:15] <Vexatos> The robot may act completely autonomously
L890[09:12:24] <blood_> line 1083
L891[09:12:25] <Vexatos> it may even be another robot having placed it
L892[09:12:45] <blood_> right, now this is where "tracking" comes into place
L893[09:12:52] <blood_> but a system that doesnt exist in forge
L894[09:12:57] <blood_> i would have to add a basic one for tracking players
L895[09:13:02] <Vexatos> but
L896[09:13:06] <Vexatos> robots are not SUPPOSED to know it
L897[09:13:11] <Vexatos> as I said
L898[09:13:48] <Vexatos> what if an autonomous activator from Thermal Expansion happens to place a block placer from rotarycraft that happens to place a robot placing another robot placing another robot and THAT robot moves forward into illegal territory
L899[09:13:49] <blood_> sure they can act without any intervention but you would track the last known player and have the "owner"
L900[09:13:53] <blood_> the one that created the robot
L901[09:14:02] <blood_> that doesnt matter
L902[09:14:03] <Vexatos> that is not the owner
L903[09:14:06] <blood_> if it is tracked
L904[09:14:13] <blood_> any tracking information is transferred
L905[09:14:15] <Vexatos> What if one person on the server is the electronics manufacturer
L906[09:14:18] <Vexatos> for the entire servber
L907[09:14:20] <Vexatos> server*
L908[09:14:26] <blood_> how do you think sponge tracks all mods currently =)
L909[09:14:30] <Vexatos> Robots do not know and cannot know and must not know their owner
L910[09:14:47] <blood_> every robot in the world , sponge will know who last accessed it
L911[09:14:51] <blood_> and who created it
L912[09:14:55] <Vexatos> well that doesn't mean anything
L913[09:15:02] <blood_> for protection it does
L914[09:15:08] <Vexatos> just because I right clicked a robot
L915[09:15:15] <Vexatos> doesn't mean it's mine now
L916[09:15:23] <Vexatos> What if I accidentally right click my enemy's robot
L917[09:15:33] <blood_> you wouldn't be able to with protection
L918[09:15:54] <Vexatos> what if he becomes my enemy later
L919[09:15:57] <Vexatos> there are too many cases
L920[09:16:01] <Vexatos> just forget about it
L921[09:16:21] <blood_> yea you dont have to worry about it, sponge does
L922[09:17:33] <blood_> https://github.com/MightyPirates/OpenComputers/pull/2174/files
L923[09:17:35] <Vexatos> I guess it's good for you
L924[09:17:38] <blood_> this looks good except for that formatting issue
L925[09:17:40] <Vexatos> that you have a very special case now
L926[09:17:42] <Vexatos> to test with
L927[09:18:06] <blood_> no idea if you guys care about diffs
L928[09:18:23] <blood_> yea this is good test case
L929[09:18:57] <Vexatos> Now here is my problem
L930[09:19:02] <Vexatos> I could just have commited directly to OC
L931[09:19:06] <Vexatos> or merge my own PR, whatever
L932[09:19:18] <Vexatos> But I don't because I don't know what side effects this PR might have
L933[09:19:24] <Vexatos> and the only person that does know is Sangar
L934[09:19:34] <Vexatos> Who now has a full time job
L935[09:19:39] <blood_> yea no worries
L936[09:19:40] <Vexatos> and only appears once a week at most
L937[09:19:42] <blood_> Hunterz has to wait
L938[09:19:49] <blood_> no rush =)
L939[09:19:50] <Vexatos> Nah
L940[09:19:55] <Vexatos> Hunterz can just get that build I linked
L941[09:20:07] <blood_> oh that is the deobf build isnt it
L942[09:20:11] <blood_> he would need the obf build
L943[09:20:26] <Vexatos> nope
L944[09:20:28] <Vexatos> it's obf
L945[09:20:34] <blood_> k great
L946[09:20:42] <Vexatos> I'll leave it on the server
L947[09:20:47] <Vexatos> for anyone to download if they need it >_>
L948[09:20:56] <blood_> can you relink it one more time
L949[09:21:11] <blood_> ill link it on our ticket until PR is pulled
L950[09:21:22] <blood_> i have to do some other fixes besides this one
L951[09:21:58] <Vexatos> Please don#t
L952[09:21:58] <Vexatos> >_>
L953[09:22:03] <blood_> 001
L954[09:22:17] <blood_> k np
L955[09:22:17] <20kdc> Maybe merge the PR, see if anyone complains
L956[09:22:21] <blood_> https://vexatos.com/phora/dev/OpenComputers-MC1.10.2-1.6.0-dev%2B7a0ac13.jar
L957[09:22:24] <blood_> this is the only link i see
L958[09:22:42] <Vexatos> That's the one
L959[09:22:47] <Vexatos> but please don't publicly link it
L960[09:22:54] <blood_> yea np
L961[09:23:13] <blood_> Hunterz ^
L962[09:24:12] ⇦ Quits: Kattery (v^@katt.is.cute.pxtst.com) (Ping timeout: 206 seconds)
L963[09:25:10] ⇦ Quits: Jezza (~Jezza@92.206.161.17) (Ping timeout: 206 seconds)
L964[09:25:11] ⇨ Joins: Kattery (v^@katt.is.cute.pxtst.com)
L965[09:27:33] <blood_> thanks Vexatos
L966[09:27:51] <blood_> im off now. o/
L967[09:28:44] ⇨ Joins: Jezza (~Jezza@92.206.161.17)
L968[09:28:53] <Vexatos> o/
L969[09:29:02] <blood_> ill add a fix on SF end too
L970[09:29:09] <blood_> try/catch around te.writeToNBT
L971[09:29:17] <blood_> so that will at least make older OC versions work
L972[09:30:03] <blood_> cya
L973[09:39:22] ⇨ Joins: Keanu73 (~Keanu73@host-78-148-141-74.as13285.net)
L974[09:44:58] <Forecaster> I've made 3800 nether brick blocks...
L975[09:45:05] <Forecaster> making 18k is going to take a while...
L976[09:48:57] <Izaya> Automated?
L977[09:49:36] <Forecaster> of course
L978[09:49:43] <Forecaster> I'm not crafting 18k blocks manually
L979[09:51:49] <Inari> You clearly need bigger factory lines
L980[09:52:08] <Forecaster> smelting the netherrack into bricks is the bottleneck
L981[09:52:15] <Forecaster> I'm making an unduction furnace now
L982[10:01:46] <cloakable> make a row of ultimate smelting factories xD
L983[10:04:50] <DaMachinator> Forecaster: don't you have IC2?
L984[10:05:27] <Forecaster> "induction furnace"
L985[10:05:59] ⇨ Joins: willsmith (~willsmith@cake.is.a.lie.aperture.website)
L986[10:06:10] <Forecaster> cloakable: I don't know what that is
L987[10:08:02] <DaMachinator> mekanism machine, smelts 7 items at once, and i think the operation time can be upgraded to .5sec/operation
L988[10:08:13] <cloakable> ^
L989[10:08:25] <Forecaster> I don't have that
L990[10:08:36] <cloakable> and 1/sec, so seven items a second
L991[10:09:49] <DaMachinator> is IC2's furnace really called an induction furnace
L992[10:09:54] <DaMachinator> i thought it was something else
L993[10:10:08] <Forecaster> yes
L994[10:10:16] <cloakable> yeah, it's an induction furnace
L995[10:10:41] <DaMachinator> yay for machines with no cap on how fast they can technically go
L996[10:11:04] <cloakable> induction furnaces caps out at 1op/tick xP
L997[10:11:21] <DaMachinator> that's only because the entire game runs on ticks
L998[10:11:36] <cloakable> yeah, but it's still a cap xP
L999[10:26:27] ⇦ Quits: willsmith (~willsmith@cake.is.a.lie.aperture.website) (Remote host closed the connection)
L1000[10:26:40] ⇨ Joins: willsmith (~willsmith@cake.is.a.lie.aperture.website)
L1001[10:30:41] ⇦ Quits: Inari (~Pinkishu@p4FC1E329.dip0.t-ipconnect.de) (Quit: 'Multiplayer boobs!')
L1002[10:33:22] <Kodos> Why not an electric furnace array with overclock upgrades
L1003[10:33:25] <Kodos> Or is that not a thing anymore
L1004[10:34:35] ⇨ Joins: Inari (~Pinkishu@p4fc1e329.dip0.t-ipconnect.de)
L1005[10:36:04] <Forecaster> overclockers are really inefficient
L1006[10:43:36] <Forecaster> I've actually managed to run out of water
L1007[10:43:44] <Forecaster> because of paper production
L1008[10:44:30] <Inari> $250 sushi looks tasty as hell
L1009[10:44:43] <Forecaster> I don't like raw fish
L1010[10:48:59] <Tokiko> D:
L1011[10:50:59] <Inari> Psh $777 for a burger, crazy
L1012[10:54:51] <gamax92> 1911
L1013[10:55:03] <gamax92> :>
L1014[10:57:27] <Caitlyn> https://twitter.com/leeflower/status/806533901124599808
L1015[10:57:27] <MichiBot> Wed Dec 07 10:20:41 CST 2016 @leeflower: ? He's making a list
L1016[10:57:30] ⇨ Joins: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl)
L1017[10:57:32] <Caitlyn> Thanks Forecaster :P
L1018[10:59:23] <Vexatos> I am being insane right now
L1019[10:59:24] <Vexatos> help
L1020[10:59:31] <gamax92> hey Vexatos
L1021[11:00:00] <Vexatos> I am doing the insane
L1022[11:00:06] <Vexatos> trying to rewrite OC to IItemHandlers
L1023[11:00:09] <Vexatos> instead of IInventory
L1024[11:00:15] <gamax92> #BlameVexatos
L1025[11:00:36] <Vexatos> ?
L1026[11:01:12] <gamax92> was just trying to give you some motivational support
L1027[11:04:19] <Mettaton_Fab> #BlameProgramming
L1028[11:11:00] <Inari> #BlameMath
L1029[11:15:22] <Lizzy> s/at/et
L1030[11:15:22] <MichiBot> <Inari> #BlameMeth
L1031[11:16:12] <Mettaton_Fab> #BlameMySkills
L1032[11:16:21] <Skye> #BlameTools
L1033[11:16:32] <Forecaster> #BlameBlame
L1034[11:17:03] <gamax92> real talk though? I can't believe Vexatos forgot the blame system
L1035[11:17:26] <Vexatos> I blame Sangar's lack of presence
L1036[11:21:28] <Inari> Sangar turned into Akarin
L1037[11:21:38] <Inari> %tell Sangar you're a loli now
L1038[11:21:38] <MichiBot> Inari: Sangar will be notified of this message when next seen.
L1039[11:29:13] <gamax92> it'll be a few weeks until he sees that
L1040[11:39:04] <Forecaster> Caitlyn: ??
L1041[11:42:29] *** Keridos is now known as Keridos|away
L1042[12:01:12] <Inari> gamax92: thats the fun of it
L1043[12:01:23] <Forecaster> oh, I got my php <-> nginx container setup working
L1044[12:01:46] <Forecaster> by specifically setting the target as the php container
L1045[12:01:56] <Inari> gamax92: Meh, I want to eat delicious pricey food now :P
L1046[12:01:57] <Forecaster> apparently the link isn't pointing to the right container
L1047[12:02:36] <gamax92> Inari: what kind of food?
L1048[12:02:45] <Inari> gamax92: Pizza or pasta or so
L1049[12:03:11] <gamax92> that's pricey?
L1050[12:04:06] <Inari> If you go to the rigth places
L1051[12:04:38] <Inari> https://www.youtube.com/watch?v=NHiqsrYkcuk#t=7m33s
L1052[12:04:38] <MichiBot> $8 Pasta Vs. $100 Pasta | length: 11m 37s | Likes: 194,699 Dislikes: 6,455 Views: 11,432,768 | by BuzzFeedVideo | Published On 30/10/2016
L1053[12:07:42] *** Keridos|away is now known as Keridos
L1054[12:12:39] ⇨ Joins: flappy (~flappy@a88-113-154-4.elisa-laajakaista.fi)
L1055[12:14:25] * Mettaton_Fab wants lewd.
L1056[12:14:33] ⇨ Joins: Cervator (~Thunderbi@2601:4c1:4000:1050:2d32:4de9:d90d:c761)
L1057[12:20:18] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Read error: Connection reset by peer)
L1058[12:22:13] * gamax92 vomits as Symon refers to bits in a L->R fashion
L1059[12:22:33] <Forecaster> who?
L1060[12:22:46] <gamax92> this 6502 emulator
L1061[12:23:03] <gamax92> "// Bits 6-7 of IR: [ | | | | | |X|X]" no that's not where bits go.
L1062[12:23:28] <20kdc> wait... is that LSB-first?
L1063[12:23:43] <20kdc> Why? Just... why? Why would anybody *do that*?
L1064[12:24:07] <gamax92> I think the numbers listed are actually just wrong, the statement is doing & 0x3
L1065[12:24:45] <20kdc> that's even more confusing
L1066[12:25:10] <Forecaster> https://twitter.com/CGdrawing/status/807631777481138176
L1067[12:25:12] <MichiBot> Sat Dec 10 11:03:15 CST 2016 @CGdrawing: https://t.co/DmGAXVpQwh
L1068[12:25:15] <Forecaster> what the heck is that supposed to mean
L1069[12:25:30] <20kdc> gamax92: that suggests they're using MSB-first for bit numbers, which is also wrong, though at least less horrifyingly
L1070[12:26:21] <20kdc> Forecaster: I suggest not studying art history. For all we know, they studied it and it drove them insane.
L1071[12:30:06] <Forecaster> Inari: https://twitter.com/YvesBalak/status/785867352562868224 (bit nsfw)
L1072[12:30:06] <MichiBot> Tue Oct 11 10:39:12 CDT 2016 @YvesBalak: Big breasts self-defense. https://t.co/oor6Um8CpP
L1073[12:37:11] <Inari> Forecaster: Heh :P Bit too big
L1074[12:37:29] <Forecaster> kind of required to do that
L1075[12:45:02] <DaMachinator> i personally prefer a set of 2W lasers and an appropriate battery pack
L1076[12:46:14] <SolraBizna> gamax92: that was a terrible thing for me to wake up to seeing
L1077[12:58:03] ⇦ Quits: willsmith (~willsmith@cake.is.a.lie.aperture.website) (Read error: Connection reset by peer)
L1078[12:59:29] <DaMachinator> O.o
L1079[12:59:37] * DaMachinator just didn't click the link at all
L1080[13:00:28] <SolraBizna> I was talking about the bit number thing
L1081[13:01:07] <DaMachinator> ah
L1082[13:01:30] * DaMachinator was like "I know some of these words" for that
L1083[13:02:26] <DaMachinator> if i understand, they were writing bits such that 0001 == 0x8?
L1084[13:02:43] <SolraBizna> or numbering them so that bit 8 is 0x01
L1085[13:02:49] <SolraBizna> (or 7)
L1086[13:03:28] <DaMachinator> so calling the leftmost bit is "first"?
L1087[13:03:35] <SolraBizna> yeah
L1088[13:03:53] <DaMachinator> that sounds intentionally designed to be confusing...
L1089[13:03:55] <SolraBizna> not only is that not the general convention, but it's not the convention used by any material I've seen in the 6502 world
L1090[13:04:07] <DaMachinator> or even decimal numbers
L1091[13:04:37] <SolraBizna> I prefer "bit number = amount you need to shift 1 left by"
L1092[13:05:53] ⇦ Quits: Fiender (~Fiender@services.net.ru) (Ping timeout: 194 seconds)
L1093[13:06:08] ⇨ Joins: Fiender (~Fiender@services.net.ru)
L1094[13:07:06] <DaMachinator> which is also incidentally log_2(place value of that digit)
L1095[13:07:12] <DaMachinator> 1 == 2^0
L1096[13:07:18] <DaMachinator> 10 == 2^1
L1097[13:07:20] <DaMachinator> etc.
L1098[13:11:25] ⇨ Joins: gudenau (~gudenau@45-26-83-131.lightspeed.fyvlar.sbcglobal.net)
L1099[13:11:35] ⇦ Quits: gudenau (~gudenau@45-26-83-131.lightspeed.fyvlar.sbcglobal.net) (Remote host closed the connection)
L1100[13:13:10] <Mettaton_Fab> i cant decide which game to play!
L1101[13:15:28] <SolraBizna> Ghost Recon
L1102[13:18:17] <Mettaton_Fab> i hasz no monies.
L1103[13:18:38] <Tokiko> give me shekel
L1104[13:22:07] * Mettaton_Fab hits Tokiko with his Core2Quad PC
L1105[13:22:19] <Tokiko> D:
L1106[13:22:22] <Tokiko> birb abuse
L1107[13:23:54] <Mettaton_Fab> i want a better mobo!
L1108[13:30:56] <Mettaton_Fab> still a core2quad mobo, but it will allow me to use all my SATA hdds!
L1109[13:31:09] <Mettaton_Fab> LUA is gud.
L1110[13:31:10] <EnderBot2> It's Lua, not LUA. Name, not an acronym
L1111[13:33:50] * Temia picks up Tokiko, preens, puts in nest of blankets.
L1112[13:33:58] <Tokiko> <3
L1113[13:34:11] * Temia headpats.
L1114[13:34:22] <Temia> Birbs are to be cherished.
L1115[13:35:33] <Mettaton_Fab> birbs are important!
L1116[13:36:19] <Tokiko> \o/
L1117[13:42:00] <Mettaton_Fab> https://www.youtube.com/watch?v=Eyj1Ye6Sukg
L1118[13:42:01] <MichiBot> Ring of Fire XL and some other gas torch stupidity | length: 9m 27s | Likes: 2,211 Dislikes: 326 Views: 77,566 | by Beyond the press | Published On 7/12/2016
L1119[13:46:42] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L1120[14:00:06] ⇦ Quits: Keanu73 (~Keanu73@host-78-148-141-74.as13285.net) (Read error: Connection reset by peer)
L1121[14:00:55] <Vexatos> OH CH'T
L1122[14:00:57] <Vexatos> IT COMPILES
L1123[14:00:59] <Vexatos> HELP
L1124[14:01:00] <Vexatos> so uuh
L1125[14:02:00] <Vexatos> does anyone have a setup with just about a carpload of inventory controllers and/or transposers to test this with? :>
L1126[14:02:05] <Vexatos> I feel like I just rewrote half of OC
L1127[14:06:26] ⇦ Quits: jackmcbarn (jackmcbarn@gateway.insomnia247.nl) (Ping timeout: 192 seconds)
L1128[14:07:04] <Forecaster> just my broken factory :P
L1129[14:07:45] <blood_> Vexatos: RIP tracking , cause = Cause[{Name=Source, Object={ASM: li.cil.oc.common.EventHandler$@29b42618 onServerTick(Lnet/minecraftforge/fml/common/gameevent/TickEvent$ServerTickEvent;)Ljava/lang/Object;}}]
L1130[14:08:00] <blood_> this is one area that is impossible to track as i have no clue what the "source" is
L1131[14:08:19] <blood_> can move not be run during an update?
L1132[14:08:28] <blood_> rather than FML's ServerTickEvent
L1133[14:08:33] <Vexatos> can't
L1134[14:08:53] <blood_> reason?
L1135[14:09:00] <Vexatos> all code bound to the server thread is executed during that event
L1136[14:09:53] <CompanionCube> what did you rewrite
L1137[14:10:01] <Vexatos> And it doesn't care whether it's a block, an entity, your nanomachines or a divine being running the code
L1138[14:10:26] <Vexatos> CompanionCube, all the inventory handling
L1139[14:10:35] <Vexatos> for https://github.com/MightyPirates/OpenComputers/issues/2152
L1140[14:12:56] <blood_> Vexatos: im thinking of adding a new event for Forge
L1141[14:13:06] <blood_> how about an event that takes a source pos , target pos
L1142[14:13:15] <blood_> BlockMoveEvent
L1143[14:13:26] <Vexatos> have fun getting that into forge
L1144[14:13:28] <blood_> if i have the source, i can always get cause
L1145[14:13:39] <Vexatos> for now, RobotMoveEvent
L1146[14:13:39] <blood_> it will get in but it would be 1.11 only
L1147[14:13:40] <Vexatos> you're welcome
L1148[14:14:01] <blood_> right but dont want to add that just for a single mod :P
L1149[14:14:10] <blood_> however admins can listen to that
L1150[14:14:15] <blood_> with a custom mod/plugin
L1151[14:14:37] <blood_> does your RobotMoveEvent contain the source?
L1152[14:14:38] <Vexatos> exactly
L1153[14:14:58] <Vexatos> it contains the current position and the direction it will move to
L1154[14:15:28] <blood_> so Forge does have an event for this but it is used for neighbor notification
L1155[14:15:59] <blood_> BlockEvent.NeighborNotifyEvent
L1156[14:16:04] <blood_> you could technically fire this
L1157[14:16:28] <blood_> source and sides to notify
L1158[14:16:35] <blood_> directions i mean
L1159[14:17:23] <blood_> https://github.com/MinecraftForge/MinecraftForge/blob/1.11.x/src/main/java/net/minecraftforge/event/world/BlockEvent.java#L255
L1160[14:17:34] <blood_> you could fire that before move
L1161[14:18:37] <blood_> i could then use that and have proper tracking =)
L1162[14:19:57] *** medsouz|offline is now known as medsouz
L1163[14:27:14] * gamax92 pokes SolraBizna
L1164[14:27:38] <FLORANA> guys
L1165[14:27:39] ⇦ Quits: brandon3055__ (~Brandon@122-129-151-48.dynamic.ipstaraus.com) (Read error: Connection reset by peer)
L1166[14:27:41] <gamax92> gals
L1167[14:28:01] <FLORANA> OMG my friend just said this about OC and CC: `They both do the same, its just OC is way more harder`
L1168[14:28:05] ⇨ Joins: brandon3055__ (~Brandon@122-129-151-48.dynamic.ipstaraus.com)
L1169[14:28:11] <gamax92> that's nice
L1170[14:28:15] <Forecaster> that's terrible
L1171[14:28:17] <Forecaster> grammar
L1172[14:28:19] <FLORANA> there not the same
L1173[14:28:29] <gamax92> they're*
L1174[14:28:39] <FLORANA> the only thing that is the same is that it uses LUA
L1175[14:28:39] <EnderBot2> It's Lua, not LUA. Name, not an acronym
L1176[14:29:05] <Forecaster> well, kind of
L1177[14:29:09] <Forecaster> that's not really the same either
L1178[14:29:36] <gamax92> broken version of Lua 5.1 vs fully working version of 5.2, and entirely different api set
L1179[14:29:45] <Forecaster> ^
L1180[14:30:24] <CompanionCube> and OC allows you to actually make lua OSes
L1181[14:30:26] <CompanionCube> unlike CC
L1182[14:30:42] <gamax92> dammit SolraBizna where are you
L1183[14:34:11] <gamax92> heh ... Symon has a table of instruction modes for each opcode but then doesn't use it
L1184[14:34:29] <gamax92> it's only used in it's disassembler
L1185[14:36:03] <Inari> payonel: http://imgur.com/xVaBejZ
L1186[14:38:55] <Inari> http://imgur.com/gallery/cCQyk
L1187[14:58:25] <Vexatos> %tell payonel https://github.com/MightyPirates/OpenComputers/pull/2175 <3
L1188[14:58:26] <MichiBot> Vexatos: payonel will be notified of this message when next seen.
L1189[15:03:14] <Vexatos> %tell payonel I swear if there's no bug in this thing I won't drink orange juice for a day
L1190[15:03:14] <MichiBot> Vexatos: payonel will be notified of this message when next seen.
L1191[15:07:28] <SolraBizna> where am I?
L1192[15:07:38] <SolraBizna> not noticing my hilight is where I am
L1193[15:07:42] <SolraBizna> today is that kind of day
L1194[15:08:17] <SolraBizna> gamax92: now where are you?
L1195[15:09:19] <gamax92> SolraBizna: are there any standard 3/4 latter names for the 65c816 addressing modes?
L1196[15:09:31] <gamax92> all I can find is this http://www.oxyron.de/html/opcodes816.html
L1197[15:09:53] <SolraBizna> I think that's as close to standard short names as you'll find
L1198[15:11:14] <Inari> payonel: http://imgur.com/gallery/da1hzSX
L1199[15:11:57] ⇦ Quits: Hunterz (~hunterz@62.182.234.189) (Quit: Leaving.)
L1200[15:14:29] <MGR> Well, I'm sure many of you remember my old laptop that I deleted the BIOS from
L1201[15:14:37] <MGR> Today, I'm going to see if I can bring it back from the dead!
L1202[15:18:03] <SolraBizna> if you're making a 65c816 core, I really recommend using longer, more descriptive names for them
L1203[15:19:18] ⇨ Joins: Leonardoas26 (webchat@179.159.166.50)
L1204[15:22:51] <gamax92> SolraBizna: I don't know what I'm doing, I keep finding conflicting or incorrect documentation
L1205[15:23:57] ⇦ Quits: Turtle (~SentientT@82.171.92.73) (Quit: Nettalk6 - www.ntalk.de)
L1206[15:23:58] <gamax92> bah ... I did screw up my table though.
L1207[15:24:22] ⇦ Quits: Leonardoas26 (webchat@179.159.166.50) (Ping timeout: 195 seconds)
L1208[15:26:56] ⇨ Joins: Turtle (~SentientT@82.171.92.73)
L1209[15:28:55] ⇦ Quits: Turtle (~SentientT@82.171.92.73) (Client Quit)
L1210[15:29:48] ⇨ Joins: Turtle (~SentientT@82.171.92.73)
L1211[15:36:55] <MGR> I had to be careful to not obliterate my processor
L1212[15:37:10] <MGR> Mobile Haswell i7's don't have an integrated heat spreader, but are socketed
L1213[15:37:29] <MGR> I was basically touching either the silicon itself, or some sort of epoxy around it
L1214[15:51:17] ⇨ Joins: Leonardoas26 (webchat@179.159.166.50)
L1215[15:55:01] <Forecaster> https://www.youtube.com/watch?v=XHGKIzCcVa0
L1216[15:55:02] <MichiBot> Spinning | length: 17m 31s | Likes: 6,132 Dislikes: 95 Views: 43,460 | by Vsauce | Published On 10/12/2016
L1217[15:55:10] <Forecaster> I now understand that one xkcd
L1218[15:55:33] <Mettaton_Fab> MGR, how far into the process of repair are you right now?
L1219[15:58:23] <MGR> Mettaton_Fab, I'm re-installing the hardware into the motherboard now, why?
L1220[16:01:41] <SolraBizna> The W65C816S data sheet should have everything you need
L1221[16:01:48] <SolraBizna> *gamax92:
L1222[16:02:11] <MGR> all of a sudden, I wanted to lick the thermal paste off my finger
L1223[16:02:23] <MGR> that seems like a bad idea...
L1224[16:02:25] <SolraBizna> of course, WD data sheets are sometimes... special
L1225[16:02:32] <SolraBizna> MGR: is it silver-based thermal paste?
L1226[16:02:34] <Mettaton_Fab> http://i.imgur.com/u66ercz.gif
L1227[16:02:49] <MGR> SolraBizna, I don't think so?
L1228[16:02:57] <MGR> It's Thermal Grizzly Kryonaut
L1229[16:03:25] <SolraBizna> apparently it's silicone-based
L1230[16:03:29] <Mettaton_Fab> it could also be your plain white silicone-based computer poop.
L1231[16:03:34] <SolraBizna> you should probably not eat it
L1232[16:03:49] <MGR> Mettaton_Fab, this is not computer poop
L1233[16:03:59] <MGR> It's the best non liquid-metal thermal paste on the market
L1234[16:04:36] <Forecaster> you should probably not eat any kind of thermal paste
L1235[16:04:59] <SolraBizna> silver-based thermal paste is technically non-toxic, but you shouldn't eat that either
L1236[16:05:10] <SolraBizna> also, it can easily have additives that are toxic...
L1237[16:05:32] <MGR> SolraBizna, my thoughts exactly
L1238[16:05:39] <MGR> I don't think most people eat thermal paste
L1239[16:06:17] <SolraBizna> https://en.wikipedia.org/wiki/Argyria <-- eat enough colloidal silver and you can end up like this guy
L1240[16:06:19] <MGR> I'm also in an interesting problem
L1241[16:06:27] <DaMachinator> what
L1242[16:06:35] <MGR> I need to cover the entire CPU with thermal paste
L1243[16:06:51] <MGR> but I don't want to use my spreader, because I could be scraping the bare silicon
L1244[16:06:57] <SolraBizna> :|
L1245[16:07:07] <MGR> something tells me that it would do the opposite of enhancing the integrity of the CPU
L1246[16:07:09] <SolraBizna> the epoxy is gone?
L1247[16:07:19] <MGR> idk
L1248[16:07:24] <MGR> Is epoxy reflective?
L1249[16:07:40] <SolraBizna> is it a big square/rectangular block that looks like a dull metal?
L1250[16:07:59] <SolraBizna> (optionally shiny)
L1251[16:08:03] <MGR> noooooooooo
L1252[16:08:15] <MGR> i never socketed the cpu'
L1253[16:08:18] <DaMachinator> um
L1254[16:08:30] <MGR> it's only hanging on by the paste
L1255[16:08:32] <DaMachinator> you put a tiny bit in the middle and put the cooler on top?
L1256[16:08:35] <MGR> bad
L1257[16:08:41] <SolraBizna> is it a very very small square/rectangle, with dimensions on the order of fingernail-thicknesses
L1258[16:08:44] <SolraBizna> *?
L1259[16:08:46] <DaMachinator> and the cooler squishes the paste out?
L1260[16:09:35] <MGR> SolraBizna, yes
L1261[16:10:00] <MGR> also, I locked the CPU in the socket successfully
L1262[16:10:02] <MGR> dodged a bullet
L1263[16:10:02] <SolraBizna> ...
L1264[16:10:11] <MGR> I hope I didn't bend the pins though...
L1265[16:10:12] <SolraBizna> but it's big enough to fit in a socket?
L1266[16:10:25] <MGR> It's a mobile Haswell
L1267[16:10:34] <MGR> PGA947 socket
L1268[16:10:49] ⇦ Quits: Mettaton_Fab (~OyVey@p5796404e.dip0.t-ipconnect.de) (Quit: gotta go to bed or other stuff, maybe its not even midnight and im just sleepy af)
L1269[16:11:04] <SolraBizna> I am interested in learning how you removed the casing without disconnecting it from the package entirely
L1270[16:11:22] <MGR> I didn't
L1271[16:11:30] <MGR> there was never any Integrated Heat Spreader
L1272[16:12:14] <SolraBizna> I'm fairly sure the fragile parts of the CPU are still encased, but I wouldn't say I'm "go ahead and risk scratching it" sure
L1273[16:12:37] <MGR> yeah, I got the paste on successfully
L1274[16:12:45] <MGR> It's also party time, so I gotta go
L1275[16:12:52] <MGR> bye!
L1276[16:16:22] ⇨ Joins: brandon3055_ (~Brandon@122-129-151-48.dynamic.ipstaraus.com)
L1277[16:17:23] ⇦ Quits: brandon3055__ (~Brandon@122-129-151-48.dynamic.ipstaraus.com) (Read error: Connection reset by peer)
L1278[16:17:55] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Read error: Connection reset by peer)
L1279[16:18:02] * Lizzy picks up vifino and carries him to bed
L1280[16:22:33] <gamax92> SolraBizna: well it's at the point where it knows about each instruction length and every new instruction has a corresponding case, just need to implement it
L1281[16:35:04] <gamax92> SolraBizna: also, whats with the WDM opcode?
L1282[16:35:37] ⇦ Quits: Inari (~Pinkishu@p4fc1e329.dip0.t-ipconnect.de) (Quit: 'I still love you.' - D.Va (Overwatch))
L1283[16:36:14] <SolraBizna> it's reserved for variable-length opcodes
L1284[16:36:23] <SolraBizna> it stands for William D. Mensch
L1285[16:39:10] <GreaseMonkey> sure it doesn't stand for "watchdog management"?
L1286[16:40:47] <gamax92> SolraBizna: can I use it for custom stuff then?
L1287[16:41:36] <SolraBizna> 7.16 WDM Opcode Use: The WDM opcode may be used on future microprocessors. It performs no operation. WDM are the initials of William D. Mensch, Jr., the founder of WDC.
L1288[16:41:42] <SolraBizna> You can, but you should avoid doing so
L1289[16:42:16] <SolraBizna> Doing so will definitely not conflict with anything targeting current 65xx variants
L1290[16:42:26] <SolraBizna> s/65xx/65*/
L1291[16:42:26] <MichiBot> <SolraBizna> Doing so will definitely not conflict with anything targeting current 65* variants
L1292[16:52:36] <cloakable> Hmm, no feldim
L1293[16:56:09] * Temia flops on Cloakable. zzzmoo.
L1294[16:56:44] * cloakable is both damp and warm. Hugs on Temia snoozemoo.
L1295[17:04:06] ⇦ Quits: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl) (Quit: Leaving)
L1296[17:17:18] <Tokiko> moo
L1297[17:29:47] <gamax92> SolraBizna: erm what ... the 65C816 has a 24bit address space but the program counter is still 16bits with a separate register for what 64KiB bank to use?
L1298[17:30:36] *** Keridos is now known as Keridos|away
L1299[17:30:40] <SolraBizna> that is correct
L1300[17:30:52] <SolraBizna> and many data addresses are also still 16-bit, with a different bank register
L1301[17:31:31] *** Keridos|away is now known as Keridos
L1302[17:31:32] <SolraBizna> there *are* long-jumps and 24-bit data addressing available
L1303[17:42:57] <Izaya> the 65C816 is cool in that it's 6502 compatible
L1304[17:43:04] <Izaya> but it's also a sorta horrid kludge
L1305[17:46:09] <gamax92> I'm seeing the horrid kludge part of it
L1306[17:48:23] <Izaya> I imagine it would be good for running a bunch of 6502 programs
L1307[17:48:49] <SolraBizna> it's common for 65C816 systems that have important memory-mapped devices to mirror that space in multiple banks
L1308[17:48:56] <SolraBizna> *65816
L1309[17:53:12] <gamax92> SolraBizna: I'll just pretend it's a 65C802 :v
L1310[17:53:31] ⇨ Joins: BILLPC2684 (~billpc268@ov8.bisecthosting.com)
L1311[17:53:37] <BILLPC2684> hello :3
L1312[17:54:08] <Kodos> Howdy
L1313[17:54:45] <BILLPC2684> X3 i haven't been using wocchat this hole time i've been on my modded server
L1314[17:55:32] <Kodos> wocchat best chat
L1315[17:56:03] <BILLPC2684> ^ oh this just came to mind is there a OC discord client?
L1316[17:56:32] <Forecaster> no
L1317[17:56:37] <BILLPC2684> aww
L1318[17:56:46] ⇨ Joins: Dasm (Mibbit@47.210.61.9)
L1319[17:56:49] <BILLPC2684> there is lua APIs for discord
L1320[17:57:29] <Dasm> Hello, does any one have a good program that I can use to monitor power on my draconic capacitor?
L1321[18:00:19] <Kodos> Dasm, are you using Computronics
L1322[18:00:29] <Dasm> Computronics?
L1323[18:00:36] <Kodos> It's an addon mod to OC
L1324[18:01:17] <Amerem> isnt it 1.6.4 only tho?
L1325[18:01:25] <Dasm> I'm using 1.10.2
L1326[18:02:58] <Caitlyn> No it's not 1.6 only
L1327[18:03:12] <Caitlyn> http://files.vexatos.com/?dir=Computronics
L1328[18:03:31] <Vexatos> http://wiki.vex.tty.sh/wiki:computronics
L1329[18:03:31] <Caitlyn> Computronics-1.10.2-1.6.1.jar
L1330[18:04:13] <Amerem> oh I couldn't find it for 1.7.10 so I didnt add it to my modpack
L1331[18:04:45] *** medsouz is now known as medsouz|offline
L1332[18:04:55] <Izaya> BILLPC2684: why would you want discord? :P
L1333[18:05:08] <Vexatos> But there is only that one place to find it >_>
L1334[18:07:34] <Kodos> because you're lame and won't put it on curse
L1335[18:07:35] <Kodos> lol
L1336[18:07:53] <BILLPC2684> cuz discord is cool :P
L1337[18:08:12] <BILLPC2684> i mean i like IRC
L1338[18:08:20] ⇦ Quits: brandon3055_ (~Brandon@122-129-151-48.dynamic.ipstaraus.com) (Read error: Connection reset by peer)
L1339[18:08:23] <BILLPC2684> but you can do way more with discord XD
L1340[18:09:17] <Izaya> okay but discord does not respect your freedoms
L1341[18:09:23] <Forecaster> a lua client would be limited though
L1342[18:09:32] <Izaya> (and also I hear the API is sorta terrible, and you can't even do voice with it)
L1343[18:09:37] ⇨ Joins: brandon3055 (~Brandon@122-129-151-48.dynamic.ipstaraus.com)
L1344[18:10:20] <BILLPC2684> RIP i got `LuaError|/home/wocchat.lua:830: attempt to index field '?' (a nil value)` in the connection screen of wocchat XD
L1345[18:10:56] <BILLPC2684> there is a voice chat mod for minecraft :3
L1346[18:11:10] ⇦ Quits: sshika (webchat@bsr-213-44-171-58.ft.ethernet.abo.bbox.fr) (Quit: Web client closed)
L1347[18:11:29] <BILLPC2684> imagen getting a mod to connect the ingame VC to discord over opencomputers XD
L1348[18:11:30] <CompanionCube> I wonder if none web clients exist
L1349[18:11:40] <BILLPC2684> ?
L1350[18:12:08] <CompanionCube> for discord
L1351[18:12:23] <BILLPC2684> um what about discord it's self?
L1352[18:12:30] <BILLPC2684> it's javascript
L1353[18:12:31] <cloakable> ^
L1354[18:12:37] <Forecaster> "none"?
L1355[18:12:44] <CompanionCube> there was a missing hyphen
L1356[18:12:55] <SolraBizna> and an extra e?
L1357[18:13:01] <BILLPC2684> oh
L1358[18:13:07] <Kodos> Technically you can use Mekanism walkie talkies for voice
L1359[18:13:11] <Kodos> Though I've never been able to test them
L1360[18:13:14] <BILLPC2684> well bots are
L1361[18:13:23] <Vexatos> well I do know a discord terminal client
L1362[18:13:25] <Forecaster> Kodos: only in-world though
L1363[18:13:29] <Vexatos> but it uses curses so it's not quite Lua :P
L1364[18:13:33] <BILLPC2684> oh yah
L1365[18:13:36] <BILLPC2684> i remember
L1366[18:13:39] <BILLPC2684> for linux
L1367[18:14:01] <Vexatos> I use the official discord client for linux though :P
L1368[18:14:17] <Vexatos> http://git.io/v1ofR was a funny idea though
L1369[18:14:18] <BILLPC2684> ditto
L1370[18:14:36] <BILLPC2684> i'm using VC on discord as i use arch linux
L1371[18:14:37] <BILLPC2684> XD
L1372[18:15:44] <BILLPC2684> i try'd to remake wocchat in love2D XD
L1373[18:16:02] <BILLPC2684> too hard to make terminal like screen XD
L1374[18:16:44] <Caitlyn> %tell gamax92 <BILLPC2684> RIP i got `LuaError|/home/wocchat.lua:830: attempt to index field '?' (a nil value)` in the connection screen of wocchat XD
L1375[18:16:44] <MichiBot> Caitlyn: gamax92 will be notified of this message when next seen.
L1376[18:16:58] <BILLPC2684> ?
L1377[18:17:12] <Forecaster> wait wut
L1378[18:17:22] <Caitlyn> gamax is the author, I sent him a "tell" so he'll get that message later
L1379[18:17:25] <BILLPC2684> ah
L1380[18:17:29] <BILLPC2684> got it
L1381[18:17:30] <SolraBizna> he's here now, though
L1382[18:17:34] <BILLPC2684> plus
L1383[18:17:40] <Caitlyn> he hasn't said anything in 23 minutes
L1384[18:17:48] <Forecaster> I didn't see you do the %tell oO
L1385[18:17:48] <BILLPC2684> i haven't seen if there was a update yet
L1386[18:17:50] <Caitlyn> next time he talks he'll get the message even if its out of his buffer
L1387[18:17:59] <BILLPC2684> X3
L1388[18:18:33] <BILLPC2684> to tell the truth all i did was turn on my tablet and connect after joining my server XD
L1389[18:18:50] <Caitlyn> which OC version are you on BILLPC2684?
L1390[18:18:57] <SolraBizna> neat
L1391[18:18:59] <BILLPC2684> um...
L1392[18:19:12] <Dasm> How the heck am I supposed to power an RFtools dimension that requires 200000 rf/t
L1393[18:19:13] <BILLPC2684> idrk
L1394[18:19:13] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L1395[18:19:34] <gamax92> bah
L1396[18:19:36] <Caitlyn> well, like magic, the file name has the version number, unless you removed it
L1397[18:19:50] <BILLPC2684> brb
L1398[18:19:58] ⇦ Quits: BILLPC2684 (~billpc268@ov8.bisecthosting.com) (Quit: Proudly using WocChat!)
L1399[18:20:25] <Caitlyn> Oh... umm
L1400[18:20:29] <Caitlyn> well if he was here on wocchat
L1401[18:20:34] <Caitlyn> then... o_O
L1402[18:20:56] <gamax92> yeah that's a captured error
L1403[18:21:18] <gamax92> doesn't crash the program just means a problem occured while trying to process IRC data
L1404[18:22:14] <gamax92> which uhh, 830 in wocchat is "end" so ... can't do anything
L1405[18:22:27] <FLORANA> um help...
L1406[18:22:31] <gamax92> no
L1407[18:22:40] <FLORANA> i updated it and it crashed
L1408[18:23:11] <gamax92> well why not tell me what the error message is then? :D
L1409[18:23:30] ⇦ Quits: Vexatos (~Vexatos@p200300556E653146FCB613C21D8E1EED.dip0.t-ipconnect.de) (Quit: I guess I have to go now. Bye ✔)
L1410[18:23:35] <FLORANA> stack traceback:
L1411[18:23:50] <gamax92> oh okay.
L1412[18:24:00] <FLORANA> machine:631: in function 'spcall'
L1413[18:24:12] <FLORANA> machine:1258: in function 'proxy'
L1414[18:24:18] <gamax92> just ... screenshot or pastebin if it's multiple lines :/
L1415[18:24:28] <FLORANA> oh ok
L1416[18:24:40] <FLORANA> i didn't want the /n to break IRC XD
L1417[18:29:12] <FLORANA> bad argument #1 (string expected, got table):
L1418[18:29:12] <FLORANA> stack traceback:
L1419[18:29:12] <FLORANA> [C]: in function 'error'
L1420[18:29:12] <FLORANA> machine:631: in function 'spcall'
L1421[18:29:13] <FLORANA> machine:1258: in function 'proxy'
L1422[18:29:13] <FLORANA> /usr/bin/wocchat.lua:81: in function 'restoreScreen'
L1423[18:29:13] <FLORANA> /usr/bin/wocchat.lua:1629: in main chunk
L1424[18:29:13] <FLORANA> [C]: in function 'xpcall'
L1425[18:29:14] <FLORANA> machine:751: in function 'xpcall'
L1426[18:29:14] <FLORANA> /lib/process.lua:78: in function </lib/process.lua:71>
L1427[18:29:14] <FLORANA> stack traceback:
L1428[18:29:15] <FLORANA> [C]: in function 'error'
L1429[18:29:15] <FLORANA> /lib/process.lua:92: in function </lib/process.lua:71>
L1430[18:29:20] <Caitlyn> Dude
L1431[18:29:21] <Caitlyn> no.
L1432[18:29:21] <Tokiko> ook
L1433[18:29:24] <FLORANA> ?
L1434[18:29:30] <FLORANA> oh
L1435[18:29:39] <Caitlyn> you just spammed the FUCK out of IRC
L1436[18:29:40] <FLORANA> i didn't see pastebin
L1437[18:29:43] <FLORANA> sorry
L1438[18:29:50] ⇦ Quits: klava (~klava@sb.puppyhakase.com) (Remote host closed the connection)
L1439[18:29:51] <FLORANA> I"M A F****** DERP
L1440[18:29:55] <FLORANA> XD
L1441[18:29:57] ⇨ Joins: klava (~klava@sb.puppyhakase.com)
L1442[18:30:30] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:b412:627:dd5d:d620)
L1443[18:30:35] <FLORANA> all i saw was `just ... screenshot or multiple lines`
L1444[18:30:49] <FLORANA> sorry
L1445[18:31:15] <Caitlyn> well theres your error gamax92 :/
L1446[18:31:24] <FLORANA> lol sorry XD
L1447[18:31:41] <FLORANA> ... god i hate myself sometimes...
L1448[18:32:22] <Izaya> hm
L1449[18:32:46] <Izaya> there was some metatable magic you could do that let you have a table which you could access either the key or the value and get the other
L1450[18:32:52] <Izaya> so if table.a = 1
L1451[18:32:58] <Izaya> you could do table.a and get 1
L1452[18:33:03] <Izaya> or do table.1 and get a
L1453[18:33:12] <Izaya> that was a thing, right?
L1454[18:33:26] <FLORANA> O.O my in-game tablet just died and i have no coal for my generator ;-;
L1455[18:33:33] <SolraBizna> it would be table[1]
L1456[18:33:37] <SolraBizna> and it would be possible to do that, yes
L1457[18:34:11] <Izaya> yeah I know
L1458[18:34:17] <Izaya> but I couldn't be bothered for pseudocode
L1459[18:35:44] ⇨ Joins: VikeStep (~VikeStep@101.184.55.151)
L1460[18:42:14] *** Keridos is now known as Keridos|away
L1461[19:13:16] ⇦ Quits: VikeStep (~VikeStep@101.184.55.151) (Ping timeout: 186 seconds)
L1462[19:17:15] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:b412:627:dd5d:d620) (Ping timeout: 206 seconds)
L1463[19:19:04] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Read error: Connection reset by peer)
L1464[19:31:44] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:78c3:b86a:e037:9431)
L1465[19:48:04] *** wer38 is now known as wer38|AFK
L1466[20:08:58] ⇦ Quits: Turtle (~SentientT@82.171.92.73) (Quit: Nettalk6 - www.ntalk.de)
L1467[20:15:10] ⇨ Joins: VikeStep (~VikeStep@101.184.55.151)
L1468[20:21:22] <FLORANA> did something happen to IRC?
L1469[20:21:37] <FLORANA> it feels like it just plain stopped XD
L1470[20:21:40] <Caitlyn> Yes, inactivity, it happens
L1471[20:21:43] <FLORANA> XD
L1472[20:21:56] <FLORANA> it felt like IRC was dead XD
L1473[20:30:42] <Temia> Pssh.
L1474[20:48:54] <Izaya> Optomising for a 1Hz processor is fun
L1475[20:51:03] <Izaya> a 1Hz processor with 8 instructions
L1476[21:03:35] ⇦ Quits: Jezza (~Jezza@92.206.161.17) (Ping timeout: 206 seconds)
L1477[21:18:27] ⇦ Quits: Leonardoas26 (webchat@179.159.166.50) (Ping timeout: 195 seconds)
L1478[21:18:28] <Hovercraft> which 8
L1479[21:21:50] <Temia> 1Hz.
L1480[21:25:32] <Dasm> either my ender IO dense ME conduits are only carrying 8 channels.. or I don't know how to P2P tunnel
L1481[21:27:40] <CompanionCube> Temia: I think it's actually 1Mhz
L1482[21:28:22] <Temia> I think I'll wait for Izaya to confirm that. I don't want to make assumptions.
L1483[21:28:34] <CompanionCube> from elsewhere
L1484[21:28:43] <CompanionCube> ..oh
L1485[21:28:45] <CompanionCube> I misread it
L1486[21:29:01] <CompanionCube> it actually is 1Hz, I just thought that was too low
L1487[21:29:03] <Temia> I sure hope the instructions are all single-cycle
L1488[21:29:53] <Izaya> dup, swp, read, write, add, sub, jmp, sez
L1489[21:29:57] <Izaya> yes they are
L1490[21:31:02] <Izaya> 8 single-cycle instructions
L1491[21:31:25] <Izaya> https://github.com/XeonSquared/test3d
L1492[21:34:52] <CompanionCube> Izaya: perhaps the reason for the slowness is you writing a CPU in *lua*
L1493[21:35:13] <Izaya> no no
L1494[21:35:21] <Izaya> I can only run ABMs once per second
L1495[21:35:44] <CompanionCube> why not execute multiple instructions per ABM then
L1496[21:35:58] <Izaya> CompanionCube: because memory access
L1497[21:36:09] <Izaya> and also I need to not kill the server
L1498[21:36:20] <CompanionCube> Izaya: just throttle
L1499[21:36:35] <CompanionCube> and if the speedup comes to be enough, make RAM access multi-cycle
L1500[21:36:54] <Izaya> or do caching and branch prediction
L1501[21:37:07] <CompanionCube> isn't that much harder
L1502[21:38:23] <Izaya> eh
L1503[21:39:00] <Izaya> program counter is here, get the next 5 instructions, and if any of those are jumps, get 5 instructions after those too
L1504[21:44:34] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L1505[22:05:41] ⇦ Quits: BearishMushroom (~BearishMu@90-231-174-194-no159.tbcn.telia.com) (Read error: Connection reset by peer)
L1506[22:17:44] ⇦ Quits: Lathanael (~Lathanael@p5496043D.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L1507[22:24:05] ⇨ Joins: Lathanael|Away (~Lathanael@p549614AB.dip0.t-ipconnect.de)
L1508[22:46:17] ⇨ Joins: techno156 (~techno156@137.154.137.222)
L1509[23:41:57] <SolraBizna> why is memory access slow?
<<Prev Next>> Scroll to Top