<<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?
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
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
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
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 ?
L72[03:07:06] <Izaya> no threads
L73[03:07:08] <Izaya> ignore threads
L74[03:07:29] <Izaya> ~w event
L76[03:07:32] <Izaya> read that
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?
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?
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*
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
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
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
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
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
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)
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
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>
?
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!
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)
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
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
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
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:
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
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
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
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
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:
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
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)
L1095[22:51:53]
⇨ Joins: ohhimark
(ohhimark!webchat@c-73-50-26-146.hsd1.il.comcast.net)
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