<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[01:42:31] ⇨
Joins: xarses (~xarses@67.218.117.197)
L2[01:55:41] ⇦
Quits: xarses (~xarses@67.218.117.197) (Ping timeout: 383
seconds)
L3[01:56:18] ⇦
Quits: Greenphlem (uid22276@id-22276.ealing.irccloud.com) (Quit:
Connection closed for inactivity)
L4[01:58:33] ⇨
Joins: Vexatos
(~Vexatos@p200300556E4D3D93E8749F63D92512ED.dip0.t-ipconnect.de)
L5[01:58:34] zsh
sets mode: +v on Vexatos
L6[02:15:07] ⇦
Quits: Cervator (~Thunderbi@2601:4c1:4000:1050:ecc9:a855:8717:5234)
(Quit: Cervator)
L7[02:29:24] <GreaseMonkey> speaking of
windows, at work i have 8GB of RAM and a 9.3GB pagefile
L8[02:30:26] <GreaseMonkey> in reality
however it drops down to 6GB because i run a 2GB VM because it is a
long-blocking operation to get anything installed on windows
L9[02:30:41] <GreaseMonkey> and this is
definitely a layer 7 issue, not a windows issue
L10[02:31:00] <GreaseMonkey> anyhow, we
also use slack. today i shifted to running it in the browser,
because 1 browser is better than 2
L11[02:31:26] <GreaseMonkey> but i still
have to fit in outlook and adobe reader
L12[02:32:30] <GreaseMonkey> fun fact,
because every new piece of software needs to be checked off by
someone who is doing way too fucking much, i found that git bash
has vim in it and have been using that ever since i found that
out
L13[02:32:34]
<Kodos> Holy
shit I just read about Dual Universe
L14[02:32:43]
<Kodos>
Hopefully they don't scrap the Lua plans
L15[02:32:50] <GreaseMonkey> speaking of
bloatware, especially of the browser type, hello to discord
L16[02:33:07] <GreaseMonkey> and i cannot
say fuck electron enough
L17[02:33:20] <GreaseMonkey> fortunately we
only have two electron crapps at work - slack and postman
L18[02:33:30] <GreaseMonkey> (i *think*
postman's electron, could be wrong)
L19[02:33:34] <GreaseMonkey> (still fucking
chrome though)
L20[02:33:53] <asie> (as opposed to regular
chrome)
L21[02:34:04] <GreaseMonkey> (no they're
the same thing)
L22[02:34:29] <GreaseMonkey> only valid
reason to run two browsers is because you're testing to see if a
site runs fine on both
L23[02:34:57] <GreaseMonkey> but yeah,
today i came to the conclusion that almost everything i do at work
is a fucking workaroudn
L24[02:35:03] <GreaseMonkey> case in point:
i do ALL OF MY WORK in a VM
L25[02:35:17] <GreaseMonkey> purely because
of the long-blocking operation of trying to get anything
installed
L26[02:35:33] <GreaseMonkey> we don't have
that restriction on VMs
L27[02:36:14] <asie> most importantly
L28[02:36:15] <asie> stream when?
L29[02:36:19] <asie> couldn't make it
yesterday
L30[02:36:21] <GreaseMonkey> so hey, today
i ended up with qemu-system-arm which i'm using to manipulate an
image we're using for... oh right, hey, we have this legacy product
that still stinks of "1974 never happened"
L31[02:36:46] <GreaseMonkey> i could
possibly do a stream but i'll need to vent about how fucking
frustrating it is to work where i work at times
L32[02:36:56] <GreaseMonkey> morale is
pretty fucking low at the moment in the office
L33[02:41:25]
<Forecaster>
you need some happy dog
L35[02:45:30] <Vexatos> @Kodos they spelled
it LUA though. How can you support a game like this? D:
L36[02:45:30] <MichiBot> lua*
L37[02:45:36] <Vexatos> exactly
L38[02:47:30] <Vexatos> GreaseMonkey,
speaking of legacy products, the EI mass spectrometer at uni is
controlled by a Windows XP PC running a Windows 95 program in
compatibility mode, said program was a DOS port of a program for
the original Unix
L39[02:47:30] <Saphire> o..o
L40[02:47:47] <Saphire> Vexatos: port
it!
L41[02:48:06] <Vexatos> Porting mass
spectrometer control software is about as difficult as it sounds
:P
L42[02:48:07] <Saphire> GreaseMonkey:
what's with 1974?
L43[02:48:15] <Saphire> Vexatos: hah
L44[02:48:37] <Vexatos> You cannot get one
of these machines for below €500k
L45[02:48:41] <Vexatos> They're
appropriately complex
L46[02:49:17] <Saphire> Meanwhile I guess
is first time I get to eat some Chinese takeout o..o
L47[02:49:35] <Saphire> And it's pretty
tasty owo
L48[02:49:46] <GreaseMonkey> Saphire:
release date of SCCS
L49[02:50:04] <Saphire> Sccs?
L50[02:50:10] <GreaseMonkey> source code
control system
L51[02:50:20] <Saphire> Oh, VCS
L52[03:09:35] ⇨
Joins: MalkContent
(~MalkConte@p4FDCE8CF.dip0.t-ipconnect.de)
L53[03:26:35] ⇦
Quits: Yarillo (~Yarillo@rumia.aius.u-strasbg.fr) (Ping timeout:
383 seconds)
L54[03:36:54] ⇨
Joins: Yarillo
(~Yarillo@2001:660:4701:2004:5054:ff:feb8:97e9)
L55[03:37:42] ⇨
Joins: ben_mkiv
(~ben_mkiv@p4fed58a2.dip0.t-ipconnect.de)
L56[03:37:54] ⇨
Joins: Turtle (~SentientT@ip5657cbb2.direct-adsl.nl)
L57[04:09:31] ⇨
Joins: Inari (~Pinkishu@p4FC1EDA1.dip0.t-ipconnect.de)
L58[04:42:32] ⇨
Joins: malte0811
(~malte@p200300D243F995C24575163556F58B71.dip0.t-ipconnect.de)
L59[04:43:00] <malte0811> API question: Are
adapters meant to not call A.onDisconnect(A) on environments
provided by drivers?
L60[05:02:40] ⇦
Parts: malte0811
(~malte@p200300D243F995C24575163556F58B71.dip0.t-ipconnect.de)
())
L61[05:20:33]
<Forecaster>
todays enter the gungeon episode's title contains a great pun
L63[06:33:03] ⇨
Joins: brandon3055_
(~Brandon@pa49-184-140-23.pa.vic.optusnet.com.au)
L64[06:35:03] ⇦
Quits: brandon3055__
(~Brandon@pa49-184-140-23.pa.vic.optusnet.com.au) (Ping timeout:
183 seconds)
L65[07:13:56] *
Mimiru sighs
L66[07:18:56] <Corded> * <Forecaster>
signs
L67[07:36:00] ⇨
Joins: BearishMushroom
(~BearishMu@c-82-209-154-59.cust.bredband2.com)
L69[07:56:57] ⇦
Quits: Vexatos
(~Vexatos@p200300556E4D3D93E8749F63D92512ED.dip0.t-ipconnect.de)
(Quit: I guess I have to go now. Bye ✔)
L70[07:57:07] ⇨
Joins: Vexatos
(~Vexatos@p200300556E4D3D93E8749F63D92512ED.dip0.t-ipconnect.de)
L71[07:57:07] zsh
sets mode: +v on Vexatos
L72[08:21:13] ⇨
Joins: compRelay (~comprelay@185.86.106.183)
L73[08:35:51] ⇨
Joins: Nathan1852
(~Nathan185@HSI-KBW-37-209-86-166.hsi15.kabel-badenwuerttemberg.de)
L74[08:56:22] *
Michiyo stabs PhoneGap
L75[09:52:38] ⇨
Joins: viomi (~viomi@kurosawa.daviszone.org)
L76[10:41:12] <Inari> Michiyo: Nuuuu
L77[10:41:15] <Inari> stab thigh gaps
instead
L78[10:41:16] <Inari> (lewd?)
L79[10:50:58] <Skye> it can be either lewd
or disturbing
L80[10:51:03] <Skye> depending on the size
of said thigh gaps
L81[11:03:21] <Michiyo> >_<
L82[11:03:23] <Michiyo> fml..
L83[11:03:26] *
Michiyo quits..
L84[11:08:46] ⇦
Quits: Nathan1852
(~Nathan185@HSI-KBW-37-209-86-166.hsi15.kabel-badenwuerttemberg.de)
(Read error: Connection reset by peer)
L86[11:17:30] ⇨
Joins: Cervator
(~Thunderbi@2601:4c1:4000:1050:ddbd:6410:3e1:b7a5)
L87[11:26:41] ⇨
Joins: Laine_prikol (~Laine_pri@85.174.22.126)
L88[11:26:53] ⇦
Parts: Laine_prikol (~Laine_pri@85.174.22.126) (Host
RIP))
L89[11:27:23] ⇨
Joins: Laine_prikol (~Laine_pri@85.174.22.126)
L90[11:27:59] ⇦
Parts: Laine_prikol (~Laine_pri@85.174.22.126) (Host
RIP))
L91[11:28:15]
<noper>
hello
L92[11:28:16]
<noper>
all
L93[11:30:50] ⇨
Joins: SquidDev
(~SquidDev@host86-151-226-81.range86-151.btcentralplus.com)
L94[11:49:32] ⇦
Quits: compRelay (~comprelay@185.86.106.183) (Remote host closed
the connection)
L95[11:57:22] ⇨
Joins: xarses (~xarses@67.218.117.197)
L96[12:04:57] <AmandaC> Hello. Fall.
L97[12:05:15] <Vexatos> Hello.
Autumn,
L98[12:06:01] ⇨
Joins: compRelay (~comprelay@185.86.106.183)
L99[12:10:11] <gamax92> Hello.
September?
L100[12:19:34] <compRelay> for most people
yes gamax92
L101[12:19:59] <gamax92>
Wasted
L102[12:20:20] <AmandaC> for everyone,
actually.
L103[12:20:39] <AmandaC> ( Who uses the
gregorian calendar, anyway )
L104[12:20:47] <gamax92> North Korea
L105[12:21:47] <AmandaC> East Korea
L106[12:32:38] <Inari> Meh, this is
messing with my head :P "Page Down" is "Next
Chapter" in MPC-HC. But then to me "next" should be
"Page Up" if I don't think about itmuch. BUt then again,
if it'slike a list or anything you press down to go to the next...
but you press up to go forward in games or other things D:
L107[12:33:57] <AmandaC> MPC-HC?
L108[12:38:41] <Michiyo> I can't load
these damn files on an actual device..
L109[12:38:45] <Michiyo> works fine in the
emu
L110[12:39:12] <Michiyo> remote debugging
on the device throws a file not found error :/
L111[12:47:56] <AmandaC> Michiyo:
difference between dev / prod build?
L112[12:47:58] <gamax92> have you tried
running the emulator on the actual device?
L113[12:48:26] <Michiyo> the phonegap emu
on the device works fine, the in browser emu works fine
L114[12:48:35] <Michiyo> the apk,
doesn't
L115[12:52:54] <Inari> AmandaC: Media
Player Classic - Home Cinema
L116[13:00:50] <gamax92> high pass filter
+ bit crusher
L117[13:01:17] <AmandaC> Inari: ah
L118[13:03:42] *
gamax92 gives AmandaC 99% Cocoa
L119[13:11:56] <AmandaC> gamax92: are you
trying to kill me? D:
L120[13:12:05] <AmandaC> cats can't eat
chocolate!
L121[13:14:24] * S3
gives AmandaC blue wilderness
L122[13:14:42] <S3> it's what I feed my
kitties
L123[13:15:52] <gamax92> S3: when you
pitch something so high it pitches ends up low
L124[13:16:24] <S3> gamax92: ?
L125[13:16:25]
⇨ Joins: malte0811
(~malte@p200300D243F995C2ED1885AFEC6C7E5D.dip0.t-ipconnect.de)
L126[13:18:42] <gamax92> if only imgur
would load for me I could show you
L128[13:20:32] ⇦
Quits: SquidDev
(~SquidDev@host86-151-226-81.range86-151.btcentralplus.com) (Quit:
<quit message here>)
L129[13:21:28] <S3> gamax92: build it
using nothing but analog circuitry
L130[13:21:33] <gamax92> no you
L132[13:22:28]
<20kdc> it
looks faaaaaannnncccccyyyy
L133[13:24:18] <malte0811> Asking again
now that I am back: Are adapters meant to not call
A.onDisconnect(A) on environments provided by drivers?
L134[13:24:34] <AmandaC> %choose servers
or iot
L135[13:24:35] <MichiBot> AmandaC:
servers
L136[13:33:36] <Saphire> ...
L138[13:34:51] <Saphire> >squash and
merge is a paid feature
L139[13:35:36] <Michiyo> yep... welcome to
the new gitlab.
L140[13:36:02]
<20kdc>
you're kidding right
L141[13:36:03] <AmandaC> It always was a
paid feature, just not on gitlab-com
L142[13:36:20] <AmandaC> gitlab-com
previously gave you all the gitlab-ee features for free
L143[13:36:31] <AmandaC> Now they're
charging for the gitlab-ee features
L144[13:37:07] <Saphire> :v
L145[13:37:19] <Saphire> Can't you just...
Self host with all of that?
L146[13:37:57] <Saphire> >SaaS
L147[13:37:59] <AmandaC> Sure! Just pay
for a gitlab-ee license if you want squash-and-merge and the other
stuff they're charging for now on gitlab.com
L148[13:38:05] <Saphire> I FUCKING HATE
THIS TERM
L149[13:38:11] <Saphire> Who the
fuck
L150[13:38:18] <Saphire> Thought of this
thing?!
L151[13:38:23]
<20kdc> More
like "paying up the <censored> as a service"
L152[13:38:26] <Saphire> AmandaC: ... The
fuck?
L153[13:38:48] <Saphire> 20kds: that's
what SaaS actually means
L154[13:39:06] <AmandaC> squash-and-merge
was always a gitlab-ee feature, so you'd have to pay for it to have
it when self-hosting, too.
L155[13:39:51] <Saphire> ...
L156[13:39:58] <Saphire> What
L157[13:40:10] <Skye> for private things
you can just clone the EE code and run it because it's tehcnically
public just not actually open and legal to do so
L158[13:40:10] <Saphire>
Whaaaaaaaaaaaaaaaaaaaaaaaa
L159[13:40:32] <AmandaC> Skye: pretty sure
the EE code isn't public-viewable
L160[13:40:39] <Skye> I think it is
L161[13:40:42] <AmandaC> It's a strict
superset of the CE code, tho
L162[13:42:47] <Saphire> Why are you
monetizing an open-source product?
L163[13:42:48] <Saphire> Our community has
worked hard on making a great product.
L164[13:42:50] <Saphire> The enterprise
world could benefit from this product.
L165[13:42:52] <Saphire> We wanted to be
able to offer some features that aren’t necessarily needed in the
open source world but are needed for large companies.
L166[13:42:54] <Saphire> For those
features, we charge our large customers and in return are able to
create those features and hire people to work on the open source
project.
L167[13:42:56] <Saphire> ... Fucking
bullshit
L168[13:43:06] *
AmandaC sighs
L169[13:43:13] *
AmandaC nopes on off, because she's too close to this
issue
L170[13:43:19] <Saphire> Capitalism at its
finest
L171[13:43:35] <Saphire> AmandaC: umm,
sorry :c
L172[13:43:37] ⇦
Quits: Xal (~Xal@S010664777dabacc3.vw.shawcable.net) (Ping timeout:
383 seconds)
L173[13:44:31] <Skye> The only reason I
see is that they do have to pay their developers?
L174[13:46:43] <Saphire> Skye: ...they
already have pricy Enterprise Edition
L175[13:46:54] <Saphire> And hosting
L176[13:49:08] <Saphire> ... Okay, not
technically pricy, but
L177[13:49:29] <Saphire> ... Oh hey, their
bronze thing costs more than equivalent EE
L178[13:49:36] <Saphire> I hope they'll
burn on this
L179[13:50:27]
⇨ Joins: Xal
(~Xal@S010664777dabacc3.vw.shawcable.net)
L180[13:53:41] <Inari> Saphire: I don't
see the issue
L181[13:53:45] <Inari> large companies
generally have the money
L182[13:54:00] <Saphire> Inari: then why
the fuck do they go into open source?
L184[13:54:37] <Inari> Ah, they restrict
features, well thats silly :P
L185[13:54:51] <Saphire> It's like
"hey guys, we have neat features, you can even see their
source and do whatever you want but you still gotta pay us for all
this because money money MONEY MONEY GIVE ALL YOUR
MONEY"
L186[13:55:19] ⇦
Parts: AmandaC (sid25048@id-25048.brockwell.irccloud.com) (I can't
look away from this trainwreck, bbl))
L187[13:55:40] ⇦
Quits: ben_mkiv (~ben_mkiv@p4fed58a2.dip0.t-ipconnect.de) (Remote
host closed the connection)
L188[13:55:40] <Inari> With "big
companies" I didn't mean gitlab, but the ones that would buy
enterprise editions
L189[13:56:06] <Inari> If it's opensource
though ,can you not self-host and have those features?
L190[13:56:15] <Saphire> Inari: no
L191[13:56:21] <Inari> Well, thats
silly
L192[13:56:29] <Saphire> EXACTLY
L193[13:56:36] <Saphire> That's the
issue
L194[13:57:09] <Inari> "per user per
month" yeah welllll
L195[13:57:10] <Inari> Nah
L196[13:57:18] <Saphire> Yeah
L197[13:57:28] <Inari> That kind of...
doesn't work for opensource
L198[13:57:44] <Saphire>
EX-FUCKING-LATLY
L199[13:57:52] <Saphire> *ACT
L200[13:57:54] <Saphire> Bleh
L201[13:57:55] <Inari> xD
L202[13:58:06] <Inari> Oh well
L203[13:58:08] <Inari> RIP gitlab
L204[13:58:28] <Inari> Whats an
alternative? :D I've wanted to set up some private git thingy at
some point maybe
L205[13:58:33] <Saphire> And look at the
"premium" features
L206[13:58:48] <Saphire> Inari: an assugly
gnu thing
L207[13:59:13] <Saphire> Or utterly
proprietary and dmca-at-drop-of-hat GitHub
L208[13:59:25] <Saphire> Or raw git
L209[13:59:36] <CompanionCube> I <3
gogs
L210[13:59:40] <Inari> How does that work
when the code is opensource? The license doesn't allow you to use
it if you don't buy from them?
L211[13:59:58] <Saphire> Inari:
uh...
L212[14:00:02] <Saphire> ...
L214[14:00:10] <Saphire> ...idfk?
L215[14:00:27] <Saphire> EE features are
probably licensed in other way than CE
L216[14:00:29] <Inari> Gogs looks nice
from screenshots
L217[14:00:54] <CompanionCube> Inari: i
literally just finished setting it up for someone else
L218[14:01:08] <CompanionCube> it works,
it's lightweight (runs well on my pi3 for example), it's
oss/free
L219[14:01:16] <Inari> Nice
L220[14:01:31] <Inari> I don't like the
whole SaaS addiction :| Especially when it's for entirely silly
things
L221[14:01:51] <Inari> Like there are
wordpress plugins, where you have to subscribe to use it, and it's
like "this plan only supports so any so many words"
L222[14:01:54] <Inari> Like what,
why?
L223[14:01:59] <Inari> And monthly,
what?
L224[14:02:12] <Inari> I'd rather just
have it hosted on the thing that already hosts my wordpress
anytway
L225[14:02:15] <Inari> And not pay for it
monthly
L226[14:02:26] <Saphire> Inari: I utterly
despise SaaS the moment I saw first thing that uses it myself
L227[14:04:00] <Michiyo> I want to try
gogs... gitlab sucks down RAM
L228[14:04:02] <Saphire> ... Uh
L229[14:04:17] <Saphire> Why gogs is using
GitHub though?
L230[14:05:09] <CompanionCube> Saphire:
visibility perhaps?
L231[14:05:22] <Saphire> CompanionCube:
true, but makes you question things
L232[14:13:08]
<20kdc>
Saphire: To be fair, everybody swarms around GitHub
L233[14:13:12]
<20kdc> so
to get people to even develop gogs
L234[14:13:31]
<20kdc>
they'd want to be on GitHub
L235[14:14:37] <Saphire> Eh, GitHub is
shit
L236[14:15:28] <Saphire> I mean.. it's
okay but..
L237[14:15:43] <Saphire> Gitlab offered
(in the past) more
L238[14:18:05]
<20kdc>
Question: Did Gitlab remove any features from the open-source
version?
L239[14:19:46] <Saphire> Mm, no. But
GitHub got some that are paid in gitlab
L240[14:20:15] <Saphire> Mostly because
gitlab isn't that much adding into free plan I guess
L241[14:21:17]
<20kdc> Then
at least both are honest. (If GitLab had *removed* features from
it's open-source version, then, GitLab would be dishonest, and
GitHub honest.)
L242[14:21:25] <Saphire> IMHO
squash-and-merge, FF/rebase merge are something that should be,
well, free
L243[14:21:40] <Saphire> Because that is
not a fucking feature that is unique to gitlab
L244[14:21:56] <Saphire> That is just
adding flags into git command
L245[14:21:59] <Saphire> :v
L246[14:29:43] <Saphire> Basically, a
fucking bullshit
L247[14:30:41] <Inari> Now, now
L248[14:30:47] <Inari> Thats not language
for a young dragon to use
L250[14:44:34] <Michiyo> ... So.. I opened
the APK for my app.. and I see why it couldn't find my
.jsons..
L251[14:44:35] <Michiyo> they don't
exist.
L252[14:45:39]
⇨ Joins: SquidDev
(~SquidDev@host86-151-226-81.range86-151.btcentralplus.com)
L253[14:54:20]
⇨ Joins: Dark
(~MrDark@2607:fcc8:d48b:eb00:c50a:ebb:31d0:792d)
L254[14:58:38] <Michiyo> ok.. so now they
exist and it still doesn't work \o/ lol
L255[15:10:10] ⇦
Quits: MalkContent (~MalkConte@p4FDCE8CF.dip0.t-ipconnect.de)
(Quit: Leaving)
L256[15:10:32] ⇦
Quits: Vexatos
(~Vexatos@p200300556E4D3D93E8749F63D92512ED.dip0.t-ipconnect.de)
(Ping timeout: 204 seconds)
L257[15:24:50]
⇨ Joins: Vexatos
(~Vexatos@p200300556E4D3D13E8749F63D92512ED.dip0.t-ipconnect.de)
L258[15:24:52]
zsh sets mode: +v on Vexatos
L259[15:28:48]
⇨ Joins: AmandaC
(sid25048@id-25048.brockwell.irccloud.com)
L260[15:30:07] <payonel> o/
L261[15:34:19] ⇦
Parts: malte0811
(~malte@p200300D243F995C2ED1885AFEC6C7E5D.dip0.t-ipconnect.de)
())
L262[15:39:16]
<Dudblockman> When do we get amazing
brain-computer interface implants?
L263[15:39:25]
<Dudblockman> When does humanity go full
cybernetic?
L264[15:40:07] <payonel> dudblockman:
tomorrow afternoon
L265[15:40:40] <AmandaC> payonel: shit! I
scheduled the apocolypse for tonight!
L266[15:41:01] <AmandaC> Sorry,
timeline
L267[15:43:38] <Inari> @Dudblockman: will
likely be a long while
L268[15:43:40] <Inari> It's kinda of hard
to do that
L269[15:43:49] <Inari> Since each brain is
somewhat different
L270[15:45:08]
<Dudblockman> But it's so... adaptive
L271[15:46:11]
<Dudblockman> I've started recognizing
smartphones as a sort of extension of the human body and
mind.
L272[15:46:36]
<Dudblockman> It's almost like an extra
limb or organ at this point
L273[15:46:55]
<Dudblockman> At what point can we make it
one
L274[15:47:13]
<Dudblockman> Just integrated into our
nervous system
L275[15:47:32]
<Dudblockman> Push the boundaries of
'humanity'
L276[15:48:58] <Inari> As said, that will
take a while :P It's nice that the brain is adaptive. But with all
the difficulties of such implants, them needing space, and no brain
being the same. Thus it may requriing intensive training to use it
once implamnted and even then being somewhat hard to use...
L277[15:49:02] <Inari> Seems easier to
just have a smartphone
L278[15:53:54]
<Dudblockman> I'm just enamored with the
concept
L279[15:54:07]
⇨ Joins: kevinkk525
(webchat@p548816A1.dip0.t-ipconnect.de)
L280[15:54:11]
<Dudblockman> The potential
applications
L281[15:55:00]
<Dudblockman> The craziest of which being
essentially human USB ports
L282[15:56:47]
<Dudblockman> I really shouldn't have drank
that energy drink earlier. My mind is a little... crazier than
usual
L283[15:58:22] <kevinkk525> hi guys, i
have a potentially stupid question: i'm running version 1.6.2 of OC
on MC 1.7.10, so OpenOS should be 1.6.5 right? Sadly i have only
1.6.1 wich has no thread api integrated. I did search for a while
but could not find how to get the latest OpenOS.. What am I
missing?
L284[16:01:28]
<Dudblockman> What is driving you to use
threads? There are other alternatives
L285[16:01:50]
<kevin> well
why not? it was added for a reason recently. if it should not be
used why was it added in 1.6.5?
L286[16:02:27]
<kevin>
sorry i changed from irc to discord, i'm kevinkk525 from irc
L287[16:02:30]
<Dudblockman> If he doesn't have the api,
many things threads can do can be handled in other ways
L288[16:02:37] ⇦
Quits: kevinkk525 (webchat@p548816A1.dip0.t-ipconnect.de) (Quit:
Web client closed)
L289[16:02:38]
<Dudblockman> Oh lol
L290[16:02:58]
<Dudblockman> Coroutines can do quite a
bit
L291[16:03:18]
<kevin> yeah
i could also just paste the lua file and it would work. still the
openos version is way lower than i would have expected as that
library is missing.
L292[16:03:46]
<Dudblockman> I have not played with the
new API yet
L293[16:04:07]
<Dudblockman> I'll hop over and start
reading I guess
L294[16:04:19]
<kevin> in a
thread on the forum someone suggested to somebody else to use the
thread library that has been added in openOS 1.6.5 so i was
wondering why i got a lower openOS without that library although
the OC version is the most recent
L295[16:04:45]
<Dudblockman> It's the most recent version
on an old version of minecraft
L296[16:05:32]
<Dudblockman> The ones in later minecraft
versions are more up to date
L297[16:05:33]
<kevin> oh..
. ?
L298[16:06:18]
<Dudblockman> But, unless I'm wrong, OpenOS
is not too heavily tied to the mod version
L299[16:07:44] ⇦
Quits: BearishMushroom
(~BearishMu@c-82-209-154-59.cust.bredband2.com) (Read error: -0x1:
UNKNOWN ERROR CODE (0001))
L300[16:08:16]
<Dudblockman> I'm no expert. Honestly a
complete novice.
L301[16:08:26]
<kevin>
shouldnt be unless something requires an API to scala or other OC
components.. but that shouldn't be the case. trying to copy all
missing libraries to my version. maybe it works, otherwise i will
have to rewrite it with coroutines.
L302[16:08:27]
<kevin>
thanks for your help
L303[16:08:28]
<Dudblockman> So take anything I say with a
grain of salt
L304[16:08:47]
<Dudblockman> I am prone to
misinformation
L305[16:08:53] <Michiyo> You should be
able to just reinstall OpenOS... if you have an old version
installed, reinstall to get the latest.
L306[16:09:38]
<kevin> i
took a new disk and installed it, still version 1.6.1
L307[16:10:32] <Michiyo> payonel, ^
L308[16:10:55] <compRelay> im running
MC1.10.2-1.6.2.7 and thats 1.6.1 of openOS (to save you some time
testing 1.10.2)
L309[16:11:56] <Michiyo> Oh.. right
L310[16:12:04] <Michiyo> Try the newer dev
builds..
L311[16:12:07]
<kevin> oh
ok. thanks for that info. so how was that guy talking about openos
1.6.5 and who has the thread library implemented? well nevermind,
probably even more up to date MC versions if any. as updating the
server is no option i have to figure out another way of doing
it..
L312[16:12:17] <Michiyo> ci.cil.li
L313[16:12:37] <compRelay> avoid the dev
build for mc 1.12, it's currently very broken when it comes to
robots and drones
L315[16:13:03] <Michiyo> Would have the
latest OpenOS
L316[16:13:14]
<kevin> oh
thanks for looking that up so fast.
L317[16:14:24] <Michiyo> Np, I keep
forgetting that there hasn't been a release in.. ages
L318[16:14:36] <Michiyo> 6 months :/
L319[16:15:04]
<kevin>
yeah.. little bit frustrating if the official documentation is more
up to date than the last published package
L320[16:15:44]
<kevin>
looks like i need to wait until the server gets updated as too many
files of openos changed in order to use the thread library.
L321[16:16:03] <payonel> woah look at all
these pings
L322[16:16:08] <Michiyo> I *think*
threading might be somewhat scala side too.. IDK though
L323[16:16:26] <Michiyo> Ignore mine
payo.. lol
L324[16:16:33] <payonel> kevin left?!
crap
L325[16:16:45] <Michiyo> kevin is on
discord..
L326[16:16:46] <Michiyo> :P
L327[16:16:52] <payonel> oh!?
L328[16:16:56] <payonel>
@kevinkk525?
L329[16:17:00] <Michiyo> oh.. idk
L330[16:17:01] <Michiyo> maybe :P
L331[16:17:27] <payonel> @dudblockman:
threads are the best! NO ALTERNATIVES
L332[16:17:33]
<Dudblockman> k
L333[16:18:13] <payonel> @kevin you
here?
L334[16:18:35]
<kevin> yeah
im still here
L335[16:18:47] <compRelay> would it
possible to write a discord chat client in lua/openOS?
L336[16:18:53] <payonel> dudblockman,
kevin, all: openos 1.6.x requires OC 1.6.x
L337[16:18:56] <payonel> that's basically
it
L338[16:18:58] <Michiyo> websockets make
that a pain in the ass.
L339[16:19:19] <Michiyo> I don't think you
can..
L340[16:19:46] <Michiyo> not in OC
anyway.. in plain lua, yes
L341[16:19:49] <Inari> I thought
websockets are just tcp?
L342[16:19:50] <Michiyo> I'd assume
anyway
L343[16:20:14]
<20kdc>
HTTPS may be an issue
L344[16:20:45] <payonel> kevin: you can
update openos without updating the server --- it's just a bit more
tedious
L345[16:21:05] <payonel> yeah, i think
we'll push for an OC update before BTM
L346[16:21:29] <payonel> problem is people
keep finding bugs :)
L347[16:21:39] <payonel> old ones, hard to
fix
L348[16:21:44] <payonel> though openos is
quite stable
L349[16:22:00] <payonel> and that's all i
work on, so...yeah
L350[16:22:03]
<kevin>
@payonel thanks
L351[16:22:03]
<kevin> by
adding 2 files and replacing the event.lua library i at least got
no require errors, will test if the library works.
L352[16:22:04]
<kevin>
Would pulling OpenOS from github make sense or could there be too
many dependencies to the underlaying OC version so that it will be
broken?
L353[16:22:04] <payonel> that's all the
matters ^.^
L354[16:22:23]
<Dudblockman> I figured you couldn't just
update
L355[16:22:54] <payonel> kevin: i wouldn't
trust updating one file at a time for anything :/ and the threading
library is a very complex thing
L356[16:23:04] <payonel> and, Michiyo --
threads are fully in the openos side
L357[16:23:36]
<kevin> well
finding bugs is not a bad thing ? if one can fix them without
making 2 bugs for 1 fixed :D
L358[16:23:36]
<kevin> oh
ok thanks a lot for that information
L359[16:24:17] <payonel> the java/scala
side of OC has not been changing much
L360[16:24:21] <payonel> but OpenOS has
been
L361[16:24:36] <payonel> and OpenOS has
been moving to more and more stable and improved
L362[16:24:59] <payonel> mainly because
i've been active. most of the OC changes have been trying to port
it to 1.12
L363[16:25:21]
<kevin> well
thats great news about good work i'd say. that many MC versions
must be a pain anyways
L364[16:25:37]
<Kodos>
#1710forlife
L365[16:25:52]
<kevin> yeah
exactly.
L366[16:26:18] <payonel> yeah...i think
for btm i need to demo why threads are so amazing
L367[16:26:38] <payonel> AND update our
official release
L368[16:27:34]
<kevin> well
the thread api is already in the official documentation ? so i used
it wihtout testing its availability. normally the documentation is
behind the releases not the other way round :D
L369[16:27:35]
<kevin> but
i can see why threads are amazing
L370[16:28:08] <payonel> it's one of my
favorites things i've done
L371[16:31:48] <payonel> kevin: also, if
you update to latest openos, your boot time and memory load will be
awesome
L372[16:32:18] <payonel> kevin: who
maintains the server?
L373[16:32:29] <payonel> you or friend or
unknown?
L374[16:32:35] <Michiyo> \o/ my apk
works
L375[16:32:45] <payonel> Michiyo: do i
have to use @ to ping ?
L376[16:33:16] <Michiyo> Discord clients/
yes
L377[16:33:23] <payonel> @kevin
L378[16:33:28] <Michiyo> s/\//\?/
L379[16:33:31] <MichiBot> <Michiyo>
Discord clients? yes
L380[16:33:44] <payonel> i love that you
know how to close your regex
L381[16:33:47] <payonel> makes me
happy
L382[16:33:59]
<kevin>
@payonel well the good news is, my little "port" does
work on all official examples until the threadHandle-Api starts the
ones using thread:suspend or thread:resume
L383[16:33:59]
<kevin> a
friend is running it, i could ask him to update to a dev
build
L384[16:34:22] <payonel> kevin: you can
also update JUST the openos loot disk
L385[16:34:28] <payonel> on the
server
L386[16:34:35] <payonel> it takes a few
steps to unpack and repack the jar
L387[16:34:37] <payonel> but, it's an
option
L388[16:34:39]
<kevin> by
replacing the files in the .jar?
L389[16:34:43] <payonel> aye
L390[16:34:58]
<kevin> so
it should be fully compatible with OC 1.6.2.12?
L391[16:35:05] <payonel> yes, like i said
earlier
L392[16:35:13] <payonel> openos 1.6.x
depends only on oc 1.6
L393[16:35:18]
<kevin> yeah
sorry. thanks, i will try it
L394[16:38:43] <payonel> assuming you have
OpenComputers.jar and OpenComputer-latest.jar in your current dir:
`mkdir new-tmp; cd new-tmp; unzip OpenComputers-latest.jar; cd ..;
mkdir old-tmp; cd old-tmp; unzip ../OpenComputers.jar; rm -rf
assets/opencomputers/loot; cp -r
../new-tmp/assets/opencomputers/loot assets/opencomputers; zip
../OpenComputers-patched.jar -r *; cd ../; rm -r old-tmp
new-tmp`
L395[16:38:43] <payonel> untested ^
L396[16:38:45] <payonel> :)
L397[16:38:47] <payonel> but basically
that
L398[16:39:08] <AmandaC> payonel: OPPM
openos updater when? :P
L399[16:39:11] *
payonel tests to see how close i was
L400[16:39:24] <payonel> AmandaC: after
the apocalypse
L401[16:39:32] <AmandaC> ah, damn
L402[16:39:35] <AmandaC> alas
L403[16:40:17]
<kevin>
thanks payonel. i did replace the openos loot disk
L404[16:42:31] <payonel> ah small mistake
in my commands, i meant `unzip ../OpenComputers-latest.jar`
L405[16:42:33] <payonel> but yeah
L406[16:42:34] <payonel> that
L407[16:43:04]
<kevin> no
problem, i know how to do it.
L408[16:43:16] <payonel> coo
L409[16:43:57] <payonel> AmandaC: how
about...before BTM
L410[16:47:39] ⇦
Quits: xandaros (~xandaros@185.35.77.23) (Remote host closed the
connection)
L411[16:48:04] <gamax92> mint tea
L412[16:48:35] <payonel> kevin: to
clarify, just in case you're unsure, with a patched jar you do not
need to update the clients
L413[16:51:42]
<kevin> oh
thanks, did not think about that yet. ran into an error while
booting from the loot disk: "Unrecoverable Error loadfile:5:
/lib/core/boot.lua", files are all there, although folder core
does not exist on github but in the archive of the last build
L415[16:52:52] <payonel> not sure what you
mean
L416[16:53:23] <payonel> also, what do you
mean error booting for loot disk? sounds like a batched patch
job
L417[16:53:47]
<kevin> oh
well i did look at the wrong folder on github..
L418[16:53:48]
<kevin> i
will try the whole process again and report back after that.
L419[16:59:43] <AmandaC> payonel: sorry,
but the apocolypse happen tonight, the millenials will run out of
avacados to placate them, and turn ravonuse, attack the entire
world. None shall survive
L420[17:00:07] <payonel> well i said after
that, but before btm
L421[17:00:15] <AmandaC> lolol
L422[17:05:15]
<kevin>
@payonel it worked, i have openos 1.6.7 working now but the thread
library does not work without errors for me so i assume there must
be more to it than just openos?
L423[17:05:16]
<kevin> Many
of the official examples give different output, sometimes not
working at all (e.g. thread running that should be dead..)
L424[17:05:37] <payonel> there really
isn't anything it depends on
L425[17:05:46] ⇦
Quits: Inari (~Pinkishu@p4FC1EDA1.dip0.t-ipconnect.de) (Quit: 'How
many slimes do you have in your coral?')
L426[17:05:51] <payonel> let me check
something
L427[17:06:11] ⇦
Quits: xarses (~xarses@67.218.117.197) (Ping timeout: 186
seconds)
L428[17:06:35] <payonel> ok which one do
you want me to test first?
L429[17:06:37] <payonel> ~w thread
L431[17:07:44]
<kevin> ok
if you say so.
L432[17:07:44]
<kevin>
mainly this snippet gives me problems:
L433[17:07:45]
<kevin>
local thread = require("thread")
L434[17:07:45]
<kevin>
local t = thread.create(function()
L435[17:07:45]
<kevin>
print("before sleep")
L436[17:07:45]
<kevin>
os.sleep()
L437[17:07:46]
<kevin>
print("after sleep")
L438[17:07:46]
<kevin>
end)
L439[17:07:46]
<kevin>
t:suspend()
L440[17:07:47]
<kevin>
print(t:status())
L441[17:07:47]
<kevin>
os.sleep(10)
L442[17:07:48]
<kevin>
print(t:status())
L443[17:07:48]
<kevin>
t:resume()
L444[17:07:49]
<kevin>
print("after resume")
L445[17:07:49]
<kevin>
print(t:status())
L446[17:07:50]
<kevin> it
should print:
L447[17:07:50]
<kevin>
before sleep
L448[17:07:51]
<kevin>
suspended
L449[17:07:51]
<kevin>
suspended
L450[17:07:52]
<kevin>
after resume
L451[17:07:52]
<kevin>
dead
L452[17:07:53]
<kevin> what
i get is "running" at the end instead of
"dead"
L453[17:08:07] <payonel> kevin
L454[17:09:21] <payonel> kevin?
L455[17:09:32]
<kevin> but
don't waste your time on me if you have something more important.
i'll check it out and if i get something i will report it on github
(or maybe not at all as it is untested scenario)
L456[17:09:40] <payonel> kevin
L457[17:09:53]
<kevin> yes
i'm here ?
L458[17:09:58] <payonel> irc is not
pastebin
L459[17:10:02] <payonel> :)
L460[17:10:06]
⇨ Joins: kevinkk525
(webchat@p548816A1.dip0.t-ipconnect.de)
L461[17:10:16] <AmandaC> use tripple
backticks so that the bridge bot will condense it properly
L462[17:10:37]
<kevin>
sorry. in discord it looked fine
L463[17:11:22] <payonel> if you can
repaste that with ``` (triple back ticks) i guess michiyo's bot
will auto pastebin that for me
L464[17:11:28] <payonel> or, use hastebin
yourself
L465[17:11:35] <payonel> that'd save me
some time extracting that code
L466[17:11:57] <phroa> kevin I'm not a lua
guy but does os:sleep() with no argument sleep forever?
L468[17:12:21] <payonel> phroa: no it
sleeps for 0 seconds
L469[17:12:27] <phroa> eh, ok
L470[17:12:40]
<kevin> it
is the 2nd code snippet in the docs under Thread Handle API
L471[17:13:14]
<kevin> just
that the output is "running" instead of "dead"
at the end.
L472[17:13:14]
<kevin> I
guess it is easier to look at the docs as on pastebin but i can
pastebin it if you want.
L473[17:13:46]
<kevin>
@phroa no it does just yield back to the handler.
L474[17:14:26]
<kevin>
@payonel sorry the 4th snippet!
L475[17:15:49] <payonel> see .. .this is
why i need openos in a release build
L476[17:15:54] <payonel> so ppl point out
my silly bugs
L477[17:16:07] <payonel> ok, yeah
L478[17:16:10] <payonel> i'll fix that
tonight
L479[17:16:17] <payonel> thread api is
very important to me, i'll figure this out
L480[17:16:36]
<kevin> so
does it output the same for you too?
L481[17:17:14]
<kevin>
thanks for looking into it. i'll keep using the library and report
back to you if i find anything
L482[17:17:15] <payonel> yeah, i'll fix
it
L483[17:18:02] <payonel> the expected
output is correct
L484[17:18:09] <payonel> the behavior is
wrong
L485[17:19:51] ⇦
Quits: Turtle (~SentientT@ip5657cbb2.direct-adsl.nl) (Read error:
-0x1: UNKNOWN ERROR CODE (0001))
L486[17:20:42]
<kevin>
good.
L487[17:20:43]
<kevin> i
think the documentation can't be edited by me, so under Thread
Exception Example in the snippet line 10 has to be
"print("p end", reader:status())"
L488[17:20:59] <payonel> you just need an
account on the wiki
L489[17:21:03] <payonel> but i can review
that and fix it
L490[17:21:21] <payonel> and yes, thank
you
L491[17:21:24] <payonel> it should be
reader:
L492[17:21:44] <payonel> done
L493[17:21:51]
<kevin> i
can create an account, no problem, then you don't have to run for
every little mistake.
L494[17:21:51]
<kevin>
thanks
L495[17:25:20] <payonel> kevin, btw in
your new openos build you have a couple new command line
tools
L496[17:25:27] <payonel> /bin/tree and
/bin/ps
L497[17:25:51] <payonel> ps is helpful if
you are running thread daemons (threads that detach from a parent
process)
L498[17:26:41]
<kevin> oh
that is nice
L499[17:27:21] <payonel> you'll also see
that your init process has a bunch of EVENTS
L500[17:27:23] <payonel> 16 for me
L501[17:27:31] <payonel> that is the
number of event listeners registered on that process
L502[17:36:17] ⇦
Quits: compRelay (~comprelay@185.86.106.183) (Quit:
compRelay)
L503[17:36:43]
<kevin> I
have a question to the first snippet under Thread Handle API:
L504[17:36:43]
<kevin> i
only get the output ("start") which is kind of logical as
the thread suspends itself and will never get to any print call
without being resumed, if t:suspend() yields. if it does not, then
there should be "after supsend" printed. for me nothing
is printed and even if I add "t:resume()" afterwards
outside the thread function, it does not work as the thread is
dead.
L505[17:36:43]
<kevin> When
suspending and resuming from outside the thread function, the
thread remains running but does not print anything.
L506[17:36:44]
<kevin> So
basically suspending and resuming does not work correctly.
L507[17:36:44]
<kevin> I
guess that is related to the error we encountered before.
L508[17:36:44]
<kevin> (I
hope that was not too confusing without code...)
L509[17:37:20] <payonel> i was afk, now
reading
L510[17:37:51]
⇨ Joins: xandaros (~xandaros@185.35.77.23)
L511[17:37:53]
<kevin> np,
i just sent it ?
L512[17:38:05] <payonel> that snippet
output is completely wrong
L513[17:38:10] ⇦
Quits: kevinkk525 (webchat@p548816A1.dip0.t-ipconnect.de) (Quit:
Web client closed)
L514[17:38:20] ***
xandaros is now known as Guest76096
L515[17:39:29] <payonel> @kevin: thanks,
fixed that output
L516[17:41:12] <payonel> i need to
rephrase some of that description
L517[17:43:17]
<kevin>
@payonel thanks for confirming.
L518[17:43:18]
<kevin> I
have one last (hopefully :D) question for today: the last snippet
under thread API
L519[17:43:18]
<kevin>
Applying logic it could output what has been written in the docs
but for me it outputs "D" before "Main program
end", which would be wrong?
L520[17:43:18] <payonel> well not really,
the docs are correct
L521[17:43:22] <payonel> you just have to
read all of it :)
L522[17:43:34]
<kevin> ?
thats most important
L523[17:43:39] <payonel> @kevin: but the
point about suspend is that a suspended thread will remain
suspended
L524[17:45:22]
<kevin>
@payonel yes under that aspect that snippet is fine
L525[17:45:22]
<kevin> btw:
fixed a missing "local event=require("event")"
in another snippet.
L526[17:45:22]
<kevin>
don't know if you saw that as you started answering at the same
time to something else:
L527[17:45:23]
<kevin> I
have one last (hopefully :D) question for today: the last snippet
under thread API Applying logic it could output what has been
written in the docs but for me it outputs "D" before
"Main program end", which would be wrong?
L528[17:45:53] <payonel> hmm...well
L529[17:46:15] <payonel> D before
"Main program end" might be okay. i haven't promised how
os.sleep() will behave
L530[17:46:18] <payonel> in a thread
L531[17:46:39] <payonel> what im saying
is...there is some unspecified aspects of os.sleep() in the context
of threading
L532[17:46:50] <payonel> i have to fix the
first one you reported
L533[17:47:06] <payonel> which is an issue
with suspend+yields from os.sleep
L534[17:47:21] <payonel> so before i
"fix" this "D before end" i need to first
address the real bug
L535[17:47:40]
<kevin> ok
good, so there can be some degree of randomness in who gets called
next.
L536[17:47:41] <payonel> then i'll think
over this os.sleep race condition and decide if it needs to be
specified or left to random
L537[17:47:41]
<kevin>
sure.
L538[17:47:57] <payonel> well i may update
the sample
L539[17:48:01] <payonel> to NOT have a
race condition
L540[17:48:03] <payonel> i'll think it
over
L541[17:48:44]
<kevin> it
could be left random if it really is random (and not some weird bug
or true race condition). anyways this is a minor issue as it works
:D
L542[17:48:44]
<kevin>
thanks for listening to all my messages! ?
L543[17:48:59] <payonel> thanks for
testing it! holy crap, i wish everyone did that
L544[17:49:24] <payonel> i seriously love
the thread api and the work i put into it. i wish it got more
attention :|
L545[17:50:15]
<kevin>
you're welcome!
L546[17:50:15]
<kevin> btw:
just reran the snippet an now "D" was after "Main
program end" so it is either random or a race condition.
L547[17:50:16]
<kevin> I
have to be sure it works before using it in a bigger project ? and
I know how difficult it can be to debug stuff..
L548[17:50:52] <payonel> well os.sleep is
not a good choice for switching threads
L549[17:51:05] <payonel> a thread is
autonomous, that is the important key here, the important
difference with coroutines
L550[17:51:12]
<kevin> well
you have to be patient as it is not even in the official releases
yet :D
L551[17:51:12]
<kevin> You
are lucky i started programming according to the docs before
checking out the available libraries xD
L552[17:51:41] <payonel> os.sleep, and ANY
type of yield, will temporarily yield control in a thread to
another thread
L553[17:51:48]
<kevin> you
could also use yield() but it don't know if coroutines use it.
makes it more async like (sorry i'm a python programmer..)
L554[17:51:55] <payonel> but that thread
will self-resume again
L555[17:52:04] <payonel> without your
interaction, ergo: autonomous
L556[17:52:40] <payonel> i specifically
did not want to use "yield" as a method name because
coroutine.yield() gives the impression that your coroutine is now
suspended
L557[17:52:48]
<kevin> yeah
but you have to manually yield in long loops without any IO or
events as it is not preemptive
L558[17:53:05]
<kevin> oh
ok. did not have a close look at coroutines
L559[17:53:19]
<kevin> you
could use thread.sleep()
L560[17:53:28] <payonel> but that is no
different from os.sleep
L561[17:53:32] <payonel> ergo,
os.sleep
L562[17:53:34]
<kevin> like
it is in python with "await asyncio.sleep(x)"
L563[17:53:44]
<kevin> of
course. it is just the name
L564[17:54:20] <payonel> t:suspend() is
similar to coroutine.yield() -- the thread is now suspended and
will not self-resume. just like a coroutine
L565[17:55:14] <payonel> but it is
different because: 1. it does not yield back return values, 2. you
do not have control who is resumed next
L566[17:55:46] <payonel> t:resume() is
like coroutine.resume() -- it'll resume the thread where you
suspended it
L567[17:55:59] <payonel> i struggled with
the names, i debated with myself for a long time about it
L568[17:56:20] <payonel> yield() sounds
like the thread will resume again on its own
L569[17:56:27] <payonel> suspend() sounds
like a more fixed state
L570[17:56:33] <payonel> that's a big
reason i preferred it
L571[17:56:42] <payonel> and yield()
sounds like you have control over flow, but you don't
L572[17:57:02] ⇦
Quits: SquidDev
(~SquidDev@host86-151-226-81.range86-151.btcentralplus.com) (Quit:
<quit message here>)
L573[17:57:19]
<kevin> that
coroutine.yield() doesn't make much sense to me coming from a
python context but t:suspend() does.
L574[17:57:19]
<kevin>
generally i think a thread approach is much easier to learn and
understand for people although what you are really doing is
asynchronous programming that needs yields/os.sleep and it is no
true threading (because people think of true parallelisation that
can only be achived by preemptive handlers)
L575[17:57:19]
<kevin> but
you actually have control over the flow as one thread with and
endless loop without any yields would block any other thread
L576[17:58:03] <payonel> os.sleep(0) calls
computer.pullSignal(0)
L577[17:58:10] <payonel> that's really all
you need to do from time to time
L578[17:58:11]
<kevin> of
course in MC that pc would crash without you calling os.sleep() in
a certain time and then it would yield to the next thread but still
it would block all others threads for a long time. therefore you
have a degree of control
L579[17:58:44] <payonel> and with threads,
when you call computer.pullSignal(0) -- you are
"yielding" to a thread manager
L580[17:58:56] <payonel> that's the
cooperative dance
L581[17:59:42] <payonel> i prefer to use
os.sleep() in examples because 1. no parameters is easier to
remember, and 2. no require() needed for os.*
L582[17:59:57] <payonel> but os.sleep() is
basically a single computer.pullSignal(0) clal
L583[17:59:58] <payonel> call*
L584[17:59:58]
<kevin> it's
a good system. a mix between real threads and asynchronous
programming with a cooperative task manager. I think people will
understand it with a little bit of help. I have seen similiar
libraries for Arduinos etc
L585[18:00:55]
<kevin> yeah
i think os.sleep() is good as you should be used to use that
anyways as openos needs it as well. so you don't have to change
everything if you move to thread api
L587[18:02:23] <MichiBot> payonel: inari
will be notified of this message when next seen.
L588[18:05:08] <AmandaC> payonel: omg that
cat looks so sassy
L589[18:05:16] <AmandaC> ( through no
fault of her own (
L590[18:05:39] <payonel> i think that cat
is quite pleased with herself
L591[18:06:20]
<kevin>
@payonel going to bed now. once you fixed it or need someone to
test/debug, feel free to text me
L592[18:06:48]
⇨ Joins: Avernakis
(webchat@cpc6-jarr12-2-0-cust249.16-2.cable.virginm.net)
L593[18:07:09] ⇦
Quits: Avernakis
(webchat@cpc6-jarr12-2-0-cust249.16-2.cable.virginm.net) (Client
Quit)
L594[18:07:18] <payonel> o/
L595[18:12:04] ⇦
Quits: xarses_ (~xarses@c-67-180-86-164.hsd1.ca.comcast.net) (Ping
timeout: 204 seconds)
L596[18:53:31] ⇦
Quits: viomi (~viomi@kurosawa.daviszone.org) (Remote host closed
the connection)
L597[19:24:11] ⇦
Quits: raoulvdberge (~raoul@95.85.20.191) (Ping timeout: 200
seconds)
L598[19:24:49]
⇨ Joins: raoulvdberge (~raoul@95.85.20.191)
L599[19:28:34] ⇦
Quits: raoulvdberge (~raoul@95.85.20.191) (Ping timeout: 200
seconds)
L600[19:28:34] ⇦
Quits: bl0m1 (~bl0m1@95.85.26.121) (Ping timeout: 200
seconds)
L601[19:28:55] ⇦
Quits: Oddstr13 (Odd@satomi.openshell.no) (Ping timeout: 204
seconds)
L602[19:29:28]
⇨ Joins: Oddstr13 (Odd@satomi.openshell.no)
L603[19:30:22]
⇨ Joins: bl0m1
(~bl0m1@2a03:b0c0:0:1010::3d1:6001)
L604[19:31:47]
⇨ Joins: raoulvdberge (~raoul@95.85.20.191)
L605[20:38:44] ⇦
Quits: Vexatos
(~Vexatos@p200300556E4D3D13E8749F63D92512ED.dip0.t-ipconnect.de)
(Quit: I guess I have to go now. Bye ✔)
L607[22:21:26] ⇦
Quits: Lathanael|Away (~Lathanael@p549608CB.dip0.t-ipconnect.de)
(Ping timeout: 186 seconds)
L608[22:27:54]
⇨ Joins: Lathanael|Away
(~Lathanael@p54960A17.dip0.t-ipconnect.de)
L609[22:36:10]
⇨ Joins: DarkCow
(~MrDark@cpe-65-24-127-197.columbus.res.rr.com)
L610[22:37:07]
⇨ Joins: Darkguardsman
(~MrDark@2607:fcc8:d48b:eb00:fcc4:7cd6:fe3f:e0d3)
L611[22:37:21] ⇦
Quits: Dark (~MrDark@2607:fcc8:d48b:eb00:c50a:ebb:31d0:792d) (Ping
timeout: 186 seconds)
L612[22:39:45] ⇦
Quits: DarkCow (~MrDark@cpe-65-24-127-197.columbus.res.rr.com)
(Ping timeout: 200 seconds)