<<Prev Next>> Scroll to Bottom
Stuff goes here
L2[01:11:08] <gamax92> %remindme 529m note
down start time of label task
L3[01:11:10] <MichiBot> I'll remind you
about "note down start time of label task" at 07/30/2017
10:00:09 AM
L4[01:21:58] ⇦
Quits: Cervator (~Thunderbi@2601:4c1:4000:1050:a8e6:aadb:877d:a53)
(Quit: Cervator)
L5[02:04:58] <Skye> Izaya, what's
that?
L6[02:05:16] <Izaya> Skye: new OS's
API
L7[02:05:31] <Skye> you're making another
OS?
L8[02:05:35] <Izaya> well
L9[02:05:44] <Izaya> originally I was gonna
rewrite the scheduler and that was it
L10[02:05:49] <Izaya> then I realised how
messy MultICE is
L11[02:05:54] <Izaya> so now I'm rewriting
most of the stuff
L12[02:06:02] <Izaya> and starting with
buffers and a real event system
L13[02:06:23] <Izaya> rather than have
every program based around reading _G.ev and a
coroutine.yield()
L14[02:06:56] <Izaya> still don't have a
proper name for it
L15[02:09:01] <Izaya> Skye: it has a bunch
of improvements
L16[02:09:04]
<Saphire>
o.o
L17[02:09:12] <Izaya> like an event
queue
L18[02:09:31]
<Saphire>
Izaya: can it run Crysis?
L19[02:09:34] <Skye> QOS? Quality Operating
System. also a pun on Quality of Service
L20[02:09:37] <Izaya> and a scheduler that
runs processes for different amounts of time based on the amount of
events left in their queue
L21[02:09:51] <Izaya> Skye: one character
away from QDOS :P
L22[02:10:03] <Izaya> ooh applications are
sandboxed
L23[02:10:07]
<Saphire>
Quick Denial of Service?
L24[02:10:19]
<Saphire>
Also, yay, native sandboxing
L25[02:10:36]
<Saphire>
What about networked resources?
L26[02:10:36] <Skye> IZOS
L27[02:10:38] <Izaya> QDOS can be either
Quick and Dirty Operating System - ie MS DOS - or Quantum (leap)
Disk Operating System
L28[02:10:52] <Izaya> Saphire: what about
them?
L29[02:12:04]
<Saphire> I
mean, can I run a program on one computer, and natively use other
computer's devices?
L30[02:12:18] <Izaya> Saphire:
"yes"
L31[02:12:23] <Izaya> kind of
L32[02:12:30] <Izaya> I had a thing for
that for MultICE
L33[02:14:30] <Izaya> maybe I should have a
HAL as well
L34[02:14:51] <Izaya> event-based so I can
have it shared across networks
L35[02:15:13] <Izaya> that could be
wonderfully horrifying
L36[02:15:54] <Izaya> that would make stuff
very slow though
L38[02:16:08] <Izaya> would take at least 3
cycles to display anything
L39[02:17:46] ⇦
Parts: Skye (~skye@nightfall.moe) (Leaving))
L40[02:17:50] ⇨
Joins: Skye (~skye@nightfall.moe)
L42[02:19:50] <Skye> Izaya, well... what
would the HAL be?
L43[02:21:09] <Izaya> Skye: to access
components you'd use a function that queues/listens for
events
L45[02:21:33] <Izaya> you'd have a daemon
for each piece of hardware
L46[02:21:39] <Skye> well you might want
virtual components too
L47[02:21:46] <Izaya> that's the beauty of
it
L48[02:21:56] <Izaya> you can easily make a
listener for 'hardware'
L49[02:22:02] <Izaya> that doesn't really
exist
L50[02:22:12] <Izaya> ie a RAMdisk or
network component
L51[02:22:14] <Izaya> but it would be slow
:|
L52[02:22:29] <Izaya> you could always just
patch component to support virtual components
L53[02:22:32] <Skye> I have an idea
L54[02:22:42] <Skye> have an
"interface" system
L55[02:22:45] <Izaya> and then have the
functions in there access them over the network
L57[02:22:54] <Skye> you have sandboxes
right
L58[02:23:00] <Izaya> yes
L59[02:23:10] <Skye> just run each driver
in a sandbox in the HAL
L60[02:23:25] <Skye> the only message is to
and from the HAL
L61[02:23:42] <Skye> and the drivers have a
limited API
L62[02:24:01] <Skye> but provide the
services through the HAL?
L63[02:24:16] <Skye> so you have, say a
graphics driver, that runs in the HAL
L64[02:24:21] <Izaya> I mean I could remove
the 'event' part
L65[02:24:24] <Izaya> except where
neccesary
L66[02:24:39] <Skye> Izaya, well the idea
is that you can either fake the events in the HAL sandbox, or just
not use them.
L67[02:24:45] <Skye> as a sort of generic
driver system...
L68[02:24:59] <Skye> wait am I remembering
my old idea for drivers for OC
L69[02:25:02] <Skye> I am aren't I
L70[02:25:11] <Skye> I mean... I guess it's
finally a somewhat reasonable use
L71[02:25:37] <Izaya> I was thinking I'd
just abstract component use and have it easy to add virtual
components
L72[02:26:31] <Skye> Well... with you
component "driver", make it possible to invoke stuff with
events as an inefficient but handy way to test something
L73[02:26:49] <Skye> (it'd be neat if you
could find a way to make some events syncronus, as an optional
thing)
L74[02:29:45] *
Izaya shrugs
L75[02:30:31] <Skye> Izaya, what sort of
things does a driver need to have?
L76[02:30:49] <Izaya> I was just gonna have
it expose the component
L77[02:31:04] <Skye> access to the
component API, logging, and a way to expose APIs.
L78[02:31:32] <Izaya> Skye: you previously
complained my code is hard to read, right?
L80[02:32:56] <Skye> Izaya, it's still hard
to read but now I don't need to ask you to work out what it
does
L81[02:33:00] <Skye> so it's better
L82[02:33:10] <Izaya> I commented more of
it
L83[02:33:21] <Izaya> still need to comment
the ported MultICE libs
L84[02:33:59] <Skye> why is it a giant blob
though
L85[02:34:37] <Izaya> I'm currently
building the kernel by using this command:
L86[02:34:39] <Izaya> cat
modules/base/header.lua modules/drivers/tty.lua
modules/lib/print.lua modules/drivers/kbd.lua
modules/drivers/net.lua modules/lib/readline.lua
modules/applications/luash.lua modules/setup.lua
modules/base/footer.lua
L87[02:34:58] <Izaya> and piping it to
kernel.lua
L88[02:35:08] <Skye> don't you want it to
be modular
L89[02:35:14] <Izaya> it is
L90[02:35:19] <Skye> at runtime
L91[02:35:35] <Izaya> I don't have a FS
implementation yet
L92[02:36:15] <Izaya> also this can load
from a tape or similar happily
L93[02:36:24] <Izaya> I should modify the
Lua BIOS to support that
L94[02:38:50] <Izaya> only 2KB for default
BIOS.lua
L96[02:39:11] <Tazz> does anyone know like
a lot about OSs
L97[02:39:14] <Izaya> that gives me 2KB to
implement it
L98[02:39:16] <Tazz> like deep down
L99[02:39:22] <Izaya> Tazz: for OC?
L101[02:39:35] <Tazz> for like real
computers XD
L102[02:39:40] <Izaya> ah
L103[02:39:45] <Izaya> real computers are
complicated
L104[02:39:54] <Tazz> lol
L105[02:39:55] <Izaya> I should be able to
do this tape drive thing p. quickly
L106[02:39:56] <Tazz> fair enough
L107[02:40:12] <Tazz> I myself dont know
much about internal workings of OSs
L108[02:40:32] <Tazz> but like Im working
on project to learn about them I just kinda wanted to like see if
anyone could point me into the right direction LOL
L109[02:41:01] ⇦
Quits: Crazylemon (~Crazylemo@c-24-17-217-150.hsd1.wa.comcast.net)
(Remote host closed the connection)
L110[02:42:11] <Skye> Tazz, I wasted hours
researching and I still don't understand
L111[02:42:14]
⇨ Joins: Crazylemon
(~Crazylemo@c-24-17-217-150.hsd1.wa.comcast.net)
L112[02:44:17] ⇦
Quits: Yarillo (~Yarillo@rumia.aius.u-strasbg.fr) (Quit: WeeChat
1.4)
L113[02:44:34] ⇦
Quits: Crazylemon (~Crazylemo@c-24-17-217-150.hsd1.wa.comcast.net)
(Remote host closed the connection)
L114[02:47:56] <Tazz> lol
L115[02:48:39] <Izaya> ~w component
L117[02:55:20] <Izaya> oh Skye
L118[02:55:27] <Izaya> the new one also
supports the clipboard now
L119[02:55:36] <Skye> yay
L120[02:55:59] <Skye> Izaya, how does
sandboxing work by the way?
L121[02:56:39] <Izaya> Skye: each program
has an environment table that has a metatable __index=_G
L122[02:56:51] <Izaya> they can read _G
but they won't write to it unless explicitly stated
L123[02:57:08] <Izaya> and they can't
access other programs' environments at all because it's local to
the block with the scheduler
L124[02:58:15] <Skye> interesting
L125[02:58:37] <Skye> Izaya, so... say I
wanted to make a driver sandbox, what would be the best way?
L126[02:58:46] <Izaya> what do you
mean?
L127[02:59:16]
⇨ Joins: Yarillo
(~Yarillo@rumia.aius.u-strasbg.fr)
L128[03:00:54] <Skye> Izaya, I'm thinking
of creating a simple driver sandbox
L129[03:15:48] ⇦
Quits: Yarillo (~Yarillo@rumia.aius.u-strasbg.fr) (Quit: WeeChat
1.4)
L130[03:21:05] <Izaya> so I have a thing
that can boot from tapes now
L131[03:30:35] ⇦
Quits: Doty1154 (~Doty1154@179.43.188.214) (Ping timeout: 204
seconds)
L132[03:37:19] <Izaya> \o/
L133[03:37:22] <Izaya> loading from tapes
works
L134[03:40:11] <Izaya> Hm, think if I PR'd
my tape loading version of bios.lua it'd be accepted?
L135[03:40:21] <Izaya> it needs a kinda
weird header
L136[03:41:08] <Izaya> basically it's an !
at the start of the tape, followed by 8 chars that get turned into
a number which is the length of the executable to read
L137[03:42:05] *
Izaya pokes Vexatos
L138[03:46:59] ⇦
Quits: Bhootrk_ (~Bhootrk_@118.189.203.83) (Read error: Connection
reset by peer)
L139[03:50:08] <Vexatos> oh no
L140[03:50:47] <Izaya> Vexatos: do you
want me to make a PR to make bootable tapes to your tape program in
computronics?
L141[03:50:55] <Vexatos> no
L142[03:50:57] <Vexatos> :D
L143[03:51:02] <Izaya> ok
L144[03:51:22] <Izaya> 'cause I mean I
added it to it and it works fine but a standalone program works
too
L145[03:55:26]
⇨ Joins: Test
(webchat@104-60-115-67.lightspeed.spfdmo.sbcglobal.net)
L146[03:55:33] <Skye> PsycheOS?
L147[03:55:44] ⇦
Quits: Test (webchat@104-60-115-67.lightspeed.spfdmo.sbcglobal.net)
(Client Quit)
L148[03:57:28]
⇨ Joins: Yarillo
(~Yarillo@rumia.aius.u-strasbg.fr)
L149[04:04:49] <Izaya> Skye: PsychOS
L150[04:04:56] <Izaya> so in lowercase
it's psychos
L151[04:05:25] <Skye> good idea?
L152[04:05:32] <Izaya> It'll do for now
:P
L154[04:20:05] <Skye> Izaya, should I do
my comment about drivers in the issues thing for
brainstorming?
L155[04:20:23] <Izaya> sure
L156[04:53:26]
<Kodos> The
area around my desk smells strongly like feet, and I have no idea
why
L157[04:55:16]
⇨ Joins: techno156 (~techno156@137.154.29.33)
L158[05:03:55]
⇨ Joins: Dustpuppy (~kvirc@213.233.149.17)
L159[05:04:05] <Dustpuppy> hi
L160[05:05:14] <Dustpuppy> question: is it
possible to put required libs into a table and walk over the table
to load them?
L161[05:05:37] <Izaya> probably
L162[05:05:47] <Dustpuppy> but how?
L163[05:06:03] <Izaya> you could do
_ENV[libname] = require(libname)
L164[05:06:05] <Izaya> I think?
L166[05:07:37] <Vexatos> that should be
working ._.
L167[05:07:38] <Izaya> o.o
L168[05:07:51] *
Vexatos resists criticizing code style
L169[05:08:30] <Vexatos> Dustpuppy,
"It's not working" is not very... specific
L170[05:08:32] <fingercomp> in table
driverTable, you set `startFunc` to `start`, which is nil in that
context, and then you try to call it.
L171[05:09:15] <Vexatos> assuming that
doesn't exist yet, yea
L172[05:09:22] <fingercomp> wrap `start`
in quotes, and instead of `driverTable[i].startFunc()` do
`driverTable[i][startFunc]()`
L173[05:09:33] <fingercomp> do the same
with `extrafunc`
L174[05:09:56] <Vexatos> fingercomp,
should be working either way
L175[05:10:02] <Vexatos> assuming start is
a function that exists
L177[05:11:30] <Dustpuppy> no, not
working
L178[05:11:37] <Vexatos> You have yet to
tell us what the error is
L179[05:11:46] <Vexatos> "not
working" is not helping
L180[05:11:50] <Dustpuppy> >name>
expected near '['
L181[05:11:59] <Vexatos> which line
>_>
L182[05:12:14] <fingercomp> wait
L183[05:12:20] <Vexatos> that's a syntax
error
L184[05:12:23] <Dustpuppy> line 10. i did
riverTable[i][startFunc]()
L185[05:12:24] <Vexatos> not a "not
working"
L186[05:12:37] <Vexatos> Dustpuppy,
fingercomp messed uo
L187[05:12:38] <Vexatos> up*
L188[05:12:43] <Vexatos> revert to what
you had before
L189[05:12:43] <fingercomp>
`driverTable[i].driver[driverTable[i].startFunc]()` is what I
meant, not `driverTable[i][startFunc]()`
L190[05:12:48] <Vexatos> fingercomp,
no
L191[05:12:51] <Vexatos> lowercase,
too
L192[05:12:58] <fingercomp> ah, yes
L193[05:13:00] <Vexatos> it's
startfunc
L194[05:13:25] <Vexatos> fingercomp, that
would be assuming he wants to call .start in the file
L195[05:13:43] <fingercomp> Dustpuppy: to
make sure, do you want to call driver's `start` function?
L196[05:13:46] <Vexatos> which is probably
correct >_>
L197[05:13:49] <Dustpuppy> that's what i
want to do
L198[05:13:54] <Vexatos> > _ >
L199[05:13:55] <Vexatos> ok
L200[05:14:06] <Vexatos>
driverTable[i].driver[driverTable[i].startfunc]()
L201[05:14:12] <Vexatos> and replace
["startfunc"] = start
L202[05:14:13] <Dustpuppy> attempt to call
a nil value
L203[05:14:15] <Vexatos> with
["startfunc"] = "start"
L204[05:14:30] <Vexatos> that should do
it
L205[05:15:08] <Vexatos> Dustpuppy, with
errors, always give the full error, including line number :I
L206[05:15:16] <Dustpuppy> attemp to call
a string value
L207[05:15:32] <Vexatos> show me your
code
L208[05:15:53] <Vexatos> and give the god
damn line number ,_,
L210[05:16:42] <Dustpuppy> this is the
try. the uncomment lines are, what i normaly do
L211[05:17:06] <Dustpuppy> start in
"" will not work
L212[05:17:08] <Vexatos> you haven't
changed line 10 :I
L213[05:17:18] <Vexatos> <Vexatos>
driverTable[i].driver[driverTable[i].startfunc]()
L214[05:17:45] <Vexatos> and the same for
line 12
L215[05:18:00] <Vexatos>
driverTable[i].driver[driverTable[i].extrafunc](),
respectively
L216[05:18:21] <Dustpuppy> that
works
L217[05:18:37] <Dustpuppy> you guy are
great
L218[05:18:38] <Vexatos> you need to work
on the way you report errors
L219[05:18:55] <Vexatos> less "Not
working", more "line n: <actual error message",
please
L220[05:19:22] <Dustpuppy> ok, i will
remember
L221[05:19:48] <Vexatos> Thanks
L223[05:25:34] <fingercomp> on line 4,
wrap `login` in quotes: ["extrafunc"] =
"login"
L224[05:25:59] <Dustpuppy> good
morning.....it's to early for me
L225[05:26:40] <Dustpuppy>
yeh...working
L226[05:26:42] <fingercomp> also, you
don't need to compare for `nil` on line 11, `if
driverTable[i].extrafunc then` is enough
L227[05:26:50] <Dustpuppy> tahnk you girls
and guys
L228[05:26:58] <Vexatos> ^ that checks for
"not false and not nil", basically
L229[05:27:00] <Vexatos> the
shortcut
L230[05:27:30] <Dustpuppy> i know, but i
like this way. better to read
L231[05:27:34] <Dustpuppy> for me
L232[05:29:40] <Dustpuppy> now i need to
make the config file part, installer and the documentation how to
write own programs. then i am finished....i hope...
L233[05:38:12] <Izaya> oh
L234[05:38:17] <Izaya> that's why GTA
isn't running well
L235[05:38:25] <Izaya> I have two
instances of Minecraft running in the background
L236[05:55:22] <Izaya> ~w computer
L239[06:43:06]
⇨ Joins: Inari
(~Pinkishu@p4FC1E652.dip0.t-ipconnect.de)
L240[07:31:59]
⇨ Joins: Turtle
(~SentientT@ip5657cbb2.direct-adsl.nl)
L241[08:12:09]
⇨ Joins: BearishMushroom
(~BearishMu@78-73-0-138-no159.tbcn.telia.com)
L242[08:28:03] <Forecaster> killall
java
L243[08:28:21] <Dustpuppy> killer?
L244[08:28:51] *
Forecaster forces clauset shut
L245[08:28:53] <Forecaster> who me?
L246[08:29:11] <Dustpuppy> who else is
killing all javas?
L247[08:29:29] <Forecaster> *coffee leaks
out from under the door*
L248[08:29:34] <Forecaster> I don't know
what you're talking about
L249[08:29:45] <Dustpuppy> [14:20:07]
<Forecaster> killall java
L250[08:30:26] <Forecaster> that... could
have been anyone!
L251[08:30:46] <Dustpuppy> taht could be
everyone ;-)
L252[08:38:29] <Izaya> >.>
L253[08:38:35] <Izaya> getting permission
denied with syncthing again
L254[08:38:52] <Izaya> my SD card is fat32
how can you be denied permission
L255[08:39:00] <Izaya> there is literally
zero permissions on the filesystem
L256[08:39:09] <Izaya> fucking
android
L257[08:39:35] <Dustpuppy> switch at the
card on write protect?
L258[08:39:48] <Izaya> microsd has no
write protect switch
L259[08:43:56] <Izaya> yet it works if I
run syncthing as root
L260[08:49:21] <Skye> Izaya, android has
stopped people from being able to directly access SD cards since
version 5
L261[08:49:35] <Skye> Even version 4.4 was
a bit flaky
L262[08:50:39] <Izaya> I'm aware
L263[08:50:45] <Izaya> I semi-fixed
L264[08:50:49] <Izaya> that problem
L265[08:51:00] <Izaya> by modifying
something in /system
L266[08:51:09] <Izaya> only works every
third time though
L267[08:51:09] <Skye> You need to mess
with the permissions manifest I think
L268[08:51:18] <Izaya> stupid design
decision tbh
L269[08:54:21] <AmandaC> Perfectly
reasonable design decision, if you've not butchered the system in
10 different incompatable ways since.
L270[08:57:55] <AmandaC> considerng this
kind of error is only happening to people with root, that means
it's not Android at fault, but the modifications your ROM makes,
which probably make it unable to pass the CTS
L271[08:58:08] <Izaya> ???
L272[08:58:13] <Izaya> it happens on stock
android too
L273[09:09:43] <Syrren> AmandaC: it's got
a lot more with google policy on sdcards than ROMs, afaik
L274[09:09:53] <Syrren> i.o.w. note how
Google phones never ever have SD slots
L275[09:09:58] <Syrren> they want you to
use their cloud services
L276[09:11:30] <AmandaC> Syrren: it's more
to do with security, they want to make sure app A can't clobber app
B's files, without explicit user consent, so they deprecated the
normal Unix file access in favor of a Java one with more strict
controls, and explicit user permission requests, but since
syncthing is written in Go it's not able to talk to that.
L279[09:12:38] <AmandaC> Their position is
they should be using the DocumentProvider folder stuff introduced
in L, which they need to wait for upstream to make possible in
Go.
L280[09:14:01] <AmandaC> So, sorry, it
does affect non-rooted phones.
L281[09:15:07] <Temia> This honestly
sounds like a good reason to just stop using phones forever.
L282[09:15:48] <Syrren>
s/phones/smartphones/
L283[09:15:48] <MichiBot> <Temia>
This honestly sounds like a good reason to just stop using
smartphones forever.
L284[09:15:49] <Forecaster> you can just
get a regular dumb phone
L285[09:16:01] <Temia> Eh.
L286[09:16:40] <Temia> I only ever use my
current one for IRC at this point, so...
L287[09:16:40] <Syrren> Izaya: FWIW there
is "Adoptable Storage".
L288[09:16:56] <AmandaC> Syrren: in N,
she's on marshmellow
L289[09:17:04] <Temia> IRC and SSH.
L290[09:17:16] <Syrren> Ah.
L291[09:17:23] <Izaya> Temia: plasma
mobile exists
L292[09:17:44] <Izaya> all is not
lost
L293[09:17:53] <Izaya> if you have a nexus
5, anyway
L294[09:18:04] <Syrren> ...which has no SD
slot.
L295[09:18:09] <Temia> Ew, software
keyboards.
L296[09:18:26] <Syrren> what're you using
that has a hardware keyboard?
L297[09:18:28] <Syrren> a
blackberry?
L298[09:18:36] <Temia> Galaxy S
Relay.
L299[09:18:49] <Temia> Last good phone I
could find which had one.
L300[09:19:00] <Syrren> oh, slideout
kb
L301[09:19:23] <Syrren> first time I hear
of Sammy making a kb-smartphone
L302[09:19:49] <Inari> Hmmm
L303[09:19:57] <Izaya> I just want an
updated N900 q_q
L304[09:20:03] *
Inari wants a FPGA component :P
L305[09:20:07] <Inari> Thouhg I ugess it
makes little sense
L306[09:20:18] <Temia> Last, too
L307[09:20:41] <Syrren> imagine a X220
clone with a modern CPU and 3G modem, just add calling support and
you have the perfect smart "phone" :P
L308[09:20:56] <Syrren> s/3G/4G/
L309[09:20:56] <MichiBot> <Syrren>
imagine a X220 clone with a modern CPU and 4G modem, just add
calling support and you have the perfect smart "phone"
:P
L310[09:21:18] <Syrren> battery life would
be about the same, too, given a 9-cell
L311[09:21:32] *
Saphire nibbles on Michiyo
L312[09:21:53] *
Forecaster likes his Galaxy S8
L313[09:21:55] <Saphire> ...I really want
that TILE64 CPU q-q
L314[09:21:55] <Inari> Princess Principal
seems interesting
L315[09:22:00] <Saphire> It looks
shiiiiinyyyyy
L316[09:22:25] <Izaya> why not a PC110
with a 4G modem and updated internals, Syrren ?
L317[09:22:38] <Syrren> Saphire: but...
DDR2 and 900MHz max?
L318[09:23:07] <gamax92> It loops over
every 1113 sentences, 48 times
L319[09:23:12] <gamax92> this'll take a
while
L320[09:23:41] <Syrren> Izaya: because
I've never used one of those so I can't judge. looks fucking
perfect though
L321[09:23:48] <Inari> gamax92: What are
you doing D:
L323[09:24:31] <gamax92> Inari: marytts
voice importing
L324[09:24:46] *
Saphire flops
L326[09:25:35] <gamax92> I'm using the slt
arctic voice data for training atm just to get a hang of how to
make a voice and how long it'll take
L327[09:26:04] <Syrren> gamax92: why can't
you use festival directly? there's pre-trained slt arctic voices
for that iirc
L328[09:26:15] <gamax92> because the point
is to learn about voice importing
L329[09:27:43] <gamax92> and since that's
a sorta misleading name, it's for taking wav data and info on what
is say in each wav, and making a tts voice out of that
L330[09:29:43] ⇦
Quits: Vexatos (~Vexatos@p5B3C9D9D.dip0.t-ipconnect.de) (Quit: I
guess I have to go now. Bye ✔)
L331[09:32:43] <Syrren> ah
L332[09:35:14] <Inari> %give MichiBot a
love potion
L333[09:35:16] *
MichiBot accepts the love potion and adds it to her
inventory
L334[09:37:48] <Saphire> Question
L335[09:37:56] <Saphire> Can there be
block attached cables? owo
L336[09:57:40]
⇨ Joins: SquidDev
(~SquidDev@host86-153-249-65.range86-153.btcentralplus.com)
L337[10:00:10] <MichiBot> gamax92
REMINDER: note down start time of label task
L338[10:00:33] <Inari> Saphire: ?
L340[10:14:11]
⇨ Joins: [Sarah]GreyWolf
(~Master0r0@cpc85086-haye22-2-0-cust208.17-4.cable.virginm.net)
L341[10:14:51] ⇦
Parts: [Sarah]GreyWolf
(~Master0r0@cpc85086-haye22-2-0-cust208.17-4.cable.virginm.net)
(Leaving))
L342[10:25:24] <Inari> Temia: nice ears,
okay-ish tail, bad shoes
L344[10:26:14] <AmandaC> ah, I thought it
was an addition in N
L345[10:26:38] <Syrren> OEMs have
apparently been diking it out for a while
L346[10:26:50] <Inari> s/ell/all/
L348[10:27:12] <Syrren> One regex, 3 extra
pings :P
L349[10:27:55] <AmandaC> "diking it
out"?
L351[10:30:46] <Temia> Catness
rating?
L352[10:31:10] <Inari> Pretty catty?
L353[10:31:19] <Temia> \o/
L354[10:31:48] <Temia> The more cat, the
better!
L355[10:37:58] <Inari> And the more fox
the even better
L356[10:40:00] *
Temia bribes Inari with fried tofu.
L357[10:40:50] <Inari> Haha
L358[10:41:18] <S3> screw systemd
L360[10:41:29] <S3> I am so happy somebody
stood up and gave them a pwnie
L361[10:41:55] *
Temia sips coffee. Is curious as to what happened this
time.
L362[10:42:41] <S3> this is funny
L363[10:42:43] <S3> they said:
L364[10:42:44] <S3> "Where you are
dereferencing null pointers, or writing out of bounds, or not
supporting fully qualified domain names, or giving root privileges
to any user whose name begins with a number, there's no chance that
the CVE number will referenced in either the change log or the
commit message,"
L366[10:43:09] <S3> "But CVEs aren't
really our currency any more, and only the lamest of vendors gets a
Pwnie!"
L367[10:43:35] <S3> basically: 'Systemd
wins top gong for 'lamest vendor' in Pwnie security awards'
L368[10:44:09] <Temia> Faaantastic.
L369[10:44:19] <Temia> I'm honestly
surprised Arch is still holding onto it.
L370[10:44:41] <S3> it's what the people
want
L371[10:44:54] <Izaya> there's plenty of
better alternatives
L372[10:45:25] <S3> you can organize
distributions into governments sometimes
L373[10:45:30] <Izaya> Syrren: I don't
want to extend my internal storage, I want a removable storage
device I can access with applications
L374[10:46:08]
⇨ Joins: Cervator
(~Thunderbi@2601:4c1:4000:1050:4c6:ec49:40a7:163d)
L375[10:47:40] <Izaya> if I could totally
rip out the whole 'can only access it through a bullshit Java API
that doesn't work' part that'd be wonderful
L376[10:47:49] <gamax92> oh good another
thing labeled as will take several hours
L377[10:48:20] <gamax92> oh even the
script say it, "The training procedure can take several
hours."
L378[10:50:04] <Forecaster> scraping data
from a wiki is annoying :I
L379[10:50:34] <Forecaster> especially
when there's fields that have the same titles within one
page...
L380[10:50:47] <gamax92> sounds fun
L381[10:51:28] <Forecaster> I wish all
these cards were available in a nice table
L382[10:56:48] <Forecaster> like the FF
items I scraped for Michiyo
L383[10:56:57] <Forecaster> those were all
in a table, that was easy
L384[10:57:14] <Forecaster> but these all
have their own page and a pretty annoying layout...
L385[11:04:09] <Syrren> Izaya: You're not
the only one. :)
L386[11:04:33] <Syrren> also re systemd --
which better alternatives were you referring to?
L387[11:04:48] <Syrren> (I am aware that
there are many)
L388[11:05:22]
⇨ Joins: sciguyryan (~sciguyrya@185.92.25.36)
L390[11:09:06] <Forecaster> os
L391[11:09:07] <S3> Inari: when we gettin
low profile scheduling in multice?
L393[11:09:11] <S3> Izaya: &
L394[11:09:14] ⇦
Quits: sciguyryan (~sciguyrya@185.92.25.36) (Client
Quit)
L395[11:09:14] <S3> not Inari
L396[11:09:19] <Inari> pls
L397[11:09:30] <S3> gotta stop hitting i
and tab
L399[11:09:32] <Inari> Why are you so
lazy
L400[11:09:37] <S3> HEHEHE
L402[11:10:17] <S3> does it work?
L403[11:10:27] <S3> waaait
L404[11:10:41] <S3> what's this
L405[11:11:08] <Inari> Thats PsychOS
L406[11:11:15] <S3> well yes but
L407[11:11:26] <S3> what's so special
about it
L408[11:11:35] <Inari> Dunno
L409[11:11:38] <Inari> It's psychic?
L410[11:11:52] <S3> I really want to make
an OS for OC that is just pure functional style
L411[11:12:05] <S3> how does it differ
from multice?
L412[11:12:27] <Izaya> S3: cleaner, better
scheduler, event API
L413[11:12:41] <S3> is it meant to fit on
a uc like multice?
L414[11:12:48] <Izaya> readable code
L415[11:12:52] <S3> I see
L416[11:12:54] <Izaya> not really
L417[11:13:14] <Izaya> now that I have
workable netboot...
L419[11:14:16] <S3> huh..
event.pull...
L420[11:14:27] <S3> so your processes are
actually sleeping now until they have something to do?
L421[11:14:58] <S3> I realized something
about my actor model thing that sort of made it stupid
L422[11:15:02] <S3> I was naming my actors
by string
L423[11:15:15] <S3> but pid numbers are
not hard to handle
L424[11:15:49] <S3> If I made an os I
think I'd use 3 sgment pids
L425[11:16:01] <S3> {a, b, c}
L426[11:16:03] <Izaya> S3: as much as they
can
L427[11:16:27] <S3> a would be the node in
a cluster it's on, b would be the pid number on that node, and c
would be how many times it has restarted from a crash
L428[11:16:41] <S3> in printable context
as a.b.c
L429[11:16:41] <Izaya> scheduler also pays
attention to how many events are queued
L431[11:17:42] <Izaya> so a process with 5
events queued runs 5x/cycle while one with two queued runs 2x
L433[11:18:34] <S3> I was working on
making it like a bucket of messages
L434[11:19:14] <S3> so if you got 5
messages in your box by the time you had some cpu time
L435[11:19:19] <S3> you'd just process as
much as you want
L436[11:19:24] <S3> the message box is an
fifo
L437[11:31:41] ⇦
Quits: techno156 (~techno156@137.154.29.33) (Quit:
Leaving)
L438[11:43:10] <Skye> I kinda want to make
something that would be pointless but kinda cool
L439[11:44:33] <S3> Skye: make a sun
mill
L440[11:44:40] *
Saphire pokes Michiyo again
L441[11:44:49] <Skye> S3, I want to make a
driver abstraction thing for OC
L442[11:44:52] <S3> aka, a
radiometer
L444[11:45:00] <S3> Skye: there's a
problem
L445[11:45:07] <Skye> throw it at me
L446[11:45:14] <Mimiru> ?
L447[11:45:17] <S3> how the heck is that
going to work, if every os has a different way of accessing
components?
L448[11:45:58] <Skye> S3, that's exactly
the point it was trying to solve
L449[11:46:20] <Skye> provide a
"standard" component API that it will do the translation
for
L450[11:46:24] <S3> in the Os I started
writing, pulling events is very different for example
L451[11:46:32] <Mimiru> Saphire, ?
L452[11:46:50] <S3> in my OS the only
thing that can pull events from OC is the kernel itself.
L453[11:47:04] <Skye> S3, the idea was to
abstract it
L454[11:47:11] <Skye> so you didn't have
actual access to events
L456[11:47:49] <Skye> you could go "I
need modem_message", tell me when that happens, but that's
about it.
L458[11:47:57] <Skye> whatever
L459[11:47:59] <Skye> well
L460[11:48:02] <Skye> all
theoretically
L462[11:48:09] <Skye> this was like my
first OC idea
L463[11:48:21] <Skye> there were many
reasons why I dropped it
L464[11:48:29] <Skye> actually correction,
it was my third.
L465[11:48:53] <Skye> first was... an idea
for a map, went nowhere. next was miniOS. then that thing
L466[11:49:12] *
Mimiru shrugs
L467[11:49:42] <S3> I think that a driver
interface would go against my OS's design rules
L468[11:49:48] <S3> not with the event
thing
L469[11:49:57] <S3> but with the design of
drivers thing
L470[11:52:02] <S3> in my design it's
against the 'rules' to hold onto any information in a variable that
will continue to live when the function exits.
L471[11:52:16] <S3> makes event handling
exciting
L472[11:52:28] <Skye> S3, the
"idea" of drivers is to be an interface between the raw
component and the rest of the world. For simple things, it's
probably overhead, but it could be useful in certain cases, say a
redstone card driver that actually told you which trigged the
event. :P
L473[11:52:48] <Skye> S3, so no
globals?
L474[11:52:50] <S3> Skye: if you can find
a way to make it work without ANY state at all
L475[11:53:08] <S3> Skye: correct. Besides
what you can't control as part of the runtime of the language
L476[11:53:21] <S3> of course, functions
are variables, they are the exception, to an extent
L477[11:53:27] <S3> as long as they don't
provide side effects
L478[11:53:40] <S3> for example, you want
to store "foo" into x
L479[11:53:43] <Skye> S3, the drivers will
be sandboxed and isolated completely from the rest of the
system.
L480[11:53:51] <S3> so you make a global
function x() that returns "foo" <-- this is also
bad
L481[11:54:28] <Skye> theoretically... you
could even filter things, so functions aren't passed between
them
L482[11:54:38] <S3> could
L483[11:54:52] <S3> I'm not worried about
removing the ability to do so
L484[11:55:14] <S3> rules in the real
world can be broken, but there are consequences
L485[11:55:48] <S3> in this scenario, the
consequences are often side effects and compromising stability,
security, etc.
L486[11:55:56] <gamax92> father got this
super chinese looking box, it's a set of wireless(with ports for
wires) speakers
L487[11:56:09] <S3> gamax92: ooh?
L488[11:56:32] <Skye> S3, well... could
state be safely isolated in a sandbox (like only core lua libs +
core driver stuffs).
L489[11:57:01] <gamax92> when you turn it
on it says: Da bluechooh devich is ready chu pair
L490[11:57:13] <S3> gamax92: XD
L491[11:57:25] <S3> Skye: it's not
recommended
L492[11:57:37] <S3> Skye: not unless you
fired up a registry process
L493[11:57:50] <Skye> S3, what does that
mean?
L494[11:57:56] <S3> you can do a registry
loop
L495[11:57:59] <S3> for example
L496[11:58:26] <S3> lets say you need to
store something
L497[11:58:35] <S3> something that's
persistent
L498[11:58:43] <S3> yu can have a function
somewhere that uses TCO
L499[11:58:45] <S3> and loops
forever
L500[11:58:52] <S3> return its own
state
L501[11:59:10] <S3> function
foo(state)
L502[11:59:14]
⇨ Joins: brandon3055_
(~Brandon@pa49-185-229-93.pa.vic.optusnet.com.au)
L503[11:59:21] <S3> return
foo(state)
L505[11:59:29] <Skye> I tried to make a
little emulator thing like that
L506[11:59:30] <S3> of course it's not
this easy
L507[11:59:33] <S3> and that example looks
very retarded
L508[11:59:35] <Skye> it... was
horrible
L509[11:59:50] <Skye> but was an
interesting thing to work around
L510[12:00:16] <S3> if you do it right you
can have helpers do this for you
L511[12:00:19] <Skye> S3, what if you
pretended that the driver sandbox was a giant function.
L512[12:00:25] <Skye> that didn't
end
L514[12:01:03] <S3> imagine that you have
a driver that is just a bunch of function callbacks
L515[12:01:08] <S3> but underneath it
loops with its state
L516[12:01:18] <S3> the callbacks pass the
state of the driver to the function call
L517[12:01:26] ⇦
Quits: brandon3055
(~Brandon@pa49-185-229-93.pa.vic.optusnet.com.au) (Ping timeout:
186 seconds)
L518[12:01:37] <S3> and you return the
next state of the driver in those callbacks, and any return values
for the callback if it's syncronous call
L519[12:01:44] <S3> that's one way to do
it
L520[12:01:56] <S3> function
on_keyboard_input(state, key_pressed)
L521[12:02:04] <S3> -- Do stuff
L522[12:02:07] <Skye> S3, the problem
is... if the driver sandbox is agnostic, then you can't gaurentee
that the programmers of drivers will care about your OS. :P
L523[12:02:08] <S3> return state
L525[12:02:24] <S3> right
L526[12:02:28] <S3> well you never can
anyways
L527[12:02:41] <S3> the only way I can
truly enforce this is to make my own language
L528[12:02:45] <S3> which, I did think of
it
L529[12:03:20] <S3> I pondered what it
would be like to create a lexer using lua patterns in pure
lua
L530[12:03:22] <S3> and a parser
L531[12:03:44] <S3> and just make a parse
tree that compiles to Lua
L532[12:04:09] <S3> something like Selene,
but even more powerful syntax wise
L533[12:04:28] <S3> btw, making your own
lexer is easy
L534[12:04:56] <S3> and it's so easy that
with the correct setup you can make the lexer syntax just Lua
code
L535[12:05:07] <Skye> S3, well... If I
ever make anything, the sandbox would be really strict.
L536[12:05:09] <S3> and read ENV or get
callbacks
L538[12:05:32] <S3> a huge problem I have
with Lua
L539[12:05:35] <S3> is that I dislike Lua
patterns
L540[12:05:41] <S3> 'I really wish Lua had
pcre
L541[12:05:54] <S3> but then it'd be
larger and harder to port so I understand why they did it
L542[12:06:07] <Skye> S3, IIRC it's the
size of all of Lua
L544[12:06:41] <S3> right, but I mean, Lua
doesn't reallyt depend on anything
L545[12:06:47] <S3> and it even has its
own hand written makefile
L546[12:06:53] <S3> so it's easy to ship
code and build it anywhere
L547[12:07:04] <S3> man I should do this
now
L548[12:07:09] <S3> Skye: ever used yacc
or flex?
L549[12:07:13] <Skye> nope
L550[12:07:17] <Skye> wait
L551[12:07:25] <Skye> a lexer is the thing
that turns an input into tokens, right
L553[12:07:31] <Skye> if so, then I've
actually made one
L554[12:07:33] <Skye> in Python
L555[12:07:37] <S3> and the parser takes
toens and recursively runs code on them
L557[12:07:41] <Skye> I got stuck at the
parsing stage
L558[12:07:48] <S3> I'm thinking of making
one that has its syntax in lua
L559[12:07:51] <S3> and generates lua
code
L560[12:07:51] <Skye> didn't know about
ASTs at the time
L561[12:08:00] <S3> all in pure lua just
using lua patterns
L562[12:08:18] <S3> with it, you could
easily make a shell for your OS
L564[12:08:29] <S3> in my case an entire
programming language that compiles to Lua code
L565[12:09:42] <S3> I think it'd be easy
to make the lexer part at least
L566[12:11:02] <S3> Skye: Elixir leex
makes it super easy to understand irrelevant to if you know elixir
or not
L568[12:11:17] <dhg2> DBZ
FOREVER!!!!!!!!!
L569[12:11:18] ⇦
Parts: dhg2 (~pmm@46.158.147.147.dyn.plus.net) ())
L570[12:11:23] <S3> in the lua case, I
could have Lua patterns on the left and tokeniizing on the
right
L571[12:11:34] <S3> here, we have pcre
regex and tuples on the right
L572[12:11:44] <S3> it's just elixir code
in disguise
L573[12:11:46] <Skye> I would like Lua
with C like syntax
L574[12:11:55] <S3> I have thought of that
in the past
L575[12:12:44] <S3> actually, this is an
entire elixir lexer:
L577[12:13:10] <S3> I could do it
something similar to that
L578[12:13:13] <S3> bbut of course, lua
code
L579[12:13:21] <S3> {} is used for tables
so it wouldn't look much different
L580[12:14:01] <Skye> that's a
problem
L582[12:14:41] <S3> in Lua, patterns might
have to be strings
L583[12:15:08] <Skye> I mean for a C like
Lua
L584[12:15:20] <Skye> would {}
conflict
L587[12:15:29] <Skye> with tables and code
blocks...
L588[12:15:35] <S3> well why would
is
L589[12:15:52] <S3> the lexer just takes
patterns and runs elixir code that returns some data structure that
the lexer expects
L590[12:16:05] <S3> which then takes it
and builds a token list
L591[12:16:33] <S3> however, how would you
do Lua <--> c like lua interop
L592[12:16:44] <S3> if you wanted to share
table data with C like lua how would you do it?
L593[12:16:54] <S3> I want to make an
elixir like language, though lighter in weight
L594[12:17:09] <S3> and in my case, I can
support all the datatypes of lua
L595[12:17:11] <Skye> I mean with a C like
Lua, it'd just be Lua with more C like syntax
L596[12:17:12] <Skye> that's all
L597[12:17:19] <S3> right
L598[12:17:34] <Skye> function example()
blah end
L599[12:17:36] <S3> I should fire up a git
repo to build a lexer
L600[12:17:41] <Skye> function example() {
blah }
L601[12:17:51] <S3> because I mean, a
lexer could be useful for Izaya or somebody to make a full
shell
L602[12:17:54] <S3> for their OS
L603[12:18:04] <S3> it really saves a lot
of time hand parsing
L604[12:18:52] <S3> I wonder what the
syntax could look lie
L605[12:18:54] <S3> like*
L606[12:18:57] <S3> (for the lexer)
L607[12:19:02] <Skye> S3, Izaya uses Lua
as the shell
L608[12:19:06] <S3> patterns will have to
be kept inside of strings
L609[12:19:24] <S3>
"%d%d/%d%d/%d%d%d%d"
L611[12:19:51] <S3> but I was just giving
the example of making your own shell language for example
L612[12:20:31] <S3> I think I can make my
language easier to parse if I disalllow statements
L613[12:20:34] <S3> and only have
expressions
L614[12:20:40] <S3> so everything is 100%
recursive
L615[12:22:44] <gamax92> 10/10 htk, you
have a log file, but you don't line buffer or flush it
L617[12:23:39]
⇨ Joins: Nathan1852
(~Nathan185@HSI-KBW-37-209-119-29.hsi15.kabel-badenwuerttemberg.de)
L618[12:25:42] <S3> are there any Lua
symbols besides _ I can make function names with?
L619[12:25:45] <S3> : definately doesn't
work
L621[12:28:03] <Skye> S3, random symbols
that probably won't work $ ? € ` | ¦ ¬
L623[12:28:26] <S3> I could use
underscore
L624[12:28:27] <S3> though..
L625[12:28:39] <S3> YEAH!
L626[12:29:38] <S3> Okay I swore this
worked in 5.2 and up:
L627[12:29:41] <S3> > function
_(pattern) return function(ret) end end
L628[12:29:41] <S3> > _
"%d\n", {}
L629[12:29:52] <S3> no it doesn't but you
know what does
L630[12:30:02] <S3> this does:
L631[12:30:02] <S3> > _
"%d\n" {}
L632[12:30:09] <S3> so you could have a
line like,
L633[12:30:41] <S3> _ "%s\n"
{"token", {blargh!}}
L634[12:30:46] <S3> for each line
L635[12:30:53] <S3> and _ would just push
it onto the token list
L636[12:31:08] <Skye> %lua
L637[12:31:12] <Skye> %lua print(0)
L638[12:31:12] <MichiBot> 0
L639[12:31:26] <Skye> %lua _ = print
L640[12:31:32] <Skye> %lua _(1)
L641[12:31:32] <MichiBot> 1
L642[12:31:40] <Skye> %lua _
"test"
L643[12:31:40] <MichiBot> test
L644[12:31:45] <Skye> %lua _ {}
L645[12:31:45] <MichiBot> table:
0x7fc620002bb0
L646[12:31:49] <Skye> %lua _
"test",{}
L647[12:31:49] <MichiBot> test | nil,
table: 0x7fc5f0004370
L648[12:31:59] <Skye> %lua _ "This
seems to work, S3", {}
L649[12:31:59] <MichiBot> This seems to
work, S3 | nil, table: 0x7fc6200041e0
L650[12:32:18] <Skye> %lua
_(_VERSION)
L651[12:32:19] <MichiBot> Lua 5.2
L652[12:32:22] <S3> do you think _
"pattern" {tokenstuff} is better
L653[12:32:28] <S3> or _
"pattern", {tokenstuff}
L654[12:32:38] <S3> _ just means
"push to token list"
L655[12:32:53] <Skye> %lua _ "does
this work" {}
L656[12:32:53] <MichiBot> does this work |
main:1: attempt to call a nil value
L657[12:33:02] <Skye> uh...
L658[12:33:05] <S3> you have to do an
inline function
L659[12:33:28] <Skye> what do you
mean
L660[12:33:52] <S3> %lua _ =
function(pattern) return function(tokens) end end
L661[12:33:55] <S3> now it would
work
L662[12:34:20] <S3> the way this works, is
that if you only have one argument to your functon you don't need
parenthesis
L663[12:34:23] <S3> and this is
recursive
L664[12:34:26] <Skye> %lua _ =
function(pattern) return function(tokens) end end
L665[12:34:29] <S3> so if you return a
function that takes the next parameter..
L666[12:34:37] <Skye> %lua _
"test" {}
L667[12:34:39] <Skye> wait
L668[12:34:41] <S3> then you can have two
args with no comma
L669[12:34:41] <Skye> argh!
L670[12:34:54] <S3> it's useful for making
config file syntax :D
L671[12:34:56] <gamax92> mmmmmh ....
L672[12:34:57] <Skye> %lua _ =
function(pattern) return function(tokens) print(pattern, tokens)
end end
L673[12:35:01] <Skye> %lua _
"test" {}
L674[12:35:01] <MichiBot> test, table:
0x7fc5ec001f20
L675[12:35:04] <gamax92> I accidentally
crashed the test program.
L677[12:35:20] ⇦
Quits: SquidDev
(~SquidDev@host86-153-249-65.range86-153.btcentralplus.com) (Quit:
<quit message here>)
L678[12:35:24] <S3> neat eh
L679[12:35:32] <S3> #luaabuse
L680[12:35:32] <gamax92> so I have to go
through the retraining, that took an hour and a half
L681[12:35:40] <gamax92> ffs
L682[12:36:12] <S3> Skye: think, or no
comma is better?
L683[12:36:27] <S3> I wish we could use
something other than _
L684[12:36:29] <S3> like :
L685[12:36:39] <S3> because then you could
do
L686[12:36:47] <S3> "pattern" :
{blargh}
L687[12:37:09] <S3> and just iterate every
line of the file as a function instead of one lua script
L688[12:37:26] <gamax92> S3:
enaughlbuerlb
L689[12:37:33] <S3> I have a better
idea!
L690[12:37:39] <S3> gamax92: hey
L691[12:38:02] <S3> Skye: rule
"pattern", {tokens} (or: rule "pattern"
{tokens})
L692[12:41:49] <Skye> S3, neat
L693[12:43:06] <gamax92> these tools are
not multi threaded and only take up a single core
L694[12:44:59] <S3> Skye: hows this
look?
L695[12:45:03] <S3> rule '%d%d' {'token',
{'number', token_value}}
L696[12:45:03] <S3> Pattern:
"%d%d", Tokens: { [1] = token,[2] = { [1] = number,}
,}
L697[12:45:28] <S3> in this case,
token_value is a function that returns the value of the line when
parsing
L698[12:45:32] <S3> tokenizing*
L699[12:45:34] <Skye> I don't understand a
thing! :D
L701[12:46:02] <S3> what don't you
understand?
L702[12:47:19] <Skye> it just goes over my
head, and I'm a bit distracted
L704[12:48:40]
<Laine_prikol> ТАК
L705[12:51:21]
<DISCORD_ZOND> чё это такое
L706[12:53:16]
<DISCORD_ZOND> хрень сервак фингеркомп не
отвечает
L707[13:07:31] <gamax92> S3: "Does
anyone know how I can hide/get rid of those scratches?"
"Probably not the answer you want but the only way to fix that
is to carefully scratch up the rest like it was the intended
design."
L708[13:07:50] <S3> ......
L709[13:08:25] <Temia> So... brushed
metal? :o
L710[13:09:22] <gamax92> brushed metal
cooking pot
L711[13:22:58] <S3> Skye: does this make
more sense?
L713[13:23:32] <S3> it's a parser syntax
that grabs dates, numbers, and atoms out of a string
L714[13:23:52] *
Skye shrugs
L715[13:24:06]
⇨ Joins: Vexatos
(~Vexatos@p5B3C9D9D.dip0.t-ipconnect.de)
L716[13:24:06]
zsh sets mode: +v on Vexatos
L717[13:24:08]
⇨ Joins: MalkContent
(~MalkConte@p4FDCC7A9.dip0.t-ipconnect.de)
L718[13:24:11] <S3> basically
L719[13:24:23] <S3> you define what
everything in your language looks like using patterns
L720[13:24:29] <S3> here I assign pattersn
to variables to make it cleaner
L721[13:24:44] <S3> and then I call the
rule() function to define how to process the tokens
L722[13:25:02] <S3> it's -just- lua
code.
L723[13:26:51] <MalkContent> sidequestion,
regex in lua had some limitations, right?
L724[13:28:07] <gamax92> yeah, it doesn't
exist and lua instead has patterns
L725[13:29:04] <Skye> regex is basically
the size of Lua
L726[13:29:10] <Skye> so... they
considered it bloat
L727[13:31:20]
⇨ Joins: SquidDev
(~SquidDev@host86-153-249-65.range86-153.btcentralplus.com)
L728[13:32:06] <MalkContent> gotta read up
on that again
L729[13:33:02] <gamax92> there are so many
differences between regex and lua patterns that it's basically a
good idea to not consider patterns related to regex or as if they
were some subset of regex.
L730[13:50:35] <Dustpuppy> gamax92: why is
your tar not anymore on github?
L732[13:56:22] *
Saphire brushes Temia
L733[13:57:22] *
Temia earperks! leans and tailswishes. =w=
L734[13:58:06] ⇦
Quits: SquidDev
(~SquidDev@host86-153-249-65.range86-153.btcentralplus.com) (Quit:
<quit message here>)
L736[14:00:08] <S3> ROFL*
L737[14:00:18] <S3> I left a 60 pound bag
of concrete out in the rain last week
L738[14:00:47] <S3> good thing it's <
$6
L739[14:01:32] <Dustpuppy> now you have
square stone
L740[14:02:27] ⇦
Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Read
error: Connection reset by peer)
L741[14:02:48]
⇨ Joins: Nachtara
(~Nachiebre@173-22-110-5.client.mchsi.com)
L742[14:16:35]
⇨ Joins: BobbyTables2012
(~EiraIRC@47-51-43-210.static.mtpk.ca.charter.com)
L743[14:43:54] <BobbyTables2012> hi
L744[14:54:54] <Dustpuppy> hi
L745[14:55:04] <BobbyTables2012> hi
L746[14:55:51] <Temia> Hi
L747[15:04:47]
⇨ Joins: Doty1154 (~Doty1154@179.43.188.214)
L748[15:04:53] <Temia> Bye :V
L749[15:14:18] <gamax92> mmmmmmh....
L750[15:14:30] <gamax92> This has openmp
support, but is not enabled by default
L751[15:15:05] <Dustpuppy> also on your
github i can't find it
L752[15:15:09] <Dustpuppy> or i am
blind
L753[15:16:45] <gamax92> Dustpuppy: my tar
has been depreciated in favor for mpmxyz's tar
L754[15:16:48]
⇨ Joins: SquidDev
(~SquidDev@host86-153-249-65.range86-153.btcentralplus.com)
L755[15:17:04] <gamax92> installing tar
will simply just pull in mpm.tar
L756[15:17:08] <Dustpuppy> ah...ok. i am
using this now too :-)
L757[15:17:44] <Dustpuppy> i am not
installing it. using it for my install routine for the window
manager
L758[15:18:34] <gamax92> just make your wm
depend on mpm.tar
L759[15:18:45] <gamax92> instead of
duplicating it
L760[15:19:13] <Dustpuppy> i am not using
git hub. my archive is on my own server
L761[15:19:21] ⇦
Quits: BobbyTables2012
(~EiraIRC@47-51-43-210.static.mtpk.ca.charter.com) (Remote host
closed the connection)
L762[15:20:13] <Dustpuppy> what ever. just
finished...(i hope)...think i will publish it now
L763[15:26:34] <gamax92> are you fucking
serious, this thing, where performance is absolutely important,
compiles with no optimization enabled
L765[15:31:48] <S3> optimization is dumb
anyways
L766[15:32:01] <S3> it can cause unwanted
issues
L767[15:32:11] <S3> sometimes of which are
unavoidable
L768[15:35:27] <Skye> there are two types
of code
L769[15:36:04] <Skye> code that is more
high level and theoretical that can be optimised because as long as
the end result is the same, there's no problem
L770[15:36:17] <Skye> then there's code
that is low level and touches low level things like hardware.
L771[15:36:23] <Skye> which is a bad idea
to optimise
L772[15:37:21] <S3> Skye: sometimes no
matter what level you're at, how it gets there is important
L773[15:37:45] <S3> but then again
sometimes it's not
L774[15:37:52] <gamax92> make sure you
mark your volatile when necessary
L775[15:40:50] <Skye> C is a horrible
language to optimise
L776[15:41:12] <Forecaster> wb in oc is w+
in Lua right?
L777[15:41:25] <Forecaster> or what's
"replace existing data"?
L778[15:42:21] <Skye> S3, well... ideally
it shouldn't matter. at least for most of what we waste the
processing power of computers on
L779[15:42:53] <S3> you know
L780[15:42:55] <Dustpuppy> i think, w will
replace. to append you use a
L781[15:43:11] <S3> part of our giant
waste is only part of the languages we use
L782[15:43:15] <S3> or the optimizations
we have
L783[15:43:49] <S3> cpu architectures such
as the x86 family of microprocessors have been bloating more and
more way too long..
L784[15:44:03] <S3> and cutting
corners
L785[15:45:11] <gamax92> Forecaster: wb in
oc is wb in lua because oc is supposed to mimic standard lua
L786[15:47:02] <S3> I always thought the
whole concept of w , r, b, etc was retarded
L787[15:47:16] <S3> and I'm glad some
languages don't even have it
L788[15:48:54] <Forecaster> lua doesn't
have wb from what I can see
L789[15:49:06] <Forecaster> I wish the oc
wiki would just say what they do :I
L790[15:49:17] <S3> update it
L791[15:49:21] <S3> when you find
out
L792[15:49:29] <S3> the oc wiki lacks a
lot of stuff
L793[15:49:48] <Forecaster> If I knew what
they did I would.
L794[15:49:57] <S3> it's only annoying
because I only come accross them periodically then forget about it
XD
L795[15:51:33] <MajGenRelativity> Sup
S3
L796[15:51:42] <S3> Not much
L797[15:51:49] <MajGenRelativity> Cool
cool
L798[15:52:12] <gamax92> confusing ...
there are definitely references to "wb", but the manual
doesn't list it
L799[15:53:10] <gamax92> Forecaster:
io.open just passes the string directly to fopen so yes, wb is a
thing
L800[15:53:37] <Forecaster> huh
L801[15:53:37] <S3> then it just means
write in binary mode
L802[15:53:41] <Forecaster> ah
L803[15:53:46] <Forecaster> so w is what I
want
L804[15:54:01] <S3> binary mode probably
just means that it doesn't use UTF-8 or any other encoding and does
it char by char
L805[15:54:10] <S3> ignoring multi
character symbols
L806[15:54:40] <S3> in Elixir, you don't
have file modes like that, but you have different functions for
handling that
L807[15:54:55] <S3> for example, you just
do File.open("foobar")
L808[15:55:03] <S3> but there.s IO.read,
and also IO.binread
L809[15:55:34] <S3> and that's exactly the
difference, read() handles input based on the current charset
L810[15:55:52] <S3> and binread is just
plain octets
L811[15:56:08] <gamax92> oc implements r/w
vs rb/wb by the first passing text through the unicode api and the
latter passing text through the string api
L812[15:56:25] <gamax92> the first will
definitely mangle binary data while the latter doesn't
L814[15:57:14] <S3> there's a confising
part of this though
L815[15:57:32] <S3> didn't QuickBasic have
a binary mode too? and that I don't think had much to do with the
current charset..
L816[15:57:55] <S3> I am pretty sure that
was specific to something else
L817[15:58:10] <gamax92> as far as fopen
goes, iirc linux ignores it and always just uses binary mode, while
in windows it tells it to not do line ending conversion
L819[15:58:52] <S3> that may be related to
my wonder
L820[15:59:08] <S3> that behavior could
have been in Windows throughout MS-DOS
L821[15:59:12] <gamax92> "The mode
string can also include the letter 'b' either as a last character
or as a character between the characters in any of the two-
character strings described above. This is strictly for
compatibility with C89 and has no effect; the 'b' is ignored on all
POSIX conforming systems, including Linux."
L822[15:59:43] <S3> funny thing is
L823[15:59:55] <S3> in Elixir I had a bug
the other day reading a gamecube ISO image
L824[16:00:08] <S3> and it was because I
was using .read() and it was picking up "some" characters
as multi byte
L825[16:00:26] <S3> soon as I renamed it
to .binread() it worked perfectly lol
L826[16:00:35] <S3> I was doing read(32)
and getting 34 characters XD
L827[16:02:05] <S3> so some languages may
have their own implementation of how they handle files
L828[16:02:13] <Skye> itsn't the b thing
to do with newlines
L829[16:02:26] <S3> Skye: not in
Perl
L830[16:02:32] <S3> last I checked
L831[16:02:49] <Skye> well in Lua
L832[16:02:54] <S3> maybe with Lua
L833[16:03:04] <S3> but lua supports
unicode
L834[16:03:17] <S3> so I wouldn't be
surprised if it just had to do with charset dependency
L835[16:03:34] <S3> don't use b and do a 4
character read and you could get 8 bytes
L836[16:03:36] <S3> but 4 chars
L837[16:03:52] <S3> in Perl the newline is
handled by the / variable
L838[16:04:09] <S3> however this is only
passed to readline operations
L839[16:04:22] <Forecaster> huh
L840[16:04:27] <S3> if I do $/ = undef
then if I read a line from the file the entire file reads
L841[16:04:32] <S3> kind of like Lua's
all
L842[16:04:32] <Forecaster> so I can only
paste 255 lines it seems
L843[16:04:37] <Forecaster> good to
know
L844[16:05:03] <S3> I want to make a text
editor for OC
L845[16:05:12] <S3> I think how I will do
it is that I won't
L846[16:05:20] <S3> and instead I'll write
a very powerful line editor
L847[16:05:29] <S3> and then just make a
text editor that uses the line editor as a library and stores a
buffer
L848[16:05:40] <Skye> S3, no... Lua
doesn't mess with characters
L849[16:05:47] <Skye> Lua is dumb with
strings
L850[16:05:55] <gamax92> S3: Lua supports
unicode in the way that it doesn't mess with it, it just sees
data
L851[16:05:58] <Skye> it treats them all
as... a bunch of bites
L852[16:06:01] <Skye> bytes
L853[16:06:02] <Skye> nom
L855[16:06:21] <Skye> that's why OC needed
the Unicode library before 5.3 added utf8
L857[16:07:30] <Skye> S3, OC has a custom
unicode library doing some things (implemented in Scala using the
standard library).
L858[16:07:37] <Skye> Lua 5.3 adds a utf8
library
L859[16:07:41] <gamax92> ~w unicode
L861[16:07:43] <gamax92> ~w utf8
L863[16:07:51] <gamax92> right, ocdoc
looks at the 5.2 manual
L865[16:11:21] ⇦
Quits: SquidDev
(~SquidDev@host86-153-249-65.range86-153.btcentralplus.com) (Quit:
<quit message here>)
L866[16:24:26] <MajGenRelativity> ~w
process
L868[16:24:31] <Inari> Hm
L869[16:24:41] <Inari> I need a way to
make water taste good, that isn't as much pain as making tea
L870[16:24:46] <Inari> Then again I could
try instant tea
L871[16:28:27] <Forecaster> I have soda
with my water
L872[16:29:18] <Inari> Soda has so many
calories though :<
L873[16:29:29] <Forecaster> that it
does
L874[16:29:37]
⇨ Joins: interesting_233
(~interesti@116.8.240.55)
L875[16:29:43] <Inari> Currently I have
juice mixed with water
L876[16:29:46] <Inari> But thats also too
many calories
L877[16:29:58] <interesting_233> Hi
L878[16:30:07] <Forecaster> %hello
L879[16:30:07] <MichiBot> Hello! Welcome
to #oc! The one and only opencomputers channel! Please ask your
questions directly and provide error/code examples! (Use
pastebin.com if theyre more than one line!) Dont mind the random
conversation you might have walked into.
L880[16:30:13] <gamax92> uhh okay then,
the program I got via apt-get doesn't work but the one i compiled
myself does work
L881[16:30:14] <Inari> Tea tastes good and
doesn't have many
L882[16:30:17] <Inari> But it's a pain to
keep making it
L883[16:30:29] <Inari> And on hot days I
prefer something cold :D
L884[16:30:40] <Forecaster> make lots of
tea then cool it
L885[16:30:42] <Forecaster> have ice
tea
L886[16:30:43] ⇦
Quits: interesting_233 (~interesti@116.8.240.55) (Client
Quit)
L887[16:30:51] <Inari> Yeah but thats a
pain and you need to do it in advance
L888[16:31:07] <Inari> interesting_233
wasn't very interesting
L889[16:31:08] <Forecaster> well
yeah
L890[16:31:18] <Forecaster> but you can do
a bunch at once and then store it
L891[16:31:22] <Forecaster> unlike hot
tea
L892[16:31:58] <Inari> I'm not sure icetea
even tastes that good if you don't sugar it
L893[16:32:07] <gamax92> I don't sugar
mine and it tastes good
L894[16:32:12] <Inari> Hm
L895[16:32:14] <Inari> might have to try
:P
L896[16:32:26] <Inari> How does it taste
if you heat it back up? xD
L897[16:32:26] <Forecaster> I don't even
like tea
L898[16:37:11] <Vindex> I just make 2
litres of tea
L899[16:37:25] <Vindex> and then drink it
whatever the temperature
L900[16:38:09] <Vindex> sometimes it's
even hot
L901[16:42:07] ⇦
Quits: Nachtara (~Nachiebre@173-22-110-5.client.mchsi.com) (Read
error: Connection reset by peer)
L902[16:53:11] ⇦
Quits: Nathan1852
(~Nathan185@HSI-KBW-37-209-119-29.hsi15.kabel-badenwuerttemberg.de)
(Quit: Bye :))
L903[17:00:49] <gamax92> :D the voice
works and well ... sounds exactly as bad as the official voice of
this data :P
L904[17:01:24] <Dustpuppy> does anyone
know a good server for mc 1.70.10 ?
L905[17:01:33] <Inari> 1.70.10?
L906[17:01:36] <Inari> Haven't heard of
it
L907[17:01:39] <Dustpuppy> 1.7.10
L908[17:01:42] <Dustpuppy> grrrrrrrr
L909[17:02:04] <Inari> ;D
L910[17:03:37] <gamax92> ;3
L911[17:09:42] <Inari> Dustpuppy: Have you
considered using a second gpu to draw quicker
L912[17:09:48] <Inari> On a second
computer
L913[17:10:22] <Dustpuppy> i am thinking
about. using 2 gpus. would be a chalange
L914[17:11:43] <Dustpuppy> can u gpu.copy
from one gpu to another?
L915[17:14:29] <Inari> No
L916[17:14:41] <Inari> Presumably they
migth be able to draw to the same screen at the same tim
ethough
L917[17:14:44] <Inari> At least if you use
two pcs
L918[17:23:33] <xPucTu4> btw, how to
prevent few computers connected on the same cable to print to
different screens
L919[17:24:41] <xPucTu4> somehow to tell
the pc which screen is his and which keyboard
L920[17:29:17] <Dustpuppy> use a
switch
L921[17:30:05] <xPucTu4> so every pc is
behind switch?
L922[17:40:59]
<Forecaster>
Relay
L923[17:41:14]
<Forecaster>
Is what the block is called now
L924[17:42:01]
<Forecaster>
And yes, if you only want network messages to get through and not
components that's what you use
L925[17:55:29] <AmandaC> Just finished
psycho pass 2
L926[17:55:51] <AmandaC> I now have more
Feelings™
L927[17:56:27] <AmandaC> I should focus on
bubbly happy anime for a bit I think
L928[17:57:10] <AmandaC> Gits then
psycopass, my hue is liable to become less clear
L929[18:09:13] ⇦
Quits: XDjackieXD (~XDjackieX@navi.chaosfield.at) (Ping timeout:
200 seconds)
L930[18:10:28]
⇨ Joins: XDjackieXD
(~XDjackieX@navi.chaosfield.at)
L931[18:10:28]
zsh sets mode: +v on XDjackieXD
L933[18:14:06] <AmandaC> %choose watch or
play or listen
L934[18:14:07] <MichiBot> AmandaC:
watch
L935[18:21:12] <AshIndigo> %choose jump
and probably die or nah
L936[18:21:13] <MichiBot> AshIndigo:
nah
L937[18:33:31] <AmandaC> %choose tv or
laptop
L938[18:33:32] <MichiBot> AmandaC:
tv
L939[18:38:30] ⇦
Quits: MalkContent (~MalkConte@p4FDCC7A9.dip0.t-ipconnect.de)
(Quit: Leaving)
L940[18:42:12]
<logan2611>
%choose pc or console
L941[18:42:13] <MichiBot> logan2611:
console
L942[18:42:16]
<logan2611>
:0
L943[18:44:48] <Izaya> ~w component
L945[18:45:18] <CompanionCube> Izaya: why
not just bookmark the URLs
L946[18:45:36] <Izaya> don't really use
bookmarks
L947[18:45:59]
⇨ Joins: Nachtara
(~Nachiebre@173-22-110-5.client.mchsi.com)
L948[19:01:19] ⇦
Quits: Inari (~Pinkishu@p4FC1E652.dip0.t-ipconnect.de) (Quit: 'For
science? No! For tuna!')
L949[19:04:08] <S3> I create bookmarks; I
don't use them
L950[19:04:17] <S3> by the time I try,
they are all 404
L951[19:14:55] <AshIndigo> I just hoard
tabs
L952[19:15:01] <AshIndigo> It works well
enough
L953[19:15:30]
⇨ Joins: BobbyTables2012
(~EiraIRC@47-51-43-210.static.mtpk.ca.charter.com)
L954[19:18:39] <S3> WHAT THE
L955[19:19:13] <Vexatos> But that is so
messy
L956[19:19:25] <Vexatos> unless I am doing
research, I never have more than five tabs open at once :I
L957[19:19:37] <S3> Vexatos: you know
what's fucking messy, and funny as shit (LITERALLY)
L958[19:19:48] <S3> article in the nearby
town paper today
L960[19:20:04] <Vexatos> shitty news
:I
L961[19:20:08] <S3> ahaha
L962[19:20:23] <S3> This is why I go there
in like october
L963[19:20:27] <S3> when it's like 40
degrees out
L964[19:20:30] ⇦
Quits: Cervator (~Thunderbi@2601:4c1:4000:1050:4c6:ec49:40a7:163d)
(Ping timeout: 201 seconds)
L965[19:20:31] <S3> and nobody else is
there
L966[19:21:11] <Izaya> Vexatos: I often
get to 100 times that
L967[19:25:04]
⇨ Joins: Cervator
(~Thunderbi@2601:4c1:4000:1050:a4f4:9f60:1608:42c9)
L969[19:29:52] <MichiBot>
The Spherical
Droste Effect, with added twist and recursion. | length:
7m
2s | Likes:
6,954 Dislikes:
30 Views:
150,469 | by
standupmaths | Published On 28/6/2016
L970[19:31:27] ⇦
Quits: Vexatos (~Vexatos@p5B3C9D9D.dip0.t-ipconnect.de) (Quit: I
guess I have to go now. Bye ✔)
L971[19:46:46] <S3> wow that video is
amazing
L972[19:53:13] ⇦
Quits: BobbyTables2012
(~EiraIRC@47-51-43-210.static.mtpk.ca.charter.com) (Remote host
closed the connection)
L973[19:58:25] <S3> man that is the
freakiest os design for OC ever
L974[20:40:13]
⇨ Joins: OneM_Industries
(~Hello@donotspellitgav.in)
L975[20:40:31] <OneM_Industries> Hello! Is
there an easy way to wipe a HDD in OC?
L976[20:43:45] <OneM_Industries> I'm
asking because I'm trying to reinstall OpenOS, and it isn't
cooperating.
L977[20:45:30] <Izaya> shift-rightclick
while holding it twice
L978[20:47:18] <OneM_Industries> That
isn't doing anything.
L979[20:50:43] <OneM_Industries> I'm on
1.7.10, if it makes a difference.
L980[20:52:18] <OneM_Industries> Ah, no
shift.
L981[20:53:15] <OneM_Industries>
Hunh.
L982[20:55:55] <OneM_Industries> Izaya:
I've tried right clicking with and without shifting, and it's not
erasing the drive.
L983[20:56:06] <Mimiru> do you have sneak
bound to something else?
L984[20:56:12] <OneM_Industries> No.
L985[20:56:21] <Mimiru> sneak click should
switch the drive to "managed mode"
L986[20:56:38] <OneM_Industries> It's
already on managed mode.
L987[20:56:38] <Mimiru> err
L988[20:56:41] <Mimiru> unmanaged
mode*
L989[20:56:57] <OneM_Industries> Ok.
L990[20:57:10] <Mimiru> switching again
will go back to managed
L991[20:57:21] <OneM_Industries> Ok.
L992[20:57:58] <OneM_Industries> Still has
everything on it.
L993[20:58:13] <OneM_Industries> Should I
give up and make a new drive?
L994[20:58:18] ⇦
Quits: Sava (~Sava@cable-178-148-185-58.dynamic.sbb.rs) (Ping
timeout: 383 seconds)
L995[21:02:32]
⇨ Joins: Sava
(~Sava@cable-178-148-185-58.dynamic.sbb.rs)
L996[21:11:22] <Izaya> OneM_Industries:
why not just rm -r on it?
L997[21:19:04] <gamax92> damn, a unit
selection voice sounds a lot better than the hidden markov model
voice synthesis
L998[21:19:11] <gamax92> a lot faster
too
L999[21:19:56]
⇨ Joins: Xal_
(~Xal@s010664777dabacc3.vw.shawcable.net)
L1000[21:21:17] <gamax92> hmm, it does
pretty poorly on words that aren't in it's training data, but it
sounds a hell of a lot better, so I'm just going to go feed more
and more data into it
L1001[21:23:07] <gamax92> I can't tell
wtf is wrong with marytts but it keep locking up in the middle of
saying words
L1002[21:23:16]
⇦ Quits: Turtle (~SentientT@ip5657cbb2.direct-adsl.nl) (Read
error: Connection reset by peer)
L1003[21:24:14] <OneM_Industries> Izaya:
Did that.
L1004[21:24:21] <OneM_Industries> It's
still complaining.
L1005[21:25:31] <Izaya> OneM_Industries:
from the live floppy?
L1006[21:25:37] <OneM_Industries>
Yes.
L1007[21:26:03] <Izaya> wat.
L1009[21:31:16] <Izaya> I should, in
theory, be able to assemble the system from on the system now
L1010[21:32:37] <OneM_Industries> The
problem I'm getting is, every time I try running install, I get
"cp: cannot write a directory, "/mnt/4b6" into
itself, "/mnt/4b6"
L1011[21:40:37] <Izaya> you're booting
from it
L1012[21:41:03] <Izaya> remove the HDD,
put in the floppy, start it up, put it back in and try again
L1013[22:10:54] <OneM_Industries> Did
that.
L1014[22:17:20] <OneM_Industries> That
error is with me having done that.
L1015[22:18:17] <Izaya> any arguments to
install?
L1016[22:21:26] ***
Xal_ is now known as Xal
L1017[22:25:33] <gamax92> "The
output directory, under HTKLabeler settings HTKLabeler.outputLabDir
should correspond with db.LabDir under Global Settings."
L1018[22:25:46] <gamax92> Why can't you
just set these two to the same thing by default and how did this
work before
L1019[22:29:33] <gamax92> I guess it was
using the lab files from the EHMMLabeler
L1020[22:30:45] <OneM_Industries> Izaya:
Nope, no arguments.
L1021[23:06:02]
⇦ Quits: BearishMushroom
(~BearishMu@78-73-0-138-no159.tbcn.telia.com) (Read error:
Connection reset by peer)