<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:05:42] *** medsouz is now known as medsouz|offline
L2[00:11:25] <Saphire> https://en.wikipedia.org/wiki/Block-oriented_terminal - shiny
L3[00:15:21] * Saphire hmmms
L4[00:15:31] <Saphire> A mainframe building mod for MC?
L5[00:40:14] <Izaya> No reason you couldn't do a block terminal in an EEPROM
L6[00:40:39] <Izaya> Even just line-oriented ones
L7[00:40:47] <Izaya> Have a mode for 'only send on completed line'
L8[01:29:46] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:847f:5c31:5ae:726)
L9[02:05:35] ⇦ Quits: techno156 (~techno156@137.154.137.222) (Remote host closed the connection)
L10[02:13:14] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:847f:5c31:5ae:726) (Read error: Connection reset by peer)
L11[02:14:20] ⇦ Quits: Cervator (~Thunderbi@2601:4c1:4000:1050:af:d92b:ba21:fd7b) (Quit: Cervator)
L12[02:26:09] ⇨ Joins: Vexatos (~Vexatos@p200300556E5AFE0054153A368E4BE587.dip0.t-ipconnect.de)
L13[02:26:10] zsh sets mode: +v on Vexatos
L14[02:47:24] <sytoru> *stretch* a successful hack completed.
L15[02:47:40] <sytoru> time to celebrate with a bacon butty and a cuppa
L16[03:06:35] ⇨ Joins: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl)
L17[03:12:44] <diphtherial> was ist ein 'bacon butty'?
L18[03:13:41] <diphtherial> speck mit brot und budder?
L19[03:13:50] <diphtherial> s/budder/butter/
L20[03:13:50] <MichiBot> <diphtherial> speck mit brot und butter?
L21[03:18:05] <sytoru> close enough :)
L22[03:26:39] ⇨ Joins: Inari (~Pinkishu@p5DEC67E8.dip0.t-ipconnect.de)
L23[03:46:09] ⇨ Joins: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com)
L24[03:54:22] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L25[03:55:22] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Client Quit)
L26[03:55:31] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L27[03:58:04] <Inari> Darlin'~ Come on over here~ Darlin'~ Just hold me tight!~ Darlin'~ You mustn't feel embarrassed!~ Darlin'~ Just give me a kiss!~ Cause darlin'~ I really love you~
L28[03:58:27] <Kodos> Inari, do you have a chicken duck woman thing waiting for you
L29[03:58:35] <Inari> A what?
L30[03:58:50] <Kodos> https://youtu.be/RySHDUU2juM
L31[03:58:50] <MichiBot> "BUSHES OF LOVE" -- Extended Lyric Video | length: 4m 50s | Likes: 257,514 Dislikes: 2,347 Views: 17,413,034 | by Bad Lip Reading | Published On 2/1/2016
L32[03:59:47] <Inari> The channel name disagrees with the content
L33[04:00:38] <Inari> In the bushes of love huh :P
L34[04:01:32] <Inari> Not actually a bad song even
L35[04:04:31] <Inari> But nah, just listening to https://www.youtube.com/watch?v=DNPhk-97ZvQ#t=30s :P
L36[04:04:31] <MichiBot> Idol College - Ichizu Recipe (Shomin Sample Op) | length: 5m 46s | Likes: 1,134 Dislikes: 7 Views: 88,490 | by Nhật Nguyên | Published On 14/11/2015
L37[04:04:46] <Kodos> I'd rather listen to https://youtu.be/U9t-slLl30E
L38[04:04:46] <MichiBot> "SEAGULLS! (Stop It Now)" -- A Bad Lip Reading of The Empire Strikes Back | length: 3m 57s | Likes: 341,161 Dislikes: 4,434 Views: 20,694,502 | by Bad Lip Reading | Published On 25/11/2016
L39[04:13:29] ⇦ Quits: sytoru (webchat@host86-184-18-45.range86-184.btcentralplus.com) (Ping timeout: 180 seconds)
L40[04:40:33] <Kodos> Oh my God this is amazing
L41[04:40:34] <Kodos> https://www.youtube.com/watch?v=yUvs4n4s_3o
L42[04:40:35] <MichiBot> Dr. Phil, the Beef Master | length: 1m 17s | Likes: 944 Dislikes: 73 Views: 19,701 | by Who Beefed? | Published On 25/3/2016
L43[04:51:50] <Inari> http://s2.quickmeme.com/img/ee/ee99fa809366ff8e03d289fb57a1af32e80e9d8738134344c4811a3d7803a620.jpg savage
L44[04:53:30] <Forecaster> https://www.instagram.com/p/BQFlswFDD4A/
L45[04:53:48] <Forecaster> that is adorable
L46[04:55:28] * Ashindigo_ wishes he had a cat to pet right now
L47[05:08:06] <diphtherial> same here, my wife's been dying for a cat
L48[05:08:55] <Forecaster> she's reverse-allergic? :O
L49[05:26:33] <Kodos> Is The Office (US version) on netflix?
L50[05:27:18] ⇨ Joins: Turtle (~SentientT@82.171.92.73)
L51[05:29:35] <Kodos> I wonder...
L52[05:29:41] <Kodos> Does Forge fire an event when a player joins a server
L53[05:30:07] <Sangar> o/
L54[05:30:13] <Sangar> it does
L55[05:30:31] <Kodos> I kind of want a component that fires an event when a player joins the server
L56[05:30:41] <Kodos> Can that be a debug card thing?
L57[05:32:50] <Ashindigo_> ~wiki debug
L58[05:32:50] <ocdoc> http://www.lua.org/manual/5.2/manual.html#pdf-debug
L59[05:32:59] <Ashindigo_> ~doc debug
L60[05:33:17] <Kodos> ~w debug card
L61[05:33:17] <ocdoc> http://ocd.cil.li/item:debug_card
L62[05:33:28] <Ashindigo_> Thanks
L63[05:33:51] <Ashindigo_> You can get a table of all players
L64[05:34:04] <Kodos> Ehhh, I guess that could work
L65[05:34:15] <Ashindigo_> Why can't you fire off an event when that number increases
L66[05:34:38] <Kodos> The idea was to have the component fire an event when a player joins, and then use that for various things, one example being a greeter bot script
L67[05:34:39] ⇨ Joins: techno156 (~techno156@137.154.136.242)
L68[05:35:05] <Ashindigo_> A new player or any player?
L69[05:35:07] ⇨ Joins: Nathan1852 (~Nathan185@HSI-KBW-091-089-189-253.hsi2.kabel-badenwuerttemberg.de)
L70[05:35:21] <Kodos> Any player. Whether or not the player was 'new' should be dealt with on the software side
L71[05:37:14] <Vexatos> Sangar, uwot
L72[05:38:04] <Ashindigo_> Sounds easy enough to make with the current tools at hand
L73[05:39:13] <Vexatos> Sangar, simplex exclude all these https://github.com/MightyPirates/OpenComputers/pull/2134/files#diff-c197962302397baf3a4cc36463dce5eaR218
L74[05:39:16] <Vexatos> simply*
L75[05:42:17] <Sangar> Vexatos, i did, i just removed the ones that are not listed in the .pom as dependencies anymore after it didn't work with all of them anyway
L76[05:42:46] <Sangar> my guess is that scala compiles things a bit differently, idk. i'd have to make a test class in oc to see if that suspicion has any merit :P
L77[05:44:22] <Vexatos> What exactly doesn't compile?
L78[05:44:30] <Vexatos> Scala compiler in the end is just the java compiler anyway
L79[05:44:39] <Kodos> Eh, alright. Suppose I'll just make a 10 second looping player list check
L80[05:44:42] <Kodos> And log player names to a file
L81[05:46:02] <Sangar> Vexatos, fails at the instanceof IConduitBundle, and at casting to it, because that interface extends a bunch of other interfaces from other mods, all of which are not present
L82[05:47:24] <Vexatos> uuuh
L83[05:47:29] <Vexatos> add all the deps \;D7
L84[05:47:40] * Vexatos runs
L85[05:47:55] <Sangar> i did, none of the mavens had ae2 for example .-.
L86[05:48:03] <Sangar> that's why i gave up
L87[05:48:31] <Vexatos> Not "for example"
L88[05:48:35] <Vexatos> AE2 specifically
L89[05:48:44] <Vexatos> There is no maven for AE2 right now and there won't be one
L90[05:48:50] <Vexatos> get it from curseforge :P
L91[05:49:01] <Sangar> well, it's the first one it failed at, so i couldn't say if more would pop up after..
L92[05:49:16] <Sangar> fix one, get two new, that's how this works after all
L93[05:49:34] <Vexatos> yesss
L94[05:50:01] <Vexatos> I only ever had the inheritance compiler error when _implementing_ an interface
L95[05:50:04] <Vexatos> not when casting to it
L96[05:50:09] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Read error: Connection reset by peer)
L97[06:02:01] <Sangar> https://github.com/MightyPirates/TIS-3D/blob/enderio-MC1.10/src/main/java/li/cil/tis3d/common/integration/enderio/RedstoneInputProviderEnderIO.java#L29-L30 that's all i'm doing, and that's what's erroring
L98[06:04:48] <Vexatos> huh
L99[06:06:11] ⇨ Joins: BearishMushroom (~BearishMu@90-231-174-194-no159.tbcn.telia.com)
L100[06:08:44] ⇦ Quits: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl) (Quit: Leaving)
L101[06:26:00] ⇦ Quits: techno156 (~techno156@137.154.136.242) (Remote host closed the connection)
L102[06:28:54] ⇨ Joins: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au)
L103[06:39:19] <Kodos> After my TV
L104[07:12:18] <vifino[m]> S3: I got a bbb now. Only 60€ at my local electronics store. Surprising!
L105[07:12:56] <vifino[m]> Gonna build/assembly/design a 3d printer cape for it.
L106[07:21:01] ⇦ Quits: Turtle (~SentientT@82.171.92.73) (Quit: Nettalk6 - www.ntalk.de)
L107[07:22:10] ⇨ Joins: Turtle (~SentientT@82.171.92.73)
L108[07:35:59] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L109[07:57:32] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L110[07:59:21] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Read error: Connection reset by peer)
L111[08:01:25] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L112[08:02:38] ⇨ Joins: Brinkebrank (~brinkebra@78-70-132-7-no176.tbcn.telia.com)
L113[08:02:38] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Read error: Connection reset by peer)
L114[08:03:34] ⇦ Quits: Brinkebrank (~brinkebra@78-70-132-7-no176.tbcn.telia.com) (Client Quit)
L115[08:04:26] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L116[08:12:12] <Inari> Mimiru: Any idea what the difference between Message and GenericMessage is?
L117[08:20:00] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Read error: Connection reset by peer)
L118[08:20:34] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L119[08:21:15] ⇦ Quits: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au) (Quit: Leaving)
L120[08:23:56] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Read error: Connection reset by peer)
L121[08:34:33] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L122[08:35:01] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Client Quit)
L123[08:40:58] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L124[08:45:01] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Client Quit)
L125[08:47:00] ⇨ Joins: MajGenRelativity (~MajGenRel@c-73-47-198-254.hsd1.ma.comcast.net)
L126[08:51:26] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Read error: Connection reset by peer)
L127[08:52:08] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L128[08:52:13] ⇨ Joins: Keanu73 (~Keanu73@89.40.122.122)
L129[08:58:15] ⇨ Joins: bauen1_ (~quassel@2a02:810d:1980:1584:e0a1:526d:2797:bbff)
L130[09:00:26] ⇦ Quits: bauen1 (~quassel@2a02:810d:1980:1584:601d:c7bd:d200:b39f) (Ping timeout: 180 seconds)
L131[09:05:41] ⇦ Quits: Keanu73 (~Keanu73@89.40.122.122) (Quit: Where have I gone?)
L132[09:07:07] <Mimiru> Inari, GenericMessage fires on PMs as well, but it doesn't have the channel info available at any time because it's... generic
L133[09:07:29] <Inari> Heh
L134[09:07:38] <Inari> So thats why the weird storing-channel workaround
L135[09:07:38] <Inari> :P
L136[09:07:55] <Mimiru> Message fires on channel message and has channel info. what I usually do is put my actual code in GenericMessage, and set the channel info in Message, then check if the channel info is available
L137[09:07:56] <Mimiru> yep
L138[09:08:16] <Inari> Weird how thats set up
L139[09:08:24] <Mimiru> Yeah....
L140[09:08:28] <Mimiru> I didn't do it :P
L141[09:13:39] <Inari> Mimiru: Would be nicer if you checked the class of Event and chose the target appropriately I guess :P
L142[09:17:24] <Inari> Oh theres even an event.respond?
L143[09:23:38] <Mimiru> yes, but I don't use it much anymore, cause it pings the user.. which I find annoying for most things
L144[09:24:58] ⇨ Joins: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net)
L145[09:31:01] <Inari> Mimiru: Makes sense
L146[09:31:28] <Inari> https://hastebin.com/etofobefah.jav you can apparently do something like that though
L147[09:31:32] <Inari> Well, .java
L148[09:31:33] <Inari> :P
L149[09:31:40] <Inari> But JAV is lewd
L150[09:31:41] <Inari> So I 'm fine
L151[09:32:39] <Mimiru> I've also redone some stuff in AbstractListnener recently, that I've not changed in all of the modules
L152[09:33:00] <Mimiru> you have 4 functions, 2 of them will fire only if the message starts with the command prefix, and the other 2 fire on every message
L153[09:59:27] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Quit: Mischief Managed!)
L154[10:11:53] *** wer38 is now known as wer38|AFK
L155[10:48:25] <S3> Hey guys
L156[10:48:31] <Forecaster> hey you
L157[10:48:35] <Kodos> o/
L158[10:49:06] <S3> heh.
L159[10:49:12] <S3> I'm using cool retro term
L160[10:50:18] <Forecaster> time to write a dice rolling function
L161[10:50:43] <Forecaster> or rather, remove the placeholder that just always returns 6
L162[10:50:58] <AshIndigo> %xkcd rng
L163[10:51:01] <MichiBot> AshIndigo: https://xkcd.com/221/ - *xkcd: Random Number*: "Random Number. | · >|. Permanent link to this comic: https://xkcd.com/221/ Image URL (for hotlinking/embedding): ..."
L164[10:51:01] <Mimiru> Forecaster, write me one for michibot :P
L165[10:51:22] <Forecaster> maybe when I'm done with this thing :P
L166[10:51:27] <Mimiru> lol
L167[10:51:29] <Forecaster> I think it's only the dice thing left
L168[10:51:43] <Mimiru> also, all RNGs should return 4 everyone knows this.
L169[10:51:51] <Forecaster> then I'm going to shelve it until wednesday when I can get some feedback
L170[10:53:36] <S3> gamax92: OCEmu curses mode!
L171[11:04:18] <Forecaster> hrm, for testing I filled an array with 100 dice rolls...
L172[11:04:29] <Forecaster> now to figure out an easy way of calculating ocurrances
L173[11:07:27] <Forecaster> uuh
L174[11:07:34] <Forecaster> 7: 10...
L175[11:07:45] <Forecaster> it rolls 6 sided dice...
L176[11:07:46] <Forecaster> wut
L177[11:07:55] <AshIndigo> math!
L178[11:08:11] <Forecaster> yeah, I fail at it apparently :P
L179[11:08:25] * AshIndigo continues digging out his secret bunker
L180[11:08:57] <Forecaster> ah right
L181[11:09:05] <Forecaster> probably don't want "result > 6"
L182[11:09:09] <Forecaster> == should work right
L183[11:10:49] <Forecaster> just had a spammer join #railcraft
L184[11:10:53] <Forecaster> ~oqiwudj@105.201.231.237
L185[11:10:58] <AshIndigo> punch him
L186[11:11:07] <Forecaster> already banned
L187[11:11:27] <Forecaster> it
L188[11:11:41] <Vexatos> with a punch bowl!
L189[11:11:59] <Forecaster> no I used the ban hammer :P
L190[11:12:09] <AshIndigo> why not the punch hammer?
L191[11:12:16] <AshIndigo> or the ban fist
L192[11:12:20] <Vexatos> it is a hammer filled with fruit punch
L193[11:14:03] <Forecaster> is this bad in 100 rolls?
L194[11:14:05] <Forecaster> 1:19,2:16,3:17,4:20,5:17,6:11
L195[11:14:32] <Forecaster> as number:occurances
L196[11:16:04] <Forecaster> and 1000 rolls: 1:150, 2:161, 3:163, 4:181, 5:190, 6:155
L197[11:16:09] <Vexatos> well, calculate the deviation
L198[11:16:28] <payonel> o/
L199[11:16:29] <Forecaster> tehwhatnow
L200[11:16:32] <AshIndigo> \o
L201[11:17:55] <AshIndigo> starting at y:68 how deep should i go for a bunker?
L202[11:18:20] <Forecaster> y-10
L203[11:18:24] <Forecaster> you'll be safe there
L204[11:18:39] <AshIndigo> the bedrock monster is at -10 though
L205[11:19:00] <AshIndigo> unless your using the - as the :
L206[11:19:14] <Forecaster> no :P
L207[11:19:24] <Forecaster> why would anyone do that...
L208[11:19:39] <AshIndigo> no idea
L209[11:25:49] <Forecaster> argh
L210[11:25:54] <Forecaster> statistics is so much reading D:
L211[11:28:20] ⇨ Joins: Cervator (~Thunderbi@2601:4c1:4000:1050:7837:46ee:b715:1958)
L212[11:31:09] <MajGenRelativity> S3, I'm beginning more tests on GERTi
L213[11:31:21] <MajGenRelativity> I am going to try to get the Open Route function done today
L214[11:31:32] <MajGenRelativity> getting it implemented on the gateway is bonus points
L215[11:36:34] * Vexatos pokes s3
L216[11:38:44] <Forecaster> the variance is apparently 0.0128 in 10k rolls
L217[11:38:54] <Forecaster> according to this function I just wrote
L218[11:39:03] <Forecaster> based on https://en.wikipedia.org/wiki/Standard_deviation
L219[11:39:18] <Forecaster> I'm guessing 0 would mean perfect distribution
L220[11:40:02] <Forecaster> huh, neat
L221[11:40:47] <Forecaster> my own dice roll function yelds a lower variance than getRandomInt(1,6)
L222[11:40:52] <Kodos> Is the lua bot still dead
L223[11:40:57] <Forecaster> yes
L224[11:41:15] <Forecaster> Vexatos: am I correct?
L225[11:41:24] <Kodos> iirc it was vif's bot
L226[11:41:24] ⇦ Quits: Turtle (~SentientT@82.171.92.73) (Quit: Nettalk6 - www.ntalk.de)
L227[11:41:26] <Kodos> not vex's
L228[11:41:35] <Forecaster> in that low variance == good
L229[11:41:42] <Vexatos> uuh
L230[11:41:44] <Vexatos> #lua return 4
L231[11:41:57] <Vexatos> #lua print(4)
L232[11:42:01] <Vexatos> Yes it is
L233[11:42:22] ⇨ Joins: Turtle (~SentientT@82.171.92.73)
L234[11:42:28] <Vexatos> Forecaster, calculate the deviation and not the variance
L235[11:42:31] <Vexatos> But yes, lower = better
L236[11:42:55] <Forecaster> the variance in this case is the mean of the deviation of each roll
L237[11:43:32] <Forecaster> is that not what I want?
L238[11:44:59] <MajGenRelativity> Ok, neighbor routing works
L239[11:45:23] <Vexatos> Forecaster, stats.stackexchange.com/questions/35123/whats-the-difference-between-variance-and-standard-deviation
L240[11:45:24] <Forecaster> "Variance: 0.007"
L241[11:45:29] <Forecaster> I'd say that's pretty good
L242[11:45:46] <Vexatos> the deviation actually has the same unit and scale
L243[11:46:41] <Forecaster> well the square root of that is 0.08366600265340755
L244[11:46:50] <Forecaster> also pretty darn near 0
L245[11:47:16] <Forecaster> that yelds NaN when the variance is negative though I just found out
L246[11:48:34] <Forecaster> overall it seems that my function actually improves the result, which is great
L247[11:49:03] <Forecaster> over just getting a random number between 1 and 6
L248[11:49:51] <Forecaster> I have no idea what these numbers mean relative to real dice-rolls though
L249[11:50:14] <Vexatos> Well if the variance is negative you derped your calculation
L250[11:50:29] <Vexatos> It can not ever be negative
L251[11:50:39] * Forecaster shrugs
L252[11:50:46] <Forecaster> it's sometimes negative for some reason
L253[11:51:06] <Vexatos> then you miscalculate
L254[11:51:18] <Forecaster> it doesn't matter that much though
L255[11:51:30] <Vexatos> It does if your formula is wrong
L256[11:51:56] <Forecaster> this is just a thing for a board game thing thingy
L257[11:52:06] <Forecaster> it's not that important that it's correct :P
L258[11:52:34] <Forecaster> not enough for me to bother debugging this function
L259[11:54:22] <Mimiru> I hate getting EDM songs stuck in my head... cause what the fuck do you look up.. lol
L260[11:54:41] <Vexatos> Forecaster, it makes little sense if the formula doesn't actually give you any variance though
L261[11:54:42] <Vexatos> :P
L262[11:54:49] <Forecaster> use one of those apps, I'm sure they'll find the right one
L263[11:54:53] <Forecaster> :P
L264[11:55:01] <Forecaster> if you hum it
L265[11:55:09] <Mimiru> I doubt it :P
L266[11:55:14] <Forecaster> :P
L267[11:55:32] <Forecaster> I just wanted the difference between the two RNG's
L268[11:55:54] <Mimiru> It had this one part that went kinda.... hmm it's hard to explain
L269[11:55:59] <Mimiru> you know it kinda went...
L270[11:56:00] <Forecaster> the output would most liklely be useless elsewhere :P
L271[11:56:02] <Mimiru> lol
L272[11:57:57] <Vexatos> Mimiru, what i do is write it down
L273[11:58:03] <Vexatos> and then search for the melody
L274[12:23:37] <MGR> so, I have an issue
L275[12:23:41] <MGR> my setup is: http://imgur.com/a/6cQZp
L276[12:23:57] <MGR> Network messages propagate from the computer in the lower left, all the way to the upper right
L277[12:24:05] <MGR> do computers pass on network messages automatically?
L278[12:24:15] <Forecaster> yes
L279[12:24:58] <MGR> ?
L280[12:25:05] <MGR> is there a way to make that not happen?
L281[12:25:10] <Forecaster> a computer case, like any other OC block, work just like a cable
L282[12:25:23] <Forecaster> the only exception to this is the switch and racks
L283[12:25:55] <Forecaster> don't connect them like that?
L284[12:26:27] <MGR> ooh
L285[12:26:29] <MGR> I could do wireless
L286[12:26:43] <MGR> wait
L287[12:26:45] <Forecaster> that's the same thing really but okay
L288[12:27:01] <Herobrine> I think one of the Ender IO extra bits has OC cables. you could use a switch and then colour code the cables to what networks you want them on
L289[12:27:04] <MGR> let me do some stuff, because there's a question
L290[12:27:22] <MGR> aah! Herobrine!
L291[12:32:26] <Vexatos> Forecaster, s/switch/relay/
L292[12:32:34] <Forecaster> yeah that
L293[12:33:22] <Forecaster> oh yeah, doing those substitutions on me wont ping me anymore xD
L294[12:33:28] <Forecaster> I just realized
L295[12:36:19] <MGR> so, do computers rebroadcast wireless messages automatically?
L296[12:36:54] <Kodos> Not that I know of, they receive them if the port's open though
L297[12:36:59] <Kodos> You'd have to code repeater software
L298[12:37:04] <Kodos> Or use a relay in repeater mode
L299[12:37:17] <MGR> ok good
L300[12:45:09] <Vexatos> Couldn't you just use a server rack
L301[12:46:31] <Kodos> Indeed
L302[12:46:46] <Kodos> But most people underestimate the usefulness of servers
L303[12:47:51] <Vexatos> They're pretty much made for networking...
L304[12:49:19] <MGR> Vexatos, I'm testing the GERTi client
L305[12:49:34] <MGR> which means that I am using regular computers because that's what a lot of people will be using
L306[12:49:44] <MGR> I'll also test with servers, but regular computers take precedence
L307[12:50:42] <Kodos> Regular computers are clients th ough, servers can delegate network traffic
L308[12:51:09] <Vexatos> (If it is not that way you are either using torrents or doing it wrong)
L309[12:52:15] <MGR> Kodos, yes
L310[12:52:17] <MGR> I'm aware
L311[12:52:36] <MGR> but a lot people A. Don't know how to use servers (I kinda fall into this because I haven't used them much)
L312[12:53:07] <MGR> B. Don't want to have a separate server machine to use Next Gen Networking Technology
L313[12:53:25] <Kodos> Next ge- what?
L314[12:53:53] <MGR> GERTi
L315[12:54:14] <MGR> and any other associated networking protocols they may use with it
L316[12:54:55] <Kodos> Meh
L317[12:55:07] <Kodos> When you finally get around to using servers, you'll wonder why you didn't before
L318[12:55:14] <Kodos> I rarely use computer cases anymore
L319[12:55:25] <Kodos> Mostly because most of what I use a computer for can operate passively
L320[12:56:50] <MGR> I'm not doubting servers' utility
L321[12:57:00] <MGR> I'm just saying that a lot of people don't use them
L322[12:57:31] <Kodos> Well of course not, they're not for 'regular' use, they're for specific applications of use. You wouldn't run IRC on a server, for example
L323[12:57:43] <Kodos> But something like handling magcards and doors would be better suited for them than a computer case
L324[12:58:53] <MGR> yeah
L325[12:59:47] <Kodos> I still need to write up these stupid functions
L326[13:02:05] <MGR> what functions?
L327[13:02:34] <Kodos> Well
L328[13:02:41] <MGR> eyyyyyy
L329[13:02:43] <Kodos> Two functions for stuff I need to work with some stuff
L330[13:02:50] <MGR> I at least know GERTi works over wireless
L331[13:02:56] <MGR> Kodos, what stuff? ?
L332[13:03:06] <Mimiru> that stuff
L333[13:03:11] <Kodos> One will be able to take any string and dynamically separate it into a table using a specified separator
L334[13:03:22] <Vexatos> Selene has that :3
L335[13:03:43] <Kodos> So, if I passed "OK|200|Herp|Derp" to it, it would return {"OK", "200", "Herp", "Derp"}
L336[13:03:47] <Vexatos> you can just copypaste because I copypasted it from Sangar who copypasted it from lua-users.org
L337[13:04:07] <Vexatos> https://github.com/Vexatos/Selene/blob/master/selene/lib/selene/parser.lua#L252-L260
L338[13:04:24] <Kodos> Well shit
L339[13:04:25] <Kodos> Thanks
L340[13:04:26] <Mimiru> good ole string explode
L341[13:04:27] <Kodos> That's one down
L342[13:04:28] <Mimiru> :P
L343[13:04:35] <Sangar> i'd never copy-pas-- oh, split. yeah.
L344[13:04:46] <Kodos> The other one... well it's better if I show it
L345[13:04:47] <Vexatos> The most overdone Lua function ever
L346[13:04:53] <MGR> Kodos, that's a pretty good idea
L347[13:04:56] <Vexatos> The one method everyone was missing
L348[13:05:00] <MGR> eyyyyyyyyyyyyyyyyy it's Sangar
L349[13:05:06] <MGR> How are you Sangar?
L350[13:05:14] <Sangar> fine fine, thanks :)
L351[13:05:22] <MGR> good to see you ?
L352[13:05:34] <Kodos> It's LSL, but it should be easy enough to understand https://github.com/CollectiveIndustries/StarfleetDelta/blob/master/lsl/SID/sid_cpu.lsl#L36-L55
L353[13:18:47] <MGR> ...
L354[13:19:01] <MGR> neighbor discovery was working before, now it seems like it broke
L355[13:21:54] <Vexatos> Finally learned how to type ï on my keyboard
L356[13:21:58] <Vexatos> took the longest time
L357[13:22:27] <20kdc> LSL? You mean... *that* LSL?
L358[13:22:51] <20kdc> ...huh, it's surprisingly coherent.
L359[13:23:07] <Vexatos> I did not expect anyone to use anything like that
L360[13:23:12] <Vexatos> But then again, this is the Internet
L361[13:26:16] <Kodos> Indeed
L362[13:26:20] <Kodos> But do you get the idea?
L363[13:29:20] <20kdc> ok, so, Kodos, did GitHub just change itself in the space of this day, or does that account have a magic option to change the top bar to a dark background?
L364[13:29:40] <AshIndigo> github did magic and changed it
L365[13:29:48] <AshIndigo> i want the white look back too
L366[13:30:11] <20kdc> well, it's kind of distracting since it clashes with the rest of the interface
L367[13:30:19] <20kdc> It's fine if it's *all* dark
L368[13:30:23] <20kdc> or *all* light
L369[13:30:29] <20kdc> but they can't just change *part* of it!
L370[13:30:34] <Kodos> Indeed
L371[13:30:53] <Kodos> Anyway, the gist of it is it uses % as a wildcard, and checks a string for a specific filter mask thinger
L372[13:31:32] <Kodos> In that particular script, for example, checking for "computer%" checks the string to see if it begins with 'computer'
L373[13:31:46] <Kodos> But something like "%derp%" just checks the entire string for derp
L374[13:31:56] <Vexatos> I didn't even notice that because my github page has been dark for years :P
L375[13:32:25] <Vexatos> Kodos, why not just do normal Lua patterns
L376[13:32:41] <Kodos> Vexatos, because I suck at some parts of Lua, and would rather just have an easy to use function to throw in my lib
L377[13:32:55] <Vexatos> e.g. "^computer" for "begins with" and "computer" for "anywhere"
L378[13:32:56] <Kodos> That way, I only have to write it once, and then use my lib for it
L379[13:33:21] <Vexatos> how is that harder than %computer%
L380[13:33:25] <Vexatos> it's even fewer characters
L381[13:34:03] <Kodos> Because I don't know how to use gsub or what the fuck ever the function is for that
L382[13:34:23] <Vexatos> there's gsub, match, find
L383[13:35:06] <Vexatos> Kodos, https://puu.sh/tYIBJ/2045942413.png
L384[13:36:25] <Kodos> Well alrighty then
L385[13:36:26] <CompanionCube> I like the black bar
L386[13:36:30] <CompanionCube> it adds contrast
L387[13:36:43] <Kodos> I'm assuming the numbers are the start/end locations in the main string?
L388[13:37:12] <Kodos> Vexatos, what happens if the string you :find appears more than once
L389[13:39:36] <Vexatos> find will show you the first entry, but something like gmatch will show you all
L390[13:40:19] <Kodos> Hm, alrighty
L391[13:40:40] <Kodos> %oclogs
L392[13:40:40] <MichiBot> https://oclogs.pc-logix.com/
L393[13:43:43] <MGR> WHOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
L394[13:44:00] <MGR> GERTi.openRoute works!!!!!!!!!!!!!
L395[13:44:08] <MGR> now I need to just implement it for the gateway
L396[13:46:51] * Temia flopmoo. .o.
L397[13:48:00] * CompanionCube moos with Temia
L398[13:48:08] <MGR> hello Temia
L399[13:48:10] <MGR> how are you?
L400[13:48:48] * Temia moomoooo.
L401[13:49:09] * AshIndigo wonders if temia is ok
L402[13:49:23] <Temia> Yes, this is normal.
L403[13:49:28] <AshIndigo> ok
L404[13:50:35] <MGR> Temia, did you get my PM?
L405[13:52:44] <Temia> ...I suppose AshIndigo could use some explanation.
L406[13:52:57] <AshIndigo> that would be nice
L407[13:53:15] <Temia> I'm part of the cuter side of the channel! As a minotaur monstergirl. A mini one.
L408[13:54:17] <Vexatos> a minitaur
L409[13:54:27] <AshIndigo> a mini minotaur
L410[13:54:34] <Vexatos> a minor taur
L411[13:55:06] <Temia> Best not to say that, Vex.
L412[13:55:14] <Temia> Some people might get confused.
L413[13:55:15] <Vexatos> Too late :3
L414[13:55:17] <Temia> And/or have ideas.
L415[13:55:19] <Temia> <_<;
L416[13:55:28] <Vexatos> °-°
L417[13:56:24] ⇦ Quits: bauen1_ (~quassel@2a02:810d:1980:1584:e0a1:526d:2797:bbff) (Quit: rip)
L418[13:56:27] ⇨ Joins: bauen1 (~quassel@2a02:810d:1980:1584:e0a1:526d:2797:bbff)
L419[14:04:45] <scj643> Anyone have a dedicated server in the US?
L420[14:07:48] <MGR> scj643, for MC?
L421[14:07:59] <scj643> For general use and MC
L422[14:08:05] <MGR> ah
L423[14:08:13] * scj643 is running out of money for his DO droplet
L424[14:08:15] <MGR> I've got one in Montreal, Canada, but for MC only
L425[14:08:20] <Mimiru> I've got one in Canada
L426[14:08:27] <Mimiru> But I'm not sharing :P
L427[14:08:28] ⇨ Joins: Xal (~xal@S0106f0f2490b0073.vw.shawcable.net)
L428[14:08:39] <scj643> :P
L429[14:10:24] <scj643> Seems yellowcircle.net has updated their control panel
L430[14:12:50] <scj643> A Openstack service for "free" for education use
L431[14:13:04] <scj643> (You have to pay if you want the instances to have internet as a donation)
L432[14:16:32] <scj643> All for under $20 a year
L433[14:16:38] <scj643> though you can't use it for production use
L434[14:16:46] <scj643> or they will terminate your account
L435[14:20:28] <scj643> You know what would be cool. Having an openstack setup
L436[14:23:39] <MGR> you know what else would be cool?
L437[14:23:51] <MGR> if a complete copy of GERTi just appeared on my computer
L438[14:23:57] <MGR> but that won't happen for a while ?
L439[14:24:23] <scj643> http://www.gerti.org/ ?
L440[14:24:38] <MGR> no
L441[14:24:48] <scj643> Then what
L442[14:25:23] <MGR> https://github.com/GlobalEmpire/GERT
L443[14:25:41] <MGR> It's part of the Next Gen Networking iniative
L444[14:25:50] <MGR> Based on Ocranet, and delivering the future to you
L445[14:26:20] <scj643> Sound hipstery
L446[14:26:27] <scj643> *sounds
L447[14:30:29] <MGR> scj643, no
L448[14:30:38] <MGR> What it is is a networking technology
L449[14:30:48] <MGR> pretty easy to set up, and it lets you easily communicate across OC computers
L450[14:31:04] <MGR> once GERTe is done, it will let you talk to OC and IRL computers across the Internet and MC servers
L451[14:32:19] <scj643> Nice
L452[14:33:11] <MGR> scj643, yep
L453[14:33:24] <MGR> @TYKUHN2 is helping out with GERTe, while Gavle and I are working on GERTi
L454[14:33:51] <scj643> Well shoot the ping to yellowcircle bblows
L455[14:34:01] <scj643> I'm better of using a server in france
L456[14:34:22] <scj643> Though if you live on the west coast it's better
L457[14:36:40] <ping> k
L458[14:39:23] <TYKUHN2> I was mentioned
L459[14:43:18] <MGR> @TYKUHN2 just mentioning your good work on GERTe ?
L460[15:06:04] ⇦ Quits: Hyst` (cxsss1@CPE-124-189-28-144.bkzh1.cht.bigpond.net.au) (Ping timeout: 206 seconds)
L461[15:06:20] ⇨ Joins: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl)
L462[15:12:05] ⇦ Quits: MajGenRelativity (~MajGenRel@c-73-47-198-254.hsd1.ma.comcast.net) (Quit: Leaving)
L463[15:34:40] ⇨ Joins: sytoru (webchat@host31-48-182-63.range31-48.btcentralplus.com)
L464[15:34:46] <sytoru> toot toot
L465[16:00:22] <MGR> hello sytoru, how are you?
L466[16:00:47] <sytoru> yeah, not bad bud
L467[16:00:51] <sytoru> you?
L468[16:00:58] <MGR> I'm doing pretty well
L469[16:01:09] <MGR> I finished implementing openRoute for GERTi clients
L470[16:01:16] <MGR> Tomorrow I will do the gateway implementation
L471[16:01:21] <MGR> Rest of today is about relaxing ?
L472[16:02:45] <sytoru> lol
L473[16:02:51] <sytoru> i am so out of the loop these days
L474[16:02:58] <sytoru> having to google what gerti is >.<
L475[16:03:15] <MGR> sytoru, let me hook you up with a link
L476[16:03:31] <sytoru> ta
L477[16:04:37] <MGR> https://github.com/GlobalEmpire/GERT
L478[16:04:48] <sytoru> had a thought regarding initial screen selection for computers booting, but gonna wait for monday before bugging payonel about it ;)
L479[16:05:02] <MGR> sytoru, GERT is part of the Next Gen Networking Technology initiative led by Ocranet
L480[16:05:31] <MGR> GERT is the routing protocol that manages Ocranet connections to allow OC computers to efficiently connect to each other, and to other computers OC and IRL across the Internet
L481[16:05:39] <MGR> so you can talk to computers on other MC servers and stuff like that
L482[16:06:11] <sytoru> hot damn
L483[16:06:16] <sytoru> yeah, just reading the whitepaper
L484[16:06:49] <sytoru> i am such a nerd
L485[16:06:56] <sytoru> my first thought for such a thing...
L486[16:07:08] <sytoru> time to get an OC MUD going xD
L487[16:07:11] <sytoru> (also showing my age)
L488[16:07:13] <MGR> MUD?
L489[16:07:20] <sytoru> Multi-User Dungeon
L490[16:07:29] <sytoru> the precursor to MMo's
L491[16:07:33] <MGR> Oh ok
L492[16:07:40] <MGR> You could totally do that in OC now ?
L493[16:07:45] <MGR> once GERT is finished
L494[16:07:50] <sytoru> mhm
L495[16:08:09] <MGR> but even more stuff too
L496[16:08:16] <MGR> like webpanels to control your MC stuff, and more
L497[16:08:17] <sytoru> tbh i already had the thought for an internal MC server version
L498[16:08:31] <MGR> GERTi is all about inside MC servers
L499[16:08:33] <sytoru> since there was a LUA based version already
L500[16:08:33] <EnderBot2> It's Lua, not LUA. Name, not an acronym
L501[16:08:38] <MGR> that will make the networking easy ?
L502[16:09:03] <sytoru> yo enderbot2 down in front.
L503[16:09:07] <sytoru> xD
L504[16:09:24] <sytoru> ok
L505[16:10:12] <sytoru> so inter-MC email incoming then :D
L506[16:10:59] ⇦ Quits: Trangar (~Trangar@249-153-145-85.ftth.glasoperator.nl) (Quit: Leaving)
L507[16:11:08] <MGR> that is another possibility, yes
L508[16:11:13] * Ashindigo_ reads about gerte/gerti curioisly
L509[16:11:15] <MGR> I hadn't even thought of that one
L510[16:11:50] <sytoru> and tbh
L511[16:12:00] <sytoru> since we already have some external connectivity
L512[16:12:02] <MGR> Ashindigo_, FYI, they're called GERT when used in combination ?
L513[16:12:17] <sytoru> you could website an interface as well
L514[16:12:26] <AshIndigo> :D
L515[16:12:39] <sytoru> which also means....... inter-MC email with mobile apps
L516[16:12:44] <MGR> sytoru, yep!
L517[16:14:16] <AshIndigo> line 45 of the white paper "real-wrold"
L518[16:15:04] <sytoru> well
L519[16:15:21] <sytoru> it's basically implementing a minecraft-wide-web
L520[16:15:23] <MGR> AshIndigo, let me fix that
L521[16:15:37] * AshIndigo waits for the commit
L522[16:15:59] <MGR> done
L523[16:16:00] <sytoru> lol
L524[16:16:03] <sytoru> that's embarassing
L525[16:16:09] <AshIndigo> yay
L526[16:16:12] <sytoru> nah
L527[16:16:38] <sytoru> the fact that most of my income is from proof reading
L528[16:16:50] <sytoru> i'm definitely switched off from work mode xD
L529[16:17:14] <MGR> lol
L530[16:20:38] <MGR> AshIndigo, what do you think of GERT?
L531[16:20:48] <MGR> also, any more typos?
L532[16:21:01] <AshIndigo> should i run it through a spell check?
L533[16:21:24] <MGR> if you want
L534[16:21:26] <sytoru> well
L535[16:21:33] <sytoru> line 55 is incomplete
L536[16:22:11] <MGR> you have to scroll to the right for that
L537[16:22:28] <MGR> I plan to fix that when I re-write the documentation after I finish GERT
L538[16:22:36] <sytoru> :D
L539[16:22:49] <AshIndigo> line 5: promting
L540[16:22:50] <sytoru> stupid lack of auto text wrapping
L541[16:23:07] <AshIndigo> is that meant to be promoting?
L542[16:24:21] <MGR> yes
L543[16:24:59] <AshIndigo> line 11: "Compatability" - Compatibility
L544[16:25:23] <MGR> thank you
L545[16:26:10] <AshIndigo> line 98: overwiew
L546[16:26:36] <AshIndigo> 105: andwired
L547[16:27:35] <MGR> thank you
L548[16:28:39] <AshIndigo> line 126: would it be better to say "If the acknowledgement request fails[...]"?
L549[16:29:24] <MGR> probably
L550[16:29:26] <MGR> I updated it
L551[16:29:54] <AshIndigo> nice
L552[16:34:00] <MGR> any other suggestions?
L553[16:34:12] <TYKUHN2> How does one test for huge?
L554[16:34:39] <Forecaster> you need a really really long measuring stick
L555[16:34:44] <TYKUHN2> i.e. detect math.huge
L556[16:34:48] <AshIndigo> not that i see
L557[16:36:45] <20kdc> presumably, a == math.huge
L558[16:41:22] <20kdc> Apparently, math.huge is infinity.
L559[16:41:42] <20kdc> That is, (math.huge - 1) == math.huge == true
L560[16:42:23] <20kdc> That is, ((math.huge - 1) == math.huge) == true
L561[16:44:09] <TYKUHN2> That's weird
L562[16:44:27] <TYKUHN2> math.huge == math.huge works however I got a 1.#INF another method and it is !math.huge
L563[16:50:35] <MGR> Huh
L564[16:50:49] <AshIndigo> ?
L565[16:51:30] <AshIndigo> -.- just shoved my microcontroller case into a dissambler
L566[16:51:44] <Forecaster> that's great!
L567[16:51:52] <Forecaster> assuming you wanted to disassemble it
L568[16:52:02] <AshIndigo> i didnt
L569[16:52:18] <Forecaster> ohno
L570[16:54:15] <20kdc> TYKUHN2: not sure how you'd get a 1.#INF
L571[16:54:42] <20kdc> that's coming out as not even valid from Lua 5.2 and 5.3
L572[16:55:01] <20kdc> there is just "inf"
L573[16:55:09] <20kdc> but no "1.#INF"
L574[16:55:23] <20kdc> odd...
L575[16:57:39] <AshIndigo> aww the upgrade slot in a microcontroller isnt a container slot
L576[16:57:56] <Kodos> Indeed
L577[16:58:06] <Kodos> I usually just shove a solar upgrade in it
L578[16:58:13] <Kodos> Unless I need the slot
L579[16:58:24] <AshIndigo> the one i have planned is under ground
L580[16:58:29] <Kodos> Ah
L581[17:17:35] ⇨ Joins: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au)
L582[17:18:45] <payonel> sytoru: you have a thought regarding initial screen selection for boot?
L583[17:26:18] ⇨ Joins: fotoply (~fotoply@94.101.214.155)
L584[17:26:29] <sytoru> mhm
L585[17:26:34] <AshIndigo> ?
L586[17:26:35] ⇦ Quits: fotoply (~fotoply@94.101.214.155) (Client Quit)
L587[17:27:20] <sytoru> @payonel cartesian math calculation
L588[17:27:46] <sytoru> assuming that a list of connected screens is or can easily be calculated when the computer is switched on
L589[17:28:50] <Kodos> for addr, type in component.list() if type == "screen" then (Whatever code adds addr to a table of addresses)
L590[17:29:13] <sytoru> kodos, this is at the initial stage of a computer being turned on, not when term is loaded
L591[17:29:26] <Kodos> ¯\_(ツ)_/¯
L592[17:29:33] <sytoru> :)
L593[17:30:02] <AshIndigo> give me a port number
L594[17:30:09] <sytoru> 4000
L595[17:30:17] <AshIndigo> thanks
L596[17:30:41] <sytoru> but the code has access to the blocks co-ords
L597[17:31:33] <sytoru> so if you cycle the screens connected and do a screen(x, y, z) - computer(x, y, z) = you'll get diff_x, diff_y and diff_z
L598[17:32:04] <sytoru> swap all to positive values and sum to get a block distance from the computer for each screen
L599[17:32:21] <sytoru> and assign the initial screen as the closest
L600[17:32:42] <AshIndigo> :| i dont get os.sleep
L601[17:32:54] <AshIndigo> (atleast according to the ocdoc page)
L602[17:32:56] <sytoru> swapping to positive can be a simple MAX(diff_x, diff_x * -1)
L603[17:33:40] <sytoru> in C i'd do an inline def for MAX
L604[17:34:03] <sytoru> ie: #define MAX(a, b) if (a > b) return a else return b
L605[17:35:17] <sytoru> this would give the user a predictable outcome rather than the current "random"
L606[17:38:45] <TYKUHN2> Oh that's a point
L607[17:38:49] <TYKUHN2> Windows for Lua is 5.1
L608[17:42:54] <MGR> Ashindigo, if you're going to be using that port number, you should register it with the GE ?
L609[17:43:09] <MGR> I'm trying to get a centralized repo of port numbers to eliminate overlapping
L610[17:43:21] <MGR> https://github.com/GlobalEmpire/GERT you can open an issue here
L611[17:44:32] <sytoru> could you not define a set of ports as "GERT system" ports within the documentation?
L612[17:44:48] <MGR> sytoru, yes
L613[17:45:02] <AshIndigo> its just a mini network for 2-3 mcus if needbe i can change them
L614[17:45:09] <AshIndigo> no use in taking up a port for that
L615[17:45:10] <MGR> a number of ports are already reserved for that
L616[17:45:25] <MGR> AshIndigo, ok, it's up to you
L617[17:45:28] <sytoru> you could simply go for something like <1000 is GERT
L618[17:45:32] <MGR> But only YOU can prevent port collisions!
L619[17:45:48] ⇦ Quits: glasspelican (~quassel@104.167.117.185) (Remote host closed the connection)
L620[17:45:49] <sytoru> after all, we have 64k to play with :)
L621[17:45:50] <MGR> sytoru, 4378-4450 is reserved for GERTi
L622[17:45:53] * AshIndigo reflashes the eeproms
L623[17:46:05] <sytoru> <10 000 ?? :p
L624[17:46:44] <Kodos> Port collisions is why I'm establishing a list of predefined ports for my network stuff
L625[17:46:49] <sytoru> would give you ability to do x000 ranges for various functions
L626[17:47:04] <MGR> Kodos, you should open an issue on the GERT repo to register them
L627[17:47:15] <MGR> sytoru, 10,000 ports is rather excessive
L628[17:47:38] <sytoru> because 10,000 -> 65336 is restrictive for users?
L629[17:47:57] <MGR> I might expand it to cover 201 ports (1 for system, 200 for connections), but 10,000 is a bit much
L630[17:48:05] <MGR> not that it's restrictive, just absurd looking
L631[17:48:14] <MGR> It makes me look like I'm reserving ports "because I can"
L632[17:48:49] <sytoru> *nods*
L633[17:49:02] <sytoru> was just thinking along the lines of http error code structures
L634[17:49:25] <sytoru> rather than dotting them around, if you reserve a port workspace
L635[17:49:33] <MGR> people already call me a "self-aggrandizing" power tripper
L636[17:49:35] <sytoru> you can define groups to work within
L637[17:49:41] <MGR> I don't want to give the naysayers anything to work with
L638[17:49:52] <sytoru> ie: 4xx ports are for gerti
L639[17:49:57] <sytoru> 3xx ports for gerte
L640[17:49:59] <sytoru> etc
L641[17:50:10] <MGR> GERTe is NOT carried inside of MC
L642[17:50:19] <sytoru> well. whatever you need :)
L643[17:50:30] <MGR> GERTi is for local networking
L644[17:50:36] <MGR> and I would only need 1 port per connection
L645[17:50:42] <MGR> and 10,000 is a bit much ?
L646[17:50:42] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L647[17:50:59] <sytoru> :)
L648[17:51:01] <MGR> I might expand the registry though, depends on how the final details get implemented
L649[17:51:30] <sytoru> on the other hand
L650[17:51:45] <sytoru> if people are already calling you a "self aggrandizing power tripper"
L651[17:51:52] <sytoru> you could just own it :D
L652[17:52:29] <MGR> nah
L653[17:52:32] <MGR> that's not my style
L654[18:00:42] <MGR> just wondering, is there a way to control Railcraft locomotives with computers?
L655[18:02:06] <MGR> Computronics has some stuff that's Railcrafty
L656[18:03:21] <AshIndigo> shouldnt i be able to do require("<component name>") for an eeprom?
L657[18:04:34] <MGR> Ashindigo, no
L658[18:04:36] <MGR> wait
L659[18:04:52] <MGR> from within an eeprom program, or to control an eeprom from within a program?
L660[18:05:07] <AshIndigo> from within an eeprom
L661[18:05:12] <MGR> uh
L662[18:05:22] <MGR> I'm pretty sure you can require libraries
L663[18:05:30] <MGR> components require component.proxy I believe
L664[18:06:21] <AshIndigo> so local component = require("component") should check out right?
L665[18:06:29] <MGR> uh
L666[18:06:45] <MGR> Unfortunately, I don't have my programs on this computer, so I can't check
L667[18:07:19] <AshIndigo> hmm
L668[18:07:50] ⇦ Quits: glasspelican (~quassel@stanley.glasspelican.ca) (Remote host closed the connection)
L669[18:08:27] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L670[18:08:35] ⇦ Quits: glasspelican (~quassel@stanley.glasspelican.ca) (Remote host closed the connection)
L671[18:12:10] ⇨ Joins: mallrat208 (~mallrat20@107-145-175-135.res.bhn.net)
L672[18:15:20] ⇦ Quits: Vexatos (~Vexatos@p200300556E5AFE0054153A368E4BE587.dip0.t-ipconnect.de) (Quit: I guess I have to go now. Bye ✔)
L673[18:21:42] ⇨ Joins: glasspelican (~quassel@stanley.glasspelican.ca)
L674[18:28:51] ⇦ Quits: Xal (~xal@S0106f0f2490b0073.vw.shawcable.net) (Remote host closed the connection)
L675[18:31:01] ⇨ Joins: Jigboot (~Jigboot@172.98.67.44)
L676[18:37:05] ⇦ Quits: Inari (~Pinkishu@p5DEC67E8.dip0.t-ipconnect.de) (Quit: 'In the West you lock your bike to prevent theft, in Japan you lock your bike just to make sure its yours when you grab it' - Kirinodere)
L677[18:45:43] <payonel> sytoru: still here?
L678[18:45:50] <Jigboot> Thanks to Obamas departure from the Whitehouse, Shitskin.com, formerly Chimpout Forum, has announced that its anti-nigger advertising campaign will be suspended effective immediately. We thank Espernet for its support of Chimpout/Shitskin and apologize for any inconvenience.
L679[18:46:05] <AshIndigo> piss off
L680[18:46:30] <Jigboot> AshIndigo You better watch your fucking mouth
L681[18:47:14] <Jigboot> I won�t hesitate to track you down and shove my dick up your ass
L682[18:47:19] <payonel> Lizzy: Michiyo
L683[18:47:36] <Jigboot> I will just spit lube your little browniehole
L684[18:47:45] <Jigboot> and jam it all in there without lube
L685[18:47:45] <payonel> Jigboot: hi
L686[18:48:03] ⇦ Quits: Jigboot (~Jigboot@172.98.67.44) (Network ban)
L687[18:48:08] * AshIndigo preps the navy seal copypasta
L688[18:48:32] <ds84182> wtf
L689[18:48:39] <payonel> sorry about that everyone
L690[18:48:54] <payonel> i dont have op rights to ban/kick -- or at least i dont know if i do
L691[18:49:02] <payonel> i might through our bots
L692[18:49:06] <payonel> but - it is unusual
L693[18:49:11] <payonel> AshIndigo: sorry about that
L694[18:49:29] <AshIndigo> i knew what to expect when i said that
L695[18:49:56] <payonel> i understand, but i hold some responsibility for the behavior in the channel
L696[18:52:13] <xandaros> "Network ban"... gline?
L697[18:53:37] <xandaros> Anyway, AshIndigo: If you are still having trouble: You cannot require libraries in an eeprom, but they are in the global namespace already. Some of them, anyway
L698[18:53:40] <Mimiru> Ugh.. wtf
L699[18:53:40] <sytoru> @payonel yeah, still here
L700[18:53:55] <sytoru> just discovered dimensions are a lot further away than i thought xD
L701[18:53:58] <AshIndigo> let me go try that
L702[18:55:23] <payonel> AshIndigo: eeprom has component (a simplified version, without the primary api), computer, os, unicode, print and error
L703[18:55:36] <payonel> maybe a few other things, that's just off the top of my head
L704[18:55:40] <payonel> oh, also load
L705[18:56:11] <xandaros> sounds about right... print?
L706[18:56:29] <payonel> sytoru: i like your suggestion for screen selection. unfortunately i really try to keep behavior as basic as i can due to a memory limitation i am up against
L707[18:56:31] <AshIndigo> oh that worked
L708[18:58:36] <sytoru> @payonel fair enough. :)
L709[19:00:38] <AshIndigo> i wish there was a mini lcd screen for microcontrollers
L710[19:00:50] <AshIndigo> that could have a line of text
L711[19:02:57] <Mimiru> I could totally do that... if they supported external components :/
L712[19:04:23] <payonel> sytoru: one of the things that i study and measure for openos with lua is what things actually reduce memory and what does not, or what things save very little. even adding in the math logic you expressed would cost a few hundred bytes at least
L713[19:04:42] <payonel> we're at just under 32k free on boot with latest openos on 1x tier 1 ram
L714[19:04:42] <Mimiru> Wonder if I could render stuff in world with a card...
L715[19:04:43] <Mimiru> lol
L716[19:05:43] <payonel> sytoru: i'm working on a project right now to emulate oc machine environment (inspired by ocemu)
L717[19:05:45] <Mimiru> Could maybe write a "text card" or something that could render on a mcu's face..
L718[19:05:56] <payonel> but mine is in c++ and with profiling in mind
L719[19:06:37] ⇨ Joins: Xal (~xal@S0106f0f2490b0073.vw.shawcable.net)
L720[19:07:05] <sytoru> ooh. that would be nice to work on
L721[19:07:32] <xandaros> Mimiru: That restriction of external components really makes microcontrollers close to useless. They come with a lot of benefits, e.g. being able to move them easily and you can produce a lot of them. Would be great if you could actually make use of that :/
L722[19:08:14] <AshIndigo> there also a pain to debug when you cant have any logging
L723[19:08:33] <xandaros> Sure, but I think that's a reasonable limitation
L724[19:08:58] <AshIndigo> or not even a screen
L725[19:09:00] <xandaros> It just makes things more difficult, it doesn't make things impossible
L726[19:09:13] <AshIndigo> like a dummed down tablet for view microcontroller output
L727[19:09:45] <xandaros> I don't know... irl all you use a microcontroller for is interfacing with external components. Limiting it in oc seems a bit arbitrary
L728[19:10:18] ⇨ Joins: VikeStepFTB (~VikeStep@192.43.96.58.static.exetel.com.au)
L729[19:11:04] <sytoru> noobish question, but is there a way to run programs in the background on openOS?
L730[19:11:23] <Kodos> aye, rc
L731[19:11:31] <Kodos> Someone else will have to explain it though, as I'm going to bed
L732[19:11:39] <AshIndigo> night
L733[19:11:40] <sytoru> ah cool
L734[19:11:42] <sytoru> gnight
L735[19:12:25] ⇦ Quits: VikeStep (~VikeStep@192.43.96.58.static.exetel.com.au) (Ping timeout: 190 seconds)
L736[19:12:34] <sytoru> so next project will be a simple reactor controller daemon
L737[19:14:36] <MGR> sytoru, it's late for me too, but I can explain rc to you tomorrow ?
L738[19:20:42] <sytoru> dw
L739[19:20:50] <Izaya> https://www.youtube.com/watch?v=5Qj8p-PEwbI
L740[19:20:50] <MichiBot> Ubuntu Causes Girl To Drop Out of College | length: 2m 48s | Likes: 1,700 Dislikes: 5,926 Views: 454,145 | by nolifeforums | Published On 15/1/2009
L741[19:20:54] <sytoru> i'll work it out :)
L742[19:22:12] <payonel> sytoru: the fundamental part of background processes in openos is event.listen
L743[19:22:25] ⇨ Joins: ironmountain (~anon@c-73-171-222-216.hsd1.fl.comcast.net)
L744[19:25:52] ⇦ Quits: ironmountain (~anon@c-73-171-222-216.hsd1.fl.comcast.net) (Ping timeout: 202 seconds)
L745[19:26:43] <payonel> my emulator is now in the main event loop of openos
L746[19:26:50] <payonel> \o/
L747[19:27:50] <Izaya> yay?
L748[19:28:05] <AshIndigo> wooho
L749[19:32:37] <payonel> Izaya: i've been building an oc emulator ... not sure what else to say about it
L750[19:34:29] <sytoru> yeah, i had a poke around with the event stuff.
L751[19:34:56] * Izaya is now using a library for emulating his virtual stack machine
L752[19:35:03] <Izaya> I can use the same code for in-game and out of game emulation :D
L753[19:35:20] <sytoru> the "vision" is a program running in the background that controls the reactor with event listeners for override instructions from a GUI
L754[19:36:11] <sytoru> or a master control program
L755[19:38:36] <TYKUHN2> Izaya that is a REALLY bad spin against Ubuntu
L756[19:41:37] <AshIndigo> blah computer.pullSignal doesnt make sense
L757[19:42:52] <TYKUHN2> It does
L758[19:43:02] <TYKUHN2> Litterally just spits out what computer.pushSignal receives
L759[19:43:15] <AshIndigo> how do i read the message though'
L760[19:43:57] <TYKUHN2> name, arg1, arg2, arg3, etc = computer.pullSignal
L761[19:44:18] ⇦ Quits: Nathan1852 (~Nathan185@HSI-KBW-091-089-189-253.hsi2.kabel-badenwuerttemberg.de) (Read error: Connection reset by peer)
L762[19:44:34] ⇨ Joins: Nathan1852 (~Nathan185@hsi-kbw-091-089-189-253.hsi2.kabel-badenwuerttemberg.de)
L763[19:44:55] ⇨ Joins: Hyst (cxsss1@CPE-124-189-28-144.bkzh1.cht.bigpond.net.au)
L764[19:45:08] <TYKUHN2> ```listOfReturns = {computer.pullsignal()}```
L765[19:45:19] * AshIndigo facepalms
L766[19:45:34] <TYKUHN2> That looks quite bad probably because Discord uses `````` for code
L767[19:45:51] <AshIndigo> looks good enough for me
L768[19:53:49] <AshIndigo> maybe my mcu programs will finally work...
L769[19:56:33] <AshIndigo> hallelujah!
L770[20:01:38] <AshIndigo> streams, messing up crc since 1999
L771[20:01:40] <AshIndigo> oops
L772[20:03:03] <S3> So!
L773[20:03:08] <S3> https://i.imgur.com/QqJBlSF.jpg
L774[20:03:10] <S3> who likes my terminal emulator?!
L775[20:03:13] <S3> :D
L776[20:03:26] <S3> vifino[m]: ^
L777[20:03:53] <AshIndigo> O.O does it come with the fancy overlay?
L778[20:03:59] <Xal> 9/10
L779[20:04:07] <Xal> 10/10 if you make a virtual magnet
L780[20:04:12] <AshIndigo> would it b better with rice xal?
L781[20:04:14] <Xal> drag it around the screen to degauss it
L782[20:04:16] <S3> yes I had to configure it though
L783[20:04:28] <S3> Xal: no...
L784[20:04:36] <S3> Xal: but what I should do
L785[20:04:38] <S3> is run it on my CRT
L786[20:04:45] <S3> and then show you that it can
L787[20:04:45] <S3> XD
L788[20:04:59] <S3> but then again I don't have a degaussing magnet
L789[20:05:06] <S3> so it'd be a bit dangerous for it
L790[20:05:28] <Xal> a degaussing magnet?
L791[20:05:32] <S3> yes
L792[20:05:38] <S3> they're like a giant o ring magnet
L793[20:05:45] <S3> friend of mine has one
L794[20:05:49] <Xal> you can use any magnet
L795[20:05:55] <S3> yes
L796[20:06:01] <S3> but these are specially designed
L797[20:06:12] <Xal> to degauss hard drives or something?
L798[20:06:18] <S3> no for screens
L799[20:06:29] <Xal> why would that be useful, like, ever?
L800[20:06:30] <S3> before screns had built in degaussing
L801[20:06:41] <Xal> huh
L802[20:06:49] <S3> you'd bring the magnet up close
L803[20:06:52] <S3> and slowly bring it back
L804[20:07:00] <S3> and it'd bend the screen until it degaussed nicely
L805[20:07:05] <S3> it was like a massive washer
L806[20:07:14] <Xal> i had no idea they made magnets specifically for that
L807[20:07:21] <S3> yeah
L808[20:07:28] <S3> CRTs came a LONG ways
L809[20:07:41] <S3> Xal: it used to be that you'd turn your CRT screen on
L810[20:07:46] <S3> and then go away and come back a few minutes later
L811[20:07:49] <Xal> http://pad3.whstatic.com/images/thumb/2/24/Degauss-a-Computer-Monitor-Step-11.jpg/aid2462-728px-Degauss-a-Computer-Monitor-Step-11.jpg
L812[20:07:51] <Xal> thanks wikihow
L813[20:07:51] <S3> when it was ready
L814[20:07:59] <S3> they used to have to warm up
L815[20:08:16] <S3> and this is also why SMPTE exists too
L816[20:08:29] <S3> ever wake up in the morning early as a kid and see the colored bars on the tv?
L817[20:08:33] <S3> before the tv station had stuff
L818[20:08:53] <Xal> the test card or whatever
L819[20:09:02] <S3> it wasn't really needed then but year dsand years ago it'd take several minutes to warm up the screens and equipment
L820[20:09:27] <S3> an a 1Khz sine wave would also be emitted
L821[20:09:33] <S3> for normallization and such
L822[20:10:22] <S3> Xal: yeah you don't want to use a normal magnet to degauus your monitor
L823[20:10:33] <S3> I threw a bar magnet at my dads screen as a kid
L824[20:10:38] <Xal> heh I remember doing that all the time
L825[20:10:42] <S3> it just hit it for a split moment and fell down
L826[20:10:50] <S3> and there was a giant black bob on the screen for like 3 months
L827[20:11:20] <S3> lol
L828[20:11:27] <S3> my grandmother used to sit at the computer with a fan going
L829[20:11:38] <S3> andthe screen would vibrate violently as she played solitaire
L830[20:11:57] <S3> she also used to fall asleep at the keyboard smoking..
L831[20:12:03] <S3> and there were several holes in her keyboard..
L832[20:12:36] <S3> Xal: anyways, I'm writing an OS
L833[20:12:41] <S3> a real one
L834[20:12:52] <S3> and I set up this terminal emulator to act as a serial terminal for qemyu
L835[20:12:54] <S3> qemu*
L836[20:13:00] <S3> to make the initial programming for it less boring
L837[20:13:00] <S3> lol
L838[20:13:29] <Xal> x86?
L839[20:13:47] <S3> to start yes, but the desired target will be mips
L840[20:13:54] <S3> mips64
L841[20:14:10] <S3> as soon as I get a newlib going with a libunix
L842[20:14:21] <S3> then I will statically link lua5.3 in the kernelk
L843[20:14:30] <S3> and create a liboc libos
L844[20:14:45] <S3> which will allow running OC programs / OpenOS on bare metal on real hardware.
L845[20:15:09] <S3> this will be done using the S3IX libOC libOS exokernel
L846[20:15:31] <S3> which, the lua half of that will be able to run on OC
L847[20:15:35] <Xal> ... if you have mips64 real hardware ;)
L848[20:15:47] <S3> we're buying some chips
L849[20:16:08] <S3> it's for another project
L850[20:16:40] <S3> we're making the pcb and everything
L851[20:17:27] <S3> I'm the SE/CE for the project, but my major is CE/EE
L852[20:17:30] <Xal> how are you going to do oc components and all that
L853[20:17:59] <S3> obviously you can't have a hologram projector component, or most any of them. however the API will still be there.
L854[20:18:12] <S3> it will be useful for OC program emulation though
L855[20:18:33] <S3> for me, I do plan on making a thin proxy api for mapping hardware to components in some saneish way
L856[20:18:56] <Xal> the oc components api isn't really well-suited for real hardwarw
L857[20:19:11] <S3> this means that I can create blobs in another language. though with lua 5.3 I can also access memory directly using some glue and binary operators though it'd be slower
L858[20:19:26] <S3> you're absolutely right. and this is why this is an exokernel.
L859[20:19:36] <S3> the lua part runs under its own libos
L860[20:19:40] <GreaseMonkey> S3: if you can work out how to make newlib work for 64-bit mips let me know
L861[20:19:59] <GreaseMonkey> for some reason it doesn't want to multilib properly for me
L862[20:20:03] <S3> GreaseMonkey: planning to use it for mips oc?
L863[20:20:15] <S3> GreaseMonkey: you're using linux though right?
L864[20:21:32] <S3> I'm providing the absolute minimal barebones support to get newlib online, heck, my kernel doesn't even have a malloc! it requires the libunix libOs for that..
L865[20:21:50] <S3> the kernel doesn't even have a VFS, that's part of libunix..
L866[20:26:23] <Xal> what's the difference between the stuff implemented in both libunix and newlib
L867[20:30:11] <S3> Xal: so, my kernel is not posix compliant, and I refuse to do so, however, libunix will provide a posix compatible unix environment, this includes a VFS and other unixy things. newlib is a libc, like glibc.
L868[20:30:45] <S3> it co,es with things like strlen, etc
L869[20:30:48] ⇦ Quits: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net) (Read error: Connection reset by peer)
L870[20:31:11] <Xal> nevermind me I'm an idiot who didn't read the description for libunix
L871[20:31:21] <Xal> that's pretty nifty
L872[20:33:54] <GreaseMonkey> S3: nah, for PS2 development
L873[20:34:01] <GreaseMonkey> and yeah i'm using linux
L874[20:34:30] ⇨ Joins: Cervator1 (~Thunderbi@2601:4c1:4000:1050:7837:46ee:b715:1958)
L875[20:34:54] ⇦ Quits: Cervator (~Thunderbi@2601:4c1:4000:1050:7837:46ee:b715:1958) (Ping timeout: 198 seconds)
L876[20:34:54] *** Cervator1 is now known as Cervator
L877[20:38:00] <Xal> S3 so to use libunix you just fill in the functions needed in the /os directory?
L878[20:38:50] ⇦ Quits: Turtle (~SentientT@82.171.92.73) (Quit: Nettalk6 - www.ntalk.de)
L879[20:42:19] <S3> Xal: little more difficult than that
L880[20:42:49] <S3> my kernel doesn't have this thing most every kernel has called a "system call"
L881[20:43:48] <Xal> libunix has a whole bunch of things that a c library should give you too, right?
L882[20:44:26] <S3> right my libunix will provide newlib
L883[20:44:50] <S3> but there are some functions that aren't part of it such as malloc
L884[20:44:55] <S3> for allocating memory
L885[20:45:17] <S3> except in my kernel malloc doesn't allocate memory
L886[20:45:36] <S3> it reserves and keeps track of already allocated memory
L887[20:46:03] <S3> this is because I do not provide a malloc, it's in libunix
L888[20:47:09] <Xal> and then libunix calls os_mem_alloc and such, that you fill in
L889[20:50:09] <S3> pretty much
L890[20:50:21] <S3> also, newlib requires functions like read() write() open() close(), etc
L891[20:50:28] ⇨ Joins: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net)
L892[20:50:32] <S3> these are also unixy functions that I don't provide
L893[20:53:38] <Xal> what's wrong with the malloc newlib has
L894[20:54:41] <S3> it's fine, but underneath I have to do some fixes..
L895[20:55:49] <S3> iirc malloc in newlib is actually just a macro
L896[20:56:36] <S3> Xal: see with malloc it kinda just forces the program to allocat emore memory
L897[20:57:04] <S3> but in my kernel, for malloc compatability you have to support mallocable memory and unmallocable memory
L898[20:57:21] <S3> this way programs can use both memory conventionally or with malloc
L899[20:57:26] <S3> seperately
L900[20:57:56] <S3> Xal in the exokernel world without libunix there's no read, write, open, close, etc
L901[20:57:57] <S3> however
L902[20:58:07] <S3> you can directly communicate with the filesystem driver
L903[20:58:18] <Xal> that sounds painful tbh
L904[20:58:25] <S3> what does
L905[20:58:32] <Xal> talking directly to drivers
L906[20:58:38] <S3> not at all
L907[20:59:04] <S3> it's because all drivers in my kernel are user processes that have no main loop
L908[20:59:21] <S3> the only thing between you and a driver is not a system call, but a reactive stream.
L909[20:59:45] <S3> this allows your program to choose its level of abstraction
L910[21:00:28] ⇦ Quits: Nathan1852 (~Nathan185@hsi-kbw-091-089-189-253.hsi2.kabel-badenwuerttemberg.de) (Read error: Connection reset by peer)
L911[21:00:30] <S3> it's also safe, because instead of having full access to hardware your access to it is "permissible"
L912[21:00:46] <Xal> i'm not familiar with reactive streams, what are they?
L913[21:01:00] <S3> so, imagine a pipe with a queue inside of it
L914[21:01:26] <S3> something goes in one end and it comes out the other. on the end, you can filter for data only you want
L915[21:01:45] <S3> well, this filtering is available directly, or you can be smart and let the process wrapper handling the routing for you
L916[21:02:05] <S3> you register callbacks (filterable if necessary) to your streams you subscribe to
L917[21:02:24] <S3> so that for example, let's say you open a socket to some computer accross the internet
L918[21:02:42] <S3> every time that computer sends you a packet, it calls a function you registered called on_my_socket_data()
L919[21:02:59] <S3> maybe you want to handle keyboard input
L920[21:03:11] <S3> so you subscribe a function you wrote called on_keyboard_data() or something
L921[21:03:18] <S3> on a keyboard input stream
L922[21:03:24] <S3> or a tty input stream
L923[21:03:34] <S3> they can also be bidirectinal
L924[21:03:37] <S3> bidirectinal*
L925[21:03:41] <S3> meh
L926[21:03:44] <S3> this keyboard..
L927[21:03:47] <S3> bidirectional.
L928[21:04:40] <S3> Xal: example, you can use libunix just for the vfs, so you can access files on the system in a unixy way without running a full unix environment,.
L929[21:04:44] <S3> so!
L930[21:04:47] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L931[21:04:47] <S3> you open() some file
L932[21:05:08] <S3> and the way you do that is you send an open remote call to the stream connected to the libunix vfs
L933[21:05:17] <S3> the open() macro does this for you
L934[21:05:33] <S3> you get a stream in return (wat)
L935[21:06:25] <S3> this sttream is a bidirectional stream that yoiu can put() stuff into or read from
L936[21:06:33] <Xal> so instead of calling recv() and it blocking until a message arrives you subscribe a callback to one of these stream
L937[21:06:48] <S3> right. however, recv and such are still there.
L938[21:07:01] <S3> these are blocking calls that use the stream behind the scenes in a blocking manner.
L939[21:07:07] <S3> though it doesn't block other programs
L940[21:07:14] <S3> it just blocks your programing in a non blocking way :)
L941[21:07:22] <S3> program*
L942[21:07:38] <S3> whenever you put stuff in a stream. you can choose to yield your cpu time immediately and wait for a result with a timeout
L943[21:07:46] <S3> this is what the open() and recv, read calls do, etc
L944[21:07:58] <S3> they just put the call in the stream and wait
L945[21:08:13] <S3> so you can do blocking IO if you want
L946[21:08:21] <S3> though I prefer to do non blocking reactive programming
L947[21:08:42] <Xal> so your kernel is mostly responsible for ipc
L948[21:08:49] <S3> right
L949[21:08:56] <S3> that's what it is
L950[21:08:58] <S3> a giant ipc farm
L951[21:09:02] <S3> and what's crazy?
L952[21:09:07] <Xal> what's the difference between this 'exokernel' and a microkernel
L953[21:09:19] <S3> I decided to go nuts and make IRQs put() into streams.
L954[21:10:14] <S3> a microkernel provides a bus between processes and services through a kernel that provides abstraction to userspace. services are "usually" in kernel space, but not always
L955[21:10:24] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:bdd2:21a1:43af:26c6)
L956[21:10:41] <S3> an exokernel strives to have as little abstraction as possible by allowing userspace processes the opportunity to access all bare hardware.
L957[21:11:02] <S3> abstraction is a choice with exokernels.
L958[21:11:48] <S3> the ONLY thing I absract is IPC, and memory
L959[21:11:56] <S3> and actually
L960[21:12:05] <S3> memory is managed by a user process XD
L961[21:12:20] <Xal> so how does a userspace program get access to the hardware?
L962[21:12:21] <S3> Xal: the scary thing is after my kernel finishes booting the kernel isn't needed anymore.
L963[21:12:31] <TYKUHN2> Don't you love it when matchmaking yells at you for being automatically put into a full lobby?
L964[21:12:32] <Xal> because it's all callbacks and stuff?
L965[21:12:45] <S3> it asks for it by talking to the appropriate service. that guards it
L966[21:13:35] <S3> Xal: one example is to ask the memory manager to provide access to memory that covers memory mapped IO for say some hardware such as the vgabios vesa buffer
L967[21:13:44] <S3> and then writing directly to it (if it says it's ok)
L968[21:14:04] <S3> what happens is that on boot, the memory manager detects all system memory
L969[21:14:10] <S3> and then marks ALL of it as owned by itself.
L970[21:14:15] <S3> so it owns all ram
L971[21:14:18] <S3> and all memory
L972[21:14:32] <S3> and then you the process can ask it to release memory to you and lock if it need be
L973[21:14:50] <Xal> what keeps track of ownership of different resources?
L974[21:15:13] <S3> mostly the memory manager.
L975[21:15:14] ⇦ Quits: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net) (Read error: Connection reset by peer)
L976[21:15:26] <S3> anything memory related is handled by the memory management process.
L977[21:15:50] <S3> the memory manager knows who owns what memory
L978[21:15:54] <S3> including the memory it owns
L979[21:16:20] <S3> which by default as I said is all of it
L980[21:16:37] <S3> however, you can't ask the memory manager to release memory it is using, it locks that
L981[21:16:40] <S3> itl say no.
L982[21:17:11] <Xal> let's say I wanted to talk to a peripheral, how would I do that?
L983[21:17:39] ⇦ Quits: Doty1154 (~Doty1154@2601:648:8000:134f:bdd2:21a1:43af:26c6) (Ping timeout: 198 seconds)
L984[21:18:01] <S3> got an example of said peripheral?
L985[21:18:13] <Xal> a keyboard
L986[21:19:58] <S3> the keyboard is special. so, 99.99% of the time, you'll be reading from the keyboard and not writing to it, however you can write to the keyboard controller chip.. so if you're reading, you'll know that well, bios keyboard input is handled directly by an IRQ. USB keyboard input would come through another IRQ (unless bios usb -> PS/2 keyboard emulation is enabled, etc..
L987[21:20:12] <S3> anyways IRQ information is passed to streams
L988[21:20:50] <S3> in your user program, you don't want to ask for the keyboard IRQ stream, because you'd see EVERYbody's keyboard input to every process..
L989[21:21:03] <Xal> but what if I did ask for it
L990[21:21:25] <Xal> is there anything in place to stop me from snooping on keystrokes sent to other programs?
L991[21:21:32] <S3> well, you can and you can't
L992[21:21:48] <S3> you can by design of the kernel, yes
L993[21:21:57] <S3> however, another process has locked that stream
L994[21:22:15] <S3> and that process routes the keyboard input to the correct process input stream, etc
L995[21:22:36] <S3> so in most cases you'd subscribe do your stdio / related stream
L996[21:22:41] <S3> and it'd just be normal
L997[21:23:26] <S3> however, you can theoretically not load / quit the process who owns the stream locks for input IRQ
L998[21:23:34] <S3> and access it yourself
L999[21:23:43] <Xal> could I talk to the hard drive directly, without talking to the filesystem driver (in userspace?)
L1000[21:23:50] <S3> yes.
L1001[21:24:15] <Xal> but the filesystem driver would own the stream lock for it so I couldn't just write over it with 1s
L1002[21:24:27] <S3> the device service that provides the driver to that disk conroller locks it actually.
L1003[21:24:40] <S3> not the filesystem driver
L1004[21:25:12] <Xal> so the locks are first-come-first-serve and because the device service starts on boot I can't just grab the disk
L1005[21:25:26] <S3> Xal: sorta
L1006[21:25:37] <S3> you can eselate your privilege level and access locked resources
L1007[21:25:46] <S3> but it's not recommended
L1008[21:26:11] <S3> it can lead to unsafe behavior
L1009[21:26:19] <Xal> I would imag
L1010[21:26:21] <Xal> imagine*
L1011[21:26:37] <Xal> thanks for answering my numerous dumb questions, btw
L1012[21:26:43] <S3> they aren't dumb
L1013[21:26:48] <Xal> do you plan on posting the code ever?
L1014[21:27:09] <S3> yes, it'l be on github
L1015[21:27:15] <S3> it's not intended to be a useful system
L1016[21:27:52] <S3> but to be satisfied with my own computer I only need a few things..
L1017[21:28:06] <Xal> would it ever be possible to make one of these exokernels but a multi-user system
L1018[21:28:13] <S3> a text editor, a way to access a network, and a way to run code I write
L1019[21:28:17] ⇨ Joins: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net)
L1020[21:28:18] <S3> even if it is limited
L1021[21:29:23] <S3> because it's a reactive model, there is no real limitation to how it is used, by one, or many at once
L1022[21:29:45] <S3> it's a cooperatively multitasking system
L1023[21:29:57] <S3> coroutine based actually. (not lua coroutines)
L1024[21:30:13] <Xal> as in could you make one of these but with all the security bells and whistles
L1025[21:30:15] <S3> software multitasking is actually kinda faster and more efficient than hardware tasking usually
L1026[21:30:35] <S3> hmm
L1027[21:30:50] <S3> well the point is that the kernel itself doesn't force abstraction, your software packages can.
L1028[21:31:07] <S3> so you can create a distribution of services / processes that define the system you want to run
L1029[21:31:18] <S3> with forced abstractions and security in a way you the primary administrator wants
L1030[21:31:58] <S3> there's nothing stopping you from running a webserver that talks directly to the hard drive controller...
L1031[21:32:20] <S3> but you can prepare your system in a way that it can't as well.
L1032[21:32:30] <S3> it shouldn't be the kernel's choise
L1033[21:32:33] <S3> choice*
L1034[21:32:59] <S3> imo, a kernel should just be providing access to the hardware in a way that makes processes happy.
L1035[21:33:16] <S3> most kernels run more like a kingdom
L1036[21:33:27] <S3> where the kernel is a king that says what you can and can not do
L1037[21:33:35] <S3> an exokernel is more of like, hmm..
L1038[21:35:17] <S3> I believe the term is sociocratic governgence
L1039[21:35:21] <S3> not socialism
L1040[21:35:52] <S3> yeah sociocratic
L1041[21:36:02] <S3> sociocracy is the term
L1042[21:36:33] <AshIndigo> why isnt os.sleep avaliable on mcus?
L1043[21:38:32] <S3> AshIndigo: provided by openos
L1044[21:38:48] <S3> you can technically do the same thing
L1045[21:39:04] <S3> I can't remember how at the top of my head but
L1046[21:40:48] <Xal> https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/openos/boot/02_os.lua#L54
L1047[21:41:27] <AshIndigo> was just about to start poking around thanks
L1048[21:43:56] <S3> it seems a little weird but really isn't so much, I'm writing the same kernel in a lightweight manner in Lua for OC
L1049[21:44:12] <S3> so if you want to play with my exokernel in minecraft....
L1050[21:44:24] <S3> the lua half runs an exokernel of its own
L1051[21:44:44] <S3> openos is unique
L1052[21:45:01] <S3> because openos isn't an exokernel, but it provides access to components like one
L1053[21:45:35] <S3> there is no need to be, but there's no real driver or anything.. though my microkernel project did..
L1054[21:46:02] <S3> what it does provide you that openos doesn't though is a wonderful multiprocessing os
L1055[21:48:36] <AshIndigo> yay it finally works
L1056[21:49:09] <ds84182> my Anix OS could technically get multitasking if I create a program to proxy kernel objects over a network card
L1057[21:49:14] <ds84182> technically.
L1058[21:49:25] <ds84182> I've never implemented it because ¯\_(ツ)_/¯
L1059[21:56:29] <S3> ds84182: my exokernel uses streams.. so it doesn't care if there's a network car din between
L1060[21:56:30] <S3> :D
L1061[21:56:33] <S3> RPC is possible!
L1062[21:56:47] <S3> even on the real kernel
L1063[21:56:58] <S3> althoug h you have one problem
L1064[21:57:20] <S3> function calls accross streams in my exokernel isn't on character streams
L1065[21:57:32] <S3> and network data is a character stream
L1066[21:57:39] <S3> ou'd have to convert it
L1067[21:57:54] <S3> such as serialize the data into a character stream and back
L1068[22:04:10] ⇨ Joins: Epix (~Epix@182.46.1.230)
L1069[22:07:13] ⇦ Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Quit: Mischief Managed!)
L1070[22:08:30] <Epix> Hi, I have a noob question: Why is there is tier THREE microcontroller/tablet/drone?
L1071[22:08:49] <Epix> Why is there no tier THREE*
L1072[22:09:32] <S3> does there ned to be?
L1073[22:11:01] <Epix> i'm just in a case that need one more complexity point to craft a perfect drone.
L1074[22:12:53] <Epix> well actually just out of curiosity ;P
L1075[22:17:31] <Epix> tier 1 microcontroller case recipe has a tier 1 chips, tier 2 microcontroller case recipe has a tier 3 chips. that's weird. did Sangar explain the reason before?
L1076[22:20:41] ⇨ Joins: Doty1154 (~Doty1154@2601:648:8000:134f:548c:b731:526f:8d72)
L1077[22:25:13] ⇦ Quits: BearishMushroom (~BearishMu@90-231-174-194-no159.tbcn.telia.com) (Read error: Connection reset by peer)
L1078[22:29:33] ⇦ Quits: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net) (Read error: Connection reset by peer)
L1079[22:35:37] ⇨ Joins: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net)
L1080[22:51:01] <Antheus> %weather 76020
L1081[22:51:03] <MichiBot> Current weather for Azle, TX Current Temp: 73.5°F/23.1°C Feels Like: 73.5°F/23.1°C Current Humidity: 71% Wind: From the WSW 3.0 Mph/4.8 Km/h Conditions: Clear
L1082[22:51:09] <Antheus> it feels great
L1083[22:56:00] ⇨ Joins: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com)
L1084[22:57:46] <Izaya> %weather ballina
L1085[22:57:46] <MichiBot> No data returned
L1086[22:57:51] <Izaya> fuck you
L1087[22:57:54] <Izaya> %weather ballina, nsw
L1088[22:57:55] <MichiBot> No data returned
L1089[22:58:03] <Izaya> well it's 41C today
L1090[22:58:08] <AshIndigo> %weather ballina
L1091[22:58:08] <MichiBot> No data returned
L1092[22:58:17] <AshIndigo> it was worth a shot :\
L1093[22:58:20] <Izaya> %weather byron bay
L1094[22:58:21] <MichiBot> Current weather for Byron Bay, Australia Current Temp: 85.3°F/29.6°C Feels Like: 97°F/36°C Current Humidity: 78% Wind: From the North 2.9 Mph/4.7 Km/h Conditions: Clear
L1095[22:58:31] <Izaya> why is byron so nice
L1096[22:58:33] <Izaya> this isn't okay
L1097[22:58:42] <Izaya> fucking hipster surfer shark fuckers
L1098[22:58:59] <TYKUHN2> S3 just have something listening on a stream for certain patterns and run functions associated with said patterns?
L1099[22:59:44] <TYKUHN2> Converter = take name strip parenthesis route to stream designed to deconvert
L1100[23:00:41] <TYKUHN2> If you can get the nam
L1101[23:00:42] <TYKUHN2> name*
L1102[23:06:56] <Corded> * TYKUHN2 <-- Not entirely sure about assembly functions
L1103[23:07:41] <Corded> * TYKUHN2 Assuming that matters :)
L1104[23:11:05] ⇨ Joins: Cervator1 (~Thunderbi@2601:4c1:4000:1050:7837:46ee:b715:1958)
L1105[23:13:45] ⇦ Quits: Cervator (~Thunderbi@2601:4c1:4000:1050:7837:46ee:b715:1958) (Ping timeout: 198 seconds)
L1106[23:13:45] *** Cervator1 is now known as Cervator
L1107[23:20:43] ⇦ Quits: AshIndigo (~EiraIRC@host-92-11-196-119.as43234.net) (Read error: Connection reset by peer)
L1108[23:32:29] ⇦ Quits: VikeStepFTB (~VikeStep@192.43.96.58.static.exetel.com.au) (Quit: Leaving)
L1109[23:36:47] ⇦ Quits: Ashindigo_ (uid202308@id-202308.hathersage.irccloud.com) (Quit: Connection closed for inactivity)
L1110[23:48:59] ⇨ Joins: Ashindigo_ (uid202308@2604:8300:100:200b:6667:7:3:1644)
<<Prev Next>> Scroll to Top