<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:00:04] <payonel> Izaya: i have this hack_broken_rename() method i added to the fs driver to match oc weirdness
L2[00:02:04] <payonel> specifically: // a -> a/d should fail, but oc just deletes a
L3[00:08:01] <payonel> also, hack_broken_dotdot() for isDirectory and exists, i think /.. on the end of a path is ignored or dropped or something
L4[00:09:08] <Izaya> https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-2100-GitHub
L5[00:10:51] <Izaya> Good to see DX12 is basically DOA
L6[02:02:20] * Saphire licks Izaya
L7[02:02:27] <Saphire> Dead on arrival? Yay
L8[02:02:37] <Izaya> /me nods
L9[02:02:55] <Izaya> Doesn't make much sense to use when the performance is maybe 'as good' as vulkan and runs on 1/10th of the platforms
L10[02:03:07] <Saphire> https://github.com/mickael-kerjean/nulll/blob/master/README.md
L11[02:05:49] <Saphire> Izaya: ^
L12[02:07:33] <Izaya> That has to be some of the best javascript I've seen in a while
L13[04:39:07] ⇨ Joins: Inari (Inari!~Pinkishu@p4FC1E91C.dip0.t-ipconnect.de)
L14[04:43:49] <Forecaster> %loot
L15[04:43:49] <MichiBot> Forecaster: You get a loot box! It contains a mermaid scale.
L16[05:02:13] ⇨ Joins: Vexatos (Vexatos!~Vexatos@p200300C107179458567E07C489AA2DBE.dip0.t-ipconnect.de)
L17[05:02:13] zsh sets mode: +v on Vexatos
L18[05:34:48] ⇦ Quits: Unh0ly_Tigg (Unh0ly_Tigg!~Unh0ly_Ti@c-24-21-196-226.hsd1.or.comcast.net) (Quit: Leaving)
L19[05:39:13] <Inari> %loot
L20[05:39:13] <MichiBot> Inari: You get a loot box! It contains an eraser.
L21[05:47:41] <Forecaster> %shell
L22[05:47:41] * MichiBot loads magic into a shell and fires it. It strikes the ground near Keridos, greaser|q and mrkirby153. They each take 10 (8+2), 15 (13+2) and 10 (8+2) splash damage respectively.
L23[06:34:01] <Rami> Is it possible to know if the wheat under the robot is fully grown or not ?
L24[06:36:55] <Forecaster> I don't think so
L25[06:49:43] ⇨ Joins: Dark (Dark!~MrDark@2607:fcc8:d48b:eb00:9195:3408:2b27:30de)
L26[07:22:38] <Forecaster> I wonder if the aliens that supposedly come here to abduct people ever fight over us
L27[07:23:00] <Forecaster> "I got here first, I get to abduct this hillbilly!"
L28[07:29:42] <S3> @Forecaster see Prey 1
L29[07:30:15] <S3> They didn't come here to abduct us, they came here because we were ripe for the picking after they planted us
L30[07:32:42] <S3> Izaya: it's coming!
L31[07:32:43] <S3> https://github.com/bhodgins/trotwood
L32[07:32:52] <S3> Skye: ^
L33[07:32:52] <Forecaster> that's not really relevant
L34[07:33:19] <S3> I think it's very relevant
L35[07:34:02] <Izaya> sounds v. similar to uh
L36[07:34:06] <Izaya> Jupiter Ascending?
L37[07:34:21] <Forecaster> my statement wasn't about why they come here
L38[07:39:39] <S3> Never seen it
L39[07:40:02] <S3> Izaya: What do you use for your kernel builder, rememeber your little eeprom os thing? forget the name
L40[07:40:11] <S3> I'm wondering if I should do that to make my code cleaner
L41[07:40:24] <Izaya> For MultICE I had a thing that would read config files and put together modules in a specific order
L42[07:40:26] <Izaya> now I just use cat
L43[07:40:30] <S3> oh yeah
L44[07:40:37] <S3> cat with a shell script or something?
L45[07:40:45] <S3> I could do that
L46[07:40:53] * Izaya nods
L47[07:40:59] <S3> @t20kdc actually has this sort of tarball thing
L48[07:41:11] <S3> tars are huge though
L49[07:41:15] <Izaya> shell script also runs a minifier so I get both outputs
L50[07:41:30] <S3> cool.
L51[07:41:40] <S3> I could also port ar
L52[07:41:50] <S3> ar is an archive format used for libraries on *nix that is extremely tiny
L53[07:41:54] <S3> the header is only bytes really
L54[07:42:29] <S3> The challenge for ar is that in order for an initrd to work you need to have filesystem support
L55[07:42:36] <S3> and the filesystem stuff are written using actors
L56[07:42:50] <S3> actors aren't part of the kernel, the actors are loaded by the kernel
L57[07:43:09] <Rami> Is there any sleep function ?
L58[07:43:26] <S3> yes but it's not very acurate
L59[07:43:37] <S3> so if you use it to sleep miliseconds don't expect it to do very well
L60[07:43:55] <Rami> What is it ?
L61[07:44:17] <S3> os.sleep isn't it?
L62[07:44:27] <S3> es
L63[07:44:29] <S3> yes*
L64[07:44:41] <S3> there's also using signals to do it
L65[07:45:00] <Izaya> Rami, do you mean in OpenOS?
L66[07:45:35] <S3> I think it takes seconds
L67[07:46:05] <S3> os.sleep(seconds: number)
L68[07:46:16] <Skye> S3, CompanionCube: now something rings a bell... x_x
L69[07:46:25] <S3> Skye: ?
L70[07:46:39] <Skye> Surnames? Idk
L71[07:47:48] <S3> surnames?
L72[07:47:56] <S3> what surnames
L73[07:54:04] <S3> Izaya: maybe I can trick sed or something with comments in the source that are like: --[[ INCLUDE src/foo.lua ]]--
L74[07:54:15] <S3> oopsoops
L75[07:54:26] * Izaya nods
L76[07:54:45] <Izaya> though I'd suggest just using -- because having to type --[[ ]]-- is a pain
L77[07:54:48] <S3> more like --[[ INCLUDE src/foo --]]
L78[07:54:52] <S3> yeah
L79[07:54:58] <Izaya> I mean, both work
L80[07:54:59] <S3> it was just a way to prevent confusion
L81[07:55:03] <S3> orly?
L82[07:55:06] * Izaya nods
L83[07:55:08] <S3> Oh yeah I guess it would
L84[07:55:11] <S3> because ]] works
L85[07:55:24] <Izaya> --[[ ]]-- looks nicer to me so I use it even though you don't even need the --
L86[07:55:51] <S3> maybe something to make it more obvious
L87[07:55:56] <S3> -- %INCLUDE src/foo.lua
L88[07:58:17] <S3> or like I said I could port ar and embed an initrd and a require() for it
L89[07:58:35] <S3> the nice thing about that is better error reporting, right?
L90[08:08:13] <AmandaC> %choose code or game or anime
L91[08:08:13] <MichiBot> AmandaC: game
L92[08:18:19] <S3> The one thing annoying about ar format is that it's not binary
L93[08:18:21] <S3> at all
L94[08:18:38] <S3> I have to convert ASCII numbers into numbers
L95[08:18:57] ⇨ Joins: Thutmose (Thutmose!~Patrick@host-69-59-79-181.nctv.com)
L96[08:24:32] ⇨ Joins: xandaros (xandaros!~xandaros@185.35.77.23)
L97[08:36:38] ⇦ Quits: Thutmose (Thutmose!~Patrick@host-69-59-79-181.nctv.com) (Quit: Leaving.)
L98[08:40:43] <Forecaster> %loot
L99[08:40:43] <MichiBot> Forecaster: You get a loot box! It contains a rosary.
L100[08:41:23] <Forecaster> well, at least I have 3 spirit hearts now
L101[08:53:12] <Wuerfel_21> yay my chair borke
L102[08:54:23] <Wuerfel_21> now i can't lean back because the part that holds back part will bend so it will give in and wont come back up without bending it back
L103[08:54:39] <Forecaster> I've had that happen
L104[08:55:01] <Forecaster> on my old chair one of the screws that anchored the backrest had undone itself
L105[08:55:30] <Forecaster> as a result more weight was put on another screw, and all of a sudden it got ripped out of the seat
L106[08:55:36] <Forecaster> causing me to fall backwards
L107[08:55:50] <Forecaster> that was fun
L108[08:56:50] <Wuerfel_21> The actual backrest is long broken, since it is fabric on top of two metal bars. Me being me, i use the chair backwards sometimes, resting my head on top of the backrest. At some point, one of the bars started poking through the rest. mmmh
L109[08:57:09] <Forecaster> ohmy
L110[08:57:12] <S3> @Wuerfel_21 duct tape
L111[08:57:32] <Wuerfel_21> As if i had duct tape
L112[08:57:35] <Forecaster> I fixed mine by buying a nearly identical chair and using the seat from that to replace the one in mine
L113[08:57:46] <Forecaster> keeping the rest
L114[08:58:35] <S3> When my chair breaks it's usually the part that holds the chair on the wheels
L115[08:58:45] <Wuerfel_21> i live far away from any kind of retail business and my POS dad is to greedy to buy enough food
L116[08:58:46] <S3> so the wheels usually go flying and I fall on the ground with the top part
L117[09:00:05] <Skye> Erk
L118[09:00:45] <Forecaster> I removed the wheels after I fixed it
L119[09:00:58] <S3> well I only weigh like 160 so when the chair gives it gives really bad
L120[09:01:00] <Forecaster> because I realized that I don't want or need the chair to move
L121[09:01:41] <Forecaster> 160 what?
L122[09:01:53] <S3> pounds
L123[09:02:06] <Forecaster> ah, that's way less than me
L124[09:09:39] <S3> I have this problem where I can eat all day long constantly and I will always be 6 feet 160 pounds
L125[09:09:54] <S3> my mother is the same way, metabolism never slowed down
L126[09:10:23] * Izaya is mildly underweight
L127[09:10:32] <Izaya> apparently 6'1 and 60kg isn't something you want
L128[09:11:09] <S3> no that's like 130 lbs
L129[09:11:16] <S3> that's way too light for 6'
L130[09:11:24] * Izaya nods
L131[09:11:24] <Rami> How can I terminate a running program ?
L132[09:11:30] <Izaya> ctrl-c
L133[09:11:36] <Izaya> or ctrl-alt-c if that doesn't work
L134[09:12:53] <Forecaster> I weigh about 90 right now
L135[09:13:16] <Forecaster> that's 198 pounds
L136[09:16:34] <S3> curious if this bot has 5.3
L137[09:16:40] <S3> %lua "123456" | 0
L138[09:16:40] <MichiBot> main:1: unexpected symbol near '"123456"'
L139[09:16:43] <S3> nope.
L140[09:16:59] <S3> cool trick I was shown in #lua
L141[09:17:12] <S3> it coerces a srring number into an integer
L142[09:17:32] <S3> but it needs 5.3
L143[09:17:46] <S3> you can still use tonumber but | 0 is faster
L144[09:17:56] <S3> both to type and faster in terms of performance
L145[09:24:29] <Izaya> %lua return _VERSION
L146[09:24:30] <MichiBot> Lua 5.2
L147[09:47:12] <AmandaC> %lua _VERSION = "MichiLua 9001.4"
L148[09:47:19] <AmandaC> %lua return _VERSION
L149[09:47:19] <MichiBot> MichiLua 9001.4
L150[09:47:23] <AmandaC> :D
L151[09:47:32] <Vexatos> %sel _VERSION
L152[09:47:32] <MichiBot> MichiLua 9001.4
L153[09:48:02] <LeshaInc> %lua return "12345" - 0
L154[09:48:02] <MichiBot> 12345
L155[09:48:38] <Wuerfel_21> %lua while true do _G=nil end
L156[09:48:42] <MichiBot> script took too long
L157[09:53:26] <Inari> Hm
L158[09:53:35] <Inari> I often see anime chars described as "gothloli"
L159[09:54:04] <Inari> But when then actually looking at gothic lolita dresses they look quite different. The anime chars thus look more like what I'd call Aristocrat. But Aristocraft Lolita dresses also don't quite fit :P
L160[09:55:09] <Rami> How can I make the program wait for the user to press any button ?
L161[09:55:29] <Inari> pull a keyboard event I guess
L162[09:55:43] <Forecaster> event.pull("key_down")
L163[09:55:43] <Inari> ~oc signals
L164[09:55:44] <ocdoc> http://ocd.cil.li/component:signals
L165[09:55:51] <Inari> What the cat said
L166[09:56:06] <Rami> I have to require the event library iirc
L167[09:56:13] <Inari> Yes
L168[09:56:38] <Rami> Thanks
L169[09:59:32] ⇦ Quits: jackie (jackie!~jackie@irc.chaosfield.at) (Remote host closed the connection)
L170[10:01:29] <Forecaster> https://twitter.com/BlakeNorthcott/status/999997848895787008
L171[10:01:30] <MichiBot> Fri May 25 07:57:20 CDT 2018 @BlakeNorthcott: Wait, I didn't know that EA was running #MegaCon?! https://t.co/AryelIpd1e
L172[10:26:27] ⇨ Joins: PopoCapo (PopoCapo!webchat@85.26.165.247)
L173[10:27:23] ⇦ Parts: PopoCapo (PopoCapo!webchat@85.26.165.247) ())
L174[10:28:20] ⇨ Joins: PopoCapo (PopoCapo!webchat@85.26.165.247)
L175[10:29:25] ⇦ Parts: PopoCapo (PopoCapo!webchat@85.26.165.247) ())
L176[10:45:44] <Forecaster> https://i.imgur.com/LtibhlY.jpg
L177[11:20:55] ⇨ Joins: ben_mkiv (ben_mkiv!~ben_mkiv@p57972184.dip0.t-ipconnect.de)
L178[11:23:42] ⇨ Joins: Cervator (Cervator!~Thunderbi@2601:4c1:4001:1d5d:a801:1ca2:434:1aaa)
L179[11:57:20] <Skye> Inari, https://www.youtube.com/watch?v=RtzrFPKMoPA
L180[11:57:20] <MichiBot> Living with My Voice | length: 7m 59s | Likes: 71,272 Dislikes: 1,577 Views: 1,143,579 | by Wolfychu | Published On 20/5/2018
L181[12:07:06] <20kdc> someone tried and failed to ping me: S3
L182[12:07:19] <20kdc> that is, S3 was the one who tried and failed to ping me.
L183[12:08:12] <20kdc> also, S3: my solution to TARs being huge is to compress them.
L184[12:27:54] ⇨ Joins: be (be!~be@95.187.109.180)
L185[12:28:01] <be> hi
L186[12:29:21] ⇦ Quits: be (be!~be@95.187.109.180) (Client Quit)
L187[12:31:32] <Izaya> about 1:30
L188[12:31:42] <Izaya> better than most
L189[12:35:41] <Inari> Skye: Just gotta go all in on it with Lolita outfits :P
L190[12:39:30] <Skye> Inari, lol(i)
L191[12:50:19] <Inari> https://twitter.com/wbm312/status/1000040692037533696
L192[12:50:19] <MichiBot> Fri May 25 10:47:35 CDT 2018 @wbm312: This is my favorite. #GDPRday https://t.co/fQrz2K6NHQ
L193[13:12:27] <Wuerfel_21> apparently: https://cdn.discordapp.com/attachments/276800898481651714/449616412407889930/unknown.png
L194[13:20:41] <Inari> https://www.youtube.com/watch?v=jrlzlaHEaB0&feature=em-uploademail
L195[13:20:41] <MichiBot> Stop thief! | length: 1m 35s | Likes: 2,762 Dislikes: 7 Views: 19,917 | by ArchD n' Bacon_ | Published On 24/5/2018
L196[13:23:24] <payonel> Inari: haha, the best is at the end: "How are you?", "Not bad"
L197[13:23:27] <Inari> :D
L198[13:23:28] <Inari> Yeah
L199[13:23:51] <Inari> I was half waiting for the guard to accidentally whack the khajiit, but I don't think thats how that works in the game
L200[13:24:09] <Inari> @Wuerfel_21 Well, I like the name
L201[13:33:50] <Forecaster> https://youtu.be/6e5lzHtxdW4?t=374
L202[13:33:50] <MichiBot> LGR Oddware Follow-up: "The Timer" X10 System Controller | length: 10m 10s | Likes: 1,972 Dislikes: 11 Views: 17,824 | by LGR | Published On 25/5/2018
L203[13:33:52] <Forecaster> dat bootup
L204[13:34:36] <MGR> I saw LGR, and at first I thought it was me, then I thought it was knockoff me, then I realized what it was
L205[13:57:34] <Wuerfel_21> The eternal king of woodgrain
L206[14:09:13] <Forecaster> https://xkcd.com/1998/
L207[14:09:13] <MichiBot> XKCD Comic Name: GDPR Posted on: 5/25/2018
L208[14:40:13] <S3> @20kdc yeah but ar is much simpler
L209[14:42:20] <Rami> Is it possible to use keyboard input while no having the screen open ?
L210[14:42:40] <Rami> Because I want to implement somekind of a hologram editor
L211[14:43:04] <Forecaster> uh
L212[14:43:08] <Forecaster> I don't think so
L213[14:44:04] <ben_mkiv> theres holoedit?!
L214[14:45:09] <Izaya> Paging @20kdc
L215[14:46:05] <20kdc> mew?
L216[14:46:16] <20kdc> why was I paged
L217[14:46:24] <20kdc> and who uses pagers nowadays
L218[14:46:28] <20kdc> why do I even *have this*
L219[14:46:34] <20kdc> %launch pager
L220[14:46:44] <20kdc> ...randomly guessing command names does not work
L221[14:46:48] <20kdc> that's a shame
L222[14:46:49] <S3> cell phones don't make sense in my state
L223[14:47:32] <S3> %inv add hamradio
L224[14:47:32] * MichiBot summons 'hamradio' and adds to her inventory. I could get some good swings in with this.
L225[14:47:45] <S3> %give 20kdc hamradio
L226[14:47:45] * MichiBot gives 20kdc hamradio from her inventory
L227[14:47:51] <Inari> %inv add a blue apple
L228[14:48:00] <Inari> %inv add a blue apple
L229[14:48:05] <Inari> %inv add a blue apple
L230[14:48:05] * MichiBot summons 'a blue apple' and adds to her inventory. This seems very sturdy.
L231[14:48:11] <S3> ....
L232[14:48:26] <S3> % inv add an apple II
L233[14:48:31] <S3> %inv add an apple II
L234[14:48:38] <S3> %inv add an apple II
L235[14:48:38] * MichiBot summons 'an apple II' and adds to her inventory. This seems very sturdy.
L236[14:49:54] <S3> If MichiBot summoned an army of Inaris
L237[14:50:02] <S3> would it be called an Inariarmi?
L238[14:51:34] <Inari> Inarmi
L239[15:34:11] <Kodos> https://i.redd.it/sbr4veiar0011.jpg
L240[15:35:53] <MGR> 100% accurate
L241[15:41:27] <MalkContent> that touches my soul
L242[15:54:02] <S3> lol
L243[16:00:47] ⇦ Quits: Xal (Xal!~Xal@S010664777dabacc3.vw.shawcable.net) (Ping timeout: 202 seconds)
L244[16:01:56] ⇨ Joins: Xal (Xal!~Xal@S010664777dabacc3.vw.shawcable.net)
L245[16:22:56] ⇨ Joins: begad (begad!~begad@95.187.109.180)
L246[16:23:51] <begad> hi
L247[16:24:13] <begad> hello???
L248[16:24:30] <begad> Bye
L249[16:24:35] ⇦ Quits: begad (begad!~begad@95.187.109.180) (Client Quit)
L250[16:24:53] <MGR> Sorry I didn't respond instantly
L251[16:25:03] <Forecaster> no you're not!
L252[16:25:12] <Forecaster> you dirty dirty liar!
L253[16:26:08] <MGR> True
L254[16:26:17] <MGR> I was lying in this case ?
L255[16:52:36] <Marcel> Hey, what is needed to draw smth. on the monitor e. g. a diagram or smth. similar?
L256[16:52:44] <Marcel> maybe a graph if this works?
L257[16:53:55] ⇨ Joins: Placid (Placid!webchat@ip-109-40-1-90.web.vodafone.de)
L258[16:54:11] <Marcel> would it be possible to get the image fomr the item in the provided slot so that I can draw smth. like this: https://i.imgur.com/ijLw7lh.png
L259[16:54:57] <Placid> Hey.. I have a problem.. OpenCoputers related obviesly (not bootable medium found: /init.lua)
L260[16:55:48] <AmandaC> Placid: that means there's no installed OS
L261[16:56:14] <Placid> I got it out of the creative inventory.. still nothing on it?
L262[16:57:30] <AmandaC> place a disk drive (or use a T3 case) and place an OpenOS disk in it, then run `install`
L263[16:58:38] <Placid> (hear_eye_emojy) :* Thx :)
L264[17:02:51] <AmandaC> %give MichiBot Inari's Soul with a lost and found tag stick on it
L265[17:02:51] * MichiBot accepts Inari's Soul with a lost and found tag stick on it and adds it to her inventory
L266[17:05:00] <Wuerfel_21> mario kart modding made me do this. And its flippin hype http://tinyurl.com/yd5atlh4
L267[17:07:10] <AmandaC> Oh, that's why the link didn't seem to open
L268[17:07:14] <AmandaC> It's a .ogg
L269[17:07:17] <AmandaC> I was expecting a photo
L270[17:07:49] <Corded> * <Wuerfel21> _would post a FLAC, but thats too big
L271[17:08:50] * AmandaC just rm-d them from her ~/Download, as she's listening to podcasts, and will surely forget by a hour and a half when she's done the episode
L272[17:18:22] ⇦ Quits: Placid (Placid!webchat@ip-109-40-1-90.web.vodafone.de) (Quit: webchat.esper.net)
L273[17:38:28] ⇦ Quits: xandaros (xandaros!~xandaros@185.35.77.23) (Read error: -0x1: UNKNOWN ERROR CODE (0001))
L274[18:18:46] <joaoadao> hello ?
L275[18:20:23] <MGR> Hello
L276[18:20:59] <joaoadao> you know how to install the kitten os?
L277[18:40:56] <joaoadao> what http://tinyurl.com/yak7fkgb
L278[18:40:58] <joaoadao> the correct is apu
L279[18:41:06] <joaoadao> but the translation is upa
L280[18:41:07] <joaoadao> wtf
L281[18:49:07] <joaoadao> @Marcel oh god this reactor generates 240eu
L282[18:58:24] ⇨ Joins: Doty1154 (Doty1154!~Doty1154@c-73-189-164-179.hsd1.ca.comcast.net)
L283[18:58:58] <joaoadao> hello doty
L284[19:05:22] ⇨ Joins: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
L285[19:16:33] ⇦ Quits: Inari (Inari!~Pinkishu@p4FC1E91C.dip0.t-ipconnect.de) (Quit: 'From one thing, know tenthousand things.' - Hanzo (Overwatch))
L286[19:33:20] <peelz> Payonel, I can't figure out how to make threads work with the rc start() stop() functions.
L287[19:34:03] <peelz> When I asked about rc scripts having a process of their own, I remember you telling me that the thread API was what I looking for.
L288[19:35:07] <peelz> Should I just wrap the entire rc script in a thread and assign the start and stop functions through a closure?
L289[19:48:15] <peelz> payonel, you there?
L290[19:51:12] <peelz> actually nvm what I said above, I have no idea how to expose start and stop functions from another process.
L291[19:54:09] ⇨ Joins: ben_mkiv|afk (ben_mkiv|afk!~ben_mkiv@p4FED5F1F.dip0.t-ipconnect.de)
L292[19:56:55] ⇦ Quits: ben_mkiv (ben_mkiv!~ben_mkiv@p57972184.dip0.t-ipconnect.de) (Ping timeout: 202 seconds)
L293[19:57:02] ⇨ Joins: Thutmose (Thutmose!~Patrick@host-69-59-79-181.nctv.com)
L294[20:15:20] ⇦ Quits: Vexatos (Vexatos!~Vexatos@p200300C107179458567E07C489AA2DBE.dip0.t-ipconnect.de) (Quit: Insert quantum chemistry joke here)
L295[20:50:37] <AmandaC> peelz: start() would thread.create a thread, stop() would call :kill on the thread, then you'd have a normal event pump inside the function you passed to thread.create
L296[20:52:35] <peelz> AmandaC, that's what I did, but I need a return value from my lib's start() function. Can I do this? https://hastebin.com/zelupusisu.lua
L297[20:53:00] <peelz> Does the process live on?
L298[20:53:41] <AmandaC> the function you pass to thread.start *is* the "process"
L299[20:53:58] <AmandaC> It shouldn't be returning until it's done running
L300[20:54:38] <peelz> I'm only using the process so that I can swap its window
L301[20:55:59] <peelz> lib.start() registers event listeners (i.e. event.listen())
L302[20:56:28] <peelz> what happens to the process reference when the listener is called?
L303[20:57:25] <AmandaC> ... what?
L304[20:57:39] <peelz> ?
L305[20:57:55] <AmandaC> Sorry, I'm confused, my brain's off for awhile now. think I'll go back to playing Yonder
L306[20:58:06] <peelz> my bad, probably just bad wording lol
L307[20:58:14] <peelz> If there's no message pump, what happens to the event listeners?
L308[20:58:36] <peelz> * when the thread terminates
L309[21:00:06] <peelz> do I need to convert my event listeners into a "blocking" event.pull() loop?
L310[21:00:36] <AmandaC> When the thread teminates the events are un-listened
L311[21:00:44] <peelz> ah
L312[21:01:38] <peelz> yeah I kinda just solved. I guess I'll convert my event.listen()'s into a single event.pull()
L313[21:01:44] <peelz> for the thread
L314[21:01:59] <peelz> * it
L315[21:02:03] <peelz> holy shit I can't English tonight
L316[21:06:03] ⇦ Quits: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org) (Remote host closed the connection)
L317[21:25:01] ⇦ Quits: ben_mkiv|afk (ben_mkiv|afk!~ben_mkiv@p4FED5F1F.dip0.t-ipconnect.de) (Ping timeout: 194 seconds)
L318[21:32:19] ⇦ Quits: Thutmose (Thutmose!~Patrick@host-69-59-79-181.nctv.com) (Quit: Leaving.)
L319[21:47:19] ⇦ Quits: Cervator (Cervator!~Thunderbi@2601:4c1:4001:1d5d:a801:1ca2:434:1aaa) (Quit: Cervator)
L320[21:47:22] <Izaya> https://lainchan.org/player.php?v=/vis/src/1525903131802.webm&t=1424123431320.webm&loop=1
L321[21:50:16] ⇨ Joins: Wiiplay123 (Wiiplay123!~Wiiplay12@adsl-72-154-27-141.bna.bellsouth.net)
L322[22:43:45] <payonel> peelz: poke
L323[22:43:51] <peelz> o/
L324[22:44:05] <payonel> AmandaC: you rock, thanks for helping out
L325[22:44:30] <payonel> peelz: just like amanda said, when your thread returns, your daemon is done/dead
L326[22:44:47] <payonel> and join would block your rc start() from finished until said thread was dead
L327[22:45:27] <peelz> right
L328[22:45:57] <peelz> The reason I was using join there is because I expected the event listeners to persist after the thread's termination
L329[22:46:19] <payonel> any event registrations you make in a thread are local to that thread
L330[22:46:31] <peelz> right
L331[22:46:37] <payonel> also, if your thread is dead, you have no process
L332[22:46:40] <payonel> which is what you wanted
L333[22:46:51] <peelz> I think so yeah
L334[22:46:52] <payonel> your thread function _is_ your process
L335[22:46:59] <payonel> also exactly what amanda said :)
L336[22:46:59] <peelz> I figured I needed to make a couple changes to the way my daemon lib to fix that
L337[22:47:16] <payonel> once you're inside a thread, you can pretend there is no one else to care about
L338[22:47:22] <payonel> you can put in a blocking loop
L339[22:47:31] <payonel> and run forever
L340[22:48:06] <payonel> https://hastebin.com/iwuruhosec.lua
L341[22:48:10] <peelz> my lib.start()/lib.stop() functions returned extra messages for the rc methods to print, but I got rid of that since I can't possibly return extra info with a blocking event.pull()
L342[22:48:23] <AmandaC> Meow?
L343[22:48:31] <peelz> meow
L344[22:48:38] * AmandaC yawns, stretches, curls up for bed
L345[22:48:40] <AmandaC> night nerds
L346[22:48:43] <peelz> lol night
L347[22:48:53] <payonel> peelz: inside a thread function you can block all you want
L348[22:49:22] <Izaya> o/
L349[22:51:43] <peelz> payonel, well not really since if the thread doesn't yield, it blocks the entire scheduler, right?
L350[22:52:19] <AmandaC> peelz: pretty much anything event based will be yielding, tho
L351[22:52:31] <peelz> right
L352[22:53:50] <payonel> peelz: no
L353[22:53:52] <payonel> threads are special
L354[22:54:02] <payonel> if you read the thread docs.... :)
L355[22:54:11] <payonel> that's what i've been trying to say, and thus my example: https://hastebin.com/iwuruhosec.lua
L356[22:54:12] <peelz> payonel, so yeah... I got rid of the return values (oh well) and replaced the event.listen() with a ̀`while running do onEvent(event.pull())`
L357[22:54:37] <peelz> but doesn't os.sleep(0) yield?
L358[22:55:01] <payonel> again, once you are inside your thread function, you can stop thinking about the rest of the system
L359[22:55:01] <peelz> kinda like setTimeout(fn, 0) in JS?
L360[22:55:10] <payonel> pretend you are writing code that never needs to leave the function
L361[22:55:16] <payonel> i dont know js
L362[22:55:20] <payonel> i'm a c++ dev
L363[22:55:22] <peelz> ah
L364[22:56:33] <peelz> well setTimeout(fn, 0) makes it so that fn executes as soon as possible, but without blocking
L365[22:56:47] <peelz> it just adds fn to the event loop
L366[22:58:15] <payonel> from the context of your thread, there need not be any other process in the system
L367[22:58:23] <payonel> when your thread function returns, your thread is dead
L368[22:58:34] <payonel> so don't return unless you have no work to ever do again
L369[22:58:39] <peelz> yup, got that
L370[22:59:28] <payonel> as far as OC is concerned, you have to yield (sleep, pullSignal, event.pull, etc) in your thread function at least once every 5 seconds
L371[22:59:39] <payonel> which is no different than writing scripts that aren't in threads
L372[23:00:17] <peelz> what happens if an call blocks for 4 seconds?
L373[23:00:21] <peelz> Does the entire OS freeze for 4s?
L374[23:01:24] <payonel> yes, because threads in openos don't execute in parallel
L375[23:01:38] <payonel> but you personally don't need to manage what process is running next, or which thread
L376[23:01:42] <payonel> that's what the os does for you
L377[23:02:02] <peelz> right, that's the scheduler part
L378[23:02:08] <payonel> and just like calling event.pull in your user program, you expect to get the next event
L379[23:02:26] <payonel> you have the same guarantees in a thread
L380[23:02:32] <payonel> it is as if you have multiple sub systems
L381[23:02:47] <payonel> but ideally, you don't think too hard about these things
L382[23:03:07] <payonel> you just write the code as if you were writing a normal user level script. that can use io, block for events, or anything it wants
L383[23:03:45] <payonel> but note, once your thread is dead, anything you added to the event system is also dead
L384[23:03:54] <payonel> just like a fully enclosed sub system
L385[23:04:05] <payonel> that is also detailed in the docs
L386[23:04:08] <payonel> ~w thread
L387[23:04:08] <ocdoc> http://ocd.cil.li/api:thread
L388[23:04:19] <peelz> yeah I read the docs
L389[23:05:46] <peelz> The reason I got stuck is because I was registering event listeners using event.listen (without blocking) and I returned (synchronously) various messages for the rc script to print (e.g. 'Started [whatever] listener...'), and that worked fine for my other projects...
L390[23:06:43] <peelz> but since I have to run this one inside a thread, I can't really return messages from the thread's function (not synchronously at least), unless I use some pubsub API
L391[23:08:42] <peelz> payonel: i.e. https://hastebin.com/vodaseqote.lua
L392[23:09:10] <payonel> also, the event.listeners you create in the thread are dead once the thread returns or joins
L393[23:09:33] <peelz> yeah I get that, so that's why I can't do event.listen()
L394[23:09:50] <payonel> well you can :) just don't return from the thread
L395[23:09:57] <payonel> it's almost like you have a little os inside there
L396[23:10:00] <peelz> lol
L397[23:10:06] <payonel> once your thread returns, your world is gone
L398[23:10:10] <peelz> yup
L399[23:10:39] <peelz> I mean it'll only exit once I tell it to (i.e. `handle:kill()`)
L400[23:10:46] <peelz> via stop()
L401[23:11:22] <payonel> because it is a thread, your start() is non blocking. that makes sense, yes?
L402[23:11:30] <peelz> yup
L403[23:11:42] <payonel> and your kill() will stop your thread for you, which is also why you can use an inf loop inside the thread
L404[23:11:54] <peelz> Yeah I get that
L405[23:11:57] <payonel> coo
L406[23:12:02] <peelz> :P
L407[23:13:48] <payonel> well, sounds like you've made good progress
L408[23:13:54] <payonel> i'll be gone for a bit. good luck
L409[23:14:16] <peelz> yeah I've been working on it a little bit a time
L410[23:14:20] <peelz> alrighty
L411[23:17:02] <peelz> %tell payonel on my old 1.7.10 server, I used to get this weird bug where the remote terminal would display a black screen if I were to bind it to a different terminal server, at least until I rejoined the server. Is that still a thing/do you know anything about that bug?
L412[23:17:02] <MichiBot> peelz: payonel will be notified of this message when next seen.
L413[23:32:25] <Izaya> https://pomf.pyonpyon.moe/gbjvfa.webm
L414[23:40:57] <peelz> Izaya: you should consider using a different webm host. My AV really doesn't like that website.
L415[23:41:06] * Izaya shrugs
L416[23:41:27] <Izaya> IIRC it allows uploading of exes, and haruhi forbid you do that!
L417[23:42:15] <Izaya> In all seriousness, I'll be getting better home internet soon(TM) so hopefully I'll be able to do it all myself.
L418[23:42:25] <peelz> Awesome.
L419[23:42:55] <Izaya> 50/25 for $50/month isn't bad for here.
L420[23:43:09] <peelz> That's pretty good actually
L421[23:43:11] <peelz> Better than what I have lol
L422[23:43:35] <Izaya> I mean, it's a joke.
L423[23:43:42] <Izaya> We were meant to have gigabit fibre by now.
L424[23:43:45] <Izaya> But such is life.
L425[23:44:00] <Izaya> Anyway, does your AV complain similarly about mixtape.moe and pomf.cat?
L426[23:44:02] * peelz shrugs
L427[23:44:18] <peelz> not mixtape.moe AFAIK
L428[23:44:27] <peelz> hmm
L429[23:44:30] <Izaya> alright, I'll use that in future
L430[23:44:37] <Izaya> it has some weird connection issues but I'll live with that
L431[23:44:45] <peelz> it doesn't block pomf.cat but as soon as I open pomf.cat, it complains about a.pomf.cat lol
L432[23:45:00] <Izaya> ah, a.pomf.cat is where the actual files go
L433[23:45:03] <peelz> lol
L434[23:45:10] <Izaya> nice
L435[23:45:40] <Izaya> man it's a pain, pomf sites are a service to the community and all AV vendors do is try to shut them down :|
L436[23:45:46] <peelz> :(
L437[23:46:03] <peelz> How long do they host files for?
L438[23:46:09] <Izaya> Depends on the host.
L439[23:46:15] ⇦ Quits: SuperCoder79 (SuperCoder79!uid276919@id-276919.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
L440[23:46:15] <peelz> what about pomf?
L441[23:46:27] <Izaya> Some have a set time limit like 24 hours, others like mixtape host till they run out of space
L442[23:47:46] <Izaya> pomf.cat is no set time limit by the looks
L443[23:47:50] <peelz> cool
L444[23:48:23] <peelz> My AV blocks pyonpyon.moe for 'Potential phishing attempt'
L445[23:48:31] <Izaya> also notable: it has an ad on it. the ad is a gif image linking to somewhere. no javascript neccesary. incredible.
L446[23:48:52] <peelz> and same message for a.pomf.cat
L447[23:49:00] <Izaya> huh
L448[23:49:08] <peelz> maybe these hosts have been used for phising/malicious purposes before.
L449[23:49:14] <Izaya> oh definitely
L450[23:49:24] <peelz> that's probably why they're blacklisted
L451[23:49:25] <Izaya> they're pretty much no rules beyond no cheese pizza
L452[23:49:30] <peelz> lol
L453[23:49:43] <Izaya> and I appreciate that significantly
L454[23:50:04] <Izaya> I wonder if lainfile is still up...
L455[23:50:26] <Izaya> it is not
L456[23:50:30] <peelz> rip
L457[23:50:50] <Izaya> it was on a .pw domain and I'm pretty sure that entire TLD is blacklisted by AV vendors
L458[23:51:20] <peelz> o.o?
L459[23:51:24] <peelz> why is that?
L460[23:51:51] <Izaya> unsure
L461[23:51:55] <Izaya> perhaps it was cheap and didn't require signficant ID to register a domain on it
L462[23:51:59] <peelz> that's really fucking weird
L463[23:52:17] <Izaya> perhaps there were just more malicious sites than anything else on there
L464[23:52:33] <Izaya> vifino: Druaga1 did a TempleOS video.
L465[23:53:47] <Xal> use teknik.io
L466[23:54:13] <Izaya> https://www.youtube.com/watch?v=3KshdEVdJA4
L467[23:54:13] <MichiBot> TempleOS | length: 42m 11s | Likes: 134 Dislikes: 1 Views: 1,050 | by Druaga1 | Published On 26/5/2018
L468[23:58:04] <Izaya> '98MB of 497MB (101KB/s) - A few seconds remaining'
L469[23:58:12] <Izaya> haiku go home you're drunk
L470[23:59:58] <joaoadao> hello
<<Prev Next>> Scroll to Top