devyn changed the topic of #elliottcable to: a super duper cult :)
yorick has quit [Remote host closed the connection]
ELLIOTTCABLE changed the topic of #elliottcable to: a _better_ cult ˙ ͜ʟ˙ embrace, extend, extinguish.
<devyn>
-cult
<devyn>
-learn cult = of personality (#ELLIOTTCABLE)
<purr>
devyn: Learned `cult`.
<ELLIOTTCABLE>
nope
<ELLIOTTCABLE>
-learn cult = we actually sacrifice virgins.
<purr>
ELLIOTTCABLE: Learned `cult`.
<devyn>
-learn cult = s/\.$/ (both human and sheep).
<purr>
devyn: Learned `cult`.
<devyn>
oh
<devyn>
-cult
<purr>
devyn: s/\.$/ (both human and sheep).
<devyn>
yeah oops
<devyn>
lol
<purr>
lol
<devyn>
-learn cult = we actually sacrifice virgins.
<purr>
devyn: Learned `cult`.
<devyn>
-learn cult =~ s/\.$/ (both human and sheep).
<purr>
devyn: SyntaxError: Syntax is `s/expression/replacetext/gi`.
<devyn>
-learn cult =~ s/\.$/ (both human and sheep)./
<purr>
devyn: Changed `cult` to: we actually sacrifice virgins (both human and sheep).
<devyn>
whee.
<devyn>
ELLIOTTCABLE: yeah there's a lot of responsibility issues actually. tried writing a more complex routine that actually takes a caller and stuff and I don't think it's possible
<devyn>
a surprising number of people don't seem to know that you can do :'--update' and :'--init'
<devyn>
and think symbols are only for identifiers
<devyn>
in any case, I don't even know why they're using symbols there at all
<devyn>
there's no point
<joelteon>
yeah, that's my question
<joelteon>
why use symbols there
<joelteon>
i know you can make a symbol out of anything without \0
<joelteon>
if you're gonna symbol everything, why half-ass it
<devyn>
hell they could have just done execute *%w{git submodule --update --init} if they needed to pass separate arguments
<joelteon>
yeah, i also know splat syntax
<joelteon>
i'm just saying, what's with people using symbols
<devyn>
*shrug* people overuse them because they're convenient, I guess
<purr>
¯\(º_o)/¯
<devyn>
I know a lot of poorly written ruby webapps suffer from accidentally interning user data, which leads to a memory leak
<joelteon>
no way
<devyn>
yes way
<devyn>
string → symbol conversion is waaaay too convenient in ruby
<devyn>
"hello".to_sym, or "hello".intern
<joelteon>
you're telling me ruby webapps suffer from memory leaks?
<devyn>
lol
<purr>
lol
<devyn>
now, now
<devyn>
well written ones don't
<devyn>
:p
<devyn>
we're talking monkey code.
<devyn>
and you can leak memory in any language.
<joelteon>
ook ook
<devyn>
hell, Python's refcounting is a pretty big source of memory leaks for those who aren't aware of it, last time I checked
<devyn>
though, admittedly that was a while ago
<devyn>
seems like maybe they have cycle detection or gc or something now?
<devyn>
maybe they always did?
<devyn>
lol
<purr>
lol
<devyn>
never mind then
<devyn>
lol
gozala has quit [Quit: Connection closed for inactivity]
mcc has joined #elliottcable
Sorella has quit [Quit: Ex-Chat]
mcc has quit [Read error: Connection reset by peer]
mcc has joined #elliottcable
alexgord_ has quit [Quit: Computer has gone to sleep.]
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
kaplan is now known as Asalamualeykom
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
manveru has quit [Read error: Connection reset by peer]
manveru_ has joined #elliottcable
ag_dubs has quit [Ping timeout: 272 seconds]
ag_dubs has joined #elliottcable
Rusky has quit [Quit: Leaving.]
Rusky has joined #elliottcable
mcc has quit [Quit: This computer has gone to sleep]
Rusky has quit [Client Quit]
Rusky has joined #elliottcable
eligrey has quit [Quit: Leaving]
Rusky has quit [Client Quit]
Rusky has joined #elliottcable
Asalamualeykom is now known as kaplan
danpalmer has joined #elliottcable
danpalmer has quit [Client Quit]
judofyr has joined #elliottcable
<devyn>
ELLIOTTCABLE: [infrastructure execution stage[] [caller] []; infrastructure execution unstage[]] is unsafe to do because the caller may call us again before we've called unstage[]
<devyn>
for example, the call may end up at the semicolon, or between infrastructure and execution, or anywhere after that stage[] call really
<devyn>
so yeah
<devyn>
so basically, Paws doesn't even work right now, and I think even with responsibility it would still be broken right now
<devyn>
:/
<judofyr>
devyn: how's your Paws coming along? been a while since I've been online.
<devyn>
judofyr: I wrote a Paws in Rust… it's currently several orders of magnitude faster than Paws.js and can handle parallelism
<judofyr>
nice. except it's kinda broken because of this issue?
<judofyr>
or, I guess it's the current Paws spec that's broken
<devyn>
well, no, Paws in general is broken because of this issue, haha
<devyn>
yeah
<devyn>
and we're only realizing exactly how large the scope of the issues are now that I've got a parallel impl working
<devyn>
the only reason the parallel impl runs the examples is… well, essentially the opposite of a race condition; it ends up being more ordered than you'd expect even though you didn't explicitly order it
<devyn>
so yeah.
<judofyr>
cool
<judofyr>
devyn: so, what do you think about Paws now after implementing it?
kaplan is now known as mullahkaplan
<judofyr>
ELLIOTTCABLE: hah. I noticed you commented on Mojo's issue about `curl`-ing
<judofyr>
ELLIOTTCABLE: if you're wondering what the answer is: CPAN is horribly insecure. everything is over HTTP. tons of mirrors. no checksums. asking people to do `cpanm Mojolicious` or `cpan Mojolicious` is not *any* more secure.
<judofyr>
and saying "oh, but you could provide PGP-signed builds" doesn't really help. because everyone in the Perl community installs from CPAN. it's just going to take time to set up an infrastructure that no-one will use.
manveru_ is now known as manveru
Sorella has joined #elliottcable
Sorella has joined #elliottcable
Sgeo has quit [Read error: Connection reset by peer]
<ELLIOTTCABLE>
devyn: I love symbols, btw. I grew up Ruby, so.
<ELLIOTTCABLE>
Writing :foo instead of "foo" is one step closer to just writing foo.
<ELLIOTTCABLE>
it's more the saving on having to think about a closing character, and how well it flows visually, than anything else. /cc joelteon
<ELLIOTTCABLE>
devyn: yeah. Very aware. That's what the holes problem was.
<ELLIOTTCABLE>
but I'm not so worried about it, for two reasons combined:
<ELLIOTTCABLE>
A) the nebulous problem of "people can interject between my intended reception sites!" is, well, less-so, because I realized the only people who can interject are people holding *our execution*. In lots of patterns, everybody will be holding clones of the same script, and can't interject on one another.
<ELLIOTTCABLE>
combined with B) in the situations where we *are* passing around, intentionally, a single execution, it may be easily solvable by responsibliliy backflips.
<ELLIOTTCABLE>
So I'm holding off worrying about that until I figure out a revamp for responsibility. it may "fix" that, in that it may make it trivial to track and safe your execution-calls with responsibility.
<ELLIOTTCABLE>
so.
<ELLIOTTCABLE>
some of the thoughts in my head:
<ELLIOTTCABLE>
it's not just about verbosity and syntax … I want to take responsibility *off of the queue*. (or, the conceptual equivalent thereof, in a future queueless system)
<ELLIOTTCABLE>
that is, not having several *stagings* involved.
<ELLIOTTCABLE>
and to do it without stagings, in Paws, you basically *have* to have syntax.
<ELLIOTTCABLE>
tentatively, imagine this:
<ELLIOTTCABLE>
+, placed after any combination, means “current execution blocks on responsibility for the thing that is the result of this combination”
<ELLIOTTCABLE>
ditto -, but that's releasing responsibility if it's held
<ELLIOTTCABLE>
as a random example,
eligrey has quit [Quit: Leaving]
<ELLIOTTCABLE>
infrastructure stage[]+ [foo] bar
eligrey has joined #elliottcable
eligrey has quit [Client Quit]
<ELLIOTTCABLE>
pair this with some explicit resp semantics for juxtaposition when it comes to staging (what you were mentioning would be impossible with the default handler, but that's another bridge)
<ELLIOTTCABLE>
and we'd be getting closer to a first-class responsibility system
<ELLIOTTCABLE>
(rephrase: adding “resp ops”, as we were discussing adding to the queue, *to Scripts themselves* too.)
mullahkaplan is now known as kaplan
<ELLIOTTCABLE>
OH SHIT, THEY WERE KAPLAN THE ENTIRE TIME
eligrey has joined #elliottcable
prophile has quit [Quit: The Game]
<Cheery>
done with the audio synthesis for onw
<ELLIOTTCABLE>
devyn: wake upppppp
<Cheery>
ELLIOTTCABLE: I'm realising what I've been doing is bit odd. It'd be simple programming language with extremely complex syntax.
<ELLIOTTCABLE>
wat really?
<Cheery>
I think I'm studying alternative choices the remaining part of the week.
<Cheery>
started out by looking into escher. The author is fucking terrible at expressing himself.. or so fucking good that I don't understand it.
<ELLIOTTCABLE>
this sounds like me, writing about Paws, and I don't like that fact
<ELLIOTTCABLE>
makeitstopmakeitstopmakeitstop
<Cheery>
does it help, that I'm not sure which you're talking about? the escher author or me?
<Cheery>
anyway if the escher doesn't do it.. I think I need to shift my thinking a bit.
<Cheery>
I'm so well used to doing things in programming languages such as javascript or coffeescript. kicking up lots of stuff in seconds where other people seem to struggle at.
<Cheery>
the problem isn't that other people struggle.
<ELLIOTTCABLE>
“kicking up lots of stuff in seconds”? huh?
<ELLIOTTCABLE>
kicking up?
<Cheery>
writing
<Cheery>
anyway what I've been trying to get with my language design would be something of an unobstructive programming environment
<Cheery>
and been thinking it could be done by just taking what we already have, and improve it.
<Cheery>
but for a change I want to study alternative ideas.
<ELLIOTTCABLE>
in here, we talk of something that got named “oases.”
<ELLIOTTCABLE>
(a concept that encapsulates what you're saying, if I understand correctly.)
<ELLIOTTCABLE>
taking what we have, and ‘improving’ it iteratively, is working “within the oasis” …
<ELLIOTTCABLE>
while trying to come up with something *completely* unheard of, or completely different, is striking out into the desert, looking for a new oasis.
<Cheery>
thinking about this further.. in programming there's patterns that bind it all together. thinking about what I did today.
<Cheery>
wrote a ripple simulator that's using two buffers.
<Cheery>
abstracted the buffers into squares using x*width + y
<Cheery>
had a step that transformed the content in buffers, based on previous buffers.
<ELLIOTTCABLE>
“Creates a sorted array of property names of all **enumerable** properties, own and inherited, of object that have function values.”
<ELLIOTTCABLE>
that enumerable is biting me in the ass right now. ddis
<devyn>
ELLIOTTCABLE: Paws operations into scripts? I thought you didn't want to do that though
<devyn>
ELLIOTTCABLE: I think all we need is an atomic primitive, really… responsibility provides that but I think maybe *that* needs to go in scripts somehow