<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:03:18]
<Saghetti>
i love how hard it's trying to do intonation
L2[00:03:20]
<Saghetti>
but failing so hard
L3[00:03:25]
<Saghetti>
but failing so bad [Edited]
L4[00:03:30]
<Saghetti>
and then it just gives up
L5[00:07:43]
<AdorableCatgirl> CC: what the fuck did i
just look at
L6[00:08:02] <CompanionCube> ikr
L7[00:08:46]
<AdorableCatgirl> fuck this i'm making a
fancy editor with lua that's all key commands
L8[00:13:42] <CompanionCube> i mean, if
you're going to say 'just use javascript' then you may as well take
the HTML/CSS/JS package deal and use Atom or VSC. Then there's 'i
know it's a terrible language and npm hurts security but use it
anyway!' which can be spun to very bad effects for other
topics
L9[00:13:47] <CompanionCube> (particularly
politics.)
L10[00:16:09]
<Saghetti>
unpopular(?) opinion: atom is a really nice editor ngl
L11[00:16:46] <CompanionCube> atom's a
decent editor, yes
L12[00:17:06] <simon816> I don't like that
every atom update is like 70MB
L13[00:17:10] <CompanionCube> though I
think VSC be better for that type of thing?
L14[00:17:21]
<Saghetti>
i just use atom to write python
L15[00:17:27]
<Saghetti>
not really a js kind of guy
L16[00:17:31]
<AdorableCatgirl> why does everything need
to be a webpage
L17[00:17:35]
<AdorableCatgirl> in a box
L18[00:18:49] <CompanionCube> because
there's lots of webdevs and the web, by virtue of being an
OS/platform in itself, is cross-platform?
L19[00:19:17] <CompanionCube> it's not a
good reason imo, but i think that's how the argument goes?
L20[00:19:45]
<AdorableCatgirl> cross platform but many
features only work in windows
L21[01:24:02] ⇦
Quits: Vexaton (~Vexatos@port-92-192-99-66.dynamic.as20676.net)
(Quit: Insert quantum chemistry joke here)
L24[02:24:50]
<Thanos-No
Snap> *Why is this
L25[02:25:36]
<Skye>
because you'[ve conneced the network card to the bottom
L26[02:25:36]
<Thanos-No
Snap> Remote terminal works fine, until I connect the server to
the right side
L27[02:25:47]
<Skye> but
the components to the right
L28[02:26:03]
<Skye>
@Thanos-No Snap swap red and purple lines in the server case
L29[02:26:04]
<Thanos-No
Snap> Oh so you need to dedicate a server just for the remote
terminal
L30[02:26:05]
<Skye>
uh
L31[02:26:09]
<Skye>
no
L32[02:26:10]
<Skye>
no
L33[02:26:21]
<Skye> if
you zoom in to the image you see two lines coming from the
server
L34[02:26:25]
<Skye> one
is for the network card
L35[02:26:38]
<Skye> and
the other is for the components, like monitor and terminal ec
L36[02:26:39]
<Skye> and
the other is for the components, like monitor and terminal etc
[Edited]
L37[02:27:00]
<payonel>
and if/when we add bundled cables, the rack gui will be even more
complicated! woo!
L38[02:27:25]
<Thanos-No
Snap> Im trying to connect to an adapter on right side
L39[02:27:40]
<Skye> then
connect the terminal to the red line
L41[02:27:54]
<Skye>
oh
L42[02:27:56]
<Skye> that
will work too
L43[02:28:48]
<Thanos-No
Snap> Remote terminal works. but the adapter is not
L44[02:29:02]
<Thanos-No
Snap> Im checking adapter by placing a chest
L45[02:29:29]
<Skye>
@Thanos-No Snap the two lines to the server mean different
things
L46[02:29:36]
<AdorableCatgirl> haha!
L47[02:29:41]
<AdorableCatgirl> i fixed zorya neo's smol
bug
L48[02:29:46]
<AdorableCatgirl> that made it run like
ass
L49[02:29:57]
<Skye>
@Thanos-No Snap the thicker line means components, like the
terminal, and adapter
L50[02:30:06]
<Skye> the
thinner line means networking only, no components.
L51[02:31:14]
<Thanos-No
Snap> Can I connect an adapter and terminal to the same
side?
L52[02:31:18]
<Skye>
yes
L53[02:31:28]
<Skye> if
the adapter is on the right
L54[02:31:35]
<Skye>
connect the terminal to red
L55[02:31:40]
<Skye> and
the thicker server line to red
L56[02:31:48]
<Thanos-No
Snap> Ahhh
L57[02:31:53]
<Thanos-No
Snap> Lol makes sense
L58[02:32:11]
<Thanos-No
Snap> I was thinking it too hard
L59[02:33:32]
<payonel> i
wonder how mad the world would get if bundled cables pushed the
version to 1.8 and we completely changed the rack ui
L60[02:33:44]
<payonel>
ike...not even promising there'd be a migration
L61[02:33:54]
<payonel>
just..no connections if you load an old world or something
L65[02:34:35]
<Thanos-No
Snap> Sorry for spamming, but why isnt this chest being
recognized?
L66[02:35:18]
<Thanos-No
Snap> @payonel you should just go for it. Madness is what leads
to good things 😄
L68[02:41:36]
<AdorableCatgirl> oof
L69[02:41:38]
<AdorableCatgirl> anyways
L70[02:41:39] <Amanda> @"Thanos-No
Snap" not sure, OpenPeripheral is kinda abandoned, AIUI, so it
might not be working with the latest OC / MC versions. You should
use a transposer to inspect chests with vanilla OC
L71[02:42:23]
<Thanos-No
Snap> Hmmm explains a lot of issues I have been having
L73[02:54:10]
<AdorableCatgirl> yay
L74[03:00:36]
<BrisingrAerowing> I personally use
VSCode, as it’s significantly faster than Atom.
L75[03:16:12]
<Skye>
@payonel so what would it take to update JNLua? ~~Do we need to
hunt down Sangar.~~
L76[03:17:25]
<payonel>
nope, at this point i'm more up to date with the details of eris
and the lua engine. jnlua is quite simple, and we just need to
update jnlua and we can use the same lua bindings
L77[03:17:32]
<payonel>
the problem is that last we tried, persistence broke
L78[03:17:48]
<payonel>
now i would be able to troubleshoot that and fix it
L79[03:18:10]
<payonel>
it's slightly on my list -- the more i do for oc the less i do for
"other things"
L80[03:20:35] <Michiyo> @payonel write a
persistence implementation for MichiBot's lua, also add 5.3/.4
:P
L81[03:21:07]
<payonel>
heh, what language is the hsot?
L82[03:21:08]
<payonel>
host*
L83[03:21:15] <Michiyo> MichiBot?
Java
L84[03:21:29]
<payonel>
sigh. there is so much java in this world
L85[03:21:37] <Michiyo> lol
L86[03:21:51] <Michiyo> MichiBot was made
so I could learn Java for modding
L87[03:26:40]
<Skye> well
if you update JNLua
L88[03:26:49]
<Skye> you
could re-enable the default Lua backwards compat thing
L89[03:30:49]
<payonel>
that's just a flag in the lua build, if you're talking about what i
think you are
L90[03:31:00]
<payonel>
technically we could use the same jnlua and just rebuild lua for
that
L91[03:34:14] <Michiyo> I should re-write
MichiBot in node
L92[03:34:17] <Michiyo> yep...
L93[03:47:25] <Amanda> Nope
L94[03:47:53] <Amanda> Do it in BASIC
L95[03:49:39] <Amanda> And I think that
payonel would rather c++
L96[03:54:13]
<payonel>
are there any mods that provide customer screens to
opencomputers?
L97[03:54:37]
<payonel>
and not textures, but actual functional TextBuffers
L98[04:11:02]
<Thanos-No
Snap> This may sound dumb, but how do I see the methods that get
cut off because the list is too long
http://tinyurl.com/yan4ht67
L99[04:11:15]
<Thanos-No
Snap> I know i could write to a file, but is there a simpler
way
L100[04:11:29]
<payonel>
our lua repl makes large table serialization "pretty",
and we cut of long table lists like that
L101[04:12:00]
<payonel>
there are many ways to clean that up -- basically, you just don't
want to use our built-in "table to string" code in the
repl
L102[04:12:10]
<payonel>
you'll want to look at the table manually
L103[04:12:37]
<payonel>
for example
L104[04:12:37]
<payonel>
`for k,v in pairs(T) do io.write( tostring(k), ' = ', tostring(v),
'\n' ) end`
L105[04:13:19]
<Thanos-No
Snap> Oh neat, thnkx
L106[04:15:02] <Amanda> @payonel I assume
you mean custom. There's ocdevices and openscreens off the top of
my head. Not sure if they fit the bill you set though
L107[04:15:12]
<Thanos-No
Snap> I don't know how you guys did it, but being able to see
the text on the screen without opening is just crazy lol
http://tinyurl.com/yc3rmehy
L108[04:46:59] <Michiyo> Well...
L109[04:47:00] <Michiyo> Fuck.
L110[04:47:08]
<payonel>
:*(
L111[04:47:17] <Michiyo> I deleted a VM,
with the only copy of some code I had.
L112[04:47:26]
<payonel>
😭
L113[04:47:30]
<payonel>
:/
L114[04:50:42] <Amanda> Oops
L115[04:51:11] <Amanda> I've done that
before once or twice
L116[04:53:05] <Michiyo> damn it.
L117[04:54:11]
⇨ Joins: Webchat444
(webchat@ip24-254-217-55.hr.hr.cox.net)
L118[04:55:09] ⇦
Quits: Webchat444 (webchat@ip24-254-217-55.hr.hr.cox.net) (Client
Quit)
L119[05:13:15] <Amanda> Hey! Who stole all
the times and left me story with all these tireds!?
L120[05:13:40] <Amanda> S/stories//
L121[05:15:26] *
Amanda curls up on her pillow, making sure to leave a cosy little
spot for Elfi to join her when shes done frollicing,
zzzmews
L122[05:22:50] ⇦
Quits: murlocking (webchat@199.84.43.121) (Quit:
webchat.esper.net)
L123[05:53:54] ⇦
Quits: ben_mkiv|afk (~ben_mkiv@i577BCF93.versanet.de) (Ping
timeout: 190 seconds)
L124[05:58:01] ⇦
Quits: Cervator (~Thunderbi@70.241.38.147) (Quit:
Cervator)
L125[06:02:47]
<frequency>
I'm getting "attempt to call a nil value (field 'ldexp')"
when trying to use the math.ldexp function. As far as I can tell,
this should totally work, right?
L126[06:09:43]
<Kristopher38> @frequency ldexp was
removed in Lua 5.3
L127[06:09:51]
<Kristopher38> From the reference
manual:
L128[06:09:52]
<frequency>
Aaaaah, ty
L129[06:09:56]
<Kristopher38> ```you can
replace math.ldexp(x,exp) with x * 2.0^exp.```
L130[06:12:07] <CompanionCube> Michiyo:
was it important code
L131[06:13:09] <Michiyo> *sigh*
L132[06:13:10] <Michiyo> yeah
L133[06:14:48] <Michiyo> I thought I'd
commited to git. but sadly the last commit was the java version of
this.
L134[06:14:49] <CompanionCube> oh?
;(
L135[06:17:29] *
Elfi climbs onto the pillow with Amanda and zzzzs
L136[07:11:47]
<Forecaster> %sip
L137[07:11:49] <MichiBot> You drink a sour
rainbow potion (New!). After drinking the potion Forecaster
notices a label that says "Side effects may include giggle
fits and excessive monologuing."
L138[07:11:55]
<Forecaster> Ohno
L139[07:24:05] <SquidDev> %tonkout
L140[07:24:06] <MichiBot> Consarn it!
SquidDev! You beat Lizzy's previous record of 11 seconds (By 10
hours and 9 minutes)! I hope you're happy!
L141[07:24:07] <MichiBot> SquidDev has
stolen the tonkout! Tonk has been reset! They gained 0.01 tonk
points! plus 0.009 bonus points for consecutive hours! (Reduced to
50% because stealing) Current score: 0.46267. Position #5 => #4
Need 0.20792 more points to pass Lizzy!
L142[07:26:16] <SquidDev> I love how
MichiBot cares about my feelings. Yes, I am happy today, thank
you!
L143[07:30:51]
<frequency>
I'm making a robot that makes other robots and it is going
excellently
L144[07:31:01]
<frequency>
Wanted to share that
L145[07:35:31] ⇦
Quits: Backslash (~Backslash@d137-186-220-152.abhsia.telus.net)
(Read error: Connection reset by peer)
L146[07:52:36]
<The_Stargazer> @frequency does it then
program those robots to make others and so on?
L147[08:14:42]
<The_Stargazer> %tonk
L148[08:14:43] <MichiBot> Dagnabbit!
The_Stargazer! You beat SquidDev's previous record of <0 (By
50 minutes and 36 seconds)! I hope you're happy!
L149[08:14:44] <MichiBot> The_Stargazer's
new record is 50 minutes and 36 seconds! The_Stargazer also gained
0.00084 tonk points for stealing the tonk. Position #9. Need 0.1024
more points to pass DaComputerNerd!
L150[08:16:24] ⇦
Quits: immibis (~immibis@x5271635c.dyn.telefonica.de) (Ping
timeout: 190 seconds)
L152[09:31:12]
<Forecaster> grmbl... @payonel help
L153[09:31:24]
<payonel>
?
L154[09:31:42]
<Forecaster> I'm trying to get the return
code from a request, but as soon as I try it breaks
L156[09:31:56]
<Forecaster> I'm doing this
L157[09:32:15]
<Forecaster> if I comment out line 2-4 it
works
L158[09:32:39]
<Forecaster> but if it's there the code
never returns the response text
L159[09:32:56]
<Forecaster> (this is only part of the
method)
L160[09:33:18]
<Forecaster> this is what the wiki has in
the example
L161[09:33:31]
<payonel>
oh i haven't played with those inet sockets in a long time
L162[09:33:39]
<payonel>
sort of weird you have to use the metatable though
L163[09:33:47]
<payonel>
that's from the internet lib?
L164[09:33:48]
<Forecaster> I have no idea if this is
supposed to work or not
L165[09:33:58]
<Forecaster> it's the internet API lib
yes
L166[09:34:01]
<payonel>
there is a finishConnect or something
L167[09:34:03]
<payonel>
there are events
L168[09:34:11]
<payonel>
but i think the inet lib ilstens to those for you?
L169[09:34:14]
<Forecaster> those are in the component I
think
L170[09:34:32]
<payonel>
the component makes the signals yes, but in user code you can async
handle them for comlpeted stuff
L171[09:34:32]
⇨ Joins: lord| (~ba7888b72@66.109.211.150)
L172[09:34:43]
<Forecaster> what I'm saying is the lib
works fine
L174[09:35:07]
<Forecaster> This is the full method I
have
L175[09:36:03]
<Forecaster> if the lines `local mt =
getmetatable(handle)`, `code, message, headers =
mt.index.response()`, `.msg("code: "..code)` are
commented out it works great, it returns the reply from the
server
L176[09:36:14]
<Forecaster> but as soon as I put those in
it just never returns anything
L177[09:36:59]
<Forecaster> calling master.request looks
like this:
L179[09:37:26]
<Forecaster> but if those lines are in
there it never says anything...
L180[09:37:39]
<payonel>
(rubs eyes) it's 1:30 am....i'm reading this, but i feel
sluggish
L181[09:37:41]
<Forecaster> it's as if it's failing
silently and just stops
L182[09:37:54]
<Forecaster> go to bed D:<
L183[09:37:58]
<payonel>
my thoughts are...what does calling response do?
L184[09:38:05] <fingercomp> @Forecaster
does it throw an error?
L185[09:38:09]
<payonel>
is that a comp call? is that changing state
L186[09:38:33]
<Forecaster> fingercomp no, hence failing
silently... and me being stumped...
L187[09:39:02]
<Forecaster> @payonel calling response on
what? the handle? returns nil
L188[09:39:02] <fingercomp> if you're
running the code in an event listener or a thread, all errors are
written to /tmp/event.log
L189[09:39:12]
<Forecaster> oh
L190[09:39:24]
<payonel> i
mean, what is this doing?
L191[09:39:25]
<payonel>
mt.index.response()
L192[09:39:42]
<payonel>
yeah, check event log
L193[09:39:54]
<Forecaster> I don't know, it's literally
from the example on the wiki, which seems to be lying
L194[09:40:11]
<payonel>
the wiki says to call the metatable thing?
L196[09:40:12]
<payonel>
wuh?!
L197[09:40:17]
<Forecaster> yes...
L198[09:40:21]
<payonel>
bad
L199[09:40:26]
<payonel>
i'll fix that
L200[09:40:26] <fingercomp> also, right,
you don't really need that getmetatable
L202[09:40:34] <fingercomp>
`handle.response()` should work, too
L203[09:40:44]
<payonel>
no no no
L204[09:40:45]
<Forecaster> handle.response() returns
nil
L205[09:40:46]
<payonel>
lame
L206[09:40:52]
<payonel>
shameful
L207[09:40:54]
<payonel>
tired
L208[09:41:11] <fingercomp> yeah, it will
return `nil`
L209[09:41:19] <fingercomp> because it's
not finished connecting to the server
L210[09:41:26] <fingercomp> use
`finishConnect` to track that
L211[09:41:39] <fingercomp> when it does
connect, you'll get the values you need
L212[09:42:19] <fingercomp> or you may
call `response()` after you've read the response body
L213[09:42:29]
<Forecaster> hm, yeah I just realized
that
L214[09:42:50]
<Forecaster> the lib probably only closes
it after you've finished calling the handle for the response
L215[09:45:20]
<Forecaster> hrm
L217[09:45:36]
<Forecaster> the lib is throwing on
non-200 codes it seems :|
L218[09:45:53]
<Forecaster> guess I have to pcall to
catch it to error properly
L219[09:47:58]
<Forecaster> oh
L220[09:48:08]
<Forecaster> it's the handle that is
throwing the error...
L221[09:48:24]
<Forecaster> sigh
L222[09:48:47] <fingercomp> OC's internet
API is generally inconsistent
L223[09:48:52] <fingercomp> some methods
return `nil, "error message"`
L224[09:48:55] <fingercomp> some throw an
error
L225[09:49:20]
<Forecaster> I should probably just use
the component instead and handle the connection myself :|
L226[09:49:29]
<Forecaster> cause this is painful
L227[09:49:44] <fingercomp> the OpenOS's
buffer library is quite useful
L228[09:49:58]
<Forecaster> buffer library?
L229[09:50:06] <fingercomp>
require("buffer")
L230[09:51:41] <fingercomp> if you're just
reading the whole response body, it may be of no use to you
L231[09:52:04]
<Forecaster> I am, it's a json response, I
need the whole thing :P
L232[09:52:28] <fingercomp> well, it makes
dealing with sockets much painless
L233[10:04:19] ⇦
Quits: Thutmose (~Patrick@host-69-59-79-181.nctv.com) (Quit:
Leaving.)
L234[10:05:33]
⇨ Joins: Vexatos
(~Vexatos@port-92-192-99-66.dynamic.as20676.net)
L235[10:05:33]
zsh sets mode: +v on Vexatos
L236[10:14:41] <SquidDev> %tonk
L237[10:14:41] <MichiBot> Jiminy Cricket!
SquidDev! You beat The_Stargazer's previous record of 50 minutes
and 36 seconds (By 1 hour, 9 minutes and 22 seconds)! I hope you're
happy!
L238[10:14:42] <MichiBot> SquidDev's new
record is 1 hour, 59 minutes and 58 seconds! SquidDev also gained
0.00116 tonk points for stealing the tonk. Position #4. Need
0.20676 more points to pass Lizzy!
L239[10:15:09]
⇨ Joins: Inari
(~Pinkishu@pD9E8F6CF.dip0.t-ipconnect.de)
L240[10:29:55]
<The_Stargazer> how can I gsub everything
before and after a specific point?
L241[10:30:21]
<The_Stargazer> e.g. I have `TEST1 TEST2
TEST3` how can I extract `TEST2`?
L242[10:30:37]
<Forecaster> split by spaces
L243[10:30:42]
<The_Stargazer> ?
L244[10:30:51]
<The_Stargazer> does lua have a built-in
lib for that
L245[10:31:08]
<Forecaster> no
L247[10:31:40]
<The_Stargazer> does that deal with
special chars well?
L248[10:31:57]
<The_Stargazer> i'm writing a discord bot
so `TEST2` would be a discord username
L249[10:32:22]
<Forecaster> it splits str:string by
sep:string
L250[10:32:25]
<The_Stargazer> i'm probably shooting
myself in the foot with my step-by-step instruction-based config
system but ¯\(ツ)/¯
L251[10:32:35]
<The_Stargazer> ...what
L252[10:32:54]
<The_Stargazer> that did not make
sense
L253[10:32:54]
<The_Stargazer> elaborate please
L254[10:33:46]
<Forecaster> %lua splitter = function(str,
sep) if sep == nil then sep = "%s" end local t={} for
string in string.gmatch(str, "([^"..sep.."]+)")
do table.insert(t, string) end return t end
L255[10:34:02]
<Forecaster> %lua splitter("this is a
string", " ")
L256[10:34:02] <MichiBot> table:
0x7f5fc41bf620
L257[10:34:09]
<Forecaster> right
L258[10:34:20]
<The_Stargazer> oh I see
L259[10:34:22]
<The_Stargazer> thanks
L260[10:34:26]
<Forecaster> %lua for k,v in
ipairs(splitter("this is a string", " ")) do
print(v) end
L261[10:34:26] <MichiBot> this | is | a |
string
L262[10:34:34]
<The_Stargazer> most things make a lot
more sense in practice
L263[10:34:46]
<The_Stargazer> thanks!
L264[10:35:00]
<The_Stargazer> oh, one question
L265[10:35:20]
<The_Stargazer> will it return values so
that I can do `_, var1, var2 = splitter(str, " ")`?
L266[10:35:40]
<Forecaster> it returns a table as you can
see, so yes
L268[10:35:51]
<The_Stargazer> oh
L269[10:35:58]
<The_Stargazer> so wait, which of those is
the correct method
L270[10:36:08]
<Forecaster> either works
L271[10:36:12]
<The_Stargazer> oh, neat
L272[10:36:48]
<The_Stargazer> thanks
L273[10:40:05] <Inari> neat is a mod by
vazkii
L274[10:41:50]
<The_Stargazer> i do not understand that
meme
L275[10:42:28]
<Forecaster> it's one of the "lets
repeat a thing hoping that it's funny" ones
L276[10:42:35]
<The_Stargazer> oh, those
L277[10:42:56] <Inari> What there to
understand
L278[10:43:05] <Inari> You mentioned neat,
so the explanation is that it's a mod by vazkii
L279[10:46:35]
<The_Stargazer> oh
L280[10:46:47]
<The_Stargazer> i thought that died ages
ago
L281[10:47:44]
<The_Stargazer> also, unrelated: i got
neptunia to work
L282[10:47:56]
<The_Stargazer> set my resolution to
1280x720, works great
L283[10:48:52] <Inari> Nah, neat is alive
and coo
L284[11:07:50]
⇨ Joins: t20kdc
(~20kdc@cpc139340-aztw33-2-0-cust225.18-1.cable.virginm.net)
L285[11:54:33]
⇨ Joins: ben_mkiv (~ben_mkiv@88.130.156.27)
L286[12:50:48]
⇨ Joins: romaha13
(~romaha13@static.50.233.202.116.clients.your-server.de)
L287[12:50:52] ⇦
Quits: romaha13
(~romaha13@static.50.233.202.116.clients.your-server.de) (Remote
host closed the connection)
L288[12:54:22]
⇨ Joins: immibis
(~immibis@x5271635c.dyn.telefonica.de)
L289[13:30:25]
<DaComputerNerd> Neptunia?
L290[13:36:13]
<The_Stargazer> the Hyperdimension
Neptunia series
L291[13:37:16]
<DaComputerNerd> Now im even more
curious
L292[13:54:23]
<Bob> `if
sep == nil then sep = "%s" end` could be `sep = sep or
"%s"` also localizing table insert, would help cause its
in a loop, atlough im sure in vanillia lua, keeping track of a
manual index is way way better
L293[13:59:23]
<The_Stargazer> @DaComputerNerd it's
uh
L294[13:59:23]
<The_Stargazer> how do i put this
L295[13:59:33]
<The_Stargazer> there's a lot of lewd
stuff, but nothing overly sexual
L296[13:59:54]
<DaComputerNerd> im more curious about
what you mean by "got it to work"
L297[13:59:58]
<DaComputerNerd> in an opencomputers
server
L298[14:00:02]
<The_Stargazer> oh
L299[14:00:02]
<Bob>
:GWcorbinHolyFuck:
L300[14:00:08]
<The_Stargazer> I was referencing
something I said yesterday
L301[14:00:35]
<The_Stargazer> where it wouldn't
work
L302[14:01:06]
<The_Stargazer> because blah, blah, stupid
resolution issues
L303[14:01:22]
<The_Stargazer> the games don't support
1280x1024 it seems
L304[14:01:46]
<The_Stargazer> set my resolution to
1280x720, worked fine
L305[14:12:25]
<Forecaster> wooo finally
L306[14:12:35]
<Forecaster> I have a request function
that isn't stupid
L307[14:13:04]
<Forecaster> and returns true/false,
code/error message, data
L308[14:15:18]
<The_Stargazer> Inari: so it turns out
there's a hyperdimension neptunia manga which is basically
"Neptunia but it's a school" and the school thing is
normally overrated. I say "normally", that does not
include this; less than ten pages in and i was already coughing
from laughter
L309[14:15:18]
<The_Stargazer> not sure if you knew about
it already tho
L310[14:15:48]
<Forecaster> wait, dammit
L311[14:15:55]
<Forecaster> it still fails to get the
code
L312[14:16:02]
<Forecaster> when it errors
L313[14:16:03]
<Forecaster> dangit
L314[14:16:06]
<The_Stargazer> Forecaster: we've all been
there
L315[14:16:10]
<The_Stargazer> "It
works!"
L316[14:16:14]
<The_Stargazer> "wait, no it
doesn't."
L317[14:16:23]
<frequency>
@The_Stargazer The idea is to have as much of my robot stuff
automated as possible, and I figured I'd start with the actual
making of robots since that's kind of annoying to me
L318[14:16:30]
<The_Stargazer> oh, neat
L319[14:16:37]
<The_Stargazer> is your end goal Skynet?
:P
L320[14:16:50]
<Forecaster> grmb, how do I get the status
code when the request failed
L321[14:16:53]
<The_Stargazer> please do share code
tho
L322[14:18:04]
<Forecaster> @Vexatos do you know if I can
get the status code from a failed component.internet.request?
L323[14:19:22] <Vexatos> yes
L324[14:19:30] <Vexatos> the response
object should have a code
L325[14:19:32] <Vexatos>
...somewhere
L326[14:19:41]
<Forecaster> right... hm
L327[14:19:43] <Inari> @The_Stargazer I
see, may have to try. Though I don't think manga ever made me laugh
a lot, anime tends ot be better at that for me
L328[14:19:48]
<Forecaster> well it uses it in the error
message it generates
L329[14:20:08] <Vexatos> yea it is
response.response()
L330[14:20:29] <Vexatos> er
L331[14:20:37] <Vexatos>
internet.request(whatever).response()
L332[14:20:43] <Vexatos> that returns
number, string, table
L333[14:20:43]
<The_Stargazer> Inari: yeah, I find games
and anime funnier too usually, but to be fair this is
Neptunia
L334[14:20:47]
<Forecaster> yeah that's not working
L335[14:20:49] <Vexatos> the response
code, message, and headers
L336[14:21:00]
<Forecaster> number/code is nil
L339[14:22:07]
<Forecaster> it gets the code properly
elsewhere using that method if the request doesn't fail
L340[14:29:07]
<frequency>
Hmm, is there an easy way to control an assembler from a robot?
Like get the component API for a nearby block?
L341[14:29:33]
<Forecaster> use a computer with a
wireless network card as a proxy
L342[14:29:45] <SquidDev> %tonkout
L343[14:29:46] <MichiBot> Zounderkite!
SquidDev! You beat your own previous record of 1 hour, 59 minutes
and 58 seconds (By 2 hours, 15 minutes and 5 seconds)! I hope
you're happy!
L344[14:29:47] <MichiBot> SquidDev has
tonked out! Tonk has been reset! They gained 0.004 tonk points!
plus 0.006 bonus points for consecutive hours! Current score:
0.47383, Position #4 Need 0.19676 more points to pass Lizzy!
L345[14:29:54]
<frequency>
Yeah that's kinda what I thought, thanks
L346[14:29:55]
<Forecaster> robots can't connect directly
to external components
L347[14:31:47]
<Forecaster> all three fields
request.response returns are nil
L348[14:31:48]
<Forecaster> :|
L349[14:34:22]
<Kristopher38> @frequency hey there fellow
robot automating guy, I am, in fact, writing software to make
self-replicating robots myself
L350[14:35:41]
<frequency>
that's awesome! i'd be interested in knowing how you're going about
it
L351[14:36:09]
<Kristopher38> I should start a sect like
MGR, but it wouldn't be about GERT but about making
self-replicating robots and world domination
L352[14:36:20]
<frequency>
i got a proof of concept that should be close to working, but I'm
new to OC so I might not be going about some things the easiest
way
L353[14:40:09]
<Kristopher38> Scope of my project is
actually bigger than you might think. Crafting the robot is pretty
low on my priority list, I'm focusing more on the core basics first
like pathfinding
L354[14:40:38]
<frequency>
Aaah yeah okay. I'm definitely not that far but I had pathfinding
in mind too
L355[14:41:09]
<MGR> I had
started my own self replication project a long time ago, but it
didn't get very far before I stopped playing Minecraft
L356[14:41:17]
<MGR> It's
a good idea but hard
L357[14:41:30]
<frequency>
I'm starting from the front and just working my way back lol. So
that's first auto creating robots so I don't have to do it
anymore
L358[14:41:38]
<MGR>
Yeah
L359[14:41:56]
<MGR> I at
least didn't have to mine because I had near infinite resources at
that point
L360[14:42:39]
<frequency>
Same. I have RS autocrafting taking care of some of that boring
stuff. This definitely isn't an OC-only solution, altho that would
be cool too
L361[14:42:54]
<MGR> Let
me know how it goes
L362[14:43:30]
<frequency>
Yeah definitely, I'll throw it up on GH at some point. I should
write a quick readme first but other than that I can share
progress
L363[14:44:04]
<Kristopher38> I'm staying as close to
vanilla as possible, that's gonna cause me some headaches
though
L364[14:44:18]
<Kristopher38> Particularly acquiring eyes
of ender
L365[14:44:36]
<MGR> DM me
the GitHub link when you put the project up please
L366[14:44:56]
<Kristopher38> I'd have to either hunt
endermans and blazes, but mobs don't spawn if there isn't a player
nearby
L367[14:45:01]
<frequency>
Why not just do it in creative until you get the core functionality
working?
L368[14:45:21]
<Kristopher38> So my only option would be
to find a village and trade
L369[14:45:37]
<Kristopher38> Oh I want the robots to
actually do all the work
L370[14:45:48]
<Kristopher38> As in acquire all the
required resources
L371[14:46:04]
<frequency>
Aaaaaha, I see. That's definitely cool, and wow yeah seems
definitely difficult
L372[14:46:47]
<Kristopher38> Yeah, the scope is bigger
than I anticipated, and I'm inclined to say that I'll never finish
it, at least in the form that I imagine it now
L373[14:47:31]
<Kristopher38> But there's gonna be some
cool stuff created along the way which will be usable on it's
own
L374[14:49:19]
<Kristopher38> I recently fixed my mining
script, the robot can now autonomously mine a chunk of resources in
an optimal way
https://youtu.be/NTj23kAu2d0
L375[14:49:19] <MichiBot>
OpenComputers
yet another mining robot | length:
2m 14s | Likes:
0 Dislikes:
0 Views:
5 | by
Kris38 | Published
On 15/5/2020
L376[14:51:00]
<frequency>
Nice, pretty slick. How do you scan the environment for blocks to
mine?
L377[14:51:10]
<MGR>
Geolyzer probably
L378[14:51:25]
<Kristopher38> Other things include
"inventory tracker" script which tracks changes in the
robot's inventory so you don't have to do calls to inventory
checking functions, everything is in memory in a data structure
kept up-to-date by the tracker
L379[14:51:26]
<Bob>
Geolyzer defenitely
L380[14:51:35]
<Kristopher38> Yeah, with the
geolyzer
L381[14:51:39]
<Bob> i
just like the algorythm, the robot does nt waste time lol
L382[14:53:40]
<frequency>
How do you handle charging? I've been thinking one of the things I
want to do soon is get some sort of auto charging station setup
(right now I just plop chargers down next to my mostly stationary
robots)
L383[14:54:51]
<Kristopher38> The way this works is the
robot goes down until it hits bedrock, scanning flat 16x16 area
around itself to get the ore locations, and then after it hits
bedrock it plans an optimal route to visit all the ore veins, which
it then goes to one-by-one, rescans them and mines them
L384[14:55:42]
<Kristopher38> The way this works is the
robot goes down until it hits bedrock, scanning flat 16x16 area
around itself as it goes down to get the ore locations, and then
after it hits bedrock it plans an optimal route to visit all the
ore veins, which it then goes to one-by-one, rescans them and mines
them [Edited]
L385[14:57:20]
<Kristopher38> @frequency I haven't done
that yet, but the robot will have its "home base" which
will have a charging station, and when the robot notices the power
is low, it'll go to the spot where the charger is
L386[15:02:22]
<Forecaster> hm...
L387[15:02:49]
<Forecaster> I need to queue entries for
sending to the server, and if they fail they need to remain the the
queue for trying later...
L388[15:03:05]
<Forecaster> the current system of
assuming they were successful is not a good one
L389[15:06:05]
<frequency>
@Forecaster what are you working on?
L390[15:06:50]
<Forecaster> a big project (though
probably not as big as @Kristopher38 )
L391[15:07:14]
<Forecaster> I'm creating a Tycoon game in
minecraft using (mostly OC) for Season 2 of the Railcraft
server
L392[15:07:36]
<frequency>
What's a Tycoon game?
L393[15:07:52]
<Forecaster> a game in which you are a
tycoon :P
L394[15:08:03]
<frequency>
I'm thinking like Rollercoaster Tycoon 😂
L395[15:08:19]
<Forecaster> basically, but specifically
this is a transport tycoon game
L396[15:08:47]
<frequency>
Hmm okay, I think I get it. That sounds like a pretty huge project
😅
L397[15:09:09]
<Forecaster> I've been working on it for a
couple of weeks now
L398[15:09:14]
<Forecaster> but most of it is done
L399[15:09:29]
<frequency>
Wow, how does it work, if you don't mind explaining lol
L400[15:09:38]
<frequency>
(totally don't have to 😂)
L401[15:10:02]
<Forecaster> I wont, I will make a video
soon where I'll explain everything, which I will probably link here
too
L402[15:10:25]
<frequency>
Awesome, I'll definitely check that out when you do
L403[15:10:46]
<frequency>
ls
L404[15:10:50]
<Forecaster> I also plan on making a
separate video going over the actual software for those interested
in it (as opposed to the first video which will only explain what
you need to know to play on the server)
L405[15:11:10]
<frequency>
Oooh yeah I'm interested in both for sure
L406[15:11:36]
<Forecaster> the short version is that
there will be locations around the maps that produce and consume
goods
L407[15:11:46]
<Forecaster> you get money for delivering
stuff
L408[15:12:41]
<Forecaster> that's basically a transport
tycoon game, eg Transport Tycoon Deluxe (a very literally named
game), Simutrans, Tranport Fever 1 & 2, etc
L409[15:13:13]
<Forecaster> and by maps I meant map, and
by map I mean the minecraft world
L410[15:13:25]
<frequency>
Wild, I dig it
L411[15:14:28]
<Forecaster> I'm currently working on
integrating the OC software I've written with a webserver, mostly
to allow us to track stats on delivered goods and money earned and
such, and have a leaderboard
L412[15:14:31]
<Forecaster> gotta have a
leaderboard
L413[15:15:47]
<Forecaster> but now I have to re-write
part of the master server program to queue requests to the
webserver and keep them if it's unavailable
L414[15:16:47]
<frequency>
Ah yep, glhfdd :P
L416[15:17:41]
<Forecaster> :P
L417[15:17:55]
<Forecaster> tell me if you find any
mistakes in it
L418[15:24:55]
⇨ Joins: Cervator (~Thunderbi@70.241.38.147)
L419[15:30:32]
<frequency>
Yeah my eyes kinda glazed over pretty quickly there lol but it
looks very fancy
L420[15:33:56]
<Forecaster> it's the manual for setting
up factories on the server (which is an admin task)
L421[15:34:34] <SquidDev> Forecaster: Can
you make them not accordions? With a ToC it should be more readable
than having expanding/collapsing divs.
L422[15:35:36]
<Forecaster> I could, but I'm not working
on it right now
L423[15:35:58] <SquidDev> Ahh, fair enough
:)
L425[15:48:42]
<TuxMan20>
Sup! I’ve googled a bit but came up short... what is the program
that lets you do presentations with slides in OpenComputers?
L426[15:49:17]
<Kristopher38> 🤔 I haven't heard of
anything like that
L427[15:49:24]
<Kristopher38> But maybe mineOS has
one
L428[15:49:54] <Amanda> If you mean what
was used for the BTM presentation awhile ago, I imagine it was some
custom program with the slides hard-coded
L429[15:51:16]
<TuxMan20>
Yeah the BTM keynote. Did they ever do a “how to”? I know there is
a photo display API somewhere ... but it’s hard to find info about
that
L430[15:52:20]
<TuxMan20>
(At work I needed to do something original for a presentation.. I
figured I’d do a virtual meeting room , lock my camera with CMDCam
and present with an OpenComputer screen)
L431[15:53:34]
<AdorableCatgirl> hmm
L432[15:54:35] <Elfi> There's asie's
CTIF
L433[15:56:13]
<AdorableCatgirl> ooh wait
L434[15:56:17]
<AdorableCatgirl> i know a thing i can
make
L435[15:56:46] <Elfi> That is probably
what you were looking for @TuxMan20
L436[15:57:32] <Elfi> However, you should
be forewarned it has significant compression artifacts and is
limited to an effective resolution of 320x200
L437[15:57:57]
<TuxMan20>
Since the map is on local storage, I could simply transfer the CTIF
files to the hard drive, name them like 1,2,3,4 and have a simple
program that increments the file name to display with each
clicks..
L438[15:58:46]
<TuxMan20>
I see Asie’s github page mentions OpenPoint. Is that their
presentation program? It looks unreleased 😦
L439[16:00:00]
<TuxMan20>
(ChenTread github I mean)
L440[16:00:25]
<AdorableCatgirl> let's go, gonna work on
OSSM i think
L441[16:00:35]
<AdorableCatgirl> gonna work on RF and
SmartCards
L442[16:00:48]
<AdorableCatgirl> also gonna figure out
multiblock structures
L443[16:02:36]
<TuxMan20>
Well, thanks for the hints guys. Now at least I know in what
direction to look (and keep my “resolution” expectation low
haha)
L444[16:04:23] <SquidDev> Can you rig up
multiple monitors together, possibly across multiple computers? I
know that approach works for CC at least.
L445[16:04:27] <SquidDev>
s/monitors/screens
L446[16:04:28] <MichiBot> <SquidDev>
Can you rig up multiple screens together, possibly across multiple
computers? I know that approach works for CC at least.
L447[16:06:28]
<Bob> i
think that you can bind serveral GPUs to one computer
L448[16:07:31] <SquidDev> I wasn't sure if
the call cost/delay was spread across GPUs or the computer itself
though? So how slow updating multiple ones in sync would end
up.
L449[16:08:23]
<Bob> i
mean't screen, i need sleep
L450[16:09:01]
<Bob> also
Lua and computers being singlethreaded, if GPU actions allow for
coroutines to run, you could maybe squeeze a bit out but im unsure
it will really have any benefit
L451[16:10:51] <asie> Elfi: it's possible
to reduce artifacting
L452[16:10:57] <asie> but, like, the limit
of 2 colors per 2x4 block persists
L453[16:11:09] <asie> TuxMan20: OpenPoint
never became much of a thing
L454[16:19:49]
⇨ Joins: Vexaton
(~Vexatos@port-92-192-23-38.dynamic.as20676.net)
L455[16:19:49]
zsh sets mode: +v on Vexaton
L456[16:25:02] ⇦
Quits: Vexatos (~Vexatos@port-92-192-99-66.dynamic.as20676.net)
(Ping timeout: 378 seconds)
L457[16:25:37] *
Inari feeds Amanda some bamboo
L458[16:25:47] *
Amanda stares blankly at Inari
L459[16:25:55]
<Forecaster> %sip
L460[16:25:56] <MichiBot> You drink a
light white potion (New!). Forecaster's eyes turn the color of
radiation until the next time they hug someone.
L461[16:26:02]
<Forecaster> oh dear
L462[16:26:04] <Inari> %sip
L463[16:26:04] <MichiBot> You drink a
gloopy titanium potion (New!). It tastes salty.
L464[16:26:09]
<Forecaster> good thing I'm wearing
glasses
L465[16:44:13]
<Kristopher38> @Bob wdym by "gpu
actions allow coroutines to run"
L466[16:44:32]
<Bob> like
if while one GPU works, you can queue an action for the other
L467[16:44:43]
<Kristopher38> Gpu calls are direct calls,
you call them, they do their job, and then return to Lua code
L468[16:46:13]
<Kristopher38> You can't "queue"
actions for another gpu since gpu calls don't yield to somewhere
else
L469[16:48:21]
<Kristopher38> Maybe if the GPU was
running in another executor thread that would be possible 🤔 but I
bet that's not possible either since that would lead to concurrent
modification issues, there have to be some rules when certain calls
can be made
L470[16:52:40]
<Saphire>
feeds Inari with potatoes
L471[17:14:54]
<Ariri>
%8ball get a fan for my pi running at a constant 70C all the time
asap?
L472[17:14:54] <MichiBot> Ariri: Signs
point to yes
L473[17:26:40] <t20kdc> Kristopher38, Bob:
Not strictly true. There is a budget of GPU direct calls and such.
When exceeded, it becomes effectively not a direct call.
L474[17:27:30] <t20kdc> Kristopher38, Bob:
I'm not sure if spreading the load across multiple GPUs lowers
these budget restrictions, but it's something that'd be good to
attempt.
L475[17:28:00]
<Ocawesome101> I don’t think it does
L476[17:39:28] ⇦
Quits: jackie (~jackie@irc.chaosfield.at) (Ping timeout: 378
seconds)
L477[17:39:28] <SquidDev> Though spreading
across multiple computers should work.
L478[17:39:56] <SquidDev> Or cheat and use
CC's monitors *ducks*
L479[17:46:57]
<BrisingrAerowing> %shell SquidDev
L480[17:46:57] <MichiBot>
BrisingrAerowing loads book of impossible geometry into a shell
and fires it. It strikes the ground near SquidDev, max, and
Sandra. They take 1d6 => 4, 1d6 => 2, and 1d6 => 2 splash
damage respectively.
L481[17:46:58] <MichiBot> Book of
impossible geometry was taken out by the mafia.
L482[17:47:17]
<BrisingrAerowing> %sip
L483[17:47:18] <MichiBot> You drink a
liquid water potion (New!). BrisingrAerowing's tonk score has been
reset.
L484[17:47:26]
<Kristopher38> I think we've had this
convo already
L485[17:47:39]
<Kristopher38> About spreading load on
different GPUs
L486[17:48:03]
<Kristopher38> And concluded that it
wouldn't work
L487[17:48:56]
<Kristopher38> From what I've seen in the
source code, GPUs don't have their own budget per gpu, they deduct
from the machine/global (I'm not sure which one - either way the
idea wouldn't work) budget
L488[17:50:28]
⇨ Joins: jackie (~jackie@irc.chaosfield.at)
L489[17:50:28]
zsh sets mode: +v on jackie
L490[18:17:17] ⇦
Quits: jackie (~jackie@irc.chaosfield.at) (Ping timeout: 204
seconds)
L491[18:23:49]
⇨ Joins: jackie (~jackie@irc.chaosfield.at)
L492[18:23:49]
zsh sets mode: +v on jackie
L493[18:28:54] ⇦
Quits: jackie (~jackie@irc.chaosfield.at) (Ping timeout: 190
seconds)
L494[18:32:55]
⇨ Joins: jackie (~jackie@tureis.comfix.cc)
L495[18:32:55]
zsh sets mode: +v on jackie
L496[18:43:06]
⇨ Joins: Thutmose
(~Patrick@host-69-59-79-181.nctv.com)
L497[18:53:01]
⇨ Joins: Blue_595 (webchat@47.196.97.219)
L498[18:53:05] <Blue_595> hey uh
L499[18:53:12] <Blue_595> \o/
L500[18:54:19] <SquidDev> %tonk
L501[18:54:19] <MichiBot> Waesucks!
SquidDev! You beat your own previous record of <0 (By 4 hours,
24 minutes and 33 seconds)! I hope you're happy!
L502[18:54:20] <MichiBot> SquidDev's new
record is 4 hours, 24 minutes and 33 seconds! No points gained for
stealing from yourself. (Lost out on 0.00441)
L503[18:54:58] <Blue_595> ok good
news
L504[18:55:22] <Blue_595> that weird bug
thingy wasnt that stupid 'Vespa etc etc.' thing
L505[18:55:47]
<Forecaster> what bug thingy
L506[18:56:11] <Blue_595> the murder
hornet (damn you hornets!)
L507[18:56:58]
<Forecaster> hornets aren't bugs they're
arachnids
L508[18:57:34] <Blue_595> either fucking
way
L509[18:57:43] <Blue_595> i just use 'bug'
as a generic term for arthropods
L510[18:57:47] <Blue_595> just like
everyone else
L511[18:57:52] ⇦
Quits: Blue_595 (webchat@47.196.97.219) (Quit:
webchat.esper.net)
L512[19:00:14]
<Forecaster> actually I was lying but
okay
L514[19:04:19] ⇦
Quits: Victor_sueca (~Victor_su@90.165.120.190) (Ping timeout: 190
seconds)
L515[19:04:37] <Amanda> Inari: good kitty
helps support orphaned sonics. :3
L516[19:10:58]
⇨ Joins: Victor_sueca
(~Victor_su@90.165.120.190)
L517[19:38:59]
<Forecaster> ...
L518[19:39:08]
<Forecaster> I have an mcu that is eating
eeproms
L519[19:39:10]
<Forecaster> oO
L520[19:40:45]
<Forecaster> oh wait, it was a stacking
quirk
L521[19:40:58]
<Forecaster> it ended up in a stack of
other eeproms with the same code on them
L523[19:49:31]
<Forecaster> or is it the lua prompt that
handles it differently...
L524[19:59:58]
<BrisingrAerowing> Try wrapping the
argument in quotes.
L525[20:00:05] <Vexaton> Good
question
L526[20:00:45]
<Forecaster> @BrisingrAerowing same
result
L527[20:01:05]
<BrisingrAerowing> Odd.
L528[20:01:26]
<BrisingrAerowing> Probably related to how
the argument is parsed.
L529[20:01:34]
<Forecaster> probably
L530[20:01:59]
<Forecaster> it seems to remove the
escape
L531[20:02:15]
<BrisingrAerowing> Try a double
backslash?
L532[20:02:24]
<Forecaster> I tried double escaping, but
that just made it put a literal \n in the string instead
L533[20:02:31]
<BrisingrAerowing> Ah.
L534[20:02:41]
<BrisingrAerowing> Very weird.
L535[20:03:09]
<BrisingrAerowing> Where's the setdata
program from?
L536[20:03:27] <fingercomp> the OpenOS
shell doesn't treat escapes the same way Lua does
L537[20:03:30]
<Forecaster> I suppose I could just make
my setdata program join each argument with a \n and just do
`setdata inputOnly=true ports=102`
L538[20:03:36] <fingercomp> in Lua
"\n" is a newline character
L539[20:03:36]
<Forecaster> I made it
L540[20:04:00] <fingercomp> in the shell,
"\n" is just "n", and the ecsaping is
extraneous
L542[20:04:27]
<Forecaster> well that's annoying
L543[20:05:06]
<Forecaster> if I give it a string it
shouldn't mangle it just because it thinks certain characters are
extraneous :P
L545[20:10:08] ⇦
Quits: ben_mkiv (~ben_mkiv@88.130.156.27) (Ping timeout: 190
seconds)
L546[20:29:14] ⇦
Quits: immibis (~immibis@x5271635c.dyn.telefonica.de) (Ping
timeout: 378 seconds)
L547[20:42:27]
⇨ Joins: immibis
(~immibis@x52716a8d.dyn.telefonica.de)
L548[20:42:33]
<Forecaster> I see someone went to the wip
website and added a product named "test" Xd
L549[20:42:37]
<Forecaster> I see someone went to the wip
website and added a product named "test" xD
[Edited]
L550[21:12:37] ⇦
Quits: feldim2425 (~feldim242@2002:c19a:af3d:0:32cf:ecee:50c7:ec0e)
(Quit: ZNC 1.8.x-git-91-b00cc309 - https://znc.in)
L551[21:12:45]
⇨ Joins: feldim2425
(~feldim242@2002:c19a:af3d:0:32cf:ecee:50c7:ec0e)
L552[21:24:30]
⇨ Joins: Eftalan (webchat@176.240.166.214)
L553[21:25:30] ⇦
Quits: Eftalan (webchat@176.240.166.214) (Client Quit)
L554[22:14:54]
⇨ Joins: Backslash
(~Backslash@d137-186-220-152.abhsia.telus.net)
L555[22:22:48]
<Forecaster> @payonel thoughts on escapes
being mangled in the shell? :P
L556[22:23:29]
<Forecaster> Also, getting the status code
from a failed component.internet.request
L557[22:23:46]
<payonel>
shell or lua repl?
L558[22:24:06]
<Forecaster> I meant what I said
L559[22:24:12]
<payonel>
woah, salty
L560[22:24:13]
<payonel>
🙂
L561[22:24:34]
<Forecaster> No just a statement :P
L562[22:24:55]
<payonel>
mind sharing the repro? i saw a bunch of pics - do i need to review
it all or is there just 1 repro
L563[22:24:59]
<Forecaster> See the screenshots just
above
L564[22:25:03]
<payonel>
🙂
L565[22:25:49]
<payonel>
how is getdata defined?
L566[22:25:51]
<payonel>
alias, script?
L567[22:26:31]
<Forecaster> It's the program/script in my
second screenshot
L568[22:26:41]
<Forecaster> Or wait, get
L569[22:26:51]
<payonel>
there is no print in that
L570[22:26:55]
<payonel>
yeah
L571[22:27:00]
<Forecaster> It's a program/script as
well
L572[22:27:16]
<Forecaster> Just like setdata
L573[22:27:29]
<payonel> i
assume it does something like `print(...getData())`
L574[22:27:50]
<Forecaster> It just prints
eeprom.getData() yes
L575[22:27:56]
<payonel>
so here is my question for you
L576[22:28:04]
<payonel>
what do you expect to be the output of this program:
L578[22:28:44]
<payonel>
"hello\nworld" or
L580[22:28:54]
<Forecaster> The first one
L581[22:29:16]
<payonel>
really? well that isn't how string parsing works. this is lua
language parsing rules. others as well
L582[22:29:28]
<payonel>
the \n parsed in a string literal becomes a single char, the
newline char
L583[22:29:40]
<payonel>
so when printing it back out, you see a physical newline
L584[22:30:02]
<payonel>
"others as well" meaning, c/c++ do t his
L585[22:30:03]
<payonel>
as does java
L586[22:30:05]
<Forecaster> Oh right, well I don't see
what your point is relative to my issue
L587[22:30:12]
<Forecaster> :P
L588[22:30:49]
<payonel>
well, you are setting the data string to contain the literal
"\n" string, so it is actually storing a char(10) of it,
not a \ and n
L589[22:31:09]
<Forecaster> I know, that's what I
want
L590[22:31:51]
<payonel>
sorry, bear with me. i'm not sure then what you're asking
L591[22:32:46]
<Kristopher38> If you want it to print the
first one you need to escape the slash
L592[22:33:21]
<payonel>
@Kristopher38 you might be right to what he wants to do, but let me
make sure i understand what he's trying to do first
L593[22:34:10]
<Kristopher38> Yeah, just sayin :P
L594[22:34:24]
<Forecaster> The issue is that when I give
my data string to the setdata program the \ is removed, so if I
want to see the eeprom data to `op=1\Nino=2` it sets it to
`op=1Nino=2`
L595[22:35:01]
<Forecaster> If I set three eeprom data
through the Lua prompt it works correctly
L596[22:35:03] <SquidDev> That feels
standard behaviour in most shells - \n isn't interpreted as a new
line by bash for instnace.
L597[22:35:10]
<Forecaster> If I set the eeprom data
through the Lua prompt it works correctly [Edited]
L598[22:35:16]
<payonel>
@Forecaster is this a shell only issue?
L599[22:35:32]
<payonel>
you're not talking about in scripts, just when trying to use \n in
the shell?
L600[22:35:39]
<Forecaster> Yes
L601[22:35:49]
<payonel>
and squiddev is on the right track, btw
L602[22:35:50]
<payonel>
so
L603[22:36:09]
<payonel>
what about: setData "foo\nbar" in a quoted string, what
does that do?
L604[22:36:28]
<Forecaster> Nothing
L605[22:36:31]
<payonel>
that, i expect, does not insert a newline in your data
L606[22:36:55]
<payonel>
is that correct?
L607[22:37:00]
<Forecaster> Tried using quotes in the
she'll call and it produced the same Dewalt
L608[22:37:10]
<Forecaster> Tried using quotes in the
she'll call and it produced the same result [Edited]
L609[22:37:26]
<Forecaster> Dammit, shell call
L610[22:37:33]
<payonel> i
understand
L611[22:37:49]
<Forecaster> As you can tell I'm on my
phone at the moment
L612[22:38:00]
<payonel>
so squiddev is correct, and i designed openos shell to behave the
same as real world shells in this case
L613[22:38:11]
<payonel>
so ..... shell parser != lua parser
L614[22:38:21]
<payonel>
\n in a string is not immediately converted to char(10)
L615[22:38:37]
<payonel>
this is why you have to instruct a program to interpret the
string
L616[22:38:45]
<Forecaster> But why is the slash
disappearing
L617[22:38:52]
<payonel>
because that is shell behavior
L618[22:39:00]
<payonel>
the \ pairs with only some chars, like '
L619[22:39:14]
<payonel>
this is why i added `-e` to `echo` -- which is also how gnu echo
works
L621[22:40:20]
<payonel>
if you want to inject a literal newline from the shell, you have to
tell your program to interpret the text as a parseable string
L622[22:40:37]
<payonel>
so for example, setData for you could be:
L623[22:41:05]
<Forecaster> I already worked around it
but sure
L624[22:41:12]
<payonel>
`echo -e "line one\nline two" >>
/dev/components/eeprom-data`
L625[22:41:54]
<Forecaster> I have no idea what that's
supposed to be
L626[22:42:10]
<payonel>
that would append two lines of text to eeprom data
L627[22:42:25]
<payonel>
there is already a dev fs in openos, you can read/write directly to
the eeprom
L628[22:42:37]
<payonel>
oh sorry, i didn't mean to add components in the path
L629[22:42:43]
<payonel>
in-line ninja edit coming ^
L630[22:42:48]
<payonel>
`echo -e "line one\nline two" >> /dev/eeprom-data`
[Edited]
L631[22:42:57]
<Forecaster> `>>` appends and `>`
writes?
L632[22:43:00]
<payonel>
`/dev/eeprom-data` is a rw file you can modify for setData
L633[22:43:10]
<payonel>
yeah, `>>` append, `>` truncate and write
L634[22:43:19]
<Forecaster> I didn't know that
L635[22:43:23]
<payonel>
so perhaps what you want is just `echo -e "one\ntwo" >
/dev/eeprom-data`
L637[22:44:34]
<Bob> echo
adds a new line ?
L638[22:44:47]
<payonel>
yes, unless `-n`
L639[22:45:00]
<Forecaster> Eh, I like my solution
:P
L640[22:45:22]
<Ariri> Is
updating from Ubuntu 18.04 to 20.x unlikely to break anything? I
have Ubuntu-server running nextcloud and plex, but I want openssh
8.2.
L641[22:45:29]
<Bob>
OpenOS has pipes and a dev mnt point lul, too real
L642[22:45:56]
<Kristopher38> I wonder if some people use
those virtual devices
L643[22:46:10]
<Kristopher38> As opposed to just making
component calls/through some API
L644[22:46:33]
<Kristopher38> It sure is a nice feature
to have tho
L645[22:46:52]
<payonel>
@Bob the openos shell does 10x more correct shell things than i
even knew were shell things before i wrote it. and there are about
2000 tests for the shell i run with any openos update
L646[22:47:48]
<payonel>
@Kristopher38 i really thought `/dev/eeprom` and `/dev/eeprom-data`
would be more widely used
L647[22:48:00]
<payonel>
`/dev/null` i expect is common though
L648[22:48:03]
<Forecaster> I had no idea they
existed
L649[22:49:00]
<Forecaster> Never really used dev fs in
general though
L651[22:57:56] <Amanda> %8ball veg out and
halucinate?
L652[22:57:56] <MichiBot> Amanda: Reply
hazy, try again
L653[22:58:00] <Amanda> %8ball veg out and
halucinate?
L654[22:58:01] <MichiBot> Amanda: Reply
hazy, try again
L655[22:58:02]
<payonel>
@Somebody that sounds like a crappy bug
L656[22:58:08] <Amanda> %choose veg out
and halucinate?
L657[22:58:08] <MichiBot> Amanda: No,
maybe tomorrow.
L658[22:58:18]
<payonel>
@Somebody that's something i should investigate and fix
L659[22:59:19]
<payonel>
so is the repro only
L661[22:59:19]
<payonel>
?
L662[22:59:46]
<Somebody>
i've used wget to downlaod the miner lua file
L663[23:00:01]
<payonel>
ok, can you paste that wget line here?
L664[23:00:08]
<payonel> i
just want to be sure i'm doing the same stuff
L665[23:00:24]
<Somebody>
i'll send you a screenshot DM with the robot for setup
L666[23:00:54]
<Forecaster> Note to self: never engage in
programming conversations on the phone again
L668[23:01:55]
<Forecaster> None of the examples I wrote
turned out like they should have
L670[23:02:40]
<payonel>
awesome thanks
L671[23:03:04]
<Somebody>
it seems to run perfectly fine single player
L672[23:03:10]
<payonel>
oh
L673[23:03:12]
<payonel>
well that's not good
L674[23:03:30]
<Somebody>
i'm wondering if it could maybe be a rights issue?
L675[23:03:39]
<payonel>
shouldnt make any difference with the error you reported
L676[23:03:57]
<payonel>
well, that error is .. it is weird
L677[23:03:57]
<Somebody>
when joining the server i had to get certain rights assigned. But
the robot seems to do just fine breaking blocks
L679[23:06:15]
<payonel>
oh that's just when starting the lua repl?
L680[23:06:20]
<payonel>
looks like a bad install of openos
L681[23:06:29]
<payonel>
any chance i can join the server and review?
L682[23:08:14]
<payonel>
it is quite odd that failed. can you reboot the robot and
retry?
L683[23:08:34]
<payonel>
and what version of openos is this?
L684[23:08:36]
<Somebody>
I'm not able to white list you and the admin is asleep
currently
L685[23:08:59]
<Somebody>
could it have something to do with installing the openos through a
computer and then using the disk in the creation of the
robot?
L686[23:09:13]
<payonel>
that is a perfectly valid, and common, method of crafting
L687[23:09:28]
<Somebody>
openOS 1.7.5
L688[23:09:31]
<Bob> It
doesnt matter, OpenOS is installer unless it corrupted at some
point
L689[23:09:44]
<payonel>
can you reboot the robot?
L690[23:10:01]
<payonel>
and try `lua` to entry the lua repl again
L691[23:10:12]
<Somebody>
lua command runs fine
L692[23:10:32]
<payonel>
your screen shot shows it crashed when you called `lua`
L693[23:10:38]
<payonel>
so are you saying it doesn't crash that way anymore?
L694[23:10:48]
<Thanos-No
Snap> Can a robot access methods of whatever that is infront of
it? Like access components?
L695[23:10:58]
<Somebody>
let me rerun the miner script
L696[23:11:11]
<Kristopher38> @Thanos-No Snap it
can't
L697[23:11:13]
<Bob>
Robots do not connect to external components
L698[23:11:14]
<payonel>
@Thanos-No Snap no, it doesn't attach to components liek that
L699[23:11:25]
<payonel>
it can hold a component item in its internal slots
L700[23:11:31]
<Thanos-No
Snap> That would be a nifty feature though
L701[23:11:40]
<payonel>
that's what cases are for
L702[23:11:41]
<Bob> Make
a robot build a PC
L703[23:11:44]
<Kristopher38> It's designed that
way
L704[23:11:44]
<Thanos-No
Snap> CC robots can
L705[23:11:50]
<Bob> CC is
disgustang
L706[23:11:56]
<Thanos-No
Snap> lol
L707[23:11:57]
<Kristopher38> As to not make robots too
powerful
L708[23:11:57]
<payonel>
oh no no 🙂 CC is just fine
L709[23:12:02]
<payonel>
we do things differently
L710[23:12:16]
<Thanos-No
Snap> Yeah I understand the balance
L711[23:12:19]
<payonel>
we did some things a bit too restrictive, imo
L712[23:12:33]
<payonel>
but yes, that was the purpose of the case, for component
networking
L713[23:12:47]
<payonel>
a* purpose
L714[23:12:55]
<Kristopher38> @payonel what things are to
restricted in your opinion?
L715[23:12:56]
<Thanos-No
Snap> 👍
L716[23:13:05]
<Kristopher38> Restrictive*
L717[23:13:09]
<Bob> i
would like to see a bit less microcrafting for OC2 but the rest is
smooth but bugs
L718[23:13:15]
<payonel>
well, for example - microcontrollers
L719[23:13:24]
<Somebody>
so running the miner call from the wget i listed earlier crashed
again. though the full error isn't readable since it scrolled to
far up
L720[23:13:30]
<payonel>
they should be easier to use, still super limited but, there should
be obvious benefits
L721[23:13:38]
<payonel>
like, their power cost should be basically nil
L722[23:14:12]
<payonel>
@Somebody ok, the crash is reported to stderr, can you retry using
2>log ?
L723[23:14:16]
<Thanos-No
Snap> What would be a way, if any, to have a robot access
components on the move? Other than having to plop down a
computer
L724[23:14:22]
<Kristopher38> Maybe you could allow
connecting them to the network?
L725[23:14:35]
<Kristopher38> Their usage is really
limited right now
L726[23:14:59]
<Bob> Tbh i
use T1 cases more often than MCus
L727[23:15:43]
<payonel>
@Thanos-No Snap what type of component block do you want to
interact with?
L728[23:15:50]
<Kristopher38> If we could at least
allowed them to connect to a really small number of external
components that would make their use more common
L729[23:16:09]
<Bob> the
CPU limit basically - the already added components
L730[23:16:27]
<Kristopher38> Yeah, but it could be
lowered for uCs
L731[23:16:36]
<Bob> Or
just one type of component ?
L732[23:16:59]
<Kristopher38> If it wasn't we would
basically have a computer case without a slot for a hard
drive
L733[23:17:28]
<Bob> Yeah
kinda makes it redundant
L734[23:17:52]
<Thanos-No
Snap> Im trying to interact with a Mekanism digital miner
@payonel
L735[23:18:39]
<payonel>
do they move?
L736[23:18:50]
<Thanos-No
Snap> No they are stationary miners
L737[23:18:54]
<Bob> Use a
PC + wireless card setup ?
L738[23:19:23]
<Kristopher38> Yeah, so making it able to
connect only let's say 2 or 3 external components would be aligned
with their purpose, as it was "very specialized
computers"
L739[23:19:26]
<payonel>
so plop a case and adapater next to it
L740[23:19:30]
<payonel>
adapter*
L741[23:20:14]
<Thanos-No
Snap> let me investigate that lol
L742[23:20:45]
<payonel> i
dont know if our adapter can talk to it. but that'd be the only way
how if it is possible
L743[23:21:15]
<Bob> If
meks add an integration
L744[23:21:30]
<Kristopher38> I played with mekanism
digital miner and OC
L745[23:21:38]
<Kristopher38> It definitely has
integration
L746[23:21:43]
<Kristopher38> Through an adapter
L747[23:22:53]
<Kristopher38> %discord
L749[23:23:11]
<Bob>
lel
L750[23:23:23] <Elfi> You'll never take me
alive, discord boys!
L751[23:23:26] *
Elfi throws smokebomb
L752[23:24:08]
<Somebody>
@payonel I was able to recreate the latest bug with the following
snippet
L754[23:24:14]
<Somebody>
invalid side
L755[23:24:30]
<payonel>
yeah, well, not all sides are valid
L756[23:24:35]
<payonel>
🙂
L757[23:24:38]
<Somebody>
so it seems haha
L758[23:24:45]
<payonel>
that alone isn't a bug
L759[23:25:10]
<payonel>
unless you're saying that after that valid error, things are
wonky?
L760[23:25:25]
<Somebody>
it crashes the script
L761[23:25:42]
<Bob> Welll
the script's panic cause of an illegal action but beyond that thats
it
L762[23:25:54]
<Bob> the
system isnt affected by a script crash ?
L763[23:25:58]
<payonel>
also, `compontent`
L764[23:26:09]
<Somebody>
ignore the typo 🙂
L765[23:26:18]
<Somebody>
i wasn't able to copy/paste from the robot
L766[23:26:20]
<Bob> Also
redefining side is redundant
L767[23:26:28]
<Bob>
ipairs makes a local variable for you
L768[23:26:29]
<payonel>
@Somebody your example is expected to crash
L769[23:26:49]
<Bob> OC
does allow pasting in
L770[23:27:14]
<payonel>
you mean copying out
L771[23:27:29]
<Somebody>
if that example is expected to crash, then so should this
function?
L773[23:27:42]
<payonel>
did sangar write that?
L774[23:27:45]
<Somebody>
yup
L775[23:27:49] <Corded> * <payonel>
shakes head
L776[23:27:53]
<Bob>
BRUH
L777[23:27:57]
<Somebody>
2015 to be fair
L778[23:28:03]
<payonel>
at our next lunch together i'll bap him
L779[23:28:07]
<payonel>
🙂
L780[23:28:08]
<Bob>
:GWaobloChildPepeCry:
L781[23:28:24]
<Bob> Any
old code should always be destroyed
L782[23:28:30]
<payonel>
the frog is too "memey" here
L783[23:28:31]
<Bob> its
all evidence against yourself
L784[23:28:36]
<payonel>
"get off my lawn"
L785[23:28:56]
<Bob> the
frog blends in the lawn 👀
L786[23:29:06]
<payonel>
@Somebody ok, i can definitely fix that
L787[23:29:18]
<payonel>
but i also would like to see it happen from the script
L788[23:29:21]
<Somebody>
i see, it's supposed to be 0 through 5
L789[23:29:24]
<Somebody>
not 1 through 6
L790[23:29:27]
<Somebody>
which it's doing
L791[23:29:29]
<payonel>
so i'll make some test "veins" and see if the robot hits
it
L792[23:29:39]
<payonel>
no, the problem is the "unknown" side
L793[23:29:45]
<payonel>
the ipairs is fine, really
L794[23:29:49]
<payonel>
its....just wrong code
L795[23:29:52]
<payonel>
anyways
L796[23:30:06]
<payonel> i
mean yes, what you said, but that's where the problem lies
L797[23:30:14]
<Bob> yeah
no some of that code is cursed
L798[23:30:21]
<payonel>
we can do a nil check for it, or something. i'll clean it up
L799[23:30:26]
<Somebody>
🤔 though if i print the side rather then use it for analyzing it
returns 1 through 6 which is wrong isn't it?
L800[23:30:37]
<Somebody>
since sides go from 0...5
L801[23:30:48]
<Somebody>
according to the docs anyway
L802[23:31:06]
<payonel>
yes, but we also keep sides[6]="unknown"
L803[23:31:09]
<payonel>
not sure why, tbh
L804[23:31:24]
<payonel>
actually -
L805[23:31:32]
<payonel> i
think some of our api allow for unknown side
L806[23:31:50]
<Somebody>
interesting
L807[23:31:54]
<payonel>
anyways, it's not meant for use here
L808[23:31:57]
<Bob>
wouldnt it be better to then have 0 as the unknow side to keep
Lua's 1 indexing array logic
L809[23:32:20]
<payonel>
@Bob i believe it was mapped to the original ordinal value of the
forge directions
L810[23:32:29]
<Bob>
itYeah i know
L811[23:32:38]
<Somebody>
so maybe instead of looping `ipairs(sides)` just have a lookup
table that does 0..5 would solve it
L812[23:32:55]
<payonel>
well, i believe sangar was also trying to make the code easy to
read
L813[23:33:03]
<Somebody>
most like
L814[23:33:13]
<Somebody>
did a good job mostly i do think
L815[23:33:19]
<payonel>
oh definitely
L816[23:33:27]
<Bob> eh,
comments help too
L817[23:36:20]
<Somebody>
thanks a lot @payonel with help of debugging anyway
L818[23:36:20]
<Somebody>
The original one is still a bit strange to me though
L819[23:37:19]
<payonel>
i'm going to pretend there is no other issue 🙂
L820[23:37:36]
<Somebody>
the developer attitude 🙂 I approve
L821[23:40:26]
<Somebody>
another (probabaly easier) question, how do other folk get their
programs onto their in game computers in an easy way? i tend to
copy/pasta from my editor. But this is a pain with long
programs
L822[23:40:31]
<payonel>
ok cool i hit the crash in test
L823[23:40:38]
<payonel>
i'll fix this later
L824[23:41:15]
<payonel>
@Somebody you can paste into the computer
L825[23:41:24]
<payonel>
and you can wget, so you could use a pastebin site
L826[23:42:07]
<Bob> Yeah
probably wget, but when devloping, go singleplayer and edit from
the drivers directly
L827[23:42:15]
<Bob>
simpler and faster
L828[23:42:24]
<Somebody>
that's another option
L829[23:42:38]
<Bob> I
usually come with my scripts than make em on servers
L830[23:42:54]
<Bob> quite
annoying to copy paste each time you see a little quirk
L831[23:45:00] ⇦
Quits: t20kdc
(~20kdc@cpc139340-aztw33-2-0-cust225.18-1.cable.virginm.net)
(Remote host closed the connection)
L832[23:45:20] ⇦
Quits: Vexaton (~Vexatos@port-92-192-23-38.dynamic.as20676.net)
(Quit: Insert quantum chemistry joke here)
L833[23:59:13]
<Kristopher38> @Somebody you need to edit
the config file for the changes to appear immediately
L834[23:59:36]
<Kristopher38> Set bufferChanges in the
mod's config to false