<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:06:33] ⇦
Quits: immibis_ (~hexchat@62.156.144.218) (Remote host closed the
connection)
L2[00:55:57] <Amanda> Izaya: I was thinking
it was you thinking you were assigning a tuple as a value, though
you can't do that in lua
L3[00:56:12] ⇦
Quits: ben_mkiv|afk
(~ben_mkiv@2001:16b8:1ef6:9a00:fe34:97ff:fea9:75f2) (Quit:
Leaving)
L4[00:56:18] <Izaya> returning a table would
also make sense
L5[00:56:28] * Izaya
shrugs
L6[00:56:44] <Izaya> I'll grep for software
that uses that function and see if it would break anything
L7[00:56:49] <Izaya> ... at some point
L8[00:57:20] <Michiyo> %tonk
L9[00:57:20] <MichiBot> Goshhawk! Michiyo!
You beat Forecaster's previous record of <0 (By 8 hours, 46
minutes and 23 seconds)! I hope you're happy!
L10[00:57:21] <MichiBot> Michiyo's new
record is 8 hours, 46 minutes and 23 seconds! Michiyo also gained
0.00877 tonk points for stealing the tonk. Position #3. Need
0.39459875 more points to pass Forecaster!
L11[00:57:26] <Michiyo> Damn.
L12[01:05:22]
<Michiyo>
oh, neat.. avatars are broken
L13[01:05:23]
<Michiyo>
why though
L14[01:08:41] <Michiyo> test
L15[01:09:00]
<Michiyo>
:/ hmm
L16[01:10:56] <Michiyo> .
L17[01:11:07]
<Michiyo>
Ah.. I broke it because of an SSL change
L18[01:38:25] *
Amanda replaces dequbed 's universe access terminal with a
different universe's model
L19[01:38:45] *
Amanda goes around pushing stars off the galactic
plane
L20[01:44:43] *
Amanda tucks back in around elfi, did a heccen zzzmew
L21[03:08:44]
<Antheus>
So after a many year hiatus
L22[03:08:49]
<Antheus> I
found out about OC2
L23[03:10:35]
<Ocawesome101> >Antheus: So after a
many year hiatus
L24[03:10:36]
<Ocawesome101> Been 6 years it looks
like
L25[03:10:55]
<Ocawesome101> A lot has changed/improved
even in OC1 in that time
L26[03:11:28]
<Antheus> I
think last I truly messed around with OC1 was like 1.7.10 MC
era.
L27[03:12:12]
<Antheus> I
want to say it was on a sever that either Lizzy, Michiyo or Izaya
(SKS?) ran
L28[03:23:37]
<Michiyo>
All 3 of us ran servers roughly then, so it coulda been any of us
:P
L29[03:24:38]
<Antheus>
Ah memories of being young
L30[03:24:59]
<Antheus>
by that I mean me being like 16 and younger
L31[03:30:54]
<Michiyo>
oof.
L32[03:31:12]
<Antheus>
it's ok. Now i'm 23 and not where I thought I would be back
then
L33[03:31:18]
<Antheus> I
mean 22
L34[03:31:20]
<Antheus> I
think
L35[03:31:21]
<Antheus>
yes
L36[03:32:49]
<Michiyo>
I'm very much not 22... :P
L37[04:23:27]
<Forecaster> 21 then, definitely the right
direction
L38[04:31:40]
<Vaur>
%sip
L39[04:31:42] <MichiBot> You drink a
sedimented bavarium potion (New!). Vaur has a sudden desire to run
around in a circle until Sozin's Comet returns.
L40[05:22:44]
<Forecaster> %sip
L41[05:22:45] <MichiBot> You drink a fluffy
black potion (New!). Forecaster turns into a citrus bear turtle
until they say the phrase "Awesome Awesome".
L42[05:24:54]
<Forecaster> Citrus is not very awesome
awsome.
L43[05:25:29]
<Forecaster> bear turtle sounds like
something from avatar though
L44[05:25:35]
<Vaur>
%sip
L45[05:25:35] <MichiBot> You drink a smelly
redstone potion (New!). The next remote Vaur looks for is extra
hard to find.
L46[05:52:25] ⇨
Joins: ben_mkiv
(~ben_mkiv@2001:16b8:1ef6:9a00:fe34:97ff:fea9:75f2)
L47[06:28:32] ⇦
Quits: Hawk777 (~chead@2607:c000:827f:f200:b4c1:351d:73c2:5975)
(Quit: Leaving.)
L48[07:02:53] ⇨
Joins: TPG24
(~ThePiGuy2@host-92-17-122-20.as13285.net)
L49[07:04:15] ⇦
Quits: ThePiGuy24 (~ThePiGuy2@host-92-17-122-20.as13285.net) (Ping
timeout: 186 seconds)
L50[07:31:58] ⇨
Joins: Bitheral (~Bitheral@89.238.143.235)
L51[08:16:04] ⇦
Quits: dustinm`
(~dustinm@static.38.6.217.95.clients.your-server.de) (Quit:
Leaving)
L52[08:17:52] ⇨
Joins: dustinm`
(~dustinm@static.38.6.217.95.clients.your-server.de)
L53[08:22:00]
<Vaur>
%sip
L54[08:22:00] <MichiBot> You drink a
stirring tomato potion (New!). Vaur shrinks by a negligible amount
until they find a lamp.
L55[09:05:33] ⇨
Joins: Vexatos
(~Vexatos@port-92-192-99-179.dynamic.as20676.net)
L56[09:05:33] zsh
sets mode: +v on Vexatos
L57[09:10:51]
<Forecaster> %sip
L58[09:10:52] <MichiBot> You drink a thick
aether potion (New!). Forecaster doesn't seem to have any research
points. (Rem. uses: 0)
L59[09:11:00]
<Forecaster> dang
L60[09:12:23]
<Vaur>
%sip
L61[09:12:23] <MichiBot> You drink a liquid
crimson potion (New!). Vaur's skin turn pink but with a transparent
glow until their next sip of water.
L62[09:27:55] ⇦
Quits: hnOsmium0001 (uid453710@id-453710.hampstead.irccloud.com)
(Quit: Connection closed for inactivity)
L63[09:47:16] <Michiyo> %tonkout
L64[09:47:16] <MichiBot> Eh! Michiyo! You
beat your own previous record of 8 hours, 46 minutes and 23 seconds
(By 3 minutes and 32 seconds)! I hope you're happy!
L65[09:47:17] <MichiBot> Michiyo has
tonked out! Tonk has been reset! They gained 0.008 tonk points!
plus 0.014 bonus points for consecutive hours! Current score:
1.4579975, Position #3 Need 0.37259875 more points to pass
Forecaster!
L66[09:47:24] <Michiyo> %sip
L67[09:47:25] <MichiBot> You drink a smooth
copper potion (New!). Michiyo turns into a toad unicorn girl until
they have some bacon.
L68[09:47:34]
<Vaur>
damn, you had the timer on that xD
L69[09:47:37]
<Vaur>
%sip
L70[09:47:37] <MichiBot> You drink a salty
emerald potion (New!). Vaur reboots for an update for 2
minutes.
L71[10:58:45]
<Forecaster> Pointy toad
L72[11:15:56]
<Vaur>
%sip
L73[11:15:56] <MichiBot> You drink a ripe
dirt potion (New!). Vaur: Nothing seemed to happen...
L74[11:30:31] *
Amanda sits up, meows and looks around
L75[11:31:06]
<Forecaster> Hide the catnip!
L76[11:33:10] *
Amanda 's ears perk up "whose trafficking
catnip!?"
L77[11:33:45] <Amanda> It's a class M
controlled substance, you shouldn't have it!
L78[11:40:19]
<Forecaster> Hence the hiding! I mean,
have what?! I don't know nuthin
L79[11:57:05] *
Amanda dispatches the interoogater kittehs to Forecaster's
location
L80[13:27:09]
<Forecaster> Time to prepare the
distracting toy mice
L81[13:48:58]
<Vaur>
%tonk
L82[13:48:58] <MichiBot> Potzblitz! Vaur!
You beat Michiyo's previous record of <0 (By 4 hours, 1 minute
and 42 seconds)! I hope you're happy!
L83[13:48:59] <MichiBot> Vaur's new record
is 4 hours, 1 minute and 42 seconds! Vaur also gained 0.00403 tonk
points for stealing the tonk. Position #1.
L84[13:49:06]
<Vaur>
%sip
L85[13:49:06] <MichiBot> You drink a solid
currentcorn potion (New!). Vaur turns into a tomato golem pig until
they see a bird.
L86[14:00:32]
<Kristopher38> @Ocawesome101 I remember
you fiddled with oc's plan9 for a bit, any knowledge whether this
worked and whether you could pull the ssh script out and try
porting it to openos?
L88[14:40:41] ⇦
Quits: ben_mkiv (~ben_mkiv@2001:16b8:1ef6:9a00:fe34:97ff:fea9:75f2)
(Ping timeout: 192 seconds)
L89[14:54:36] ⇨
Joins: Hawk777
(~chead@2607:c000:827f:f200:e6d6:d666:419e:8aef)
L90[14:55:48]
<Feris>
>Ocawesome101: <@736682166527852687> I think I've fixed
the installer issue - but I sti…
L91[14:55:48]
<Feris>
yeah i used this and it worked for me, but can i use same terminal
or other accounts on each monitor?
L92[15:20:37]
<Ocawesome101> @Kristopher38 I have not
messed with it and at a glance it looks like it _might_ be possible
if you pull a couple of the libraries too
L93[16:35:01] ⇨
Joins: meekrsim
(~meekrsim@cpc103558-stkn17-2-0-cust644.11-2.cable.virginm.net)
L94[16:35:07] <meekrsim> hi
L95[16:35:51] <meekrsim> Fortnite battle
pass
L96[16:36:02] <meekrsim> i just shit out my
ass
L97[16:36:05] ⇦
Quits: meekrsim
(~meekrsim@cpc103558-stkn17-2-0-cust644.11-2.cable.virginm.net)
(Client Quit)
L98[17:32:24]
<фанат группы
Sabaton> Can lua calculate definitive integrals? I searched for
such a function, but found absolutely nothing
L99[17:37:07]
<Kristopher38> that's oddly specific
L100[17:37:57]
<Kristopher38> you gotta do that yourself,
look into numerical integration if you want to do it for any
function
L101[17:44:44]
<Feris>
@Ocawesome101 then can i somehow use two or more screens as
terminal?
L102[17:45:19]
<Ocawesome101> @Feris as in screen
mirroring?
L103[17:45:23]
<Feris>
yup
L104[17:45:26]
<Feris>
something like that
L105[17:46:22]
<Ocawesome101> ULOS doesn't natively
support that, unfortunately, but in a bit I can write a wrapper
script that'll do it for you
L106[17:46:44]
<Feris> if
u can i will be grateful
L107[17:46:53]
<Feris> for
use two or more screens
L108[17:46:57]
<Ocawesome101> tl;dr create a faux
io-compatible file that writes to every TTY
L109[17:47:10]
<Feris>
hm?
L110[17:47:12]
<Feris>
tl;dr
L111[17:48:47]
<Feris> btw
why microcontrollers cant use external components
L112[17:49:25] <Amanda> That's just how
they were balanced for having a lot of slots in a small space
L113[17:49:45] <Amanda> They can have
networking connections, but not component connections
L114[17:50:01]
<Feris>
thats bad for me because i like to use rolldoors
L115[17:50:10]
<Feris> and
everytime i need to make new computer
L116[17:50:34] <Amanda> I think ben or
Michio made it so that they can be put inside
microcontrollers
L117[17:52:03]
<Feris>
then i can use rolldoors with microcontrollers?
L118[17:52:30] <Amanda> Put the rolldoor
inside the middle slots when you make the uC
L119[17:54:17]
<Feris> I
don't understand you a bit
L120[18:01:07]
<Ocawesome101> uC = microcontroller
L121[18:01:35]
<Ocawesome101> tl;dr = too long; didn't
read
L122[18:01:45]
<Feris>
>Amanda: Put the rolldoor inside the middle slots when you make
the uC
L123[18:01:45]
<Feris> it
doesnt get in
L125[18:03:26]
<Feris>
@Ocawesome101 in ur system `tle` and `flash` are broken or there is
something with this ARM version
L126[18:03:40]
<Ocawesome101> a bunch of stuff ULOS does
requires Lua 5.3
L127[18:03:48]
<Feris> how
to check lua version?
L128[18:04:09]
<Ocawesome101> mouse over the CPU and
check what the `Architecture` field says
L130[18:05:00]
<Ocawesome101> hm, it should be Lua
5.3
L131[18:05:10]
<Ocawesome101> what error(s) do `tle` and
`flash` throw?
L134[18:06:09]
<Ocawesome101> run `upm update` and then
`upm upgrade -f`
L135[18:06:16]
<Ocawesome101> which should fix TLE
L136[18:06:20]
<Ocawesome101> as for `flash`, i'll
investigate
L137[18:06:32]
⇨ Joins: hnOsmium0001
(uid453710@id-453710.hampstead.irccloud.com)
L138[18:06:38]
<Ocawesome101> oh
L139[18:06:45]
<Ocawesome101> that's the OpenOS
`flash`
L141[18:07:14]
<Ocawesome101> did `upm` do that? did you
reboot?
L142[18:07:46]
<Feris> yup
i updated and rebooted
L143[18:07:50]
<Ocawesome101> hm
L144[18:08:03]
<Feris> oh
wait
L145[18:08:04]
<Feris> my
bad
L146[18:08:06]
<Feris>
i
L147[18:08:15]
<Feris> i
typed upm update -f instead upgrade
L149[18:10:36]
<Ocawesome101> yeah that's odd.
L150[18:10:49]
<Ocawesome101> oh
L151[18:11:23]
<Ocawesome101> `upm install bsh` then
`passwd --shell=/bin/bsh.lua` and reboot
L153[18:12:34]
<Ocawesome101> dw about that
L155[18:12:46]
<Ocawesome101> hmm
L156[18:13:34]
<Feris> and
what about your program for screen mirroring?
L157[18:22:44]
<Feris>
>Feris: and what about your program for screen mirroring?
L158[18:22:45]
<Feris>
@Ocawesome101
L159[18:22:51]
<Ocawesome101> working on it
L160[18:23:31]
<Feris>
okay
L161[18:27:22]
⇨ Joins: itsBitheral
(~Bitheral@cpc77653-ely08-2-0-cust68.5-1.cable.virginm.net)
L162[18:28:29] ⇦
Quits: Bitheral (~Bitheral@89.238.143.235) (Ping timeout: 192
seconds)
L163[18:35:29]
⇨ Joins: larehtiB (~Bitheral@86.106.136.219)
L164[18:36:55] ⇦
Quits: itsBitheral
(~Bitheral@cpc77653-ely08-2-0-cust68.5-1.cable.virginm.net) (Ping
timeout: 189 seconds)
L165[18:37:42]
<Feris>
>Ocawesome101: working on it
L166[18:37:43]
<Feris> how
is it going?
L167[18:37:58]
<Ocawesome101> i think there's a bug
_somewhere_ but i'm not sure where. currently working on it.
L168[18:38:04]
<Ocawesome101> in the process i've fixed
one or two other bugs :)
L169[18:44:30]
<Ocawesome101> yeah ok so i've got no idea
what's causing it to not work @Feris
L170[18:44:36]
<Ocawesome101> but it isn't working
L171[18:44:37]
<Ocawesome101> so uh
L172[18:44:40]
<Ocawesome101> that's a dead end
L173[18:45:16]
<Feris>
then no screen mirroring?
L174[18:45:37]
<Ocawesome101> not on ULOS :(
L175[18:45:49]
<Feris> do
u know some other OS that support this?
L176[18:45:51]
<Ocawesome101> if ULOS 2 was in a better
state i'd recommend it, but, uh, it isn't
L177[18:46:16]
<Ocawesome101> PsychOS does multiscreen in
a manner similar to ULOS - you could try that, though it's on the
insane side
L178[18:46:44]
<Feris>
psychos or psychos 2?
L179[18:46:48]
<Ocawesome101> 2
L180[18:49:08]
<Feris> how
do i install this xD?
L181[18:54:48]
<Feris>
hm?
L182[18:55:10]
<Feris> no
installer or smth?
L183[18:57:14]
<Vaur>
%tonkout
L184[18:57:15] <MichiBot> Holy ultimate
guide to killing all humans Batman! Vaur! You beat your own
previous record of 4 hours, 1 minute and 42 seconds (By 1 hour, 6
minutes and 33 seconds)! I hope you're happy!
L185[18:57:16] <MichiBot> Vaur has tonked
out! Tonk has been reset! They gained 0.005 tonk points! plus 0.008
bonus points for consecutive hours! Current score: 2.04063625,
Position #1
L186[18:57:26]
<Feris>
>Feris: how do i install this xD?
L187[18:57:26]
<Feris>
@Ocawesome101 could u help me please?
L188[18:57:32]
<Ocawesome101> there is indeed no
installer
L189[19:00:16]
<Feris>
then how do i install this
L190[19:00:39]
<Feris> on
openos or what?
L191[19:00:46]
<Ocawesome101> good question
L192[19:00:56]
<Ocawesome101> Izaya: what's the preferred
method of installing PsychOS?
L193[19:01:15]
<Ocawesome101> (it's about 5AM for him -
you may have to wait a few hours)
L195[19:01:23]
<Z0idberg>
LOLOLOL
L196[19:04:08]
<Feris> can
i connect all servers to use as one computer in rack?
L197[19:06:27]
<Ocawesome101> no
L198[19:16:57]
<Feris> how
tf can i install this poopyos
L199[19:18:29]
<Ocawesome101> well, name-calling doesn't
help
L200[19:20:33]
<Forecaster> maybe you're better of just
using multiple computers
L202[19:20:47]
<Ocawesome101> also that.
L203[19:22:36]
<Ocawesome101> does the internet card
support any methods other than GET and POST?
L204[19:26:31]
<Feris> how
i can get this file into computer?
L205[19:26:33]
<Feris>
wget not working
L206[19:28:06]
<Ocawesome101> right click -> copy link
-> `wget` it and it doesn't work?
L208[19:28:35]
<Ocawesome101> hm
L210[19:29:58] <lunar_sam> woohoo
cpio
L211[19:31:08] <lunar_sam> luv muh
cpio
L213[19:35:58]
<Feris>
what is this
L214[19:37:19]
<Vaur> just
download it, it'll be fine, promess 😼
L215[19:37:43]
<Feris>
hm?
L216[19:40:01]
<Ocawesome101> It's a link
L217[19:40:07]
<Ocawesome101> To a cpio archive
L218[19:40:31]
<Forecaster> It will definitely eat your
favourite goldfish if you download it, resist the temptation
L219[19:45:48] <lunar_sam> yeah, ya just
extract the cpio with`uncpio`
L220[19:46:07]
<Feris> but
this is not the psychos 2
L221[19:46:09] <lunar_sam> also i should
eventually start work on lcpio again
L222[19:46:48] <lunar_sam> for a full
featured implementation of cpio for OpenOS *and* Linux
L223[19:47:32] <lunar_sam> although i need
to get statx in lua, which is annoying
L224[19:48:03] <lunar_sam> and not
everyone will wanna grab the extra modue for statx support
L225[19:48:15] <lunar_sam> so i'll
probably make it optional
L226[19:48:53] <lunar_sam> fall back to
normal stat
L227[19:49:01] <lunar_sam> else fall back
to pure lua stuff
L228[19:49:09] <lunar_sam> for linux, at
least
L229[19:49:31] <lunar_sam> wonder if i
could make a win32 version :v
L230[19:49:52]
<Ocawesome101> ULOS 2 could probably run
lcpio unmodified
L231[19:50:02] <lunar_sam> i hope so
L232[19:50:18] <lunar_sam> i'll be using
luaposix for everything
L233[19:50:31] <lunar_sam> not even lfs,
just luaposix
L234[19:50:35]
<Ocawesome101> And ULOS 2's goal is very
high luaposix compatibility :)
L235[19:50:48] <lunar_sam> though for
win32 i'll be using a win32 module
L236[19:51:08] <lunar_sam> lol
L237[19:51:23] <lunar_sam> if i ever make
tsuki
L238[19:51:24]
<Ocawesome101> (Plus luafilesystem and
maybe luasocket (but probably not luasocket))
L239[19:51:32]
<Kristopher38> legend says that lunar_sam
will appear if you mention cpio, velx or tsuki
L240[19:51:40] <lunar_sam> i'll probably
have a luaposix layer
L241[19:51:48] <lunar_sam> also yes
L242[19:51:51] <lunar_sam> i will
L243[19:52:06] <lunar_sam> i have yet to
work on my lua in lua vm
L244[19:52:16] <lunar_sam> as work is soul
sucking
L245[19:52:56] <lunar_sam> tsukinet is
also cool
L246[19:53:09] <lunar_sam> i should finish
my implementation of it
L247[19:53:22] <lunar_sam> use it over
LoRa
L248[19:53:28]
<Ocawesome101> It's been 3 years and tsuki
still hasn't even really begun :|
L249[19:53:57]
<Ocawesome101> Meanwhile I've written { n
| n is many } OSes and two or three of them are decent
L250[19:54:32]
<Kristopher38> It seems like a bad case of
masturbating over project ideas that never take shape
L251[19:54:40]
<Kristopher38> i'm guilty of it
myself
L252[19:54:46]
<Kristopher38> so i can't really
judge
L253[19:55:04]
<Z0idberg>
>Ocawesome101: It's been 3 years and tsuki still hasn't even
really begun :|
L254[19:55:04]
<Z0idberg>
I mean look at TW
L255[19:55:12]
<Z0idberg>
I myself have just been busy
L256[19:55:13] <lunar_sam> it's more of a
case of
L257[19:55:24]
<Ocawesome101> Fair enough
L258[19:55:25] <lunar_sam> "i want to
do this but i have no drive"
L259[19:55:32]
<Z0idberg>
heh
L260[19:55:50] <lunar_sam> the closest i
got was TNv1
L261[19:56:02]
<Z0idberg>
I mean Trotwood does run
L262[19:56:02] <lunar_sam> where i found
out it's AWFUL for OC networking
L263[19:56:06]
<Z0idberg>
it just has zero support
L264[19:56:13]
<Z0idberg>
meaning none of the cool stuff is done
L265[19:56:22]
<Ocawesome101> I work on ULOS 2 for a
month or two and then drop it for a month pretty consistently
lol
L266[19:56:23]
<Z0idberg>
Trotwood is currently a scheduler for actors.
L267[19:56:32]
<Z0idberg>
you could use it as an actor model
L268[19:56:42]
<Kristopher38> I'm still waiting for
trotwood
L269[19:56:52] <lunar_sam> thus i would
need to redo the socket system
L270[19:56:57] <lunar_sam> among other
things
L271[19:57:02] <lunar_sam> for TNv2
L272[19:57:20]
<Ocawesome101> Cynosure 2's networking
will probably use bang paths
L273[19:57:25] <lunar_sam> also need to
make a big wordy technical doc
L274[19:57:47]
<Z0idberg>
Just use latex + doxygebn
L275[19:57:51]
<Ocawesome101> It's nice and simple and
doesn't tie me to https
L276[19:57:56] <lunar_sam> anyways, all TN
needs is a link layer and it's happy
L277[19:58:10]
<Z0idberg>
Doxygen can generate latex manuals
L278[19:58:27]
<Ocawesome101> Because I want to
transparently be able to host U2PM packages in-game _and_ outside
of it
L279[19:59:23] <lunar_sam> yea
L280[19:59:28] <lunar_sam> i getcha
L281[19:59:44] <lunar_sam> i wanna be able
to use TN inside and outside game :v
L282[19:59:53]
<Z0idberg>
TN?
L283[20:00:12]
<Ocawesome101> I also want to make u2pm
more efficient and probably more decoupled from the cli program so
it can be more easily used in scripts
L284[20:00:19] <lunar_sam> eventually, if
i have a working spec for TNv2, i might even work on a kernel
modue
L285[20:00:28] <lunar_sam> TN =
tsukinet
L286[20:00:31]
<Z0idberg>
There are some serious problems with Lua that makes Trotwood
annoying to write
L287[20:00:34]
<Z0idberg>
but I have a plan for it
L288[20:00:43] <lunar_sam> the only part
of tsuki i've made lol
L289[20:00:54]
<Z0idberg>
The first and foremost is a fast byvalue table copy.
L290[20:01:21] <lunar_sam> unless you
count the core of the VELX system i made in Zorya
L291[20:01:32]
<Kristopher38> that problem has already
been solved @Z0idberg
L292[20:01:57]
<Kristopher38> inb4 i want to roll my own
solution
L293[20:01:59]
<Z0idberg>
Yeah but I just haven't sat down to actually do it.
L294[20:02:09] <lunar_sam> zorya is black
magic to me again
L295[20:02:11]
<Z0idberg>
I was going to use metatables to create persistent data
structures
L296[20:02:15] <lunar_sam> i forgot why
and how it works
L297[20:02:19]
<Z0idberg>
then just transfer those
L298[20:02:19] <lunar_sam> and why i made
it how i did
L299[20:02:35] <lunar_sam> why do i have a
scheduler in the bios
L300[20:02:40]
<Ocawesome101> ULOS v1 is kind of like
that at this point - ULOS 2 is at least somewhat sanely structured
(I think)
L301[20:03:27]
<Z0idberg>
Trotwood also needs a partition table if we want the native
filesystem to work
L302[20:03:45]
<Z0idberg>
The idea is to make something that is combination partition /
filesystem
L303[20:03:51]
<Z0idberg>
kind of like ZFS without the RAID
L304[20:04:16]
<Z0idberg>
It's not needed to function
L305[20:04:16]
<Z0idberg>
but was an end goal
L306[20:04:19] <lunar_sam> oh yeah
L307[20:04:25] <lunar_sam> foxfs
L308[20:04:28]
<Kristopher38> I'm just waiting for the
distributed OS part in trotwood
L309[20:04:36] <lunar_sam> that was a
thing
L310[20:04:43] <lunar_sam> i still wanna
make
L311[20:04:43]
<Z0idberg>
Yeah that part is mostly just schuler + modem support in the VFS
itself
L312[20:04:47]
<Kristopher38> that seems to be the main
selling point
L313[20:04:53]
<Kristopher38> for me anyway
L314[20:05:20]
<Z0idberg>
Right. the actor model stuff currently works. It's the multi node
part that isn't ready yet. I need to make the scheduler protocol
work over the modem
L315[20:05:46]
<Z0idberg>
Once that is done, distributed process messaging can be used to
create applications that run decentralized
L316[20:06:43]
<Z0idberg>
I think we also get 8K per packet
L317[20:06:49]
<Z0idberg>
so we need to figure out if fragmentation is needed.
L318[20:06:59]
<Z0idberg>
processes can be used to buffer that
L319[20:13:29]
<Z0idberg>
You know interrupts would be nice
L320[20:13:36]
<Z0idberg>
if we had some kind of interrupt
L321[20:23:42]
<Z0idberg>
so here's some thoughts. Some of this is already done
L323[20:24:58]
<Z0idberg>
I should draw a concept map
L324[20:26:41]
<Kristopher38> please don't use fp for
PIDs
L325[20:26:54]
<Kristopher38> one project already did
that mistake
L326[20:27:30]
<Kristopher38> just use two numbers, it
won't hurt, really
L327[20:27:49] <lunar_sam> or use high and
low 32 bits
L328[20:29:17] <lunar_sam> lua 5.3's int
type is cool
L329[20:29:35]
<Kristopher38> I wonder about the bullet
point on tasks, how limiting does it make them
L330[20:32:26]
<Z0idberg>
>Kristopher38: please don't use fp for PIDs
L331[20:32:26]
<Z0idberg>
They have always been fp. Lua automatically uses fp for all numbers
until 5.3, so there's no performance hit.
L332[20:32:55]
<Z0idberg>
I have also thoroughly tested that feature
L333[20:32:58]
<Z0idberg>
it's quite fast
L334[20:33:25]
<Z0idberg>
It's how Trotwood indexes remote and local processes
L335[20:33:53]
<Kristopher38> I know, but using them
specifically for putting sub-identifiers after the dot should be a
crime
L336[20:33:54]
<Feris>
guys do u know some got ideas for microcontrollers?
L337[20:33:56]
<Z0idberg>
otherwise you would need to use a linear non closeish to O(1)
algorithm for finding nodes to route messages to.
L338[20:34:29]
<Z0idberg>
The alternative was to use binary encoded process IDs.
L339[20:34:57]
<Z0idberg>
Which pretty much either means weird bitwise operations or
strings
L340[20:36:24]
<Kristopher38> either of those would've
been better
L341[20:36:58]
<Z0idberg>
If I played the safe route I could do something like this
L342[20:37:03] <lunar_sam> bitwise ops are
easy
L343[20:37:08]
<Z0idberg>
They are easy yes
L344[20:39:34]
<Z0idberg>
If I played the safe route I could do something like,:
L346[20:39:37]
<Z0idberg>
Seem a bit better?
L347[20:40:38]
<Z0idberg>
4095 nodes should technically be enough, I would think
L348[20:40:57]
<Z0idberg>
After that you really should be routing between them as separate
clusters.
L349[20:43:31]
<Z0idberg>
I would have no problem implementing this.
L350[20:44:17]
<Z0idberg>
On 64 bit compiled versions of Lua you would have 32 wasted bits,
but honestly, why the heck do you need more than 65535
processes?
L351[20:44:30]
<Z0idberg>
Just use two clusters at that point
L352[20:45:25]
<Z0idberg>
4095 * 65536 = 268369920 PIDs in a single cluster.
L353[20:45:32]
<Z0idberg>
all maxed out
L354[20:45:48]
<Z0idberg>
Which is two hundred sixty-eight million.
L355[20:45:48]
<Z0idberg>
three hundred sixty-nine thousand.
L356[20:45:48]
<Z0idberg>
nine hundred twenty.
L357[20:45:59]
<Z0idberg>
(I threw it in number)
L358[20:46:21]
<Z0idberg>
Yeah that's enough.
L359[20:47:34]
<Z0idberg>
The node ID is only stamped on a process by the network router code
anyways.
L360[20:47:44]
<Z0idberg>
most of the times those bits will be blank
L361[20:55:15]
<Kristopher38> do you have some background
in scheduling theory btw?
L362[20:58:37]
<Z0idberg>
Yes but this isn't x86 or anything, and I'm skipping a lot of ideas
that have been in practice like the use of prioritization trees,
etc. I mean this is Lua we're talking about. I am instead
scheduling based on message queues, since I am more concerned about
IPC than I am about process time.
L363[21:01:26]
<Z0idberg>
It's more similar to BEAM scheduling
L364[21:02:42]
<Kristopher38> i wish i knew what you're
talking about
L365[21:03:48]
<Forecaster> A scheduler with a laser
attached obviously
L366[21:04:01] <Izaya> Ocawesome101,
Feris: usually one has OpenOS so grab the cpio from the page and
uncpio from the forums and extract it to an empty disk
L367[21:06:32] <lunar_sam> i love how
often `uncpio` gets used :v
L368[21:06:59] <Izaya> it's the simplest
and lowest effort option availab
L369[21:07:02] <Izaya> le
L370[21:07:11]
<Z0idberg>
@Kristopher38 Okay so schedulers typically have a prioritization
queue of some sort, depending 100% on the OS and the CPU
architecture and everything else. Lua doesn't have anything similar
to hardware context switching, so we rely on coroutines to be nice
and yield. Now, BEAM is the VM used for Erlang, and Trotwood's
actor model is based on some principles from Erlang. With Lua, we
give up a lot of cool stuff, so we simply scheduling more
into
L371[21:07:11]
<Z0idberg>
a trotwood friendly design where it is all about message queues.
Simply put: If a process is waiting to receive a message, it does
absolutely nothing until a message arrives. This has its own
problems, but Trotwood can handle these.
L372[21:07:44] <lunar_sam> yeah
L373[21:07:46]
<Z0idberg>
We could throw a priority scheduler in there, but for most tasks in
Minecraft especially having a FIFO message triggered scheduler is
perfctly fine.
L374[21:07:57] <lunar_sam> the cpio format
and uncpio are both dead simple
L375[21:08:03] <lunar_sam> shrimple,
even
L376[21:08:48]
<Z0idberg>
We still need to be hopeful that users are nice and yield()
though.
L377[21:09:00]
<Z0idberg>
To help with this I have made it so that all messaging system calls
yield anywyas.
L378[21:09:20] <lunar_sam> oh i had a
priority scheduler for tsuki (and zorya'a scheduler might have
priority iirc?)
L379[21:09:45] <lunar_sam> i think i
ripped the tsuki sched and used it in zorya, but not sure
L380[21:09:46]
<Z0idberg>
since most Trotwood processes rely heavily on messaging / Inter
Process Communication, I have basically trapped users into forcing
themselves to be nice and yield() by messaging other processes
since you can't really do anything useful without doing that.
L381[21:09:56]
<Z0idberg>
so it's kind of an abuse of the users
L382[21:10:06]
<Z0idberg>
to trick them into being nice
L383[21:10:19]
<Z0idberg>
somebody could still be a dick and just do while true do..
L384[21:10:26]
<Z0idberg>
and just infinite loop
L385[21:10:36]
<Z0idberg>
but that wouldn't benefit anyone would it
L386[21:10:43]
⇨ Joins: ben_mkiv
(~ben_mkiv@2001:16b8:1ef6:9a00:fe34:97ff:fea9:75f2)
L387[21:11:05]
<Z0idberg>
In order to message another process you have to ask the system to
do it for you, and the system calls coroutine.yield() when you do
that
L388[21:11:14]
<Z0idberg>
forcing you to yield
L389[21:13:15]
<Z0idberg>
The entire OS API is a yield based call too, so the argument to
coroutine.yield() is actually a system call to perform.
L390[21:13:37]
<Z0idberg>
It theoretically sends a message to process 0 behind the
scenes
L391[21:13:41]
<Z0idberg>
which is the scheduler itself.
L392[21:17:02]
<Ocawesome101> both Cynosures do load-time
yield injection
L393[21:17:06]
<Z0idberg>
Basically, instead of iterating over processes it iterates over
messages.
L394[21:17:07]
<Z0idberg>
yeah
L395[21:18:03]
<Ocawesome101> Though it does slow down
loading somewhat and Cynosure 2's system calls yield (if necessary
- either because the timeout was exceeded or the syscall is
blocking) so it's less needed there
L396[21:18:14]
<Kristopher38> i like the programming
model
L397[21:18:17]
<Z0idberg>
In Lua though
L398[21:18:22]
<Z0idberg>
Does it really matter
L399[21:18:55] <Izaya> PsychOS just
expects the user to be competent :^)
L400[21:18:56]
<Z0idberg>
As a computer engineer if this was a realtime STM32 system or
something I would be horrified
L401[21:19:28]
<Z0idberg>
The downside though is that if you have a task process
L402[21:19:43]
<Z0idberg>
lets say you want to create a task that reads from a socket and
prints to the screen
L405[21:21:02]
<Z0idberg>
You may, depending on what getting data from the socket entails,
need to yield() manually
L406[21:21:17]
<Z0idberg>
however if the API is wrotten correctly then reading from the
socket might just yield anyways
L407[21:21:23]
<Z0idberg>
Depends
L408[21:21:42]
<Z0idberg>
I may allow asyncronous filehandle and syncronous filehandle
reading at the same time
L409[21:22:01]
<Z0idberg>
and if syncronous filehandle reading is needed you may want to have
a yieldless way to read it.
L410[21:22:09]
<Z0idberg>
active sockets are better though
L411[21:22:25]
<Ocawesome101> Cynosure 2 does not support
asynchronous I/O
L412[21:22:52]
<Z0idberg>
i.e.
L414[21:23:03]
<Z0idberg>
then you don't have to worry about tasks and iteration
L415[21:23:07]
<Z0idberg>
or yielding
L416[21:23:08]
<Ocawesome101> For Lua / OC I didn't think
it was useful enough to justify the complexity
L417[21:23:15]
<Z0idberg>
Yeah
L418[21:23:31]
<Z0idberg>
I much prefer asyncronous callback systems
L419[21:24:02]
<Z0idberg>
You can always build syncronous on top of async anyways
L420[21:24:07]
<Ocawesome101> True
L421[21:24:12]
<Z0idberg>
and it is easier imo to do sync/async than async/sync
L422[21:24:18]
<Z0idberg>
at leats less awkward
L423[21:24:22]
<Z0idberg>
least*
L424[21:24:35]
<Ocawesome101> Probably true
L425[21:25:01]
<Z0idberg>
Syncronous implies issues like timeouts though
L426[21:25:33]
<Z0idberg>
so perhaps then you'd have some sort of process library that
watches syncronous messages for you and schedules timers
L427[21:25:54]
<Z0idberg>
It gets complicated fast
L428[21:26:34]
<Ocawesome101> Maybe. ULOS 2 is also very
heavily Unix-like - even more so than og ULOS
L429[21:26:51]
<Ocawesome101> Asynchronous stuff can just
go in another thread :>
L430[21:26:57]
<Z0idberg>
I personally don't like POSIX like systems so I completely avoided
the unix-like chain
L431[21:27:01]
<Z0idberg>
not that it has to be POSIX
L432[21:27:37]
<Z0idberg>
I'll use them, but I have come to the understanding, as a developer
myself that POSIX is just one standard that I see no benefit to
adhere to other than being a general purpose system.
L433[21:27:44]
<Z0idberg>
And I don't normally write general purpose systems
L434[21:28:16]
<Ocawesome101> My primary goal was
compatibility so having it be able to easily do LuaPosix was
important - Cynosure v1's system API isn't low-level enough
L435[21:28:19]
<Ocawesome101> Fair enough
L436[21:29:52] ⇦
Quits: lordpipe (~ba7888b72@66.109.211.50) (Ping timeout: 186
seconds)
L437[21:29:52]
<Z0idberg>
I have after all this time though put tasks on the back burner and
I kind of want them
L438[21:30:48]
<Z0idberg>
tasks being processes that are just one shot things that get
context switched instead of message queue based. They are useful
for doing things on behalf of a server so that a server process can
accept more messages and therefore create more tasks.
L439[21:31:07]
<Z0idberg>
Problem is, you depend on a task which may not be awaiting messages
to yield every so often
L440[21:31:43]
<Z0idberg>
If trotwood doesn't wake up processes that have nothing to do, this
has brought me to multiple ideas. One being that tasks have a
custom yield that if you have no parameters passed ends up sending
a blank message to itself?
L441[21:31:50]
<Z0idberg>
meaning that it just gets added to the end of the queue
L442[21:32:13]
<Z0idberg>
Another is to make the scheduler aware of tasks vs servers which I
don't like.
L443[21:32:53]
<Z0idberg>
I'd really like tasks and servers to just be end user programmer
library code
L444[21:33:08]
<Z0idberg>
meaning, here's some behavior and codebase framework for making
processes that follow this style
L445[21:33:24]
<Z0idberg>
allowing you to have processes that are effectively neither.
L446[21:47:11] <lunar_sam> i have to delve
into zorya's source again one day
L447[21:47:21] <lunar_sam> but first i'll
probably make either lcpio or a tsukinet implementation
L448[21:47:34] <lunar_sam> well first i
have to write a sane TNv2 draft, but w/e
L449[21:48:05] <lunar_sam> so i stop
having the good old "what the fuck am i doing" situation
whenever i try to start this project again
L450[22:13:11]
⇨ Joins: lordpipe (~ba7888b72@66.109.211.50)
L451[22:21:57] ⇦
Quits: Vexatos (~Vexatos@port-92-192-99-179.dynamic.as20676.net)
(Quit: Insert quantum chemistry joke here)
L452[23:14:11] ⇦
Quits: ben_mkiv (~ben_mkiv@2001:16b8:1ef6:9a00:fe34:97ff:fea9:75f2)
(Killed (NickServ (GHOST command used by
ben_mkiv|afk!~ben_mkiv@2001:16b8:1e89:1f00:fe34:97ff:fea9:75f2)))
L453[23:14:15]
⇨ Joins: ben_mkiv|afk
(~ben_mkiv@2001:16b8:1e89:1f00:fe34:97ff:fea9:75f2)
L454[23:46:52] ⇦
Quits: Hawk777 (~chead@2607:c000:827f:f200:e6d6:d666:419e:8aef)
(Quit: Leaving.)