<<Prev Next>> Scroll to Bottom
Stuff goes here
L1[00:05:00]
<BohemianHacks> at this point, I think the
safest way to do it is scan the chunk from one side before
entering, sweeping the camera at (0,0). This will get me a 2d
height map from that side. Then go to the highest block + 1. Scan
the whole chunk with the camera pointed down at (0,0). For all
natural blocks that should get me a realistic height map. Water
above sea level will still be an issue but geolyzer can pick that
up with its derpy high hardness
L2[00:11:12]
<BohemianHacks> idk, im one more hiccup
away from just using ocsensors
L3[00:11:42]
<BohemianHacks> trying really hard to be
"legit" but its seems artificially hard for some
things
L4[00:20:34]
<BohemianHacks> Anyone have any input on
ocsensors? do people feel its OP? does anyone care?
L5[01:05:47] <CompanionCube> %tonkout
L6[01:05:47] <MichiBot> Aw jeez!
CompanionCube! You beat Forecaster's previous record of 5 hours, 43
minutes and 42 seconds (By 5 hours, 53 minutes and 42 seconds)! I
hope you're happy!
L7[01:05:48] <MichiBot> CompanionCube has
stolen the tonkout! Tonk has been reset! They gained 0.011 tonk
points! plus 0.01 bonus points for consecutive hours! (Reduced to
50% because stealing) Current score: 1.66665
L8[01:06:14] <CompanionCube> %tonk
L9[01:06:14] <MichiBot> Jiminy Cricket!
CompanionCube! You beat Forecaster's previous record of 5 hours, 43
minutes and 42 seconds (By 5 hours, 54 minutes and 9 seconds)! I
hope you're happy!
L10[01:06:15] <MichiBot> CompanionCube's
new record is 11 hours, 37 minutes and 52 seconds! CompanionCube
also gained 0.0354 (0.0059 x 6) tonk points for stealing the
tonk.
L11[01:06:22] <CompanionCube> ...
L12[01:08:39] <asie> Impressive.
L13[01:09:03] <Caitlyn> huh...
L15[01:09:36] <Caitlyn> %tonkout
L16[01:09:36] <MichiBot> Jeepers! Caitlyn!
You beat Forecaster's previous record of 5 hours, 43 minutes and 42
seconds (By 5 hours, 57 minutes and 31 seconds)! I hope you're
happy!
L17[01:09:36]
<Ariri>
what..
L18[01:09:37] <MichiBot> Caitlyn has stolen
the tonkout! Tonk has been reset! They gained 0.011 tonk points!
plus 0.01 bonus points for consecutive hours! (Reduced to 50%
because stealing) Current score: 0.026
L19[01:09:44] <Caitlyn> %restart
L20[01:09:45] ⇦
Quits: MichiBot (MichiBot!~MichiBot@eos.pc-logix.com)
()
L21[01:09:48]
<Ariri>
lol
L22[01:10:08] ⇨
Joins: MichiBot (MichiBot!~MichiBot@eos.pc-logix.com)
L23[01:10:08] zsh
sets mode: +v on MichiBot
L24[01:10:16]
<Ariri>
MichiBad
L25[01:10:37] <Caitlyn> %tonk
L26[01:10:51] <MichiBot> Dagnabbit!
Caitlyn! You beat Forecaster's previous record of 5 hours, 43
minutes and 42 seconds (By 5 hours, 58 minutes and 45 seconds)! I
hope you're happy!
L27[01:10:52] <MichiBot> Caitlyn's new
record is 11 hours, 42 minutes and 28 seconds! Caitlyn also gained
0.03588 (0.00598 x 6) tonk points for stealing the tonk.
L28[01:11:05] <Izaya> CompanionCube: well
that's somewhere between concerning and horrifying
L29[01:11:08]
<Ariri>
Forecaster hacked it
L30[01:11:09] <CompanionCube> (side note:
IP-based licensing? That's going to suck for most non-vuisness
usage)
L31[01:11:22] <Caitlyn> %tonk
L32[01:11:23] <MichiBot> I'm sorry Caitlyn,
you were not able to beat Caitlyn's record of 11 hours, 42 minutes
and 28 seconds this time. 32 seconds were wasted! Missed by 11
hours, 41 minutes and 56 seconds!
L33[01:11:31]
<Ariri>
%blame @Forecaster
L34[01:11:32] *
MichiBot blames @Forecaster for bridge fees
L35[01:11:39] <Caitlyn> Good luck fuckers!
:p
L36[01:11:44] <Caitlyn> <3
L37[01:11:48]
<Ariri> lmao
MichiBot time travelling
L38[01:11:51] <CompanionCube> Caitlyn: you
stole my tonk :(
L39[01:12:05]
<Ariri>
%tonk
L40[01:12:16] <Caitlyn> 15 minute command
cooldown
L41[01:12:23]
<Ariri>
o
L43[01:31:33] <Izaya> caching proxies where
applicable :3
L44[01:33:54]
<FeherNeoH>
Oh, shared cache, the thing that breaks everything when servers
serve different files based on the referer
L45[01:34:12] <Izaya> why would they do
that
L46[01:40:27]
<FeherNeoH>
because some servers do
L47[01:40:54]
<FeherNeoH>
"Hey, you can use a customized version of our lib if you
register your site"
L48[01:45:20] <CompanionCube> sounds like
they are breaking it by serving different files under the same
URL
L50[01:45:45] <CompanionCube> Izaya:
decentraleyes, anyone?
L51[01:46:14] <Izaya> I was thinking uh,
fuckin, Disconnect
L52[01:46:18] <Izaya> the one that keeps
CDN files
L53[01:53:59] <CompanionCube> i think
that's what decentraleyes does
L54[02:00:47] ⇦
Quits: ben_mkiv (ben_mkiv!~ben_mkiv@i577BCFFD.versanet.de) (Ping
timeout: 202 seconds)
L55[02:09:58] ⇦
Quits: ba7888b72413a16a
(ba7888b72413a16a!~ba7888b72@66.109.211.150) (Ping timeout: 190
seconds)
L56[02:11:51] ⇨
Joins: ba7888b72413a16a
(ba7888b72413a16a!~ba7888b72@66.109.211.150)
L57[02:34:06] ⇦
Quits: CarlenWhite
(CarlenWhite!~CarlenWhi@25.sub-174-231-133.myvzw.com) (Ping
timeout: 198 seconds)
L58[02:39:41] ⇨
Joins: CarlenWhite
(CarlenWhite!~CarlenWhi@209.sub-174-231-1.myvzw.com)
L59[02:46:00]
<Forecaster>
%sip
L60[02:46:00] <MichiBot> You drink a
prickly rainbow potion (New!). It tastes sour.
L61[02:52:26] ⇦
Quits: {Opsimath}Shawn
({Opsimath}Shawn!~shawn156@c-76-25-73-212.hsd1.co.comcast.net)
(Read error: Connection reset by peer)
L62[02:57:39] <bpm140> %tonk
L63[02:57:40] <MichiBot> I'm sorry bpm140,
you were not able to beat Caitlyn's record of 11 hours, 42 minutes
and 28 seconds this time. 1 hour, 46 minutes and 17 seconds were
wasted! Missed by 9 hours, 56 minutes and 11 seconds!
L64[02:58:07] <bpm140> I really messed up
everything
L65[03:00:45]
<FeherNeoH>
%sip
L66[03:00:45] <MichiBot> You drink a
resonating rainbow potion (New!). FeherNeoH looks up and sees the
moon smile at them for a second.
L67[03:09:08] <Lizzy> %sip
L68[03:09:09] <MichiBot> You drink a porous
white potion (New!). Lizzy turns into an ocean lizard bear until
their next sip of water.
L69[03:09:17] <Lizzy> ffs MichiBot
L70[03:09:20] <Lizzy> %sip water
L71[03:09:20] <MichiBot> You drink some
water. Wait... this isn't water... it's a slimy yellow
potion!
L72[03:09:27] <Lizzy> %sip ^
L73[03:09:28] <MichiBot> Lizzy is suddenly
wearings gloves they don't remember putting on.
L74[03:09:34] *
Lizzy sighs
L76[03:12:44]
<FeherNeoH>
Oh, a Lizzy (ocean) lizard (bear)
L77[03:13:13] ⇨
Joins: ba7888b72413a16a
(ba7888b72413a16a!~ba7888b72@66.109.211.150)
L78[03:13:49] ⇨
Joins: bauen1
(bauen1!~bauen1@x59cc8206.dyn.telefonica.de)
L79[03:17:44]
<royalmustard> How do I decode utf8 to a
normal string?
L80[03:17:58]
<FeherNeoH>
UTF8 === normal string
L81[03:18:34]
<royalmustard> The problem is that when I
try to extract a number from the string with regex, it returns a
number that is not even in the string
L82[03:18:59]
<royalmustard> the string is
"len:40" and the regex returns 5
L83[03:19:31]
<FeherNeoH>
that sounds like it returns the position
L84[03:20:18]
<FeherNeoH>
what function do you use for it exactly?
L85[03:21:34]
<royalmustard> string.find
L86[03:21:43]
<royalmustard> oh
L87[03:22:26]
<Forecaster>
Lua doesn't have regex
L88[03:22:36]
<Forecaster>
if you want to use patterns though you want string.gmatch
L89[03:27:13]
<royalmustard> string.match worked
fine
L90[03:28:54] ⇦
Quits: bauen1 (bauen1!~bauen1@x59cc8206.dyn.telefonica.de) (Read
error: Connection reset by peer)
L91[03:54:03]
<Forecaster>
I forget what the difference between match and gmatch is
L92[04:04:39] <Izaya> global match
L93[04:09:31]
<Forecaster>
ah, so /regex/g
L94[05:08:29]
<BohemianHacks> welp, now ive hit the happy
wall of memory management. Figured that was coming at some point.
?
L95[05:09:12]
<BohemianHacks> Now to test a few different
versions of the path finding algorithm. First thing is to stop
using bloated vectors for each node.
L96[05:09:56]
<BohemianHacks> Also need to teach it to
climb, it can already avoid flying but doesn't pathfind up vertical
surfaces. So it spends a long time looking for stairs, and the path
gets huge.
L97[05:10:47]
<BohemianHacks> Might end up going back to
trying to premap the area and store it in a binary file in some
way, then just reference that file later.
L98[05:12:35] <Izaya> a table with a
metatable that actually r/ws to a file and keeps a cache in the
main table
L99[05:14:29]
<BohemianHacks> do you have an example of
that?
L100[05:15:34] <Izaya> not presently
L101[05:15:42] <Izaya> the closest I've
written is a table that is backed to the filesystem
L102[05:16:41]
<BohemianHacks> I was planning on just
doing file and treating it like a normal blob of memory with known
offsets
L103[05:16:55]
<BohemianHacks> then just do some index
calculation and seek to the right place
L104[05:17:48]
<BohemianHacks> even with lookup and
transmitting from a server it might be about the same speed as the
geolyzer is already ?
L105[05:18:23] <Izaya> big brain would be
using minitel RPC :^)
L106[05:18:27] <Izaya> man I should
like
L107[05:18:34] <Izaya> write the
non-embedded server for that
L108[05:19:39]
<BohemianHacks> still havent even messed
with minitel or networking lmfao
L109[05:19:57]
<BohemianHacks> other than using it for
gps
L110[05:20:19]
<BohemianHacks> been 100% sucked into the
autonomous pathfinding and colonizing of areas
L111[05:20:43]
<BohemianHacks> wouldnt think scanning and
clearing a chunk would be such a big thing, but here I am
L112[05:22:32] <Izaya> whatcha
clearing
L113[05:23:12]
<BohemianHacks> everything
L114[05:23:19] <Izaya> well that
works
L115[05:23:20] <Izaya> :D
L116[05:23:49]
<BohemianHacks> trying to make fully
autonomous robots/drones that build more robots and colonize the
world
L117[05:24:19]
<BohemianHacks> step 1 is clearing of
chunks and building infrastructure
L118[05:24:37]
<BohemianHacks> step 0 is reliable and
robust pathfinding and scanning of the world
L119[05:26:41] <Izaya> > The Linux 5.5
kernel due out as stable in early 2020 will finally have mainline
support for the MIPS-powered SGI Octane and Octane II workstations
that originally ran with SGI's IRIX operating system about two
decades ago...
L120[05:27:00]
<BohemianHacks> basically I want to be able
to start with a seed chunk that is flat and has a charger. the
robot will scan, flatten, mine, and build in the neighboring
chunks. Repeat until it has the resources and infrastructure to
make a new robot.
L121[05:28:28]
<BohemianHacks> added a couple custom
recipes for things like blaze powder, and it will have to build
various farms given a set of initial breeding stock. cows,
villagers, chickens
L122[05:28:36]
<BohemianHacks> trade with villagers to get
ender pearls
L123[05:28:58]
<BohemianHacks> tons of things to work out
for the whole project, but im trying to take it all piece by piece
so I dont lose my mind
L124[05:29:37] *
Izaya nods
L125[05:31:23] <Izaya> Hmm...
L126[05:31:49] <Izaya> To include the
functions for registering RPC servers as part of the RPC library,
or to have a separate daemon...
L127[05:32:00]
<FeherNeoH>
Maybe I should make some kind of pathfinder too
L128[05:32:47]
<BohemianHacks> the pathfinding itself isnt
too hard, its the data source and checking of valid locations
L129[05:33:08]
<BohemianHacks> would be super easy to
write for drones or with hover upgrade 2
L130[05:33:52]
<BohemianHacks> but im trying to get a
baseline here for the toughest case: moving into an unknown chunk
and preparing it for colonization
L131[05:34:11]
<BohemianHacks> could have trees, caves,
water, villages, mountains, etc
L132[05:35:01]
<FeherNeoH>
depending on the distance of it, I would probably use a 3d matrix
with step-count distances calculated
L133[05:35:21]
<FeherNeoH>
from destination to startpoint
L134[05:35:38]
<BohemianHacks> Im using standard a* for
the actual pathfinding
L135[05:35:57]
<BohemianHacks> and capping range at
geolyzer range, for obvious reasons
L136[05:36:05]
<FeherNeoH>
yeah
L137[05:36:34]
<BohemianHacks> cost calculation factors in
turning even
L138[05:36:42]
<FeherNeoH>
so every sub-movement would be ~24 blocks
L139[05:36:46]
<BohemianHacks> so it gives nice
straight/fast paths
L140[05:37:13]
<FeherNeoH>
oh, energy costs included?
L141[05:37:44]
<BohemianHacks> yeah, if you have used a*
it basically has a theoretical "cost" function that could
be anything
L142[05:37:59]
<BohemianHacks> basically how much does it
cost to go from one node to the next
L143[05:38:26]
<BohemianHacks> in that you can factor in
turning, digging, whatever really
L144[05:39:43]
<BohemianHacks> then the nodes are scored
based on cost + distance to the object, you sort the nodes in the
queue by that score and explore the neighbors from whatever is at
the top of the queue
L145[05:39:49]
<BohemianHacks> until you reach your
destination
L146[05:40:58]
<BohemianHacks> biggest issue so far is
just determining what nodes are pathable and now making it more
memory efficient for long complex paths
L147[05:43:08]
<BohemianHacks> anyways, thats enough
rambling and coding for today
L148[06:18:38]
<Forecaster>
%sip
L149[06:18:38] <MichiBot> You drink a dull
caterium potion (New!). The next remote Forecaster looks for is
extra hard to find.
L150[06:19:00]
<Forecaster>
Fortunately I know exactly where my remotes are
L151[06:23:16]
<FeherNeoH>
%sip
L152[06:23:17] <MichiBot> You drink a
sweet orange potion (New!). A bard behind FeherNeoH suddenly stops
playing. They were most likely eaten by a monster.
L153[07:08:29]
⇨ Joins: flappy
(flappy!~flappy@88-113-149-197.elisa-laajakaista.fi)
L154[07:16:05]
⇨ Joins: baschdel
(baschdel!~baschdel@2a02:6d40:3625:6601:54fe:4e96:d22f:897c)
L155[08:15:58] ⇦
Quits: phroa (phroa!~phroa@173.254.236.155) (Ping timeout: 190
seconds)
L156[08:20:01]
⇨ Joins: phroa (phroa!~phroa@173.254.236.155)
L157[08:27:47]
⇨ Joins: Inari
(Inari!~Pinkishu@pD9E8FB2B.dip0.t-ipconnect.de)
L158[08:28:26]
<Ariri>
%drink
L159[08:28:26] <MichiBot> You drink a
gloopy water potion (New!). A bard starts playing a lute behind
Ariri until their next sip of water.
L160[08:28:40]
<Ariri>
%drink water
L161[08:28:40] <MichiBot> You drink some
water. Wait... this isn't water... it's a runny green potion!
L162[08:28:47]
<FeherNeoH>
%sip
L163[08:28:47] <MichiBot> You drink a dull
dirt potion (New!). FeherNeoH's nose vanish until Sozin's Comet
returns.
L164[08:28:51]
<Ariri>
...
L165[08:29:08]
<Ariri>
michibot, never be a bartender
L166[08:29:24]
<FeherNeoH>
%sip runny green potion
L167[08:29:25] <MichiBot> FeherNeoH has no
memory of drinking a potion.
L168[09:11:29] ⇦
Quits: AdorableCatgirl
(AdorableCatgirl!~sam@pool-100-7-96-45.rcmdva.fios.verizon.net)
(Ping timeout: 206 seconds)
L169[09:17:50]
⇨ Joins: AdorableCatgirl
(AdorableCatgirl!~sam@pool-100-7-96-45.rcmdva.fios.verizon.net)
L170[09:43:47]
<Forecaster>
clearly michibot is an alchemist
L171[09:43:52]
<Forecaster>
%sip
L172[09:43:53] <MichiBot> You drink a
basic black potion (New!). Forecaster gains an extra strand of hair
on their face until they find true love.
L173[09:44:32]
<Forecaster>
fortunately I already have a face full of hair
L174[09:48:51] <Elfi> %quaff basic bitch
potion
L175[09:48:51] <MichiBot> This doesn't
seem to be a potion I recognize... Make sure it has an appearance
and consistency keyword, and the word "potion" in
it.
L176[09:49:01] <Elfi> It did nothing
because I already am one
L177[09:49:02] <Elfi> ¯\_(ツ)_/¯
L178[09:49:06] <Elfi> %quaff
L179[09:49:06] <MichiBot> You drink a
solid salmon potion (New!). Elfi gains knowledge about a random
useless subject.
L180[09:53:07]
<Forecaster>
I guess I should specify valid keywords :P
L181[10:03:02] <Elfi> Nah
L182[10:03:48] <Elfi> I do need to submit
a PR with the other starbound metals (or just set it to solarium)
and grathnode/parameno from AT but
L184[10:04:16]
<Forecaster>
I could do it, I have IDEA set up again now
L185[10:06:09] <Elfi> I guess?
L186[10:06:19] <Elfi> If you wanna.
L187[10:06:23]
<Forecaster>
what's AT though
L188[10:06:26] <Elfi> Ar tonelico.
L189[10:06:40]
<Forecaster>
dunno what that is
L190[10:12:53] <Elfi> It's a niche JRPG
series with fantastic worldbuilding
L191[10:13:25] <Elfi> It also has its
share of tacked-on fanservice but it's largely irrelevant to the
story. Except in Qoga, but we don't talk about Qoga.
L192[10:18:40] <Elfi> Story's nice despite
it though. Same with the lore.
L193[10:21:26]
⇨ Joins: bauen1
(bauen1!~bauen1@ipbcc03b58.dynamic.kabel-deutschland.de)
L194[10:25:33] <Elfi> I could probably go
on about why I don't like the fanservice, but Aquagon will
inevitably Kool-Aid Man through the wall, scream about how I'm
ruining the series for people by talking poorly about the
fanservice, and then block me without any awareness of his
hostility being what's turning people off from it
L196[10:26:00]
<Forecaster>
who's that?
L197[10:26:21] <Elfi> Kind of prominent
contributor to the AT fan community, but also *very* opinionated
and not very self-aware
L198[10:26:28]
<Forecaster>
ah
L199[10:26:36] <Elfi> He has a tendency to
search for AT posts on Twitter and argue with people.
L200[10:26:53]
<Forecaster>
sounds like a fun person
L201[10:27:10] <Caitlyn> Well, hopefully
they don't find the IRC logs.
L202[10:27:29]
<Forecaster>
does google index them? :P
L203[10:27:42] <Caitlyn> Yes,.
L204[10:27:48] <Caitlyn> s/,//
L205[10:27:49] <MichiBot> <Caitlyn>
Yes.
L206[10:28:37] <Caitlyn> let's
see...
L207[10:28:39] <Caitlyn> %g Ar tonelico
site:irclogs.pc-logix.com
L208[10:28:40] <MichiBot> Caitlyn: Search
failed
L209[10:28:42] <Caitlyn> nope.
L210[10:28:43] <Caitlyn> lol
L211[10:29:05] <Caitlyn> not sure how the
%g command works really
L212[10:29:15] <Caitlyn> but if you search
that string in google... you get 4 hits.
L213[10:29:36] <Caitlyn> Erm.. odd
L214[10:29:44] <Caitlyn> MichiBot's
inventory is still empty
L215[10:30:00] <Caitlyn> %inv add
Something
L216[10:30:00] *
MichiBot summons 'Something' and adds to her inventory. This seems
very sturdy.
L217[10:30:22] <Caitlyn> Ok, now it
works.. likely left over stupid from the wrong owner on the DB
file.
L218[10:30:28] <Caitlyn> had to restart so
the DB could write.
L219[10:30:31]
<Forecaster>
huh, the jenkins server isn't building my commit
L220[10:30:39] <Caitlyn> Give it a
minute
L221[10:30:55]
<Forecaster>
but it's been several minutes D:
L222[10:31:00] <Caitlyn> Give it an
hour
L223[10:31:39]
<Forecaster>
but it's been several hours D:
L224[10:31:42]
<Forecaster>
or wait, no
L225[10:32:28] <Caitlyn> Jenkins UI is
being super slow...
L226[10:32:32] <Caitlyn> and yet server
load is .25
L227[10:32:54] <Caitlyn> ```Your Jenkins
data directory /var/lib/jenkins (AKA JENKINS_HOME) is almost full.
You should act on it before it gets completely full. ```
L228[10:32:54]
<Forecaster>
huh
L229[10:32:55] <Caitlyn> Oh
L230[10:32:57] <Caitlyn> neat.
L232[10:33:28]
<Forecaster>
what is that from? Outer Worlds?
L233[10:33:30] <Caitlyn> ```/dev/sda1 280G
258G 7.9G 98% /```
L234[10:33:31] <Caitlyn> shit
L235[10:33:50]
<Forecaster>
ohno
L236[10:33:57] <AmandaC> @Forecaster
X4
L237[10:34:10]
<Forecaster>
ah
L238[10:34:17]
<Forecaster>
another game I intend to play :P
L239[10:34:38] <Caitlyn> waaaait..
L240[10:34:39] <Caitlyn> wat.
L241[10:34:48] <Caitlyn> ESXi panel says
that the primary disk is 400GB
L242[10:45:14] *
Caitlyn shanks gparted
L243[10:48:11]
<Forecaster>
poor gparted
L244[10:49:58] <Caitlyn> theres 100GB at
the end of this disk..
L245[10:50:00] ⇦
Quits: baschdel
(baschdel!~baschdel@2a02:6d40:3625:6601:54fe:4e96:d22f:897c) (Ping
timeout: 198 seconds)
L246[10:50:18] <Caitlyn> but I can't
extend the partition because the swap partition is between the
active, and the unallocated space
L247[10:50:32]
<Forecaster>
windows?
L248[10:51:07] <Caitlyn> Ubuntu
16.04
L249[10:51:27] <Caitlyn> swapoff:
/dev/sda5: swapoff failed: Cannot allocate memory
L250[10:51:30] *
Caitlyn flips table
L251[10:51:31] <Caitlyn> %table
L252[10:51:36] <Caitlyn> %fliptable
L253[10:51:36] <MichiBot> Caitlyn: (╯°□°)╯
┻━┻
L254[10:51:36]
<Forecaster>
I tried doing that a while ago on windows and found it wouldn't let
me do it unless the sectors were adjacent, I had to get a program
that could do it
L255[10:51:59] <Caitlyn> yeah, gparted is
being a little bitch cause swap is between the active and
unallocated
L256[10:55:11] <Elfi> How big is your
swap?
L257[10:55:12] <bauen1> Caitlyn: create a
new swap partition at the end, enable it then disable the old
one
L258[10:55:18] <Elfi> Yeah, I was about to
say.
L259[10:57:26] <Caitlyn> Oh... derp.
L260[11:01:45] <Caitlyn> @Forecaster I
manually kicked off the build, I'm not sure whats up..
L261[11:01:54]
⇨ Joins: baschdel
(baschdel!~baschdel@2a02:6d40:3625:6601:54fe:4e96:d22f:897c)
L262[11:02:13] <Caitlyn> (pending—Finished
waiting) Then... build it
L263[11:03:16]
<AdorableCatgirl> so
L264[11:03:25]
<AdorableCatgirl> i'm werking on my new
version of my lua preprocessor
L265[11:03:31]
<AdorableCatgirl> oh yeah, it's gamer
time
L267[11:06:05]
<Bob>
wtf
L268[11:06:10]
<AdorableCatgirl> cursed
L269[11:06:46] <AmandaC> Might be time to
buy a new graphics card. my RTX 980 isn't happy with this game it
seems
L270[11:08:40]
<Forecaster>
it complained about by GTX750 so I upgraded to a radeon RX570
L271[11:12:15]
<AdorableCatgirl> B)
L272[11:13:10] *
Inari feeds AmandaC a synthesized cheezburger
L273[11:13:51] *
AmandaC eyes Inari wearialy
L274[11:13:57] <Inari> What
L275[11:14:21] <AmandaC> I don't trust any
food you try and give me. Knowing you you sysnthesised it with fish
guts or something.
L276[11:15:08] <Inari> Even if I did, it's
still a proper cheeseburger
L277[11:25:06] <AmandaC> %8ball
pasta?
L278[11:25:06] <MichiBot> AmandaC: I don't
think that's a question...
L279[11:29:47] ⇦
Quits: cpw (cpw!~cpw@2607:f2c0:eb8a:500:983e:ecff:fe2a:4f7f) (Ping
timeout: 204 seconds)
L280[11:46:53] <Caitlyn> ```/dev/sda1 379G
258G 104G 72% /
L281[11:46:54] <Caitlyn> ```
L282[11:46:57] <Caitlyn> damn it
L283[11:46:59] *
Caitlyn mehs
L284[11:47:05] <Caitlyn> anyway 104GB is
better than 7~
L285[11:47:28] <Caitlyn> %restart
L286[11:47:39] ⇦
Quits: MichiBot (MichiBot!~MichiBot@eos.pc-logix.com)
()
L287[11:48:09]
⇨ Joins: MichiBot
(MichiBot!~MichiBot@eos.pc-logix.com)
L288[11:48:09]
zsh sets mode: +v on MichiBot
L289[12:04:31]
<Forecaster>
%sip
L290[12:04:32] <MichiBot> You drink a
resonating crimson potion (New!). Forecaster now knows how not to
be seen.
L291[12:06:03] ⇦
Quits: baschdel
(baschdel!~baschdel@2a02:6d40:3625:6601:54fe:4e96:d22f:897c) (Ping
timeout: 198 seconds)
L292[12:07:50]
<FeherNeoH>
%sip
L293[12:07:57] <MichiBot> You drink a
sedimented coral potion (New!). A genie appears out of the empty
bottle, turns it into a pie, then vanishes.
L294[12:08:35]
⇨ Joins: ben_mkiv
(ben_mkiv!~ben_mkiv@i577BCFFD.versanet.de)
L296[12:16:57] <Caitlyn> Oh... Movie
Night!
L297[12:17:00] <Caitlyn> It's the
5th
L298[12:28:16]
⇨ Joins: cpw
(cpw!~cpw@135-23-116-52.cpe.pppoe.ca)
L299[12:32:53]
⇨ Joins: baschdel
(baschdel!~baschdel@2a02:6d40:3625:6601:54fe:4e96:d22f:897c)
L300[12:34:03] ⇦
Quits: cpw (cpw!~cpw@135-23-116-52.cpe.pppoe.ca) (Ping timeout: 202
seconds)
L301[12:36:46] <bauen1> os.clock() is
seperate per computer, right ?
L302[12:37:33]
⇨ Joins: Vexatos
(Vexatos!~Vexatos@port-92-192-228-195.dynamic.qsc.de)
L303[12:37:33]
zsh sets mode: +v on Vexatos
L304[12:38:24]
<Ocawesome101> @Forecaster lmao
L305[12:38:46]
<Bob> its
the time frm the launch of the program
L306[12:38:49]
<Bob> or PC
i don't recall
L307[12:38:56]
<Bob> and
yes its individual
L308[12:38:59]
<Forecaster>
it's per computer yes
L309[12:39:01]
<Bob>
os.time is shared
L310[12:39:20]
<Forecaster>
time is the world time
L311[12:39:26]
<Forecaster>
clock is the computer uptime
L312[12:39:31]
⇨ Joins: cpw
(cpw!~cpw@69-165-220-173.dsl.teksavvy.com)
L313[12:59:12] <bauen1> nice
L314[13:08:25] <Caitlyn> %juggle
L315[13:08:25] *
MichiBot juggles with Something
L316[13:08:26] *
MichiBot doesn't drop anything
L317[13:08:27] <MichiBot> In yo
face!
L318[13:08:35] <Caitlyn> %inv add
Anything
L319[13:08:36] *
MichiBot summons 'Anything' and adds to her inventory. I could get
some good swings in with this.
L320[13:08:41] <Caitlyn> %juggle
L321[13:08:42] *
MichiBot juggles with Anything, & Something
L322[13:08:43] *
MichiBot doesn't drop anything
L323[13:08:44] <MichiBot> I'm
awesome!
L324[13:08:54] <Caitlyn> Well... did you
drop something instead?!
L325[13:28:18] *
Inari hands Elfi a synthesized raisin
L326[13:32:56]
<AdorableCatgirl> my lua pre+postprocessor
can now compile itself
L327[13:32:57]
<AdorableCatgirl> hell hel
L328[13:32:59]
<AdorableCatgirl> *yeah
L329[13:33:01] ⇦
Quits: ben_mkiv (ben_mkiv!~ben_mkiv@i577BCFFD.versanet.de) (Killed
(NickServ (GHOST command used by
ben_mkiv|afk!~ben_mkiv@88.130.156.105)))
L330[13:33:07]
⇨ Joins: ben_mkiv|afk
(ben_mkiv|afk!~ben_mkiv@88.130.156.105)
L331[13:34:35] <Inari> %sip
L332[13:34:35] <MichiBot> You drink a
boiling purple potion (New!). Inari's favourite cup is now upside
down.
L333[13:34:48] <Inari> %ohno
L334[13:34:49] <MichiBot> Inari:
ohno
L335[14:00:55] <Caitlyn> Ooof...
L336[14:01:10] <Caitlyn> Tried to add RAM
to one of my VMs, got told I need a $4,000 license to do so.
L337[14:01:44] <Inari> Hah
L338[14:01:49]
<Forecaster>
haha what
L339[14:02:11] <Caitlyn> Yep, hotswapping
VM Hardware requires a $4,000 ESXi license.
L340[14:03:52] <bauen1> come to libvirt,
we have cookies ...
L341[14:04:13] <Caitlyn> Funny enough, I
left libvirt, for this :P
L342[14:04:24] <bauen1> why would you
leave ._.
L343[14:04:36] <Caitlyn> When I got my new
dedi, I just slapped the prebuilt ESXi image on it cause I needed
box now
L344[14:12:27] <stephan48> bauen1: you
can't really add more ram to a libvirt/qemu VM
L345[14:12:54] <stephan48> you can just
adjust between min/max ram but maxmemory must be set correctly
before VM start
L346[14:13:17] <Inari> I still do'nt
understand why laptops don't come with cameras that have a physical
switch
L347[14:13:34] <stephan48> they do...
screwdriver and a hammer to the cameras eye
L348[14:13:44] <Inari> I mean
L349[14:13:49] <stephan48> but if you are
intelligent and set a sensible value for maxmemory with some room
for the future you are good to go
L350[14:13:50] <Inari> Thats clunky and
does'nt sound easily switchable
L351[14:13:51] <Inari> :P
L352[14:14:00] <stephan48> naaaah
L353[14:14:03] <stephan48> depends on your
usecase
L354[14:14:21] <Inari> Using the camera
when I need it, but knowing it won't be used when I don't want to
use it?
L355[14:14:30]
<FeherNeoH>
Inari: just put a switch on the USB power lane of the webcam if you
are that concerned
L356[14:14:47] <Inari> @FeherNeoH sounds
hard
L357[14:15:02]
<FeherNeoH>
personally I just disable the driver if not needed
L358[14:15:27] <Inari> I just see lots of
people sticking something on them, then removing it when they use
it, then sticking it back on
L359[14:15:31] <Inari> Seems
unnecessary
L360[14:15:35] <Inari> Why not have a
switch
L361[14:15:54]
<FeherNeoH>
again, just disable the driver
L363[14:16:33] <Inari> I don't think most
people are competent enough for that
L364[14:16:40] <Inari> Plus, what prevents
some software from re-enabling it?
L365[14:17:01]
<FeherNeoH>
are you looking for a solution for "most people" or
yourself?
L366[14:17:19] <Inari> Both
L367[14:17:27] <Inari> A solution for most
people will naturally includ eme
L368[14:17:27] <Inari> :p
L369[14:17:29]
<AdorableCatgirl> OH
L370[14:17:35]
<AdorableCatgirl> and don't minify
luacomp
L371[14:17:45]
<AdorableCatgirl> i dunno why, but it
royally fucks itself
L372[14:17:52]
<FeherNeoH>
Most people would even unable to use the switch method even if it
was built-in
L373[14:18:10]
<FeherNeoH>
I mean
L374[14:18:22] <Inari> How so?
L375[14:18:29]
<FeherNeoH>
I had people bringing laptops to me complaining that the webcam was
broken
L376[14:18:35]
<FeherNeoH>
when it was just taped over
L377[14:18:35] <Inari> People seem capable
of moving a little thing left and right
L378[14:18:57]
<FeherNeoH>
people are incapable of realizing they have to move a switch
L379[14:19:16] <Inari> If they're that
incapable, I'm not sure how they manage to use a computer in the
first place
L380[14:19:27]
<FeherNeoH>
I'm not sure either
L381[14:19:59]
<FeherNeoH>
but seeing the mess on some people's PCs... They can't use them,
they only abuse them
L382[14:20:53]
<FeherNeoH>
too many people still believe that if something doesn't work the
way they expect it to work, then hitting it helps
L383[14:20:56] <Inari> Anyway, a physical
switch is the most secure way imo
L384[14:21:07] *
stephan48 hits the wallsocket
L385[14:21:15]
<FeherNeoH>
most secure way is an external webcam you can just unplug
L386[14:21:35] <stephan48> abuse is a form
of usage too
L387[14:21:52] <Inari> It's right in the
word
L388[14:21:58] <Inari> ab\buse\b
L389[14:22:01] <Inari> The heck
L390[14:22:10] <Inari> You're supposed to
stick a bold thing not \b, pls
L391[14:22:51]
<FeherNeoH>
here is my other "secure webcam" method
L393[14:23:04]
<FeherNeoH>
"not having a driver"
L394[14:23:19] <Inari> I mean
L395[14:23:23]
<Forecaster>
or you can just do what I do and not care :D
L396[14:23:28] <Inari> Thats cool and all,
but most laptop webcams are built in
L397[14:23:41]
<FeherNeoH>
don't buy laptops
L398[14:24:03]
<FeherNeoH>
I mean, a lot of those have soldered RAM/SSD
L399[14:24:05] <Inari> Right....
L400[14:24:12] <Inari> What would you buy
instead :P
L401[14:24:13]
<FeherNeoH>
and 99.9% of them has soldered CPU
L402[14:24:29]
<FeherNeoH>
anything I can swap the components of
L403[14:24:39]
<FeherNeoH>
like 6yo+ laptops
L404[14:24:53] <Inari> I mean, I don't
particularily care about swapping its components I guess
L405[14:24:58] <Inari> And I want it to be
like
L406[14:24:59] <Inari> Not bad
L407[14:25:00] <Inari> :p
L408[14:25:33]
<FeherNeoH>
I wouldn't care either if I didn't know the pain of losing all my
data because of dead RAM
L409[14:25:44] <Inari> How does that
work
L410[14:26:03]
<FeherNeoH>
because noone even tries unsoldering the freaking SSD or replacing
the RAM
L411[14:26:18] <Inari> I mean, seems easy
enough for the SSD at least
L412[14:26:21] <Inari> Plus...
backups?
L413[14:27:14]
<FeherNeoH>
I do have backups of SOME stuff, not everything
L415[14:27:47]
<FeherNeoH>
I mean, having n pieces of 10TB drives lying around just for
storing the backups would be a pain
L416[14:28:29]
<FeherNeoH>
Just don't make me lose data unless it's the storage that
dies
L417[14:28:40]
<FeherNeoH>
onboard SSD makes this difficult
L418[14:28:55]
<FeherNeoH>
and then pair it with onboard RAM and onboard CPU
L419[14:29:28]
<FeherNeoH>
good luck getting every chip of the SSD over to a compatible
board
L420[14:30:08]
<Forecaster>
yeah the thing is that most consumers don't care about any of that,
so putting down the expense of having swappable parts is not worth
it for the manufacturers :P
L421[14:30:35]
<Forecaster>
they'd rather make them as compact as possible instead
L422[14:30:58] <Inari> Backblaze it
L423[14:30:59] <Inari> :D
L424[14:31:14]
<Forecaster>
%sip
L425[14:31:15] <MichiBot> You drink a
porous aluminium potion (New!). Forecaster has no memory of
drinking a potion.
L426[14:31:51]
<FeherNeoH>
@Forecaster does the same apply here too?
L429[14:32:15]
<Forecaster>
I don't know what that is
L430[14:32:17]
<Forecaster>
%tonkout
L431[14:32:18] <MichiBot> I'm sorry
Forecaster, you were not able to beat Caitlyn's record of 11 hours,
42 minutes and 28 seconds this time. 11 hours, 34 minutes and 38
seconds were wasted! Missed by 7 minutes and 50 seconds!
L432[14:32:23]
<Forecaster>
dammit
L433[14:32:27] <CompanionCube> goddammit
Forecaster
L434[14:32:28]
<Forecaster>
D:<
L435[14:32:49]
<FeherNeoH>
a server, with second CPU slot and the RAM slots for that not
soldered on
L436[14:33:02]
<FeherNeoH>
one would expect servers to be expandable
L437[14:33:18] <Inari> Don't you usually
expand servers by adding a second blade
L438[14:33:58] <Caitlyn> Ouch...
L439[14:34:52]
<FeherNeoH>
I have single-CPU configs here with same model having dual-CPU
option too
L440[14:35:03]
<FeherNeoH>
the boards DO have the secondary slots
L441[14:35:57]
<BohemianHacks> @Forecaster thats probably
the most painful fail I have seen
L442[14:36:08]
<Forecaster>
there have been closer ones
L443[14:36:24]
<Forecaster>
pretty sure Caitlyn holds the record for that with seconds :P
L444[14:36:25]
<BohemianHacks> off by <10 minutes with
an almost 12 hour count
L445[14:37:02]
<AdorableCatgirl> >make a useful
thing
L446[14:37:05]
<AdorableCatgirl> >nobody cares
L447[14:37:10]
<AdorableCatgirl> ?
L448[14:37:19]
<BohemianHacks> Why are you making useful
things?
L449[14:37:29]
<AdorableCatgirl> because i don't like
writing a lot of code
L450[14:37:35]
<AdorableCatgirl> so i wrote a lot of code
to write less code
L451[14:37:36]
<Forecaster>
it's not useful to me, sorry
L453[14:38:05]
<BohemianHacks> not sure what you made
@AdorableCatgirl
L454[14:38:08]
<AdorableCatgirl> my big thing would be the
macros <3
L455[14:38:40]
<BohemianHacks> thats vaguely useful for me
and actually something I was going to look for soon
L456[14:38:48]
<BohemianHacks> mostly for drones
L457[14:39:01]
<AdorableCatgirl> Preprocessor made w/ Lua
that lets you use Lua code for --did you say "useful for
drones"
L458[14:39:04]
<AdorableCatgirl> because if so
L459[14:39:06]
<AdorableCatgirl> i have the mod for
you
L461[14:40:09]
<BohemianHacks> I dont understand what that
is for
L462[14:40:32]
<BohemianHacks> just more memory in drones
by taking up a card slot?
L463[14:41:50]
<BohemianHacks> oh hey, this is exactly
what I was wondering about for keeping code for drones clean:
--#include "world.lua"
L464[14:41:53]
<BohemianHacks> thats pretty handy
L465[14:42:14] ⇦
Quits: nos (nos!~nos@dsl-hkibng41-56730a-6.dhcp.inet.fi) (Remote
host closed the connection)
L466[14:42:45]
<AdorableCatgirl> well yeah, it adds a lot*
more storage to a drone/uC/whatever else
L467[14:42:47]
<AdorableCatgirl> @BohemianHacks
L468[14:42:59]
<AdorableCatgirl> anywhere from 64k to
128k
L469[14:43:08]
<BohemianHacks> If forced I might do that,
but for now I try to stay "vanilla"
L470[14:43:27]
<BohemianHacks> until frustration > fun
I try not to deviate
L471[14:43:35]
<AdorableCatgirl> I came up with it so I
could put PsychOS 2 on a uC :P
L472[14:43:57]
<BohemianHacks> can you boot over network
or something?
L473[14:44:05]
<BohemianHacks> load the OS into ram
L474[14:44:18]
<AdorableCatgirl> one could comma but
L475[14:45:09]
<BohemianHacks> also i have basically 0
knowledge of existing utilities on opencomputers
L476[14:45:40]
<BohemianHacks> I only recently switched
from computercraft and mostly write my own stuff. Im probably going
to mess with minitel because I don't feel like writing a networking
stack again
L477[14:45:51]
<AdorableCatgirl> minitel is great
L478[14:45:56]
<AdorableCatgirl> Izaya:
L479[14:46:03]
<AdorableCatgirl> oops
L480[14:46:08]
<AdorableCatgirl> anyways it's time to
shill minitel
L481[14:46:15]
<Kleadron>
*what have you done8
L482[14:46:17]
<Kleadron>
*what have you done* [Edited]
L484[14:47:09]
<BohemianHacks> not sure what other OSes
offer that openos doesnt
L485[14:47:17]
<BohemianHacks> so havent really looked at
them
L486[14:47:32]
<BohemianHacks> I use an external editor
and mostly mess with robots and drones
L487[14:47:51]
<AdorableCatgirl> well
L488[14:47:58]
<AdorableCatgirl> minitel can fit into
64K
L489[14:48:08]
<AdorableCatgirl> *PsychOS
L490[14:48:20]
<AdorableCatgirl> i mean minitel can too,
and it's included in PsychOS
L491[14:48:44]
<BohemianHacks> so its smaller?
L492[14:49:15]
<AdorableCatgirl> yea
L493[14:49:19]
<AdorableCatgirl> much
L494[14:49:31]
<AdorableCatgirl> OpenOS is like 350K last
time i checked?
L495[14:49:36]
<AdorableCatgirl> or was it 300K?
L496[14:50:49]
<AdorableCatgirl> now the really cool stuff
is custom BIOSes
L497[14:50:49]
<BohemianHacks> might give it a go
then
L498[14:51:07]
<BohemianHacks> yeah i was watching the js
one a little
L499[14:51:15]
<AdorableCatgirl> that's
architectures
L500[14:51:32]
<BohemianHacks> oh
L501[14:52:22]
<BohemianHacks> was thinking lua bios you
craft in game, but you are right
L502[14:52:45]
<AdorableCatgirl> i mean the lua bios is
the bios
L503[14:52:52]
<AdorableCatgirl> but there's others
L504[14:53:01]
<AdorableCatgirl> like openloader and
zorya
L505[14:53:15]
<BohemianHacks> i mean technically all the
drone code is a bios ?
L506[14:53:22]
<AdorableCatgirl> fair nuff
L507[14:53:43]
<BohemianHacks> what do the other ones
offer?
L508[14:54:07]
<AdorableCatgirl> openloader can let you
install multiple OSes at once
L509[14:54:43]
<AdorableCatgirl> zorya can let you boot
more advanced OSes
L510[14:54:56]
<AdorableCatgirl> tho zorya is memory
hungry and requires a tiny bit of HDD space
L511[14:55:05]
<AdorableCatgirl> on the upside, it looks
like GRUB
L512[14:55:14]
<BohemianHacks> thats kinda neat
L513[14:55:28]
<BohemianHacks> what are "more
advanced OSes"
L515[14:56:15]
<AdorableCatgirl> oh, like Fuchas (tho
fuchas comes with it's own loader too)
L516[14:56:38]
<BohemianHacks> I feel like im polling an
information console ?
L517[14:56:42]
<AdorableCatgirl> and my own OS
L518[14:56:45]
<AdorableCatgirl> but
L519[14:56:51]
<AdorableCatgirl> my OS isn't ready
yet
L520[14:56:53]
<AdorableCatgirl> kek
L522[14:57:09]
<AdorableCatgirl> i'm just here to S H I L
L
L523[15:03:03] <bauen1> my os (also not
ready yet) will feature a more sane vt100 implementation (already
working) and a sandbox for userspace programs
L524[15:04:01] <bauen1> and you can
(technically) pass around handles between programs (handles can be
files, processes, sockets)
L525[15:13:19]
<BohemianHacks> @AdorableCatgirl shill me
something that gives better memory managed types ?
L526[15:13:34]
<BohemianHacks> tables just eat all the
ram
L527[15:14:13]
<AdorableCatgirl> f
L528[15:15:02]
<Forecaster>
serialize the tables to strings! :D
L529[15:15:03]
<BohemianHacks> probably going to end up
using something that using strings as binary blobs and maps
them
L530[15:15:30]
<BohemianHacks> @Forecaster that +1
L531[15:16:21]
<BohemianHacks> basically skipping the
whole tabling process at all and just have a string of a set
length. index the characters and convert.
L532[15:17:04]
<BohemianHacks> should be a little more
efficient for numbers and stuff and avoid parsing a a whole string
-> table back and forth
L533[15:18:53] ⇦
Quits: Izaya (Izaya!~izaya@210-1-218-92-cpe.spintel.net.au) (Ping
timeout: 190 seconds)
L534[15:22:21]
⇨ Joins: Izaya (Izaya!~izaya@210.1.218.92)
L535[15:22:49]
<AdorableCatgirl> Izaya: ?
L536[15:22:51]
⇨ Joins: nos
(nos!~nos@dsl-hkibng41-56730a-6.dhcp.inet.fi)
L537[15:31:59] ⇦
Quits: MajGenRelativity
(MajGenRelativity!~MajGenRel@c-73-123-203-209.hsd1.ma.comcast.net)
(Quit: Leaving)
L538[15:48:13]
<AdorableCatgirl> i wonder if luacomp would
work in OpenOS
L539[15:49:20]
⇨ Joins: MajGenRelativity
(MajGenRelativity!~MajGenRel@c-73-123-203-209.hsd1.ma.comcast.net)
L540[15:54:39] ⇦
Quits: baschdel
(baschdel!~baschdel@2a02:6d40:3625:6601:54fe:4e96:d22f:897c) (Ping
timeout: 198 seconds)
L541[16:52:57] ⇦
Quits: ben_mkiv|afk (ben_mkiv|afk!~ben_mkiv@88.130.156.105) (Remote
host closed the connection)
L542[17:02:04]
<BohemianHacks> "Strings in Lua are
immutable."
L543[17:02:13]
<BohemianHacks> Why does this language hate
me so much.
L544[17:02:18]
<BohemianHacks> Why does this language hate
me so much? [Edited]
L545[17:06:40] <AmandaC> Don't be
silly
L546[17:07:01] <AmandaC> It doesn't hate
you, it hates itself and is taking it out on you
L547[17:07:59] ⇦
Quits: bauen1
(bauen1!~bauen1@ipbcc03b58.dynamic.kabel-deutschland.de) (Ping
timeout: 204 seconds)
L548[17:08:40]
<BohemianHacks> new plan: use bitwise
operators to treat a number like a binary blob
L549[17:10:04] <AmandaC> Numbers are
binary blobs
L550[17:10:14]
<BohemianHacks> exactly
L551[17:10:28]
<BohemianHacks> but I mean for more
efficiently storing non-numbers
L552[17:10:59]
<BohemianHacks> at this point I feel like
im implementing shitty C inside lua, which is running inside
java
L553[17:11:50] <AmandaC> If it makes you
feel any better, by default oc doesn't use a Java Lua vm
L554[17:13:03]
⇨ Joins: bauen1
(bauen1!~bauen1@ipbcc03b58.dynamic.kabel-deutschland.de)
L555[17:13:09]
<BohemianHacks> thats good, the meta was
poised to kill me
L556[17:13:31] <AmandaC> %inv list
L558[17:14:00] <AmandaC> %give MichiBot
grandma's glass eyeball
L559[17:14:00] *
MichiBot accepts grandma's glass eyeball and adds it to her
inventory
L560[17:14:21] <AmandaC> %give MichiBot
80lbs of drywall
L561[17:14:21] *
MichiBot accepts 80lbs of drywall and adds it to her
inventory
L562[17:14:53] <AmandaC> %give MichiBot
every single item from the March issue of skymall
L563[17:14:53] *
MichiBot accepts every single item from the March issue of skymall
and adds it to her inventory
L564[17:15:00]
<BohemianHacks> %give purpose
L565[17:15:00] *
MichiBot searches through her inventory for a bit. "I couldn't
find anything..."
L566[17:15:27]
<BohemianHacks> me too Michibot, me
too
L567[17:15:50]
<BohemianHacks> %give MichiBot
purpose
L568[17:15:51] *
MichiBot accepts purpose and adds it to her inventory
L570[17:25:18] <Lizzy> %invadd a soggy
sock
L571[17:25:25] <Lizzy> %inv add a soggy
sock
L572[17:25:25] *
MichiBot summons 'a soggy sock' and adds to her inventory. I could
get some good swings in with this.
L573[17:25:52] <Lizzy> %inv add Season 3
of Brexit
L574[17:25:53] *
MichiBot summons 'Season 3 of Brexit' and adds to her inventory. I
could get some good swings in with this.
L575[17:25:56]
<Forecaster>
%juggle
L576[17:25:56] *
MichiBot juggles with every single item from the March issue of
skymall, Something, & a soggy sock
L577[17:25:57] *
MichiBot drops Something which takes 3 damage
L578[17:25:58] *
MichiBot drops a soggy sock which takes 4 damage
L579[17:25:59] <MichiBot> I didn't do
it!
L580[17:36:23] ⇦
Quits: flappy (flappy!~flappy@88-113-149-197.elisa-laajakaista.fi)
(Ping timeout: 190 seconds)
L581[17:42:07]
⇨ Joins: flappy
(flappy!~flappy@88-113-149-197.elisa-laajakaista.fi)
L583[17:49:49] ⇦
Quits: Vexatos
(Vexatos!~Vexatos@port-92-192-228-195.dynamic.qsc.de) (Quit: Insert
quantum chemistry joke here)
L584[17:51:01]
<The_Stargazer> wait, what happened to
michibot's inventory
L585[17:51:07]
<The_Stargazer> was it reset or
something?
L586[17:57:03]
⇨ Joins: schloops
(schloops!webchat@d51A4D275.access.telenet.be)
L587[17:58:28] <AmandaC> Yup
L588[18:01:21] <Caitlyn> Yep, flushed the
table, and then saved over the copy I had made..
L589[18:01:25] <Caitlyn> then uploaded
over the original.
L590[18:01:55] <CompanionCube> shame about
no backups :(
L592[18:03:25]
<AdorableCatgirl> sin
L593[18:04:13]
<BohemianHacks> so numbers can only be
shift filled with 32 bits. Its looking like the most memory
efficient way I can store data is a 1d array of numbers.
L594[18:04:50]
<BohemianHacks> wont bother flattening the
table when stored to disk, ill just use the normal
serialization
L595[18:05:08]
<AdorableCatgirl> wait wot
L596[18:05:40]
<AdorableCatgirl> the fuck you on
about
L597[18:06:01]
<BohemianHacks> filling an array with
bitwise manipulated numbers to save ram
L598[18:06:05]
<AdorableCatgirl> i mean like
L599[18:06:14]
<AdorableCatgirl> are you on Lua 5.2 or
5.3
L600[18:06:28]
<BohemianHacks> whatever 1.12 OC is
L601[18:06:37]
<BohemianHacks> it has bit32 baked in
L602[18:06:39]
<AdorableCatgirl> it can have both
L603[18:06:42]
<AdorableCatgirl> and both do
L604[18:06:43]
<AdorableCatgirl> uh
L605[18:06:54]
<AdorableCatgirl> did you take the CPU out
of the creative menu?
L606[18:07:02]
<BohemianHacks> nope
L607[18:07:06]
<AdorableCatgirl> so
L608[18:07:11]
<AdorableCatgirl> you crafted the CPU,
correct?
L609[18:07:14]
<BohemianHacks> lua 5.2
L610[18:07:17]
<AdorableCatgirl> yeah
L611[18:07:26]
<BohemianHacks> I used transmutation
tablet
L612[18:07:30]
<AdorableCatgirl> lua 5.3 has 64-bit
ints
L613[18:07:51]
<BohemianHacks> same answer either way
though
L615[18:08:07]
<BohemianHacks> if I need to store a chunks
worth of pathing data
L616[18:08:25]
<BohemianHacks> so if I craft a cpu i get
5.3?
L617[18:08:31]
<AdorableCatgirl> i mean
L618[18:08:38]
<AdorableCatgirl> you can just take the CPU
out and shift click it
L619[18:09:14]
<BohemianHacks> wtf is this sorcery
L620[18:09:34]
<BohemianHacks> well shit, that made my
life way easier
L621[18:09:39]
<AdorableCatgirl> yea
L622[18:09:43] ⇦
Quits: flappy (flappy!~flappy@88-113-149-197.elisa-laajakaista.fi)
(Ping timeout: 190 seconds)
L623[18:09:47]
<BohemianHacks> i was using the stupid
bit32.rshift()
L625[18:09:56]
<AdorableCatgirl> hackerman
L626[18:10:20]
<BohemianHacks> not gonna lie, I have no
idea the advantage of the macro approach you have been doin
L628[18:14:47] <schloops> hi all; in my
launcher file, I have shell.setPath(shell.getPath() ..
":/home/wincraft") and then I require "xxx" and
there's a correct xxx.lua file in /home/wincraft and I get the
error message: module 'xxx' not found and in the error stack, I see
it isn't looking in /home/wincraft -- a'm I doing something
wrong?
L629[18:16:18] <Soni> why not use
tmpfs?
L630[18:16:48] <schloops> I've printed
shell.getPath() and it shows :/home/wincraft at the end of the
path
L631[18:17:10] <schloops> ignorance I
guess? Lemme check what that is :)
L632[18:17:52]
<BohemianHacks> @AdorableCatgirl 5.3 has
made suicide less likely. thank you
L633[18:18:07]
<BohemianHacks> stupidly easy to cram bytes
into things now
L634[18:19:28] <Soni> ... am I the only
person who uses tmpfs files as modifiable byte buffers?
L635[18:22:29] <schloops> how a'm I
supposed to modify the paths where lua looks for modules to require
please?
L636[18:24:48]
<BohemianHacks> Soni, was that to me?
L637[18:24:57] <Soni> yes
L638[18:25:43]
<BohemianHacks> Havent messed with it
L639[18:26:30]
<BohemianHacks> not really seeing any
documentation on it
L640[18:26:58]
<BohemianHacks> if you just mean using a
file and seeking around it in, im working up to that point
yes
L641[18:27:49]
<BohemianHacks> Just not sure how fast HDD
r/w really is, so the longer I can stay in ram the better
L642[18:29:55] <Soni> it's not very
documented but basically just use /tmp/
L643[18:30:42]
<BohemianHacks> yeah, makes sense for some
stuff. If my pathing is still a memory hog I may use it, but for
the actual scan data I want to store it for later anyways
L644[18:31:10]
<BohemianHacks> some long complex paths
have generated queues of like 2k nodes
L645[18:34:06] <Soni> in real life tmpfs
is variable-size and basically fills RAM, but in OC it is separate
from installed RAM because OC
L646[18:34:14] <Soni> idk about perf
L647[18:36:31]
<BohemianHacks> I was wondering about a way
to get swap, so this is probably as close as it gets.
L648[18:37:12]
<BohemianHacks> its is just stored in some
quasi extra dimensional storage or does it exist on disk
somewhere?
L649[18:38:17] <Soni> it's stored in
RAM
L650[18:41:17]
<BohemianHacks> but not the installed
RAM
L651[18:41:26]
<BohemianHacks> so... quasi dimensional
storage
L652[18:41:57] <Soni> not the
"in-game RAM"
L653[18:42:20] <Soni> it uses java RAM
instead of lua RAM
L654[18:42:30]
<BohemianHacks> Nothing outside that
exists, dont break my immersion ?
L656[18:42:51] <Soni> I'm the one putting
a digital audio workstation in a voxel game
L657[18:42:58] <Soni> I'll break however
many immersions I want to :p
L658[18:44:04] <Soni> (I'd even argue that
increases the immersion, because you get to interface the game with
real life stuff)
L659[18:44:21] <Soni> (i.e. you feel more
inside the game)
L660[18:49:52]
<BohemianHacks> game is life
L661[18:51:02] ⇦
Quits: ATMunn (ATMunn!ATMunn@hellomouse.net) (Quit: lol
rip)
L662[18:54:21]
⇨ Joins: ATMunn (ATMunn!ATMunn@hellomouse.net)
L663[19:00:35] ⇦
Quits: schloops (schloops!webchat@d51A4D275.access.telenet.be)
(Quit: webchat.esper.net)
L664[19:15:02] <Izaya> Afternoon,
nerds
L665[19:15:51]
<AdorableCatgirl> sup nerd
L666[19:16:07]
<AdorableCatgirl> are you ready for an all
new and improved version of luapreproc that i've spammed you with
all day
L667[19:23:18]
<BohemianHacks> I prefer the old one
L668[19:27:14]
⇨ Joins: BlueAgent
(BlueAgent!~BlueAgent@110.146.209.71)
L669[19:50:19] <AmandaC> meowfternoon,
Izaya
L671[19:51:52] <MichiBot>
Title:
Lua /tmp should be as fast as messing about with tables, and files
in it should count towards memory limit
| Posted by: SoniEx2
| Posted: Tue Nov 05 18:38:56 CST 2019
| Status:
closed
L672[19:52:25] <Soni> all my issues get
insta-closed for the most senseless reasons and it sucks
L673[19:53:12] <Izaya> If you want RAM
speed tmpfs, implement a tmpfs in RAM
L674[19:53:35] ⇦
Quits: Thutmose (Thutmose!~Patrick@host-69-59-79-181.nctv.com)
(Quit: Leaving.)
L675[19:54:04] <Izaya> The speed
limitations are due to being a component
L676[19:54:14]
<AdorableCatgirl> that and balance
L677[19:55:00] <Soni> so allow components
to run in-thread and ignore the speed limitations if they opt-in to
it
L678[19:55:37] *
Izaya gives Soni vcomponent
L679[19:55:55]
<AdorableCatgirl> my mod's EEPROMs run as
fast as possible lmao
L680[19:57:00]
<AdorableCatgirl> read, that is
L681[19:57:06] <Soni> or just give us a
"raw memory" object that can be resized as needed and is
freely modifiable and is basically a ByteBuffer that counts towards
the memory cap
L682[19:57:38] <Soni> why does RAM not
have "speed limitations due to being a component" while
everything else does?
L683[19:58:14]
<AdorableCatgirl> RAM is what limits
component speed iirc?
L684[19:58:23] <Soni> and why doesn't OC
expose anything like "raw RAM", either as /tmp or with
native buffers or anything else, counting towards the memory
cap?
L685[19:58:48]
<AdorableCatgirl> i mean a string is just a
char array iirc
L686[19:58:55]
<AdorableCatgirl> as in C char
L687[19:59:47] <Izaya> RAM isn't a
component
L688[19:59:53] <Izaya> it's part of the
Lua environment
L689[20:00:50] <Soni> as far as anyone
messing about with the computer inventory GUI is concerned, RAM is
a component
L690[20:01:34]
<AdorableCatgirl> as far as OC's Lua
enviroment is concerned, RAM is not a component
L691[20:01:40]
<The_Stargazer> doesn't lshw list
RAM?
L692[20:01:44]
<AdorableCatgirl> it does
L693[20:01:52] <Izaya> >doesn't expose
a component to interact with
L694[20:01:55]
<AdorableCatgirl> cause it's technically
there but iirc it doesn't give an enviroment
L695[20:02:00] <Soni> maybe it
should
L696[20:02:03] <Izaya> >doesn't require
interaction via the component API to function
L697[20:02:06] <Soni> for "raw
RAM"
L698[20:02:07] <Izaya> it's not a
component
L699[20:02:12]
<AdorableCatgirl> "raw RAM"
L700[20:02:14]
<AdorableCatgirl> the fuck you on
about
L701[20:02:20] <Izaya> AdorableCatgirl:
strings
L702[20:02:21]
<AdorableCatgirl> you ain't gonna get raw
ram, this is lua
L703[20:02:26] <Izaya> literally just
strings
L704[20:02:31]
<AdorableCatgirl> well besides strings,
yea
L705[20:02:44]
<AdorableCatgirl> but if you want "raw
RAM", make your own CPU arch
L706[20:02:44] <Izaya> rawRam =
("\0"):rep(2^16)
L707[20:02:47] <Soni> well, I'd like to
see dynamically resizable unmanaged (i.e. raw bytes, no FS)
tmpfs
L708[20:02:49]
<AdorableCatgirl> kek
L709[20:02:55] <Soni> with mutable
access
L710[20:03:10]
<AdorableCatgirl> make your own CPU arch
ez
L711[20:03:14]
<AdorableCatgirl> B)
L712[20:03:14] <Izaya> so you want
L713[20:03:18] <Izaya> a block
device
L714[20:03:22] <Izaya> that resides in Lua
memory
L715[20:03:27] <Soni> yeah
L716[20:03:31] <Izaya> and is
resizable?
L717[20:03:35] <Soni> yeah
L718[20:03:37]
<AdorableCatgirl> string
L719[20:03:38] <Izaya> so a string with
functions to interact with it.
L720[20:03:39] <Soni> I want
ByteBuffers
L721[20:03:54]
<AdorableCatgirl> string. take it or leave
it.
L722[20:04:00] <Soni> literally just
expose java's ByteBuffers and you're done
L723[20:04:12] <Soni> and don't put speed
limits on it ¬_¬
L724[20:04:16] <AdorableCatgirl> so
L725[20:04:18] <AdorableCatgirl> you
see
L726[20:04:19] <AdorableCatgirl> the
problem is
L727[20:04:31] <AdorableCatgirl> one
doesn't simply "remove from the memory cap", iirc
L728[20:05:57]
<The_Stargazer> how do you have two
functions refer to each other?
L729[20:05:59] <Soni> being able to use
RAM like that as unixlike sockets would also be pretty cool
tbh
L730[20:06:06]
<The_Stargazer> iirc functions only have
access to functions defined before themselves
L731[20:06:28] <Izaya> use a table,
defined before both
L732[20:06:30] <AdorableCatgirl> ez
L733[20:06:35] <AdorableCatgirl> local
both before their def
L734[20:06:40] <Soni> declare it before
you define it
L735[20:06:43] <AdorableCatgirl> like
their function body
L736[20:06:46]
<The_Stargazer> ah, thanks
L737[20:06:51] <Izaya> Soni: so, like
implementing Lua sockets in Lua?
L738[20:06:57] <AdorableCatgirl> or if
their global
L739[20:06:58] <Izaya> s/Lua/Unix/
L740[20:06:58] <AdorableCatgirl>
just
L741[20:06:59] <MichiBot> <Izaya>
Soni: so, like implementing Unix sockets in Lua?
L742[20:07:02] <AdorableCatgirl> don't
worry about it
L743[20:07:04] <Soni> local foo local
function bar() foo() end function foo() print("declared before
defined") end bar()
L744[20:07:18] <Soni> Izaya: using
"raw memory", yeah
L745[20:07:30] <Izaya> ?.?
L746[20:07:32] <Izaya> but
L747[20:07:35] <Izaya> you have raw
memory
L748[20:07:41] <Izaya> you can define
strings and numbers and tables
L749[20:07:45] <Izaya> that uses
memory
L750[20:07:49] <Soni> then the built-in
/tmp becomes entirely pointless
L751[20:07:52] <Izaya> literally
everything you've said
L752[20:07:57] <Izaya> is implementable in
Lua
L753[20:08:05] <Soni> *sigh*
L754[20:08:12] <AdorableCatgirl> S I G
H
L755[20:08:22] <Soni> Izaya: please
replace openos /tmp with that, if it's so good as you say it
is
L756[20:08:28] <Izaya> which doesn't add
maintenance-requiring code to the mod
L757[20:08:30] <Izaya> okay
L758[20:08:32] <Izaya> fuckin
L759[20:08:33] <AdorableCatgirl> i've been
proven wrong and i can't think of a way to respond so i must post S
I G H
L760[20:08:34] <Izaya> challenge
accepted
L761[20:08:41] <Soni> and get it done by
tomorrow
L762[20:08:46] <AdorableCatgirl> >time
limit
L763[20:08:47] <Izaya> tomorrow?
L764[20:08:57] <AdorableCatgirl> i mean if
izaya is anything like me, shit's slow
L765[20:08:59] <Izaya> I have my course
tonight and work tomorrow
L766[20:09:03] <AdorableCatgirl> luacomp
took me two days
L767[20:09:08] <AdorableCatgirl> :^)
L768[20:09:21] <Soni> then just bolt
ByteBuffers into it, you can do that in 5 minutes
L769[20:09:21] <Izaya> but Soni
L770[20:09:25] <Izaya> you do
realise
L771[20:09:33] <Soni> and, also, you can
remove code by replacing /tmp
L772[20:09:34] <Izaya> a) there are like 6
different buffer libraries in pure Lua
L773[20:09:39] <Soni> because then you
don't need the existing /tmp code
L774[20:09:48] <Soni> you can just remove
all that out
L775[20:09:57] <Izaya> b) making a virtual
component is ez
L776[20:09:59] <AdorableCatgirl> and now
it's down to 6K 'cause i didn't realize that argparse was
massive
L777[20:10:07] <Soni> and then just use
ByteBuffers instead
L778[20:10:11] <AdorableCatgirl> why
L779[20:10:19] <AdorableCatgirl> why are
you so obsessed with bytebuffers
L780[20:10:32] <Izaya> AdorableCatgirl:
would the OpenOS shell arg parsing function work?
L781[20:10:44] <Soni> (well, *one*
resizable ByteBuffer, but w/e)
L782[20:10:44] <AdorableCatgirl> christ
almighty whenever you--
L783[20:10:49] <AdorableCatgirl> Izaya:
probably
L784[20:11:05] <Izaya> should find
out
L785[20:11:09] <Izaya> that one function
is pretty small
L786[20:11:11] <AdorableCatgirl> anyways
christ almighty whenever you encounter a problem you run to the
issues to have this terrible issue patched out!
L787[20:11:16]
<The_Stargazer> can anyone recommend a good
OC GUI lib?
L788[20:11:18] <Soni> (remember to
implement the ability to shift things around to avoid
fragmentation)
L789[20:11:29] <AdorableCatgirl> because
you cba to figure your way around it
L790[20:11:30] <Izaya> like letting Lua
manage memory?
L791[20:11:37] <AdorableCatgirl>
*speedbump not problem
L792[20:11:54]
<The_Stargazer> i've tried interface,
charts, libforms, and gml
L793[20:11:55]
<The_Stargazer> gml doesn't work, interface
is weird, libforms doesn't do what I need it to do, and charts
doesn't have what I need
L794[20:11:55] <Soni> no, let Lua manage
/tmp's ByteBuffer
L795[20:12:19] <AdorableCatgirl> but i
mean, if you need something from java so bad, just mod it in,
ez
L796[20:12:28] <AdorableCatgirl> learn
java/scala/kotlin
L797[20:12:36] <AdorableCatgirl> whichever
you prefer
L798[20:14:02]
<AdorableCatgirl> anyways, woo 6K
luacomp
L799[20:14:22] <Izaya> a shame I never
commited the PsychOS buffer library
L800[20:14:25] <Izaya> it did this amazing
thing
L801[20:14:27] <Soni> I'm gonna sleep,
but, basically, implement real-life tmpfs in OC and make it
official. give it the performance and mutability benefits of real
tmpfs while still working within the limits of the sandbox
L802[20:14:38] <AdorableCatgirl> why
L803[20:14:42] <AdorableCatgirl> why make
it official
L804[20:14:54] <Izaya> it implemented a
buffer using a string and wrapped it in a table so you could :read
and :write to it
L805[20:15:03] <AdorableCatgirl> oh
shit
L806[20:15:08] <AmandaC> Soni: gimme 50$
and I'll get right on all that
L807[20:15:12] <Soni> (aka: memory cap. no
twiddling Lua strings because that has GC overhead.)
L808[20:15:13] <AdorableCatgirl> i had
something like that--k e k
L809[20:15:19] <AdorableCatgirl> ???
L810[20:15:29] <AdorableCatgirl> Soni: you
don't like limits, huh?
L811[20:15:36] <Izaya> have you
considered:
L812[20:15:37] <AdorableCatgirl> maybe you
should go use CC :^)
L813[20:15:38] <Izaya> computercraft
L814[20:15:39] <Soni> (well, GC *and*
interning overhead)
L815[20:15:51] <Soni> yeah, computercraft
also doesn't have anything like real tmpfs
L816[20:15:56] <Soni> or buffers
L817[20:15:59] <AmandaC> Have you
considered the Java <-> C <-> Lu overhead?
L818[20:15:59] <Soni> or anything
L819[20:16:00] <AdorableCatgirl> but you
seem to not like limits
L820[20:16:01] <Izaya> it has Lua
L821[20:16:03] <Izaya> go and implement
them
L822[20:16:21] <AdorableCatgirl> so CC
might be more your speed B)
L823[20:16:34] <AmandaC> The whole reason
components have limits is because the C <-> Java thing is
super expensive to jump
L824[20:16:36] <Soni> AmandaC: comparable
to C <-> kernel overhead on a 486
L825[20:16:39] <AmandaC> JNI is
expensive
L826[20:16:54] <Izaya> side note
L827[20:16:59]
<The_Stargazer> so I have this program, but
whenever I run it it exits in like 2 seconds
L828[20:17:09]
<The_Stargazer> and i have no idea
why
L829[20:17:12] <Soni> (well, userland
<-> kernel)
L830[20:17:19] <Izaya> component tmpfs a
good because it provides somewhere to use as a filesystem even on
machines that don't have any filesystem hardware
L831[20:17:26]
<The_Stargazer> i can't print anything bc
the graphical lib sets the screen background to white when
printing
L832[20:17:31] <Izaya> which simplifies
implementation of some things significantly
L833[20:17:35] <AdorableCatgirl>
yea!
L834[20:17:39] <Soni> Izaya: use RAM
L835[20:17:45]
<The_Stargazer> i can't print anything bc
the graphical lib sets the screen background to white when clearing
the screen [Edited]
L836[20:17:45] <AmandaC> It does.
L837[20:17:46] <Soni> as in, Lua RAM
L838[20:17:49] <Izaya> The_Stargazer:
io.output("/tmp/test") and print
L839[20:17:57]
<The_Stargazer> ?
L840[20:18:03] <Izaya> io.output()
redirects stdout
L841[20:18:07] <Soni> AmandaC: if JNI is
so expensive then how the fuck OpenGL
L842[20:18:09]
<The_Stargazer> right, right
L843[20:18:10]
<The_Stargazer> thanks
L844[20:18:17]
<The_Stargazer> but wait
L845[20:18:20]
<The_Stargazer> i have text on-screen
L846[20:18:25]
<The_Stargazer> will that get redirected
too?
L847[20:18:25] <AdorableCatgirl> tmpfs is
also how the ROMFS bios works :P
L848[20:18:30] <Izaya> are you using io or
the GPU to do it?
L849[20:18:31]
<The_Stargazer> like button labels
L850[20:18:33] <Soni> I'm gonna
sleep
L851[20:18:35] <AdorableCatgirl> it's
pretty neat
L852[20:18:37] <AmandaC> Soni: you may
have noticed that Minecraft doesn't exactly run on toasters.
L853[20:18:40]
<The_Stargazer> idk how the graphics lib
does it
L854[20:18:49] <Soni> AmandaC: does Pi 3
count as toaster?
L855[20:18:56] <Izaya> if it's using the
GPU to do it it'll be fine
L856[20:19:15] <Soni> because, if so, then
it sure does
L857[20:19:18] <Soni> not very well, but
it does
L858[20:19:21] <Izaya> >Pi3
L859[20:19:24] <Izaya> >$70
L860[20:19:28] <Izaya> >multiple
cores
L861[20:19:30] <Izaya> not a toaster
L862[20:19:31] <AmandaC> %8ball veg out
and unplug?
L863[20:19:31] <MichiBot> AmandaC: Reply
hazy, try again
L864[20:19:32] <AdorableCatgirl> Pi3 is
pretty beefy
L865[20:19:36] <Soni> >$35
L866[20:19:42] <AdorableCatgirl>
especially for it's price
L867[20:19:45] <AmandaC> %8ball ^
L868[20:19:45] <MichiBot> AmandaC: Ask
again later
L869[20:19:52] <AdorableCatgirl> Soni:
Izaya is Australian
L870[20:19:53] *
AmandaC glares at MichiBot
L871[20:20:07] <AdorableCatgirl> just hope
you realize that
L872[20:20:09] <AdorableCatgirl> :^)
L874[20:20:22] <AdorableCatgirl> unless
you have my messages m u t e d
L875[20:20:27] <AmandaC> %choose veg out
to youtune or continue playing X4
L876[20:20:32] <Izaya> the Pi4 is
$90
L877[20:20:33] <MichiBot> AmandaC:
Elementary dear Watson, "continue playing X4" is the
obvious choice!
L878[20:20:34] <Izaya> fun times
L879[20:20:50] <Soni> Izaya: get a better
country
L880[20:21:01] <Izaya> get better at Lua
:^)
L881[20:21:03]
<The_Stargazer> ok so the button click
function is dying
L882[20:21:16]
<The_Stargazer> interruptSafely status is
`running`
L883[20:21:20]
<The_Stargazer> but getClicked status is
`dead
L884[20:21:27]
<The_Stargazer> but getClicked status is
`dead` [Edited]
L885[20:21:37] <AdorableCatgirl> oh yeah
so
L886[20:21:42] <Izaya> metatable functions
start with 2 underscores, right?
L887[20:21:47] <AdorableCatgirl> i'm
trying to have OpenOS itself yield--yeah
L888[20:21:54] <Izaya> okey shiny
L889[20:22:09] <AdorableCatgirl> i'm
trying to have OpenOS itself yield to let BIOS-level threads run
but OpenOS goes "nah g, time to implode"
L890[20:22:12] <AdorableCatgirl> what
do
L891[20:22:36]
<The_Stargazer> it gets a touch
event?
L892[20:22:41]
<The_Stargazer> i'm not clicking the screen
tho
L893[20:22:42]
<The_Stargazer> that's odd
L894[20:23:11] <Soni> if you show me a
pure-Lua *high-performance* buffer library, I'll eat shit
L895[20:23:18]
<The_Stargazer> huh
L896[20:23:23] <Izaya> give me like
L897[20:23:25] <Izaya> 5 minutes
L898[20:23:34]
<The_Stargazer> changing `event.pull(1,
"touch")` to `event.pull("touch")` fixed
it
L899[20:23:36] <Soni> and by
high-performance I mean comparable to native buffers
L900[20:23:57] <AdorableCatgirl> when the
hell do you need that kind of performance in OC
L901[20:24:13] <AdorableCatgirl> i mean
OSSM has really high read speed EEPROM cards but lmao
L902[20:24:17] <Soni> (as in patched Lua
with native buffers)
L903[20:24:23] <AdorableCatgirl> write
speed is t e r r i b l e
L904[20:24:28]
<The_Stargazer> OSSM?
L906[20:24:38] <Izaya> oh I forgot to
return buffer at the end
L907[20:24:50] <AdorableCatgirl>
OpenSolidState
L908[20:24:55]
<The_Stargazer> and the M?
L910[20:25:08] <AdorableCatgirl>
originally stood for "Modules" but was dropped
L911[20:25:08] <AdorableCatgirl>
lmao
L912[20:25:20] <Soni> (yeah, C API buffers
library is gonna be slower, but would be closer to built-in buffers
than trying to emulate them in pure-Lua)
L913[20:25:40] <Izaya> because I was on
such a tight time limit I didn't implement any fun read modes, only
supports numbers to read from the buffer :^)
L914[20:25:50] <Soni> Izaya: yeah, I ain't
eating shit over this
L915[20:26:00] <Soni> this is far from
high-performance
L916[20:26:01] <Izaya> ?.?
L917[20:26:05] <Izaya> oh?
L918[20:26:07] <Izaya> do tell
L919[20:26:09] <AdorableCatgirl>
WHEN
L920[20:26:10] <AdorableCatgirl> DO YOU
NEED
L921[20:26:17] <AdorableCatgirl> fuck
it
L922[20:26:21] <Soni> just write 1500
bytes one at a time
L923[20:26:27] <AdorableCatgirl> ez
L924[20:26:36] <Soni> and compare it to
real native buffers
L925[20:26:55] <Izaya> I suppose one
*could* write functions that use a string directly rather than
indexing a table
L926[20:27:28] <Izaya> but that kinda
makes the API obnoxious to use, no?
L927[20:27:41] <Soni> also that's a LIFO,
not a buffer
L928[20:28:04] <Izaya> ?.?
L929[20:28:25] <Izaya> pretty sure that's
a FIFO
L930[20:28:34] <Soni> eh idk the
terms
L931[20:28:36] <Izaya> :write appends
data, :read pulls data from the start
L932[20:28:38] <Soni> w/e
L933[20:28:44] <Soni> ah, okay
L934[20:28:59] <Izaya> at any rate, sounds
like moving the goalposts to me :^)
L935[20:29:04] <Soni> anyway, granted
"buffer" is a bit of an overloaded term
L936[20:29:32] <Soni> but basically this
has always been about "random-access byte arrays"
L937[20:29:55] <Soni> which you'd know if
you had read everything from the start
L938[20:30:13] <Soni> well,
"high-performance random-access byte arrays" tbh
L939[20:30:31] <Soni> but w/e
L940[20:30:38] *
AmandaC wonders how much more sense the channel would make with
Soni on her ignore.
L941[20:31:13] <Izaya> so
L942[20:31:18] <Izaya> you want
random-access memory
L943[20:31:22] <Izaya> ie a string
L944[20:31:27] <Izaya> so you can
implement FIFOs on top of it
L945[20:31:28] <Soni> like, literally,
that person's use-case was "how do I get fast poking bytes in
an array without eating up all the RAM at 48 bytes per
byte"
L946[20:31:29] <Izaya> to represent
files
L947[20:32:03] <Soni> (using tables of
numbers eats up 48 bytes per byte)
L948[20:32:59] <Izaya> using tables of
numbers is pants on head retarded given Lua numbers are floats,
nominally
L949[20:33:12] <Soni> it is fast tho
L950[20:33:27] <AdorableCatgirl> AmandaC:
afaict Soni ignored me
L951[20:33:33] <Soni> not as fast as real
byte buffers tho
L952[20:34:12] <Soni> meh
L953[20:34:18] <Soni> just give ppl
buffers
L954[20:35:47] <AdorableCatgirl> tell Soni
that the buffers would then exist out of lua's memory which creates
a problem
L955[20:35:58] <Izaya> 13:35
<AdorableCatgirl> tell Soni that the buffers would then exist
out of lua's memory which creates a problem
L956[20:36:08] <AmandaC> AdorableCatgirl:
but it's "easy" to just make the memory limits
dynamic!
L957[20:36:23] <Izaya> >allocate a big
buffer
L958[20:36:31] <Izaya> >accidentally
use several times the free memory
L959[20:36:33] <Izaya> >crash the
machine
L960[20:36:34] <CompanionCube> Izaya: out
of everything in the system
L961[20:36:35] <Izaya> oops
L962[20:36:49] <CompanionCube> the thing
that hates swap the most is surely fireofox
L963[20:36:57] <Izaya> CompanionCube:
zramswap :^)
L964[20:37:24] <CompanionCube> someone
said they had a program that made them OOM
L965[20:37:44] <CompanionCube> it didn't
make me OOM and the system was mostly very responsive despite using
14G of memory
L966[20:38:21] <CompanionCube> but it
would seem firefox takes longer to recover than the entire duration
of the program.
L967[20:38:32] <Izaya> nice
L968[20:39:07] <CompanionCube> ...heh
would you look at that, i killed the script going on 10 minutes
ago
L969[20:39:11] <CompanionCube> and only
now did it recover.
L970[20:39:27] <Izaya> swapoff/swapon
woulda fixed that
L971[20:39:34] <Izaya> forced the memory
back into memory
L972[20:40:23] <CompanionCube> (note: box
has 16G RAM, 16G swap mostly for hibernation purposes.
L973[20:40:37] *
Izaya laughs in no swap
L974[20:41:35] <Soni> allocate them as
heavy userdata so that you use the lua allocator
L975[20:43:38] <Soni> you can't even
rowhammer with it. not only because one can fit multiple OC
computers into one L3, and there are no flush instructions, but
because OC also schedules the computers dynamically and Lua is
quite slow no matter what you do.
L976[20:44:14] <Soni> btw freebsd has swap
that actually works
L977[20:45:21] <Izaya> btw Haiku exists
and is better than your operating system
L978[20:46:02] <Izaya> >string.sub is
faster than using tables to store random data in LuaJIT
L979[20:46:21] <Izaya> >string.sub is
faster for data over ~1KB in standard C interpreted Lua
L980[20:46:24] <Izaya> interdasting
L981[20:47:06] <Izaya> credit for these
findings do, of course, go to my wonderful assistant
AdorableCatgirl
L982[20:47:13] <Izaya> inb4 "I'm not
your assistant"
L985[20:50:39]
<AdorableCatgirl> PUC btw
L986[20:50:56]
<AdorableCatgirl> goes from 64 bytes to
10240 bytes
L987[20:51:05] <Izaya> man, ignore is such
a pain
L988[20:51:23]
<AdorableCatgirl> rather odd, as once i put
it in a loop, string was always faster
L989[20:51:29]
<AdorableCatgirl> as one would expect
L990[20:51:31]
<AdorableCatgirl> but still
L991[20:52:06]
<AdorableCatgirl> but, hey, let's go for
the extreme
L992[20:52:12]
<AdorableCatgirl> increments of 1
byte
L993[20:52:55]
<AdorableCatgirl> this may take a
while
L994[20:53:37]
<AdorableCatgirl> do do do
L995[20:53:45]
<AdorableCatgirl> i bet it's table taking
forever tbh
L996[20:53:53]
<AdorableCatgirl> as this is LuaJIT
L997[20:57:43] <AdorableCatgirl> man
L998[20:57:51] <AdorableCatgirl> this test
isn't making my terminal emulator very happy
L999[20:58:21] <Izaya> cat:
target/init.lua: input file is output file
L1000[20:58:30] <Izaya> [cat hated
this]
L1001[20:59:03]
<AdorableCatgirl> are you trying to compile
luacomp
L1002[20:59:14] <Izaya> no I am adding an
_OSVERSION of PsychOS
L1003[20:59:19] <Izaya> to
L1004[20:59:35] <Izaya> :wq
L1005[20:59:47]
<AdorableCatgirl> kek
L1006[20:59:51] <Izaya> echo
_OSVERSION=\"PsychOS 2.0-$(git rev-parse --short HEAD)\"
> target/version.lua
L1007[20:59:52]
<AdorableCatgirl> also
L1008[20:59:53] <Izaya> cat
target/version.lua target/init.lua > target/tinit.lua
L1009[20:59:55] <Izaya> mv
target/tinit.lua target/init.lua
L1010[20:59:56] <CompanionCube> since
mogg said stupid things today, have a bonus: 'When a young Jacob
Rees-Mogg campaigned in Scotland with his nanny'
L1011[21:00:12]
<AdorableCatgirl> so i tested from 1 to
10240 bytes
L1012[21:00:17]
<AdorableCatgirl> the table was only faster
one time
L1013[21:00:25]
<AdorableCatgirl> probably at 1 byte
L1014[21:00:32]
<AdorableCatgirl> everywhere else, string
was faster
L1015[21:00:36]
<AdorableCatgirl> PUC Lua btw
L1016[21:02:58]
<AdorableCatgirl> alright
L1017[21:03:02]
<AdorableCatgirl> i'll post my findings
here
L1019[21:03:37]
<AdorableCatgirl> ofc this doesn't tell me
every single result and where said things were faster
L1020[21:06:50]
<AdorableCatgirl> i'll test a few more
times and post even more results
L1021[21:07:09]
<AdorableCatgirl> this genuinely has me
interested
L1023[21:11:19]
<AdorableCatgirl> oh shit neat
L1025[21:13:03]
<AdorableCatgirl> WOT
L1026[21:13:05]
<AdorableCatgirl> HOW
L1027[21:15:36] <Izaya> should I make an
os.chdir function
L1028[21:16:00] <Izaya> potentially
returning a table of the contents of the dir if successful?
L1029[21:17:04]
<AdorableCatgirl> hmm
L1030[21:18:14] <Izaya> scrap the latter
part, incurs another component call
L1031[21:19:36]
<AdorableCatgirl> oh
L1032[21:19:38]
<AdorableCatgirl> sounds cool then
L1033[21:19:54] <Izaya> means you don't
have to implement your own chdir logic
L1034[21:20:13]
<AdorableCatgirl> neat
L1035[21:22:15] <AdorableCatgirl> LuaJIT
w/ JIT on vs LuaJIT w/ LuaJIT off with the string vs table thing
results in no difference
L1036[21:22:25] <AdorableCatgirl> meaning
that tables were the bulk of the slow
L1037[21:24:39] <AdorableCatgirl> i don't
remember the specifics but iirc it has to do with the fact that it
needs to go through the C API for the table?
L1038[21:26:04] <AdorableCatgirl> ? SONI
IS GONE ?
L1039[21:26:09] <AmandaC> %give MichiBot
a candle with a handle
L1040[21:26:09] *
MichiBot accepts the candle with a handle and adds it to her
inventory
L1041[21:26:35] <AmandaC> %give MichiBot
a single Velcro sandal
L1042[21:26:35] *
MichiBot accepts the single Velcro sandal and adds it to her
inventory
L1043[21:27:00] <AmandaC> %give MichiBot
an old court order for a drug-related scandal
L1044[21:27:00] *
MichiBot accepts the old court order for a drug-related scandal and
adds it to her inventory
L1045[21:27:34] <AdorableCatgirl> %give
MichiBot the crab emoji ?
L1046[21:27:34] *
MichiBot accepts the crab emoji ? and adds it to her
inventory
L1047[21:27:38] <AdorableCatgirl>
nice
L1048[21:27:45] <AdorableCatgirl> i now
have to restart networkmanager
L1049[21:28:20] <AmandaC> Night
nerds
L1050[21:28:21] <AdorableCatgirl> NM is
restarted
L1051[21:28:24] <AdorableCatgirl> nite
AC
L1052[22:35:19]
<AdorableCatgirl> so OpenOS didn't want to
boot because of how Zorya NEO handles it's threads
L1053[22:35:29]
<AdorableCatgirl> well i made one small
tweak to OpenOS and it seems™ to be booting fine
L1055[22:51:55] <Izaya> mfw I changed the
VT100 driver in PsychOS to be saner and it broke backspace
L1056[23:29:39]
<BohemianHacks> Izaya, numbers can be ints
or floats under the hood. Strings are immutable, so to edit stuff
in it you need 2x the memory per unit to edit. Given numbers max
out at 4 bytes though, so a table of strings is probably still a
good choice depending on block size. Either way, storing data in
numbers isn't "pants on head retarded" given how much
memory overhead the existing datatypes already have.
L1057[23:33:38]
<BohemianHacks> Izaya, numbers can be ints
or floats under the hood. Strings are immutable, so to edit stuff
in it you need 2x the memory per unit to edit. Given numbers max
out at 8 bytes though, so a table of strings is probably still a
good choice depending on block size. Either way, storing data in
numbers isn't "pants on head retarded" given how much
memory overhead the existing datatypes already have. [Edited]
L1058[23:34:32] <Izaya> strings are not
ideal but once the gc runs they are lower overhead
L1059[23:34:52] <Izaya> that said, yes,
higher temporary overhead
L1060[23:38:14] <Izaya> also, ints are
since 5.3
L1061[23:38:17]
<BohemianHacks> Only reason I even checked
out numbers was because strings being immutable is a pain, but
since the largest block I can have in a single number is 8 bytes. A
table of strings makes more sense for the most part
L1062[23:39:32]
<BohemianHacks> not sure the exact ratio
because of overhead per type, but im sure at some point a longer
string would be more memory efficient than a number
eventually
L1063[23:40:14]
<BohemianHacks> ie a table of a bunch of
numbers vs a table of a bunch of 16 char strings. The string table
is probably lower memory.
L1064[23:40:40]
<BohemianHacks> just not exactly sure where
that point is