<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:22:24] *** Daiyousei is now known as LearningFairy
L2[00:43:20] ⇦ Quits: TangentDelta (~tangentde@63.143.24.22) (Quit: WeeChat 1.3)
L3[00:53:02] ⇦ Quits: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net) (Ping timeout: 195 seconds)
L4[00:53:02] ⇦ Quits: ^v5 (~^v@c-68-41-215-101.hsd1.mi.comcast.net) (Ping timeout: 195 seconds)
L5[01:07:52] ⇨ Joins: Vexatos (~Vexatos@p5B3C9AF8.dip0.t-ipconnect.de)
L6[01:07:52] zsh sets mode: +v on Vexatos
L7[01:08:17] <sugoi> Vexatos: hi
L8[01:08:26] <Vexatos> gi
L9[01:08:30] <Vexatos> hi .-.
L10[01:08:35] <sugoi> Vexatos: did i understand that you said functions are objects?
L11[01:08:44] <Vexatos> It's 8 a.m., sorry
L12[01:08:51] <sugoi> well good morning
L13[01:09:02] <Vexatos> they should be, according to Lua's Manual
L14[01:09:33] <sugoi> i assumed, and i think incorrectly, that meant i could do weird things with them like i can with tables
L15[01:09:48] <sugoi> the first thing i tried was to set a metamethod, which erros saying table expected
L16[01:10:00] <sugoi> so, what does it mean that a function is an object
L17[01:10:19] <sugoi> what extra functionality does that mean, in other words
L18[01:10:52] <Vexatos> unique metatables
L19[01:11:00] <sugoi> anywho, i'm reading the manual now to understand more about functions
L20[01:12:04] <sugoi> ok then i need to learn about metatables
L21[01:12:51] *** Cruor|Away is now known as Cruor
L22[01:15:12] <sugoi> ah
L23[01:15:17] <sugoi> ok so i've understood metamethods
L24[01:15:29] <sugoi> it seems, metamethods are just the values in the metatable
L25[01:15:38] <sugoi> well, that's simple enough, hopefully
L26[01:15:51] <Vexatos> Yes exactly
L27[01:16:09] <Vexatos> You fill specific keys in the metatable with metamethods
L28[01:16:17] <Vexatos> like __add or __len or __call etc.
L29[01:16:33] <Vexatos> of course, thoes metamethods can be tables themselves
L30[01:16:44] <Vexatos> because, as you know, tables can be called with __call :P
L31[01:16:48] <Vexatos> INFINITE META
L32[01:17:03] <sugoi> :) yes, that is pretty cool
L33[01:17:13] <sugoi> so, i haven't tried but
L34[01:17:25] <sugoi> is setmetamethod strict about getting tables (1st arg)
L35[01:17:35] <sugoi> but setmetatable can table any object?
L36[01:17:48] <Vexatos> there is no such function as setmetamethod
L37[01:17:49] <sugoi> or will i need to call getmetatable first, and assign the metamethod i want more directly
L38[01:17:51] <Vexatos> you just
L39[01:17:57] <Vexatos> local t = getmetatable(myobj)
L40[01:18:13] <Vexatos> t.__call = function() return "fish" end
L41[01:18:16] <sugoi> oh, um
L42[01:18:19] <sugoi> wait wait
L43[01:18:20] <Vexatos> setmetatable(myobj, t)
L44[01:18:22] <Vexatos> boom
L45[01:18:26] <Vexatos> now you can call t()
L46[01:18:41] <Vexatos> and it will return "fish"
L47[01:18:49] <sugoi> understood
L48[01:18:51] <sugoi> that's not my confusion
L49[01:18:54] <sugoi> i'll elaborate in a sec
L50[01:19:01] <Vexatos> a metatable is just a normal table
L51[01:19:10] <Vexatos> and can be accessed like any table
L52[01:19:16] <Vexatos> there is no "setmetamethod"
L53[01:19:27] <sugoi> that's fine
L54[01:19:35] <sugoi> my problem is that setmetatable errors when myobj is a function
L55[01:20:00] <sugoi> same with getmetamethod
L56[01:20:21] <sugoi> getmetatable*
L57[01:20:21] <sugoi> sorry
L58[01:20:49] <sugoi> ok
L59[01:20:57] <sugoi> perhaps that's just oc's lua, or perhaps just gamax's emulator
L60[01:21:13] <sugoi> in a real lua shell, =getmetatable(function) returns nil, instead of errors
L61[01:21:15] <Vexatos> According to the Manual, Lua is sandboxed in such a way that only tables' metatables can be canged
L62[01:21:18] ⇦ Quits: jackmcbarn (jackmcbarn@2001:470:1f15:958:223:7dff:feed:6c92) (Quit: ZNC - http://znc.in)
L63[01:21:35] <Vexatos> Anything else would require the debug library and its native C calls
L64[01:21:38] <sugoi> hmm, ok
L65[01:21:53] <Vexatos> Just use tables anyawy
L66[01:21:55] <Vexatos> anyway*
L67[01:22:05] <sugoi> so..functions may be objects with unique metatables
L68[01:22:11] <sugoi> but, it seems that gives me extra functionality?
L69[01:22:14] <sugoi> NO extra
L70[01:22:21] <sugoi> gives me nothing more - due to the sandboxing?
L71[01:22:33] <Vexatos> Yea
L72[01:22:42] <Vexatos> But tables can do anything functions can do
L73[01:22:47] <sugoi> i just ...
L74[01:22:48] <Vexatos> so just stick with tables
L75[01:22:53] <sugoi> so i am working on an API
L76[01:23:02] <sugoi> and i want my api calls to be type(f) functions
L77[01:23:14] <sugoi> well, i dont know
L78[01:23:25] <sugoi> i just want a clever way to attaching documentation strings per functions
L79[01:23:47] <sugoi> each api method could be a table, with a description string as well as have a __call
L80[01:23:52] <sugoi> but i wondered if that was weird
L81[01:26:55] <Vexatos> Well, Selene uses a special version of type() for that
L82[01:28:27] <sugoi> ok - well
L83[01:28:58] <sugoi> in openos in oc, =obj has a lot of extra behavior
L84[01:29:13] <sugoi> for example, =component shows a lot of helpful info
L85[01:29:31] <sugoi> like...get=function();string -- Get the currently stored byte array.
L86[01:29:54] <sugoi> how can i hook into that same serialization
L87[01:30:03] <sugoi> that i feel would be just right for what i want to do
L88[01:31:29] <Vexatos> well, component is a table
L89[01:31:47] <Vexatos> all fields in component are tables too
L90[01:32:29] <sugoi> so the value explicity says "function():string ... ", a string, but has __call
L91[01:32:47] <sugoi> but it lies then! =type(component.get) says function
L92[01:32:53] <sugoi> or what do i misunderstand
L93[01:32:55] <Vexatos> https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/lua/machine.lua#L1186
L94[01:33:30] <Vexatos> component.get is a function
L95[01:33:55] <Vexatos> component.proxy just returns tables
L96[01:34:06] <Vexatos> as done component.yourcomponent
L97[01:34:10] <Vexatos> as does*
L98[01:44:18] <sugoi> Vexatos: ok the answer to this is not clear to me
L99[01:44:42] <sugoi> so, wait, nvm, one more thing to try
L100[01:45:29] <sugoi> ok no i'm not sure
L101[01:45:57] <sugoi> let's start from a different point of view perhaps
L102[01:46:06] <sugoi> =component prints all kinds of info
L103[01:46:19] <sugoi> including info about get, giving a nice string about it
L104[01:46:40] <sugoi> function():string -- Get the currently stored byte array
L105[01:47:01] <sugoi> but, getmetatable(component) doesn't have a __tostring
L106[01:47:11] <sugoi> and component.get is a function, definitely i cannot get the metatable about it
L107[01:47:46] <sugoi> i'm not sure what the componentCallback does for me. is that the __call on the component table?
L108[01:47:59] <sugoi> and if so -- what does that have to do with lua>=component
L109[01:48:18] <sugoi> nope, no component __call
L110[01:49:11] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Remote host closed the connection)
L111[01:51:42] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
L112[01:51:49] ⇨ Joins: VikeStep (~VikeStep@101.184.168.47)
L113[01:52:36] *** Kasen is now known as rakiru|offline
L114[02:09:20] <sugoi> ok i'll have to study this later. but i don't understand how = prints such info, not yet, at least
L115[02:09:22] * sugoi is afk
L116[02:14:05] *** Skye|ZZZ is now known as Skye|School
L117[02:19:25] ⇦ Quits: Brycey92 (~Brycey92@bmb5663-27-21.rh.psu.edu) (Quit: Live long and prosper)
L118[03:00:23] *** Yepoleb is now known as Guest29914
L119[03:00:23] ⇦ Quits: Guest29914 (~quassel@178-191-135-54.adsl.highway.telekom.at) (Killed (nova.esper.net (Nickname regained by services)))
L120[03:00:26] ⇨ Joins: Yepoleb (~quassel@178-190-231-85.adsl.highway.telekom.at)
L121[03:41:40] ⇨ Joins: Inari (~Uni@p549ce669.dip0.t-ipconnect.de)
L122[04:13:57] ⇦ Quits: Something12_ (~Something@s010634bdfa9eca7b.vs.shawcable.net) (Ping timeout: 183 seconds)
L123[04:44:45] ⇨ Joins: Starhero-MC (~EiraIRC@24-113-128-11.wavecable.com)
L124[05:01:07] ⇦ Quits: Starhero-MC (~EiraIRC@24-113-128-11.wavecable.com) (Remote host closed the connection)
L125[06:06:36] ⇦ Quits: VikeStep (~VikeStep@101.184.168.47) (Read error: Connection reset by peer)
L126[06:08:37] ⇨ Joins: VikeStep (~VikeStep@101.184.168.47)
L127[06:14:21] ⇨ Joins: LE (~le@p5B127DAD.dip0.t-ipconnect.de)
L128[06:14:25] <LE> hallo
L129[06:14:50] *** LE is now known as Guest5027
L130[06:15:15] ⇦ Quits: Guest5027 (~le@p5B127DAD.dip0.t-ipconnect.de) (Client Quit)
L131[06:16:56] ⇨ Joins: LE (~le@p5B127DAD.dip0.t-ipconnect.de)
L132[06:17:25] ⇦ Quits: LE (~le@p5B127DAD.dip0.t-ipconnect.de) (Client Quit)
L133[06:20:19] ⇨ Joins: LE (~le@p5B127DAD.dip0.t-ipconnect.de)
L134[06:20:38] ⇦ Quits: LE (~le@p5B127DAD.dip0.t-ipconnect.de) (Client Quit)
L135[06:33:24] ⇨ Joins: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de)
L136[06:42:45] ⇨ Joins: blizzardwulf (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de)
L137[06:43:47] ⇦ Quits: blizzardwulf (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de) (Client Quit)
L138[06:43:47] ⇦ Quits: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de) (Ping timeout: 183 seconds)
L139[06:49:30] ⇨ Joins: Vexaton (~Vexatos@p200300556E5802673809A1DA13A67D00.dip0.t-ipconnect.de)
L140[06:49:30] zsh sets mode: +v on Vexaton
L141[06:49:49] ⇦ Quits: Vexatos (~Vexatos@p5B3C9AF8.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
L142[06:53:21] ⇨ Joins: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de)
L143[07:02:26] ⇦ Quits: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de) (Ping timeout: 198 seconds)
L144[07:05:07] ⇦ Quits: Away_21 (crystal@bronyville.me) (Quit: lol im out bye TACOS)
L145[07:07:15] ⇨ Joins: Away_21 (crystal@bronyville.me)
L146[07:20:48] <S3> ok back
L147[07:43:56] ⇦ Quits: RomanticJo (webchat@c-71-227-168-93.hsd1.wa.comcast.net) (Ping timeout: 204 seconds)
L148[07:46:42] ⇦ Quits: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de) (Quit: Leaving)
L149[07:55:55] <S3> gamax92: I did come up with a partitioning scheme
L150[07:59:06] <S3> my buddy and I brainstormed it last night. It has no superblock or anything. all it has is a magic number at the very end of the disk, a partition table just before that, and the filesystems are aligned from there starting at the beginning of the disk. the filesystem type is 8 bit, and there is an 8 bit set of flags for things such as a partition being inactive, etc.
L151[07:59:31] <S3> not filesystem, partition*
L152[08:00:02] <ds84182> S3! You might be able to look at managed drive binary stuff by uncompressing it
L153[08:00:20] <S3> ds84182: do you mean unmanaged?
L154[08:00:26] <S3> are unmanaged drives compressed?!
L155[08:00:29] <ds84182> Woops, yes
L156[08:00:31] <S3> O M G
L157[08:00:36] <S3> why didnt I run "file" on it!
L158[08:00:39] <ds84182> Knowing Sangar, yes
L159[08:00:48] <S3> well let's see :D
L160[08:00:55] <ds84182> Lemme check code
L161[08:00:57] <S3> that was such a headache
L162[08:01:08] <S3> because we were looking in the vcs for it
L163[08:01:25] <nxsupert> So how would you go about marking a system as bootable?
L164[08:01:25] <ds84182> Yep, GZIP'd
L165[08:01:33] <S3> sigh..
L166[08:01:34] <ds84182> val zin = new GZIPInputStream(bin)
L167[08:01:50] <ds84182> val zos = new GZIPOutputStream(bos)
L168[08:02:06] <nxsupert> Oh. I see. The magic bytes are at the end?
L169[08:02:23] <S3> nxsupert: a partition type of 0x0 is boot
L170[08:02:38] <Vexaton> ds84182, funny, Computronics tapes are gzipped too :P
L171[08:02:47] <nxsupert> Instead of byte 510 and 511.
L172[08:02:59] <ds84182> Yeah, thats why I had that revelation. I remembered that
L173[08:04:06] <S3> nxsupert: so you can have a boot partition, OCBSD will use it. for compatability, I have opted to provide a pad (maybe 1 or 2 KB?) from the start of a partition IF the bootable flag (bit 2 in flags) is set
L174[08:04:10] <S3> where you can put raw lua code
L175[08:04:16] <S3> but OCBSD won't use it
L176[08:04:30] <S3> OCBSD will use the boot partition because it is so much more powerful
L177[08:05:25] <S3> operating systems that support the partition table will have to be aware that if the bootable flag is set then their partition really begins after the pad
L178[08:05:47] <S3> not a huge deal
L179[08:05:58] <nxsupert> You'd still need to have the EEPROM be able to get the OS into memory.
L180[08:06:12] <S3> nope
L181[08:06:35] <nxsupert> Why?
L182[08:06:37] <ds84182> S3: I think the bootable flag should point to another part of the disk to load the data from
L183[08:06:52] <S3> The eeproms job is only to read the partition table and determine based on its internal data store which partition to boot.
L184[08:06:54] <ds84182> Less limits that way :
L185[08:06:55] <ds84182> :P
L186[08:07:10] <S3> what do you mean limits
L187[08:07:16] <nxsupert> Yes. So does it load the hole partition?
L188[08:07:28] <S3> no. there is a partition table at the very end of the disk
L189[08:07:30] <S3> the flags are there
L190[08:07:34] <ds84182> Ok, so with your current system, you said that 2kb of space would be allocated for the bootloader, right?
L191[08:07:49] <S3> ds84182: only if that flag was set, yes.
L192[08:08:07] ⇨ Joins: orthoplex64 (~orthoplex@173.227.72.119)
L193[08:08:20] <ds84182> Well, you could set it up to where the bootloader is stored inside a partition, but an address and a size is given
L194[08:08:54] <ds84182> So it could boot a fixed area inside an operation system specific filesystem
L195[08:09:22] <ds84182> And that fixed area's size is now managed by the operating system developer instead of the drive standards
L196[08:10:14] <nxsupert> That would work. You could easily fit code to do that inside the EEPROM.
L197[08:10:15] <S3> a partition table entry looks like this: | Label (16 Bytes) | Offset ( 24 bits ) | End (24 bits ) | Type (1 Byte) | Flags ( 1 Byte ) | Reserved ( 8 Bytes ) |
L198[08:10:21] <S3> this makes every entry 32 bytes.
L199[08:10:34] <S3> (and it's aligned so that I can debug it in my hex editor
L200[08:10:40] <S3> making every two rows an entry :)
L201[08:11:21] <ds84182> Reserved could be used for the idea I just gave :P It should have enough space
L202[08:11:35] <ds84182> Plus Reserved could be flag specific
L203[08:11:54] <S3> so you mean to say
L204[08:12:06] <S3> that instead of putting it on the top, it should be an offset
L205[08:12:15] <S3> incase the boot loader is in some "sub filesystem" or something?
L206[08:12:16] <ds84182> Yeah, offset and size
L207[08:12:41] <S3> should the offset be relative?
L208[08:12:51] <ds84182> Yeah, that would make the most sense
L209[08:13:06] <S3> that way the os doesn't have to know too much about the whole thing and do the math all over again
L210[08:13:09] <S3> cool
L211[08:13:20] <S3> yeah I think the reserved field could be used for that
L212[08:13:33] <S3> there's only one issue
L213[08:13:33] <nxsupert> Is the partition table in the sector before the magic number or in the same sector?
L214[08:13:51] <S3> we were using the reserved 8 bytes for the magic number for partition entries.
L215[08:14:08] <S3> this is becauyse to allow for a virtual infinite ammount of partitions, we do not keep track of how many there are
L216[08:14:23] <S3> the magic number is used to prevent writing a partition into used data
L217[08:14:44] <nxsupert> Have the partition table grow backwards then.
L218[08:14:50] <S3> it does.
L219[08:14:58] <S3> but you still need the magic number
L220[08:15:08] <S3> have a look at this
L221[08:15:18] <S3> you create a new label (create a partition table)
L222[08:15:31] <nxsupert> Start at the sector before the sector with the magic number?
L223[08:15:56] <S3> and then create one partition the full size of the disk.
L224[08:16:18] <S3> we know that the partition will be right up against the partition table entry almost
L225[08:16:45] <S3> with that we can easily tell where the partitions are
L226[08:16:47] ⇨ Joins: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de)
L227[08:16:53] <S3> but the problem is if there are a LOT of partitions
L228[08:17:01] <S3> it could take time to figure out where the partitions actually end
L229[08:17:10] <S3> to prevent writing a new entry where there is data
L230[08:17:43] <S3> however I guess I could just say tough luck calculate it anyways
L231[08:18:15] <nxsupert> That sort of thing would only occur when making new partitions/moving old ones etc.
L232[08:18:29] <S3> yes.
L233[08:18:40] <S3> I guess I'd just have to say tough like write the code to figure it out from the table
L234[08:18:46] <S3> that would free up the magic number
L235[08:18:59] <S3> there is still a magic number at the end of the disk
L236[08:19:00] <nxsupert> So it doesn't matter if it takes a while to figure out all that stuff.
L237[08:19:10] <S3> which says EGGHUNT
L238[08:19:11] <S3> :P
L239[08:19:21] <nxsupert> :P
L240[08:19:22] <S3> (it's an easter egg, but I gave it away )
L241[08:19:33] <S3> the magic number for partition entries was BLUZCLUZ
L242[08:19:35] <S3> for blues clues
L243[08:20:09] <S3> ok% file 8d928361-2a2b-4134-b999-ff7a452327dc.bin
L244[08:20:09] <S3> 8d928361-2a2b-4134-b999-ff7a452327dc.bin: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
L245[08:20:12] <S3> WHY didnt't I DO THAT
L246[08:20:19] <S3> probably because it was late
L247[08:20:34] <nxsupert> Still. 1 more thing. How are you going to mark a drive as having a bootable partition? Or will the BIOS have to search every partition table?
L248[08:20:35] <S3> I want to know why it says from FAT filesystem..
L249[08:20:40] <S3> this is FreeBSD..
L250[08:20:43] <ccsonic> Hey guys! I have two questions right now. First one is how I can change the appearence of numbers I get. Specifically the number output shall be one digit long like 54.1.
L251[08:21:14] <S3> nxsupert: the eeprom has a 256 byte data section
L252[08:21:16] <S3> after the 4KB
L253[08:21:33] <nxsupert> Yes. And that is used to specify a drive.
L254[08:21:38] <S3> more than that
L255[08:21:45] <S3> drive, partition boot order, etc
L256[08:21:48] <S3> whatever you want
L257[08:22:02] <nxsupert> Oh yea.
L258[08:22:08] <S3> it could store poop in ascii if you wanted
L259[08:22:21] <S3> nxsupert: but if you use a boot partition you don't need ity
L260[08:22:22] <nxsupert> For a moment I was thinking a UUID took up 256 bytes :P
L261[08:22:56] <S3> the eeprom will only need disk boot order, unless you forced it not to boot from the boot partition
L262[08:23:03] <Altenius> ccsonic, like when you use tostring()?
L263[08:23:18] <nxsupert> Yea.
L264[08:23:29] <S3> the only problem with the boot partition is that it can only support very limited filesystems
L265[08:23:48] <ccsonic> Altenius, Im pretty new, what does that function do?
L266[08:23:50] <S3> however, FAT is really simple. maybe I should just go with that.
L267[08:23:56] <S3> like, FAT12
L268[08:23:59] <S3> or something
L269[08:24:11] <S3> could also use SFS
L270[08:26:16] <nxsupert> So the EEPROM would do this: Look at the boot address stored in the 256 bytes. Look for a filesystem at that address. If their is none. Look for a drive with that address. If their is. Load the partition table and look for a bootable partition. If it finds one. Look in the reserved bytes for the location of the boot file and its size , load it into memory and run it.
L271[08:26:41] <S3> yep.
L272[08:26:55] <S3> there's just one problem
L273[08:27:06] <S3> how does it know how much to load into memory
L274[08:27:34] <nxsupert> The reserved bytes will know the size. Unless you are talking about how big the partition table is.
L275[08:27:39] <nxsupert> Which is a problem.
L276[08:27:49] <S3> oh yeah it's 8 bytes
L277[08:28:26] <S3> so we were going with 16 bit offset and end entries at first
L278[08:28:32] <S3> but it only allows you for like 8 disks
L279[08:28:35] <S3> at max capacity
L280[08:28:42] <S3> (for software raid0 stuff)
L281[08:28:47] <S3> so we decided to go with 24 bit
L282[08:28:59] <S3> it gives you thousands, which you wont need
L283[08:29:05] <S3> but we figured SOMEBODY will have more than 8
L284[08:29:32] <S3> OCBSD will be using physical volume behavior like Linux does
L285[08:29:48] <S3> so that you can take 5 disks and add them together
L286[08:30:08] <S3> the disks will still show seperately in /dev but there will be a concatenated disk node in /dev too
L287[08:30:11] <S3> like ccd0
L288[08:30:11] <nxsupert> So wait. The partition table is all in 1 sector?
L289[08:30:26] <S3> no the partition table can be larger than a single disk
L290[08:30:29] <S3> if you wanted
L291[08:30:44] <S3> I designed it for tiny and massive raid situations
L292[08:31:00] <nxsupert> How will the BIOS know how big the partition table is?
L293[08:31:03] <S3> partition entries can be reused without fragmentation
L294[08:31:15] <S3> :)
L295[08:31:17] <S3> it doesn't have to
L296[08:31:24] <nxsupert> Why?
L297[08:31:47] <S3> all you have to make sure of is that the bootable entries you care about are on the first disk
L298[08:31:47] <nxsupert> oh. Will the magic numbers be at the end of all sectors with the partition table?
L299[08:32:03] <S3> that's the only limitation of the eeprom, it must boot from the first hard drive in an array
L300[08:32:08] <S3> well no
L301[08:32:14] <S3> it must find the entry in the first disk
L302[08:32:17] <S3> but it can boot to any disk
L303[08:32:37] <S3> its because the eeprom doesn't have much room to support concatenated disk schemes
L304[08:32:47] <S3> unless I do which would be amazing?
L305[08:33:05] <S3> yes the magic number is at the very end
L306[08:33:25] <nxsupert> Ok I don't understand. because if no partition has flagged , then the BIOS may try and search every single sector of the computer for a partition entry that is bootable.
L307[08:33:49] <nxsupert> How will it know when to end?
L308[08:34:09] *** Ekoserin|Off is now known as Ekoserin
L309[08:35:11] <S3> hmm. that could be a problem, and that's why I was using the magic numbers at the end of partition entries..
L310[08:35:35] <S3> OH WAIT
L311[08:35:43] <nxsupert> Oh wait, Simple. Have an End Of Table flag.
L312[08:35:45] <S3> nxsupert: I just remembered something on my chaulk board I never told yuou
L313[08:35:45] ⇦ Quits: VikeStep (~VikeStep@101.184.168.47) (Quit: Leaving)
L314[08:35:52] <S3> I just remembered
L315[08:36:01] <S3> there will always be paritions + 1 entries.
L316[08:36:07] <S3> the last entry has a "EOT" flag
L317[08:36:11] <S3> and is a termination flag
L318[08:36:33] <nxsupert> Funny I said that just before I told you :P
L319[08:36:34] <S3> it just says this isn't a partition entry, but this is telling you it is the last entry.
L320[08:36:38] <S3> yeah
L321[08:36:47] <S3> well I tried to say it earlier when ds84182 was talking
L322[08:36:48] <S3> but forgot
L323[08:36:58] <S3> it is the full 32 byte size
L324[08:37:01] <S3> to keep it aligned
L325[08:37:20] <nxsupert> Ah. Ok.
L326[08:37:20] <S3> this way it wont get like 1 byte into another sector
L327[08:37:26] <S3> or some crazy weird don't want to mess with crap
L328[08:37:51] <nxsupert> 1 other thing. The partition in the last 32 bytes of the last sector can never be bootable can it? Because of the magic number.
L329[08:37:56] <S3> I don't know if I should force partitions to be aligned to a sector but I would recommend it
L330[08:38:14] <S3> I know that my filesystem I am writing for OCBSD forces itself to pad to the beginning of a sector
L331[08:38:30] <S3> which is the default size of an inode. who woulda guessed :D
L332[08:38:40] <S3> (it allows me to edit files sector at once)
L333[08:38:57] <nxsupert> I would force partitions to be aligned.
L334[08:39:44] <S3> nxsupert: right. there will be no partition in the last 32 bytes of the last sector. there is a tiny reserved block there to line things up so that entries will always line up with sectors.
L335[08:39:52] <S3> partition entry*
L336[08:40:09] <nxsupert> In fact. It would be easier for everything in the partition table to be in terms of sectors rather than bytes?
L337[08:40:23] <S3> there can be 16 entries per sector
L338[08:40:26] <S3> except for the last sector
L339[08:40:28] <S3> :)
L340[08:40:38] <S3> where there will be 15
L341[08:41:10] <S3> nxsupert: I could do it via sectors
L342[08:41:26] <S3> the problem is that I wanted there to be no gap for those weird unaligned partitions
L343[08:41:36] <S3> not a huge deal though
L344[08:41:38] <nxsupert> If you did. It would make the BIOS much quicker.
L345[08:41:55] <S3> I dunno if it would make it quicker as much as easier
L346[08:42:02] <S3> I did performance tests last night
L347[08:42:25] <S3> I was able (with modulo division as well going on) write about 1KB/s
L348[08:42:34] <S3> on the 2048 sector disk
L349[08:42:39] <S3> I think that's the tier 1
L350[08:42:50] <nxsupert> Hmm. Ok.
L351[08:43:00] <S3> `I think that's pretty good
L352[08:43:05] <S3> and it makes me wonder
L353[08:43:10] <S3> if my OS writes "sector at once"
L354[08:43:16] <S3> will it be exponentially faster
L355[08:43:16] <nxsupert> Doing it byte by byte?
L356[08:43:24] <nxsupert> The 1kb/s
L357[08:43:25] <S3> well not partition wise
L358[08:43:30] <S3> and yes ^
L359[08:43:39] <nxsupert> Hmm.
L360[08:43:40] <nxsupert> Ok.
L361[08:43:50] <S3> in my OS, if the filesystem is reading and writing files by loading the entire sector and editing it and writing it
L362[08:43:57] <S3> I wonder if it can write 1000+ sectors at once
L363[08:44:00] <S3> er
L364[08:44:02] <S3> per second
L365[08:44:22] <nxsupert> Well the BIOS could probably load the bootloader byte by byte then.
L366[08:44:27] <S3> it depends if Sangar calculates access times for writeSector and readSector to comprehend weith readBute and writeByte or whatever
L367[08:44:49] <S3> in terms of a bootloader it should be byte per byte
L368[08:44:57] <S3> because for all we know it coule be 123456 bytes long
L369[08:45:11] <S3> os compat
L370[08:45:14] <nxsupert> So the location and size should be stores in bytes rather than sectors then.
L371[08:45:29] <S3> HOWEVER
L372[08:45:35] <S3> that is a relative size.
L373[08:45:50] <S3> what if the partitions themselves are aligned to sectors?
L374[08:46:10] <S3> this would require that partitions are multiples of 512 bytes
L375[08:46:37] <nxsupert> And the smallest disk is how big?
L376[08:46:45] <S3> 1MB I think
L377[08:46:50] <S3> floppy is 500 K
L378[08:46:55] <S3> largest disk is 4MB
L379[08:46:55] <nxsupert> Hmm.
L380[08:47:04] <S3> but with a concatenative array
L381[08:47:09] <nxsupert> So would that be much of a problem?
L382[08:48:26] *** LearningFairy is now known as Daiyousei
L383[08:49:30] <Techokami> just remember that people can modify the disk sizes in the config. For example, on my server floppies are 1MB, T1 HDDs are 2MB, T3 HDDs are 8MB
L384[08:49:46] <S3> yeah.
L385[08:49:51] <S3> 512 bytes isnt hard coded
L386[08:50:01] <S3> you know what we can do though?
L387[08:50:08] <S3> we have some flags left
L388[08:50:24] <S3> one of the flags in the partition entry could be for saying if the offset is in sectors or bytes
L389[08:50:27] <S3> and end
L390[08:50:39] <S3> if it is in sectors
L391[08:50:44] <Techokami> and a RAID of 3 T3 HDDs is 24MB but unmanaged RAID isn't going to be a thing iirc
L392[08:50:45] <S3> it allows for really, really large disks
L393[08:51:14] <S3> Techokami: are you absolutely sure?
L394[08:51:20] <Techokami> I asked Sangar
L395[08:51:34] <Techokami> he said that RAIDs will most likely not support unmanaged mode
L396[08:51:42] <Techokami> and that it should be done manually with a server
L397[08:52:25] <nxsupert> ~ocdoc drive
L398[08:52:25] <ocdoc> http://ocd.cil.li/component:drive
L399[08:52:58] <S3> Techokami: one of the things my buddy and I came up with if the rad doesn't support unmanaged drives
L400[08:53:08] <Techokami> the rad?
L401[08:53:28] <S3> is to make an addon mod for OC that adds a SAN rackmount block
L402[08:53:32] <Techokami> ooh
L403[08:53:38] <S3> which would hold up to like 12 unmanaged disks or something
L404[08:53:40] <S3> I dunno
L405[08:53:51] <nxsupert> If Sectors are something other than 512 then it throws you partition table system off kind of.
L406[08:54:01] <S3> it would support acting as multiple disks or disks all at once, etc
L407[08:54:06] <S3> and.
L408[08:54:11] <Techokami> DO IT DO IT DO IT
L409[08:54:19] <S3> unlike OC raid, it is more like a real raid, where if you unplug a disk it DOESNT WIPE IT
L410[08:54:24] <S3> thats the stupidest shit ever
L411[08:55:14] <nxsupert> Anyway. If sectors are not 512 bytes big. What will you do?
L412[08:55:15] <S3> the worst thing that ever happens is that you upset the entire array and the system will want to rebuild the array, but you can be like, nope, let's repair it
L413[08:55:40] <S3> nxsupert: implementations shouldn't be using 512 bytes
L414[08:55:49] <S3> they should be using the getSectorSize() function
L415[08:55:58] <nxsupert> Yes.
L416[08:57:04] <nxsupert> The BIOS will have to do some maths to figure out how many entries can go in a sector.
L417[08:57:24] <nxsupert> Oh wait. What if it isn't a multiple of 32?
L418[08:57:33] <nxsupert> Ok. Byte by byte it is.
L419[08:58:35] <S3> nxsupert: there is a flag
L420[08:58:56] <S3> in the partition entries that determins if the offset and end values are in sectors or bytes
L421[08:59:18] <nxsupert> Ah. Ok.
L422[08:59:40] <S3> just be sure you don't fuck up and specify it in bytes if you are idiotic enough to use 5 byte sectors.
L423[08:59:43] <S3> :D
L424[08:59:45] <S3> or whatever you're doing wrong
L425[08:59:54] ⇦ Quits: dustinm` (~dustinm@2607:5300:100:200::160d) (Ping timeout: 206 seconds)
L426[09:00:11] <S3> you would be an idiot.
L427[09:00:13] <S3> heres why
L428[09:00:34] <S3> if you set the sector size not a non 2^x power, it will literally limit the maximum size of your disk
L429[09:00:37] <S3> a lot.
L430[09:00:48] <S3> if you have a sector size of 8KB
L431[09:00:51] <S3> and you amke it 8.1KB
L432[09:01:14] <S3> it means that you will end up using byte offsets
L433[09:01:23] <S3> which means that you can only have 8 disks in your array
L434[09:01:37] <nxsupert> So when reading the partition table itself. I would need to read it byte by byte?
L435[09:01:39] ⇨ Joins: dustinm` (~dustinm@2607:5300:100:200::160d)
L436[09:01:43] <S3> but if it is 8 KB, that means you can have a lot more
L437[09:01:57] <S3> I would recommend that
L438[09:02:03] <S3> it's fast enough
L439[09:02:24] <S3> nxsupert: in all honesty, your partition table should NOT extend one disk
L440[09:02:27] <S3> am I right? :)
L441[09:02:33] <S3> what are the chances.
L442[09:02:36] <S3> that's a lot of partitions
L443[09:02:54] <nxsupert> Yes.
L444[09:03:09] <S3> 16 partitions per sector.. - 1 for the last sector.. - 16 for the first sector because of sector allignment.. not counting the space all partitions table up gives us..
L445[09:04:03] <S3> like 32751 partitions on the smallest tier disk?
L446[09:04:09] <nxsupert> :P
L447[09:04:14] <S3> which you can't fit in one sector anyways
L448[09:05:10] <nxsupert> So your writing an Operating system that works in an unmanaged drive with FAT and all that lovely stuff?
L449[09:08:11] <S3> I wonder if heme can read from standard input..
L450[09:08:20] <S3> nxsupert: yes.
L451[09:08:29] <S3> but the filesystem itl run on will be my own.
L452[09:08:40] <S3> itl also run on FAT and Magik6k's Mr. FS technically
L453[09:08:44] <S3> or SFS.. or whatever you want
L454[09:08:52] <S3> it's because of the VFS
L455[09:09:29] <S3> the kernel doesn't care what FS you're using. but if you want permissions and stuff to work right then you will need to use a good filesystem
L456[09:09:41] <nxsupert> You know. It would be useful if you made a custom file system proxy that wrapped around a partition so people could access partitions on unmanaged drives from OpenOS and Plan9k.
L457[09:09:56] <S3> ?
L458[09:10:32] <S3> well I think Magik6k is planning to support a proper vfs I thought on plan9k like OCBSD
L459[09:11:07] <S3> you know whats funny
L460[09:11:14] <nxsupert> http://ocdoc.cil.li/component:filesystem
L461[09:11:21] <S3> I just told my buddy about the unmanaged drives ending in .bin
L462[09:11:24] <S3> I mean
L463[09:11:27] <S3> how they are gzip
L464[09:11:43] <S3> and his reaction is like. WTF Sangar, WHY YOU NO MAKE THEM .gz?!
L465[09:13:54] <Sangar> because they originally weren't :P
L466[09:13:55] <nxsupert> Basically. Make a wrapper around that component API. If you do that you can mount partitions in OpenOS.
L467[09:14:22] <Sangar> and i apparently missed changing the name format
L468[09:14:28] <Sangar> oh welp
L469[09:15:24] <nxsupert> Also. I have realised. It is impossible to access the drive component documentation in any way other than to use the OCDOC bot.
L470[09:15:36] <gamax92> Yes sorry
L471[09:15:54] <gamax92> I haven't linked the drive component to anything else because I don't know how to do that
L472[09:16:07] <S3> Sangar: not a huge deal, I can't believe I didn't run file last night because my bud and I were bashing at it like wtf where is all the data going?! lol
L473[09:16:23] <Sangar> heh
L474[09:16:36] <S3> now if only I can figure out how to get heme to read from standard input
L475[09:16:42] <gamax92> what if, all the data went into the NBT
L476[09:17:03] <S3> I would be so mad
L477[09:17:03] <nxsupert> I might write a new BIOS for your system now. Umm. What was the structure of the table again?
L478[09:17:20] <S3> Sangar: also I heard something about no unmanaged drives in the raid component?
L479[09:17:35] <S3> I was hoping they'd appear as one "drive" component all glued together
L480[09:20:06] <nxsupert> Ahh. Thats a problem. I might have to implement bit32 into the EEPROM as well.
L481[09:20:56] <S3> you have it
L482[09:21:04] <S3> bit32 is included
L483[09:21:23] <gamax92> unless you're lua 5.3
L484[09:21:30] <nxsupert> ^^
L485[09:21:39] <S3> http://ocdoc.cil.li/tutorial:custom_oses?s[]=custom
L486[09:21:43] <S3> I have it in 5.3?
L487[09:21:55] <S3> unless it is out out
L488[09:22:04] <S3> I'm pretty sure my cpu is in 5.3 mode
L489[09:22:08] <gamax92> lua 5.3 (with backwards compat off, like oc) has no bit32 api
L490[09:22:14] <gamax92> so openos has to make a wrapper
L491[09:22:27] <S3> how does that work
L492[09:22:35] <nxsupert> The wrapper is about 2KB big.
L493[09:22:57] <S3> yea but would it be super slow?
L494[09:22:57] <gamax92> S3: by using lua5.3's native bitshifts
L495[09:23:22] <gamax92> it is a little slower than 5.2's bit api yes
L496[09:23:25] <S3> why is it missing? is it just something that isn't compatible with 5.3?
L497[09:23:35] <gamax92> because 5.3 added native bitshifts
L498[09:23:41] <gamax92> so it became depreciated
L499[09:23:41] <Sangar> S3 don't really have plans to, since as opposed to with managed mode it's very much doable to do a raid manually with unmanaged mode
L500[09:23:45] <S3> that kind of sucks because if you wanted to do IP you heavily depend on AND and depending how you do it XNOR
L501[09:23:52] <gamax92> S3
L502[09:23:53] <gamax92> S3
L503[09:23:54] <gamax92> S3
L504[09:23:57] <Sangar> (and a proper one at that :X)
L505[09:23:59] <gamax92> I will fucking stab you
L506[09:24:04] <gamax92> "native bit shift"
L507[09:24:10] <gamax92> IT STILL FUCKING HAS BIT SHIFTS
L508[09:24:16] <S3> so?
L509[09:24:17] <gamax92> JUST NOT VIA BIT32
L510[09:24:17] <S3> :)
L511[09:24:27] <Sangar> relax on the caps :X
L512[09:24:32] <gamax92> okay
L513[09:25:05] <nxsupert> So it would probably be easier for me to write 2 BIOS's. One for 5.2 and 1 for 5.3?
L514[09:25:11] <S3> Sangar: I'm thinking of making an addon mod to add a SAN block for server racks. problem is, you configure the rack to handle component messages out certain directions, and you can't just set them all to be the same (out the back, for example)
L515[09:26:12] <Sangar> well you can just connect them all with cable externally >_>
L516[09:26:19] <S3> messy
L517[09:26:20] <S3> :D
L518[09:26:24] <Sangar> ofc
L519[09:26:30] <Sangar> didn't say it wasn't :D
L520[09:26:52] <gamax92> #lua 6 << 3
L521[09:26:52] <|0xDEADBEEF|> > 48
L522[09:27:05] <gamax92> #lua _VERSION
L523[09:27:05] <|0xDEADBEEF|> > Lua 5.3 Sandbox
L524[09:27:09] <gamax92> S3: ^
L525[09:28:49] <S3> gamax92: I never said the bitshifts weren't there
L526[09:28:50] <S3> lol
L527[09:28:58] <gamax92> you're acting like they were
L528[09:29:18] <S3> but I never said :)
L529[09:29:21] <gamax92> "that kind of sucks because" no it doesn't you can literally do exactly the same thing in both 5.2 and 5.3
L530[09:29:32] <gamax92> cause they both have bitshifts
L531[09:29:37] <S3> you can but it'd be nice to have a native and
L532[09:29:39] <S3> or such
L533[09:30:25] *** Cranium[Away] is now known as Cranium
L534[09:30:33] <gamax92> #lua 2626 & 43652
L535[09:30:34] <|0xDEADBEEF|> > 2560
L536[09:30:42] <gamax92> S3: what are you talking about
L537[09:31:09] <S3> then why are you guys complaining? :P:
L538[09:31:23] <gamax92> no.
L539[09:31:29] <gamax92> "but it'd be nice to have a native and"
L540[09:31:36] <gamax92> what the fuck are you referring to it's right there
L541[09:31:46] <S3> :>
L542[09:32:00] * Lizzy places land mines around the room
L543[09:32:06] <S3> 1 troll a day keeps the gamax92 astray
L544[09:32:08] * gamax92 uses them to kill self
L545[09:32:15] * nxsupert stops Lizzy.
L546[09:32:22] * Lizzy stops
L547[09:32:32] * nxsupert pats Lizzy on the head.
L548[09:32:36] * Lizzy purrs
L549[09:32:52] <nxsupert> Anyway.
L550[09:33:14] <nxsupert> S3. What is the structure of the partition table?
L551[09:37:16] <S3> so at the very end of the disk of course there's a magic number that says EGGHUNT. Before that, is padding to align itself to a sector's edge. The padding can be used for whatever you want, as it is just ignored. It may be considered reserved, but I haven't found any real purpose for it. before that, is the actual partition table, which consists of partition table entries 32 bytes a piece. That number was incidently chosen because it lines up in my hex editor so I can ea
L552[09:37:23] <S3> (hopefully that didn't get cut off)
L553[09:37:29] <ds84182> it did
L554[09:37:37] <S3> I stopped it at like so:
L555[09:37:40] <S3> so it wouldn't
L556[09:37:52] <S3> where does it stop?
L557[09:37:58] <Inari> EGGHUNT ;o
L558[09:38:09] <S3> it stops at egghunt?
L559[09:38:12] <Inari> no
L560[09:38:17] <Inari> just found that odd xP
L561[09:38:24] <Inari> "it lines up in my hex editor so I can ea"
L562[09:38:26] <S3> Inari: we were thinking up magic numbers
L563[09:38:27] *** Vexaton is now known as Vexatos
L564[09:38:30] <S3> one was MSFRIZZLE
L565[09:38:41] <S3> and then was like, well easter eggs so.. EGGHUNT
L566[09:39:23] <S3> because it lines up in my hex editor so I can easily debug it, as well as lines up with power of 2 sector sizes. each entry is like so:
L567[09:39:28] <nxsupert> Ok. I just realised. What happens if the sector size is LESS than 32 bytes?
L568[09:39:38] <S3> then you're a moron.
L569[09:40:06] ⇨ Joins: Nathan1852_ (~Nathan185@p5DC11AF8.dip0.t-ipconnect.de)
L570[09:40:11] <S3> lol
L571[09:40:20] <nxsupert> I'm going to say. The BIOS will only work if sector size is a power of 2 greater than 32.
L572[09:40:39] <gamax92> why won't it work if it 511 bytes
L573[09:40:55] <gamax92> you don't know how to get 32 bytes from 511 bytes?
L574[09:41:27] <nxsupert> Hmm.
L575[09:41:57] * Ender hugs Evey
L576[09:42:04] <Evey> :O
L577[09:42:07] * Evey hugs Ender
L578[09:42:14] <Ender> :D
L579[09:42:24] <S3> so anyways, here's the format of an entry: | Label 16B : Offset 24b : End 24b : Type 1B : Flags 1B : Reserved 8B |
L580[09:42:32] <dangranos> uh
L581[09:42:37] <dangranos> exactly like that?
L582[09:42:41] <dangranos> with plaintext?
L583[09:42:44] <S3> no..
L584[09:42:47] <dangranos> whew
L585[09:42:49] <S3> B is bytes b is bits
L586[09:42:53] <dangranos> oh
L587[09:42:55] <Evey> :3
L588[09:43:04] <nxsupert> What is End and Type for?
L589[09:43:07] <dangranos> offset in 24B?
L590[09:43:10] <dangranos> *b
L591[09:43:14] <S3> end is the end of the partition
L592[09:43:31] <nxsupert> Oh. Ok.
L593[09:43:34] <nxsupert> and Type?
L594[09:43:36] <S3> offset is 24 bits, end is 24 bits
L595[09:43:43] <S3> type is the partition type
L596[09:43:51] <S3> 0x0 is reserved for "boot"
L597[09:43:54] <S3> like the GPT boot partition
L598[09:43:57] <S3> you can choose not to use it
L599[09:44:01] <S3> it is just for OCBSD compat
L600[09:44:03] <dangranos> *0x00
L601[09:44:09] <nxsupert> Ok.
L602[09:44:21] <nxsupert> So it could also have stuff like FAT32 and such in there?
L603[09:44:27] <S3> I think I will propose Magik6k's Mr. FS as 0x1
L604[09:44:28] <dangranos> mhm
L605[09:44:47] <S3> yes
L606[09:44:58] <S3> though the boot partition will probably be VFAT or FAT12 or something
L607[09:45:08] <nxsupert> And Flag?
L608[09:45:10] <S3> something super simple for the eeprom to get boot files off of
L609[09:45:19] <S3> flags is a bit field that is 8 bits long
L610[09:45:25] <S3> the first is active
L611[09:45:32] <nxsupert> Ok.
L612[09:45:37] <S3> if the active flag is set to 0 it is a partition marked for deletion
L613[09:45:41] <S3> which means it can be overwritten
L614[09:45:52] <S3> bit 1 is for end of text or EOT
L615[09:45:59] <dangranos> uh
L616[09:45:59] <S3> it means it is the last partition entry
L617[09:46:08] <nxsupert> I feel like we need to get this into a google doc or something.
L618[09:46:13] <S3> whys that
L619[09:46:14] <dangranos> EOT is End Of Transmission
L620[09:46:15] <dangranos> EOF
L621[09:46:27] <dangranos> nxsupert, die
L622[09:46:32] <nxsupert> Why?
L623[09:46:33] <S3> EOF and EOT are both real dangranos
L624[09:46:43] <dangranos> S3, ikr
L625[09:46:50] <S3> if you want it to be EOF I can use that too
L626[09:47:00] <S3> but last night I couldn't remember EOF
L627[09:47:00] <Lizzy> dangranos: please don't tell someone to die, it's not nice
L628[09:47:05] <dangranos> sorry
L629[09:47:05] <S3> so I was like, meh EOT
L630[09:47:18] <nxsupert> Why did you tell me to die?
L631[09:47:24] <S3> dangranos: it is done this way so that there can be no limit on the # of partitions
L632[09:47:37] <S3> since there is no partition table header / superblock
L633[09:47:38] <dangranos> google docs are not really good for those
L634[09:47:48] <dangranos> S3, wai wai wai
L635[09:47:57] <S3> (oh) I forgot to also mention that the version number is RIGHT BEFORE the magic number at the end of disk
L636[09:48:00] <nxsupert> Well. It would be nice to have all the info in 1 place.
L637[09:48:04] <dangranos> i thought you was describing partition table
L638[09:48:11] <S3> dangranos: we are
L639[09:48:14] <dangranos> nxsupert, git?
L640[09:48:21] <dangranos> or some wiki engine
L641[09:48:21] <nxsupert> I guess.
L642[09:48:30] <dangranos> wiki PLUS git
L643[09:48:45] <dangranos> i'm pretty sure those exists
L644[09:49:12] <nxsupert> Guthub pages.
L645[09:49:24] <dangranos> >Guthub
L646[09:49:25] <dangranos> huh
L647[09:49:30] <Lizzy> i think they do, speaking of which i was going to put some sort of wiki thing on my site. haven't got around to it yet
L648[09:49:35] <nxsupert> s/Gut/Git
L649[09:49:35] <Kibibyte> <dangranos> >Github
L650[09:49:37] <S3> heh
L651[09:49:45] <S3> if somebody wants to document it or something..
L652[09:50:00] <nxsupert> Anyway.
L653[09:50:04] <Ekoserin> ~w library
L654[09:50:05] <ocdoc> Predicted http://www.lua.org/manual/5.2/manual.html#pdf-ipairs ( I tried D: )
L655[09:50:08] <dangranos> just how many ideas are lost in the logs of this channel?
L656[09:50:39] <Lizzy> a lot
L657[09:50:50] <S3> I have all of this on my chaulk board
L658[09:50:58] <dangranos> irl?
L659[09:51:04] <S3> yes.
L660[09:51:10] <dangranos> ...huh
L661[09:51:18] <dangranos> why not in some text file?
L662[09:51:21] <S3> I have an 8x4' chaulkboard in my appartment
L663[09:51:34] <S3> because chaulk boards are great for math and stuffs
L664[09:51:35] <dangranos> um
L665[09:51:37] <dangranos> cm please
L666[09:51:53] <dangranos> >great math >inches
L667[09:52:10] <dangranos> s/ / for /
L668[09:52:10] <Kibibyte> <dangranos> >great for math >inches
L669[09:52:17] <nxsupert> s/math/maths
L670[09:52:17] <Kibibyte> <dangranos> >great for maths >inches
L671[09:52:34] <dangranos> but that's what he said
L672[09:52:57] <S3> 2.4 meters by 1.2 meters
L673[09:53:13] <S3> it's a full sized chaulk board
L674[09:53:13] <Lizzy> .conv
L675[09:53:24] <S3> I built it for like < $20
L676[09:53:31] <Lizzy> .conv 1m
L677[09:53:45] <Lizzy> i swear there was a convert command in ^v at some point
L678[09:53:59] <S3> ^v: .conv 1m feet
L679[09:53:59] <^v> S3, Without a doubt
L680[09:54:03] <S3> uh huh
L681[09:54:20] <Lizzy> yeah, saying it's name gives an 8-ball response
L682[09:54:29] <S3> .conv 1m feet
L683[09:54:32] <S3> oh well
L684[09:54:58] <S3> but anyways, it's a pretty simple partition table
L685[09:55:08] <S3> easy to implement, scalable.
L686[09:55:20] <S3> at least beyond OC needs
L687[09:55:33] <dangranos> we need ext-like FS
L688[09:55:53] <S3> dangranos one of the flags is a "sectorized" flag, which I recommend to use whenever you can
L689[09:56:05] <dangranos> uh
L690[09:56:06] <nxsupert> Anyway.Can you put your put your blackboard in a text document?
L691[09:56:06] <S3> it means that the 24 bit offset and end field is in sectors, not bytes.
L692[09:56:14] <S3> which allows you to have GINORMOUS disk arrays
L693[09:56:27] <S3> yeah.
L694[09:56:32] <dangranos> and sector being multiple of 512?
L695[09:56:41] <dangranos> sector size
L696[09:56:52] <S3> getSectorSize() not 512
L697[09:56:57] <S3> in case some guy changes it to say 4KB
L698[09:57:00] <S3> in the config
L699[09:57:07] <dangranos> um
L700[09:57:10] <S3> the default is 512
L701[09:57:13] <dangranos> oh
L702[09:57:16] <dangranos> OH
L703[09:57:19] <S3> :)
L704[09:57:28] <dangranos> you're talking about drives
L705[09:57:33] <S3> thats why nxsupert was asking what happens if he makes the sector size 32 bytes
L706[09:57:35] <dangranos> hm
L707[09:57:37] <S3> and I was like, you'd be a moron
L708[09:57:45] <S3> lol
L709[09:57:47] <dangranos> ^
L710[09:58:00] ⇨ Joins: ^v5 (~^v@c-68-41-215-101.hsd1.mi.comcast.net)
L711[09:58:00] <dangranos> 32 is too small even for metadata
L712[09:58:10] <Lizzy> .help
L713[09:58:10] <^v> Lizzy, http://ocd.cil.li/
L714[09:58:12] ⇨ Joins: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net)
L715[09:58:12] zsh sets mode: +v on v^
L716[09:58:13] <Lizzy> ¬_¬
L717[09:58:17] <Lizzy> wat
L718[09:58:20] <Lizzy> oh
L719[09:58:27] <Lizzy> console font on here is weird
L720[09:58:33] <dangranos> invasion of ^v
L721[09:58:50] <dangranos> ^v, is it invasion of you?
L722[09:58:50] <^v> dangranos, Outlook good
L723[09:59:03] <dangranos> uh?
L724[09:59:16] <Lizzy> you triggered it's 8-ball response
L725[09:59:24] <Lizzy> ^v5: yes
L726[09:59:32] <Lizzy> k, v5 doesn't have it
L727[10:02:42] <nxsupert> Ok. I think my idea for a BIOS will be ok as long as the sector size is a multiple of 32.
L728[10:13:06] <S3> working on this spec nxsupert :)
L729[10:20:59] <gamax92> S3: since when can sector size be changed?
L730[10:24:31] *** Lathanael|Away is now known as Lathanael
L731[10:24:51] <nxsupert> In the configs.
L732[10:25:47] <Ekoserin> Having a hard time getting orange on a Tier 2 screen.
L733[10:25:48] ⇦ Quits: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de) (Read error: Connection reset by peer)
L734[10:26:50] <nxsupert> Hang on. No it isn't.
L735[10:27:21] <S3> gamax92: thats what I saw in the config
L736[10:27:28] <S3> last night I'm pretty sure
L737[10:29:31] <gamax92> S3: I'm pretty sure "private final val sectorSize = 512"
L738[10:29:35] <dangranos> nxsupert, well
L739[10:30:08] <dangranos> #lua 512/32
L740[10:30:08] <|0xDEADBEEF|> > 16.0
L741[10:30:15] <dangranos> it's multiple of 32
L742[10:30:48] <nxsupert> I'm looking in settings.scala . Nothing for sector size.
L743[10:31:01] <dangranos> though, i think 512 is minimal size that (still) makes sense
L744[10:40:29] <nxsupert> Yea. Sector size is hardcoded.
L745[10:45:41] <S3> gamax92: meh whatever :D
L746[10:45:48] <S3> not changing the spec now
L747[10:46:06] <S3> never know if it may change one day
L748[10:47:45] ⇨ Joins: Something12_ (~Something@s010634bdfa9eca7b.vs.shawcable.net)
L749[10:58:19] <Lizzy> EMERGERD HOME TIME!!
L750[11:02:35] <S3> there specs written
L751[11:02:47] <S3> nxsupert: :D
L752[11:03:10] <nxsupert> Where?
L753[11:03:35] <S3> and hastebin wont frigging let me paste it
L754[11:03:48] <nxsupert> Gist :P
L755[11:03:52] <S3> meh
L756[11:04:00] <S3> I don't even have the command
L757[11:04:16] <S3> fine
L758[11:04:17] <S3> lol
L759[11:04:20] *** Daiyousei is now known as ShoweringFairy
L760[11:04:55] <S3> https://gist.github.com/anonymous/3b6459d99c43435612dc
L761[11:07:01] <S3> the dummy partition type is kind of cool because you can use it to prevent the partitioner from using a particular area
L762[11:07:06] <S3> in case you are saving it for something
L763[11:08:20] <S3> I did screw one thing up.. let me fix it
L764[11:09:44] <nxsupert> “3 byte relative address offset (in bytes) will be located within the first 3 bits of the reserved partition table entry field”. Should Bit be Bytes?
L765[11:10:07] <S3> yes
L766[11:10:14] <S3> ill have a fixed one in a bit
L767[11:10:22] <S3> because I also screwed up the entry
L768[11:10:27] <S3> picture
L769[11:10:49] <S3> wait no I didnty
L770[11:11:53] <nxsupert> Ok. What about the flag for sectors or bytes?
L771[11:13:02] <S3> oh yeah
L772[11:14:04] <S3> w hat should I call that one
L773[11:14:08] <S3> oh yes
L774[11:19:25] <S3> https://gist.github.com/anonymous/8a473e2cc8478d6960a2
L775[11:19:28] <S3> nxsupert: thre we go
L776[11:20:42] <S3> https://gist.github.com/anonymous/d7cd612e4e7805ec6f60
L777[11:20:43] <S3> fixed^
L778[11:20:56] <S3> DAMN IT
L779[11:21:12] <S3> it pasted weird.,
L780[11:22:36] <S3> https://gist.github.com/anonymous/8e405d2e633feb137777
L781[11:22:37] <S3> THERE
L782[11:22:38] <S3> nxsupert: ^
L783[11:22:40] <S3> finally
L784[11:24:08] <nxsupert> Ok.
L785[11:24:11] <S3> :)
L786[11:24:18] <S3> should look better now
L787[11:25:59] <S3> the original partition type was 2 bytes
L788[11:26:04] <S3> but I don't think we'd need that
L789[11:28:17] ⇨ Joins: Jezza (~Jezza@92.206.12.69)
L790[11:28:33] <nxsupert> Ok. So in theory I could write a BIOS for it now.
L791[11:29:16] <nxsupert> Also. The files for the drivers are compressed aren't they?
L792[11:32:24] <Lizzy> woo home
L793[11:38:01] <ds84182> nxsupert: Yes, GZIP
L794[11:49:05] <S3> nxsupert: yes but for some reason I can't frigging get heme to read gzip stdin
L795[11:55:39] ⇨ Joins: TangentDelta (~tangentde@63.143.24.22)
L796[11:59:00] *** ShoweringFairy is now known as Daiyousei
L797[12:00:16] ⇨ Joins: h3po (~h3po@aftr-5-146-249-205.unity-media.net)
L798[12:00:51] <gamax92> S3: why do you need stdin gzip to decompress a file? ?_?
L799[12:12:02] ⇨ Joins: Knight (webchat@98.216.22.139)
L800[12:12:22] <Knight> Hello, just a quick question
L801[12:12:49] <Knight> Is it possible to get OPPM without the disk? I'm having trouble finding it in the world, and Google hasn't helped
L802[12:13:16] <Ekoserin> Just a sec
L803[12:14:40] <Knight> I'm stupid, nevermind
L804[12:15:09] <S3> gamax92: because it's fun to just do your stuffs, then run a command that redirects gunzip -c output to heme
L805[12:15:13] <S3> which is an amazing hex editort
L806[12:15:20] <S3> and then look at your stuffs, make edits if need by
L807[12:15:22] <S3> be*
L808[12:15:26] <S3> press q to exit, do more stuffs
L809[12:18:03] <S3> oh well
L810[12:18:08] <S3> I can still % gunzip -S bin -c 8d928361-2a2b-4134-b999-ff7a452327dc.bin | hexdump -C | less
L811[12:18:10] ⇦ Quits: Knight (webchat@98.216.22.139) (Ping timeout: 204 seconds)
L812[12:18:13] <S3> :)
L813[12:18:47] *** rakiru|offline is now known as Kasen
L814[12:19:48] <S3> well actually I couldn't make edits but I can search and stuff with heme easily
L815[12:22:07] <S3> nxsupert: just keep in mind that the drivbe starts at byte 1
L816[12:22:11] <S3> with setByte() and such
L817[12:22:16] <S3> same with sectors
L818[12:22:27] <S3> (lua is so stupid for starting arrays at 1 and crap
L819[12:22:57] <nxsupert> Yea.
L820[12:23:12] <nxsupert> Thats going to be the thing the throws me off the most.
L821[12:24:59] <S3> just make a wrapper function
L822[12:25:03] <S3> that subtracts one to it
L823[12:25:22] <S3> if it's going to be super annoying
L824[12:25:47] <Ekoserin> Knight, this is a Tar file containing the contents of the OPPM loot disk: pastebin.com/FcUpNJNy
L825[12:26:19] <S3> also
L826[12:26:27] <S3> it can take a few minutes before a drive is written to disk
L827[12:26:31] <S3> regardless of the buffer setting
L828[12:26:36] <S3> s/minutes/seconds
L829[12:26:36] <Kibibyte> <S3> it can take a few seconds before a drive is written to disk
L830[12:27:26] ⇨ Joins: Meow-J (uid69628@id-69628.highgate.irccloud.com)
L831[12:30:13] <Vexatos> Ekoserin, 1) knight is gone. 2) you can craft the OPPM disk >_>
L832[12:30:27] <Ekoserin> Ah, crap, I feel like an idiot
L833[12:34:54] ⇨ Joins: sciguyryan (~sciguyrya@109-205-170-103.dynamic.swissvpn.net)
L834[12:41:16] ⇦ Quits: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net) (Ping timeout: 198 seconds)
L835[12:41:19] ⇦ Quits: ^v5 (~^v@c-68-41-215-101.hsd1.mi.comcast.net) (Ping timeout: 183 seconds)
L836[12:41:29] <nxsupert> S3. Do you have a drive that already has a partition table with a boot partitcian?
L837[12:42:35] <S3> no I was working on it last night but had to go to bed because I was tired
L838[12:43:01] <S3> however, I wrote a program in Perl that can write one very fast
L839[12:43:11] <S3> I wrote it to reverse engineer Gamecube / Wii DVDs
L840[12:43:22] <S3> and itl extract them more than 10x faster than the one on windows can
L841[12:43:34] <S3> 9$it extracts all of like metroid prime in under like 10 seconds
L842[12:47:14] <S3> nxsupert:, don't bother editing the files with a hex editor, just viewing is fine
L843[12:47:19] <S3> they.. rewrite themselves.......
L844[12:47:27] <S3> I think Sangar put some checksum crap in it or some shit
L845[12:48:47] <S3> and EGGHUNT nxsupert is 0x45474748554E54
L846[12:48:55] <S3> if lua lets you use numbers that big
L847[12:49:12] <S3> actually it's probably best to write that by char anyways
L848[12:49:55] <Sangar> S3, no checksum, http://git.io/vZLmG
L849[12:50:33] <S3> weird.
L850[12:50:54] <S3> well either way, the unmanaged drive writes over my changes like.. 2 minutes after I change it
L851[12:50:58] <S3> without doing anything
L852[12:51:12] <S3> not a huge deal, but it does prevent me from changing it outside..
L853[12:51:27] <Sangar> well, yeah, the saving does no checks if it changed outside
L854[12:51:58] <Sangar> you could take it out of the computer, change it outside, put it back in. that should work.
L855[12:52:43] <S3> huh
L856[12:54:01] <S3> nxsupert: for me, % gunzip -S bin -c 8d928361-2a2b-4134-b999-ff7a452327dc.bin | hexdump -C
L857[12:54:04] <S3> works :D
L858[12:54:08] <S3> just read only at that point
L859[12:55:53] <S3> by the way does anyone know in openos how to write \r to the screen?
L860[12:56:04] <S3> I tried using io.write instead of print but it still appends a \n
L861[12:56:11] <nxsupert> I'm still trying to figure out how where the eeprom file is.
L862[12:56:22] <S3> uh
L863[12:56:40] <S3> oh yeah I had trouble finding that too
L864[12:57:52] <S3> no eeprom uuid found in ~/.minecraft..
L865[12:57:54] <S3> wow
L866[12:59:17] <S3> I found the computer but no eeprom
L867[13:01:29] <nxsupert> It is saved in NBT :(
L868[13:01:35] <S3> Noooooooooooooooo!
L869[13:01:45] <S3> well it's not the worst issue
L870[13:01:54] <S3> nxsupert: the way I've been doing it, is I have two computers in creative mode
L871[13:01:56] <S3> one for testing
L872[13:01:59] <S3> one for writing eeproms
L873[13:02:11] <S3> the one for writing eeproms I have the eeprom file in the home dir
L874[13:02:19] <S3> and I edit it in like emacs vim or whatever
L875[13:02:27] <S3> minify it whateve rI want
L876[13:02:34] <S3> then to test I just flash eeprom.lua
L877[13:02:42] <S3> and stick it in the other machine
L878[13:03:04] <S3> though Sangar it would be nice to see the eeprom saved as a normal file
L879[13:03:35] ⇨ Joins: LE (~le@p5B127DAD.dip0.t-ipconnect.de)
L880[13:03:40] <Sangar> nah, way more practical from the implementation side this way.
L881[13:03:54] <S3> nxsupert: you can actual test an eeprom without putting it on an eeprom
L882[13:04:02] <S3> on openos, there's no rings or anything
L883[13:04:05] *** LE is now known as Guest23839
L884[13:04:11] ⇦ Quits: Guest23839 (~le@p5B127DAD.dip0.t-ipconnect.de) (Client Quit)
L885[13:04:11] <S3> so you can just run eeprom code from openos
L886[13:04:22] <S3> then flash it when you want to do a full test
L887[13:05:00] <S3> if you want nxsupert I would even suggest just writing to init.lua on openos :P
L888[13:05:11] <S3> and just reboot the machine per change
L889[13:05:18] <S3> or actually you don't even need openos for that
L890[13:07:08] <cloakable> Woot, made my first computer :D
L891[13:07:40] <nxsupert> I belive plan9k has the ability to stream data between files.
L892[13:07:43] <cloakable> Tier II tablet with a bunch of fun stuff inside :D
L893[13:09:48] ⇨ Joins: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de)
L894[13:18:49] <S3> nxsupert: I am writing a very crappy partitioner
L895[13:19:00] <S3> just for tests
L896[13:19:19] <S3> it's very ugly lol
L897[13:20:59] <S3> but it seems to make a label :D
L898[13:21:00] <S3> 000ffff0 00 00 00 00 00 00 00 00 45 47 47 48 55 4e 54 00 |........EGGHUNT.|
L899[13:22:02] ⇨ Joins: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net)
L900[13:22:03] zsh sets mode: +v on v^
L901[13:22:11] <nxsupert> Hang on. So the very very last byte is 0?
L902[13:22:21] <S3> yes. EGGHUNT is only 7 chars
L903[13:22:30] <S3> the last byte is the version number
L904[13:22:57] <S3> this is because it is less likely for somebody to put the magic number there than at the very very end for their own partitioning scheme
L905[13:23:21] <nxsupert> Will the BIOS need to change for each version?
L906[13:23:46] <S3> I imagine version changes will be rare
L907[13:23:55] <S3> so if it does then no big deal
L908[13:24:11] <S3> I think the scheme is pretty solid
L909[13:24:37] <S3> the reason why the version number is there is so that you don't load one that isnt the one you support
L910[13:24:40] <S3> just in case.
L911[13:25:04] <S3> otherwise, it is possible not so much for an eeprom, but for a partitioner to make huge mistakes
L912[13:25:12] <S3> and cause a lot of damage
L913[13:26:34] <S3> "To help identify the partitioning scheme on disk, an 7 byte magic numberthat
L914[13:26:34] <S3> represents the word "EGGHUNT" in Ascii following a single byte containing the
L915[13:26:34] <S3> version number of the partitioning scheme will be located at the very last 8
L916[13:26:37] <S3> bytes of the disk medium
L917[13:26:43] <S3> that is supposed to say preceding not following
L918[13:26:59] <S3> but if you want
L919[13:27:05] <S3> we could just make it to the end of disk
L920[13:27:09] <S3> and put the version number first?
L921[13:27:20] <S3> just to go with the typo in the spec
L922[13:27:23] <S3> nxsupert: ^
L923[13:28:28] <S3> it's up to you
L924[13:28:41] <nxsupert> Well. Ok. The BIOS now checks bytes 505 to 511 to see if they are EGGHUNT
L925[13:29:04] <S3> is that starting at 1 or 1
L926[13:29:07] <S3> 0 or 1*
L927[13:29:11] <sugoi> Sangar: hello
L928[13:29:13] <nxsupert> Starting at 1.
L929[13:29:24] <S3> ok so you're going with the version number after deal?
L930[13:29:42] <nxsupert> Well. For now I am just going to ignore the version number.
L931[13:30:09] <nxsupert> Because unless you change where the bootflag is and stuff like that. It isn't going to be a problem.
L932[13:30:18] <S3> right
L933[13:30:26] <S3> and the spec is pretty solid
L934[13:30:37] <S3> I do have to revise it though to match our version number after
L935[13:30:57] <S3> not worried about it atnm
L936[13:31:11] <nxsupert> Ok. So if the EGGHUNT isn't found. That means it doesn't use SOPT doesn't it?
L937[13:31:17] <S3> right
L938[13:31:38] <S3> that's the purpose of a magic number
L939[13:32:11] <nxsupert> So. Next I need to read out the table.
L940[13:32:25] <nxsupert> And it starts at the top of the sector right?
L941[13:32:29] <S3> I'm updating my mklabel command so that it makes the first dummy partition
L942[13:32:39] <S3> no
L943[13:32:47] <S3> a small ammount of math is involved
L944[13:32:58] <nxsupert> Well. After the buffer
L945[13:32:59] <S3> A section of padding will be placed just before these 8 final bytes. The size
L946[13:32:59] <S3> of the padding is dependent on the size of the sectors. A little bit of simple
L947[13:32:59] <S3> math needs to be performed to find the beginning of the padding. A sector size
L948[13:32:59] <S3> of 512 bytes (recommended) will allow for 16 partition entries per sector.
L949[13:33:02] <S3> However, because of the magic number at the end of the disk, the last sector
L950[13:33:02] <S3> can only hold 15 partition table entries, which means the padding should start
L951[13:33:05] <S3> at 480.
L952[13:33:11] <S3> damn it I didn't intend that to spam like that
L953[13:33:11] <EnderBot2> https://www.youtube.com/watch?v=anwy2MPT5RE
L954[13:33:13] <S3> damn you gist
L955[13:33:42] <S3> http://pastie.org/private/kvtoqisg0afhbrtm9759q nxsupert
L956[13:34:19] <nxsupert> Ok. So it starts at the end of the padding?
L957[13:34:59] <S3> so what it is saying nxsupert, is that it starts right before the padding, right. but the padding will always be the smallest ammount of zeroes just to line itself up to the next partition entry or whatever
L958[13:35:05] <S3> the last sector can only hold 15 entries
L959[13:35:16] <nxsupert> Ok.
L960[13:35:24] <nxsupert> So. The maths will be...
L961[13:35:26] <S3> since EGGHUNT\0 is at the end of the drive you can't have a 16th
L962[13:36:02] ⇦ Quits: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net) (Ping timeout: 195 seconds)
L963[13:36:05] <S3> if you don't consider changes in sector sizes, you can be save saying the padding will be 32 - 8 long
L964[13:36:15] <S3> safe*
L965[13:36:32] <S3> so 24 bytes of padding before EGGHUNT\0
L966[13:37:16] <S3> and you can put anything you want in that padding, it should be ignored. Just whatever you do, do not make any of the flags in the flags byte true.
L967[13:37:22] <S3> if it were an entry
L968[13:37:35] <S3> otherwise some partitioners may cry
L969[13:37:55] ⇨ Joins: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net)
L970[13:37:55] zsh sets mode: +v on v^
L971[13:38:01] <nxsupert> Well
L972[13:38:16] <nxsupert> Ok.
L973[13:38:22] <S3> nxsupert: it may sound confusing, but that small math we did to find the length of the padding is only to align yourself with the entries, not to find them
L974[13:38:33] <S3> you should be searching for the first entry from there - 32 bytes each loop
L975[13:38:39] <S3> for a flag that says this is the first entry
L976[13:38:47] <nxsupert> sectorsize-math.ceil(32/8)
L977[13:39:13] <S3> whats that for
L978[13:39:23] <S3> 32/8 will always be even
L979[13:40:38] <S3> for version 0 I'd say forget about weird sector sizes
L980[13:40:43] <nxsupert> Number of table entries = math.floor((sectorsize-32)/32)
L981[13:40:46] <S3> as gamax92 said I don't think they can happen
L982[13:41:06] <S3> hmm
L983[13:41:31] <nxsupert> But. I am going to read the stuff byte by byte. Rather than sector by sector.
L984[13:41:40] <S3> you should for booting
L985[13:41:55] <S3> imo you should only be reading / writing sector by sector in a filesystem
L986[13:42:01] <S3> and an aligned filesystem at that
L987[13:42:41] <nxsupert> For getting the Magic Bytes I did read the entire sector as it would be easier to do than to compare each byte.
L988[13:42:57] <S3> oh?
L989[13:42:57] ⇨ Joins: ^v5 (~^v@c-68-41-215-101.hsd1.mi.comcast.net)
L990[13:43:18] <nxsupert> local magicStart,magicFinish = string.find(sector,"EGGHUNT")
L991[13:43:18] <nxsupert> if not (magicStart = sectorSize -7 and magicFinish = sectorSize -1)
L992[13:46:04] <ccsonic> Hey, might someone take a look into my BigReactors program and tell me why the output wont change and will always tell the stored energy the reactor had when the program was executed? http://pastebin.com/kTVpRbm0
L993[13:46:44] <S3> nxsupert: I would just do 1 - find EGGHUNT. 2 - align your pointer to be at the 32 byte offset from the end of the disk. 3 - read 32 bytes backwards until you see that the flag F is a 1. That is your first entry.
L994[13:48:16] <nxsupert> partitionEntryPointer = (math.floor((sectorsize-32)/32)- 1)*32 + 1+ driveSizeBytes - sectorSize
L995[13:48:26] <nxsupert> Does that look right?
L996[13:48:37] <S3> hmm
L997[13:48:41] <gamax92> mmh
L998[13:50:04] <S3> be careful about drive size bytes
L999[13:50:12] ⇨ Joins: Ditch (~Ditchbust@69.57.94.65.dsl.static.nccray.com)
L1000[13:50:14] <S3> it could be too big.. I dunno
L1001[13:51:41] <S3> t gives me a number of 449 though, your equation
L1002[13:51:46] <S3> for a 2048 sector disk
L1003[13:52:17] <S3> oh nvm
L1004[13:52:20] <S3> I had a % in there
L1005[13:52:25] <S3> gives me 1048513%
L1006[13:52:41] <sugoi> anyone know how openos; lua shell = deserializes?
L1007[13:52:50] <sugoi> openos'*
L1008[13:53:12] <S3> nxsupert: it says here that the drive size - your equation is 63 bytes.
L1009[13:53:24] <S3> something about that sounds odd
L1010[13:53:32] ⇦ Quits: Ditchbuster (~Ditchbust@69.57.94.65.dsl.static.nccray.com) (Ping timeout: 195 seconds)
L1011[13:53:45] <nxsupert> #l (math.floor((512-32)/32)- 1)*32 + 1+ 1024 - 512
L1012[13:53:55] <nxsupert> .l (math.floor((512-32)/32)- 1)*32 + 1+ 1024 - 512
L1013[13:53:55] <^v> nxsupert, 961
L1014[13:54:25] <S3> .l 1024 - 961
L1015[13:54:25] <^v> S3, 63
L1016[13:54:44] <S3> I think what I might do..
L1017[13:55:42] <nxsupert> Well.
L1018[13:55:43] ⇦ Quits: mallrat208 (~mallrat20@142-197-84-231.res.bhn.net) (Read error: Connection reset by peer)
L1019[13:55:48] <nxsupert> That is correct.
L1020[13:56:07] <nxsupert> That function points to where the very first entry would be.
L1021[13:56:18] <S3> s/would/could
L1022[13:56:18] <Kibibyte> <nxsupert> That function points to where the very first entry could be.
L1023[13:56:46] <nxsupert> .l (math.floor((512-32)/32)- 1)*32 + 1+ 4096 - 512
L1024[13:56:46] <^v> nxsupert, 4033
L1025[13:57:00] <S3> like I said, be careful on claiming that as a valid entry
L1026[13:57:10] <nxsupert> .l 4096-4033
L1027[13:57:10] <^v> nxsupert, 63
L1028[13:57:11] <S3> it just means you are aligned and can then check if that is and loop 32 bytes backwards
L1029[13:57:16] <ds84182> sugoi: require "serialization".serialize(<value>)
L1030[13:57:29] <sugoi> ds84182: it's not the same
L1031[13:57:41] <ds84182> You can pass it options
L1032[13:57:55] <sugoi> ds84182: that's what lua>= is doing? just passing options?
L1033[13:58:03] <nxsupert> Well. It seems to work.
L1034[13:58:09] <ds84182> ~w serialization
L1035[13:58:09] <ocdoc> http://ocd.cil.li/api:serialization
L1036[13:58:19] <nxsupert> .l (math.floor((128-32)/32)- 1)*32 + 1+ 4096 - 128
L1037[13:58:19] <^v> nxsupert, 4033
L1038[13:58:22] ⇨ Joins: mallrat208 (~mallrat20@142-197-84-231.res.bhn.net)
L1039[13:58:25] <ds84182> serialization.serialize(<value>, true)
L1040[13:58:30] <nxsupert> Even if the sector size changes.
L1041[13:58:34] <ds84182> the second argument puts it in pretty print mode
L1042[13:58:51] <gamax92> S3: you need to make a example of something that is valid but has a different first entry
L1043[13:59:22] <sugoi> ds84182: not quite. it is not only that. lua>= does a lot more
L1044[13:59:40] <ds84182> Welp, just check it's source then
L1045[13:59:43] <gamax92> you can pass a number for the second argument
L1046[13:59:45] <S3> gamax92: it's undocumented. I'm just saying that the first entry is defined when the F flag of an entry is set
L1047[13:59:53] <sugoi> consider lua>=component; 1. it truncates long serialized strings, 2. it prints a doc description of the functions, 3. it doesn't choke on functions in the table
L1048[13:59:55] <S3> so if you leave it unset.. you can put anything ese in there
L1049[14:01:06] <gamax92> S3: what if there is no F flag
L1050[14:01:09] <gamax92> wat do
L1051[14:01:11] <gamax92> end of world?
L1052[14:01:17] <S3> unless your disk is corrupt there will always be
L1053[14:01:24] <S3> as there is 1 partition type, 0x0
L1054[14:01:30] <S3> called the null partition type
L1055[14:01:38] <nxsupert> So wait. Offset and End have 1 byte each?
L1056[14:01:54] <vifino> gamax92: Did you watch the video yet...?
L1057[14:02:07] <S3> and when you create the partition table it puts a partition on it of type 0x0 with a flag A unset and flag F set
L1058[14:02:15] <gamax92> vifino: i did, the unity stuffs and the lua things and the emulator thingy
L1059[14:02:16] <S3> no
L1060[14:02:20] <S3> offset and end are 3 bytes a piece
L1061[14:02:24] <S3> they are 24 bit fields.
L1062[14:02:43] <S3> and they can represent either the ammount of bytes or the ammount of sectors. make sure you check the S flag
L1063[14:02:57] <vifino> gamax92: Do you like it?
L1064[14:03:03] <gamax92> yesh
L1065[14:03:06] <S3> non sector mode is only for unaligned partitions
L1066[14:03:32] <S3> a limitation is that you can not store unaligned partitions at the end of very large disk arrays
L1067[14:03:33] <vifino> :D
L1068[14:03:35] <S3> bigh deal.
L1069[14:03:47] <nxsupert> On the doc. you have them as 1 byte
L1070[14:03:48] <S3> you shouldn't be using them anyways..
L1071[14:03:50] <vifino> It means much to me how many people like the thing I thought was useless :D
L1072[14:03:53] <S3> uh hold on
L1073[14:04:08] <S3> woops
L1074[14:04:15] <S3> lemme update that, I'll fix the other thing too
L1075[14:04:24] <sugoi> vifino: it finished uploading? i wanted to sneak a peak
L1076[14:04:25] <sugoi> :)
L1077[14:04:39] <gamax92> but uhh vifino
L1078[14:04:52] <gamax92> actually no- hold on i need reference.
L1079[14:04:57] <vifino> ?
L1080[14:04:58] <S3> type and flags are one byte, offset and end are 3
L1081[14:06:12] <S3> https://gist.github.com/anonymous/1688c4b85e7d9bcf3600
L1082[14:06:18] <S3> nxsupert: we'll work out all the bugs :D
L1083[14:06:23] <S3> there's the updated doc
L1084[14:06:25] <vifino> gamax92: Also, do you think I'd be fine sharing it here/with some other people?
L1085[14:07:41] ⇨ Joins: jackmcbarn (jackmcbarn@2001:470:1f15:958:223:7dff:feed:6c92)
L1086[14:07:54] *** mallrat208 is now known as shadowrat208
L1087[14:08:22] *** shadowrat208 is now known as mallrat208
L1088[14:09:00] * vifino pokes gamax92
L1089[14:10:20] <S3> by the way
L1090[14:10:24] <S3> do we have ^ gamax92 ?
L1091[14:10:29] <S3> for bitwise xor or
L1092[14:10:36] <S3> in 5.3
L1093[14:11:23] <S3> looks like it's ^^
L1094[14:11:50] <S3> #v 255 ^^ 255
L1095[14:11:56] <S3> .l 255 ^^ 255
L1096[14:11:56] <^v> S3, lua:1: unexpected symbol near '255'
L1097[14:12:03] <S3> .l 255 ^ 255
L1098[14:12:03] <^v> S3, inf
L1099[14:12:05] ⇦ Quits: Nathan1852_ (~Nathan185@p5DC11AF8.dip0.t-ipconnect.de) (Ping timeout: 378 seconds)
L1100[14:12:18] <gamax92> vifino: uhh, I dunno, I really think that'd be up to you
L1101[14:12:19] <vifino> .l _VERSION
L1102[14:12:19] <^v> vifino, Lua 5.2
L1103[14:12:23] <S3> damn
L1104[14:12:28] <vifino> #lua _VERSIOn
L1105[14:12:28] <|0xDEADBEEF|> > nil
L1106[14:12:29] <vifino> #lua _VERSION
L1107[14:12:30] <|0xDEADBEEF|> > Lua 5.3 Sandbox
L1108[14:12:40] <gamax92> I just know that I watched it and liked it
L1109[14:12:41] <S3> #lua 255 ^^ 255
L1110[14:12:41] <|0xDEADBEEF|> > [string "lua"]:1: unexpected symbol near '255'
L1111[14:12:52] <S3> that's too bad
L1112[14:13:05] <vifino> gamax92: But what did you mean with "uuh vifino"?
L1113[14:13:18] <gamax92> the size of the file :P
L1114[14:13:33] ⇨ Joins: Guest29659 (~johnlage@usirt.com)
L1115[14:13:42] <vifino> oh :x
L1116[14:14:09] <vifino> I would reencode it to be less big, but I don't have the internet for that...
L1117[14:14:44] <S3> #lua ~255 + 1
L1118[14:14:44] <|0xDEADBEEF|> > -255
L1119[14:15:05] ⇦ Quits: Guest29659 (~johnlage@usirt.com) (Remote host closed the connection)
L1120[14:15:08] <S3> really now
L1121[14:15:12] <vifino> #lua ~255
L1122[14:15:12] <|0xDEADBEEF|> > -256
L1123[14:15:16] <vifino> wat
L1124[14:15:21] <vifino> #lua ~1
L1125[14:15:22] <|0xDEADBEEF|> > -2
L1126[14:15:25] <vifino> ?!
L1127[14:15:38] ⇨ Joins: johnlage (~johnlage@usirt.com)
L1128[14:15:43] <S3> apparently |0xDEADBEEF| can't do twos compliment for shiot
L1129[14:15:44] <S3> shit*
L1130[14:15:59] *** johnlage is now known as Guest72568
L1131[14:16:04] <S3> because ~255 + 1 is NOT -255
L1132[14:16:22] *** Skye|School is now known as Skye
L1133[14:16:31] <vifino> Lua 5.3.1 Copyright (C) 1994-2015 Lua.org, PUC-Rio
L1134[14:16:31] <vifino> > ~255 + 1
L1135[14:16:31] <vifino> -255
L1136[14:16:41] <S3> uh
L1137[14:16:50] <S3> #lua ~0xff + 1
L1138[14:16:50] <|0xDEADBEEF|> > -255
L1139[14:16:52] <S3> ?!?!
L1140[14:16:54] ⇦ Quits: Guest72568 (~johnlage@usirt.com) (Remote host closed the connection)
L1141[14:16:57] <S3> #lua ~0xff + 0x1
L1142[14:16:57] <|0xDEADBEEF|> > -255
L1143[14:17:04] <S3> what a dumb interpreter
L1144[14:17:37] ⇨ Joins: johnlage (~johnlage@usirt.com)
L1145[14:18:01] ⇦ Quits: johnlage (~johnlage@usirt.com) (Remote host closed the connection)
L1146[14:18:19] <S3> well lets see
L1147[14:19:04] <gamax92> #js 4
L1148[14:19:04] <|0xDEADBEEF|> > 4
L1149[14:19:10] <gamax92> does js have bitwise stuffs
L1150[14:19:24] ⇨ Joins: johnlage (~johnlage@usirt.com)
L1151[14:19:42] <gamax92> #js ~0xff + 1
L1152[14:19:42] <|0xDEADBEEF|> > -255
L1153[14:19:44] <gamax92> #js ~0xff
L1154[14:19:45] <|0xDEADBEEF|> > -256
L1155[14:19:50] <gamax92> r.i.p S3
L1156[14:19:56] <vifino> HAHAHAHAHA
L1157[14:20:04] * vifino is dieing of laughter
L1158[14:20:39] <S3> gamax92: ?
L1159[14:20:59] <gamax92> S3: javascript does the same thing
L1160[14:21:13] ⇦ Quits: johnlage (~johnlage@usirt.com) (Remote host closed the connection)
L1161[14:21:24] <S3> still not right..
L1162[14:21:33] <S3> ~ must not be doing what it should be doing
L1163[14:21:41] <S3> or what you would think it would do
L1164[14:22:07] ⇨ Joins: johnlage (~johnlage@usirt.com)
L1165[14:23:55] <vifino> S3:
L1166[14:23:58] <vifino> #lua 5 | 3
L1167[14:23:58] <|0xDEADBEEF|> > 5
L1168[14:24:10] <vifino> erm
L1169[14:24:27] <S3> it's happening because it is not treating the number as a byte
L1170[14:24:29] <S3> that's whyu
L1171[14:24:37] <vifino> #lua 2 | 8
L1172[14:24:38] <|0xDEADBEEF|> > 2
L1173[14:24:40] <S3> c does this correctly:
L1174[14:24:41] <S3> % ./a.out
L1175[14:24:41] <S3> 0u
L1176[14:24:42] <vifino> wat
L1177[14:24:53] ⇨ Joins: Madxmike (~Madxmike@168.28.136.36)
L1178[14:24:54] <S3> (for ~255)
L1179[14:24:56] <gamax92> well no shit it isn't a byte
L1180[14:24:58] <vifino> > 2 | 8
L1181[14:24:58] <vifino> 10
L1182[14:25:07] <S3> so how the frig do you make it work on a byte
L1183[14:25:14] <S3> in lua
L1184[14:25:15] <vifino> different results, wat
L1185[14:25:34] <S3> #js {} + {}
L1186[14:25:34] <|0xDEADBEEF|> > NaN
L1187[14:25:43] <gamax92> I need to install lua5.3 ...
L1188[14:25:49] <S3> interesting
L1189[14:25:53] <S3> object + object is not a number.
L1190[14:26:01] <S3> #js [] + {}
L1191[14:26:01] <|0xDEADBEEF|> > "[object Object]"
L1192[14:26:02] ⇨ Joins: Ditchbuster (~Ditchbust@166.170.52.64)
L1193[14:26:07] <S3> #js {} + []
L1194[14:26:07] <|0xDEADBEEF|> > 0
L1195[14:26:20] <S3> .... apparently + is not commutative in javascript
L1196[14:26:33] <S3> what if I..
L1197[14:26:49] ⇨ Joins: rjs232323 (webchat@184-156-194-45.dyn.centurytel.net)
L1198[14:27:10] <rjs232323> Yo, I'm using external file editor for Lua files. How come when I save a file to a .lua
L1199[14:27:12] <S3> #js Array(16).join("wat" - 1) + " Batman!"
L1200[14:27:12] <|0xDEADBEEF|> > "NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN Batman!"
L1201[14:27:15] <rjs232323> the computers in game won't see the changes?
L1202[14:27:21] <gamax92> hahaha
L1203[14:28:36] <S3> gamax92, vifino: so yes, I would never trust Javascript's operator judgement :P
L1204[14:28:51] <gamax92> #rb 4
L1205[14:28:59] <gamax92> vifino: there is ruby right?
L1206[14:29:10] <vifino> Nuuupe, not a sandbox, no.
L1207[14:29:15] <vifino> #>> 4
L1208[14:29:15] <|0xDEADBEEF|> > 4
L1209[14:29:19] <S3> #rb 5
L1210[14:29:25] <S3> #perl foo
L1211[14:29:31] <S3> why no perl
L1212[14:29:31] <gamax92> can you go do a ruby bitwise test, if ruby has bitwise stuff
L1213[14:29:38] <rjs232323> whats wrong with javascript operator?
L1214[14:29:38] <S3> my bot can do ruby and perl sandboxed :P
L1215[14:29:41] ⇦ Quits: Ditch (~Ditchbust@69.57.94.65.dsl.static.nccray.com) (Ping timeout: 378 seconds)
L1216[14:29:55] <rjs232323> i'm the javascript guy, I love javascript
L1217[14:30:16] <S3> rjs232323: no. read up. batman is
L1218[14:30:25] <S3> :)
L1219[14:30:48] <rjs232323> I see the expression
L1220[14:30:49] <nxsupert> #js Array(16).join("wat" - 1) + " Banana Man!"
L1221[14:30:49] <|0xDEADBEEF|> > "NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN Banana Man!"
L1222[14:30:55] <S3> lol
L1223[14:30:56] <rjs232323> whats wrong with it exactly?
L1224[14:31:00] <S3> nothing.
L1225[14:31:05] <rjs232323> you're doing a number to a string, of course NaN is expected Oo?
L1226[14:31:07] <S3> but there is something wrong here:
L1227[14:31:08] <gamax92> #js Array(16).join("wat" - 1) + " Seananners!"
L1228[14:31:08] <|0xDEADBEEF|> > "NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN Seananners!"
L1229[14:31:14] <S3> just have a look rjs232323
L1230[14:31:20] <S3> #js [] + {}
L1231[14:31:20] <|0xDEADBEEF|> > "[object Object]"
L1232[14:31:22] <S3> so
L1233[14:31:29] <S3> if we use commutative properties
L1234[14:31:34] <S3> we should get the same if we go..
L1235[14:31:38] <S3> #js {} + []
L1236[14:31:38] <|0xDEADBEEF|> > 0
L1237[14:31:39] <S3> which we do!
L1238[14:31:47] <ccsonic> Guys? Im making a BigReactors program. Right now turning it on and off and checking the stored energy. Though it doesnt refresh the stored energy and always shows the same even though it changed. Any ideas?
L1239[14:31:59] <gamax92> S3: btw what is the "correct" result for that ~0xFF + 1 thing?
L1240[14:32:06] <S3> gamax92: 1.
L1241[14:32:12] <gamax92> oh so then you can just do this
L1242[14:32:19] <gamax92> #lua (~0xFF + 1) & 0xFF
L1243[14:32:19] <|0xDEADBEEF|> > 1
L1244[14:32:35] <rjs232323> thats interesting
L1245[14:32:36] <S3> ooh
L1246[14:32:48] <S3> see now, 0x255 signed is -1
L1247[14:32:51] <S3> as we see right there.
L1248[14:33:01] <S3> twos compliment
L1249[14:33:28] <S3> interesting I didn't think of doing that gamax92.. as I've had to do it a lot with microcontrollers and IO..
L1250[14:33:32] <rjs232323> {} + [] should be just simply Object but for some reason the bot is showing that
L1251[14:33:44] <rjs232323> i wonder what the bot uses to come up with that
L1252[14:33:51] <S3> rjs232323: it's not just the bot
L1253[14:33:53] <rjs232323> OH
L1254[14:33:54] <S3> it's Javascript.
L1255[14:33:54] <rjs232323> derp
L1256[14:33:55] <rjs232323> I see.
L1257[14:34:21] <rjs232323> but i still dont see whats wrong with Javascript tho?
L1258[14:34:33] <S3> commutative operators should be commutative
L1259[14:34:34] <S3> :)
L1260[14:34:37] <rjs232323> [] can equal to 0
L1261[14:34:41] <rjs232323> or {} can equal to 0
L1262[14:34:46] <S3> yes.
L1263[14:34:52] <S3> but commutative property
L1264[14:34:53] <rjs232323> so {} + [] is still 0 which equal to 0
L1265[14:35:11] ⇦ Quits: orthoplex64 (~orthoplex@173.227.72.119) (Ping timeout: 378 seconds)
L1266[14:35:15] <rjs232323> can you clarify on the commutative property?
L1267[14:35:16] <S3> it doesn't matter why it happens it's documented as commutative in the manual, which we can certainly see that it is not! :)
L1268[14:35:24] <gamax92> #lua [] + {}
L1269[14:35:24] <|0xDEADBEEF|> > [string "lua"]:1: unexpected symbol near '['
L1270[14:35:28] <gamax92> #js [] + {}
L1271[14:35:28] <|0xDEADBEEF|> > "[object Object]"
L1272[14:35:31] <gamax92> #js {} + []
L1273[14:35:31] <|0xDEADBEEF|> > 0
L1274[14:35:33] <gamax92> that
L1275[14:35:34] <Lizzy> #js {} + {}
L1276[14:35:34] <|0xDEADBEEF|> > NaN
L1277[14:35:39] <gamax92> also that
L1278[14:36:01] <rjs232323> explain
L1279[14:36:05] <rjs232323> i dont see the issue tho
L1280[14:36:08] <Lizzy> https://www.destroyallsoftware.com/talks/wat
L1281[14:36:08] <rjs232323> its what i expected
L1282[14:36:12] <gamax92> rjs232323: why
L1283[14:36:18] <gamax92> I expect a + b to be the same as b + a
L1284[14:36:25] <S3> the commutative property is an arithmetic property that states a + b is and always is b + a.
L1285[14:36:26] <rjs232323> are you saying that {} +[] should be NaN in javascript?
L1286[14:36:29] <gamax92> no
L1287[14:36:30] <S3> what he said
L1288[14:36:49] <gamax92> I'm saying that [] + {} makes object, so {} + [] should also be object, or [] + {} should be 0
L1289[14:36:53] <S3> no what he is saying
L1290[14:36:56] <S3> yeah
L1291[14:37:08] <S3> if I say 5 + 7
L1292[14:37:15] <S3> I expect 12
L1293[14:37:19] <S3> if I do 7 + 5
L1294[14:37:22] <S3> I don't expect 4.
L1295[14:37:27] ⇦ Quits: Jezza (~Jezza@92.206.12.69) (Read error: Connection reset by peer)
L1296[14:38:52] <rjs232323> but
L1297[14:38:56] <rjs232323> they do a+b = b+a
L1298[14:38:57] <rjs232323> tho
L1299[14:39:39] <gamax92> #js var a = []; var b = {}; return a + b
L1300[14:39:39] <|0xDEADBEEF|> > Illegal return statement at <eval>:1:26
L1301[14:39:46] <gamax92> I am not a js person :P
L1302[14:39:49] <rjs232323> may I do the #js?
L1303[14:40:00] <gamax92> no it is forbidden for you to use #js
L1304[14:40:04] <gamax92> yes of course you can ...
L1305[14:40:05] <rjs232323> I'd like to try this. It is interesting to try
L1306[14:40:09] <rjs232323> ([]+{})==({}+[])
L1307[14:40:12] <rjs232323> #js ([]+{})==({}+[])
L1308[14:40:16] <|0xDEADBEEF|> > true
L1309[14:40:22] <gamax92> ... wat
L1310[14:40:26] <rjs232323> lol
L1311[14:40:33] <gamax92> confusion increases
L1312[14:40:43] <gamax92> no
L1313[14:40:46] <gamax92> #js ([]+{})===({}+[])
L1314[14:40:46] <|0xDEADBEEF|> > true
L1315[14:40:48] <gamax92> ,fklsdfjsdklfjsdkf
L1316[14:40:54] <rjs232323> lol
L1317[14:40:59] <rjs232323> i dont know how to explain
L1318[14:41:44] <rjs232323> but I do see your confusion tho
L1319[14:42:20] <S3> rjs232323: time to start using a real language like Perl
L1320[14:42:25] <S3> :)
L1321[14:42:41] <rjs232323> but why real language if javascript works the way you expect tho
L1322[14:42:47] <rjs232323> ;s?
L1323[14:42:49] <S3> wait what
L1324[14:42:53] <S3> gamax92: did you see that?!
L1325[14:42:59] <S3> "if javascript works the way you expect"
L1326[14:43:03] <rjs232323> yes?
L1327[14:43:04] <Vexatos> http://stackoverflow.com/questions/7202157/why-does-return-the-string-10
L1328[14:43:07] <Lizzy> #python print("hai")
L1329[14:43:08] <Lizzy> aww
L1330[14:43:10] <Lizzy> hmm
L1331[14:43:11] <S3> IF it works the way you expect
L1332[14:43:11] <gamax92> okay so more confusion now
L1333[14:43:13] <Vexatos> #js ++[[]][+[]]+[+[]]
L1334[14:43:14] <Daiyousei> i tried javascript once
L1335[14:43:15] <Daiyousei> i got aids
L1336[14:43:16] <Daiyousei> and died
L1337[14:43:17] <Daiyousei> rip
L1338[14:43:18] <|0xDEADBEEF|> > "10"
L1339[14:43:20] <gamax92> #lua []+{}
L1340[14:43:20] <|0xDEADBEEF|> > [string "lua"]:1: unexpected symbol near '['
L1341[14:43:20] <vifino> f
L1342[14:43:20] <Vexatos> :P
L1343[14:43:22] <S3> it's not working the way I'm expecting
L1344[14:43:22] <S3> :D
L1345[14:43:24] <gamax92> #js []+{}
L1346[14:43:24] <|0xDEADBEEF|> > "[object Object]"
L1347[14:43:28] <gamax92> #js {}+[]
L1348[14:43:28] <|0xDEADBEEF|> > 0
L1349[14:43:29] <Vexatos> #js ++[[]][+[]]+[+[]]
L1350[14:43:30] <|0xDEADBEEF|> > "10"
L1351[14:43:31] <vifino> Lizzy: I maaaay implement it, just for you :3
L1352[14:43:32] <Vexatos> this is so glorious
L1353[14:43:36] <gamax92> I get [object Object] in chrome
L1354[14:43:39] <S3> vifino: Perl!
L1355[14:43:43] <S3> I needs Perl sandbox
L1356[14:43:47] <rjs232323> ohhh, that is funny. Let me comprehend that expression
L1357[14:43:49] <Lizzy> vifino, na, i'ma see if i can impliment it in my bot
L1358[14:43:55] <vifino> S3: Make me a perl sandbox and sure.
L1359[14:43:56] <gamax92> or no, i get 0 if i don't assign it to a variable
L1360[14:43:57] <vifino> Lizzy: :<
L1361[14:44:01] <S3> vifino: perlbuut.
L1362[14:44:03] <Lizzy> vifino, :P
L1363[14:44:06] <gamax92> but when i do a=blah, it's an object?
L1364[14:44:18] <S3> people have tried to break it for years vifino and nobody has been successful
L1365[14:44:55] <rjs232323> that is interesting but I can see why
L1366[14:44:58] <nxsupert> Back!
L1367[14:45:00] <S3> https://github.com/simcop2387/perlbuut/blob/master/bin/evalserver
L1368[14:45:02] <vifino> S3: Give me a simple script that takes perl via $1 and outputs the result. :l
L1369[14:45:15] <S3> is where the server part is
L1370[14:45:21] <rjs232323> since [] is same as zero, using operator of + is a way of telling compiler that it is a int so it becomes 0
L1371[14:45:42] <S3> the bot runs it in a seperate server process that can't access the outside world
L1372[14:45:51] <Vexatos> Lua's biggest advantage over most other language: It has + as well as ..
L1373[14:46:02] ⇦ Quits: Ditchbuster (~Ditchbust@166.170.52.64) (Ping timeout: 195 seconds)
L1374[14:46:04] <Vexatos> so no accidental string-conversion ever :P
L1375[14:46:06] <gamax92> if I return that from a function, i get object as well
L1376[14:46:15] <gamax92> so it seems to just be that weird random case where I get 0
L1377[14:46:22] <S3> uses this script for magics: https://github.com/simcop2387/perlbuut/blob/master/lib/EvalServer.pm
L1378[14:46:36] <S3> vifino: what I could so
L1379[14:46:37] <S3> do*
L1380[14:46:46] <S3> vifino: I would write a simple standalone eval server for that
L1381[14:46:49] <gamax92> #lua "5"+7
L1382[14:46:49] <|0xDEADBEEF|> > 12.0
L1383[14:46:49] <S3> using that
L1384[14:46:53] <gamax92> Vexatos: ?
L1385[14:46:58] <Vexatos> wait what
L1386[14:47:03] <Vexatos> it should have errored
L1387[14:47:05] <gamax92> nope
L1388[14:47:06] <Vexatos> .-.
L1389[14:47:10] <Lizzy> lel
L1390[14:47:11] <vifino> S3: Give. Me. A. Single. Script. that. takes. $1. And. Runs. it. in. a. Sandbox.
L1391[14:47:12] <gamax92> .l "5"+7
L1392[14:47:12] <^v> gamax92, 12
L1393[14:47:13] <vifino> :l
L1394[14:47:19] <S3> :)
L1395[14:47:25] <Vexatos> :) is \n in LOLCODE
L1396[14:47:28] <S3> vifino: I'll make one from that code :)
L1397[14:47:36] <gamax92> Vexatos: +0 is cheap tostring
L1398[14:47:38] <gamax92> tonumber*
L1399[14:47:39] <Daiyousei> vifino you should learn perl
L1400[14:47:40] <vifino> S3: Standalone, no server.
L1401[14:47:40] <Daiyousei> its fun
L1402[14:47:46] <S3> Daiyousei: exactly!
L1403[14:47:51] <Vexatos> #lua type("5"+7)
L1404[14:47:51] <|0xDEADBEEF|> > number
L1405[14:47:53] <S3> well if I can give him an eval script
L1406[14:47:54] <vifino> If there is a server, it's not gonna be implemented in |0xDEADBEEF|.
L1407[14:47:54] ⇦ Quits: h3po (~h3po@aftr-5-146-249-205.unity-media.net) (Ping timeout: 206 seconds)
L1408[14:47:55] <Vexatos> #lua type(7+"5")
L1409[14:47:55] <|0xDEADBEEF|> > number
L1410[14:47:56] <S3> he can play with it on the bot
L1411[14:47:56] ⇨ Joins: h3po (~h3po@aftr-5-146-249-205.unity-media.net)
L1412[14:48:29] <rjs232323> ok, that was a fun javascript experience. Back to my problem, how do I make opencomputers open my updated .lua files? Everytime I save a .lua file from external file editor, opencomputer is not loading the updated files?
L1413[14:48:43] <S3> vifino: so you said it just passes a "" string to the first arg of the script?
L1414[14:48:43] <ds84182> .."" is cheep tostring
L1415[14:48:45] <S3> containing the code
L1416[14:48:53] <Vexatos> rjs232323, bufferChanges=false in the config
L1417[14:48:53] <gamax92> ds84182 is correct
L1418[14:49:01] <rjs232323> oh, thanks.
L1419[14:49:11] <rjs232323> is there a side effect to that?
L1420[14:49:11] <ds84182> rjs232323: .-. at least this one makes sense.
L1421[14:49:19] <ds84182> rjs232323: doesn't work with tables I think
L1422[14:49:22] <ds84182> #lua {}..""
L1423[14:49:23] <|0xDEADBEEF|> > [string "lua"]:1: attempt to concatenate a table value
L1424[14:49:25] <ds84182> yep
L1425[14:49:31] <ds84182> #lua true..""
L1426[14:49:31] <|0xDEADBEEF|> > [string "lua"]:1: attempt to concatenate a boolean value
L1427[14:49:35] <ds84182> or booleans
L1428[14:49:42] <gamax92> or things that aren't numbers
L1429[14:49:42] <ds84182> only really works with numbers and strings
L1430[14:50:03] <vifino> S3: ./perlsb 'print "You god darn perlian\n";'
L1431[14:50:16] <S3> vifino: cool
L1432[14:50:42] <S3> perlian... you mean...
L1433[14:50:42] ⇦ Quits: solenoids (~phillips1@72.42.104.172) (Ping timeout: 195 seconds)
L1434[14:51:00] <S3> ./perlsb 'x => sub {
L1435[14:51:02] <S3> oops
L1436[14:51:16] <vifino> S3: You know what I mean :l
L1437[14:51:51] <S3> ./perlsb 'x => sub { &{ $_[0] }("_x", @_[1 .. $#_]) }; x->();
L1438[14:52:00] <S3> with ' at the end which I forgot
L1439[14:52:40] <vifino> Yes. ./perlsb "$CODEHERE"
L1440[14:52:53] <nxsupert> Done! With only 64 bytes to spare :D
L1441[14:52:54] <S3> I was just putting bad code there
L1442[14:52:58] <S3> to mnake gamax92 freak out
L1443[14:53:02] <vifino> I don't caaaaare.
L1444[14:53:08] <gamax92> I don't perl
L1445[14:53:11] <S3> lol
L1446[14:53:17] <gamax92> I did once upon a time
L1447[14:53:22] <gamax92> several years ago
L1448[14:53:24] <S3> because that's a really fugly OOP accessor :)
L1449[14:53:34] <nxsupert> S3? Do you have an example partition table or something?
L1450[14:53:50] <S3> nxsupert: I am writing that partitioner the simple one
L1451[14:53:57] *** ds84182 is now known as [username]-[device]|[status]`[
L1452[14:53:58] <S3> its ugly but I'll give you the source
L1453[14:54:02] *** [username]-[device]|[status]`[ is now known as ds84182
L1454[14:54:04] <S3> when it at least makes partitions
L1455[14:55:03] <nxsupert> https://gist.github.com/emwebb/7bb08432fa530f898ac6
L1456[14:55:18] <vifino> S3: God darn. Make me that darn script, pack it with some packer and hand it to me so I can make the darn glue for it in |0xDEADBEEF|.
L1457[14:55:28] <vifino> That's how you get your #perl.
L1458[14:55:29] <vifino> :l
L1459[14:55:35] * ds84182 glues vifino to the wall
L1460[14:55:36] ⇨ Joins: h3po1 (~h3po@aftr-5-146-249-205.unity-media.net)
L1461[14:55:45] <nxsupert> Does that look ok S3?
L1462[14:55:45] * vifino stabs ds84182 with an icicle
L1463[14:55:55] <Ekoserin> vifino, how does that thing not melt?
L1464[14:56:06] <vifino> Ekoserin: It's a kind of magic.
L1465[14:56:14] * ds84182 stabs Ekoserin with a melted vifino
L1466[14:56:30] <Ekoserin> Is there a magic spell to keep my alvie in the event of being stabbed with a human?
L1467[14:56:32] ⇦ Quits: h3po (~h3po@aftr-5-146-249-205.unity-media.net) (Ping timeout: 195 seconds)
L1468[14:56:34] <ds84182> No
L1469[14:56:35] * Lizzy scoops up the melted vifino and reforms him
L1470[14:56:42] * nxsupert stabs everyone with a pie.
L1471[14:56:48] <ds84182> You can only use a Phoenix Down
L1472[14:56:49] * Lizzy eats the pie
L1473[14:57:05] <ds84182> Phoenix: Linux, but on fire ( ͡^ ͜ʖ ͡^)
L1474[14:57:05] <vifino> https://www.youtube.com/watch?v=NLxN0wpFoP8
L1475[14:57:05] <MichiBot> vifino: Queen - A kind of Magic | length 6m 6s | Likes: 11312 Dislikes: 247 Views: 4910614 | by FM4ever
L1476[14:57:06] * nxsupert stabs Lizzy with a Lizzy clone.
L1477[14:57:06] * Ekoserin eats Lizzy
L1478[14:57:18] <Lizzy> \o/ back to being just one of me
L1479[14:57:29] * ds84182 eats all of Lizzy?
L1480[14:57:31] * vifino nibbles on Lizzy
L1481[14:57:32] * nxsupert nukes Lizzy
L1482[14:57:37] * vifino brutally murders ds84182
L1483[14:57:40] * Lizzy ded
L1484[14:57:47] * Lizzy alive
L1485[14:57:50] <vifino> D:
L1486[14:57:51] <vifino> :D
L1487[14:57:52] * ds84182 is dead?
L1488[14:57:57] * nxsupert vaporises everyone.
L1489[14:58:02] * vifino nibbles some moar on Lizzy
L1490[14:58:08] * Ekoserin melts vifino with a GPU
L1491[14:58:11] * Lizzy nyahs
L1492[14:58:12] <Lizzy> https://www.youtube.com/watch?v=PGNiXGX2nLU
L1493[14:58:12] <MichiBot> Lizzy: Dead Or Alive - You Spin Me Round (Like a Record) | length 3m 17s | Likes: 111907 Dislikes: 4342 Views: 21653861 | by DeadOrAliveVEVO
L1494[14:58:16] <ds84182> Ekoserin: YOU MONSTER
L1495[14:58:19] <cloakable> Dev question: is there a way in the API to implement network cables?
L1496[14:58:32] <Lizzy> cloakable, probably
L1497[14:58:45] <nxsupert> Anyway. S3. Is this ok?:https://gist.github.com/emwebb/7bb08432fa530f898ac6
L1498[14:58:52] <Ekoserin> ds84182: AMD
L1499[14:59:10] <Lizzy> cloakable, i think you just make your TE a node but don't provide any component for it
L1500[14:59:12] <ds84182> Ekoserin: DIE DEMON, YOU DON"T BELONG IN THIS WORLD
L1501[14:59:15] <cloakable> Lizzy: cause the dev in question can't find it, went to look into the main mod to find out how OC does it, then ran away from the Scala
L1502[14:59:15] * ds84182 runs
L1503[14:59:22] * Ekoserin chases ds84182
L1504[14:59:26] <ds84182> nou
L1505[14:59:29] <ds84182> bbl
L1506[14:59:52] <Lizzy> cloakable, i don't know, you'd have to ask Sangar when he appears
L1507[14:59:56] * vifino lets Lizzy piggyback him and spins around
L1508[14:59:58] * nxsupert separates ds84182 and Ekoserin with Lizzy and vifino
L1509[15:00:13] * Lizzy jumps on vifino's back
L1510[15:00:19] * Ekoserin is confused
L1511[15:00:25] * gamax92 is confused
L1512[15:00:28] <cloakable> aha
L1513[15:00:31] * nxsupert eats Lizzy.
L1514[15:00:32] * Ekoserin confuses gamax92
L1515[15:00:37] * Lizzy sighs
L1516[15:00:38] * gamax92 is more confused
L1517[15:00:53] * Lizzy bursts out from nxsupert's stomach
L1518[15:01:00] * nxsupert spits Lizzy out.
L1519[15:01:07] <Lizzy> i was already out....
L1520[15:01:17] <cloakable> Sangar: Dev question: is there a way in the API to implement network cables? Asking for an Ender IO dev, they're looking to make network conduit
L1521[15:01:18] <nxsupert> Stupid ping delay.
L1522[15:01:29] <gamax92> %p nxsupert
L1523[15:01:30] <MichiBot> Ping reply from nxsupert 0.36s
L1524[15:01:30] * ping slaps nxsupert
L1525[15:01:31] * EnderBot2 high-fives ping
L1526[15:01:32] * cloakable leaves a ping
L1527[15:01:46] * vifino cleans up Lizzy, then picks her up
L1528[15:01:53] <Lizzy> :D
L1529[15:01:58] * Lizzy hugs vifino
L1530[15:02:05] * Ekoserin is AFK
L1531[15:02:09] * Evey wonders what the fuck is going on
L1532[15:02:11] <S3> vifino: I will later
L1533[15:02:11] * vifino hugs Lizzy back
L1534[15:02:19] * gamax92 wonders who Evey is
L1535[15:02:27] * Evey is Evey
L1536[15:02:35] <gamax92> ahh, okay
L1537[15:02:49] * Ender hugs Evey :3
L1538[15:03:00] * Evey giggles and hugs Ender back
L1539[15:03:10] <Evey> :3
L1540[15:03:14] <Evey> nearly forgot that
L1541[15:03:15] <Evey> :P
L1542[15:03:22] <Ender> hehe
L1543[15:03:25] ⇨ Joins: phillips1012 (~phillips1@72.42.104.172)
L1544[15:03:30] * Ekoserin pulls up a lawn chair and watches
L1545[15:03:43] * Ender burns the lawn
L1546[15:03:50] <Lizzy> ¬_¬
L1547[15:04:03] <Ekoserin> What lawn?
L1548[15:04:16] * Ender shrugs
L1549[15:04:26] <Ender> I burnt something
L1550[15:04:29] <Ender> not sure what
L1551[15:04:31] <Ender> oh well
L1552[15:04:50] * vifino grabs Lizzy's hand and walks somewhere to get drinks
L1553[15:04:59] <Ekoserin> Bring me a beer.
L1554[15:05:01] * Lizzy follows
L1555[15:05:08] * Lizzy throws a knife at Ekoserin
L1556[15:05:14] <Ekoserin> WHAT THE FUCK
L1557[15:05:35] * Lizzy laughs manically
L1558[15:08:33] * Ekoserin eats plastic
L1559[15:08:49] * nxsupert hugs everyone.
L1560[15:09:09] * Evey sits on Ender's lap
L1561[15:09:16] * Ender hugs Evey
L1562[15:09:17] ⇨ Joins: MajGenRelativity (~MajGenRel@c-73-186-66-242.hsd1.ma.comcast.net)
L1563[15:09:46] <nxsupert> Anyway.
L1564[15:09:47] <nxsupert> S3.
L1565[15:10:41] * MajGenRelativity pokes Ekoserin
L1566[15:10:44] <MajGenRelativity> sup
L1567[15:10:57] * Ekoserin stabs Maj with a butter knife
L1568[15:11:56] * MajGenRelativity parries butter knife
L1569[15:12:03] * MajGenRelativity returns thrust with crossbow
L1570[15:12:36] ⇦ Quits: rjs232323 (webchat@184-156-194-45.dyn.centurytel.net) (Quit: Web client closed)
L1571[15:13:30] * MajGenRelativity picks up rock and chucks it at Ekoserin 's head
L1572[15:14:08] <MajGenRelativity> It's ok
L1573[15:14:14] <MajGenRelativity> my portal to alfheim works some of the time
L1574[15:14:58] <Ekoserin> What do you want Maj
L1575[15:15:06] <MajGenRelativity> just wanted to see wassup
L1576[15:15:13] <Ekoserin> Airplanes.
L1577[15:15:26] <MajGenRelativity> Noice
L1578[15:15:28] <MajGenRelativity> what model?
L1579[15:15:32] <gamax92> No Ice
L1580[15:15:42] <Ekoserin> gamax92: whoosh
L1581[15:15:48] <MajGenRelativity> ?
L1582[15:15:54] <gamax92> I geddit, cause plane
L1583[15:16:57] <MajGenRelativity> I power my reactant dynamo with nether stars
L1584[15:19:26] <Antheus> 8/8 n0 h8 m8
L1585[15:19:46] <Sangar> cloakable: sure, basically each conduit "endpoint" needs to be a (sided)environment with a node, and all nodes on a conduit have to be connected to their neighbors
L1586[15:19:55] ⇨ Joins: rjs232323 (webchat@184-156-194-45.dyn.centurytel.net)
L1587[15:20:17] <rjs232323> can creatively spawned OC computer have fixed address ?
L1588[15:20:42] <rjs232323> like define a component to have a permament address that doesnt change
L1589[15:22:11] <Lizzy> why?
L1590[15:23:40] <rjs232323> i'd like to have use some addresses on some blocks like transposer that have specific function
L1591[15:23:56] <rjs232323> and move them around on same network sometimes without updating the codes
L1592[15:24:32] <rjs232323> each time I move the blocks around, their address change
L1593[15:24:40] <Lizzy> yes
L1594[15:24:43] <Lizzy> that's intended
L1595[15:24:43] <rjs232323> and I have to update the lua each time which is bit of a pain for me
L1596[15:25:14] ⇦ Quits: Vexatos (~Vexatos@p200300556E5802673809A1DA13A67D00.dip0.t-ipconnect.de) (Quit: I guess I have to go now. Bye ✔)
L1597[15:25:31] <rjs232323> even for creative purpose?
L1598[15:26:26] <Lizzy> all the command does is just 'automates' the spawning of the components and putting them in the computer
L1599[15:26:44] <Lizzy> if you take the components out and put them in a different computer they'll keep their address
L1600[15:27:12] <rjs232323> i dont mean like HDD or something. I was refering to like screens and transposer and such
L1601[15:27:58] <rjs232323> if there is a way to lock their address so it doesn't change... hmm
L1602[15:32:23] <nxsupert> S3?
L1603[15:39:45] <gamax92> S3 is not available at the moment, please leave a message after the colon:
L1604[15:43:35] <Sangar> *clack*
L1605[15:44:13] <nxsupert> Well. I want to add more to my Bios. But I only have 64 bytes left.
L1606[15:48:33] <nxsupert> Sangar: Are EEPROM's data stored in NBT?
L1607[15:48:53] <Mimiru> Yes
L1608[15:48:58] <nxsupert> :(
L1609[15:56:06] <S3> Hey
L1610[15:57:14] <MajGenRelativity> ey
L1611[15:57:18] <MajGenRelativity> it's S3!
L1612[15:57:51] <ccsonic> hey major
L1613[15:58:22] <gamax92> I thought that said mayor for a second
L1614[15:58:53] <nxsupert> S3: https://gist.github.com/emwebb/7bb08432fa530f898ac6
L1615[16:01:06] <S3> damn it
L1616[16:01:09] <S3> I'm not in C
L1617[16:01:10] <S3> X*
L1618[16:01:11] <S3> lol
L1619[16:01:31] <S3> here we go
L1620[16:01:43] <S3> who is MajGenRelativity ?
L1621[16:01:56] <MajGenRelativity> Idk you
L1622[16:01:59] <S3> LOL
L1623[16:02:05] <MajGenRelativity> just that nxsupert was asking for you
L1624[16:02:08] <MajGenRelativity> lol
L1625[16:02:45] <S3> nxsupert: interesting
L1626[16:04:48] <S3> nxsupert: why are you calling component.invoke in a pcall?
L1627[16:06:01] <nxsupert> Most of this is just a modified version of the normal BIOS
L1628[16:06:05] <S3> oh?
L1629[16:06:12] <S3> does it seem to work?
L1630[16:06:36] <nxsupert> My stuff starts at line 53.
L1631[16:06:45] <nxsupert> I haven't had a chance to test it yet.
L1632[16:07:24] *** Cruor is now known as Cruor|Away
L1633[16:08:10] <S3> heh
L1634[16:08:51] <nxsupert> Do you want to try and test it?
L1635[16:09:22] ⇦ Quits: Madxmike (~Madxmike@168.28.136.36) (Remote host closed the connection)
L1636[16:09:53] ⇦ Quits: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de) (Quit: Leaving)
L1637[16:10:47] <S3> well
L1638[16:11:02] <S3> all you gotta do is punch a few bytes in and then copy some lua code at an address right?
L1639[16:20:34] <MajGenRelativity> my server is getting random lag
L1640[16:20:37] <MajGenRelativity> It's annoying
L1641[16:20:47] <MajGenRelativity> the lag is moving from dimension to dimension
L1642[16:20:53] <Sangar> i'm off, gnight o/
L1643[16:20:57] <MajGenRelativity> because I'm using /cofh tps and staring dumbly at the results
L1644[16:21:00] <gamax92> maj has the lag virus
L1645[16:24:55] <MajGenRelativity> after a 3 minute period for the server hardware to cool down, I am turning the server on
L1646[16:25:04] <MajGenRelativity> this happened once before, and mystically cleared up
L1647[16:25:41] <S3> trying to remember if lua had...
L1648[16:25:54] <S3> #lua x = 0; x++; x
L1649[16:25:55] <|0xDEADBEEF|> > [string "lua"]:1: syntax error near '+'
L1650[16:26:01] <S3> thought so
L1651[16:26:20] <S3> lame
L1652[16:33:15] <S3> hmm. What's the best way to clear the screen?
L1653[16:33:23] <S3> can I just set the background?
L1654[16:33:32] <S3> or should I use fill or what
L1655[16:33:36] <gamax92> fill with space
L1656[16:33:47] <S3> ok
L1657[16:34:23] <gamax92> OC interprets as a clear and uses special clear energy usage instead of usual fill energy usage
L1658[16:34:34] <gamax92> atleast that's what I think it says
L1659[16:35:44] ⇨ Joins: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de)
L1660[16:35:59] <MajGenRelativity> eyyyy ccsonic
L1661[16:36:12] <S3> kind of like new clear waste?
L1662[16:36:13] <S3> :)
L1663[16:39:35] ⇦ Parts: gamax92 (~gamax92@The.Dragon.Slayer.PanicBNC.eu) (Leaving))
L1664[16:39:38] ⇨ Joins: gamax92 (~gamax92@The.Dragon.Slayer.PanicBNC.eu)
L1665[16:39:38] zsh sets mode: +v on gamax92
L1666[16:39:42] <gamax92> bah
L1667[16:39:46] <gamax92> S3: suuuuure
L1668[16:39:51] <vifino> S3: Worked on that script yet? :P
L1669[16:39:57] <vifino> gamax92! Welcome back!
L1670[16:41:43] <gamax92> vifino: noturak
L1671[16:41:44] <gamax92> ?
L1672[16:41:58] <vifino> ?
L1673[16:42:39] <vifino> I'm confused :x
L1674[16:42:45] <gamax92> sorry
L1675[16:43:10] <vifino> I remember a psp shooter named Turok or something like that
L1676[16:43:24] <vifino> Kurok, that's it.
L1677[16:45:17] *** Daiyousei is now known as SleepingFairy
L1678[16:47:51] ⇨ Joins: Kodos|Phone (~androirc@mobile-166-176-185-245.mycingular.net)
L1679[16:48:50] ⇦ Quits: phillips1012 (~phillips1@72.42.104.172) (Ping timeout: 378 seconds)
L1680[16:53:58] ⇨ Joins: phillips1012 (~phillips1@72.42.104.172)
L1681[16:57:04] ⇦ Quits: MajGenRelativity (~MajGenRel@c-73-186-66-242.hsd1.ma.comcast.net) (Quit: Time to go, to adventure!)
L1682[16:57:44] <S3> vifino: no it probably will not be very soon
L1683[16:57:56] <vifino> :(
L1684[16:59:18] ⇨ Joins: Temportalist (uid37180@id-37180.charlton.irccloud.com)
L1685[17:00:25] ⇦ Quits: sciguyryan (~sciguyrya@109-205-170-103.dynamic.swissvpn.net) ()
L1686[17:03:38] ⇨ Joins: primetoxinz (~primetoxi@ip68-107-226-229.hr.hr.cox.net)
L1687[17:06:28] ⇦ Quits: Kodos|Phone (~androirc@mobile-166-176-185-245.mycingular.net) (Read error: Connection reset by peer)
L1688[17:06:35] ⇨ Joins: Kodos|Phone (~androirc@75-175-20-47.ptld.qwest.net)
L1689[17:10:30] ⇦ Quits: Something12_ (~Something@s010634bdfa9eca7b.vs.shawcable.net) (Ping timeout: 183 seconds)
L1690[17:20:16] ⇦ Quits: Lunatrius (~Lunatrius@77.38.103.182) (Ping timeout: 198 seconds)
L1691[17:20:19] ⇦ Quits: Kodos|Phone (~androirc@75-175-20-47.ptld.qwest.net) (Ping timeout: 183 seconds)
L1692[17:24:32] ⇨ Joins: Kodos|Phone (~androirc@75-175-20-47.ptld.qwest.net)
L1693[17:31:02] <S3> so my screen handling functions are all working except \n is acting weird.
L1694[17:31:43] ⇨ Joins: Lunatrius (~Lunatrius@77.38.103.182)
L1695[17:32:05] ⇦ Quits: rjs232323 (webchat@184-156-194-45.dyn.centurytel.net) (Quit: Web client closed)
L1696[17:32:17] ⇦ Quits: Kodos|Phone (~androirc@75-175-20-47.ptld.qwest.net) (Ping timeout: 195 seconds)
L1697[17:35:17] ⇨ Joins: Kodos|Phone (~androirc@75-175-20-47.ptld.qwest.net)
L1698[17:35:31] * Antheus sets Kodos|Phone on fire
L1699[17:35:44] ⇦ Quits: Kodos|Phone (~androirc@75-175-20-47.ptld.qwest.net) (Client Quit)
L1700[17:37:07] ⇨ Joins: Kodos (~kodos@75-175-20-47.ptld.qwest.net)
L1701[17:37:07] zsh sets mode: +v on Kodos
L1702[17:37:23] <Kodos> Back at the apartment in Vancouver now, for a couple weeks at most, if all goes well
L1703[17:38:30] <Kodos> Oh neat, you can ignore people on memoserv
L1704[17:38:47] <Kodos> Anywho, how's everyone's Labor Day been?
L1705[17:38:58] <Antheus> Non labor-intensive
L1706[17:39:09] <Kodos> I wouldn't swear to it, but I'm thinking that's probably the idea
L1707[17:40:53] <Kodos> Mine consisted of a 5 hour drive, with a stop at KFC for lunch. The pot pie was surprisingly good
L1708[17:41:15] <ds84182> >KFC
L1709[17:41:15] <gamax92> My labor day has been pretty much any other day, nothing special
L1710[17:41:19] <ds84182> Why not Popeyes
L1711[17:41:31] <Kodos> Because I wasn't driving, and didn't have a choice in the matter
L1712[17:42:02] <Mimiru> Worked my ass off in 98ish deg heat, in the direct sun cause fuck shade yo
L1713[17:42:05] <Kodos> Otherwise it would have been either Round Table or In and Out
L1714[17:42:17] <gamax92> Mimiru: can I ask doing what?
L1715[17:42:22] <Mimiru> Siding.
L1716[17:42:24] <Mimiru> The usual.
L1717[17:42:27] <Kodos> FWIW Mimiru I am sunburnt on my arms and neck
L1718[17:42:30] <gamax92> ahh, fun
L1719[17:42:44] <S3> so I wonder how could I make a timer that just repeatably interrupts me every so often
L1720[17:42:44] <Kodos> And the tops of my feet apparently
L1721[17:42:50] <Mimiru> I don't burn anymore... I just darken
L1722[17:43:06] <Kodos> I have never, and will likely never, tan, darken, or otherwise not burn
L1723[17:43:09] <Mimiru> except my hair, which has this awesome 3 tone Black/brown/dirty blond look
L1724[17:43:27] <Mimiru> anyway afk
L1725[17:43:31] <Kodos> o/
L1726[17:44:58] <Kodos> Oh man
L1727[17:45:03] <Kodos> The new bibliocraft update looks awesome
L1728[17:46:09] <gamax92> I wonder if it fixes that one thing
L1729[17:47:33] <gamax92> yay it does
L1730[17:48:19] <S3> I wonder how event.timer works..
L1731[17:48:55] <gamax92> S3: https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/OpenOS/lib/event.lua#L229-L244
L1732[17:49:07] <S3> oh there it is
L1733[17:49:11] <S3> I couldnt find that file in that dir
L1734[17:50:12] <S3> wait wut
L1735[17:50:19] <S3> there's some weird timing magic bullshit going on
L1736[17:50:55] <S3> wtf is id = math.floor(math.random(1, 0x7FFFFFFF))
L1737[17:51:19] *** Lathanael is now known as Lathanael|Away
L1738[17:51:20] <S3> can't just use a uuid?
L1739[17:51:21] <gamax92> it just makes a random number for the id ...
L1740[17:51:28] <S3> or a timer stack
L1741[17:51:29] <gamax92> no because there are no uuid generation functions
L1742[17:51:40] <S3> timer stack would work
L1743[17:51:49] <gamax92> what do you mean
L1744[17:51:56] <S3> exactly what I said
L1745[17:51:58] <S3> a stack of timers
L1746[17:51:59] <S3> :P
L1747[17:52:10] ⇨ Joins: RomanticJo (webchat@c-71-227-168-93.hsd1.wa.comcast.net)
L1748[17:52:13] <Antheus> I feel like I should do a clean install of windows 10
L1749[17:52:15] <gamax92> and what is your reference you use to cancel the timer?
L1750[17:52:27] <S3> you could just nil it if you wanted
L1751[17:52:45] <gamax92> so, you're returning a table then?
L1752[17:52:47] <S3> with proper support code it would work
L1753[17:53:00] <S3> all im saying is that I wuldn't have chosen a random number
L1754[17:53:10] <gamax92> no don't end like that.
L1755[17:53:11] <S3> I would just have a list of queued timers
L1756[17:53:11] <gamax92> go on.
L1757[17:53:23] <S3> which may or may not come out of order
L1758[17:53:31] <gamax92> and what is your reference you give to the user, if you want to cancel a specific timer
L1759[17:53:31] <S3> but when a new timer is made you just find the first free available slot
L1760[17:53:45] <RomanticJo> The open computer dlls installed in the ./minecraft folder, can they be excluded from a modpack packaging?
L1761[17:53:52] <gamax92> so the slot number is the reference
L1762[17:53:53] <S3> you could use a wrapper function that gives you back the reference to it
L1763[17:53:58] <S3> when you create it
L1764[17:54:07] <S3> at least that's one way
L1765[17:54:18] <gamax92> or you could not do that and just use the slot number which is less function wasting
L1766[17:54:20] <Kodos> afaik the mod jar itself just installs them anyway, so probably
L1767[17:54:40] <S3> mayt be less function wasting but random numbers are patterned
L1768[17:54:43] <S3> and can not be trusted :P
L1769[17:55:02] <S3> gamax92: it'd be no different than how unix file descriptors work
L1770[17:55:07] <RomanticJo> ok, tx
L1771[17:55:27] <S3> you open file, you get reference to fdt
L1772[17:55:31] <gamax92> S3: it can be more trusted over Java's random
L1773[17:55:42] <gamax92> :p
L1774[17:55:44] <S3> that's true with anything about Java
L1775[17:55:49] <S3> Java can't be trusted
L1776[17:56:04] <gamax92> Java uses the same crappy random function that it used back when it was made
L1777[17:56:25] <S3> Java uses a lot of crappy crap
L1778[17:56:46] ⇦ Quits: ccsonic (~ccsonic@dyndsl-091-096-162-072.ewe-ip-backbone.de) (Quit: Leaving)
L1779[17:56:52] <S3> Java also spawns a lot of programmers who believe that you should never reinvent the wheel :P
L1780[17:57:04] <S3> and optimization is never necessary
L1781[17:58:06] <Kodos> Okay, so new blocks are the relay (Which deprecated switches and APs) and the transposer, right?
L1782[17:58:11] <Kodos> Or did I miss one
L1783[17:58:15] <S3> relay?
L1784[17:58:30] <gamax92> S3: http://xorshift.di.unimi.it/
L1785[17:58:51] <S3> definately bookmarking that
L1786[17:59:06] <gamax92> S3: look at the Quality section though
L1787[17:59:08] <S3> :)
L1788[17:59:49] <S3> interesting
L1789[18:00:19] ⇨ Joins: Madxmike (~Madxmike@168.28.136.36)
L1790[18:00:24] <S3> XD
L1791[18:00:46] <S3> Java has the worst random number generation on the planet
L1792[18:00:58] <gamax92> probably not, but it's up there
L1793[18:01:10] <S3> yeah that's pretty bold
L1794[18:01:19] <S3> gamax92: there's always:
L1795[18:01:21] <S3> RANDOMIZE TIMER
L1796[18:01:25] <S3> remember that? :)
L1797[18:01:31] <gamax92> BASIC
L1798[18:01:35] <S3> ahahaha
L1799[18:03:53] ⇦ Quits: h3po1 (~h3po@aftr-5-146-249-205.unity-media.net) (Quit: Leaving.)
L1800[18:10:19] <ds84182> ahem
L1801[18:10:28] <ds84182> #lua function random() return 4 end
L1802[18:10:28] <|0xDEADBEEF|> > nil
L1803[18:10:40] <ds84182> --guaranteed random by dice roll
L1804[18:11:40] <ds84182> #js 5.prototype
L1805[18:11:40] <|0xDEADBEEF|> > Unexpected token ILLEGAL at <eval>:1:3
L1806[18:11:43] <S3> I will write a more accurate one
L1807[18:11:53] <ds84182> #js val a=5; return a.prototype
L1808[18:11:53] <|0xDEADBEEF|> > Unexpected identifier at <eval>:1:6
L1809[18:11:55] <S3> function random() return "random" end; random()
L1810[18:12:02] <S3> #lua function random() return "random" end; random()
L1811[18:12:02] <|0xDEADBEEF|> > nil
L1812[18:12:03] <ds84182> best
L1813[18:12:13] <S3> you can't say it's wrong!
L1814[18:12:21] <S3> it's the only TRUE random generator
L1815[18:12:21] <ds84182> actually
L1816[18:13:07] <S3> lol
L1817[18:13:15] <S3> gamax92: I have a thing that says loading in the OC Computer
L1818[18:13:19] <S3> and after it is a pipe
L1819[18:13:20] <ds84182> #lua function random() return tonumber(tostring({}):match("^table: 0x(.+)$"):sub(1,8), 16) end
L1820[18:13:20] <|0xDEADBEEF|> > nil
L1821[18:13:22] <S3> that twirls :)
L1822[18:13:23] <ds84182> #lua random()
L1823[18:13:23] <|0xDEADBEEF|> > 2143228932
L1824[18:13:25] <ds84182> #lua random()
L1825[18:13:25] <|0xDEADBEEF|> > 2143228928
L1826[18:13:29] <gamax92> nope
L1827[18:13:32] <S3> | / - \ | / - \
L1828[18:13:34] <ds84182> but hey, it's random
L1829[18:13:37] <S3> and it just spins :)
L1830[18:13:44] <Kodos> I really wish I could grab some of the builds from my Xbox world and get them into .schematic files
L1831[18:13:46] <gamax92> not really
L1832[18:13:55] <gamax92> S3: why not use fancy unicode
L1833[18:13:56] <ds84182> #lua random()%64
L1834[18:13:57] <|0xDEADBEEF|> > 0
L1835[18:14:00] <ds84182> Yes
L1836[18:14:06] <S3> gamax92: because it's the BSD way
L1837[18:14:07] <ds84182> Best random number generator ever
L1838[18:14:11] <ds84182> #lua random()%256
L1839[18:14:11] <|0xDEADBEEF|> > 0
L1840[18:14:12] <ds84182> #lua random()%256
L1841[18:14:12] <|0xDEADBEEF|> > 4
L1842[18:14:15] <gamax92> S3: oh, ocbsd
L1843[18:14:16] <ds84182> >4
L1844[18:14:17] <ds84182> so meta
L1845[18:14:23] <S3> the problem is gamax92
L1846[18:14:29] <S3> I'm trying to figure out how I could get that to spin
L1847[18:14:36] <S3> and still do stuff in the background, but make it timer based
L1848[18:15:05] <S3> because right now I'm just calling pullSignal(0.2) lol which is cheating
L1849[18:15:09] <S3> to delay it
L1850[18:15:59] <ds84182> math.min the delays given from your processes, and decrement a variable depending on the time passed or something
L1851[18:16:15] <ds84182> I'd have to open up my process code to detail stuff in detail
L1852[18:16:25] <Mimiru> \o/ MichiBot can connect to gitter.im now
L1853[18:16:30] ⇨ Joins: Something12_ (~Something@s010634bdfa9eca7b.vs.shawcable.net)
L1854[18:16:34] <Mimiru> with only LOTS of errors canse of no whois/who support
L1855[18:16:34] <S3> I was hoping somebody could have an idea of how I could do that
L1856[18:17:05] <ds84182> So basically each process has a variable with how long it's waiting, and when the last yield was
L1857[18:17:28] <ds84182> then you only resume the process if the current time-last yield is > waiting or if theres a signal
L1858[18:18:38] <Kodos> Actually, is there a way to do that? Grab Xbox MC builds, that is
L1859[18:19:03] <ds84182> i dunno
L1860[18:19:25] <Kodos> To Goo- Oh wait, nevermind
L1861[18:20:57] <gamax92> S3: oh, look at os.sleep
L1862[18:22:00] <RomanticJo> These days, you could probably rebuild a structure from a few 2d pictures.
L1863[18:22:10] <S3> WAT
L1864[18:22:16] <S3> os.sleep is not provided by OpenOS?!
L1865[18:22:32] <Kodos> RomanticJo: I'll likely spend a day with the wife and have her help me replicate it in MCEdit
L1866[18:22:42] <Kodos> There's two builds I want, luckily both are in the same world
L1867[18:22:52] <Kodos> And one will go nicely with the new Stockroom Catalogue
L1868[18:23:03] <S3> gamax92: the only problem I see with that is that it pauses the current script
L1869[18:23:10] <S3> I was hoping to be able to do stuff in the background
L1870[18:23:23] <gamax92> os.sleep is also openos
L1871[18:23:24] <S3> meh. not so important right now
L1872[18:23:29] <RomanticJo> Is it faster to build in mcedit?
L1873[18:23:30] <S3> really? because init.lua used it
L1874[18:23:37] <S3> and I was like wat
L1875[18:23:37] <gamax92> ... maybe it isn't then
L1876[18:23:54] <Kodos> RomanticJo: large area block placement, block replacement, etc
L1877[18:23:55] <S3> maybe it redefines it?
L1878[18:25:14] <Kodos> TIL There's a redraw command =D
L1879[18:27:54] <S3> ...what
L1880[18:28:44] <RomanticJo> Revvit should have an export to minecraft.
L1881[18:29:13] <S3> now what would be really cool
L1882[18:29:17] <S3> is if the gpu had framebuffers
L1883[18:29:22] <S3> so you could like, swap screens
L1884[18:29:41] <S3> because it looks like you'd have to get() it into a table
L1885[18:29:45] <S3> and store it for later
L1886[18:29:54] <gamax92> oh okay
L1887[18:29:57] <gamax92> S3: so openos does define it
L1888[18:30:01] <S3> oh
L1889[18:30:08] <gamax92> it just that init.lua uses it after it's done all the boot scripts
L1890[18:30:10] <gamax92> where it's defined
L1891[18:30:17] <RomanticJo> oh dear, of course it has been done: http://through-the-interface.typepad.com/through_the_interface/2014/09/exporting-minecraft-data-from-autocad.html
L1892[18:30:22] ⇦ Quits: Inari (~Uni@p549ce669.dip0.t-ipconnect.de) (Quit: KVIrc 4.3.1 Aria http://www.kvirc.net/)
L1893[18:31:39] <gamax92> S3: either way the idea behind os.sleep is that it just calls event.pull repeaditely with the timeout until the timeout has passed
L1894[18:32:14] <gamax92> so, if any of your background stuff is based on pull (which I'm not sure how it could be otherwise), then you'd do something similar
L1895[18:32:42] <S3> that sounds reasonable
L1896[18:32:59] <gamax92> S3: https://github.com/MightyPirates/OpenComputers/blob/991ef66a3a01f8f456ee8ce98755bcbb1dbfc464/src/main/resources/assets/opencomputers/loot/OpenOS/boot/02_os.lua#L66-L72
L1897[18:33:02] <gamax92> sleep for reference
L1898[18:35:08] <S3> that was really weird...
L1899[18:35:23] <Kodos> #p
L1900[18:35:25] <|0xDEADBEEF|> > 2.087632843 Seconds passed.
L1901[18:35:35] <S3> I like how it highlights the function
L1902[18:35:36] <S3> #p
L1903[18:35:37] <|0xDEADBEEF|> > 1.171043857 Seconds passed.
L1904[18:35:48] <Kodos> er wut
L1905[18:35:53] <Kodos> I only pinged once...
L1906[18:35:59] <gamax92> S3 pinged
L1907[18:36:01] <S3> but I tried to turn on a creative computer and it said "not enough energy"
L1908[18:36:10] <S3> had to destroy and recreate it
L1909[18:36:18] <Kodos> Oh, someone else probably did it :x
L1910[18:36:29] <Kodos> Anyway, looks like I can't move a build from xbox to pc
L1911[18:36:31] <gamax92> Yes, hence why I said S3 pinged
L1912[18:36:34] <Kodos> other than manually building
L1913[18:36:42] <Kodos> Ah well
L1914[18:36:58] <Kodos> At least I still have air conditioning =D
L1915[18:38:30] <S3> My logic is not working..
L1916[18:40:21] <S3> maybe it is..
L1917[18:40:54] <S3> good 'nuff
L1918[18:43:10] <gamax92> S3: heh
L1919[18:48:17] <S3> OH CRAP
L1920[18:48:36] <S3> my puts() doesn't work with unicode, obviously :P
L1921[18:48:39] <gamax92> DID YOU FORMAT YOUR HAPPY DRIVE?
L1922[18:48:43] <S3> you need to putc() your unicode chars
L1923[18:48:49] <S3> ...
L1924[18:48:53] <S3> I don't think I can avoid that
L1925[18:49:04] <S3> no way to know if it is truly unicode char or not
L1926[18:49:20] <S3> not unless I make a printf() and allow a unicode format type
L1927[18:49:20] <gamax92> what do you mean?
L1928[18:49:33] <S3> well my puts() uses gmatch('.') on the string
L1929[18:49:37] <S3> to loop through the string chars
L1930[18:49:41] <S3> but unicode is more than one char
L1931[18:49:45] <gamax92> so don't use "."
L1932[18:50:03] <S3> then what else am I supposed to use
L1933[18:54:54] <gamax92> S3: "[\0-\127\194-\244][\128-\191]*"
L1934[18:56:58] <S3> wat
L1935[18:57:42] <gamax92> #lua for char in ("Ümläüt is a ?"):gmatch("[\0-\127\194-\244][\128-\191]*") do print(char) end
L1936[18:57:42] <|0xDEADBEEF|> > Ü | m | l | ä | ü | t | | i | s | | a | | ? | nil
L1937[18:57:46] <gamax92> S3: see
L1938[18:58:07] <ds84182> MAGIC?
L1939[18:58:12] <ds84182> HES A WITCH
L1940[18:58:20] <ds84182> BURN THE WITCH
L1941[18:59:07] <S3> huh
L1942[19:00:37] ⇦ Quits: ^v5 (~^v@c-68-41-215-101.hsd1.mi.comcast.net) (Ping timeout: 198 seconds)
L1943[19:00:41] ⇦ Quits: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net) (Ping timeout: 206 seconds)
L1944[19:07:11] <gamax92> S3: that's just utf8.charpattern btw :P
L1945[19:07:15] <gamax92> in 5.3 atleast
L1946[19:07:51] <gamax92> The lua devs are witches , don't burn the messenger
L1947[19:08:21] ⇦ Quits: Temportalist (uid37180@id-37180.charlton.irccloud.com) (Quit: Connection closed for inactivity)
L1948[19:10:40] <Kodos> Praise the lord, we ordered our tickets out of this hellhole
L1949[19:12:00] <Kodos> %g How many days until Sept 23
L1950[19:12:01] <MichiBot> Kodos: http://days.to/23-september/2015 - How many days until 23rd September 2015?: "Find out the date, how long in days until and count down to till 23rd September
L1951[19:12:11] <Kodos> Because I cba to math
L1952[19:14:45] <ds84182> eternal September
L1953[19:24:06] <Kodos> Indeed
L1954[19:24:10] <S3> gamax92: lol
L1955[19:24:15] <Kodos> But I'll have Minecraft and Second Life and Xbox One back =D
L1956[19:24:29] ⇦ Quits: Madxmike (~Madxmike@168.28.136.36) (Remote host closed the connection)
L1957[19:30:31] <Kodos> Dinnah!
L1958[19:32:09] ⇨ Joins: mr208 (~mallrat20@142.197.84.231)
L1959[19:33:37] ⇦ Quits: mallrat208 (~mallrat20@142-197-84-231.res.bhn.net) (Ping timeout: 183 seconds)
L1960[19:40:32] ⇨ Joins: Tahgtahv (~Tahg@pool-96-237-111-105.bstnma.fios.verizon.net)
L1961[19:40:37] <Mimiru> Mkay... time to try to hack nickserv auth into Iris from this qwebirc fork...
L1962[19:41:38] ⇦ Quits: TangentDelta (~tangentde@63.143.24.22) (Quit: WeeChat 1.3)
L1963[19:42:55] ⇦ Quits: Vaht (~Tahg@pool-96-237-111-105.bstnma.fios.verizon.net) (Ping timeout: 198 seconds)
L1964[19:45:36] <S3> everything is working except stdin wtf
L1965[19:45:41] <S3> well, input
L1966[19:48:04] ⇨ Joins: ^v5 (~^v@c-68-41-215-101.hsd1.mi.comcast.net)
L1967[19:50:44] ⇨ Joins: orthoplex64 (~orthoplex@173.227.72.119)
L1968[20:00:29] ⇨ Joins: Logan_ (~Logan@104.236.130.236)
L1969[20:05:01] ⇨ Joins: v^ (~ping@c-68-41-215-101.hsd1.mi.comcast.net)
L1970[20:05:01] zsh sets mode: +v on v^
L1971[20:10:05] ⇦ Quits: samrg472 (~deathcraz@I.got.g-lined.cu.cc) (Quit: Good bye cruel world!)
L1972[20:12:40] ⇨ Joins: samrg472 (~deathcraz@I.got.g-lined.cu.cc)
L1973[20:21:16] ⇦ Quits: Logan (~Logan@2607:5300:60:47bc:dead:beef:dead:beef) (Quit: robots are cool)
L1974[20:21:26] *** Logan_ is now known as Logan
L1975[20:23:49] ⇦ Quits: phillips1012 (~phillips1@72.42.104.172) (Ping timeout: 206 seconds)
L1976[20:26:33] ⇦ Quits: XDjackieXD (~XDjackieX@151.236.12.222) (Ping timeout: 198 seconds)
L1977[20:31:37] <S3> ^ok
L1978[20:31:43] <S3> so the only thing that isnt frigging world is input
L1979[20:32:08] <Ekoserin> HexChat is a fatass that takes up half the screen.
L1980[20:33:09] *** Ekoserin is now known as Ekoserin|Off
L1981[20:33:36] <S3> hexchat is an xchat port
L1982[20:33:41] <S3> and xchat is lame anyways
L1983[20:33:57] <S3> as far as taking up half the screen, you should try icechat, as it takes the entire screen
L1984[20:34:00] <S3> and your house
L1985[20:34:04] <S3> and of course your ram
L1986[20:35:51] <Izaya> Ekoserin, that's why you use workspaces
L1987[20:36:49] <Izaya> IRC and music in one, terminal in another, mozarella filofax in another...
L1988[20:37:03] <Izaya> And then multi-monitor setups!
L1989[20:37:07] <S3> this sis so weird: http://hastebin.com/wazefubori.lua
L1990[20:37:17] <S3> I am getting text printing to the screen when I type it
L1991[20:37:26] <S3> but not in the input variable
L1992[20:37:37] <S3> it's like input = input .. unicode.char(arg1) does nothing
L1993[20:39:48] <S3> by the way I know that I'm returning a different variable but it wasnt like that 5 secs ago
L1994[20:40:33] <S3> with them the same it doesn't work lol
L1995[20:40:45] <S3> and now it works after 3 reboots since I said that...
L1996[20:40:52] <S3> :>
L1997[20:41:28] <Izaya> have you tried turning it off and on again?
L1998[20:41:36] <S3> haha
L1999[20:41:46] <S3> well this is all and good
L2000[20:41:55] <S3> I now have a friendly little tty handler
L2001[20:42:05] <S3> for my partitioner utility floppy
L2002[20:42:07] <S3> nxsupert: ^
L2003[20:42:22] ⇨ Joins: phillips1012 (~phillips1@72.42.104.172)
L2004[20:42:45] <Izaya> does the Lua BIOS load from raw drives?
L2005[20:43:14] <gamax92> Izaya: take a wild guess
L2006[20:43:34] <Izaya> no?
L2007[20:43:41] <S3> Izaya: nxsupert made a simple one today that reads my partitioning scheme
L2008[20:43:41] <gamax92> correct
L2009[20:43:54] <gamax92> nxsupert's bios is not The Lua BIOS
L2010[20:43:58] <S3> and I am writing a partitioner right now
L2011[20:44:12] <S3> simular to linux's fdisk
L2012[20:44:23] <S3> itl be a bootable floppy
L2013[20:44:31] <Izaya> cfdisk is better
L2014[20:44:38] <S3> well..
L2015[20:44:44] <S3> actually cfdisk has some issues
L2016[20:44:46] <S3> it looks nicer
L2017[20:44:50] <S3> but fdisk is technically better.
L2018[20:44:51] ⇨ Joins: XDjackieXD (~XDjackieX@151.236.12.222)
L2019[20:45:02] <S3> honestly, a goot partitioner is gpart
L2020[20:45:05] <S3> from FreeBSD
L2021[20:45:14] <S3> it supports a lot of stuff
L2022[20:45:24] <S3> parted is alright
L2023[20:45:35] <Izaya> I can use cfdisk without fucking too much stuff
L2024[20:45:46] <S3> doesn't make it better :)
L2025[20:45:54] <S3> I nave never screwed anything up with fdisk
L2026[20:46:17] <S3> but there have been times when cfdisk just couldn't make aligned partitions and shit
L2027[20:46:21] <S3> and I was like wtf
L2028[20:48:37] <gamax92> S3: sfdisk is nice
L2029[20:48:42] ⇨ Joins: orthoplex64_2 (~orthoplex@173.227.72.119)
L2030[20:49:11] ⇨ Joins: [zzz] (~Something@S010634bdfa9eca7b.vs.shawcable.net)
L2031[20:49:22] <S3> never used it
L2032[20:50:11] <gamax92> I've used it for partition editing (WOAH THERE NOW) and restoring a destroyed partition table from kernel memory
L2033[20:50:36] <Izaya> Whenever I try to use fdisk GRUB complains
L2034[20:50:59] <S3> heh
L2035[20:51:13] ⇨ Joins: seanwcom_ (~seanwcom@162.243.205.50)
L2036[20:51:15] <S3> in FreeBSD you can edit partitions while they are live and move them around
L2037[20:51:18] <S3> HOWEVER
L2038[20:51:37] <S3> in order to do it you have to set evilmode in sysctl
L2039[20:52:01] <Izaya> also ugh "$Izaya, what's the coolest thing you've hacked?" nothing, fucktard, I'm not into wasting time
L2040[20:52:02] <Temia> At which point the BSD daemon comes and starts poking you in the ass with a pitchfork.
L2041[20:52:15] <S3> In case you're wondering, it's not actually called evilmode, but that is what the FreeBSd community calls it
L2042[20:52:17] <Temia> Besides that and the shark attacks though, it's really quite solid.
L2043[20:52:21] <gamax92> hai Temia
L2044[20:52:23] <Temia> Hi.
L2045[20:52:35] ⇦ Quits: XDjackieXD (~XDjackieX@151.236.12.222) (*.net *.split)
L2046[20:52:35] ⇦ Quits: Logan (~Logan@104.236.130.236) (*.net *.split)
L2047[20:52:35] ⇦ Quits: orthoplex64 (~orthoplex@173.227.72.119) (*.net *.split)
L2048[20:52:35] ⇦ Quits: Something12_ (~Something@s010634bdfa9eca7b.vs.shawcable.net) (*.net *.split)
L2049[20:52:35] ⇦ Quits: surferconor425 (surfercono@thinks.you.can-be.sexy) (*.net *.split)
L2050[20:52:35] ⇦ Quits: SeanWcom (~seanwcom@162.243.205.50) (*.net *.split)
L2051[20:52:37] <^v5> Oh noes! aperture split 3:
L2052[20:52:41] ⇦ Quits: orthoplex64_2 (~orthoplex@173.227.72.119) (Client Quit)
L2053[20:52:44] <gamax92> oh noes!
L2054[20:55:41] <S3> hmm
L2055[20:55:50] <S3> I need to chop off the last character of a string in place
L2056[20:56:55] ⇨ Joins: Logan (~Logan@104.236.130.236)
L2057[20:57:25] <S3> I got this
L2058[20:58:52] <gamax92> S3: :sub(1,-2) ?
L2059[20:58:59] <gamax92> or does it have to be unicode compliant
L2060[20:59:15] ⇨ Joins: TangentDelta (~tangentde@63.143.24.22)
L2061[20:59:32] <S3> hmm
L2062[20:59:48] <S3> well really it's just what chomp() wraps around
L2063[20:59:59] <S3> chomp() gets rid of a \n at the end if it exists
L2064[21:00:09] <S3> and chop() just gets rid fo the last 8 bits
L2065[21:00:15] <S3> looks like I've got it
L2066[21:01:11] <S3> I basically just did function chop(s) return strsub(s, 1, -2) end
L2067[21:01:12] <S3> function chomp(s) if strsub(s,-1) == '\n' then chop(s) end end
L2068[21:01:46] <S3> it's mostly a function used with standard input so that you don't send an additional \n when you print it
L2069[21:03:20] <S3> also it needs to be s:sub
L2070[21:03:31] ⇨ Joins: surferconor425 (surfercono@mango.bnc4free.com)
L2071[21:03:32] <S3> woops :D
L2072[21:04:23] <S3> damn
L2073[21:09:24] ⇦ Quits: Cazzar (~CazzarZNC@vocaloid.lovers.at.cazzar.net) (Ping timeout: 206 seconds)
L2074[21:11:02] ⇦ Quits: BBoldt (~BBoldt@192.99.145.160) (*.net *.split)
L2075[21:11:02] ⇦ Quits: SuperBot (~SuperBot@eve.superminor2.net) (*.net *.split)
L2076[21:11:02] ⇦ Quits: vifino (vifino@tty.sh) (*.net *.split)
L2077[21:11:09] ⇨ Joins: Cazzar (~CazzarZNC@vocaloid.lovers.at.cazzar.net)
L2078[21:11:09] zsh sets mode: +v on Cazzar
L2079[21:11:15] <gamax92> S3: do you have a repo for this gar- i mean OCBSD?
L2080[21:16:15] ⇦ Quits: TangentDelta (~tangentde@63.143.24.22) (Remote host closed the connection)
L2081[21:19:21] ⇦ Quits: samrg472 (~deathcraz@I.got.g-lined.cu.cc) (Quit: Good bye cruel world!)
L2082[21:19:35] <S3> http://postimg.org/image/5plyt5ez3/
L2083[21:19:47] <S3> gamax92: not yet
L2084[21:19:52] <S3> gamax92: ^
L2085[21:20:05] <S3> screenshot of partitioner deems it ... boots! (doesn't quite work
L2086[21:20:46] <S3> I can't seem to get it to dispatch on the dispatch table
L2087[21:20:48] ⇨ Joins: samrg472 (~samrg472@104.236.130.236)
L2088[21:23:53] <gamax92> ._.
L2089[21:24:05] <gamax92> Some drives used 520 byte sector sizes?
L2090[21:29:55] <S3> Where did you find that gamax
L2091[21:30:07] <S3> U shut my computer down lil
L2092[21:30:16] <S3> Lol dank phone auto correct
L2093[21:30:20] <S3> ...
L2094[21:30:34] <gamax92> S3: ?
L2095[21:30:56] <S3> Phone autocorrect
L2096[21:31:22] <S3> Makes me say weird things
L2097[21:31:39] <gamax92> sure
L2098[21:32:43] <S3> Gamax if you are talking about real hard drives I am not shocked at all because!
L2099[21:34:29] <S3> Remember that the number of sectors around the player circle is dependant on how close you are too the center?
L2100[21:34:57] <gamax92> wat?
L2101[21:34:58] <S3> S/player/platter/
L2102[21:35:10] <gamax92> okay now that makes more sense :P
L2103[21:40:33] ⇦ Quits: Kodos (~kodos@75-175-20-47.ptld.qwest.net) (Quit: WeeChat 0.4.2)
L2104[21:42:37] <gamax92> S3: go on ...
L2105[22:01:06] <S3> Gamax92: basically back then all disks were different
L2106[22:01:24] <S3> I know this will sound strange gamax
L2107[22:01:40] ⇦ Quits: Meow-J (uid69628@id-69628.highgate.irccloud.com) (Quit: Connection closed for inactivity)
L2108[22:02:05] <S3> But I have held mainframe platters that are as large in diameter as a microwave oven turntable
L2109[22:02:40] <S3> And they only worked for that machine
L2110[22:02:59] <gamax92> if you put them in another machine would it emit radiation and cook the computer?
L2111[22:03:05] <gamax92> as a security safeguard?
L2112[22:04:17] <S3> Wouldn't even fit or talk to it
L2113[22:04:23] <S3> In fact
L2114[22:05:05] <S3> The machines couldn't even talk to other machines that were from different manufacturers
L2115[22:05:35] <S3> Networking was still proprietary
L2116[22:06:15] *** Cranium is now known as Cranium[Away]
L2117[22:11:28] *** mr208 is now known as mallrat208
L2118[22:14:01] ⇦ Quits: Lathanael|Away (~Lathanael@p54971C62.dip0.t-ipconnect.de) (Ping timeout: 206 seconds)
L2119[22:21:02] ⇨ Joins: Lathanael|Away (~Lathanael@p54971652.dip0.t-ipconnect.de)
L2120[22:40:12] ⇨ Joins: deathcrazyuberlironman_ (~deathcraz@I.got.g-lined.cu.cc)
L2121[22:40:53] ⇦ Quits: deathcrazyuberlironman_ (~deathcraz@I.got.g-lined.cu.cc) (Client Quit)
L2122[22:44:55] ⇦ Quits: ping (~pixel@c-68-41-215-101.hsd1.mi.comcast.net) (Read error: Connection reset by peer)
L2123[22:46:56] ⇨ Joins: Meow-J (uid69628@id-69628.highgate.irccloud.com)
L2124[22:52:41] ⇦ Quits: [zzz] (~Something@S010634bdfa9eca7b.vs.shawcable.net) (Ping timeout: 206 seconds)
L2125[23:06:16] ⇦ Quits: Antheus (Antheus@2001:19f0:6800:8161:1:be:a:7001) (Killed (NickServ (GHOST command used by potat!~potat@66.182.248.214)))
L2126[23:06:21] ⇨ Joins: Antheus (Antheus@2001:19f0:6800:8161:1:be:a:7001)
L2127[23:06:40] ⇦ Quits: Antheus (Antheus@2001:19f0:6800:8161:1:be:a:7001) (Killed (NickServ (GHOST command used by potat!~potat@66.182.248.214)))
L2128[23:06:46] ⇨ Joins: Antheus- (Antheus@2001:19f0:6800:8161:1:be:a:7001)
L2129[23:07:05] ⇨ Joins: Antheus (~potat@66.182.248.214)
L2130[23:07:12] <Antheus> |:
L2131[23:31:50] *** SleepingFairy is now known as Daiyousei
L2132[23:33:28] ⇦ Quits: SnowDapples (~powered@p5794CA16.dip0.t-ipconnect.de) (Killed (NickServ (GHOST command used by SnowDapples_!~powered@p5794C9A0.dip0.t-ipconnect.de)))
L2133[23:33:34] ⇨ Joins: SnowDapples (~powered@p5794C9A0.dip0.t-ipconnect.de)
L2134[23:36:08] ⇨ Joins: npe|office (~NPExcepti@bps-gw.hrz.tu-chemnitz.de)
<<Prev Next>> Scroll to Top