<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:02:21] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:4151:ef5:c523:9f4e) (Ping timeout: 183 seconds)
L2[00:04:41] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Remote host closed the connection)
L3[00:04:44] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:9409:22a2:720a:4372)
L4[00:05:14] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L5[00:08:31] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Ping timeout: 183 seconds)
L6[00:09:02] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:9409:22a2:720a:4372) (Ping timeout: 183 seconds)
L7[00:14:33] <Izaya> new in PsychOS: fastty supports unicode properly now
L8[00:14:38] <Izaya> hopefully
L9[00:25:14] <Izaya> also the cursor doesn't jump all over the screen
L10[00:25:17] <Izaya> so that's nice
L11[01:07:30] ⇦ Quits: Kileahh_ (~Kileahh@219.243.95.250) (Quit: Leaving)
L12[01:50:17] <Skye> Izaya, Ooo
L13[02:00:47] <Izaya> in other news, I redid https://oc.shadowkat.net
L14[02:03:14] <Izaya> now with 100% more solarized and mobile friendlyness
L15[02:34:37] <Saphire> Izaya: flexbox?
L16[02:34:54] <Izaya> don't think so?
L17[02:48:18] <Saphire> "display: flex"?
L18[04:55:16] ⇨ Joins: Vexatos (~Vexatos@p200300556E09FE73D5BF50430C626C15.dip0.t-ipconnect.de)
L19[04:55:17] zsh sets mode: +v on Vexatos
L20[06:12:58] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L21[06:15:13] ⇨ Joins: LuMistry (uid146685@id-146685.brockwell.irccloud.com)
L22[06:21:05] * AmandaC pounces on Saphire's tail, too full of energy to get back to sleep
L23[06:21:37] <AmandaC> Today will be fun, 6.30 of sleep
L24[06:22:18] * Saphire squeaks and flicks tail up, in a way to not launch AmandaC anywhere
L25[06:28:36] <AmandaC> %tell Michiyo It was the Biometric Reader
L26[06:28:36] <MichiBot> AmandaC: Michiyo will be notified of this message when next seen.
L27[06:32:03] <MGR> %juggle 6
L28[06:32:03] * MichiBot juggles with a quantum hug, freelance work, maple syrup, a foxgirl charm, Pillows & "Carét-Carét", the magical invocation
L29[06:32:04] * MichiBot drops freelance work which takes 1 damage, freelance work phases out of the dimension.
L30[06:32:05] * MichiBot drops maple syrup which takes 4 damage
L31[06:32:06] * MichiBot drops a foxgirl charm which takes 3 damage
L32[06:32:07] * MichiBot drops Pillows which takes 4 damage
L33[06:32:08] <MichiBot> I didn't do it!
L34[06:37:03] <AmandaC> good job, @MGR, now Inari's out of a job!
L35[06:37:10] <MGR> What?
L36[06:37:54] <AmandaC> "freelance work phased out of the dimension"
L37[06:38:06] <AmandaC> %tell Michiyo It's not just JEI: https://amandac.keybase.pub/screenshots/Screenshot%20from%202017-10-12%2007-40-37.png
L38[06:38:06] <MichiBot> AmandaC: Michiyo will be notified of this message when next seen.
L39[06:39:24] ⇨ Joins: Inari (~Pinkishu@p4FC1EFD6.dip0.t-ipconnect.de)
L40[06:40:02] <MGR> Oh, well, I don't know what she does for work
L41[06:40:21] <MGR> Sorry Inari
L42[06:40:30] <Inari> ?
L43[06:40:43] <MGR> I apparently removed your job
L44[06:40:50] <Inari> :o
L45[06:41:07] <AmandaC> Inari: @MGR juggled, causing: 07:36:08 — +MichiBot drops freelance work which takes 1 damage, freelance work phases out of the dimension.
L46[06:41:07] <MichiBot> Hello AmandaC
L47[06:41:15] <Inari> Heh :P
L48[06:42:55] <MGR> ┬─┬ ノ( ゜-゜ノ)
L49[06:43:07] <MGR> At least you still have a table to sit on ?
L50[06:43:37] <AmandaC> W-why would you ask a girl to sit on a table? Pervert!
L51[06:44:10] <MGR> What?
L52[06:44:31] <MGR> Also, I can't magic a chair into existence, so that's the closest thing I can do
L53[06:45:09] <AmandaC> Why can't you magic a chair into existance? I did, when I ran humans.vbs
L54[06:45:37] <Mimiru> AmandaC, does it work if you put it in a crafting grid though?
L55[06:45:42] <AmandaC> Mimiru: checking
L56[06:46:38] <MGR> AmandaC, because that isn't a Discord command, and my daughter isn't ready yet
L57[06:47:13] <AmandaC> Mimiru: nope. Even crafted a vanilla bench, no luck
L58[06:47:30] <AmandaC> Mimiru: could the spurrious verb definition of `'N', numpad` effect it?
L59[06:47:30] <Mimiru> wtf... the recipe is here..
L60[06:47:39] <AmandaC> ( since it's not used )
L61[06:47:43] <Mimiru> I wouldn't think so.. but who knows.
L62[06:47:57] <Mimiru> I'm waiting on my IDE to start
L63[06:48:01] <AmandaC> sure. :)
L64[06:49:05] <Inari> AmandaC: Rubbing into a table corner is much more pervers ethan sitting on a table!
L65[06:49:34] <AmandaC> Inari: but if you sit on a table with no pantsu, then your in full view of whoever's sitting at the table!
L66[06:49:53] <Mimiru> and now I'm waiting on setupDecompWorkspace.
L67[06:49:55] <MGR> .....
L68[06:50:12] <MGR> None of those things were considered when I made my statement
L69[06:50:20] <AmandaC> [record scratch, freeze frame] You may be wondeinr how I got to this point...
L70[06:51:01] <Inari> AmandaC: Thats petty lewd, yeah
L71[06:53:35] <Corded> * <MGR> sighs
L72[06:53:43] <Mimiru> The project description file (.project) for 'OpenSecurity' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
L73[06:53:43] <Mimiru> ._.
L74[06:55:21] <AmandaC> Mimiru: does OS have docs anywhere?
L75[06:55:42] <Mimiru> sorta outdated docs on the wiki
L76[06:55:46] <Mimiru> on github
L77[06:56:05] <LuMistry> Greetings
L78[06:58:15] <AmandaC> Mimiru: the thing for stone might be wrong, since the biometrics reader is all that uses it
L79[07:03:21] <MGR> she's attempting to send data over the internet to a Secure web portal using reversible encryption, all without internet. --- Quote 1/3
L80[07:03:30] <MGR> Let me use the Internet without connecting to it!
L81[07:04:15] <AmandaC> Mimiru: it is, it's `minecraft:stone` not `blockStone`, at least according to the inventory controller
L82[07:12:36] ⇨ Joins: DeGariless (~DeGariles@2600-6c52-6f00-01c8-7448-5485-e736-dcb9.dhcp6.chtrptr.net)
L83[07:30:35] ⇨ Joins: pizza (webchat@115.41.227.114)
L84[07:30:39] <pizza> hello
L85[07:30:56] <pizza> I have a problem about thread api
L86[07:31:04] <pizza> see this code:
L87[07:31:04] *** pizza is now known as Guest46879
L88[07:31:10] <Guest46879> function pullmessage() while true do local type,_,_,_,_,message = event.pull(modem_message) if type == nil then print("debug:no message recieved") else if not type == "key_up" then print("recieved message:" .. message) send("succesfully recieved your message:" .. message) lever = message if lever == "xzy" then send(posi[x] , posi[z] , posi[y]) end end end end end thread.create(pullmessage
L89[07:31:17] <Guest46879> oh.
L90[07:31:34] <Mimiru> pastebin is your friend.. lol
L91[07:31:37] <MGR> Please use pastebin or Gist to post code
L92[07:31:50] ⇨ Joins: aquilon74 (webchat@90.114.114.77)
L93[07:31:50] <MGR> Because that format isn't quite readable ?
L94[07:32:00] <aquilon74> Hello
L95[07:32:03] <Guest46879> definetely.
L96[07:33:01] <MGR> Hello aquilon74
L97[07:33:07] <aquilon74> does someone uses opencomputers with enderstorage ? i wanna know is there is a way to allow a computer to interacts with private chest and tank.
L98[07:34:04] <MGR> Are you talking about moving items around?
L99[07:34:08] <Guest46879> https://pastebin.com/J0sgBpEX
L100[07:34:17] <Guest46879> ok.this.
L101[07:34:23] <aquilon74> talking about changing frequency
L102[07:34:28] <MGR> Ah
L103[07:34:34] <Guest46879> pull blocks
L104[07:34:37] <Guest46879> main code
L105[07:34:53] <MGR> Have you tried placing an adapter next to the chest and then checking your components list aquilon74?
L106[07:34:58] <AmandaC> Guest46879: what are the symptoms?
L107[07:35:06] <MGR> You can type components in the console and it should list everything
L108[07:36:38] <aquilon74> it works, the problem is that if the enderchest (from enderstorage) is private (with a diamond lock), it return a mstring saying " can't change frequency of a private enderchest" or something like that
L109[07:37:35] <MGR> Ah
L110[07:37:37] <aquilon74> i looked in the config for an optons and i didn't find one
L111[07:37:39] <AmandaC> aquilon74: pretty sure the whole point of the diamond lock is to prevent people other than the owner from changing it. Allowing OC or similar to chang it would negate that purpose, since OC has no way to verify who issued the comand that ultimately went to the call
L112[07:37:45] <MGR> Well, then I don't think you can work on a private chest then
L113[07:37:59] <MGR> Then, I used too many thens then
L114[07:38:29] <MGR> I agree with what AmandaC said
L115[07:38:59] <aquilon74> uhh, so i have to use CC then
L116[07:39:01] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Remote host closed the connection)
L117[07:39:10] <AmandaC> if CC allows it, sure.
L118[07:39:17] <Guest46879> that pastebin link represents a part of my code. what I've intended is to make event.pull() to not block main code. but it blocks code.. after running program, screen freezes. and ctl+alt+c yields tailcalls line 3.
L119[07:39:17] ⇨ Joins: Turtle (~SentientT@ip5657cbb2.direct-adsl.nl)
L120[07:39:55] <aquilon74> too bad there isn't a option in config file to change this behaviour
L121[07:40:13] <AmandaC> Guest46879: two things. `thread.create(pullmessage)` instead of `thread.create(pullmessage())` and you probabaly want `event.pull("modem_message")`
L122[07:40:25] <MGR> aquilon74, is there a reason you have to use a private chest?
L123[07:40:28] <AmandaC> ( instead of `event.pull(mode_message)`
L124[07:41:07] <aquilon74> yes i transfer items through dimensions and i don't want people to scan every public frequnecies to steal items
L125[07:41:37] <MGR> That makes sense
L126[07:41:51] <aquilon74> and i also made a storage system with private enderchests frequencies with CC and i would like to make one with OC
L127[07:42:12] <MGR> Hmmm
L128[07:46:40] <aquilon74> is it allowed to copy the mod sources to make modifications ?
L129[07:46:52] <MGR> For OpenComputers? yes
L130[07:47:17] <aquilon74> cool, i found the place where it cheks if the enderchest have an owner
L131[07:47:49] <MGR> I assume you will remove that?
L132[07:47:57] <aquilon74> yes
L133[07:48:45] <MGR> If you distribute a program that involves that modification, you should make it very clear you have to modify the source
L134[07:49:50] <aquilon74> i won't distribute it, but yes you're right
L135[07:50:34] <MGR> ?
L136[07:50:47] <aquilon74> the problem is i never learnt java nor scala, i don't know hw to compile sources
L137[07:51:21] <MGR> I believe you do some magic with gradle and an IDE
L138[07:51:40] <MGR> Compiling an MC mod is a little different from compiling a regular Java program
L139[07:52:06] <MGR> I started making a mod once, so I remember just enough to know that there's some difference
L140[07:56:20] <Guest46879> thanks: it works now. i can pull message without blocking main program.
L141[07:58:33] <Guest46879> but why this error occured? because I argumented wrongly: thread.create(pullmessage()) , event pulling function would not started in the first place.
L142[08:00:32] <Mimiru> when you include the () it calls it instantly, instead of passing the function name to thread.create
L143[08:01:20] <Guest46879> ah! its argument!
L144[08:01:37] <Guest46879> I understanded.
L145[08:01:44] <Mimiru> AmandaC, new 1.7 and 1.10 builds of OpenSec have been pending on Curse for a bit now
L146[08:01:57] <Guest46879> thanks!
L147[08:02:06] <Mimiru> Or.. no they got approved lol
L148[08:02:31] <MGR> Guest46879, what's your program do?
L149[08:03:46] <Mimiru> ugh I don't WANNA GO..
L150[08:03:52] <Mimiru> Jury Duty crap today
L151[08:04:21] <Mimiru> someone go for me.
L152[08:04:22] <MGR> Are you getting picked, or is this actual trial start?
L153[08:04:38] <Saphire> "
L154[08:04:38] <Guest46879> making mod like this is very time demanding. how much free time do you have?
L155[08:04:40] <Saphire> We’re experiencing some problems accessing your Autodesk account.
L156[08:04:45] <Saphire> OF COURSE, YOU DIDN'T CREATE IT :V
L157[08:04:48] <Mimiru> I'm in a jury group, this is orientation for a future trial
L158[08:04:57] <Saphire> FFs, I can't register of the dark autodesk site!
L159[08:05:06] <MGR> Mimiru, ah, that's unfortunate
L160[08:05:25] <MGR> Guest46879, the original mod dev now has near 0 unfortunately, but others have taken over
L161[08:05:51] <MGR> The mod framework itself hasn't changed too too much as of late, (I think), mostly just OS changes, which you can thank payonel for
L162[08:06:39] <Guest46879> average korean would think this program deserve to paid
L163[08:07:03] <MGR> Mods cannot be sold for money, according to Mojang EULA
L164[08:07:52] <Guest46879> in korea, common white -color works 10~12 hour a day (almost)without weekend and can't dare make program like this without paid...
L165[08:08:48] <MGR> What?
L166[08:08:48] <Guest46879> so we envy you because you have 'life'
L167[08:08:56] <Guest46879> yeah.
L168[08:09:31] <MGR> Okay
L169[08:09:48] <Saphire> Huh?
L170[08:09:58] <Mimiru> %tell AmandaC new OpenSec build is up on curse with fixed recipe
L171[08:09:58] <MichiBot> Mimiru: AmandaC will be notified of this message when next seen.
L172[08:10:20] <Guest46879> common white colors earn about 18000 dollor a year for working 2200 hours a
L173[08:10:25] <AmandaC> Mimiru: yep, already downloaded, nice. :3
L174[08:10:33] <Mimiru> Ahh, kk
L175[08:11:57] <Mimiru> bleh.. off I go
L176[08:15:19] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L177[08:17:52] ⇨ Joins: Thutmose (~Patrick@172-10-186-129.lightspeed.gnvlsc.sbcglobal.net)
L178[08:28:43] ⇨ Joins: DaMachinator- (webchat@71.46.246.100)
L179[08:31:50] ⇦ Quits: aquilon74 (webchat@90.114.114.77) (Ping timeout: 180 seconds)
L180[08:32:54] <DaMachinator-> it seems like a RasPi could host a MediaWiki site fairly easily
L181[08:39:02] <Temia> Caching for a decently-sized site would quickly become painful though
L182[08:39:02] <S3> DaMachinator-: I don't understand why modern software just sucks so bad. Of course it can. I've seen wiki's being powered by a commodore 64
L183[08:39:09] <S3> they worked just fine
L184[08:39:36] <Saphire> S3: because... uh...
L185[08:39:39] <Saphire> Uh
L186[08:39:47] <Saphire> http://blog.qt.io/blog/2017/10/11/qt-3d-studio-source-code-pre-release-snapshots-available/ o..o
L187[08:40:41] <S3> I reallty dislike QT
L188[08:40:53] <S3> ITS SO HOOGE!
L189[08:43:39] <AmandaC> %choose watch or listen or play
L190[08:43:40] <MichiBot> AmandaC: watch
L191[08:43:59] <AmandaC> %choose beep boop or try and find something else
L192[08:43:59] <MichiBot> AmandaC: beep boop
L193[08:45:55] <DaMachinator-> Temia: I'm not anticipating it being much bigger than the Factorio wiki
L194[08:46:01] <Temia> Ahh
L195[08:46:06] <DaMachinator-> but with much less users
L196[08:46:57] <DaMachinator-> It also probably won't happen for quite some time as there is quite a bit of stuff I would need to do including registering a domain etc.
L197[08:49:38] <S3> %choose a + b or b + a
L198[08:49:39] <MichiBot> S3: a + b
L199[08:50:31] <DaMachinator-> a + b and b + a are equivalent, unless finding "a" will change the value of "b" or vice versa"
L200[08:52:24] <S3> DaMachinator-: 1 -3 + . 4 ok
L201[08:52:24] <S3> -1 1 + . -2 ok
L202[08:52:27] <S3> DaMachinator-: apparently not
L203[08:52:55] <MGR> "'well, the light tap didnt fix it, so i put it into the hydraulic press.' '... and why is there a hydraulic press in an accounting office?'" --- Quote 2/3
L204[08:53:25] <S3> MGR we have a bunch of presses in the place I work. One of them is over 1 million tons of pressure.
L205[08:53:30] <S3> they're the size of a building
L206[08:54:01] <S3> er, no I think it's over 1 million pounds per square inch sorry
L207[08:54:06] <S3> I'd have to ask the lab guy
L208[08:54:15] <S3> not tons
L209[09:01:40] <MGR> S3, are those presses in the *accounting office*?
L210[09:01:55] <S3> no they're in a lab
L211[09:01:58] <S3> dude
L212[09:02:05] <S3> if they were in teh office you would be dead
L213[09:02:07] <S3> know why?
L214[09:02:26] <S3> we bend steel ibeams that weigh thousands of pounds until they snap and explode
L215[09:02:42] <MGR> Yeah, but the point of my quote was the humor in having such a press in an accounting office
L216[09:02:46] <S3> these are ibemas that hold their strength and don't bend permanently
L217[09:02:58] <S3> meh
L218[09:03:03] <MGR> You ruined the joke ?
L219[09:03:04] <S3> maybe it's so that they can press envelopes
L220[09:04:57] ⇨ Joins: SubThread (~SubThread@185-157-160-12.pool.ovpn.com)
L221[09:05:32] <MGR> I feel like that is excessive, but ok
L222[09:05:56] <S3> have you ever seen how much paper these things can generate?
L223[09:06:50] <Inari> Why are some APIs such a pain to work with ;-;
L224[09:07:00] <MGR> Probably a lot of paper
L225[09:07:01] <S3> Inari: Oh! did you see my rant yesterday?
L226[09:07:05] <S3> this is totally on topic
L227[09:07:06] <Inari> Dunno
L228[09:07:21] <S3> Inari: I have come to this realization that APIs are the wrong way to do it
L229[09:07:30] <S3> at least in the sense that we use and build them
L230[09:07:55] <Inari> "Hey, give me the info on this contract id, I wanna know the ExternalId to use for stuff" - "Here!"
L231[09:07:57] <S3> so like there's this guy a long time ago that made this claim at some presentation and I was like WTF is this guy smoking
L232[09:08:23] <S3> but I started realizing after all this time he was absolutely right
L233[09:08:25] <Inari> "... That doesn't have the extenralId listed" - "Yeah, it has the plan variant id listed, you just need to query that!" - "Okay give me that..."
L234[09:08:27] <S3> APIs do suck
L235[09:08:42] <Inari> "Here have a list of all planvariants!" - "But I need just the one I have the id for." - " No do, here, have all."
L236[09:08:51] <Vexatos> S3, you've simply gotten used to smoking the same stuff
L237[09:08:51] <AmandaC> S3: have you looked to see if he retracted that claim?
L238[09:09:07] <AmandaC> Because I don't see how we could do away with "APIs"
L239[09:09:21] <Inari> I don't mind APIS
L240[09:09:23] <AmandaC> On the most basic level, everything is an API.
L241[09:09:25] <Inari> I mind APIs that are a PITA to use
L242[09:09:25] <Inari> :D
L243[09:09:33] <S3> So, it's not necessarily that APIs go away, just how we build them and use them
L244[09:09:43] <S3> so here's an example of something horrible in a basic sense
L245[09:09:59] <S3> let's say you open a file, fh = open(filename)
L246[09:10:02] <S3> ok all is good right?
L247[09:10:13] <S3> then you go, fh.close()
L248[09:10:19] <S3> and then line = fh.readline()
L249[09:11:14] <AmandaC> okay...
L250[09:11:26] <S3> first of all, we would expect an error, but that's not a promise; This requires a hacky patch to make sure you're not doing something stupid
L251[09:11:35] <S3> This is because the type system allows you to do this
L252[09:12:24] <AmandaC> so what, change the type of fh out from under the caller when you do fh.close()
L253[09:12:31] <AmandaC> ?
L254[09:12:51] <S3> No.. so a great alternative, instead, is to not place in blocks to ensure your users are doing stupid shit. Instead of a traditional API, create a finite state machine with a type system.
L255[09:13:26] <S3> the finite state machine will ensure that both ends are ALWAYS in sync, and if something is done wrong, you have additional information to point fingers - the program is capable of telling who fucked up
L256[09:13:32] <Inari> Oh, so they do have a way to get all contracts of a customer!
L257[09:13:32] <S3> and where
L258[09:13:34] <Inari> It's just oddl yhidden
L259[09:13:56] <S3> this isn't limited to file io, it could be a network protocol too
L260[09:14:40] <S3> if at any time one end does something dumb, it doesn't effect the other machine because it doesn't change the other machine's state
L261[09:15:13] <AmandaC> This sounds like something Soni would come up with.
L262[09:15:55] <S3> Seems a little weird but FSMs are very easy to write and I'm going to be playing a little with FSM network protocol design just to see what it might be like
L263[09:16:48] <Inari> What do you mean "requires a hacky patch"
L264[09:16:59] <AmandaC> So what would happen to the calling fsm if the target fsm (file io/network/etc) wasn't in the expected state? That's just moving the error checking to the caller
L265[09:17:27] <S3> Inari: extra code needs to be placed to sort of protect the underlying system from accessing a file that's closed. depending on how the VFS works, it could cause some big problems
L266[09:17:34] <S3> you shouldn't have to do that
L267[09:18:26] <Inari> Sounds ike if anything you want al anguage feature whereby you can define an enum of possible states for an object to be in, and mark functions to only be callable in certain states
L268[09:18:46] <S3> AmandaC: if the other machine is in an unexpected state, then one of you doesn't conform to an agreeable equivalent protocol, and communication stops.
L269[09:19:25] <AmandaC> S3: that doesn't sound like it'd improve debugging or error tracing, it sounds like it'd make it a complicated web in any non-trivial software.
L270[09:19:29] <S3> Inari: that's .. a finite state machine
L271[09:20:04] <Inari> Sure, but you dn't write some FSM
L272[09:20:08] <Inari> You make it a syntax thing
L273[09:20:52] <MGR> Soni......
L274[09:20:56] <Inari> And in the end it would just be sugar for an if at the start of your function
L275[09:21:04] <AmandaC> ^
L276[09:21:06] <S3> so, there are two major types of FSMs, but at least in a mealy machine, as long as you're accepting certain data in certain states and changing state based on input, and only having a finite number of states to begin with, it's an FSM no matter syntatical or not
L277[09:21:36] <Skye> I made a protocol for OC... One of its features was that if you did something that didn't make sense you'd get an abort
L278[09:21:43] <S3> AmandaC: to be honest, software shouldn't really be complicated. it just tends to grow that easy, especially in the imperative world
L279[09:22:16] <MGR> Not everything can be simple
L280[09:22:32] <S3> Chuck Moore disagrees
L281[09:22:50] <S3> that's not the person who thought this up, btw
L282[09:23:25] <Inari> Everythign can be simple if you break it down enough ;D
L283[09:23:44] <Inari> So really we should make a Simple Programming Language
L284[09:23:44] <Inari> SPL
L285[09:23:45] <AmandaC> This doesn't really address what Inari said, tho. It's still doing the same thing as the "hacky workaround" it's just based off some generic FSM-like thing instead of something program/api specific
L286[09:24:03] <Inari> Each instruction is just an arithemtic addition and to kepe things simple one file only holds one instruction
L287[09:24:35] <S3> No, finite state machines are never a hacky workaround. They're very lean, efficient, and aren't patches to runtime behavior
L288[09:24:49] <S3> instead they define the machine that accepts the input
L289[09:24:52] <S3> and that is different
L290[09:25:09] <Inari> I don't see whats wrong with just doing
L291[09:25:51] <MGR> S3, if everything can be simple, please explain every single detail of how the human body works on a chemical level, in 5000 words or less
L292[09:25:54] <Inari> function close() { this.open =false; /* stuff */ } function readline() { if (!open) throw new Exception("can't read unopened file."); /* stuff */ }
L293[09:26:15] <MGR> While you're at it, toss in a description of how the Universe works
L294[09:26:47] <Inari> @MGR Eh
L295[09:26:58] <Inari> While I don't completely agree with S3, you're being a bit silly
L296[09:27:09] <MGR> I'm just making a point
L297[09:27:13] <AmandaC> Inari: no, see, that's hacky because it's not `if fsm.state != OPEN { return; }`
L298[09:27:18] <Inari> Take WiFi, it's a very complex thing to get it to communicate well and all. But for the end-user it's simple touse
L299[09:27:21] <MGR> Striving for simplicity is a worthy goal, but it cannot always be simple
L300[09:27:26] <S3> Inari: a) That code might not be implemented. b) you're adding additional code to your runtime to prevent problems. These add up, and next thing you have patches everywhere to stop leaky holes
L301[09:27:32] <S3> and keep the system syncronized
L302[09:27:48] <Inari> S3: Well
L303[09:27:52] <S3> AmandaC: that's a pretty poor way to write an FSM
L304[09:27:53] <Inari> Its kind of a univerasl concept
L305[09:28:05] <Inari> You start your function by checking the state of the object, if necesary
L306[09:28:08] <Inari> And the arguments passed in
L307[09:28:19] <Inari> If "that code mihgt not be implemented" then so your FSM might not be
L308[09:28:23] <Inari> Or the function might not be marked correctly
L309[09:28:25] <Inari> Or whatever
L310[09:28:25] <S3> you're placing your logic outside of the FSM, and the FSM should be the logic itself
L311[09:28:42] <AmandaC> S3: okay. "case readLine: if state != OPEN { return }`
L312[09:29:00] <Inari> The FSM is just sugar for that if imo
L313[09:29:02] <AmandaC> There's still got to be some instruction, some communication between the FSMs that says "I want to read a line"
L314[09:29:28] <AmandaC> and the checking of the FSM state against weather that's a valid instruction or not still boils down to an if
L315[09:30:43] <AmandaC> FSMs aren't something unique, they still boil down to a series of ifs in the computer world
L316[09:32:33] <S3> you could argue that they're all transsistors in the computer world
L317[09:32:37] <S3> and that everything is the same
L318[09:33:03] <AmandaC> And I still don't understand what the expected behaviour of the file/network fsm is if it's not a valid instruction for that state. CChug along, pretending it didn't get any instruction at all? That's bad design, causes silent errors
L319[09:33:32] ⇨ Joins: xarses (~xarses@8.39.49.133)
L320[09:33:43] <S3> not true. The finite state machine was attempted to operate in a state that is marked invalid; It knew what state it was in, and knew who did wrong and where.
L321[09:34:09] <AmandaC> sure, but so does `if !this.open { throw }`
L322[09:34:18] ⇨ Joins: Dimensional (~kvirc@h242.242.134.40.static.ip.windstream.net)
L323[09:34:18] <S3> iffy
L324[09:34:22] ⇦ Quits: Dimensional (~kvirc@h242.242.134.40.static.ip.windstream.net) (Client Quit)
L325[09:34:23] <S3> it may not be so clear
L326[09:34:41] <AmandaC> And, `if !this.open {}` would be the same as checking the state when the FSM receives the instructon
L327[09:34:42] <S3> or maybe there wasn't a throw for that particular call
L328[09:35:15] <AmandaC> In the abstract, file/network stuff is already a FSM, it's just hidden behind a nicer API
L329[09:36:09] <S3> You have to be careful when you say that, because both combinational and sequential logic can be represented with an FSM, therefore everything a computer calculates can be defined by some FSM
L330[09:36:44] <AmandaC> This sounds like computer philosophy, tbh. Because exactly that.
L331[09:36:47] ⇨ Joins: andreww (~xarses@67.218.117.86)
L332[09:37:14] <S3> my point is that just because they are the same at level Z dioesn't mean they are the same at level M
L333[09:37:31] <S3> when level A is what you're working with
L334[09:37:36] ⇦ Quits: xarses (~xarses@8.39.49.133) (Ping timeout: 204 seconds)
L335[09:37:53] <AmandaC> okay. but seperation of concerns, why should level A have to care about what everything else is doing? That akes things more complex to work on
L336[09:38:35] <AmandaC> imagine writing any kind of server where you have to check in on the FSM of every client you're talking to to make sure it's not 'invalid' instead of just getting a error flag result when you try and interact with it
L337[09:39:08] <AmandaC> and if you're not advocating level A checking all the smaller FSMs, then that's pretty much what we already have
L338[09:42:59] <S3> https://www.irccloud.com/pastebin/rM34i3n5/
L339[09:43:05] <S3> so, here's an example FSM for file io
L340[09:47:11] <AmandaC> okay, but what I'm asking is: How is that different than what's already done through POSIC?
L341[09:48:30] <AmandaC> I don't understand what you're saying.
L342[09:48:54] <AmandaC> I don't understand how exposing the FSM directly improves things
L343[09:49:50] <AmandaC> It sounds like it'd be introducing additional bindings between stuff, Sure, It'd be more explicit, but it's already plenty explicit. A dedicated user will shoot their foot regardless of how much steel you put in the shoe
L344[09:51:29] <AmandaC> conventional wisdom of computing atm is that you don't need to care about every single detail of every lower level. You /can't/ reasonably understand every single detail of every lower system.
L345[09:52:17] <MGR> Produce an idiot-proof program, and the Universe will produce a better idiot
L346[09:54:23] <AmandaC> Take your FSM, now add open failing because the file doesn't exist. what about write failing because of a full disk, etc. Sure, it boils down to states, but the specifics of those states are more complicated than it's reasonable for level A to care about.
L347[09:56:02] <S3> the problem is that without a finite state machine a mistake can change the state of the other end. you don't wantg that to happen. Imagine you didn't have an explicit finite state machine and all of a sudden the state on the other end of your API became invalid, and it went along with it, causing strange, undefined behavior- and then finally crashes the server
L348[09:56:03] <S3> woops.
L349[09:56:53] <S3> of course, I let things crash on purpose because that's just my preference, I want stuff to crash so that doesn't happen
L350[09:57:04] <S3> but that's just more of an erlang / elixir point of view
L351[09:57:26] <AmandaC> explicit FSMs don't prevent bugs in the FSM.
L352[09:57:45] <S3> you're absolutely right
L353[09:59:25] <S3> but it's a bug in the FSM, the FSM itself has a design flaw, not a patch you must plug a leak in the same sense of a traditional API.
L354[09:59:33] <AmandaC> and I'm not sure it's reasonable to expect every user of that FSM to have to know the explicit inner workings of that FSM. That's creating an explicit contract, sure. but what if you want to add a new message to the server? Whoops, now all your old clients are crashing because they think the server being in the "broadcast chat" state isn't valid
L355[10:00:33] <S3> they should crash
L356[10:00:48] <AmandaC> And that FSM would already exist inside the server anyway. I don't see what the advantage is in exposing it, making it part of the contract. What if you want to optimise the server, and that causes some slight semantic changes to the FSM
L357[10:00:50] <S3> I want them to crash, because they don't have the matching communication requirements
L358[10:01:13] <AmandaC> for anything more than toy example, it's not reasonable to crash your user
L359[10:02:15] <AmandaC> Graceful dedgration is preferable
L360[10:02:54] <S3> I disagree, If two ends can't communicate aggreeably, it shouldn't be the job of the server to pat it on the back and say that's okay I'll let you through anyways"
L361[10:02:56] <DaMachinator-> crashing is useful in a development environment because you know you messed up
L362[10:03:29] <S3> as it could effect other users on the system
L363[10:03:54] <DaMachinator-> so don't let it through, but the client-side program shouldn't crash when this happens
L364[10:04:40] <S3> that's a different topic, though, I think it should crash, and a supervisor should go okay, that happened, keeping the program alive
L365[10:05:07] <AmandaC> S3: Telegram has made several changes to their "FSM" to introduce new features. Would you prefer "Update your telegram client to see this content" or your client hard-crashing because a bot sent you a new data type.
L366[10:07:10] <S3> AmandaC: there are workarounds for this; one of which is to keep an old copy aoround with the feature limitations. Another is to actually add more states in a way that when new clients communicate with the FSM, they don't get invalid states coming their way because they never initiated them. There's a couple others too, all of which useful for different scenarios
L367[10:08:09] <AmandaC> Forcing the client and server to agree on what is an implementation detail of the server goes against https://en.wikipedia.org/wiki/Robustness_principle
L368[10:09:03] <Skye> uhm
L369[10:09:12] <Skye> isn't the point of FSMs to be the protocol
L370[10:09:16] <S3> Yeah I know of that, I actually disagree with that rule
L371[10:09:24] <Skye> not the implementation detail...
L372[10:09:32] <S3> it can be
L373[10:10:07] <Skye> It's useful to have well defined states, but it's probably not a good idea to stick to idealogogies when programming for the real world
L374[10:10:15] <Skye> that goes every way.
L375[10:10:54] <Skye> FSMs can be useful for handling a finite number of states (hence the name).
L376[10:12:31] <AmandaC> Skye: but if it's not exposing implementation details, it's just a front for the internal FSM, which is the same as the "hacky workaround"
L377[10:12:53] <Skye> uhh
L378[10:13:11] <Skye> my understanding is that you use an FSM to represent state
L379[10:13:28] <Skye> you change the state using messages.
L380[10:13:36] <Skye> if the state is mismatched you drop the connection
L381[10:13:53] <AmandaC> Skye: AIUI S3 is arguing the FSM be the explicit contract between disparate parts, which introduces the crash I mentioned earlier.
L382[10:14:10] <Skye> It can be a contract with backwards compat
L383[10:14:42] <Skye> just make the new one a superset of the old one?
L384[10:14:53] ⇨ Joins: Nathan1852 (~Nathan185@HSI-KBW-37-209-86-166.hsi15.kabel-badenwuerttemberg.de)
L385[10:16:06] <AmandaC> Skye: Then the client speaking the old one gets a message that the new one defines, and crashes. That's not really acceptable in anything other than experiental contexts.
L386[10:16:27] <Skye> AmandaC, define a version negotiation state
L387[10:16:42] <Skye> client sends its version to server, server sends its version to client
L388[10:16:57] <Skye> now both know what commands and state are valid
L389[10:17:05] <S3> RIGHT
L390[10:17:08] <S3> oops caps lock
L391[10:17:14] <S3> and if they dont' adhere the client crashes
L392[10:17:17] <S3> not the servers fault
L393[10:17:54] <Skye> also define that if a client doesn't negotiate versions, the connnection is dropped?
L394[10:18:09] <S3> easy to do as well
L395[10:18:34] <AmandaC> I might be misparsing S3, but my understanding is his reaoning here is that the client should crash when the server is updated, if the client wasn't updated too. That tightly couples things and makes it hard to update them independently.
L396[10:19:14] <AmandaC> That doesn't make sense for anything more than a toy experiment. It'd be unacceptable in any kind of real project
L397[10:19:26] <Skye> it's probably a oversight
L398[10:19:42] <Skye> in the general concept of "if it's invalid, then it should drop the connection"
L399[10:21:09] <S3> not quite. The thing is if two ends need to communicate, then they should be able to form an equal explicit agreement. If an agreement is made to communicate between two ends and one breaks that agreement, communication should stop. if this causes the client to crash, then it was the clients fault for working outside of protocol agreement. Skye is right though, part of this agreement isn't just the FSM itself but possibly a version negotiation
L400[10:21:10] <S3> state
L401[10:21:40] <S3> if you negotiate that communication can happen effectively and then it doesn't, who's fault is that, the FSM has enough information to point fingers and tell you that answer
L402[10:24:02] <S3> version negotiation state *
L403[10:24:21] <S3> and I meant, FSM by itself*
L404[10:26:15] ⇨ Joins: AshIndigo (~AshIndigo@79-67-166-122.dynamic.dsl.as9105.com)
L405[10:35:21] <DaMachinator-> S3: what if backwards compatibility is desired
L406[10:35:31] ⇨ Joins: ben_mkiv (~ben_mkiv@p4FED4A4E.dip0.t-ipconnect.de)
L407[10:37:21] <Skye> DaMachinator-, see what I said
L408[10:40:13] <S3> you can preplan for that pretty easily
L409[10:40:20] <DaMachinator-> what part of what you said
L410[10:40:35] <DaMachinator-> I suppose you could define multiple allowed versions on client and server
L411[10:40:44] <S3> that's one way
L412[10:40:57] <DaMachinator-> or use semantic versioning and accept versions with the same major and possibly minor version
L413[10:40:57] <S3> one of many
L414[10:41:07] <S3> you could even create a heiarchical FSM
L415[10:41:09] <Skye> or feature flags
L416[10:41:46] <S3> right
L417[10:42:19] <S3> one of the things I also only mentioned once that's very important is that it's not just a finite state machine
L418[10:42:26] <S3> it's a finite state machine with a type system that you want
L419[10:42:36] <S3> the type system part is important
L420[10:44:27] <DaMachinator-> an FSM is just a machine that can only be in a certain number of defined states
L421[10:46:00] <DaMachinator-> correct?
L422[10:46:36] ⇨ Joins: jackmcbarn (jackmcbarn@gateway02.insomnia247.nl)
L423[10:47:37] <S3> right.
L424[10:47:47] <S3> theres two main types
L425[10:48:12] <S3> mealy, which uses the current input and existing state to define its next state and output
L426[10:48:15] <S3> and then moore
L427[10:48:46] <S3> a moore machine is only operational given its current state
L428[10:49:12] <S3> you can use either to create any kind of FSM but most FSMs become mealy machines usually
L429[10:49:49] ⇦ Quits: jackmcbarn (jackmcbarn@gateway02.insomnia247.nl) (Client Quit)
L430[10:50:21] ⇨ Joins: jackmcbarn (jackmcbarn@gateway02.insomnia247.nl)
L431[10:51:56] ⇦ Quits: Guest46879 (webchat@115.41.227.114) (Quit: Web client closed)
L432[10:54:38] <S3> OSHIT
L433[10:54:45] <S3> I gotta drive to the university and get to classssss!
L434[10:55:12] <S3> well, I have about 220 horsepower and the highway is right here, so ima make it fine :D bbl
L435[10:55:39] <scj643> See ya
L436[10:55:47] <scj643> I got class at 12:30
L437[10:55:53] <scj643> In a half hour
L438[10:58:02] ⇨ Joins: pizza (webchat@115.41.227.114)
L439[10:58:31] *** pizza is now known as Guest85415
L440[11:00:05] <Guest85415> when using print ()to display and io.read to input something, they conflit each other.
L441[11:01:07] <Guest85415> how can I do both simultaneously?
L442[11:04:36] <MGR> Please post the code
L443[11:06:15] <Guest85415> https://pastebin.com/mKw7GjQ3
L444[11:06:57] <Guest85415> this code used to communicate with a robot.
L445[11:08:55] <MGR> "This time, it was just her sounding like a fire siren and me saying "im sorry"." --- Quote 3/3
L446[11:09:29] <MGR> Guest85415, I recommend using term.write
L447[11:09:45] <MGR> I believe that should stop the lines from overwriting each other
L448[11:09:53] <MGR> ~w term
L449[11:09:53] <ocdoc> http://ocd.cil.li/api:term
L450[11:12:31] <AmandaC> %choose start building up a stdlib or meh
L451[11:12:31] <MichiBot> AmandaC: start building up a stdlib
L452[11:12:58] <AmandaC> %choose kidven2.0 or meh
L453[11:12:58] <MichiBot> AmandaC: kidven2.0
L454[11:13:00] <AmandaC> hrm.
L455[11:13:01] <AmandaC> nah
L456[11:18:04] <Guest85415> oh. term api. thanks! always
L457[11:25:55] <MGR> No problem, happy to help
L458[11:33:14] <Izaya> https://archive.fo/g8s04
L459[11:33:15] <Skye> Guest85415, @MGR: I'm not sure that'll work, though please try it and tell me if it does! o.o
L460[11:33:45] <MGR> Skye, I wasn't sure if it would work, but I think it's the best shot
L461[11:34:01] <MGR> I'm not sure of another alternative
L462[11:34:42] <Izaya> you could prepend uh
L463[11:35:02] <Forecaster> str = "uh" + str
L464[11:35:03] <Skye> you could be cheap and use newlines like I did.
L465[11:35:18] <Izaya> \27[s\r
L466[11:35:25] <Izaya> wait.
L467[11:35:36] <Izaya> \27[s\27A\r
L468[11:35:49] <Skye> Izaya, what does that do? o.o
L469[11:35:55] <Izaya> that'll save the cursor position, move it up a line, reset it to the start of the line
L470[11:36:06] <Skye> wait OpenOS does work with terminal commands?
L471[11:36:13] <Izaya> then you print whatever you want and do \27u
L472[11:36:19] <Skye> also why isn't there an API for that.
L473[11:36:27] <Izaya> OpenOS supports most VT100 escape codes I think
L474[11:36:30] <MGR> Wait, what?
L475[11:36:47] <MGR> Prepend that to the term.write information?
L476[11:37:08] <Izaya> I guess?
L477[11:37:09] <Skye> Izaya, is there a term API for that without memorising VT100 codes
L478[11:37:21] <Skye> or does payonel need prodding
L479[11:37:22] * Izaya isn't 100% on where the escape codes get processed
L480[11:37:29] <MGR> LOG MARK
L481[11:37:34] <Izaya> I dunno, I haven't written anything for OpenOS in a while
L482[11:44:40] <gamax92> I love that the reddit post that says "please try to avoid doing things that might stress the servers, such as submitting a post that generates a gigantic comment thread" has 358,879 comments
L483[11:46:09] <MGR> Of course
L484[11:47:07] <AmandaC> This is the thing that parses the escape codes: https://github.com/MightyPirates/OpenComputers/blob/master-MC1.10/src/main/resources/assets/opencomputers/loot/openos/lib/vt100.lua
L485[11:50:54] <gamax92> lemme steel this and dump it in Thistle
L486[11:51:59] <Izaya> Skye: so I decided to support VT100 rather than 52 codes in PsychOS
L487[11:52:05] <Izaya> if you want I can do an API
L488[11:52:17] <Izaya> I'm thinking I'll have a table and it'll have the prefix thing in it
L489[11:52:22] <Izaya> so you can easily construct escape codes
L490[11:52:24] <Izaya> :3
L491[11:53:13] <Izaya> in all seriousness
L492[11:53:15] <Izaya> shit's easy
L493[11:53:20] <Izaya> http://www.termsys.demon.co.uk/vtansi.htm
L494[11:56:44] <Skye> hm
L495[11:56:58] <Skye> I guess
L496[11:58:40] <Skye> Izaya, could you cherry pick what's good and that's not good?
L497[11:58:44] <Skye> like
L498[11:58:48] <Skye> skip some of the ID stuff
L499[11:58:55] <Skye> and maybe use a modern way for colour
L500[11:59:17] <Izaya> at present I don't intend to support colour
L501[11:59:24] <Izaya> until I rewrite the terminal API again
L502[11:59:34] <Izaya> s/API/driver/
L503[11:59:34] <MichiBot> <Izaya> until I rewrite the terminal driver again
L504[12:03:21] ⇨ Joins: BearishMushroom (~BearishMu@82-209-154-59.cust.bredband2.com)
L505[12:05:16] ⇦ Quits: Guest85415 (webchat@115.41.227.114) (Ping timeout: 180 seconds)
L506[12:06:45] ⇦ Quits: DaMachinator- (webchat@71.46.246.100) (Ping timeout: 180 seconds)
L507[12:42:52] ⇦ Quits: Nathan1852 (~Nathan185@HSI-KBW-37-209-86-166.hsi15.kabel-badenwuerttemberg.de) (Ping timeout: 198 seconds)
L508[12:45:52] <payonel> Skye: vt100 codes are documented, just google vt100 escape codes :)
L509[12:46:09] <payonel> Skye (and mgr): and print strings don't have to be prepended, in fact, you can split them up
L510[12:46:26] <payonel> e.g. io.write("\27", "[", "33", "m", "HELLO\n")
L511[12:46:56] <payonel> you can also test this with echo: echo -e "\27[33mHello"
L512[12:47:40] <AmandaC> payonel: can has "\27[7m" (reverse colours)
L513[12:47:42] <gamax92> payonel: but what is your source
L514[12:48:35] <Skye> payonel, but can there be an API that doesn't involve writing escape codes manually? :P
L515[12:48:52] <payonel> AmandaC: i didn't add 7m support :( i might
L516[12:49:00] <payonel> Skye: sure, gpu :P
L517[12:49:00] <payonel> haha
L518[12:49:08] * payonel runs
L519[12:49:39] <AmandaC> Skye wants the windows terminal API for OC, clearly
L520[12:49:52] * Skye grabs payonel and duck tapes their legs and body to a chair and places a laptop on it
L521[12:50:53] <gamax92> payonel
L522[12:51:35] <payonel> gamax92: what is my source? i used a lot of sites, such as http://microvga.com/ansi-codes http://ascii-table.com/ansi-escape-sequences-vt-100.php , https://en.wikipedia.org/wiki/ANSI_escape_code , http://www.termsys.demon.co.uk/vtansi.htm
L523[12:51:48] <payonel> and more ... my vt100 and ansi escape history in my browser has a few
L524[12:52:11] <gamax92> also how to get a song unstuck from head
L525[12:52:29] <AmandaC> gamax92: listen to another, more potent song
L526[12:52:35] <payonel> gamax92: 1. let the song finish, and 2. listen to another head-sticking song
L527[12:52:39] <payonel> AmandaC: +1 :)
L528[12:52:39] <gamax92> AmandaC: sound of rain?
L529[12:52:53] <payonel> AmandaC: did you test the modem update?
L530[12:53:00] <AmandaC> payonel: yep, seems to work well
L531[12:53:16] <payonel> woo!
L532[12:53:20] <AmandaC> payonel: I removed my hack in my base server and the simulated world isn't on fire, so
L533[12:53:34] <AmandaC> I should make a PR to make the file locking work right, tho
L534[12:53:43] <gamax92> file locking ...
L535[12:53:54] <Izaya> windows has a terminal API?
L536[12:54:07] <Izaya> I thought they caved recently and made cmd ANSI-compatible
L537[12:54:10] <payonel> AmandaC: you said sometimes the file lock remains?
L538[12:54:13] <AmandaC> Izaya: no direct experience with it, but it's a cluster fuck
L539[12:54:22] <AmandaC> payonel: pretty consistently it does. adding an unlink call fixes it
L540[12:54:35] <payonel> the never happens to me :/
L541[12:54:40] <payonel> i'll have to find time to mess with that
L542[12:54:44] <Izaya> payonel: weird bug I was having doesn't happen in ocemu
L543[12:54:49] <gamax92> woo
L544[12:54:53] <payonel> Izaya: what bug is that?
L545[12:55:16] <Izaya> the one where stuff is a line further down than it should be
L546[12:55:21] <payonel> ah that
L547[12:55:49] <AmandaC> payonel: what fs is your /tmp?
L548[12:55:53] <Izaya> on the upside, that means fastty is actually fast
L549[12:56:04] <gamax92> anyway, bbl
L550[12:56:54] <payonel> AmandaC: ext4, it's not separate from /
L551[12:57:16] <gamax92> oh yeah I was going to implement the filesystem filter for tmpfs
L552[12:57:23] <AmandaC> payonel: bug happens for me with both tmpfs and btrfs
L553[12:57:41] <gamax92> because OC does restrict some stuff for tmpfs
L554[12:57:50] <payonel> oh i trust it's a bug
L555[12:57:59] <payonel> i'll just have to figure out a repro and then try to root cause it
L556[12:58:13] <gamax92> payonel: you have file locks?
L557[12:58:25] <payonel> gamax92: i chose to use a file lock in ocvm for the modem backend
L558[12:58:32] <gamax92> ohhhh
L559[12:58:47] <AmandaC> payonel: https://github.com/payonel/ocvm/pull/9 <-- This fixes it for me, merge or don't. :P
L560[12:58:50] <Izaya> https://www.youtube.com/watch?v=QidBCKYVCMA
L561[12:58:51] <MichiBot> The Cuphead Elitists Episode (Commentocracy) | length: 5m 32s | Likes: 1,384 Dislikes: 96 Views: 10,318 | by Jim Sterling | Published On 12/10/2017
L562[12:58:56] <gamax92> s/don't/die/
L563[12:58:56] <MichiBot> <AmandaC> payonel: https://github.com/payonel/ocvm/pull/9 <-- This fixes it for me, merge or die. :P
L564[12:59:00] <payonel> in ocemu i used a broadcasting promotion - but there is still technically a chance for 2 vms to race in ocemu
L565[12:59:39] <payonel> holy crap i left the hard path in the create method?
L566[12:59:40] <payonel> zug
L567[13:00:09] <AmandaC> actually, lemme check something rq
L568[13:00:30] <AmandaC> okay, yeah
L569[13:00:55] <AmandaC> My system actually had btrfs for /tmp, and I changed it to tmpfs to try and fix it, but never verified if that change happen
L570[13:01:10] <AmandaC> ( it did )
L571[13:01:32] <payonel> yeah i like what you did there
L572[13:02:08] * AmandaC changes /tmp back to a btrfs subvol
L573[13:02:11] <AmandaC> brb, rebooting
L574[13:02:34] <payonel> gamax92: so this means i don't have to die?
L575[13:02:39] <payonel> :) *phew*
L576[13:02:45] * CompanionCube never bothered to have a tmpfs /tmp
L577[13:02:51] <CompanionCube> at least not in this install
L578[13:02:58] * gamax92 never bothered to play with btrfs
L579[13:03:03] <CompanionCube> I think openrc ends up wiping it at boot or something anyway
L580[13:03:30] <CompanionCube> gamax92: btrfs's a reasonable filesystem
L581[13:03:50] <gamax92> I don't need a lot of the features that it offers though
L582[13:04:01] <Izaya> btrfs is nice
L583[13:04:16] <AmandaC> I have no complaints with it, so far
L584[13:04:21] * CompanionCube is very happy with ZFS though
L585[13:05:04] <CompanionCube> still have to try out encryption though
L586[13:05:11] * Izaya wonders if he could add the plan9k documentation to his OC documentation site
L587[13:05:35] <gamax92> these disk speed tests don't show btrfs performing well at all in any of them
L588[13:06:01] <AmandaC> my btrfs is a ssd, on the spinning rust I have xfs
L589[13:06:16] <gamax92> these are ssd tests
L590[13:06:19] <AmandaC> ah
L591[13:08:29] <Izaya> huh
L592[13:08:32] <CompanionCube> isn't some performance loss inherent to CoW filesystems?
L593[13:08:35] ⇨ Joins: xilni (~xilni@50-242-217-195-static.hfc.comcastbusiness.net)
L594[13:08:40] <Izaya> plan9k doesn't have the docs on github
L595[13:09:29] * CompanionCube used XFS but always found that periodically there'd be minor filesystem corruption typically involving files open at shutdown
L596[13:09:34] <xilni> i'm looking to split the config of my program into a separate file because it already looks messy. anyone have a github repo they could share that shows a simple example?
L597[13:09:38] <CompanionCube> never nauiled that down.
L598[13:09:53] <xilni> from what I can tell I have to use pcalls?
L599[13:10:11] <Izaya> look into the serialization lib
L600[13:10:13] <Izaya> ~w serialization
L601[13:10:13] <ocdoc> http://ocd.cil.li/api:serialization
L602[13:10:44] <MGR> xilni, you can use the I/O library to read data from a file
L603[13:10:54] <CompanionCube> Izaya: serialized configuration sounds like a bad idea
L604[13:11:06] <CompanionCube> since configs are meant to be read/modified, with serailized data you can do neither.
L605[13:11:10] <MGR> local file = io.open(file name)
L606[13:11:20] <Izaya> make it pretty and it's easy enough to modify
L607[13:11:23] <MGR> data = file:read("*l")
L608[13:11:37] <payonel> >_>
L609[13:11:47] <gamax92> ~w payonel
L610[13:11:47] <ocdoc> Predicted http://ocd.cil.li/block:waypoint
L611[13:11:53] <CompanionCube> Izaya: 'The pretty mode can be used to generate output for display to the user, this output will in most circumstances not be readable with serialization.unserialize. '
L612[13:12:02] <Izaya> never had it unreadable :P
L613[13:12:22] <AmandaC> Izaya: must only use very small data, then
L614[13:12:24] <Izaya> though I haven't used serialization in like a year
L615[13:12:32] <AmandaC> it's what the lua repl uses
L616[13:12:41] <Izaya> you can set it to not truncate
L617[13:12:43] <payonel> xilni: loadfile(path_to_config, nil, env)
L618[13:12:52] <payonel> xilni: keep it simple
L619[13:13:16] <payonel> e.g. local my_config = {} loadfile("settings.conf", nil, my_config)
L620[13:13:17] <payonel> done
L621[13:13:34] <payonel> where settings.conf is something like: foobar=1 thing_enabled=true
L622[13:13:43] <payonel> then you'll have my_config.foobar and my_config.thing_enabled
L623[13:14:45] <payonel> CompanionCube: serialized configs are nice when you want to programatically update your config
L624[13:15:04] <payonel> then it's just f:write(serialization.serialize(config))
L625[13:17:35] <Izaya> anyone got any clever ideas on how I could get the images from the manual outside of game?
L626[13:17:46] <xilni> Ah ok
L627[13:18:38] <xilni> So I need to turn this horrible list of function calls (https://github.com/xilni/StockMonitor/blob/master/opencomputers/stockMonitorOC.lua#L119) to a list of dictionaries?
L628[13:19:08] <xilni> And then for loop over the list and pull the parameters from the dictionary values?
L629[13:20:14] <Kodos> Izaya Github?
L630[13:20:36] <Izaya> Kodos, a lot of the images are generated by the game I'm p. sure
L631[13:22:11] <Izaya> eg they reference oredirc:oc:case1
L632[13:24:26] <Skye> Izaya, hmmm
L633[13:24:35] <Skye> load the textures from the repo? :P
L634[13:24:44] <Izaya> what, render the blocks myself?
L635[13:25:03] <Skye> no
L636[13:25:07] <Skye> just the front texture
L637[13:25:20] <Izaya> eh I guess
L638[13:29:47] <SubThread> What am I missing with: cp -r /mnt/d1a /tmp/disk? Trying to copy the OpenOS installation floppy to /tmp.
L639[13:29:55] ⇦ Quits: xilni (~xilni@50-242-217-195-static.hfc.comcastbusiness.net) (Quit: xilni)
L640[13:30:00] <Izaya> /tmp doesn't have enough space
L641[13:30:55] <SubThread> Alright, hmm thanks
L642[13:31:48] <payonel> AmandaC: i realized something ... i feel dense for not thinking of it. i thought you were saying to flock remains, but all you meant is that the file remains on disk. yes -- that was intentional, so i didn't have to worry about changing inodes (race condition where 1 vm closes and another needs to recreate the lock)
L643[13:32:01] <payonel> AmandaC: i did a search and found how i can unlink and safely recreate the lock
L644[13:32:03] <SubThread> I guess I'm spoiled with error msgs
L645[13:32:04] <payonel> i'll toy with that later
L646[13:32:43] <AmandaC> payonel: ah, the issue I found was that it caused the other VMs to spam "flock failed"
L647[13:33:30] <payonel> AmandaC: ok -- well, i'll give it some more attention later
L648[13:34:14] <payonel> my race example would only happen with >= 3 vms, and 1 closes
L649[13:37:11] <payonel> anyone know where fs (in oc in-game) fails when disk is full?
L650[13:37:15] <payonel> is it f:write or f:close
L651[14:13:35] ⇨ Joins: iisu (~iis@89-64-37-245.dynamic.chello.pl)
L652[14:14:30] <iisu> >init:1: attempt to call global 'require' (a nil value)
L653[14:14:32] <iisu> ?
L654[14:15:31] <SubThread> is it drone or micro controller related?
L655[14:15:43] <iisu> Robot.
L656[14:15:46] <payonel> iisu: are you running your own init?
L657[14:15:51] <iisu> Yes.
L658[14:15:53] <payonel> or writing code in an eeprom?
L659[14:15:57] <payonel> yeah, require is defined by openos
L660[14:16:21] <payonel> https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/openos/lib/package.lua
L661[14:16:32] <payonel> basically, it's just dofile()
L662[14:16:52] <iisu> I did some code in Lua before and I don't remember having problems with require ever before.
L663[14:16:54] <payonel> so you could have: local lib = dofile("/lib/mylib.lua")
L664[14:18:39] <payonel> iisu: do you know what require does?
L665[14:19:05] <iisu> Loads a file, iirc.
L666[14:19:26] <payonel> iisu: yes, and what is a file without a filesystem?
L667[14:20:00] <payonel> iisu: lua has worked for you in the past, calling require -- because you were running it on some platform, some operating system
L668[14:20:14] <payonel> that OS had a filesystem, and it could use file paths and what not to open and use files
L669[14:20:18] <payonel> thus, require had a backend to work
L670[14:20:27] <payonel> in opencomputers, without openos, you have no os
L671[14:20:34] ⇦ Quits: andreww (~xarses@67.218.117.86) (Ping timeout: 200 seconds)
L672[14:20:55] <payonel> your eeprom and your init, or whatever flavor of os you use -- has to provide that backend
L673[14:21:27] <iisu> Makes sense but still I can't see why it would be a nil rather than throw some kind of IO error.
L674[14:21:54] <payonel> loadfile and dofile, and require, are not defined, but load() is
L675[14:22:20] <payonel> well, there isn't even io
L676[14:22:21] ⇨ Joins: xarses (~xarses@67.218.117.86)
L677[14:22:22] <payonel> :)
L678[14:22:25] <payonel> xarses: o/
L679[14:22:38] <xarses> o/
L680[14:23:36] <payonel> iisu: you should review what the "Lua EEPROM" code does: https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/lua/bios.lua
L681[14:25:11] * Temia is suddenly beset with the urge to find an Adol Christin skin.
L682[14:27:28] <S3> CompanionCube: I prefer zfs
L683[14:27:34] <S3> over btrfs
L684[14:28:14] <CompanionCube> S3: I think they're both equally good, but thinking about it I prefer ZFS's filesystem model to btrfs's
L685[14:29:11] <S3> so like this should never be a factor of reason
L686[14:29:18] <S3> but btrfs is 16 EiB right max?
L687[14:29:21] <S3> something like that
L688[14:29:25] <iisu> So how do I use robot api?
L689[14:29:34] <S3> and ZFS iirc is about 2 ^ 128 ZiB
L690[14:29:47] <Vexatos> Hm yes because you'll ever hit the dangerous 16EiB limit
L691[14:29:48] <iisu> I just found robot.lua and it uses require too.
L692[14:29:52] <S3> :)
L693[14:30:05] <CompanionCube> S3: by the time we're anywhere near the limit there'll be better filesystems.
L694[14:30:09] <iisu> The easiest way would be to get rid of those requires but changing libraries is not elegant.
L695[14:30:12] <S3> I need that 2 ^ ^ 128 zeta bytes
L696[14:30:12] <S3> :D
L697[14:30:21] <Vexatos> you mean zebibytes
L698[14:30:26] <S3> meh
L699[14:31:16] <CompanionCube> seriously, i doubt either ZFS or btrfs will still be in use when 16 EiB volumes become a normal thing
L700[14:32:00] <Vexatos> Hard to tell whether they ever will be
L701[14:32:05] <ben_mkiv> my first hard disk was 40MB :D
L702[14:32:06] <S3> Vexatos: for one thing
L703[14:32:14] <S3> I was born before the ibibyte thing became a thing
L704[14:32:14] <ben_mkiv> so dont say, never...
L705[14:32:30] <S3> like a decade before
L706[14:32:35] <ben_mkiv> and 4MB of ram^^
L707[14:32:39] <Vexatos> ben_mkiv, back then, there were still sizes to be shrunk though
L708[14:32:41] <ben_mkiv> damn that thing did run any dos game :P
L709[14:32:48] <S3> Vexatos: I suppose you'll also make fun of me for calling Xor EOR instead
L710[14:33:11] * Vexatos makes fun of S3 for linking perl and calling xor EOR
L711[14:33:11] <CompanionCube> ben_mkiv: and FAT16 isn't really used today is it?
L712[14:33:24] <S3> linking
L713[14:33:28] <S3> linking perl
L714[14:33:29] <ben_mkiv> nope, because they didnt see that escalation coming
L715[14:33:42] <Vexatos> liking
L716[14:33:44] <Vexatos> whatever
L717[14:33:44] * CompanionCube is a bit of a hypocrite on that one :P
L718[14:33:47] ⇦ Quits: AshIndigo (~AshIndigo@79-67-166-122.dynamic.dsl.as9105.com) (Ping timeout: 204 seconds)
L719[14:34:09] <Vexatos> Problem is that twodimensional storage is hard to increase nowadays
L720[14:34:18] <S3> ben_mkiv: neat. I couldn't get a hard drive until later so my first was around 100 - 200 MB
L721[14:34:19] <Vexatos> And threedimensional storage generally is not easy to do
L722[14:34:29] <S3> ben_mkiv: before that I used cassette tapes and floppy disks
L723[14:35:00] <Vexatos> My first games were on floppy disks :I
L724[14:35:02] <S3> oh! ben_mkiv wanna see my computer setup this weekend?
L725[14:35:07] <S3> Vexatos: ^
L726[14:35:11] <Vexatos> And I still used cassette tapes until I was like 10
L727[14:35:12] <Vexatos> ._.
L728[14:35:16] * CompanionCube is young enough to not ever really deal with floppies
L729[14:35:18] <ben_mkiv> sure
L730[14:35:24] <Vexatos> And I am 19 >_>
L731[14:35:25] <ben_mkiv> mine consists of tier3 case and some parts :P
L732[14:35:27] <iisu> So how do I use robot API with no OS?
L733[14:35:36] <ben_mkiv> seriously vexa?
L734[14:35:45] <Vexatos> ...yes?
L735[14:35:53] <ben_mkiv> pretty good work on computronics
L736[14:36:00] <Vexatos> Hm?
L737[14:36:03] <ben_mkiv> for that age, would have thought that the autors are older
L738[14:36:05] <Vexatos> How is that related >_>
L739[14:36:17] <Vexatos> I didn't write computronics
L740[14:36:20] <ben_mkiv> huh?
L741[14:36:26] <Vexatos> I wrote only like half of it >_> The easy half
L742[14:36:35] <ben_mkiv> anyways
L743[14:36:38] <Vexatos> I took the mod over from asie in 2014 when he was bored of it
L744[14:36:47] <S3> https://imgur.com/a/51Bu1
L745[14:36:50] <S3> Vexatos: ben_mkiv
L746[14:37:08] <S3> computer on the floor
L747[14:37:09] <ben_mkiv> lol s3 :>
L748[14:37:09] <Vexatos> S3, I didn't know Sangar ever finished Circuity :I
L749[14:37:14] <ben_mkiv> never worked with those :/
L750[14:37:17] <S3> with storage device
L751[14:37:23] <S3> LOL
L752[14:37:28] <Vexatos> I know that keyboard
L753[14:37:33] <S3> is that what he's working on now?
L754[14:37:37] <ben_mkiv> thats c64, isnt it?
L755[14:37:43] <S3> no
L756[14:37:46] <ben_mkiv> what so?
L757[14:38:08] <S3> it's a TRS-80 Color Computer 2
L758[14:38:10] <S3> my first computer
L759[14:38:14] <ben_mkiv> never heard of
L760[14:38:38] ⇨ Joins: AshIndigo (~AshIndigo@79-67-166-122.dynamic.dsl.as9105.com)
L761[14:38:39] <S3> they called them trash 80s
L762[14:38:40] <Vexatos> I don't remember what my mother's first computer was
L763[14:38:45] * CompanionCube wonders if the trick from PoC||GTFO works on it
L764[14:38:50] <Vexatos> Mine was my father's old win98 machine :I
L765[14:38:58] <S3> ben_mkiv: I would have loverd a c64
L766[14:39:03] <S3> loves*
L767[14:39:05] <S3> loved bleh
L768[14:39:18] <S3> The thing is, I found out this has a 6809 chip and now I want to put forth on it
L769[14:39:21] <ben_mkiv> well, i had an amiga but that was more like a console with keyboard for me in that age
L770[14:39:28] <S3> so I spent all weekend writing a hex editor in microsoft extended color basic on it
L771[14:39:34] <S3> iI can now hand punch in machine code and run it
L772[14:39:58] <ben_mkiv> my first programming was batch/qbasic xD
L773[14:40:07] <gamax92> >batch
L774[14:40:12] <S3> qbasic was cool. I had qbasic on my 486
L775[14:40:23] <gamax92> but what version of qbasic
L776[14:40:27] <Izaya> are there RPi clones with battery connectors and SATA?
L777[14:40:30] <S3> If you remember putting WIN in AUTOEXEC.BAT...
L778[14:40:53] <ben_mkiv> remove himem.sys to run dosgames
L779[14:41:00] <ben_mkiv> and all that shit xD
L780[14:41:01] <Vexatos> My first actual(?) programming was uuuuuuuuuuuuuuuuuuuuuuuuhhhhhhhhhhhhhh
L781[14:41:02] <S3> Izaya: would sata/usb with a battery module work?
L782[14:41:08] <Vexatos> Lua I think
L783[14:41:09] <S3> selene
L784[14:41:09] <Vexatos> : I
L785[14:41:11] <S3> it was selene!
L786[14:41:20] <S3> :P
L787[14:41:25] <Izaya> S3: I want to be able to check battery status
L788[14:41:30] <Vexatos> Says the only person who ever used Selene
L789[14:41:40] <S3> Izaya: voltage comparator
L790[14:42:10] <Izaya> also can you charge and discharge USB battery packs at the same time
L791[14:42:12] <SquidDev> Vexatos: Cruor has used Selene I think.
L792[14:42:13] <S3> Vexatos: are you serious? nobody else has an interest in it?
L793[14:42:31] ⇦ Quits: SubThread (~SubThread@185-157-160-12.pool.ovpn.com) (Ping timeout: 183 seconds)
L794[14:42:46] <ben_mkiv> wonder if someone plays with my openglasses fork :>
L795[14:43:04] <ben_mkiv> gamax92, you should check it out, it got entitytracker, wavefront object parser, and such ;)
L796[14:43:19] <gamax92> but you could have just parsed .obj files in OC
L797[14:43:40] <ben_mkiv> it has some parser?
L798[14:43:45] <S3> ben_mkiv: I was talking with Skye the other day
L799[14:43:54] <S3> ben_mkiv: how would you like a 6309 minecraft mod?
L800[14:43:58] <S3> computer
L801[14:44:16] <ben_mkiv> i would rather like to play with one on my desk xD
L802[14:44:40] <Vexatos> S3, well I recently received my first bug report on github
L803[14:44:45] <Vexatos> So there is one more person I guess?
L804[14:44:50] <S3> nice
L805[14:44:55] <Vexatos> Cruor only ever used it because I forced him to test with me :P
L806[14:44:56] <S3> was it intuitive?
L807[14:44:57] <gamax92> ben_mkiv: you write the parser yourself in lua :|
L808[14:45:02] <gamax92> it's a super simple format
L809[14:45:06] <Vexatos> well it took about thirty minutes to fix
L810[14:45:06] <Vexatos> >_>
L811[14:45:09] <S3> oh yeah I remember what I was doing
L812[14:45:15] <S3> I was porting a new forth to Thistle
L813[14:45:16] <ben_mkiv> you actually parse the filedata to the mod
L814[14:45:25] <Vexatos> S3, https://github.com/Vexatos/Selene/commit/fd6baf476a8963147b0635f32a1c8e85844c1e57 >_>
L815[14:45:27] <ben_mkiv> so read the obj file and give the content to the parser
L816[14:45:41] <gamax92> or I coudl read the obj file, parse it myself, and send triangles to the glasses
L817[14:45:51] <CompanionCube> S3: POKE 62975, 0 :D
L818[14:45:52] <ben_mkiv> https://github.com/ben-mkiv/OCGlasses/wiki/Examples#rotating-monkey-head--wavefront-object
L819[14:45:59] <gamax92> like what was possible before
L820[14:46:03] <S3> CompanionCube: no.
L821[14:46:06] <Vexatos> S3, I have shown you the Selene working on a 3DS pic, right >_>
L822[14:46:12] <S3> CompanionCube: this is how my hex editor works
L823[14:46:20] <S3> it uses poke and peek
L824[14:46:31] <ben_mkiv> but before you couldnt animate it, and such
L825[14:46:31] <S3> it takes about 1 second for every line of 8 bytes to print to screen
L826[14:46:31] <ben_mkiv> :P
L827[14:46:39] <S3> BASIC IS SO SLOW
L828[14:46:43] <gamax92> yes you could?
L829[14:46:47] <Vexatos> S3, just use selene
L830[14:46:48] <Vexatos> :D
L831[14:46:53] <CompanionCube> S3: http://captf.com/poc%7C%7Cgtfo/small-pocorgtfo02.pdf page 19
L832[14:47:00] <S3> Vexatos: I could get it to work
L833[14:47:01] <S3> maybe
L834[14:47:07] <S3> no I doubt it
L835[14:47:08] <ben_mkiv> but marcin is also working on some new version, so no idea if my code will ever be merged to official xD
L836[14:47:16] <S3> I bet you Lua require smore memory than available
L837[14:49:10] <Vexatos> Heh
L838[14:49:26] <Vexatos> S3, apparently my mother's first PC was an IBM PC 330 with an Intel 486 in it ._.
L839[14:49:48] <Vexatos> massive 16MHz :U
L840[14:49:57] <ben_mkiv> on a 486? Oo
L841[14:50:00] <S3> I have no idea what my second box was other than a 486
L842[14:50:21] <ben_mkiv> my 486DX2 had 66 afaik
L843[14:50:31] <ben_mkiv> 386 with 33 or 40?! dont remember xD
L844[14:50:35] <Vexatos> I'm not even sure
L845[14:50:38] <Vexatos> Might have been more :P
L846[14:50:47] <Vexatos> Well, she's not sure >_>
L847[14:51:28] <ben_mkiv> but yea, wiki says there are 486 with 16mhz
L848[14:52:25] <Vexatos> S3, I bet you that Selene definitely won't work on it
L849[14:52:32] <Vexatos> it's like 50kB in code size >_>
L850[14:56:53] <Izaya> first box was a 2Mhz C64 with 64k of RAM and no disk drives
L851[14:56:55] <Izaya> fun times
L852[14:57:59] <iisu> Where's component located?
L853[14:58:40] <gamax92> in the trash compactor
L854[14:59:28] <AmandaC> ben_mkiv: I tried it out last night. IT's really broken. For one, putting on the glasses when it's not paired caused a NPE, also it seems it doesn't work at all on a server.
L855[14:59:53] <AmandaC> lots of what I assume to be class missing exceptions
L856[15:00:11] <iisu> I mean the API.
L857[15:00:25] <iisu> robot.lua requires component.
L858[15:01:44] <ben_mkiv> thanks for the feedback AmandaC, what kind of server? sponge?
L859[15:01:51] <AmandaC> normal forge server
L860[15:01:58] <AmandaC> dedicated server, not in-client
L861[15:02:18] <ben_mkiv> ok, gonna try to fix those
L862[15:02:43] <ben_mkiv> log of the server would be awesome, the other one seems easy to test
L863[15:03:09] <AmandaC> nothing is logged on the server, the API call just fails with a class name
L864[15:03:43] <AmandaC> that is, addX() is returning false, "net/minecraft/..."
L865[15:06:08] ⇨ Joins: Nathan1852 (~Nathan185@HSI-KBW-37-209-86-166.hsi15.kabel-badenwuerttemberg.de)
L866[15:06:15] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Remote host closed the connection)
L867[15:06:25] <payonel> iisu: what is your question - you're making statements but i think you're also trying to get help
L868[15:06:32] <ben_mkiv> ah, so it happens when you try to add any widget?
L869[15:07:27] <AmandaC> yes
L870[15:07:37] <ben_mkiv> ok, thanks, gonna take a look now
L871[15:08:05] <AmandaC> Might also be related to the server thing, but I couldn't upgrade the glasses in an anvil, either.
L872[15:08:24] <ben_mkiv> yea that might be, i wondered about how minecraft handles it at all
L873[15:08:35] <ben_mkiv> as its a clientevent which is pretty unlikely :>
L874[15:08:57] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L875[15:09:01] <AmandaC> doing things on the client is a Bad Idea™
L876[15:09:14] <CompanionCube> AmandaC: depends
L877[15:09:23] <ben_mkiv> yea it is, but its the way all mods i've looked at handle it
L878[15:09:33] <AmandaC> CompanionCube: okay, doing game logic on the client is.
L879[15:09:54] <AmandaC> just like doing render logic on the srver is a bad idea
L880[15:10:59] <iisu> I don't even know what my question is anymore.
L881[15:11:11] <ben_mkiv> so 42 is the answer
L882[15:12:20] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Ping timeout: 183 seconds)
L883[15:12:47] <CompanionCube> iisu: http://ocdoc.cil.li/tutorial:custom_oses this is likely to be useful
L884[15:13:03] <iisu> I can't make shit work. I should have given the robot a screen and a disk with an OS installed like everybody does but my autism made gave me problems I shouldn't have.
L885[15:13:19] <iisu> Sorry for wasting your time.
L886[15:13:27] ⇦ Quits: iisu (~iis@89-64-37-245.dynamic.chello.pl) (Quit: leaving)
L887[15:14:06] * CompanionCube thinks they were subtly missing what was needed
L888[15:15:04] <payonel> people feel like they waste my time when they ask questions
L889[15:15:15] <payonel> if i had an issue with wasting time here, i wouldn't be here
L890[15:15:22] <CompanionCube> would anyone
L891[15:15:35] <payonel> mind_blown.png
L892[15:18:30] ⇨ Joins: rashy_ (~rashdanml@d154-20-196-145.bchsia.telus.net)
L893[15:20:05] ⇦ Quits: rashdanml (~rashdanml@d154-20-196-145.bchsia.telus.net) (Ping timeout: 186 seconds)
L894[15:21:57] <Izaya> I'm here all the time when I have better things to do
L895[15:23:09] <AmandaC> %choose play with thistle or continue staring at the empty terminal
L896[15:23:09] <MichiBot> AmandaC: continue staring at the empty terminal
L897[15:28:49] <ben_mkiv> damn, trying to fix those errors, cant even get my sp instance running xD
L898[15:28:58] <ben_mkiv> so what did i do 4 days ago? -.-
L899[15:37:46] <Izaya> so uh, a thinkpad's trackpoint buttons are attached to the keyboard assembly, right?
L900[15:39:50] <Forecaster> I believe so
L901[15:40:25] <S3> heh
L902[15:40:34] <S3> A IF B IF C IF s" Hello, World!" THEN
L903[15:40:40] <S3> neat
L904[15:41:02] <Izaya> excellent
L905[15:41:11] <S3> I don't hve to have 3 thens :D
L906[15:47:36] <gamax92> DUP
L907[16:05:42] ⇨ Joins: Direwolf20 (~direwolf2@2607:5300:60:399a::)
L908[16:14:08] <Inari> AmandaC: https://pbs.twimg.com/media/DL9qTOfWkAItZlr.png:large
L909[16:15:34] <AmandaC> Inari: mew?
L910[16:17:27] <Inari> xD
L911[16:21:18] <AmandaC> Inari: are you trying to say you don't appreciate my late-night songs?
L912[16:22:08] <Inari> Of course!
L913[16:22:12] <Inari> You and your yowling :p
L914[16:22:44] <AmandaC> :(
L915[16:22:50] <AmandaC> but I sing them just for you!
L916[16:24:27] <Inari> Do more Karaoke! D: Maybe you'll develop a singing talent
L917[16:32:06] <AmandaC> %choose watch or play or watch other
L918[16:32:06] <MichiBot> AmandaC: play
L919[16:32:38] ⇦ Quits: Nathan1852 (~Nathan185@HSI-KBW-37-209-86-166.hsi15.kabel-badenwuerttemberg.de) (Read error: Connection reset by peer)
L920[16:44:04] ⇦ Quits: Turtle (~SentientT@ip5657cbb2.direct-adsl.nl) (Read error: Connection reset by peer)
L921[16:55:21] ⇦ Quits: Inari (~Pinkishu@p4FC1EFD6.dip0.t-ipconnect.de) (Quit: 'Beauty can be found where _everything_ is in harmony.' - Symmetra (Overwatch))
L922[17:04:54] ⇦ Quits: BearishMushroom (~BearishMu@82-209-154-59.cust.bredband2.com) (Read error: Connection reset by peer)
L923[17:09:15] ⇦ Quits: Vexatos (~Vexatos@p200300556E09FE73D5BF50430C626C15.dip0.t-ipconnect.de) (Ping timeout: 383 seconds)
L924[17:13:16] ⇦ Quits: Xellurat (Elite16692@i.am.not.really.here.elitebnc.org) (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!)
L925[17:19:28] ⇨ Joins: Vexatos (~Vexatos@p200300556E09FE17D5BF50430C626C15.dip0.t-ipconnect.de)
L926[17:19:28] zsh sets mode: +v on Vexatos
L927[17:22:27] ⇨ Joins: Xellurat (Elite16692@i.am.not.really.here.elitebnc.org)
L928[17:56:18] ⇦ Quits: xarses (~xarses@67.218.117.86) (Ping timeout: 198 seconds)
L929[18:03:44] <AmandaC> %tell Mimiru it seems the behaviour isn't wired up to the biometrics scanner. Place one on my computer, no event for a new component or anything when interacting with it. No rush tho
L930[18:03:44] <MichiBot> AmandaC: Mimiru will be notified of this message when next seen.
L931[18:04:28] <ben_mkiv> i'm gonna fix multiplayer later amanda....
L932[18:04:33] <ben_mkiv> one problem leads to another
L933[18:04:54] <ben_mkiv> may fix it tomorrow and let you know
L934[18:09:56] <Mimiru> java.lang.NullPointerException
L935[18:09:58] <Mimiru> at li.cil.oc.common.tileentity.traits.TextBuffer$class.buffer(TextBuffer.scala:13) ~[TextBuffer$class.class:?]
L936[18:10:00] <Mimiru> ._.
L937[18:10:02] <Mimiru> thanks oc
L938[18:10:45] <Mimiru> AmandaC, it was working last time I poked at it..
L939[18:11:58] <Mimiru> now I can't load my world
L940[18:11:59] <Mimiru> yay
L941[18:12:52] <Mimiru> https://pastebin.com/SfETmMPR
L942[18:19:18] <Mimiru> anyway, the TE implements my base component TE... so if any of those work this should work
L943[18:25:02] <Gavle> If two computers have wireless network cards, but are also connected by cables and a relay, what happens?
L944[18:25:17] <Gavle> If one uses modem.send(address of the other card)
L945[18:25:28] <Gavle> Is there a wireless message? A wired message? Both?
L946[18:26:20] <ben_mkiv> they use the first device
L947[18:26:29] <ben_mkiv> so you would rather like to use something like component.proxy
L948[18:26:41] <ben_mkiv> iirc
L949[18:28:48] <Gavle> There is not 2 cards, just one
L950[18:29:03] <Gavle> Clarification, one card per computer case.
L951[18:31:06] <Izaya> two messages IIRC
L952[18:34:46] ⇦ Quits: Vexatos (~Vexatos@p200300556E09FE17D5BF50430C626C15.dip0.t-ipconnect.de) (Quit: I guess I have to go now. Bye ✔)
L953[18:35:49] <Gavle> Thank you.
L954[18:53:20] <Gavle> ~w internet
L955[18:53:20] <ocdoc> http://ocd.cil.li/api:internet
L956[19:00:47] <S3> I just had a flashback
L957[19:00:53] <S3> from ages and ages ago in early college
L958[19:01:01] <S3> and the difference between Internet and internet
L959[19:11:47] <Kodos> Oooh Warframe put out their open world update
L960[19:13:39] <AmandaC> Poor aoba-chan
L961[19:18:18] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L962[19:21:02] ⇦ Quits: ben_mkiv (~ben_mkiv@p4FED4A4E.dip0.t-ipconnect.de) (Ping timeout: 383 seconds)
L963[19:30:26] <S3> gamax92: hreh, so JSR doesn't make sense for this port
L964[19:30:30] <S3> but RTS does
L965[19:30:54] <S3> JSR gets its address from absolute mode
L966[19:31:06] <S3> so it doesn't work for dynamic applications\
L967[19:31:25] <S3> so instead you manually push the address on the stack and JMP
L968[19:31:31] <S3> then JSR from that later
L969[19:33:56] <S3> gamax92: in more cool news though, your DMA is useful
L970[19:34:32] <S3> To save memory, I have placed the terminal input buffer in the zero page underneath the stack, as a stack itself
L971[19:34:38] <S3> that you already knew
L972[19:35:01] <S3> but what I plan to do, is that when you type in terminal data, it uses the memory starting from the PAD downward toward the dictionary
L973[19:35:22] <S3> every time the TIB becomes empty, the DMA controller will be told to copy the data from the TIB in memory to the ZP TIB
L974[19:35:25] <S3> this way it's faster
L975[19:35:41] <S3> the ammount of TIB space available depends on the size of your dictionary, but you can't escape that-
L976[19:37:45] <S3> this of course is stored in a circular buffer
L977[19:38:42] <S3> the buffer is transparent to the forth program since they only interact with the TIB stack
L978[19:40:33] <S3> also, text is placed into the circular buffer from the ISR
L979[19:40:45] <S3> or at least triggered by the ISR
L980[19:56:10] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L981[20:17:54] ⇦ Quits: rashy_ (~rashdanml@d154-20-196-145.bchsia.telus.net) (Read error: Connection reset by peer)
L982[20:20:50] ⇨ Joins: rashy (~rashdanml@node-1w7jr9ss4vuloq1zfzss3abwj.ipv6.telus.net)
L983[20:24:53] ⇦ Quits: rashy (~rashdanml@node-1w7jr9ss4vuloq1zfzss3abwj.ipv6.telus.net) (Read error: Connection reset by peer)
L984[20:26:15] ⇨ Joins: rashy (~rashdanml@node-1w7jr9ss4vulpxueptry06gwx.ipv6.telus.net)
L985[20:31:24] ⇦ Quits: rashy (~rashdanml@node-1w7jr9ss4vulpxueptry06gwx.ipv6.telus.net) (Read error: Connection reset by peer)
L986[20:32:42] ⇨ Joins: rashy (~rashdanml@node-1w7jr9ss4vulocuc9ff94ji79.ipv6.telus.net)
L987[20:44:44] ⇦ Quits: Thutmose (~Patrick@172-10-186-129.lightspeed.gnvlsc.sbcglobal.net) (Quit: Leaving.)
L988[21:13:58] * AmandaC beams a small Aoba plushie in front of Temia, goes to sleep
L989[21:17:23] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Remote host closed the connection)
L990[21:19:11] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L991[21:19:36] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L992[21:20:20] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L993[21:37:05] ⇨ Joins: hhyfff (webchat@117.111.22.28)
L994[21:40:43] <hhyfff> hello
L995[21:41:37] <hhyfff> Is there any mod which practically allows extreamly long distance teleport?
L996[21:45:40] <hhyfff> for example, a mod supports a block what can teleport a block to another teleporter block at fixed energy cost regardless of distance and dimension
L997[22:13:25] ⇦ Quits: Fridtjof (~prassel@osiris.9net.org) (Ping timeout: 200 seconds)
L998[22:17:48] ⇦ Quits: Lathanael|Away (~Lathanael@p54960377.dip0.t-ipconnect.de) (Ping timeout: 198 seconds)
L999[22:19:35] ⇨ Joins: Lathanael|Away (~Lathanael@p54960BB7.dip0.t-ipconnect.de)
L1000[22:19:37] ⇨ Joins: Fridtjof (prassel@osiris.9net.org)
L1001[22:26:25] <Kodos> fixed energy cost? not that I know of
L1002[22:26:59] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Remote host closed the connection)
L1003[22:29:07] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L1004[22:32:44] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Ping timeout: 198 seconds)
L1005[22:33:33] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L1006[22:36:32] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Quit: Blue skidoo, we can too!)
L1007[22:41:04] ⇦ Quits: flappy (~flappy@a88-113-154-4.elisa-laajakaista.fi) (Quit: /0)
L1008[22:53:37] <Temia> Well...
L1009[22:54:45] <Temia> I don't know if the functionality remains in it, but AE2 used to have spatial whatsits. If you stored a block in one of those and transferred it via an ender chest or something, it would cost the same no matter how you went about it.
L1010[22:55:32] ⇦ Quits: hhyfff (webchat@117.111.22.28) (Ping timeout: 180 seconds)
L1011[23:08:10] ⇨ Joins: ironmountain (~anon@c-73-192-20-95.hsd1.fl.comcast.net)
L1012[23:22:13] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Remote host closed the connection)
L1013[23:22:48] ⇨ Joins: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca)
L1014[23:26:12] ⇦ Quits: TuxMan20 (~tuxman20@modemcable205.133-178-173.mc.videotron.ca) (Ping timeout: 186 seconds)
L1015[23:30:03] ⇦ Quits: ironmountain (~anon@c-73-192-20-95.hsd1.fl.comcast.net) (Quit: Lost terminal)
L1016[23:59:13] ⇦ Quits: Tahg (~Tahg@pool-71-248-165-18.bstnma.fios.verizon.net) (Ping timeout: 200 seconds)
<<Prev Next>> Scroll to Top