<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:02:02] <gamerred> also if I use unserialize can I store the items in a txt file with new lines and it will still make the table right in my program?
L2[00:03:43] <Izaya> maybe(TM)
L3[00:03:48] <Izaya> depends on the data
L4[00:05:15] <CompanionCube> stuffing serialized data into a plaintext file sounds like a bad idea
L5[00:05:17] <gamerred> its like {{nbt 1},new line here{nbt 2}} and so forth
L6[00:06:23] <Izaya> may I suggest instead stick all the data you want to serialize in one table and write that to a file?
L7[00:07:26] <gamerred> thats what I mean its a table format file how will I read a table format from a txt file?
L8[00:08:28] <CompanionCube> is serialization even plaintest without the readable thing?
L9[00:08:46] <Izaya> local f = io.open("file",rb)
L10[00:09:03] <Izaya> t = serialization.unserialize(f:read("*a"))
L11[00:09:05] <Izaya> f:close()
L12[00:09:11] <SF-MC> local f = io.open("file", "rb")
L13[00:09:17] <SF-MC> The second arg is a string, ain't it?
L14[00:09:18] <Izaya> right
L15[00:09:23] <CompanionCube> ah, yep
L16[00:09:35] <Izaya> bad habit x_x
L17[00:09:39] <CompanionCube> glhf editing serialized data that isn't pretty thoug
L18[00:09:53] <gamerred> whats the diff for io open a and *a?
L19[00:10:05] <gamerred> I see some codes use plain a while some do *a
L20[00:10:26] <SF-MC> Look in the Lua manual
L21[00:12:47] <gamerred> ah just did that I see if I am reading right the * variant just reads all lines thats the only diff right?
L22[01:35:37] <Bob> http://tinyurl.com/yxco4dnl
L23[01:35:42] <Bob> what is the last number refering to
L24[01:35:51] <Bob> and where can i get a list of the character ids
L25[01:36:08] <Bob> the 3rd value as i understand is the ASCII character numbre
L26[01:36:55] <Izaya> %ddg ascii table
L27[01:37:04] <Mimiru> ddg..?
L28[01:37:12] <Izaya> oh wrong bot
L29[01:37:19] <SF-MC> Draw Dat Graph
L30[01:37:26] <SF-MC> Then it draws a table :P
L31[01:37:36] <Bob> and what about the other characters, i know OC supports Unicode
L32[01:37:40] <Bob> ?
L33[01:37:43] <Mimiru> I thought it might be LWJGL codes.. but it seems not
L34[01:37:56] <Bob> im so confused rn
L35[01:38:08] <Bob> i expected a string but no i get this
L36[01:38:16] <Bob> i may use IO.write then
L37[01:38:20] <Bob> i should use buttons ffs
L38[01:38:36] <Izaya> the last number is a keyboard character I think
L39[01:38:44] <Mimiru> ^
L40[01:39:08] <Izaya> like, as in PS/2 scan codes or whatever it's called
L41[02:17:57] <Forecaster> %tonk
L42[02:17:57] <MichiBot> Heckgosh! Forecaster! You beat Zef's previous record of 6 hours, 20 minutes and 11 seconds! I hope you're happy!
L43[02:17:58] <MichiBot> Forecaster's new record is 7 hours, 13 minutes and 59 seconds! 53 minutes and 48 seconds gained!
L44[02:36:38] <gamerred> @Bob know what key you pressed?
L45[02:37:45] <Bob> convert that ASCII ID to the character trougth a table
L46[02:37:49] <Bob> but i need a list frist
L47[02:37:57] <Izaya> Bob: string.char(code)
L48[02:38:07] <Izaya> or even better, unicode.char(code)
L49[02:52:04] <Bob> Cool, thanks
L50[02:52:30] <Bob> http://tinyurl.com/y4owf4jv
L51[02:52:43] <Bob> Also my thread doesnt run after the os.sleep
L52[02:52:54] <Bob> any ideas ?
L53[02:56:17] <Izaya> ~w thread
L54[02:56:18] <ocdoc> http://ocd.cil.li/api:thread
L55[02:56:46] <Izaya> you are doing thread.waitForAny or thread.waitForAll, right?
L56[02:58:06] <Bob> none of them
L57[02:58:15] <Bob> i need the thread to listen to keyboard events
L58[02:58:21] <Izaya> right
L59[02:58:28] <Bob> it worked but now doesntt for no reason i guess
L60[02:58:39] <Izaya> but if you want threads to run, you need to do waitForAny or waitForAll because otherwise you just create them, not run them
L61[03:01:16] <Bob> well then the main script stops
L62[03:01:25] <Bob> or do i need multiple threads
L63[03:01:32] <Izaya> because it's waiting for the thread(s) to complete
L64[03:01:42] <Izaya> is an event listener more appropriate?
L65[03:02:04] <Bob> event.pull doesnt work in this case ??
L66[03:02:13] <Bob> i had that working but now it doesnt
L67[03:02:36] <Izaya> try event.listen instead
L68[03:02:45] <Izaya> don't forget to event.ignore when you're done though
L69[03:06:57] <Bob> t = thread.create(event.listen("key_", some.function(""))
L70[03:07:01] <Bob> like this ?
L71[03:07:03] <Izaya> no
L72[03:07:06] <Izaya> no threads
L73[03:07:08] <Izaya> ignore threads
L74[03:07:29] <Izaya> ~w event
L75[03:07:29] <ocdoc> http://ocd.cil.li/api:event
L76[03:07:32] <Izaya> read that
L77[03:16:30] <Bob> http://tinyurl.com/y3g6ttex
L78[03:25:12] <Wattana Gaming> man fuc this
L79[03:29:10] <Bob> +
L80[04:05:42] zsh sets mode: +v on Vexatos
L81[04:05:42] ⇨ Joins: Vexatos (Vexatos!~Vexatos@p200300C107205E0091C9B24D6A193482.dip0.t-ipconnect.de)
L82[04:41:45] <Wattana Gaming> Lizzian what u trying to say
L83[04:41:57] <Lizzian> beans
L84[04:43:18] <Wattana Gaming> ***When did you grow a beard?***
L85[04:43:48] <Lizzian> hmm, would anyone know how i'd go about doing virtual path finding (i think that's the right terminology) in Lua?
L86[04:43:48] <Lizzian> So say I had something like the following, how would I get a computer to understand it and then work out how to get to different points?
L87[04:43:49] <Lizzian> Code Block pastebined https://paste.pc-logix.com/suharelima
L88[04:43:58] <Lizzian> hmm, would anyone know how i'd go about doing virtual path finding (i think that's the right terminology) in Lua?
L89[04:43:59] <Lizzian> So say I had something like the following, how would I get a computer to understand it and then work out how to get to different points?
L90[04:43:59] <Lizzian> Code Block pastebined https://paste.pc-logix.com/ememuzuhuk [Edited]
L91[04:48:06] <Forecaster> it'd kind of be like iterating over a multi-level table
L92[04:55:08] ⇦ Quits: Kleadron (Kleadron!~kleadron@c-73-254-147-9.hsd1.wa.comcast.net) (Ping timeout: 190 seconds)
L93[05:02:57] ⇦ Quits: logan2611 (logan2611!~logan2611@174-29-141-220.hlrn.qwest.net) (Ping timeout: 183 seconds)
L94[05:03:52] ⇨ Joins: logan2611 (logan2611!~logan2611@174-29-141-220.hlrn.qwest.net)
L95[05:04:43] <Wattana Gaming> *IRC spamming intensifies*
L96[05:43:22] <Skye> @Inari https://raikou2.donmai.us/d5/ce/__original_drawn_by_sukemyon__d5ce1808d4ab96997b2885ae66c8fb26.png
L97[06:02:37] <Zef> Oof
L98[06:11:18] <Forecaster> foO
L99[06:13:18] <Zef> %s/foO/I'm annoying
L100[06:13:19] <MichiBot> <Forecaster> I'm annoying
L101[06:13:25] <Zef> Lol
L102[06:18:16] <Forecaster> %flip ^
L103[06:18:17] <MichiBot> Forecaster: (╯°□°)╯lo˥
L104[06:42:36] <Z0idburg> Skye, good coloring
L105[06:42:42] <Z0idburg> did you do that?
L106[06:43:42] <ben_mkiv> mimiru theresa racecondition on the placement, so iirc first place rolldoors then place one controller next to them
L107[06:43:49] <Z0idburg> @Lizzian Would something like A* work for you?
L108[06:43:52] <Z0idburg> A* is very simple
L109[06:44:06] <Z0idburg> you need a reference point for it though
L110[06:44:27] <Z0idburg> I guess it depends what you're searching for
L111[06:46:20] <Lizzian> hmm, it might be,
L112[06:49:34] <Z0idburg> if the objects you're searching for are addressable, and the data is in a tree then hashing is one approach you could use, but that gets complicated when you need to move things around
L113[06:49:55] <Z0idburg> if the objects are position dependant in the tree then it won't work.
L114[06:50:48] <Z0idburg> if they are position depenant and the objetcs can be addressed, you could use AND routing
L115[06:50:59] <Z0idburg> the same way IP version 4 addresses work
L116[06:51:35] <Z0idburg> yo uwoul recursively and each node in the path until it makes the subnet in them which eventually gets you to the object
L117[06:52:01] <Z0idburg> if the tree ever becomes a mesh or has redundant links at least then it wouldn't be practical.
L118[06:52:19] <Z0idburg> in that case I would suggest A*
L119[06:53:08] <Z0idburg> but again A* only works if you have at least a small idea of what the paths kinda look like
L120[06:53:38] <Lizzian> hmm, well it would be for something similar to this (image) and ideally the computer would work out a "path" to get a train from one side to another side http://tinyurl.com/y2gj2or7
L121[06:53:54] <Z0idburg> ?
L122[06:54:21] <Z0idburg> I had an idea it may be about trains, I've been trying to fin a good way to do this myself with as little code as possible
L123[06:54:38] <Lizzian> heh
L124[06:56:51] <Lizzian> i'm also sorta thinking just having a small detection point before a signal that's guarding a switch and then just have the switch/computer work out through some other method (looking up the train's destination and switching if it needs to), would probably be a bit easier but not as interesting when i eventually visualise it
L125[06:59:17] <Z0idburg> That's what I'm doing, but I still have the problem of a) keeping multiple trains off the same track unless they're going the same direction, if multiple trains are going the same direction, round robin parking them , or not letting them go the same direction if there's no room at their next destination,... or the problem of, if the tracks mesh, pathfinding is still a thing
L126[07:00:34] <Lizzian> yeah, i'm going to be splitting the tracks up into "blocks" and then using signals to control them
L127[07:01:25] <Z0idburg> my Trotwood OS I'm writing is partially for my train system, because it makes multiple OC computers act as one super computer cluster, allowing me to make processes that send messages to eachother such as train data
L128[07:03:12] <Z0idburg> As long as your tracks don't mesh IP routing is a very good way to do it I think. Basically you have a central train office where you give out IP subnets. you use as many bits as you need to. Every station has an IP address, and every train represents a "packet" in the network
L129[07:03:21] <Z0idburg> the train contains a "destination station IP"
L130[07:03:58] <Z0idburg> and the only thing you have to do is do a bitwise AND and find a match in a routing table, and that station would tell you what station to go to next
L131[07:04:52] <Z0idburg> if you need multiple paths from the same town though, this causes a brainfart on my end
L132[07:05:10] <Z0idburg> meaning if you want there to be more than one path to get to the same destination
L133[07:05:47] <Z0idburg> if I can find a super easy way to mesh that way with IP I'd suggest something like that, there's just the problem of how you store the destination IP on the train
L134[07:05:52] <Z0idburg> or if you use some xternal computer to track them
L135[07:07:15] <Lizzian> Immersive Railroading trains have a UUID for each bit of rolling stockcan have a custom tag set
L136[07:09:47] <Z0idburg> Neat
L137[07:10:35] <Z0idburg> I've been wanting to play with that. In the real world of IP networks we use dynamic routing, which dynamically updates the routing table of every router (train station in my case) periodically with new networks.
L138[07:10:54] <Z0idburg> some of them work by spamming the entire network, such as OSPF
L139[07:11:18] <Z0idburg> others ike BGP carry a giant set of routes it has and shares it on demand
L140[07:12:34] <Z0idburg> I personally would want my train system to allow other "train companies" made by other players to work without forcing my sofware onto them
L141[07:12:56] <Z0idburg> so I may come up with som esort of train station carrier gateway routing thing
L142[07:13:05] <Z0idburg> for exiting and entering my network
L143[07:15:48] <Lizzian> yeah, i think the server i play on most of the players aren't gonna mind using my code (since i doubt any of them could actually do it anyway) so they'll just be using my stuff.
L144[07:15:48] <Lizzian> I was thinking on having a "train database" and then having entry points where you can drive a train through this "gate" and it'll register it on the system
L145[07:16:08] <Lizzian> which can also help when the server derps and breaks the train
L146[07:16:20] <Z0idburg> neat
L147[07:16:56] <Z0idburg> I just had an idea but I haven't thought it through enough to know how well it'd work. You could use LRNs and telephone numbers
L148[07:17:05] <Z0idburg> and emulate the Public Switched Telephone Network
L149[07:17:07] <Lizzian> LRNs?
L150[07:18:05] <Z0idburg> LRNs are phone numbers that point to the telephone switch themselves, it tells you the number of the switch that has your phone number built
L151[07:18:19] <Z0idburg> that way phone systems don't have to track every number
L152[07:18:28] <Lizzian> ah
L153[07:18:29] <Z0idburg> they just track a few and nearby LRNs
L154[07:18:49] <Z0idburg> it also allows you to keep your phone number when you move
L155[07:19:53] <Z0idburg> I think phone numbers could be nice because it's base 10 so its easy to use
L156[07:19:56] <stephan48> basically a hirachicall system
L157[07:20:12] <Z0idburg> yes, but it can mesh
L158[07:20:19] <Z0idburg> IP networks favor trees
L159[07:20:32] <stephan48> atleast before meshing and voip came along :D
L160[07:20:44] <stephan48> yes
L161[07:20:50] <Z0idburg> right but meshing is duct tape
L162[07:20:52] <Z0idburg> in IP networks
L163[07:21:34] <Z0idburg> IP addresses are desined for trees, not meshing, so when meshing became more important the solutions don't actually fix the problem, it just sort of hacks it to make it work
L164[07:21:43] <stephan48> ^yes
L165[07:21:56] <stephan48> especially if you mesh the same networks at multiple points improperly
L166[07:22:07] <Z0idburg> Yeah it gets complicated
L167[07:22:15] <Z0idburg> voip is interesting
L168[07:22:19] <stephan48> networks = set of ip addressing
L169[07:22:20] <stephan48> yea.
L170[07:22:26] <Z0idburg> now interesting thought:
L171[07:22:29] <stephan48> i work with networking and voip in my spare time
L172[07:22:51] <Z0idburg> most PSTN phone companies use VOIP
L173[07:23:02] <Z0idburg> I work for one of them ?
L174[07:23:38] <stephan48> :D
L175[07:24:07] <Z0idburg> the trick is to use circuit switches like DM S 100s, etc in all of your areas, and connect them using fiber or T1s if you don't have fiber yet
L176[07:24:10] <Z0idburg> and run VOIP over those
L177[07:24:14] <stephan48> i run telephony infrastructure for 1-2 small events and private usage across multiple apartments i live in(work/home with family)
L178[07:24:32] <Z0idburg> you can run a lot more SIP VOIP calls through a T1 than a PRI T1 can
L179[07:24:42] <Z0idburg> PRI T1 is limited to 23 calls at a time
L180[07:25:04] <Z0idburg> however, you're only going to get 23 g711 calls
L181[07:25:25] <Z0idburg> if you use g729 it multiplies
L182[07:25:49] <stephan48> yes and thats with specialised equipment on both sides.
L183[07:26:05] <stephan48> (talking ISDN)
L184[07:26:35] <stephan48> i nearly exclusively do software
L185[07:27:08] <stephan48> besides the odd VOIP to analogue converter for a fax or an old telephone, VOIP-DECT or a Deskphone :D
L186[07:27:10] <Z0idburg> yeah
L187[07:27:20] <Z0idburg> but having fiber out of the CO is a huge plus
L188[07:27:26] <stephan48> CO?
L189[07:27:31] <Z0idburg> you can route shittons of calls including DSL traffic, dialup etc over that fiber
L190[07:27:52] <Z0idburg> and run QoS to keeo the phone traffic priority
L191[07:28:20] <stephan48> basically in my old job we had a big siemens unity phone system backed by a PRI T1 via ISDN
L192[07:28:33] <Z0idburg> heh
L193[07:28:41] <Z0idburg> Most of my work is done on Nortel DMS systems
L194[07:28:43] <Skye> @Z0idburg its just a random image I found online. I can't draw. I wish I could...
L195[07:29:14] <Skye> Also I train signalling works with relays to compute routes
L196[07:29:17] <stephan48> what came into the building was essentially two fiber pairs into a sort of blackbox, out came internet, ISDN PRI and some management interface
L197[07:29:26] <Z0idburg> http://www.reeve.com/images/Photos/Haines%20DMS10%200201.JPG
L198[07:29:35] <Z0idburg> ^ These
L199[07:29:43] <stephan48> haha
L200[07:29:52] <stephan48> no ours where no where near that big
L201[07:29:57] <Z0idburg> They're minicomputers ?
L202[07:30:00] <stephan48> yes
L203[07:30:04] <Skye> So uh... Train signalling...
L204[07:30:09] <Skye> In the UK there's two types
L205[07:30:12] <Z0idburg> They even support paper tape
L206[07:30:16] <Skye> Automatic signals, and the other kind
L207[07:30:16] <stephan48> hahaha
L208[07:30:27] <Skye> Automatic is for block sections
L209[07:30:30] <Skye> Without junctions
L210[07:30:31] <stephan48> the not so automated signals? :D
L211[07:30:52] <Z0idburg> The thing that's nice about those ancient DMS switches is that they NEVER GO DOWN.
L212[07:30:53] <Z0idburg> ever.
L213[07:31:01] <Z0idburg> they aren't like softswitches
L214[07:31:11] <stephan48> ^
L215[07:31:16] <Z0idburg> they even have redundant CPUs and cloned memory
L216[07:31:20] <Z0idburg> it has 1MB of memory
L217[07:31:23] <Skye> Well the non automatic signals are either manually set or set by computers
L218[07:31:37] <Skye> Though some fail safes are local
L219[07:31:39] <stephan48> the siemens unity thingy was basically a 1x1x1 block or so of line cards, processors and stuff
L220[07:31:53] <Z0idburg> yeah
L221[07:31:54] <stephan48> 1mx1mx1m
L222[07:31:58] <Skye> For example if a signal displays green when it shouldn't, the entire junction just goes into danger
L223[07:32:16] <stephan48> my boss once got a almost hearth attack. he forgot he had saved the config to the SDCard :D
L224[07:32:26] <stephan48> and then clicked reboot.
L225[07:32:39] <Z0idburg> one downside of these or most any minicomputer is that the terminal access is not virtual they are physical
L226[07:32:57] <stephan48> cue 10 minutes of panic while hoping that he really did save :D
L227[07:32:59] <Z0idburg> so even though you can use a terminal server and ssh or telnet to those you can only have a limited number of people in them at a time
L228[07:33:06] <Skye> Routing and timetabling is an unsolved problem
L229[07:33:09] <stephan48> that was the only time he shoved any kind of emotion on the job
L230[07:33:11] <Skye> Japan does it manually
L231[07:33:21] <Skye> The UK does it with computers and fails miserably
L232[07:33:28] <Z0idburg> Going into danger sounds fun Skye
L233[07:33:56] <Skye> Well danger is the stop signal
L234[07:34:04] <Skye> Basically stop
L235[07:34:05] <stephan48> i don't really know how the german system works
L236[07:34:51] <Skye> Theres three kinds of German signal
L237[07:35:05] <Skye> The East German one, the old German one, and the post unification one.
L238[07:35:17] <Skye> The post unification one is the most like a UK signal, ironically.
L239[07:35:30] <Skye> The post unification one is the most like a UK signal, funnily
L240[07:35:30] <Skye> . [Edited]
L241[07:36:02] <Skye> The East German one has two signals in one, the distant and the... I forgot the words, basically the one it's protecting
L242[07:36:31] <Z0idburg> Lizzian I will have to do some drawing but I think telephone systems may work
L243[07:36:35] <Skye> And the old German one... Is... Like a semaphore signal but with lights
L244[07:36:40] <Z0idburg> You may be able to have an LRN for every "area"
L245[07:36:55] <Skye> Also all German signals have speed restrictions
L246[07:36:55] <Z0idburg> and then that LRN router would just route the train from there inside that area
L247[07:37:47] <Skye> I'd suggest making the safety system separate from routing
L248[07:37:50] <Z0idburg> this can be recursively scaled
L249[07:37:53] <Skye> Make the safety system local
L250[07:38:36] <Skye> In the UK its called interlocking due to it being from the old mechanical signal boxes
L251[07:38:58] <Z0idburg> well, if you know how many trains you can have in an "area" at the same time
L252[07:39:08] <Z0idburg> then you know when you can make delays
L253[07:39:21] <Z0idburg> I dunno
L254[07:39:26] <Skye> You want to do moving block?
L255[07:39:28] <Skye> That'd be... Interesting
L256[07:39:30] <Z0idburg> an area would consist of several towns
L257[07:39:36] <Z0idburg> moving block?
L258[07:39:36] <Skye> I'd reccomened fixed block though
L259[07:39:45] <stephan48> if you do it OC based make a detector on the "incoming rail" and one on the outgroing rail
L260[07:39:46] <Skye> Well how to stop the trains from crashing into each other
L261[07:40:13] <Z0idburg> right
L262[07:40:21] <Z0idburg> you have to park and delay them until its safe
L263[07:40:27] <Lizzian> cool beans (to the drawing things)
L264[07:40:35] <stephan48> basically like Skye suggested, a semaphore. if there are to many trains or a train does not come out after a certain time(i.e. increate but no decrease after time X) then do stuff
L265[07:41:14] <Z0idburg> The terrifying part Lizzian is if you have a large pace you wanted to have trains go throug you could have your own "PBX" on the base
L266[07:41:16] <Z0idburg> XD lololol
L267[07:41:37] <stephan48> theoretically you could have a drone follow the train rails and do automapping :D
L268[07:41:44] <Z0idburg> yes.
L269[07:41:46] <stephan48> detecting the routing computers on the way
L270[07:42:59] <Z0idburg> Lizzian if you did this right then you could make it so that people got tickets at an OC booth and it would be able to dynamically create paths for trains that weren't doing anything special
L271[07:43:00] <Z0idburg> ?
L272[07:43:08] <stephan48> sounds like a good idea for microprocessors
L273[07:43:09] <Z0idburg> or, repath trains on the fly like elevators
L274[07:43:30] <stephan48> possible with a sort of bootstrapping mechanism: i.e. each µC gets their code from the central PBX on boot
L275[07:43:38] <Z0idburg> My OS will fit on a microcontroller but it won't fit muhc
L276[07:43:40] <Z0idburg> much*
L277[07:43:48] <Z0idburg> mayve a few processes of small size
L278[07:44:07] <Z0idburg> though with tmpfs it could grab processes from a main computer
L279[07:45:18] <Skye> In real life routes are either pre computed or manual
L280[07:46:03] <Z0idburg> using a bidirectional relay system a circuit switching PSTN style train network could precompute
L281[07:46:03] <Skye> But for a game you'd need to compute them on the fly
L282[07:46:17] <stephan48> that was the drone comment :D
L283[07:46:25] <Z0idburg> you recursively transmit the path requests, and then the return value autmatically comes back skye
L284[07:46:28] <Z0idburg> with the full path
L285[07:46:32] <stephan48> i.e. you build the network and the drone can detect the routing and then you can cache it
L286[07:46:47] <Lizzian> i'm not 100% sure what info i can get from the trains
L287[07:46:48] <Skye> That's not pre computed
L288[07:47:08] <Skye> By pre computed I mean literally done by a powerful computer with human health months in advance
L289[07:47:15] <Z0idburg> well if you do it before you send the train out, you can store that information
L290[07:47:30] <Z0idburg> so that when another train needs to compute the path it will use the existing routes going on
L291[07:47:39] <Z0idburg> to find a safe way with safe delays
L292[07:47:43] <Z0idburg> like error checkinhg
L293[07:47:47] <Z0idburg> checking*
L294[07:48:06] <Skye> I know that Openttd uses the A* algorithm
L295[07:49:22] <Z0idburg> The problem with A* is that you need a local guess of what the map is sort of bounded like
L296[07:49:38] <Z0idburg> you don't need to know the individual paths, but you have to have a guess at distances at scale
L297[07:49:41] <Skye> Well you could precompute the route
L298[07:49:48] <Lizzian> I don't think the train network i intend to deploy the code on has a recursive path or not
L299[07:50:11] <Lizzian> i think my brain switched off partway through that last message
L300[07:50:17] <Skye> Is there any kind of loop?
L301[07:50:42] <Lizzian> no, wait, i've just realised it does have a bit of a loop
L302[07:51:05] <Lizzian> though it's a really long loop so wouldn't be that much of an issue
L303[07:51:11] <Lizzian> i think
L304[07:51:23] <Skye> It's probably small enough to allow for precomputing the entire network
L305[07:51:24] <Skye> Like
L306[07:51:27] <Skye> The distances
L307[07:51:31] <Skye> To every node
L308[07:52:08] <Skye> So you can have each signal thing cache that and then use A* using that as a heuristic
L309[07:52:15] <Skye> Which would basically be best case
L310[07:53:44] <Z0idburg> you know whats funny
L311[07:53:59] <Z0idburg> if you used PSTN style trains you could use PIC codes HAHAHAHA
L312[07:54:31] <Z0idburg> that way when you go "long distance" you get a bill for your long distance train call
L313[07:54:32] <Z0idburg> XD
L314[07:54:33] <Lizzian> the way i was planning it was that at each of the signals, a computer has detectors and a redstone card and basically sends a message via a linked card when it detects a train and gets information back about what it should set it's signal aspect to (in relation to the block it's guarding) as well as info from signals up the line as to what their status is
L315[07:54:55] <DerDaniel> hi, is there any officiall server that supports oc in 1.12?
L316[07:55:11] <Skye> You can do signalling without long distance comms
L317[07:55:14] <Skye> Routing is harder
L318[07:55:16] <Z0idburg> carrier B charges diamonds to send your trains through their network; customer gets billed for percentage of diamond fee
L319[07:55:41] <Z0idburg> It was a joke more than anything
L320[07:56:05] <Skye> Also I don't think there is any official OC server
L321[07:56:30] <Z0idburg> sometimes I wish there was an official OC server
L322[07:56:31] <Z0idburg> tbh
L323[07:56:41] <Z0idburg> something to just log onto and play around with OC
L324[07:57:50] <Lizzian> Skye, the way i would do it is that it all the "block occupied" and "block free" come from a central server (or a few) because it'd be easier to work out whether a block has a train in it from a central system that's always chunkloaded than one that could be out of the chunkloading range by the time the train "leaves"
L325[08:01:36] <Skye> Hum...
L326[08:01:49] <Skye> I'd say add some AWS/TPWS like system
L327[08:01:57] <Skye> Have a redstone controlled train stop
L328[08:03:09] ⇨ Joins: Thutmose (Thutmose!~Patrick@host-69-59-79-181.nctv.com)
L329[08:04:55] ⇨ Joins: t20kdc (t20kdc!~20kdc@cpc139326-aztw33-2-0-cust441.18-1.cable.virginm.net)
L330[08:07:07] <Skye> @Z0idburg AWS is fun, it's an electromagnet and a magnet in the middle of the track. Electromagnet on, signal clear, electromagnet off, danger.
L331[08:07:27] <Z0idburg> oh?
L332[08:07:32] <Z0idburg> amazon aws?
L333[08:07:41] <Skye> No
L334[08:07:42] <Lizzian> Advanced Warning System, i think
L335[08:07:53] <Skye> Automatic Warning System
L336[08:08:09] <Skye> It informs the driver with a bell and a mini horn
L337[08:08:14] <Skye> So bell means clewr
L338[08:08:25] <Skye> And the mini horn means not clear
L339[08:08:51] <Skye> Modern trains replace it with an electronic ding
L340[08:09:05] <Skye> And an electronic beep/buzz
L341[08:09:49] <Skye> Brrriiing
L342[08:09:58] <Skye> Ding
L343[08:10:05] <Skye> Weeeeeeeh
L344[08:10:10] <Skye> Beeeep
L345[08:11:17] <Skye> Bye for now
L346[08:11:19] <Skye> Lessons
L347[08:18:19] <Z0idburg> so here are my current thoughts
L348[08:18:20] <Z0idburg> https://hastebin.com/wamequnufe.txt
L349[08:19:43] <Lizzian> ... why does hastebin need JS to display stuff
L350[08:21:40] <Z0idburg> I can find another
L351[08:21:48] <Z0idburg> I couldnt remember the pc logix one
L352[08:24:21] <Z0idburg> I can't remember any jsless pastebins on top of my head
L353[08:24:49] <Forecaster> https://paste.pc-logix.com/
L354[08:24:59] <Forecaster> ironically that one uses hastebin's system :P
L355[08:26:07] <Z0idburg> yeah it uses js
L356[08:26:10] <Z0idburg> vifino had one
L357[08:27:16] <Forecaster> there's gist
L358[08:27:34] <Z0idburg> I would imagine that heavily uses js
L359[08:27:38] <Z0idburg> considerent where it came from
L360[08:28:34] <Z0idburg> course gist is complicated
L361[08:28:39] <Z0idburg> I'm just trying to paste a text file
L362[08:31:46] <Forecaster> I have no idea how it's complicated
L363[08:32:01] <Forecaster> you just paste the text and click "create gist"
L364[08:32:23] <Z0idburg> where
L365[08:32:29] <Z0idburg> ?
L366[08:32:35] <Z0idburg> I'm not making a repository
L367[08:33:37] <Forecaster> gist.github.com?
L368[08:33:59] <Forecaster> gists are not related to repositories in any way
L369[08:34:09] <Z0idburg> Here, http://dpaste.com/2SCCJR7.txt <-- @Lizzian
L370[08:34:12] <Z0idburg> should be js less
L371[08:34:50] <Z0idburg> there is no place to paste if I go to gist.github.com
L372[08:35:10] <Z0idburg> probabably because I am not logged in, I don't want to log in or force somebody else to log in
L373[08:35:16] <Z0idburg> ^ complicated
L374[08:35:32] <Z0idburg> there's either a plain page to dump paste into and be done or its not worth it
L375[08:35:41] <Z0idburg> where its obvious how to use it
L376[08:39:28] <Forecaster> you have to be logged in yeah
L377[08:39:34] <Forecaster> because it saves them to your account
L378[08:39:41] <Forecaster> you don't have to be logged in to view them
L379[08:46:13] <Lizzian> hastebin was fine, just had to tell noscript to allow it
L380[08:46:39] <Lizzian> and i'll read it properly in a bit, need to go get lunch
L381[09:38:01] <Skye> Parking trains? Wut.
L382[09:38:07] <Skye> You don't park trains. :p
L383[09:40:04] <Skye> In UK terminology the space between two signals where a train can be called a berth
L384[09:40:11] ⇦ Quits: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org) (Remote host closed the connection)
L385[09:42:43] ⇨ Joins: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
L386[09:44:30] <Forecaster> trains berth?
L387[09:44:37] <Forecaster> %tonk
L388[09:44:37] <MichiBot> Goshhawk! Forecaster! You beat your own previous record of 7 hours, 13 minutes and 59 seconds! I hope you're happy!
L389[09:44:38] <MichiBot> Forecaster's new record is 7 hours, 26 minutes and 39 seconds! 12 minutes and 39 seconds gained!
L390[09:47:34] ⇦ Quits: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org) (Remote host closed the connection)
L391[10:09:49] <Z0idburg> you can park trains Skye ?
L392[10:09:56] <Z0idburg> Never watched thomas the tank engine?
L393[10:09:57] <Z0idburg> ?
L394[10:18:22] <Mimiru> @ben_mkiv I can't even start it in the IDE, so I'm not hitting a race condition.
L395[10:20:59] <ben_mkiv> mimiru whats the error you are facing?
L396[10:21:24] <ben_mkiv> oh. maybe you have to refresh dependencies and refresh the project
L397[10:21:30] <ben_mkiv> as it depends on JEI to build now
L398[10:21:53] <ben_mkiv> needed to add that, so i can hide the blocks from JEI which arent supposed to be used by players
L399[10:22:27] <Mimiru> @ben_mkiv nope.. I either get an error stating it can't find isBlockContainer in AR
L400[10:22:47] <Mimiru> OR, I get duplicate mod errors on AR and libVu... whattever that shit is called
L401[10:23:02] <ben_mkiv> libvulpes, what IDE are you using?
L402[10:23:10] <Mimiru> Eclipse
L403[10:23:20] <Mimiru> I've cleaned, I've rerun setupDecompWorkspace
L404[10:23:23] <Mimiru> I've recleaned.
L405[10:23:34] <Mimiru> I even nuked it all, and started fresh
L406[10:23:55] <ben_mkiv> http://tinyurl.com/y3te2ymq
L407[10:24:03] <ben_mkiv> does it have something like that maybe, where it autoadds dependencies?
L408[10:24:12] <ben_mkiv> then you got to set them to provided
L409[10:24:50] <Mimiru> IDK off the top of my head, I'm at work
L410[10:24:51] <ben_mkiv> well at least thats what i do to run it without AR/Galacticraft in dev
L411[10:25:04] <Mimiru> finally switched my server to use ZNC so I can tonk
L412[10:25:10] <ben_mkiv> ?
L413[10:25:17] <Mimiru> %tonk
L414[10:25:18] <MichiBot> I'm sorry Mimiru, you were not able to beat Forecaster's record of 7 hours, 26 minutes and 39 seconds this time.
L415[10:25:19] <MichiBot> 40 minutes and 40 seconds were wasted! Missed by 6 hours, 45 minutes and 58 seconds!
L416[10:25:25] <Mimiru> damn.
L417[10:25:31] <Mimiru> 7.5 hours...
L418[10:25:31] <Mimiru> damn
L419[10:25:32] <Mimiru> lol
L420[10:40:45] ⇨ Joins: Kleadron (Kleadron!~kleadron@c-73-254-147-9.hsd1.wa.comcast.net)
L421[10:43:52] <AmandaC> %tell Inari don't you hate when you cast life-saving petrification magic on yourself and accidentally turn into a guy!?
L422[10:43:53] <MichiBot> AmandaC: Inari will be notified of this message when next seen.
L423[10:56:12] <Z0idburg> wut
L424[10:56:47] <Forecaster> %tonkout
L425[10:56:48] <MichiBot> Forecaster has tonked out! Tonk has been reset! They gained 0.007 tonk points! Current score: 0.007
L426[10:56:56] <Forecaster> Aww
L427[10:57:06] <Forecaster> I lost my useless points
L428[11:02:20] <Z0idburg> %tonk
L429[11:02:20] <MichiBot> Dagnabbit! Z0idburg! You beat Forecaster's previous record of <0! I hope you're happy!
L430[11:02:21] <MichiBot> Z0idburg's new record is 5 minutes and 31 seconds! 5 minutes and 31 seconds gained!
L431[11:02:46] <Z0idburg> I DID IT!
L432[11:02:50] <Corded> * <Z0idburg> does a dance
L433[11:03:15] <Corded> * <Z0idburg> is a pro
L434[11:11:21] <Kodos> I refuse to tonk anymore
L435[11:12:08] <Forecaster> why? :P
L436[11:16:17] <Zef> %tonk
L437[11:16:17] <MichiBot> Willikers! Zef! You beat Z0idburg's previous record of 5 minutes and 31 seconds! I hope you're happy!
L438[11:16:18] <MichiBot> Zef's new record is 13 minutes and 56 seconds! 8 minutes and 24 seconds gained!
L439[11:16:31] <Zef> You're a god kodos
L440[11:16:39] <Zef> You've beared the 47 year trial
L441[11:16:49] <Zef> Oo orange name
L442[11:16:54] ⇦ Quits: infina (infina!~infina@caligula.lobsternetworks.com) (Ping timeout: 190 seconds)
L443[11:17:01] ⇦ Quits: S3 (S3!~S3@caligula.lobsternetworks.com) (Ping timeout: 183 seconds)
L444[11:22:26] ⇨ Joins: ben_mkiv (ben_mkiv!~ben_mkiv@i577BC4F0.versanet.de)
L445[11:35:00] <Z0idburg> %tonk
L446[11:35:00] <MichiBot> Dagnammit! Z0idburg! You beat Zef's previous record of 13 minutes and 56 seconds! I hope you're happy!
L447[11:35:01] <MichiBot> Z0idburg's new record is 18 minutes and 42 seconds! 4 minutes and 46 seconds gained!
L448[11:35:30] <Z0idburg> :>
L449[11:35:50] <Z0idburg> Honky Tonk
L450[11:44:15] <Zef> I'm looking forward to messing with thaumcraft more when I get home
L451[11:44:32] <Zef> I also have ideas for an ic2 solar farm
L452[11:45:11] <Zef> Or rather, how to produce the solar panels for said solar farm
L453[11:58:23] <Mimiru> %tonk
L454[11:58:24] <MichiBot> By my throth! Mimiru! You beat Z0idburg's previous record of 18 minutes and 42 seconds! I hope you're happy!
L455[11:58:25] <MichiBot> Mimiru's new record is 23 minutes and 24 seconds! 4 minutes and 41 seconds gained!
L456[11:58:38] <Z0idburg> :>
L457[11:58:40] <Z0idburg> damn
L458[11:58:45] <Z0idburg> beat me to it by like a second
L459[12:10:27] ⇦ Quits: rashy (rashy!~rashdanml@d24-156-232-46.home4.cgocable.net) (Read error: Connection reset by peer)
L460[12:10:29] <Forecaster> https://youtu.be/ggfK6H_S-XA
L461[12:10:30] <MichiBot> How To Build A Rollback Can | length: 14m 11s | Likes: 27,863 Dislikes: 186 Views: 321,113 | by DONG | Published On 11/2/2019
L462[12:12:28] <payonel> <Izaya> [19:22:55] [Server thread/WARN] [opencomputers]: Error handling file saving: Did the server never start?
L463[12:13:01] <payonel> ^ actually, that is not related. vex added the log line and i've noticed that it fires on first start ups of a chunk or maybe world, in short ... it's too noisey and not really an error
L464[12:13:38] <Vexatos> interesting
L465[12:13:44] <Vexatos> that means the server starts too quickly?
L466[12:14:05] <Vexatos> payonel, would mean you have to run the uh whatever it's called method in ServerStartingEvent even earlier
L467[12:14:13] <Vexatos> ServerAboutToStartEvent then I guess
L468[12:17:03] <payonel> @"Z0idburg" added algorithm. it is better to include it for all. on some distros apparently it is added via other includes i already had.
L469[12:19:50] <AmandaC> ohai payonel
L470[12:19:54] <payonel> AmandaC: o/
L471[12:20:04] <payonel> i should have added your pr in the 1.7.4 patch :(
L472[12:20:05] <payonel> sorry
L473[12:20:18] <AmandaC> No big deal. :)
L474[12:20:47] <AmandaC> %roll 1d3
L475[12:20:47] <MichiBot> AmandaC: [3]
L476[12:20:57] <AmandaC> %8ball read new chapters first
L477[12:20:58] <MichiBot> AmandaC: I don't think that's a question...
L478[12:20:59] <AmandaC> %8ball read new chapters first?
L479[12:20:59] <MichiBot> AmandaC: Outlook not so good
L480[12:22:37] <AmandaC> %tell Inari since you're taking forever to come on, I'll just %tell this: My favourite reaction in gender-bender stories is "'It' is gone!" Like there's nothing else that would be noticed before that
L481[12:22:38] <MichiBot> AmandaC: Inari will be notified of this message when next seen.
L482[12:28:34] <Z0idburg> %tonk
L483[12:28:34] <MichiBot> Willikers! Z0idburg! You beat Mimiru's previous record of 23 minutes and 24 seconds! I hope you're happy!
L484[12:28:35] <MichiBot> Z0idburg's new record is 30 minutes and 10 seconds! 6 minutes and 46 seconds gained!
L485[12:28:38] <Z0idburg> :>
L486[12:28:57] <Corded> * <Z0idburg> is a troll today
L487[12:37:11] <Lizzy> %logs
L488[12:37:11] <MichiBot> Lizzy: https://oclogs.pc-logix.com/
L489[13:22:45] <Zef> Message contained 4 or more newlines and was pastebined https://paste.pc-logix.com/arayajoxax
L490[13:31:14] ⇨ Joins: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
L491[13:32:58] <Forecaster> can't make it through life without that Z drive
L492[13:37:53] ⇦ Quits: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org) (Remote host closed the connection)
L493[13:38:55] <Zef> I guess not
L494[13:39:09] <Zef> Worse part is network was a selectable option for category
L495[13:57:43] ⇨ Joins: Inari (Inari!~Pinkishu@pD9E8EB33.dip0.t-ipconnect.de)
L496[14:06:59] <Inari 『 おにいでれ 』> @Skye Cute
L497[14:07:34] <Bob> ?
L498[14:09:09] <Inari> .
L499[14:09:27] <Inari> AmandaC: Haha
L500[14:20:11] <CompanionCube> %tonk
L501[14:20:12] <MichiBot> Sard! CompanionCube! You beat Z0idburg's previous record of 30 minutes and 10 seconds! I hope you're happy!
L502[14:20:13] <MichiBot> CompanionCube's new record is 1 hour, 51 minutes and 37 seconds! 1 hour, 21 minutes and 26 seconds gained!
L503[14:21:09] <Forecaster> http://imgur.com/gallery/kRB2BnV
L504[14:22:50] <Inari> Of course the pussy loves that
L505[14:43:56] <Forecaster> %bap Inari
L506[14:43:56] * MichiBot baps Inari with EveryOS's house keys
L507[14:51:25] <Inari> Ah, of course, Google is the issue of the routing issues to Google
L508[14:51:26] <Inari> Good to know
L509[14:53:02] <Mimiru> %p
L510[14:53:03] <MichiBot> Ping reply from Mimiru 0.4s
L511[14:53:04] <MichiBot> Ping reply from Mimiru 0.31s
L512[14:54:49] * AmandaC meows at Inari
L513[14:54:54] <Inari> Meow
L514[15:21:56] ⇨ Joins: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
L515[15:29:39] ⇨ Joins: Inari|2 (Inari|2!~Pinkishu@pD9E39143.dip0.t-ipconnect.de)
L516[15:29:46] ⇦ Quits: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org) (Remote host closed the connection)
L517[15:31:14] ⇦ Quits: Inari (Inari!~Pinkishu@pD9E8EB33.dip0.t-ipconnect.de) (Ping timeout: 190 seconds)
L518[16:36:14] <Mimiru> %tonk
L519[16:36:14] <MichiBot> Dogast! Mimiru! You beat CompanionCube's previous record of 1 hour, 51 minutes and 37 seconds! I hope you're happy!
L520[16:36:15] <MichiBot> Mimiru's new record is 2 hours, 16 minutes and 2 seconds! 24 minutes and 25 seconds gained!
L521[16:43:46] ⇨ Joins: AustinLearns (AustinLearns!~austin@72-161-164-195.dyn.centurytel.net)
L522[16:43:54] <AustinLearns> Ping
L523[16:44:24] <Zef> I'll ping you
L524[16:44:30] <Zef> ;)
L525[16:44:56] <AustinLearns> nice
L526[16:46:14] <AustinLearns> Might be a stupid question but are there any MC server with only OC running on 1.12.2?
L527[16:47:32] <payonel> AustinLearns: sure....but i tear it down repeatedly :)
L528[16:52:12] <Wattana Gaming> wat
L529[17:01:47] ⇦ Quits: AustinLearns (AustinLearns!~austin@72-161-164-195.dyn.centurytel.net) (Quit: Leaving)
L530[17:12:16] ⇦ Quits: Inari|2 (Inari|2!~Pinkishu@pD9E39143.dip0.t-ipconnect.de) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
L531[17:47:27] ⇦ Quits: ba7888b72413a16a (ba7888b72413a16a!~ba7888b72@66.109.211.150) (Quit: WeeChat 2.3)
L532[17:49:44] ⇨ Joins: ba7888b72413a16a (ba7888b72413a16a!~ba7888b72@66.109.211.150)
L533[18:19:50] <Wattana Gaming> *IRC spamming even more intensifies*
L534[18:32:08] <Zef> How long have you been here?
L535[18:37:09] ⇦ Quits: t20kdc (t20kdc!~20kdc@cpc139326-aztw33-2-0-cust441.18-1.cable.virginm.net) (Ping timeout: 189 seconds)
L536[18:55:07] <Wattana Gaming> u asking me?
L537[18:55:21] <Wattana Gaming> well, for a while now I guess
L538[18:57:42] ⇨ Joins: infina (infina!~infina@caligula.lobsternetworks.com)
L539[19:00:10] ⇨ Joins: S3 (S3!~S3@caligula.lobsternetworks.com)
L540[19:13:48] ⇦ Quits: Vexatos (Vexatos!~Vexatos@p200300C107205E0091C9B24D6A193482.dip0.t-ipconnect.de) (Quit: Insert quantum chemistry joke here)
L541[19:32:02] <Zef> Well the irc spam happens every night
L542[19:33:13] <asie> %tonk
L543[19:33:14] <MichiBot> Willikers! asie! You beat Mimiru's previous record of 2 hours, 16 minutes and 2 seconds! I hope you're happy!
L544[19:33:15] <MichiBot> asie's new record is 2 hours, 56 minutes and 59 seconds! 40 minutes and 56 seconds gained!
L545[19:33:17] <asie> %tonkout
L546[19:33:18] <MichiBot> asie has tonked out! Tonk has been reset! They gained 0.002 tonk points! Current score: 0.002
L547[19:33:23] <asie> night
L548[19:33:31] <simon816> SPAM SPAM SPAM
L549[19:33:55] <asie> SPAAAAAM
L550[19:36:00] <simon816> tͦ҉̩̝͓̝͉͇̱͘ͅh͂̅̈̏ͫ̇̇͟͠͏̯̦͔e̷̢̛̼̝̐̚ ̄̋ͦ̍҉̶̧͙̦͓͉ͅs͙̭͉̪̤̓̈́͜p̘̮̮̫ͪͬ́a͒ͭ̏͏̗̠̫̮m̉ͨ҉͏̪̗͔̣̹̪̞ ͍̹̼̗͐̍͂h̵̩͚̃ͨ̅́͌̾ͬ͑͌͢ạ̡̜ͣͫͬ̂́s̜̬̳̤̈̂̌ͦ̓̄ͦ́͠ ̶͖̱͖̠̦̤̓ͨ̑̃̾̒ͮ͜ͅa̧̗̝ͦ̈̈́ͭ̈́̔͆͘ẃ̏ͮ͛̅ͦ͏̸̦̫̖̬̙̥̭͟o̴͔̣͐̓̏ͥ̆͗̀͝k̵͍̻͙͙̺̞̅͐̐͝eͬ̔̄ͮ̎̇͋̅̚͡҉͙͖͔̲͖̹n̾̅̋
L551[19:36:00] <simon816> ̸̷͉ͩͪ̋ͫ́
L552[19:36:17] <simon816> oh that's too zalgo'd lol
L553[19:38:56] <ben_mkiv> %tonk
L554[19:38:57] <MichiBot> Dagnabbit! ben_mkiv! You beat asie's previous record of <0! I hope you're happy!
L555[19:38:58] <MichiBot> ben_mkiv's new record is 5 minutes and 38 seconds! 5 minutes and 38 seconds gained!
L556[19:52:43] <Zef> %TONK
L557[19:52:43] <MichiBot> Heckgosh! Zef! You beat ben_mkiv's previous record of 5 minutes and 38 seconds! I hope you're happy!
L558[19:52:44] <MichiBot> Zef's new record is 13 minutes and 46 seconds! 8 minutes and 7 seconds gained!
L559[19:56:30] <AmandaC> WATCH YOUR LANGUAGE YOUNG LADY!
L560[19:56:53] * AmandaC baps MichiBot
L561[19:57:07] <Zef> Don't make me heckgosh you!
L562[20:03:37] <Wattana Gaming> Sooo I recompiled ffmpeg and got libgme working but the Silver Surfer soundtrack is just one nsf file with all the game soundtracks inside it. How do I choose what music to play?
L563[20:04:13] <Kodos> uwot
L564[20:04:53] <Wattana Gaming> It clearly say there are 24 tracks in the nsf file but how do I choose track 2, 3, 4, etc. http://tinyurl.com/yxf3folj
L565[20:13:13] ⇦ Quits: logan2611 (logan2611!~logan2611@174-29-141-220.hlrn.qwest.net) (Remote host closed the connection)
L566[20:15:58] ⇨ Joins: logan2611 (logan2611!~logan2611@174-29-141-220.hlrn.qwest.net)
L567[20:16:58] <Z0idburg> Oh hello Wattana
L568[20:17:24] <Z0idburg> %tonk
L569[20:17:25] <MichiBot> Dad-Sizzle! Z0idburg! You beat Zef's previous record of 13 minutes and 46 seconds! I hope you're happy!
L570[20:17:25] <MichiBot> Z0idburg's new record is 24 minutes and 40 seconds! 10 minutes and 54 seconds gained!
L571[20:24:39] * Mimiru pokes ben_mkiv
L572[20:26:45] <Wattana Gaming> Now **THIS** will kill Sega Genesis
L573[20:26:46] <Wattana Gaming> https://www.youtube.com/watch?v=vsngYX5k6h0
L574[20:26:46] <MichiBot> Pokey Means Business (8-bit) | length: 3m 42s | Likes: 784 Dislikes: 11 Views: 48,219 | by Wyatt Croucher | Published On 17/9/2011
L575[20:27:00] <Wattana Gaming> stfu MichiBot I didn't ask for u to come
L576[20:33:47] <ben_mkiv> mimru rolldoor is pretty much done. but let me test around with it for 1-2 days and write the docs before you publish
L577[20:34:46] <Kodos> Oi
L578[20:34:49] <Kodos> I'm the official breaker of things
L579[20:34:55] <Kodos> Make sure you run it by me first ?
L580[20:35:36] <Wattana Gaming> is there any free server hosting server other than server.pro? I want to host an OC server
L581[20:37:02] <Kodos> Do we have a github box
L582[20:37:03] <Kodos> Do we have a github bot [Edited]
L583[20:37:12] <Kodos> Where I can poke it with a number and it'll give me a link
L584[20:37:14] <Kodos> Because I'm lazy
L585[20:40:01] <Z0idburg> huh
L586[20:40:10] <Z0idburg> When requiring a file can I tell it not to use the cached one?
L587[20:40:13] <Z0idburg> in OpenOS
L588[20:40:31] <Kodos> Can't you just... unrequire and re-require it?
L589[20:40:46] <Z0idburg> unrequire? never heard of it
L590[20:40:55] <Kodos> It's a thing I thought, let me look
L591[20:41:48] <Wattana Gaming> Ay Zoid how do you think OpenOS mount drives?
L592[20:41:50] <Z0idburg> somehow I broke Gtty
L593[20:41:50] <Z0idburg> lol
L594[20:42:01] <Z0idburg> I never looked at how OpenOS does it
L595[20:42:24] <Z0idburg> there's probably some form of vfs
L596[20:42:27] <Wattana Gaming> I want OCLinux to have a file-descriptor of the drive and be able to mount it
L597[20:44:05] <Z0idburg> you don't necessarily need a file descriptor to mount a drive
L598[20:44:21] <Z0idburg> not unless you want to emulate devfs somehow
L599[20:59:38] <Z0idburg> There, I fixed it
L600[21:00:04] <Z0idburg> @Wattana Gaming
L601[21:00:32] <Z0idburg> function foo(x) return foo(x + 1) end
L602[21:01:20] <Wattana Gaming> fixed wat?
L603[21:01:53] <Wattana Gaming> p.s. that looks like a function that just adds 1 to the variable
L604[21:04:05] <Zef> %lua local function foo(x); return foo(x+1); end; foo(4)
L605[21:04:09] <MichiBot> script took too long
L606[21:04:22] <Zef> How the hell does that work
L607[21:04:33] <Zef> I've never managed to call a function inside of itself
L608[21:04:34] <Z0idburg> ok let me make it usable.
L609[21:04:43] <Z0idburg> I do it all the time look here
L610[21:04:52] <Z0idburg> Code Block pastebined https://paste.pc-logix.com/qicoxonozo
L611[21:04:54] <Zef> I've tried it in oc
L612[21:05:04] <Z0idburg> Tlook at the name of that function and look at the last line before end
L613[21:05:18] <Zef> And every damn time it tells me the variable is nil
L614[21:05:24] <Z0idburg> so watch this
L615[21:06:18] <Z0idburg> %lua function foo(x) print(x) if x < 10 then return foo(x+1) end foo(1)
L616[21:06:18] <MichiBot> main:1: 'end' expected near <eof>
L617[21:06:21] <Z0idburg> if I didn't make a typo
L618[21:06:24] <Z0idburg> I did
L619[21:06:42] <Z0idburg> %lua function foo(x) print(x) if x < 10 then return foo(x+1) end end foo(1)
L620[21:06:42] <MichiBot> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
L621[21:07:07] <Z0idburg> There you go ?
L622[21:07:27] <Z0idburg> oh yeah
L623[21:08:28] <AmandaC> %tell Inari self aware story is self aware of tropes: "Yes, humanity uses wormholes for FTL. Other races do not use the worm drive though. It would be weird if different races use the same FTL method. That either suggests extreme coincidence, or it's done by design. [...]"
L624[21:08:29] <MichiBot> AmandaC: Inari will be notified of this message when next seen.
L625[21:08:39] <Z0idburg> %lua function foo(x, y, acc) table.insert(acc, x) if x < y then return foo(x+1, y, acc) else return acc end foo(1)
L626[21:08:39] <MichiBot> main:1: 'end' expected near <eof>
L627[21:08:43] <Z0idburg> uh
L628[21:08:55] <Z0idburg> lets see where did I mess uo here, its hard when its all one line [Edited]
L629[21:09:14] <Z0idburg> oh
L630[21:09:24] <Z0idburg> %lua function foo(x, y, acc) table.insert(acc, x) if x < y then return foo(x+1, y, acc) else return acc end end foo(1, 20)
L631[21:09:25] <MichiBot> main:1: bad argument #1 to 'insert' (table expected, got nil)
L632[21:09:31] <Z0idburg> oh yeah
L633[21:09:35] ⇦ Quits: Kleadron (Kleadron!~kleadron@c-73-254-147-9.hsd1.wa.comcast.net) (Ping timeout: 202 seconds)
L634[21:09:41] <Z0idburg> %lua function foo(x, y, acc) table.insert(acc, x) if x < y then return foo(x+1, y, acc) else return acc end end foo(1, 20, {})
L635[21:09:57] <Z0idburg> something didn't finish
L636[21:10:56] <Z0idburg> too many depths?
L637[21:11:00] <Z0idburg> %lua function foo(x, y, acc) table.insert(acc, x) if x < y then return foo(x+1, y, acc) else return acc end end foo(1, 10)
L638[21:11:00] <MichiBot> main:1: bad argument #1 to 'insert' (table expected, got nil)
L639[21:11:02] <Z0idburg> no it wont
L640[21:11:15] <Z0idburg> %lua function foo(x, y, acc) table.insert(acc, x) if x < y then return foo(x+1, y, acc) else return acc end end foo(1, 10, {})
L641[21:11:17] <Z0idburg> it's TCO
L642[21:11:31] <Z0idburg> somehow it doesn't recognize it
L643[21:12:31] <Zef> What the fuck
L644[21:12:38] <Z0idburg> ?
L645[21:13:05] <Zef> Dude I *swear* I remember trying to recursively call a function for my minesweeper game
L646[21:13:11] <Zef> But it just wouldn't work
L647[21:13:23] <CompanionCube> %tonk
L648[21:13:24] <MichiBot> Dagnabbit! CompanionCube! You beat Z0idburg's previous record of 24 minutes and 40 seconds! I hope you're happy!
L649[21:13:25] <MichiBot> CompanionCube's new record is 55 minutes and 59 seconds! 31 minutes and 18 seconds gained!
L650[21:14:11] <Z0idburg> %lua function foo(x, y, acc) table.insert(acc, x) if x < y then return foo(x+1, y, acc) else return acc end end return foo(1, 10, {})
L651[21:14:11] <MichiBot> table: 0x7f753406b2d0
L652[21:14:28] <Z0idburg> well it wprked...
L653[21:14:56] <Zef> What the hell
L654[21:15:05] <Zef> You sure this works in oc?
L655[21:15:18] <Z0idburg> there's a way to listify tables..
L656[21:15:19] <Z0idburg> yes it does
L657[21:15:30] <Z0idburg> that function I showed you tokenize() works in OC
L658[21:15:34] <Zef> Is it only because it's returning the function rather than just calling it?
L659[21:15:36] <Z0idburg> that's what tokenizes tty data
L660[21:16:08] <Zef> Because I had a recursive function to clear out empty space in my minesweeper program
L661[21:16:24] <Zef> But it kept saying the function was nil
L662[21:16:29] <Z0idburg> damn it whats the name of that function that converts a table into a plain list?
L663[21:16:37] <Z0idburg> it like unpacks it
L664[21:16:38] <Wattana Gaming> %lua
L665[21:16:42] <Wattana Gaming> damn.....
L666[21:17:00] <Zef> I was gonna say serialize but that might not be it
L667[21:17:06] <Z0idburg> Zef probably because you had the function inside of a table
L668[21:17:13] <Wattana Gaming> %lua a = " " while true do a = a..a end
L669[21:17:14] <Z0idburg> you can't do that without a forward declare
L670[21:17:27] <Zef> The function was not inside a table
L671[21:17:29] <Zef> I don't think
L672[21:17:48] <Z0idburg> local x = {}
L673[21:17:48] <Z0idburg> return x.foo() -- THIS WILL NOT WORK
L674[21:17:48] <Z0idburg> function x.foo()
L675[21:18:10] <Z0idburg> you instead would do something like
L676[21:18:31] <Zef> pastebin.com/LFifZDk
L677[21:18:31] <Zef> The last version of it I pastebined
L678[21:18:45] <Zef> It has a problem (I think x and y were switched)
L679[21:19:05] <Zef> But I basically removed the attempt at recursiveness
L680[21:19:21] <Z0idburg> local x = { foo = 0 }
L681[21:19:21] <Z0idburg> function x.foo()
L682[21:19:22] <Z0idburg> return x.foo()
L683[21:19:27] <Z0idburg> there's something I'm missing there
L684[21:19:29] <Z0idburg> but I forget
L685[21:19:45] <Zef> Oh the pastebin is gone
L686[21:19:48] <Zef> Lovely
L687[21:19:55] <Z0idburg> hah
L688[21:20:10] <Mimiru> ben_mkiv, still having issues if you're available
L689[21:20:20] <Z0idburg> recursive functions do work
L690[21:20:35] <Zef> I'll have to try it again then
L691[21:20:39] <Zef> Ha again
L692[21:20:53] <Z0idburg> like I said take a look at my OSes tty code:
L693[21:21:10] <Z0idburg> Code Block pastebined https://paste.pc-logix.com/oyojizefed
L694[21:21:19] <Mimiru> shit like this.. https://drive.pc-logix.com/index.php/s/xKHogMzBjyr4eNe
L695[21:22:03] <Z0idburg> It's a recursive function that turns stuff like "Hello\r\nWorld!" into "Hello", "\r", "\n", "World!"
L696[21:22:24] <Z0idburg> this way the gpu tty doesn't write a character at a time
L697[21:22:28] <Z0idburg> making it a lot faster
L698[21:23:04] <Zef> I'm really enjoying how long it's taking to load that image
L699[21:23:45] <Zef> Ha the webpage loaded but didn't bother loading the image
L700[21:23:54] <Mimiru> @Zef loaded pretty quickly for me?
L701[21:24:15] <Zef> I am on like 0.09 or so mbps
L702[21:24:24] <Mimiru> oh, right... that's you
L703[21:24:26] <Mimiru> lol
L704[21:24:27] <Z0idburg> Why's that
L705[21:24:37] <Zef> Comcast
L706[21:24:51] <Z0idburg> What are you running for Internet though
L707[21:25:06] <Zef> "High speed phone data"
L708[21:25:14] <Z0idburg> Heh
L709[21:25:35] <Z0idburg> Don't have any DSLAMs nearby?
L710[21:25:42] <Z0idburg> or DOCSIS available?
L711[21:26:10] <Zef> It's Comcast or Comcast.
L712[21:26:35] <Z0idburg> I'm pretty sure Comcast provides more than one type of Internet
L713[21:26:53] <Z0idburg> DOCSIS is one of them
L714[21:26:55] <Zef> They want $180 to turn our service back on
L715[21:27:04] <Zef> On top of the $100 we paid
L716[21:27:13] <Z0idburg> I heard this story once I think
L717[21:27:17] <Zef> Soo types of service isn't the problem
L718[21:27:21] <Zef> Yeah you probably have
L719[21:27:29] <Zef> Cause it's been a fucking month
L720[21:27:59] <Z0idburg> do you guys get anything other than Internet?
L721[21:28:07] <Zef> Television
L722[21:28:09] <Z0idburg> from them
L723[21:28:25] <Z0idburg> then I would ditch the television that's half the problem
L724[21:28:41] <Z0idburg> that's how cable companies screw you over
L725[21:29:03] <Zef> Well then you're gonna be charged more for internet
L726[21:29:07] <Z0idburg> bundle deals actually do not save you money
L727[21:29:15] <Z0idburg> you are correct
L728[21:29:21] <Z0idburg> but when Internet is the only thing you're paying for
L729[21:29:28] <Z0idburg> it's actually not that big of a deal
L730[21:29:43] <Z0idburg> ESPECIALLY when you can get high quality television service through the Internet for cheap
L731[21:29:53] <Zef> It's not my decision to make
L732[21:30:01] <Z0idburg> it's a serious american proba
L733[21:30:04] <Z0idburg> problem*
L734[21:30:10] <Zef> It's my parents and they want the television too
L735[21:30:27] <Z0idburg> people go for "deals" and 'bundles" because mathematically it works out cheaper but its really not
L736[21:30:29] <Zef> Ah yes the glories of America's free market
L737[21:30:50] <Zef> Well either way the price is jacked the fuck up
L738[21:30:53] <Z0idburg> Yes, I pay $60 a month for my Internet
L739[21:30:55] <Wattana Gaming> DirectX is really the only thing that make graphics on Linux shi_
L740[21:30:55] <Zef> Because you don't have a choice
L741[21:30:57] <Z0idburg> just for Internet
L742[21:31:03] <Zef> It's Comcast or Comcast
L743[21:31:08] <Zef> Or Comcast
L744[21:31:10] <Z0idburg> but it's better than paying $100 a month for Internet and TV
L745[21:31:18] ⇦ Quits: ben_mkiv (ben_mkiv!~ben_mkiv@i577BC4F0.versanet.de) (Ping timeout: 190 seconds)
L746[21:31:30] <Wattana Gaming> If OpenGL was as good as DirectX then Linux game would have looked better and run better
L747[21:31:42] <Z0idburg> especially when I can pay $10 a month for all the tv services I want on the Internet
L748[21:31:53] <Zef> My parents want it
L749[21:31:59] <Zef> It's not my decision to make
L750[21:32:30] <Z0idburg> That's fine, but it is a huge hell hole a lot of people fall into
L751[21:32:52] <Z0idburg> I see it myself because I work for a phone company and I get calls sometimes routed to me somehow of these people trying to get to customer service
L752[21:33:03] <Z0idburg> wrapped up into stupid bundle deals
L753[21:33:25] <Z0idburg> don't forget: Bundle deals are where they make their profits, so it's going to be profitable (for them)
L754[21:33:29] <Zef> Bundle deals are to destract you from the fact there is no competition
L755[21:33:44] <Zef> There is no other option
L756[21:34:01] <Zef> So they advertise and make it look like there might be competitors
L757[21:34:38] <Z0idburg> For your TV the compoetitors are the Internet services
L758[21:34:44] <Z0idburg> or, TV over the air
L759[21:34:45] <Zef> Offering "great deals" on top of their already inflated prices filling the CEOs pockets even more
L760[21:35:15] <Wattana Gaming> Code Block pastebined https://paste.pc-logix.com/ocibebeway
L761[21:35:28] <Z0idburg> what is that penguin doing
L762[21:35:30] <Wattana Gaming> holy cow I messed up it's head lol
L763[21:35:46] <Wattana Gaming> Code Block pastebined https://paste.pc-logix.com/uduhohozul [Edited]
L764[21:35:59] <Zef> %quote add Wattana holy cow I messed up it's head lol
L765[21:36:00] <MichiBot> Zef: Quote added at id: 191
L766[21:36:10] <Wattana Gaming> pls
L767[21:36:12] <Wattana Gaming> no
L768[21:36:18] <Z0idburg> LOL
L769[21:36:27] <Wattana Gaming> ***Wattana died from overthinking***
L770[21:36:30] <Zef> %quote 190
L771[21:36:30] <MichiBot> Zef: No quotes found for name '190'
L772[21:36:36] <Zef> Fuck
L773[21:36:41] <Zef> %quote #190
L774[21:36:41] <MichiBot> Quote #190: <TheFox> Zef, wank?
L775[21:36:47] <Z0idburg> %quote 191
L776[21:36:47] <MichiBot> Z0idburg: No quotes found for name '191'
L777[21:37:03] <Zef> That's literally the mistake I just made
L778[21:37:05] <Z0idburg> %quote Wattana
L779[21:37:05] <MichiBot> Quote #191: <Wattana> holy cow I messed up it's head lol
L780[21:37:15] <Z0idburg> %quote S3
L781[21:37:16] <MichiBot> Z0idburg: No quotes found for name 'S3'
L782[21:37:20] <Wattana Gaming> ***NOOOOOOOO***
L783[21:37:48] <Z0idburg> Wattana there are far worse things to worry about like getting yourself through school and college and paying bills
L784[21:38:03] <Z0idburg> a simple quote is never the end of the world
L785[21:38:16] <Zef> %s/quote/fap
L786[21:38:17] <MichiBot> <Z0idburg> a simple fap is never the end of the world
L787[21:38:27] <Z0idburg> That's not PG
L788[21:38:37] <Zef> Rip
L789[21:38:50] <Wattana Gaming> When did u say that lol
L790[21:39:04] <Z0idburg> I didn't he used substitution
L791[21:39:05] <Zef> Ah fuck
L792[21:39:27] <Zef> Reread the rules, sorry inari got to me
L793[21:39:48] <Z0idburg> You can say some pretty crazy shit here but.. there is a line...
L794[21:40:09] <Zef> Where that line is we will never know
L795[21:40:27] <Mimiru> ffs...
L796[21:40:27] <Wattana Gaming> Ay can someone create a Lua shell on top of my OCLinux kernel?
L797[21:40:47] <Z0idburg> Many of us are actually adults here, but we still want it to be a safe community that encourages people of most ages
L798[21:40:55] <Mimiru> If I remove the non deobf version it doesn't start, if I remove the deobf version, I can't dev against it
L799[21:40:57] <Zef> Most™
L800[21:41:11] <Zef> God damnit discord
L801[21:41:22] <Zef> Why do you insist on making that an emote
L802[21:41:33] <Zef> Especially one that blends in
L803[21:41:35] <Wattana Gaming> ™
L804[21:42:06] <Z0idburg> weird.
L805[21:42:24] <Z0idburg> back in the day of Minecraft modloader Mimiru
L806[21:42:35] <Z0idburg> I used to just build mods against obfuscated java
L807[21:42:39] <Z0idburg> because it just worked
L808[21:43:01] <Z0idburg> so many people tried to tell me it wouldnt
L809[21:43:51] <Wattana Gaming> bnmbmbwwwwwwqqqqqqqqawaq2aewsssdre4d4d4trf5f5fyt6gygiuiokokkkioolp0l0ll0l[p;-;[[][']='']
L810[21:44:04] <Wattana Gaming> oops
L811[21:44:11] <Mimiru> Ye... yeah!
L812[21:44:16] <Wattana Gaming> srry I was cleaning my keyboard
L813[21:44:36] <Wattana Gaming> *Jetpacks away*
L814[21:45:13] <Z0idburg> hmm
L815[21:45:30] <Z0idburg> so gtty is coming along
L816[21:45:34] <Z0idburg> I'm not really rushing it
L817[21:45:43] <Z0idburg> once its done you should check it out Wattana
L818[21:46:19] <Z0idburg> minified it fits in 494 bytes at the moment
L819[21:46:24] <Wattana Gaming> whats gtty?
L820[21:46:27] <Z0idburg> less than 1/8 of an EEPROM
L821[21:46:29] <Z0idburg> you forgot ?
L822[21:46:37] <Z0idburg> it's my ANSI tty library
L823[21:46:43] <Wattana Gaming> oh
L824[21:47:35] <Wattana Gaming> Im really intersted in using it as a loadable kernel module
L825[21:47:57] <Z0idburg> it'd work pretty well
L826[21:48:07] <Mimiru> And now I've fixed the duplicate mod error
L827[21:48:08] <Mimiru> java.lang.NoSuchFieldError: isBlockContainer
L828[21:48:08] <Mimiru> at zmaster587.libVulpes.block.multiblock.BlockHatch.<init>(BlockHatch.java:38)
L829[21:48:09] <Mimiru> yay
L830[21:48:10] <Mimiru> so fun
L831[21:48:12] <Z0idburg> it relies on no external libraries
L832[21:48:13] <Mimiru> fmfl.
L833[21:48:17] <Wattana Gaming> one more thing to implement: loading kernel modules
L834[21:48:18] <Z0idburg> and it also doesn't keep ANY state
L835[21:48:30] <Z0idburg> you are 100% responsible for holding onto its data
L836[21:48:38] <Z0idburg> which means that it's very sturdy
L837[21:48:47] <Z0idburg> at least it will be
L838[21:49:52] <Z0idburg> I am very careful of how I structure my Lua code
L839[21:50:13] <Z0idburg> first of all Wattana is that I never use variables outside functions EVER
L840[21:50:28] <Z0idburg> except the fact that functions are variables technically to te lua interpreter
L841[21:50:35] <Zef> I'm probably a good amateur
L842[21:50:56] <Zef> Cause I'm decent at making things work but I don't understand anything more advanced than events
L843[21:51:04] <Zef> Like I don't even know metatables
L844[21:51:18] <Z0idburg> metatables are good to know but you should avoid them
L845[21:51:44] <Zef> Not like I know how to use them in the first place
L846[21:51:45] <Z0idburg> \they are useful for setting up ties and traps
L847[21:51:46] <Zef> Lol
L848[21:52:02] <Z0idburg> well you should lern how to but just avoid them if you can
L849[21:52:10] <Zef> Then there's crazy stuff like gmatch that I don't get
L850[21:52:16] <Zef> If that's even a thing
L851[21:52:30] <Z0idburg> gmatch is just a match that returns an iterator
L852[21:52:42] <Z0idburg> you call the iterator repeatably to get the data out of it
L853[21:52:53] <Zef> Oh lol
L854[21:52:58] <Wattana Gaming> match and gmatch is the most complicated shit ever
L855[21:53:07] <Z0idburg> if you look at my tokenize function you'll see that I didn't use match or gmatch at all I instead used string.find()
L856[21:53:12] <Zef> Like that explanation I get more than any manual wood
L857[21:53:18] <Zef> Wood? Tf?
L858[21:53:51] <Z0idburg> match is not complicated
L859[21:53:54] <Z0idburg> its pattern matching
L860[21:54:00] <Zef> Well I don't understand I guess the "wildcards"
L861[21:54:23] <Z0idburg> because they're not wildcards like you think they are probably
L862[21:54:39] <Z0idburg> * is not a wildcard
L863[21:54:56] <Zef> I just called them that cause I don't know what to call them
L864[21:55:00] <Z0idburg> look, regex is pretty much the same
L865[21:55:10] <Z0idburg> they're operators of sorts
L866[21:55:30] <Z0idburg> don't worry about the minus one, but + and * and ? are important
L867[21:55:57] <Z0idburg> + means it has to match in order to succed, and can happen more than once
L868[21:56:04] <Z0idburg> match 1 or more times is its definition
L869[21:56:17] <Z0idburg> * can match or not match, but can also match more than once
L870[21:56:27] <Z0idburg> ? has a limit to once
L871[21:56:38] <Z0idburg> so for example imagine this
L872[21:56:52] <Wattana Gaming> does this apply to bash?
L873[21:57:04] <Z0idburg> %lua string.match("Hello 1234", "%d")
L874[21:57:04] <MichiBot> 1
L875[21:57:14] <Z0idburg> %d searches for digits from 1 - 9
L876[21:57:21] <Z0idburg> it can apply to bash
L877[21:57:28] <Z0idburg> however noticed how it only got 1
L878[21:57:31] <Zef> Oh that's interesting
L879[21:57:41] <Z0idburg> guess what happens if I change it to %d+
L880[21:57:51] <Z0idburg> it should print 1234
L881[21:57:54] <Zef> OH
L882[21:58:02] <Z0idburg> %lua string.match("Hello 1234", "%d+")
L883[21:58:03] <MichiBot> 1234
L884[21:58:09] <Z0idburg> or with ?
L885[21:58:18] <Z0idburg> %lua string.match("Hello 1234", "%d?")
L886[21:58:30] <Z0idburg> its going to be a poop
L887[21:58:32] <Z0idburg> on that one
L888[21:58:35] <Zef> Lol rip michi
L889[21:58:44] <Mimiru> %test
L890[21:58:44] <Z0idburg> you can ALSO do this:
L891[21:58:44] <MichiBot> Mimiru: Success
L892[21:58:47] <Mimiru> Bot's fine
L893[21:58:51] <Z0idburg> This should make much more sense:
L894[21:58:59] <Z0idburg> %lua string.match("Hello 1234", "[0-9]")
L895[21:59:00] <MichiBot> 1
L896[21:59:10] <Z0idburg> %lua string.match("Hello 1234", "[0-9]+")
L897[21:59:11] <MichiBot> 1234
L898[21:59:17] <Zef> Oh that's cool
L899[21:59:18] <Z0idburg> what about...
L900[21:59:30] <Z0idburg> %lua string.match("Hello 1234", "[a-zA-Z0-3]+")
L901[21:59:31] <MichiBot> Hello
L902[21:59:43] <Z0idburg> it didn't like that, and there's a reaosn why
L903[21:59:49] <Z0idburg> the space doesn't match ?
L904[21:59:56] <Zef> Ah lol
L905[22:00:07] <Zef> Let me try something
L906[22:00:43] <Z0idburg> %tonk
L907[22:00:43] <Zef> %lua string.match("test 123 more test", "[0-9]*")
L908[22:00:43] <MichiBot> I'm sorry Z0idburg, you were not able to beat CompanionCube's record of 55 minutes and 59 seconds this time.
L909[22:00:44] <MichiBot> 47 minutes and 19 seconds were wasted! Missed by 8 minutes and 39 seconds!
L910[22:00:47] <Z0idburg> SHIT
L911[22:00:50] <Mimiru> gg.
L912[22:00:59] <Z0idburg> lol
L913[22:01:00] <Zef> %lua string.match("test 123 more test", "[0-9]*")
L914[22:01:17] <Zef> Lol
L915[22:01:21] <Zef> Doesn't like me
L916[22:01:23] <Z0idburg> lets see
L917[22:01:33] <Z0idburg> hmmm
L918[22:01:39] <Zef> I want to see if it works how I think
L919[22:01:52] <Zef> I'd expect 123 more test from that
L920[22:02:04] <Z0idburg> %lua string.match("test 123 more test", ".*([0-9]*)")
L921[22:02:13] <Z0idburg> oops
L922[22:02:22] <Z0idburg> %lua string.match("test 123 more test", ".*([0-9])")
L923[22:02:22] <MichiBot> 3
L924[22:02:31] <Zef> Uh
L925[22:02:34] <Z0idburg> %lua string.match("test 123 more test", ".*([0-9]*)")
L926[22:02:41] <Z0idburg> wth discord
L927[22:02:46] <Z0idburg> its italisizing my shit
L928[22:03:02] <Zef> That shouldn't matter
L929[22:03:06] <Z0idburg> well
L930[22:03:11] <Mimiru> https://drive.pc-logix.com/index.php/s/6ns5c9SMWtsLwxm
L931[22:03:11] <Zef> Should still transfer to irc
L932[22:03:13] <Z0idburg> %lua string.match("test 123 more test", ".+([0-9]*)")
L933[22:03:43] <Z0idburg> Mimiru I ambreaking your bot
L934[22:03:52] <Mimiru> I really doubt that.
L935[22:03:57] <Z0idburg> :>
L936[22:03:58] <Mimiru> my bet is on you breaking lua.
L937[22:04:03] <Zef> Wait I see the problem I think
L938[22:04:04] <Z0idburg> ffs
L939[22:04:10] <Zef> %lua string.match("test 123 more test", "+([0-9]*)")
L940[22:04:11] <MichiBot> nil
L941[22:04:20] <Zef> You had a period
L942[22:04:27] <Zef> Unless that was intended
L943[22:04:29] <Z0idburg> the period is on purpose
L944[22:04:32] <Zef> Oh
L945[22:04:39] <Z0idburg> so I didn't tell you about the period yet!
L946[22:04:50] <Zef> Well it broke lua!
L947[22:04:52] <Zef> Lol
L948[22:05:27] <Z0idburg> maybe I dont want the perio lets try this instead
L949[22:05:27] <Mimiru> https://www.lua.org/cgi-bin/demo
L950[22:05:31] <Mimiru> go, have fun there.
L951[22:06:02] <Z0idburg> %lua string.match("test 123 more test", "[ -~]+([0-9]*)")
L952[22:06:11] <Z0idburg> why you no do
L953[22:06:23] <Z0idburg> I
L954[22:06:23] <Z0idburg> %lua string.match("test 123 more test", "[ -~]+([0-9]+)")
L955[22:06:23] <MichiBot> 3
L956[22:06:27] <Z0idburg> ok.
L957[22:06:58] <Zef> Lol
L958[22:07:01] <Z0idburg> [ -~] is very special
L959[22:07:20] <Z0idburg> [ -~] means match anything from space to ~
L960[22:07:26] <Z0idburg> which is EVERY printable ASCII character
L961[22:07:27] <Z0idburg> :
L962[22:07:28] <Z0idburg> ?
L963[22:07:34] <Zef> Lol
L964[22:07:34] <Z0idburg> includings periods
L965[22:07:46] <Z0idburg> oh yeah ^ is not
L966[22:07:56] <Z0idburg> so [^0-9] means not 0-9
L967[22:08:10] <Zef> Interesting
L968[22:08:15] <Z0idburg> %a means alphanumeric, a-z, A-Z, and 0-9
L969[22:08:21] <Z0idburg> %c means control character
L970[22:08:24] <Z0idburg> I use it in tokenize()
L971[22:08:27] <Z0idburg> in that code I paste
L972[22:08:30] <Z0idburg> d
L973[22:08:41] <Zef> What does control character do?
L974[22:08:55] <Z0idburg> it's the first 32 codes in the ascii table
L975[22:09:01] <Zef> OHH
L976[22:09:03] <Z0idburg> like escape, backspace, enter
L977[22:09:04] <Zef> Alright
L978[22:09:05] <Z0idburg> etc
L979[22:09:17] <Z0idburg> tab
L980[22:09:31] <Z0idburg> delete is not a control code
L981[22:09:38] <Z0idburg> that's actually 127
L982[22:09:42] <Zef> Oh that's weird
L983[22:09:45] <Z0idburg> yep
L984[22:09:57] <Z0idburg> the tilde ~ is rigt before delete
L985[22:10:05] <Z0idburg> that's why [ -~] is all printables ?
L986[22:10:12] <Z0idburg> codes 32 - 126
L987[22:10:24] <Zef> Neat
L988[22:10:31] <Z0idburg> you can also probably do [\32-\126] to do the same thing
L989[22:11:09] <Zef> Thanks for explaining this
L990[22:11:13] <Z0idburg> yeah
L991[22:11:35] <Z0idburg> I will explain a bit of this code I pasted earlier:
L992[22:11:35] <Z0idburg> Code Block pastebined https://paste.pc-logix.com/anomuralex
L993[22:11:38] <Z0idburg> the second line
L994[22:11:45] <Z0idburg> ` local ctrl_pos = buf:find('%c')`
L995[22:12:21] <Z0idburg> find will give you the start and stop location in a string as numbers it finds that pattern.
L996[22:12:35] <Z0idburg> in this case, it returns nil if it doesn't find a control character
L997[22:12:42] <Z0idburg> or the location of it in the string if it does
L998[22:12:47] <Zef> Ah
L999[22:13:21] <Zef> It's recursively cutting down the string until there's no control characters left
L1000[22:13:25] <Z0idburg> This recursive function then knows that the first part of the string, unless the control characteer is at the beginning can just be printed out
L1001[22:13:32] <Z0idburg> yes.
L1002[22:13:40] <Z0idburg> and returning the plaintext strings in between
L1003[22:13:48] <Z0idburg> it builds a table
L1004[22:14:03] <Zef> Everything I've done has surrounded tables lol
L1005[22:14:07] <Z0idburg> like {"Hello, ", "\n", "World!"}
L1006[22:14:20] <Zef> I don't remember if I've shown it but I made an image drawing program
L1007[22:14:27] <Zef> It saved the images as tables
L1008[22:14:29] <Z0idburg> then that is passed to the terminal printer in another function
L1009[22:14:54] <Z0idburg> it will check to make sure there's enough space on the same line to print hello, if not, it will print what it can
L1010[22:14:57] <Z0idburg> by substrings
L1011[22:15:02] <Z0idburg> and print the remainer
L1012[22:15:17] <Z0idburg> when it gets \n, it will go intro control mode, run the code that handles \n
L1013[22:15:28] <Zef> I remember when I first found out about oc and was like I'm gonna make an os
L1014[22:15:33] <Z0idburg> then back into printable mode and prints World
L1015[22:15:38] <Zef> Then realized it's really damn complicated
L1016[22:16:19] <Z0idburg> It's not as important to know the ins and outs of the language as much as it is important to understand the concepts of development practices
L1017[22:16:30] <Z0idburg> you will find your style and your solutions to your problems
L1018[22:16:47] <Zef> It's mainly that I expect everything I'm used to to be there
L1019[22:16:47] <Z0idburg> the biggest mistake is learning something and saying "I want to build a barn"
L1020[22:17:10] <Z0idburg> You cam't just build a barn
L1021[22:17:17] <Zef> I actually managed making a graphical "shell" (barely) for oc
L1022[22:17:19] <Z0idburg> you need to build components that aren't ctritical
L1023[22:17:26] <Z0idburg> that way you can build critical components later on
L1024[22:17:31] <Z0idburg> when you are more skilled
L1025[22:17:52] <Zef> I've actually done Lua for like 4 years now lol
L1026[22:18:00] <Z0idburg> right
L1027[22:18:04] <Z0idburg> but if you want to make an OS
L1028[22:18:10] <Z0idburg> you have a lot of things to think about
L1029[22:18:18] <Zef> Yeaah
L1030[22:18:18] <Z0idburg> if you need multi filesystem support or any filesystem support
L1031[22:18:24] <Z0idburg> how will you handle or will you handle IO
L1032[22:18:32] <Z0idburg> how will you handle errors, etc
L1033[22:18:38] <Zef> I didn't say I'm going to lol
L1034[22:18:44] <Z0idburg> right
L1035[22:18:47] <Z0idburg> it's just an example
L1036[22:18:51] <Zef> Just said I originally wanted to and realized better
L1037[22:19:17] <Z0idburg> my OS actually lacks a lot of things a general purpose OS has because I found a way that I can
L1038[22:19:35] <Z0idburg> for example, my OS doesn't do much when a process crashes
L1039[22:19:42] <Z0idburg> it sort of ignores it and just cleans it up
L1040[22:20:21] <Z0idburg> I feel it isn't the job of my OS to look after the wellbeing of its own processes
L1041[22:20:40] <Z0idburg> I on't regulate IO very much, kind of like OpenOS
L1042[22:21:04] <Z0idburg> I think raw access to components is a blessing and additional abstractions are useful as an optional feature
L1043[22:21:22] <Z0idburg> what my OS does do is deliver IO
L1044[22:21:36] <Zef> Lol
L1045[22:21:39] <Z0idburg> erll, input*
L1046[22:21:48] <Z0idburg> it routes events for you
L1047[22:22:39] <Zef> Yeah I couldn't really figure out events without the api doing it for me
L1048[22:22:41] <Z0idburg> My OS kernel doesn't have support for filesystems, networking, etc.
L1049[22:22:50] <Z0idburg> it doesn't even have built in gpu support
L1050[22:23:13] <Z0idburg> instead, all of this is provided by programs that come with it.
L1051[22:23:32] <Z0idburg> if you don't want half of these features don't load them
L1052[22:23:35] <Zef> I just realized something
L1053[22:23:39] <Z0idburg> ?
L1054[22:23:50] <Zef> Ocdevices has an external card block
L1055[22:24:17] <Zef> Theoretically you could have one computer control like 30 screens by that unless I'm missing something
L1056[22:24:37] <Zef> And those screens could be flat and transparent over glass
L1057[22:26:46] <Z0idburg> I wish GPUs had built in framebuffer paging
L1058[22:27:01] <Z0idburg> so you could draw to the screen when it was not active and flip between pages
L1059[22:27:07] <Z0idburg> HOWEVER
L1060[22:27:16] <Z0idburg> my gtty library can be used to do that
L1061[22:28:59] <Z0idburg> you can do some of it
L1062[22:29:11] <Z0idburg> you can store data outside of the screen range
L1063[22:29:11] <Z0idburg> ?
L1064[22:29:27] <Z0idburg> which is useful because if you did a game in OC you could store sprites in it
L1065[22:29:29] <Z0idburg> even animated ones
L1066[22:29:49] <Z0idburg> and just copy them into gpu visible memory at will
L1067[22:30:08] <Zef> Is there a gpu copy command?
L1068[22:30:11] <Zef> I can't really
L1069[22:30:13] <Z0idburg> yes
L1070[22:30:16] <Zef> Remember*
L1071[22:30:21] <Zef> ~w gpu
L1072[22:30:21] <ocdoc> http://ocd.cil.li/component:gpu
L1073[22:30:22] <Z0idburg> there is
L1074[22:30:44] <Z0idburg> I just wish that get() would have a range instead of per chacter
L1075[22:30:49] <Zef> See if that'll load for me
L1076[22:30:51] <Z0idburg> per character is stupid for get()
L1077[22:31:35] <Zef> Does term.clear only clear the visable display
L1078[22:31:45] <Zef> If you know that
L1079[22:32:00] <Z0idburg> no idea
L1080[22:32:19] <Z0idburg> I don't use OpenOS much
L1081[22:32:22] <Zef> I don't even know how it'd work
L1082[22:32:36] <Zef> Then again I'd do it with 2 for loops
L1083[22:32:37] <Z0idburg> I generally just write my own programs without any OS
L1084[22:32:38] <Zef> Lol
L1085[22:33:56] <Zef> Wait there's a fill command too tf
L1086[22:34:07] <Zef> How do I not remember that
L1087[22:39:47] ⇦ Quits: Thutmose (Thutmose!~Patrick@host-69-59-79-181.nctv.com) (Quit: Leaving.)
L1088[22:40:13] ⇨ Joins: PyroCat4 (PyroCat4!webchat@c-73-50-26-146.hsd1.il.comcast.net)
L1089[22:40:39] ⇨ Joins: PyroCat (PyroCat!~pyrocat@c-73-50-26-146.hsd1.il.comcast.net)
L1090[22:40:40] <Z0idburg> welpo
L1091[22:40:47] <Z0idburg> its almost midnight and I'm working all week
L1092[22:41:02] <PyroCat> oof
L1093[22:41:16] ⇦ Quits: PyroCat4 (PyroCat4!webchat@c-73-50-26-146.hsd1.il.comcast.net) (Client Quit)
L1094[22:51:03] <PyroCat> https://imgur.com/a/SkpCs42
L1095[22:51:53] ⇨ Joins: ohhimark (ohhimark!webchat@c-73-50-26-146.hsd1.il.comcast.net)
L1096[22:52:16] <PyroCat> https://imgur.com/a/SkpCs42
L1097[22:52:26] <ohhimark> k it works
L1098[22:53:08] ⇦ Quits: PyroCat (PyroCat!~pyrocat@c-73-50-26-146.hsd1.il.comcast.net) (Remote host closed the connection)
L1099[22:54:16] ⇦ Quits: ohhimark (ohhimark!webchat@c-73-50-26-146.hsd1.il.comcast.net) (Client Quit)
L1100[23:10:43] ⇦ Quits: Cervator (Cervator!~Thunderbi@2601:4c1:4000:362c:3552:69f2:d9ed:6a3b) (Quit: Cervator)
L1101[23:14:32] ⇦ Quits: dustinm` (dustinm`!~dustinm@68.ip-149-56-14.net) (Quit: Leaving)
L1102[23:16:03] ⇨ Joins: dustinm` (dustinm`!~dustinm@68.ip-149-56-14.net)
L1103[23:23:48] <Mimiru> %tonk
L1104[23:23:49] <MichiBot> Gadsbudlikins! Mimiru! You beat CompanionCube's previous record of 55 minutes and 59 seconds! I hope you're happy!
L1105[23:23:50] <MichiBot> Mimiru's new record is 1 hour, 23 minutes and 5 seconds! 27 minutes and 6 seconds gained!
L1106[23:23:58] <Mimiru> I am quiet happy, yes
<<Prev Next>> Scroll to Top