<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:07:26] <payonel> S3: i'm aware of the
chunk loader option for load, as you realized, doesn't change the
fact i pointed out that you can't set env on a function
L2[00:07:33] <payonel> only a string, that
you plan to load
L3[00:07:54] <payonel> i really do know lua,
you can trust me :)
L4[00:18:14] ⇦
Quits: Doty1154
(Doty1154!~Doty1154@2601:648:8000:134f:dda1:d648:42b5:7585) (Read
error: Connection reset by peer)
L5[02:18:53] <Izaya> ~w computer
L7[02:24:41] <Izaya> Huh.
L8[02:24:46] <Izaya> computer.getDeviceInfo
is cool.
L10[02:43:47] ⇨
Joins: ben_mkiv
(ben_mkiv!~ben_mkiv@p4FED4B0B.dip0.t-ipconnect.de)
L11[04:18:01] ⇨
Joins: Inari
(Inari!~Pinkishu@p5DEC6494.dip0.t-ipconnect.de)
L12[04:18:13] <Inari> %pet AmandaC's
pawpads
L13[04:18:13] *
MichiBot pets AmandaC's pawpads with AmandaC's pie. AmandaC's
pawpads recovers 11 health!
L14[04:26:05] ⇦
Quits: marcin212 (marcin212!~marcin212@bymarcin.com) (Remote host
closed the connection)
L15[04:45:13] ⇨
Joins: Vexatos
(Vexatos!~Vexatos@p200300556E187E796DE92E9B147D2034.dip0.t-ipconnect.de)
L16[04:45:13] zsh
sets mode: +v on Vexatos
L17[05:29:30] ⇨
Joins: Turtle
(Turtle!~SentientT@ip5657cbb2.direct-adsl.nl)
L18[06:26:44] *
AmandaC glares at Inari for the rude Awakening
L20[06:27:29] <Inari> Anyone here know Qt?
Any way to get QTabletEvent if the tablet stuff happens outside my
window/widget?
L21[06:33:36] <Izaya> woo, got the microtel
rewrite to route again, and it's smaller again
L22[06:33:51] <Izaya> 80 bytes smaller,
even
L23[07:06:40] ⇨
Joins: MajGenRelativity
(MajGenRelativity!uid288574@id-288574.hathersage.irccloud.com)
L24[07:08:43] ⇨
Joins: Thutmose
(Thutmose!~Patrick@host-69-59-79-123.nctv.com)
L25[07:13:32] ⇨
Joins: Dark
(Dark!~MrDark@2607:fcc8:d48b:eb00:a98b:760c:1a0:4ea9)
L28[07:56:54] ⇨
Joins: SolaoBajiuik
(SolaoBajiuik!~quassel@75.97.233.152.res-cmts.leh.ptd.net)
L29[08:01:43] <Izaya> hey MajGenRelativity,
care to update your port numbers post to change MultICE Networking
to Minitel when you have some time?
L30[08:01:56] <MajGenRelativity> Sure
L31[08:02:09] <MajGenRelativity> I'll do it
either today or tomorrow
L32[08:02:12] <Izaya> Thanks.
L33[08:13:36] ⇨
Joins: BearishMushroom
(BearishMushroom!~BearishMu@82-209-154-59.cust.bredband2.com)
L34[08:14:46] ⇦
Quits: Turtle (Turtle!~SentientT@ip5657cbb2.direct-adsl.nl) (Quit:
Leaving)
L35[08:16:01] <S3> Inari: you like that
show....?
L36[08:16:17] <Inari> Dunno, haven't seen
it :P
L37[08:16:34] <S3> I've stayed clear away
from it lol
L38[08:37:02] <Inari> Wacom pls
L39[08:37:13] <Inari> Don't just install
some supposed devkit and don't tell me where you put it
L41[08:44:15] * Skye
flees
L42[08:53:09] *
Temia pokes it with a stick
L43[08:53:27] *
Temia curls up in Inari's lap.
L44[08:53:39] *
Temia zzzmoo.
L45[08:54:25] <Inari> %pet Temia
L46[08:54:25] *
MichiBot brushes Temia with the year 2017. Temia recovers 3
health!
L47[08:54:51] *
AmandaC returns from the litterbox, sees her seat was taken, lays
ontop of Temia
L49[10:07:56] <Arcan> %pet Inari
L50[10:07:56] *
MichiBot pets Inari with scj643's sanity. Inari recovers 4
health!
L51[10:11:25]
<Forecaster>
%jumble
L52[10:11:25] <MichiBot> either today it or
I'll tomorrow do
L53[10:21:14] <Arcan> %choose today or
tomorrow
L54[10:21:14] <MichiBot> Arcan:
tomorrow
L55[10:21:21] <Arcan> ^=^
L56[10:22:01] <Arcan> %give MichiBot a
gramophone needle
L57[10:22:01] *
MichiBot accepts the gramophone needle and adds it to her
inventory
L58[10:23:57] <AmandaC> %give MichiBot a
gramophobe
L59[10:23:57] *
MichiBot accepts the gramophobe and adds it to her
inventory
L60[10:30:31] <Arcan> was that
intentional
L61[10:30:35] <AmandaC> yes
L62[10:30:39] <Arcan> hehe
L63[10:30:42] <Arcan> %pet AmandaC
L64[10:30:42] *
MichiBot pets AmandaC with Jelly Bombs. AmandaC recovers 9
health!
L65[10:31:07] <AmandaC> I misread
"gramophone" as "gramophobe" an was amused at
the mental image, so I added it
L66[10:31:13] <Inari> %stab Arcan
L67[10:31:13] *
MichiBot stabs Arcan with a dangerous i doing [2]
damage
L68[10:31:58] *
Arcan watches the attack glance off his scales
L70[10:32:03] <Arcan> %pet Inari
L71[10:32:03] *
MichiBot brushes Inari with a rebar. Inari recovers 8
health!
L72[10:32:09] <Arcan> %inv list
L74[10:34:23]
<Forecaster>
%shell
L75[10:34:23] *
MichiBot loads a magic mirror into a shell and fires it. It strikes
TheCryptek. They take 18 damage. jfred and asie stood too close and
take 7 and 6 splash damage respectively.
L76[10:36:27] <AmandaC> %blame
@Forecaster
L77[10:36:27] *
MichiBot blames @Forecaster for the existence of
trolls
L78[10:41:22] <Arcan> %pet Forecaster
L79[10:41:22] *
MichiBot pets Forecaster with festive medical bills. Forecaster
recovers 4 health!, festive medical bills falls into a
chasm.
L80[10:44:21] ⇨
Joins: Cervator
(Cervator!~Thunderbi@2601:4c1:4001:1d5d:1566:34fa:9f55:22fd)
L81[11:42:12] ⇨
Joins: alfw|Off (alfw|Off!~alfw@znc.exozone.net)
L82[11:42:33] ***
alfw|Off is now known as alfw
L83[11:47:49] ⇦
Quits: pwootage (pwootage!~pwootage@new.pwootage.com) (Quit:
Cya)
L84[11:48:43] ⇨
Joins: pwootage (pwootage!~pwootage@new.pwootage.com)
L85[12:10:13] <S3> sooooooooo
L86[12:10:17] <S3> I want to test this
out
L87[12:10:38] <S3> but it just so turns out
that if I test it out without OC or ocvm, ocemu etc then I can't do
non blocking stdin
L88[12:10:41] <S3> dafuq?
L89[12:10:56] <S3> I know lua is simple,
but non blocking io should really be a feature.
L90[12:11:21] <payonel> what do you want to
do while waiting on io.read ?
L91[12:11:21] <S3> oh well, I can still use
select() from a c lib
L92[12:11:56] <AmandaC> I think S3 means in
luac not oc or an oc emulator
L93[12:14:47] <S3> right. So I didn't want
to write code to talk to the gpu to test processes
L94[12:14:55] <S3> so I figured I'd just
run it in a lua 5.2 shell
L95[12:15:16] <payonel> S3: send debug
messages via modem_message
L96[12:15:20] <payonel> to a machine that
has openos
L97[12:15:24] <S3> oh you can do
that?
L99[12:15:32] <S3> I see what you
mean
L100[12:15:43] <S3> I thought ocvm modem
was broken
L101[12:15:49] <payonel> it was, it's
fixed
L102[12:15:53] <payonel> thanks to
AmandaC
L103[12:16:17] <AmandaC> payonel: you
might want to keep those two scripts I linked around, they seem to
be a good litmis test for network bug discovery
L104[12:16:37] <AmandaC> maybe litmis is
the wrong word. stress?
L105[12:16:59] <S3> oh so now I gotta do a
git pull
L106[12:17:36] <AmandaC> payonel: if you
ever decide to make some tests for ocvm, you're welcome to include
them in it, too. :)
L107[12:18:18] <payonel> AmandaC: btw, i
need to add a another layer of key_up emulation
L108[12:18:23] <AmandaC> payonel:
oh?
L109[12:18:27] <payonel> i found that the
current solution isn't quite good enough
L110[12:18:40] <payonel> yeah, i use idle
time to send key_ups
L111[12:18:45] <AmandaC> ah
L112[12:18:58] <payonel> but that keeps
some keeps down for a time
L113[12:19:02] <payonel> and that can
confuse things
L114[12:19:15] <payonel> like, if you type
[c][a][t][ctrl+w]
L115[12:19:26] <payonel> hoping to /cut/
the "cat" out, it'll ^c
L116[12:19:32] <AmandaC> oh!
L117[12:19:38] <AmandaC> That's what
happens!
L118[12:19:57] <AmandaC> I didn't mention
it, but I had noticed spurrious ^Cs and was confused where they
were coming from
L119[12:20:05] <payonel> yep, so i just
need to use a bit of recently-used in addition to timeout
L120[12:20:30] <Inari> Sometimes I hate a
lot of modern software wants so much data :stuck_out_tongue: You
can only acquire it via downlaod, for htat you need an account,
with name/other info. And then during billing they want even more
info. A few years ago you'd just buy the thing at a store and
theres no info attached
L121[12:20:54] <payonel> Inari:
indeed
L122[12:21:15] <Izaya> Just don't use
software that asks for money or info
L123[12:21:36] <Inari> Izaya: Thats only
an option if theres a competing software with the same features
:p
L124[12:21:44] <Izaya> Only software that
knows to call you by your street name and not ask any questions as
long as the job gets done
L125[12:23:41] <S3> I think I might have
to just play with the gpu
L126[12:23:52] <S3> but.. I haven't
decided yet how access to the gpu will work.
L127[12:24:12] <Izaya> S3: expose log to
_G
L129[12:24:23] <Izaya> In ocvm
L130[12:24:33] <S3> there's a log
thing?
L131[12:24:35] <payonel> oh in ocvm
L132[12:24:36] <Izaya> There's a sandbox
table somewhere
L133[12:24:41] <payonel> just use
something like log = print
L134[12:24:46] <payonel> or cprint =
print
L135[12:24:47] <Izaya> log=print
L136[12:24:49] <payonel> i call it
cprint
L137[12:24:52] <S3> oh... nteresting
L138[12:24:55] <payonel> doesn't matter of
course what you call it
L139[12:24:59] <payonel> obviously
:)
L140[12:25:03] <S3> prints to that log
file
L142[12:25:19] <payonel> S3: the
"real" print outside the sandbox prints to the log,
yes
L143[12:25:35] <S3> let's see...
L144[12:25:42] <S3> I gotta test this
:D
L145[12:26:00] <payonel> it makes log
lines like "[--vm--] foobar"
L146[12:26:31] <payonel> the print
supports ...
L147[12:26:55] <payonel> but it doesn't
like printing tables with recursion, just fyi
L148[12:27:02] <payonel> but it does
serialize tables
L149[12:29:24] <S3> recompiling
L150[12:30:32] <S3> ok. so that's done.
now I gotta think about how to get this print to work.. why do
cprint= print if print() prints to log anyways, right?
L151[12:31:06] <payonel> S3: print is
defined by openos, inside the sandbox
L152[12:31:12] <payonel> there is no print
in the sandbox
L153[12:31:17] <S3> I'm not in
openos
L154[12:31:18] <payonel> because
machine.lua says print = nil
L155[12:31:22] <S3> I just have an
init.lua
L156[12:31:22] <payonel> S3: i know
that
L157[12:31:40] <payonel> you're speaking
too fast without reading :)
L158[12:31:45] <payonel> the machine.lua
says print = nil
L159[12:31:51] <payonel> so there is no
_G.print in the vm
L160[12:31:57] <payonel> yes, you could
say print = print
L161[12:32:18] <payonel> but i typically
use a different _G name in the sandbox so that my openos work
doesn't conflict with its own _g.print
L162[12:32:20] <payonel> _G*
L163[12:33:08] <S3> hm. so I can just go
cprint = print and then do cprint("foo") in a blank
init.lua and itl send to the log
L164[12:33:22] <payonel> yes
L165[12:33:28] <S3> oh you know
L166[12:33:32] <S3> I need to fix that
ocvm issue I have
L167[12:36:55] <Inari> I need to find a
good anime discord :p
L168[12:36:57] <S3> ok... works I
dunno
L169[12:37:12] <S3> Inari: I watched too
much anime recently
L171[12:40:53] <S3> cprint = print
cprint("Testing")
L172[12:41:11] <S3> attempt to call global
'cprint' (a nil value)
L173[12:41:16] <S3> I think I'm missing
something
L174[12:41:52] <payonel> S3: what is the
system.machine setting in your client.cfg?
L175[12:41:57] <payonel>
["machine"]="system/machine.lua" ?
L176[12:42:08] <S3> oh I have to edit
that?
L177[12:42:11] <payonel> no
L178[12:42:15] <payonel> i'm just asking
:)
L179[12:43:01] <S3> there is no entry for
machine
L180[12:43:14] <S3> and this is a brand
new ocvm repo clone
L181[12:43:20] <S3> with a new
instance
L182[12:43:23] <payonel> why? how? what
the crap are you doing to your clients?
L183[12:43:50] <payonel> what is your `git
status client.cfg` in the repo?
L184[12:43:59]
⇨ Joins: Cogitabundus
(Cogitabundus!~HAL@122.15.77.140)
L185[12:45:16] <S3> Your branch is
up-to-date with 'origin/master'.
L186[12:45:30] <S3> working directory
clean
L187[12:45:57] <payonel> ok, unset is
fine
L188[12:46:04] <payonel> wasn't sure, but
it is :)
L189[12:46:06] <payonel> anyways
L190[12:46:14] <payonel> you modified your
ocvm/system/machine.lua ?
L191[12:46:22] <S3> I haven't
L192[12:46:29] <payonel> then where did
you put cprint = print ?
L193[12:47:08] <S3> I was confused about
that because it made no sense the way I asked, I asked if I just
put cprint = print then cprint("foo") in init.lua and you
said yes, I was like ...oooooooookay but I see no reason why thatl
do anything
L195[12:47:53] <payonel>
"<+payonel> the machine.lua says print = nil"
L196[12:47:59] <payonel>
"<+payonel> so there is no _G.print in the
vm"
L197[12:48:11] <S3> I just did cprint =
print above print = nil
L198[12:48:19] <S3> wait is that gonna
screw it?
L199[12:48:24] <payonel> no
L200[12:48:26] <S3> or will cprint not be
nil
L201[12:48:28] <payonel> you're fine
L202[12:48:28] <S3> I forget
L203[12:48:34] <S3> okay time to
boot
L204[12:48:48] <S3> I figured I had to
modify some other file I was just confused heh
L205[12:50:59] <S3> so it looks like this
now:
L207[12:51:10] <S3> but it still says
cprint is a nil value..
L208[12:51:53] <payonel> what is your
eeprom code?
L209[12:51:59] <S3> default
L210[12:52:16] <S3> I haven't touched it
yet
L211[12:52:27] <payonel> then it should
work fine
L213[12:53:01] <S3> eeprom is bios.lua
right?
L214[12:53:05] <payonel> yes
L215[12:53:48] <payonel> you know the ocvm
has to shutdown and restart for it to reconsume the
machine.lua
L216[12:55:10] <S3> makes sense, except
I've never kept it alive because it doesn't boot yet without
crashing anyways because well, cprint is not there
L218[12:56:25] <payonel> the sandbox table
in machine lua _is_ _G in your vm
L219[12:56:42] <payonel> so, if print is
nil, then you've goofed something else up :)
L220[12:57:14] <payonel> you could try
cprint = function() end
L221[12:57:15] <S3> well lemme see
L222[12:57:54] <S3> it doesn't even like
me
L224[13:06:19] ⇦
Quits: Cogitabundus (Cogitabundus!~HAL@122.15.77.140) (Read error:
Connection reset by peer)
L225[13:07:46] <AmandaC> payonel: wait,
machine.lua or the eeprom? I'm mildly confused
L226[13:07:56] <AmandaC> ( to restart ocvm
fully )
L227[13:07:58] <payonel> machine.lua
builds the sandbox
L228[13:08:16] <payonel> machine.lua is
not . ..
L229[13:08:19] <payonel> um
L230[13:08:27] <payonel> no i take that
back
L231[13:08:29] <S3> yeah print is nil even
if I change print = nil to cprint = print
L233[13:08:33] <payonel> everything is
re-read when you reboot
L234[13:08:40] <AmandaC> ah, haha
L235[13:09:18] <payonel> AmandaC: the
client vm object is a stack object that completely goes out of
scope when you reboot
L236[13:09:26] <payonel> so, yeah, ocvm
fully recreates the whole thing
L237[13:09:35] <AmandaC> haha
L238[13:09:52] <AmandaC> that's good, I
was concerned for a second that my auto-update might not have been
quite working right under ocvm
L239[13:09:53] <S3> oh hey if I do cprint
= function() end it works
L240[13:10:09] <AmandaC> It seemed to work
fine in OC proper
L241[13:10:20] <S3> and when I change it
back to cprint = print it works
L242[13:10:23] <AmandaC> ( I testedi n
ocvm )
L244[13:10:36] <payonel> AmandaC: i wrote
most of this stuff over a year ago :)
L245[13:10:46] <AmandaC> haha, true
L246[13:11:11] <S3> OH WTF
L247[13:11:14] <S3> table.getn is
deprecated?
L248[13:11:43] <S3> but yu can't do size =
#(expr_that_returns_table) can you?
L249[13:11:54] <payonel>
s/deprecated/obsolete/
L250[13:11:54] <MichiBot> <S3>
table.getn is obsolete?
L251[13:12:11] <payonel> #t is fine if
your table is a serial array
L252[13:12:15] <S3> if I have to do foo =
expr then #foo I will be really angry
L253[13:12:18] <S3> and storm into
#lua
L254[13:12:58] <S3> if
#state["ready"] ~= 0 then
L255[13:13:01] <S3> so you think that
works
L256[13:13:11] <payonel> yes, if it is a
serial array
L257[13:13:18] <payonel> sequential*
L258[13:13:19] <S3>
state["ready"] is a table
L259[13:13:24] <vifino> # is not a
function.
L260[13:13:26] <S3> instead of the table
state
L261[13:13:37] <AmandaC> %lua state = {
ready = { 1, 2, 3 } } print(#state["ready"])
L262[13:13:37] <MichiBot> 3
L263[13:13:49] <S3> hm. wow. For once I am
impressed with lua's parsing
L264[13:14:00] <S3> I never imagine Lua
would ever work with complicatated syntax like th
L265[13:14:03] <S3> that*
L266[13:14:10] <vifino> Maybe if you'd
learn it for once...?
L267[13:14:27] <payonel> shots fired
L268[13:14:46] <S3> vifino: It's been over
a year since I even touched lua much
L269[13:15:12] <S3> It's likely something
I knew about before
L270[13:15:26] <S3> I tend to forget
little silly things like that when the old ways still work
L271[13:23:22] <Inari> %pet vifino
L272[13:23:22] *
MichiBot pets vifino with cookie. vifino recovers 2
health!
L274[13:43:16] <S3> GOOD NEWS
EVERYONE
L275[13:43:56] <payonel> you realized you
weren't saving your files before running ocvm again? :|
L277[13:45:14] <S3> [--vm--] Welcome to
S3IX, the cuccessor to DildOS
L278[13:45:30] <payonel> what was
wrong?
L279[13:45:41] <S3> omg I just realzied
how close S3IX is to another word
L280[13:45:48] <S3> and in the same
sentence of dildos that just sounds awful
L281[13:45:53] <S3> time for a name
change
L282[13:46:10] <S3> payonel: I will never
know
L283[13:46:16] <S3> it says saying cprint
was nil
L284[13:46:28] <S3> when it was cprint =
print
L285[13:46:35] <payonel> and what it is
now?
L286[13:46:40] <S3> so I changed it to
cprint = function() end and that worked
L287[13:46:47] <S3> and then I changed it
back to cprint = print and now it works
L288[13:46:53] <payonel> you didn't save
the file
L289[13:46:56] <payonel> that's all there
is to it
L290[13:47:07] <S3> I used vim, I would
have had to
L291[13:47:26] <S3> I never ever do
:q
L292[13:47:40] <S3> and I was running it
on the same terminal as I was running it in
L293[13:47:51] <payonel> mmhm
L294[13:48:01] <S3> I think I just typoed
print and never saw it
L295[13:48:09] <S3> but the world may
never know
L297[13:48:44] <S3> that was what I tried
first before I realized I was a dumbass
L298[13:49:13] <payonel> ? that is the
correct code, what do you mean
L299[13:49:13] <S3> now it just says
cprint = print -- in boot/*_base.lua
L300[13:49:20] <S3> oh that didn't work at
all
L301[13:49:41] <payonel> you are supposed
to leave print=nil
L302[13:49:45] <payonel> the idea is that
the vm doesn't have a print
L303[13:50:15] <S3> yeah but I figure for
the purposes here itl never cause a problem
L304[13:50:22] <S3> so I now have cprint
and print XD
L307[14:02:23] <S3> I'm at work
L308[14:02:37] <S3> people staring the
moment I click that
L309[14:04:12] <payonel> there's nothing
wrong with that :/
L310[14:04:17] <payonel> i have it up, and
i'm at work
L311[14:04:37]
⇨ Joins: AshIndigo_
(AshIndigo_!~AshIndigo@79-67-163-198.dynamic.dsl.as9105.com)
L312[14:07:40] <AmandaC> %ping
L313[14:07:41] <MichiBot> Ping reply from
AmandaC 0.28s
L314[14:09:42] ⇦
Quits: AshIndigo
(AshIndigo!~AshIndigo@79-67-163-198.dynamic.dsl.as9105.com) (Ping
timeout: 383 seconds)
L315[14:45:28]
⇨ Joins: Turtle
(Turtle!~SentientT@ip5657cbb2.direct-adsl.nl)
L316[14:52:46]
<augitesoul>
Hello, my code has some weird error at line 30, even if I already
enabled the internet proxy. Any idea of how I could fix it? I'll
clean the whole code later, by the way
https://pastebin.com/AYjptVse
L318[14:53:53] <MichiBot>
IBM ThinkPad
701C: The Iconic Butterfly Keyboard | length:
13m 3s |
Likes:
2,363 Dislikes:
12 Views:
882 | by
LGR | Published
On 30/3/2018
L319[14:57:50]
<augitesoul>
(ping me if you got any idea of what causes my issue)
L320[15:02:59] <payonel> @augitesoul what
is the error you get?
L321[15:03:34] <payonel> hmm,
probably:
L322[15:03:41] <payonel> %lua
foo.bar()
L323[15:03:41] <MichiBot> main:1: attempt
to index global 'foo' (a nil value)
L324[15:03:49] <payonel> that's probably
the error you see
L325[15:04:00]
<augitesoul>
attempt to index global 'internet' (a nil value)
L326[15:04:02]
<augitesoul>
yeah
L327[15:04:24] <payonel> line 9, local
internet = require("internet")
L328[15:04:35] <payonel> is in an if
scope, from line 8 to 10
L329[15:04:47] <payonel> once you leave
that scope, there is no var
L330[15:04:49] <payonel> e.g.
L331[15:04:57] <payonel> %lua if true then
local i = 1 end return i
L332[15:04:57] <MichiBot> nil
L333[15:05:42] <payonel> there isn't a
need for canInternet, really
L334[15:05:52] <payonel> just use the
nil-ness of a variable named internet to tell you
L335[15:06:16]
<augitesoul>
I'm just checking if there's an internet card in the computer so it
won't crash saying there's none
L336[15:06:22] <payonel> %lua local
internet if component.isAvailable("internet") then
internet = require("internet") end ...
L337[15:06:22] <MichiBot> main:1:
unexpected symbol near '...'
L338[15:06:43]
<augitesoul>
ah, okay
L339[15:06:43] <payonel> @augitesoul that
has nothing to do specifically with what i'm explaining about local
scope
L340[15:06:53] <payonel> do you understand
scope?
L341[15:07:39]
<augitesoul>
yeah, I guess
L343[15:14:53]
<augitesoul>
Thank you very much, now it works
L344[15:15:00]
<augitesoul>
I'll credit you, by the way
L345[15:16:06] <payonel> no worries
L346[15:16:21] <payonel> i get enough
credit as it is
L347[15:52:35] ⇦
Quits: ben_mkiv (ben_mkiv!~ben_mkiv@p4FED4B0B.dip0.t-ipconnect.de)
(Remote host closed the connection)
L348[15:58:34] <payonel> vifino: yo
L349[16:02:16] ⇦
Quits: SolaoBajiuik
(SolaoBajiuik!~quassel@75.97.233.152.res-cmts.leh.ptd.net) (Remote
host closed the connection)
L350[16:05:32] <AmandaC> %choose a or
n
L351[16:05:32] <MichiBot> AmandaC: n
L352[16:05:35] <AmandaC> :(
L353[16:05:49] <AmandaC> %choose a or
g
L354[16:05:49] <MichiBot> AmandaC: g
L355[16:16:39]
<Forecaster>
%choose a-z or z-a
L356[16:16:39] <MichiBot> Forecaster:
a-z
L357[16:20:16]
⇨ Joins: ironmountain
(ironmountain!~ironmount@c-73-192-20-95.hsd1.fl.comcast.net)
L358[16:39:17]
<Molinko>
@payonel : so humble, so classy
L359[16:47:28] <Inari> Hrm
L360[16:47:48] <Inari> I wonder if the
WinTab setup allows some window to listen to pressure events at all
if it isn't the one the event happens on/in
L361[17:22:03] ⇦
Quits: ironmountain
(ironmountain!~ironmount@c-73-192-20-95.hsd1.fl.comcast.net) (Ping
timeout: 190 seconds)
L362[17:28:19] <AmandaC> Inari: that would
make sense, wouldn't it?
L363[17:29:03] <Inari> AmandaC: But it
sucks :P
L364[17:29:38] <AmandaC> %choose anime or
game more
L365[17:29:38] <MichiBot> AmandaC: game
more
L366[17:34:54] <AmandaC> Nah, last episode
of KB came out
L367[17:44:03] ⇦
Quits: Inari (Inari!~Pinkishu@p5DEC6494.dip0.t-ipconnect.de) (Quit:
'As long as you get the point, it doesnt mattress.')
L368[19:15:27] <S3> nuuuuuuu
L369[19:15:39] <S3> I needed a trailer
this weekend
L370[19:15:46] <S3> and the damn thing was
stuck in a bank of ice
L371[19:39:43]
⇨ Joins: SF-MC
(SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
L372[19:43:42] ⇦
Quits: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
(Remote host closed the connection)
L373[19:45:53]
⇨ Joins: SF-MC
(SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
L374[19:51:40]
<Saphire>
Hm
L375[19:51:51]
<Saphire>
Might as well use IRC instead o..o
L376[19:52:36] ⇦
Quits: Vexatos
(Vexatos!~Vexatos@p200300556E187E796DE92E9B147D2034.dip0.t-ipconnect.de)
(Quit: Insert quantum chemistry joke here)
L377[20:33:49] <S3> IRC is the best
saphire
L378[20:33:58] <S3> It's simple.
L379[20:34:48] <Saphire> Too many discord
servers <.<
L380[20:36:44] <Xal> too much discord in
general
L382[20:37:51] <Izaya> There should be
none.
L383[20:38:06] <SF-MC> I just want
something simple and federated
L384[20:38:14] <SF-MC> and that's actually
popular besides
L385[20:38:22] <Izaya> Matrix looks like
it'll be decent, if far too HTTP-y
L386[20:38:35] <Izaya> Better than a lot
of the other options, anyway.
L388[20:38:50] <MichiBot>
RISCy
Business - The Acorn RiscPC - ARM in a desktop | length:
20m
9s | Likes:
791 Dislikes:
3 Views:
9,704 | by
RetroManCave | Published On 30/3/2018
L389[20:38:52] <Izaya> Skye: ^
L391[20:39:04] <MichiBot> XKCD Comic Name:
Chat Systems Posted on: 3/13/2017
L392[20:39:15] <Skye> I used a RISC PC in
a computer museum
L393[20:39:36] <Izaya> I should draw a
diagram of this.
L394[20:40:30] <Skye> Izaya: sadly I'm
only IRC. :p
L395[20:40:44] <Izaya> You had an XMPP
account.
L396[20:40:49] <Skye> For a whole
L397[20:40:54] <Skye> Also github
L398[20:41:13] <Izaya> Github isn't really
a communication tool.
L399[20:43:14] <Skye> True
L400[20:43:22] <Skye> Do you know my
email?
L401[20:43:27] <S3> I have a
challenge
L402[20:43:35] <SF-MC> email IMO kinda
sucks though
L403[20:43:38] <Izaya> Don't think
so.
L404[20:43:46] <SF-MC> It's fine for
things that aren't quite so synchronous
L405[20:43:51] <Izaya> Email sucks for a
lot of reasons, and a decent portion of them are thanks to
Google.
L406[20:43:57] <SF-MC> But a chat platform
it is not
L407[20:44:18] <S3> My challenge is to
find information about the old RGB video signals. VGA has RGB
components, but before VGA we had RGB cables for RGB monitors (yes,
RGB monitors)
L408[20:44:32] <S3> I am looking for
documentation of the signal used in RGB monitors opposed to NTSC /
PAL
L409[20:44:56] <S3> Can't seem to find it
anywhwre though because so many people refer to RGB as VGA
nowadays
L410[20:46:13] <Izaya> Is composite the
one with the 3 RCA connectors, one for red, one for blue and one
for green?
L411[20:46:33] <S3> no that's
component
L412[20:46:34] <SF-MC> I know composite as
the single yellow one for all colors
L413[20:46:39] <Izaya> ah
L414[20:46:42] <Izaya> almost the same
word
L415[20:46:43] <S3> and it's actually not
RGB it's Yr Pr Yb or whatever
L416[20:46:44] <SF-MC> IIRC?
L417[20:46:46] <S3> which is a different
color model
L418[20:46:57] <S3> IIRC is if I remember
correctly
L419[20:46:57] <Skye> S3, eeeh that's not
vga rgb
L420[20:47:00] <SF-MC> Close
Enough(tm)
L421[20:47:10] <S3> Skye: hmm?
L422[20:47:10] <SF-MC> No, I meant
'someone please confirm'
L423[20:47:10] <Izaya> I have a monitor
that can do 1080i, but not over VGA
L424[20:47:13] <Izaya> very
inconvenient
L425[20:47:34] <Skye> Vga rgb literally
split out red green blue hsync vsync
L426[20:47:47] <S3> Izaya: I have a
monitor on my desk right now that can do 1536i with VGA
L428[20:48:02] <Izaya> S3: This is an
ancient, cheap reverse projection TV
L429[20:48:03] <S3> er 1536p
L430[20:48:11] <Izaya> I need to use weird
shit to get 1080i out of it
L431[20:48:17] <Izaya> otherwise I get
1024x768
L432[20:48:22] <Izaya> stretched to
1080i
L433[20:48:25] <Izaya> >.>
L434[20:48:28] <S3> Skye: but no yeah I'm
not talking about VGA. I know how to generate a VGA signal
L435[20:48:39] <S3> I know how to generate
NTSC signals too
L436[20:48:45] <Skye> Is this for a
TV
L437[20:48:50] <S3> but I was curious how
to talk to an oldschool RGB tv
L438[20:48:53] <Skye> Yeah
L439[20:49:09] <Skye> Let me look it
up
L440[20:50:20] <Skye> S3, first, it's
called component in the UK
L441[20:50:25] <S3> I was thinking I could
buy one for my homebuilt computer
L442[20:50:33] <S3> Skye: component cables
here are not RGB though
L444[20:50:52] <Skye> There's component
and there's composite
L445[20:51:29] <S3> actually maybe they
are, and just not the traditional 2D RGB?
L446[20:51:34] <Izaya> daaaaamn
L447[20:51:42] <Izaya> 233Mhz ARM chip
drawing 1 watt
L449[20:51:45] <Skye> S3, Europe had an
easy solution
L450[20:51:51] <Skye> SCART
L451[20:51:52] <S3> I'm thinking of YCbCr
that's why
L452[20:51:57] <S3> YEs I know of
SCART
L453[20:52:05] <S3> Ycbcr is not rgb but
the component is
L454[20:52:07] <Skye> Has dedicated
Rgb
L455[20:52:43] <S3> YPbPr is RGB ok
L456[20:52:48] <Skye> Is it?
L457[20:52:50] <S3> I ws thinking of the
old NTSC color space
L459[20:52:55] <Skye> Oh okay
L460[20:52:56] <S3> iirc YCbCr is
NTSC
L461[20:52:57] <S3> color
L462[20:53:01] <Skye> Explains the
confusing naming
L463[20:53:02] <Izaya> what's the newest
version of Windows you can run on a 486?
L464[20:53:05] <S3> which is like 1D
rgb
L465[20:53:12] <Skye> Izaya Probably
XP
L466[20:53:20] <S3> .....
L467[20:53:24] <Skye> XP can run on a
486
L468[20:53:25] <S3> No XP probably uses
SSE
L469[20:53:31] <Izaya> And I know you can
run XP in 128M
L470[20:53:32] <S3> lemme see
L471[20:53:34] <Skye> No it runs on a
486
L472[20:53:42] <Skye> I did it in an
emulator
L473[20:53:45] <Skye> It's slow
L474[20:53:55] <Skye> Also SSE?!
L475[20:54:06] <S3> hmm...
L476[20:54:14] <S3> maybe it was service
pack 3 that needed sse
L477[20:54:18] <Izaya> jhc if you split
the memory in half on this RiscPC and gave half to the guest CPU
you could run Windows XP on it
L478[20:54:22] <S3> sse was a Pentium III
think iirc
L479[20:54:28] <Skye> It runs on a Pentium
MMX
L480[20:54:32] <S3> Windows 3.1 will
definately run on a 486
L481[20:54:42] <S3> I know that because I
ran 3.1 as a kid on a 486
L482[20:54:44] <S3> that's what I
had
L483[20:54:45] <Izaya> NT4 should work on
a 486, right?
L484[20:54:48] <Izaya> Or 2000?
L485[20:55:05] <S3> I am not sure. I had
NT4 on my laptop but I don't know if I had a pentium or a 486 in
it
L486[20:55:12] <S3> it's been way too
lon
L487[20:55:14] <S3> long*
L488[20:55:50] <S3> NT 4.0 works on
486.
L489[20:56:08] <S3> "Windows NT 4.0
shipped with support for the Dec Alpha, i486, MIPS and PowerPC
CPU's"
L490[20:56:10] <S3> Izaya: ^
L491[20:56:18] <Izaya> Shiny.
L492[20:56:22] <S3> I had no idea
L493[20:56:54] <Skye> XP SP1 will run on a
486 with 64MB of RAM
L494[20:57:07] <S3> interesting
L495[20:57:15] <S3> It won't run very
well....
L496[20:57:17] <Izaya> my 600X had a
500Mhz P3 with 128M of RAM and originally came with XP
L497[20:57:24] <Izaya> Not sure which
version
L498[20:57:29] <S3> My friend is giving me
a 486 PC
L499[20:57:33] <S3> because I want one
again
L500[20:57:54] <S3> Out of ALL processors
that Intel has made
L501[20:57:57] <S3> I think the 486 was
the best
L502[20:58:18] <S3> It was a great 32 bit
chip with built in floating point
L503[20:58:32] <Izaya>
Too bad it was
x86
L504[20:58:36] <S3> it was also the
longest chip in production wasn't it?
L505[20:58:49] <S3> You don't need 64 bit
support
L506[20:59:00] <S3> in most cases 16 was
enough
L507[20:59:03] <Skye> When used without
any other qualifications the term component video usually refers to
analog YPBPR component video with sync on luma.
L509[20:59:17] <MichiBot>
IBM ThinkPad
701C: The Iconic Butterfly Keyboard | length:
13m 3s |
Likes:
5,019 Dislikes:
33 Views:
74,932 | by
LGR |
Published On 30/3/2018
L510[20:59:20] <Skye> S3, to basically
it's red blue, and sync on green
L511[20:59:20] <S3> Skye: sync on luma?
Not sync on green?
L513[20:59:30] <S3> luma and green are the
same in this case?
L514[20:59:35] <Skye> I don't know
L515[20:59:48] <Skye> But that's what I
can understand?
L516[20:59:49] <S3> I wonder if the
component video si the same protocol as the old school RGB monitors
though
L517[21:00:01] <Skye> Well sort of
L518[21:00:14] <Izaya> I wonder if IBM
still holds the patent on the butterfly keyboard.
L519[21:00:18] <Izaya> Maybe Lenovo
does.
L520[21:00:20] <Izaya> :|
L522[21:00:41] <Skye> Maybe the patent
expired
L523[21:00:48] <S3> On VGA you have two
porches that determine the screen resolution iirc
L524[21:00:57] <S3> and then you have RGB
voltages during the horrizontal draw phase
L525[21:01:28] <S3> with NTSC you have
front and back porches and sync signals and whatever else with a 1
dimensional color voltage / grayscale intensity voltage
L526[21:01:45] <Skye> S3, from my limited
understanding, vga has two clocks, hsync and vsync.
L528[21:01:57] <Skye> And three colour
channels
L529[21:02:04] <Skye> Red, green,
blue.
L531[21:02:24] <S3> My home built compute
currently has plans for VGA output
L532[21:02:27] <Skye> Old monitors are
likely to be the same
L533[21:02:29] <S3> because VGA is easier
than NTSC video
L534[21:02:36] <Skye> Unless they are old
tvs
L535[21:02:42] <S3> right
L536[21:02:47] <Skye> In which case, it's
sync on green
L537[21:04:22] <Skye> I might be wrong
though
L538[21:04:27] <Skye> This is saying odd
things
L539[21:04:35] <S3> OH OH OH!
L540[21:04:39] <S3> Skye: I just found it
I think
L541[21:04:45] <S3> the oldschool RGB
monitors were RGBI
L542[21:04:51] <S3> that helps a lot
L543[21:05:00] <Skye> Merge hsync and
vsync
L544[21:05:06] <S3> the I part is
confusing
L545[21:05:20] <S3> becauseI = (R + G + B)
/ 3
L547[21:05:27] <S3> so why does it even
need it
L548[21:06:07] <Skye> That's...
Luma?
L549[21:06:27] <Skye> sync on luma, where
the Y signal from S-Video is used alongside the RGB signal only for
the purposes of sync.
L550[21:06:40] <S3> in DIP, Luminance is
not actually Intensity
L551[21:06:44] <S3> it's slightly
different
L552[21:06:50] <Skye> You could probably
stuff dummy data in there and it'd be fine
L555[21:07:10] <Skye> I remember now
L556[21:07:18] <Skye> I got my PS2 with
component
L557[21:08:17] <Skye> I could choose if it
was YPbPr or RGB (sync on green I think)
L558[21:08:18] <S3> and svideo is just
NTSC with seperated RGB from composite iirc..
L559[21:08:51] <Skye> And the same on the
TV
L560[21:10:08] <Skye> S3, so... It isn't
even consistent.
L562[21:10:23] <Skye> It really depends on
the monitor you get
L563[21:11:15] <Skye> Might be YPbPr or
RGB of some king
L564[21:11:32] <S3> Well currently my
design focuses on VGA
L565[21:11:37] <S3> but if I could do just
plain RGB that'd be cool
L566[21:11:40] <Skye> I just remembered
that it took too much configuration
L567[21:11:52] <Skye> On both the TV and
console
L568[21:12:10] <Skye> Though it was nice
to have a proper output for a PS2
L569[21:13:16] <Skye> Implement DVI, it
basically seems to be a digital version of Vga. :p
L570[21:14:50] <Skye> (with the issue that
it's TDMS)
L571[21:14:59] <Skye> (TMDS)
L572[21:16:41] <S3> Skye: VGA is super
simple as it is, though I plan to ONLY support one resolution
L574[21:17:11] <MichiBot> AmandaC: Inari
will be notified of this message when next seen.
L575[21:17:13] <Skye> . To ensure a basic
level of interoperability, DVI compliant devices are required to
support one baseline video mode, "low pixel format" (640
× 480 at 60 Hz).
L576[21:17:26] <S3> supporting more than
one resltuon is pretty complicated
L577[21:17:42] <S3> well, the mode I am
supporting is 640x480 what do you know
L578[21:17:53] <S3> because I can use 8x10
font
L579[21:18:23] ⇦
Quits: Dark (Dark!~MrDark@2607:fcc8:d48b:eb00:a98b:760c:1a0:4ea9)
(Ping timeout: 190 seconds)
L580[21:18:37] <Izaya> everything VGA
supports 640x480
L581[21:18:48] <S3> 800x600 would be nice
for 80 column but the problem with that, is that MUCH more video
memory
L582[21:18:49] <Skye> The main problem
with DVI is how the Heck are you gonna do TMDS
L583[21:19:03] <S3> I plan to use DVI but
not for video
L584[21:19:20] <S3> DVI is a cheap
connector and cable set and I plan to use it to connect PCB boards
together for things like data busses :)
L585[21:19:26] <S3> neat trick eh?
L586[21:19:27] <SF-MC> lol
L587[21:19:31] <S3> there's like 30 pins
per connector
L588[21:19:33] <Izaya> TMDS?
L589[21:20:09] <Skye> Dc balanced high
speed
L590[21:20:14] <Skye> Also... When DVI was
designed, most computer monitors were still of the cathode ray tube
type that require analog video synchronization signals. The timing
of the digital synchronization signals matches the equivalent
analog ones, making the process of transforming DVI to and from an
analog signal a process that does not require extra (high-speed)
memory, expensive at the time.
L591[21:20:21]
⇨ Joins: Dark
(Dark!~MrDark@2607:fcc8:d48b:eb00:90a1:b5cc:4c4b:f17d)
L592[21:20:32] <S3> I prefer analog
video
L593[21:20:37] <Skye> Why not both
L594[21:20:39] <Izaya> DVI supports analog
video, also.
L595[21:20:42] <Skye> Literally
L596[21:20:54] <S3> I just feel no need
for digital video
L597[21:21:35] <S3> analog signals also
generally travel farther
L598[21:22:12] <S3> If I used NTSC for my
output, then I could easily add it to a carrier wave frequency and
send it to my TV wirelessly..
L599[21:22:13]
<Wuerfel_21>
Digital video has the advantage of clearly defined pixels
L600[21:22:20]
<Wuerfel_21>
Digital TV tho
L601[21:22:24] <S3> but the problem is
NTSC signals are complicated as fuck
L602[21:22:43]
<Wuerfel_21>
Digital TV is sortof suck
L603[21:22:55]
<Wuerfel_21>
Blocky artifacts everywhere
L604[21:23:06] <Skye> Cable
lengthEdit
L606[21:23:22]
<Wuerfel_21>
Also, NTSC is simple AF
L607[21:23:39] <S3> also color is very
difficult to achieve with NTSC in a stable manner usually
L608[21:23:42]
<Wuerfel_21>
Just requires goid timing
L609[21:23:54] <S3> the NICE thing is that
if you screw up the color signalling of an NTSC signal it just
becomes black and white
L610[21:24:04] <S3> which is why sometimes
tv stations would be black and white if the signal was poor
L611[21:24:30] <S3> then you have lots of
other sync issues which would cause rolling
L612[21:24:37] <S3> where the scren would
roll like a carosel
L613[21:24:51] <Skye> PAL
L614[21:25:09] <S3> finally the resolution
of NTSC is very weird
L615[21:25:20] <S3> PAL is an option, if
this wasn't the US
L616[21:25:51] <Skye> Gosh
L617[21:25:59] <S3> PAL is pretty damn
easy
L618[21:26:22] <S3> in PAL you also send
your color data in long bursts
L619[21:26:25] <Skye>
Importatvfromtheuk
L620[21:26:27] <S3> like 60 microsecconds
or so
L621[21:26:34] <S3> NTSC is like 2.5
microseconds
L623[21:26:46] <S3> for the color burst
stuff
L624[21:27:08] <S3> then you have 52
microseconds to send the actual data
L625[21:27:26] <Skye> I think... Pal, ntsc
and secam have the same black and white design
L626[21:27:51] <S3> well NTSC color and
black and white are the same iirc the difference is the color burst
signal
L627[21:27:56] <Skye> However ntsc had the
problem of being too squished as well as being the first
L628[21:28:01] <S3> voltage controls
value
L629[21:28:40] <S3> the thing I like about
VGA
L630[21:28:54] <Skye> Secam was the
second, encoding it in a different way, I think basically hiding it
within the black and white I thin
L631[21:28:54] <S3> is that you have
massive horrizontal and vertical refresh porches
L632[21:29:14] <S3> so you can store a
line on the screen in a buffer each hsync
L633[21:29:28] <S3> and fetch sprite
information ahead of time during the vsync porch
L634[21:29:32] <Skye> Pal took secam but
also stole some tricks from ntsc
L635[21:29:45] <S3> PAL is pretty
clean
L636[21:29:54] <S3> iirc it's just two
sync pulses and color info right?
L637[21:30:33] <Skye> I know you can
recover pal colour from a black and white film made from a high
quality tape
L638[21:30:50] <S3> NTSC and PAL probably
almost require double buffered memory
L639[21:31:08] <S3> Skye: well yeah, same
with NTSC
L640[21:31:14] <S3> the voltage determines
the color
L641[21:31:41] <Skye> I know that pal
looks broadly the same as ntsc until you look closer
L642[21:31:46] <S3> as long as the
original signal was color
L643[21:31:49] <Skye> We talked about this
before I recall
L644[21:32:03] <Skye> By film I mean
L645[21:32:16] <Skye> Film copy
L646[21:32:26] <Skye> Not magnetic
L647[21:33:01] <Skye> And you can use the
artefacts to recover colour
L649[21:40:08] ⇦
Quits: SF-MC (SF-MC!~EiraIRC@131-191-86-130.as.clicknet.org)
(Remote host closed the connection)
L651[21:41:02] <S3> OOOoooOOO
L652[21:41:14] <S3> Life savah
L653[21:41:26] <Xal> S3: do you have a
copy of the art of electronics on hand?
L654[21:41:30] <Xal> let me grab
mine
L655[21:41:40] <S3> Xal: from radio
shack?
L656[21:41:45] ⇦
Quits: Turtle (Turtle!~SentientT@ip5657cbb2.direct-adsl.nl) (Read
error: Connection reset by peer)
L657[21:41:50] <Xal> I'm fairly certain
there's an appendix giving a rundown of video signals
L658[21:41:55] <S3> I do
somewhere...
L659[21:42:04] <S3> but it's been a very
long time since I've seen it
L661[21:42:18] <S3> Oh yeah that
L662[21:42:25] <S3> I don' have that one
but I believe my father does
L663[21:43:08] <Xal> Appendix I:
Television: A compact tutorial
L666[21:45:05] <Xal> not sure how legal
that is but watevs
L667[21:45:11] <Xal> might be of
relevance
L668[21:46:30] ⇦
Quits: Cervator
(Cervator!~Thunderbi@2601:4c1:4001:1d5d:1566:34fa:9f55:22fd)
(Remote host closed the connection)
L669[21:46:51] <Izaya> Skye: it just
occured to me
L670[21:46:53] <S3> The quality of that
scan
L671[21:46:56] <S3> is amazing
L672[21:46:57] <Corded> * <Mimiru>
yawns
L673[21:47:02] <Skye> Izaya: what
L674[21:47:02] <Izaya> the default tracker
design in Haiku is perfect for OC
L675[21:47:23] <Skye> Oh?
L676[21:47:32] <Izaya> ignoring icons, the
best way to represent open windows would be a list arranged
vertically
L677[21:48:35] <S3> or no windows at
all
L679[21:48:54] <Izaya> yes but like
L680[21:49:01] *
Skye eats S3
L682[21:49:06] <Izaya> if you have a
multitasking system you want to be able to use it well
L683[21:49:18] <Izaya> which means being
able to switch between programs while they're running
L684[21:49:28] <S3> Ctrl a n
L685[21:49:32] <S3> that's what i do
L686[21:49:36] <Izaya> screen/tmux is a
good setup
L687[21:49:36] <S3> and Ctrl a p
L688[21:50:09] <Izaya> and I do want to
implement that when I rewrite PsychOS, but as part of the base
OS
L689[21:50:22] <Izaya> so any tty instance
can spawn any number of interactive sessions and switch between
them
L690[21:50:28] <S3> DildOS
L691[21:51:00] <Izaya> but right now I'm
basically stuck reverse-engineering KittenOS so I can try to port
Minitel to it.
L692[21:51:15] <Izaya> Skye: would I be a
bad person if I hijacked the bootloader and taped the embedded
version onto it?
L693[21:51:20] <S3> I am currentlt trying
to think about how to do my gpu handling in my OS
L694[21:51:29] <S3> how should I do
it..
L695[21:51:44] <Izaya> It seems simpler
than writing for this with no documentation
L696[21:52:13] <Skye> Izaya: oh dear god
no
L697[21:52:21] <S3> whats kittenos?
L698[21:52:25] <Izaya> Skye: but it'd
work
L699[21:52:35] <Izaya> S3: it's t20kdc's
GUI multitasking OS
L700[21:52:38] <Skye> It's evil
though
L701[21:52:49] <S3> of 20kdc wrote
it
L702[21:52:52] <S3> then you know it's
good
L703[21:52:55] <S3> he's a real
thinker
L704[21:52:55] <Izaya> it has a lot of
interesting ideas
L705[21:53:01] <Izaya> but no
documentation
L707[21:53:17] <S3> well that's what man
pages are for
L708[21:54:07] <Skye> The pinnacle of my
achievement is an old version of openos catted together
L709[21:54:33] <S3> what about your
networking protocol?
L710[21:55:26] <Izaya> Skye: I could add
an event hook that sends messages
L711[21:55:41] <Izaya> have the embedded
minitel load the KittenOS bootloader
L712[21:55:49] <Izaya> that'd work until
there was documentation written
L713[21:55:52] <Skye> I never made a
networking protocol past some prototypes
L714[21:55:55] <S3> I just had a thing I
remembered
L715[21:55:58] <Skye> Which never did
much
L716[21:56:12] <S3> didn't payonel or
somebody implement framebuffers or something like it in the
GPU?
L717[21:56:12] <Skye> I did encoding and
decoding
L718[21:56:26] <Skye> Kinda
L719[21:56:47] <Izaya> S3: you can draw
off-screen if the GPU supports it
L720[21:56:48] <Skye> Izaya: do that.
Muahaha
L721[21:56:57] <S3> hmmmmm
L722[21:57:09] <S3> not all OC GPUs
support drawing off screen?
L723[21:57:15] <Izaya> It's
resolution-based
L724[21:57:28] <Izaya> you can draw off
screen if you're displaying a lower resolution than the GPU
supports
L725[21:57:30] <S3> oh.. so if yuo're
running in a lower resolution then you have some leftover
memory
L727[21:57:44] <S3> That's kind of
lame
L728[21:57:44] <Izaya> then copy that area
onto the screen
L729[21:57:49] <Izaya> better than
nothing
L730[21:57:56] <S3> well it's great
L731[21:58:12] <S3> but it's only lame
because well.. you have to handle it differently in larger
resoltions
L732[21:58:26] <Izaya> If you had a T3 GPU
with 80x25 you could hold 3 full-screen framebuffers
L733[21:58:47] <Izaya> plus the real
display
L734[21:58:52] <S3> 80x25 is that a t1
resolution
L736[21:58:55] <Izaya> T2
L738[21:59:02] <Izaya> 40x15 is T1
IIRC
L739[21:59:02] <S3> I prefer T2 res
L740[21:59:09] <Izaya> yeah 80x25 is best
IMO
L741[21:59:11] <S3> because I personally
can't read T3
L742[21:59:15] <S3> not well
L743[21:59:16] <Skye> Meanwhile I reminded
myself how inadequate I am because I have done nothing useful.
Ahahah.
L744[21:59:16] <Izaya> unless you're doing
graphics
L745[21:59:19] <S3> T3 is too small
L746[21:59:32] <S3> well I can use unicode
for graphics
L747[21:59:41] <S3> with braile :D
L748[21:59:44] <Izaya> S3: I can fit
160x50 but I prefer to set UI scale to Large and use a big 80x25
terminal
L749[21:59:54] <Izaya> considering nobody
writes software for stuff I use except me it works well
L750[22:00:29] <Izaya> does anyone have a
tiny implementation of bidirectional streams using shared objects
by chance?
L751[22:00:30] <S3> I suppose I can write
a process that stores memory in RAM or GPU depending
L752[22:00:32] <S3> for framebuffer
L753[22:00:47] <Skye> Why buffer
L754[22:00:52] <Skye> Like seriously
L755[22:01:03] <Skye> You have too much
overhead
L756[22:01:10] <Skye> Just time everything
right
L757[22:01:17] <Izaya> If you're not
overlaying windows there isn't really any reason to do
buffering
L758[22:01:23] <S3> Skye: well for one,
tty switching
L759[22:01:39] <Izaya> ... that's a fair
point.
L760[22:01:55] <Izaya> one GPU op is a lot
faster than 25
L761[22:01:58] ⇦
Quits: MajGenRelativity
(MajGenRelativity!uid288574@id-288574.hathersage.irccloud.com)
(Quit: Connection closed for inactivity)
L762[22:02:23] <S3> I need to have a tty
process handle ANSI
L763[22:02:33] <S3> and then from there,
somehow spit to the GPU when needed
L764[22:02:47] <S3> fortunately it's not
like talking to a VGA monitor
L765[22:02:54] <S3> it's not like you have
to keep delivering the buffer
L766[22:03:03] <S3> only when state of GPU
needs to be changed
L767[22:03:24] <Izaya> I was just going to
buffer the stream
L768[22:03:39] <Izaya> keep the last 4096
bytes or so
L769[22:03:45] <S3> I can also not buffer
the current screen unless the tty is switched
L770[22:04:02] <Izaya> feed it to the
actual GPU driver when you display it
L771[22:04:05] <S3> to save on
memory
L772[22:04:24] <Skye> Can one even read
the screen
L773[22:04:28] <S3> moment yuo switch to
another tty it takes the gpu memory and puts it back in the
tty
L774[22:04:33] <Izaya> Skye: yes, one
character at a time
L775[22:04:41] <Izaya> you can copy
regions from off the screen though
L776[22:04:41] <Skye> . _.
L777[22:04:52] <Izaya> hence the
appeal
L778[22:04:57] <Izaya> you draw to
off-screen as a buffer
L779[22:05:00] <Skye> We need more
vram
L780[22:05:02] <Izaya> then copy it to the
screen in one operation
L781[22:05:07] <Izaya> indeed
L782[22:05:11] <S3> right. so I could have
extra code to handle if you are in a lower res to prefer storing in
GPU memory first
L783[22:05:34] <Izaya> someone needs to
make GPU clones with double VRAM - double the horizontal res,
because none of the screens support it
L784[22:05:41] <Izaya> so it's only useful
as a buffer
L785[22:05:41] <Skye> Who wants to make a
VRAMw
L786[22:05:46] <Skye> Spec
L787[22:05:52] <S3> I can do this with a
memory location table and a library that determines where to store
the memory when new memory is needed / needs to be moved
L788[22:06:22] <S3> I have another
idea..
L789[22:06:57] <S3> what do you think of
creating a library so that if you want to write processes such as
drivers that may be unused for long periods of time the processes
are stored on the OC disk and hibernate until needed
L790[22:07:11] <Skye> I am thinking of an
idea for sharers
L791[22:07:14] <Skye> Shades
L792[22:07:20] <Skye> Shaders
L793[22:07:26] <S3> I can do this since
the state of the process is repeatably passed to itself
L794[22:07:38] <S3> a library can just
serialize a state table
L795[22:07:48] <S3> long as you aren't
storing functions in it
L796[22:08:00] <Skye> Idea: process
stacks
L798[22:08:10] <Skye> Each process has a
stack
L799[22:08:21] <Skye> Currently executing
program is popped
L800[22:08:35] <Skye> If you need to run a
program after it, put it on the stack
L801[22:08:55] <Skye> Once the program
finishes, the process pops the next
L802[22:09:12] <S3> It wouldn't be ard to
do . right now they just recursively send themselves their state
and yield
L803[22:09:50] <S3> processes don't share
memory with one another either
L804[22:10:05] <S3> they send messages to
eachother
L805[22:10:38] <S3> when one process sends
another process a message, it puts the receiving process in a ready
queue, and then the scheduler will pop it off when it gets to
it
L806[22:10:54] <Skye> Maybe the process
could give the next program a package
L807[22:10:57] <S3> processes are never
put in the ready queue unless they have something to do
L808[22:10:59] <Skye> Of data it could
use
L809[22:11:05] <S3> so a process never
just continuously runs
L810[22:11:16] <Skye> Would be interesting
for batch processing
L811[22:11:33] <S3> well, if you have
supervisors and workers
L812[22:11:41] <Skye> And also for
shells
L813[22:11:47] <S3> you can have the
supervisor technically have a worker that stores the data to be
processed
L814[22:11:59] <S3> and each process under
the supervisor collects work to do from that worker
L815[22:12:19] <Skye> The OS could push a
"do you want to log out" thing to run after the
shell
L816[22:12:25] <S3> you wouldn't have the
supervisor give out the work, because the only purpose of the
supervisor is to reincarnate / kill worker processes
L817[22:12:42] <Izaya> maybe I'm looking
at bidirectional streams wrong
L818[22:12:55] *
Skye licks Izaya
L819[22:12:57] <Izaya> though using shared
objects is faster than events
L820[22:12:59] <Izaya> :|
L821[22:13:06] <Skye> You taste of salt
and alcohol
L822[22:13:21] <Izaya> What is that meant
to mean?
L823[22:13:25] <S3> given this model of
procress management, I'm trying to think of how to handle GPU
access. I think what I will do is create a supervisor that watches
tty process workers.
L824[22:13:29] <Izaya> It's 2PM I haven't
even started
L825[22:13:47] <Skye> I'm sleepy
L826[22:13:54] <Skye> And can't
think
L827[22:14:00] <S3> I can have a worker
seperate from the ttys that hold the framebuffers
L828[22:14:10] <S3> so that the ttys can
copy framebuffer to GPU
L829[22:14:18] <S3> and the ttys can crash
without losing their data :)
L830[22:14:19] <S3> neat eh
L831[22:14:38] <S3> the framebuffer
process is just a data registry so the likeliness that it would
ever crash is very slim
L832[22:14:54] <S3> but if it did crash
you'd lose the data of every tty... unless you had more than one
framebuffer process
L833[22:14:56] <S3> one for each tty
L834[22:15:14] <S3> I think the cost of a
coroutine is very tiny, so that may not be a bad idea
L835[22:18:26] <S3> Hmm. No! Better
idea
L836[22:18:50] <S3> Framebuffer and tty
state information in processes under tty supervisor
L837[22:18:59] <S3> and a tty handling
library
L838[22:19:07] <S3> where you pass a tty
PID and the work to be done
L839[22:19:50] <S3> library has code to do
the actual work with the GPU.
L840[22:20:57] <Izaya> why is my cable not
here :< I miss my third monitor
L841[22:21:12] <Izaya> why tf doesn't this
have an extra DVI port on it anyway
L842[22:21:37] <Izaya> 3 Displayport, 1
HDMI, and one DVI.
L843[22:21:40] <Izaya> How
obnoxious.
L844[22:21:55] <S3> DP is better
L845[22:22:04] <Izaya> Technically
speaking, yes, it is.
L846[22:22:14] <Izaya> For my setup
though, my monitors have either VGA or DVI.
L848[22:22:30] <Izaya> I previously had
the DVI and two HDMI on my 690 in use
L849[22:22:33] <Izaya> wait no
L850[22:22:38] <Izaya> DVI, HDMI, and
miniDP
L851[22:23:00] <Izaya> but this doesn't
have miniDP because who tf uses that
L852[22:23:09] <S3> Apple
L853[22:23:20] <Izaya> they don't use it
any more either though
L854[22:23:27] <Izaya> I thought they used
Thunderbolt for that now
L855[22:23:30] <Izaya> but anyway
L856[22:23:32] <Izaya> my point is
L857[22:23:37] <Izaya> I need this cable
so I can have my third monitor back
L858[22:23:43] <S3> iirc Thunderbolt and
miniDP use the same connector though?
L859[22:23:45] <Izaya> but economy
shipping from china is taking longer than usual
L860[22:23:48] ⇦
Quits: gartral (gartral!~gartral@162.243.117.98) (Quit: ZNC
1.6.1+deb1 - http://znc.in)
L861[22:23:57] <Izaya> nah, Thunderbolt
looks like USB-C while miniDP looks like Firewire 800
L862[22:24:22] <S3> then howcome my mac
has a thunderbolt logo on the minidp port
L863[22:24:27] <S3> and connects to
thunderbolt equipment
L864[22:24:37] <S3> but also does
video
L865[22:25:28] <S3> I don't think minidp
looks aything like IEEE 1395..
L866[22:26:09] <Skye> MiniDP is
thunderbolt2
L867[22:26:17] <Izaya> not the big one,
the little one
L868[22:26:23] <Skye> USB C is thunderbolt
3
L869[22:26:26] <Izaya> there's the one
like USB with the ends cut off on one side
L870[22:26:34] <Izaya> oh
L871[22:26:39]
⇨ Joins: gartral
(gartral!~gartral@162.243.117.98)
L872[22:26:40] <Izaya> huh
L874[22:27:14] <Izaya> Skye: I might make
a Minitel wrapper for whatever custom OS
L875[22:27:42] <S3> I don't think the
stock minitel code will work well with S3IX
L876[22:27:51] <S3> because the style of
coding is so different
L877[22:27:53] <Izaya> basically the
embedded version with an extra listener to send messages, and it
will load an init.lua
L878[22:28:01] ⇦
Quits: lp (lp!~lordpipe@66.109.211.167) (Ping timeout: 383
seconds)
L879[22:28:18] <Izaya> S3: Probably not, a
custom version for each OS would be much better
L880[22:28:29] <S3> it would definately
work
L881[22:28:35] <S3> it might just be an
antipattern of flow
L882[22:28:38] <Izaya> but I figure
something that injects events and listens for certain types should
*work* if not work well
L883[22:28:38] <S3> we'll see
L884[22:28:51] <S3> I need to think of a
superrvisor tree for networking
L885[22:29:35] <S3> Speaking of that.. how
hard do you think it would be to support interfaces?
L886[22:29:59] <Izaya> Interfaces?
L887[22:30:03] <S3> some sort of thing
that ensures you have the right stuff in your file to comply with
spec
L888[22:30:06] <S3> for examle
L889[22:30:24] <S3> for networking I may
want to support protocols, so like just for shits TCP and UDP, SCTP
are examples
L890[22:30:35] <S3> I could throw those
nto some sort of registered usable thing
L891[22:30:50] <S3> and then dispatch
socket data to that process to be handled, but each process would
have to have the same interface
L892[22:30:58] <S3> to ensure that it
worked with the socket system
L893[22:30:58] <Izaya> Ah.
L894[22:31:24] <S3> If I can't, then I am
okay with just writing very good documentation
L895[22:31:28] <S3> to explain what has to
be done
L896[22:31:35] <Izaya> With PsychOS I just
used a really generic system for sending packets - events were all
"net_send",to,port,data
L897[22:31:45] <Izaya> That didn't
consider sockets or anything though.
L898[22:32:36] <S3> I think sockets are a
good idea, because what if you don't want to send to a modem
L899[22:32:42] <S3> what if instead you
want to send out the Internet etc
L900[22:33:04] <Izaya> have a socket
server also?
L901[22:33:07] ⇦
Quits: BearishMushroom
(BearishMushroom!~BearishMu@82-209-154-59.cust.bredband2.com) (Read
error: Connection reset by peer)
L902[22:33:23] <S3> I'd have some sort of
supervsior that holds sockets
L903[22:33:29] <S3> and each socket would
be a PID you talk to
L904[22:33:33] <S3> each holding its
state
L905[22:33:45] <Izaya> I was gonna suggest
something that handled something like file handles but that works
too
L906[22:34:11] <S3> technically speaking a
socket can just be the same as a streamed file with extra
features
L907[22:34:17] <S3> so the basic IO
interface can be the same
L908[22:34:27] <S3> but things like
connecting handshaking etc are different
L909[22:35:32] <S3> Izaya: in
fact...
L910[22:36:00] <S3> sockets can hold state
in their processes sure, but mabe they will hold no stream
information
L911[22:36:06] <S3> instead, they will
reference a stream PID
L912[22:36:14] <S3> which is no different
than an open file
L913[22:36:21] <S3> that way the file IO
is exactly the same
L914[22:36:35] <S3> a file stream
supervisor
L915[22:37:40] <S3> I can use a link
between the two processes, so if one should crash, both of them
do
L916[22:39:18] <Izaya> ~w computer
L918[22:39:56] <Izaya> hm
L919[22:40:14] <Izaya> if my microtel
wrapper is init.lua, what should I call the real init.lua it
loads?
L920[22:41:14] <S3> boot.lua?
L921[22:41:26] <S3> kernel.lua?
L922[22:41:34] <S3> frankenstein.lua
L923[22:43:14] <S3> I need to think about
how I will handle crash notices
L925[22:43:42] <S3> nah bad idea
L926[22:44:30]
⇨ Joins: lp (lp!~lordpipe@66.109.211.167)
L928[22:44:53] <Izaya> tape microtel-3 to
the start of that and you'll have a wrapper for any OS
L929[22:44:54] <Izaya> :D
L930[22:44:55] <S3> I feel like this
guy
L932[22:44:56] <MichiBot>
GRAMPY HAS
IDEA LIGHT BULB P2 | length:
23s | Likes:
0 Dislikes:
1
Views:
73 | by
MyFootage.com | Published On
24/5/2017
L934[22:45:49] <MichiBot>
GRAMPY HAS
IDEA LIGHT BULB | length:
20s | Likes:
0 Dislikes:
1
Views:
145 | by
MyFootage.com | Published On
23/5/2017
L935[22:45:51] <S3> this one is
better
L937[22:49:27] <S3> Izaya: I was thinking
the other day maybe instead of using UUIDs for networking using 7
character SHA1
L938[22:49:31] <S3> of the UUID
L939[22:49:38] <S3> easier to type
L940[22:49:51] <Izaya> I mean
L941[22:49:57] <Izaya> you could just sub
the first 7 chars
L942[22:49:58] <Izaya> or 8
L943[22:50:07] <S3> I suppose
L944[22:50:54] <S3> I wonder how I should
handle ports
L945[22:50:59] <S3> some protocols use
them
L946[22:51:05] <S3> (the modem
ports)
L947[22:51:17] <S3> but some don't, and
just have to be on some partucular port for the entire
protocol
L948[22:51:39] <Izaya> mfw
L949[22:51:41] <Izaya> it worked first
go
L951[22:53:48]
⇨ Joins: DarkCow
(DarkCow!~MrDark@2607:fcc8:d48b:eb00:2c9e:d101:f326:2d09)
L952[22:54:03] ⇦
Quits: Dark (Dark!~MrDark@2607:fcc8:d48b:eb00:90a1:b5cc:4c4b:f17d)
(Ping timeout: 190 seconds)
L953[22:55:52] <S3> I am holding this book
by the same author
L955[22:55:54] <S3> EXCRPT
L956[22:55:57] <S3> except*
L957[22:56:03] <S3> the one I have is 286
386 486
L958[22:56:07] <S3> so newer volume I
think
L959[22:56:10] <S3> looks the same
otherwise
L960[22:56:17] <S3> great book
L961[22:57:22] <S3> Don't you hate it when
you binge watch some anime
L962[22:57:29] <S3> like most the way one
day
L963[22:57:41] <S3> and then realize when
you come back to it you only have a few episodes left
L964[23:02:31] <Izaya> YES
L965[23:02:40] <Izaya> Skye: I can push
packets from KittenOS
L966[23:02:50] <Skye> Oh God
L967[23:03:12] <Izaya> in addition
L968[23:03:49] <Izaya> to push packets I
have to do 'local computer =
neo.requireAccess("k.computer","test")'
L969[23:04:00] <Izaya> unsure what
"test" does but a lot of the other code has it
L970[23:04:07] <Izaya> or at least, some
string there
L971[23:07:44] <Izaya> Huh.
L972[23:07:46] <Izaya> Okay.
L973[23:07:54] <Izaya> Positions are
wrong.
L974[23:07:56] <Izaya> Excellent.
L975[23:08:03] <Izaya> I can't drag
windows around on a T3 screen.
L976[23:12:15] <Izaya> Looks like
libraries work normally-ish.
L977[23:12:47] <Izaya> Should be able to
port the normal OpenOS network library to here.
L978[23:23:26] ⇦
Quits: SuperCoder79
(SuperCoder79!uid276919@id-276919.tooting.irccloud.com) (Quit:
Connection closed for inactivity)
L979[23:25:51] <Izaya> I don't understand
how libraries are meant to work.
L980[23:41:21] ⇦
Quits: glasspelican
(glasspelican!~quassel@ktnron060ww-lp130-04-76-67-126-214.dsl.bell.ca)
(Ping timeout: 198 seconds)
L981[23:44:38] <Izaya> Okay.
L982[23:44:43] <Izaya> I don't know how to
do this.
L983[23:44:49] <Izaya> The library itself
is fine, I guess.
L984[23:45:00] <Izaya> I can't make
another program include it, though.
L985[23:45:23] <Izaya> require has no
effect, nor neo.requireAccess
L986[23:45:43]
⇨ Joins: glasspelican
(glasspelican!~quassel@ktnron060ww-lp130-04-76-67-126-214.dsl.bell.ca)
L987[23:48:07] <Izaya> Oh well, at least
the basic concept works I guess.
L989[23:52:30]
<coderboy14>
Hey. Two questions. How do I join this IRC, and anyone know how to
use the what I presume to be PGP with the Data library?
L991[23:55:07] <Izaya> ~w data
L993[23:55:21] <Izaya> No example code on
that page :|
L994[23:55:49] <Izaya> Basically:
component = require "component"
L995[23:55:53] <Izaya> data =
component.data
L996[23:55:58] <Izaya> data.whatever
L997[23:56:10] <Izaya>
data.whatever(arguments, and, stuff) rather
L998[23:56:30]
<coderboy14>
Yah, I get that. I just don't really understand how to use the
public and private keys to encrypt and decrypt.
L999[23:56:57]
⇨ Joins: coderboy14
(coderboy14!~coderboy1@c-71-58-206-230.hsd1.pa.comcast.net)
L1000[23:57:57] <Izaya> not 100% sure
tbh
L1001[23:58:06] <Izaya> Stick around and
somebody will know.
L1002[23:58:13] <coderboy14> hopefullyI'm
creating a city thing in my game, and I want to use that for
t
L1003[23:58:18] <coderboy14>
Hopefully.
L1004[23:59:25] <coderboy14> lol, I
haven't used IRC for a while, so I kinda suck at it. Haha. I was
hoping it would be simply, just a function that says
"encrypt(friendsPublicKey,msg)" and
"decrypt(yourPrivateKey, encodedMessage)"