ec changed the topic of #elliottcable to: a 𝕯𝖊𝖓 𝖔𝖋 𝕯𝖊𝖙𝖊𝖗𝖒𝖎𝖓𝖊𝖉 𝕯𝖆𝖒𝖘𝖊𝖑𝖘 slash s͔̞u͕͙p͙͓e̜̺r̼̦i̼̜o̖̬r̙̙ c̝͉ụ̧͘ḷ̡͙ţ͓̀ || #ELLIOTTCABLE is not about ELLIOTTCABLE
meowrobot_ is now known as meowrobot
cloudhead has quit [Ping timeout: 260 seconds]
<pikajude>
mfw
<pikajude>
all the neat blog posts i read about using docker for development
<ec>
actually don't, octothorpes have lots of pointy bits, pretty sure those'd be some nasty lacerations
eliot has joined #elliottcable
<ec>
ahhah!
* ec
waves at eliot
<ec>
unfortunately I'm just headed out
<ec>
say hi to some locals :3
<eliot>
ah no worries... just wanted to hop on FN again for old time's sake :)
<pikajude>
whoa
<pikajude>
two elliotts
<eliot>
be careful to not invite anymore, might cause a netsplit
eliot has quit [Read error: Connection reset by peer]
<ja>
☉_☉
<ec>
an elliotsplit
<ja>
lol
<ja>
would the ec ever write something like `selection = (isSelected ? without : concat)(selection, id)` in JS or would he split it up into an if?
* ja
such curious
<ec>
the elliott has written many things like that
<ec>
I think Paws has at least one instance of a four-nest ternary
<ja>
XD i really gotta source dive Paws soon for reals
<ec>
lmfao
<ec>
it's broken and pointless but sure
<ec>
idk why I work on this omfg
<ec>
I'm such a bad programmer I'll never be able to finish this.
<ja>
you're kidding, right? you will finish it, riight?
<ja>
did you drop the name change, btw?
<ja>
what was it… some poet's name¿
<ja>
it was p difficult to spell as far as I recall
<ec>
nope, it's still happening
<ec>
I kinda wanna make A Small Announcement,
<ec>
but I felt very uncompfortable doing so shortly in the wake of his death.
<ec>
felt like it would be capitalizing on his passing for attention and popularity of my work
<ec>
so sometime in the next year or so, yeah, it'll be Official, wtfever that means
<ec>
I already own a few domains and things
<ec>
also want to finish the two-years-in-progress reimplementation of Paws 10 before that happens
<ec>
because there's, like, three fucking versions that have never been implemented, that I suppose will become Pratchett 11, 12, 13
<ja>
Paws 10? srsly? :O 10‽
<ja>
Pratchett, lol, that was it
<ja>
sweet
<ja>
Paws X
<ja>
you're already way ahead of Ruby, Java, etc. with 10
<ja>
gst
<ja>
wat
<ec>
lol
<ec>
I rely on release-numbers, not semver or anything, for the *language design*
<ec>
basically I have a set of “problems with the design” in my head, at any given moment
<ec>
then for each design-iteration over the years, I've had two major stages:
<ec>
first, I theorize and experiment with solutions to the *problems I've chosen to attack* for that iteration;
<ec>
then once I settle on beautiful solutions … there's a second stage of determining which unrelated corners of the design have been damaged or made less beautiful by the ripple-effect of the changes made in the first stage.
<ec>
so, Change, then Repair.
<ec>
I basically only allowed one “Change-and-Repair” cycle per reified language design.
<ec>
Not all of them got written down; but if the number increased from 7 to 10 between anything getting written down, that basically implied that some of the intentional changes — fixes to language-design flaws that I could see — during, say, ‘cycle 8’,
<ec>
fucked up *other* parts of the language so badly, that I had to push forward *other* intended fixes, and immediately go re-design those newly-broken parts of the language
<ec>
i.e. give them their own Change-Repair cycle.
<ec>
lol there's an entire universe in my head that nobody knows about, and I kinda hate it.
<ec>
I wish I had a team, and sit-down meetings every morning, and meeting notes, and release-notes, and
<ec>
but nope just this entire universe cranking away with no external check-n-balances 🙄
<ja>
lol i'd love to experince you in a coprorate-type meeting
<ja>
i think i'm on cycle 5 on my current client project
<ec>
god no
<ec>
I'm so quiet tbh in that sort of setting
<ec>
I only have two configurations as a person: flailing, high-energy, center of attention and center of the room,
<ec>
or quiet suppressed affording-others-the-chance-to-speak
<ec>
I put, geeze, a solid 90% of my social spoons into ensuring I remain in the second as much as possible. because otherwise I'm a horrid menace.
<ec>
ask gkatsev, he's been around me in person. :P
<ec>
and jfhbrook? but that was more social, less tech, so.
<gkatsev>
hi
<ja>
haha, have you peeps actually met irl¿
<gkatsev>
yes
<ja>
who even is gkatsev
<ja>
hi
<gkatsev>
but we at js conferences, does that count?
<ja>
i guess that counts
<ja>
ec oughta speak about Paws X at a js conferance
<ja>
eeeee
<pikajude>
that would be funny
<ec>
trust me I've thought about this
<ec>
I *wish* I could do public speaking; that'd give me the attention and contributors I need to make this a real-world thing
<ec>
my fear of crowds is 100% the Thing holding my admittedly-fucking-excellent ideas back ;)
<ec>
people keep telling me to give talks and I'm always like r u fucking kidding have u met me
<ec>
anyway tl;dr, ja, the codebase I spend all my time on right now is
<ec>
1. extremely torn-apart and broken, because I ran into a huge implementation mistake and am having to re-write like the entire vascular system of its guts from scratch
<ec>
and 2. even if you go back to a branch before the current re-write, it implements an *old version of the language*, that has deep, well-known flaws that make it effectively a ...
<ec>
well, completely useless as a programming language. :P
<ec>
so currently, I have to complete this re-write, so that I can start building *on top of it*, implementations of the new *design* changes that solve those known flaws.
<ec>
lemme uh be more specific, that was all pretty vague
<ec>
so the original POC of Paws is up on GitHub, it's called µPaws:
<ec>
that code is a beautiful kind of eldritch horror
<ec>
(line 719 kinda nails it: “// FIXME: This is all a massive, buggy, tightly-coupled clusterfuck.”)
<ec>
but it proved the implementability of the original, core idea behind Paws, even if it was buggy, absolutely-uselessly-slow, and ignored 90% of the cool stuff Paws is *supposed* to do, besides that core idea.
<ec>
I moved on and started to re-write the entire thing in Actual, Maintained, Well-Tested Code — basically, not changing anything, or adding anything new, just giving myself a clean, thoroughly-TDD foundation to start iterating and doing design-work on top of.
<ec>
unfortunately, there's one fatal flaw in the entire approach that the original implementation took; and I copied that flaw over:
<ec>
The entire implementation depends on a centralized data-structure that represents, effectively, a queue of pending “operations-to-preform.” Horribly unperformant, although that's something I'm willing to swallow, and precludes any sort of concurrency, which is something I'm *not*.
<ec>
so for the past couple years, my programming-time has been slowly and painstakingly going towards ripping out that central queue, and replacing it with a decentralized, queueless architecture for *strictly-ordering pending work*
<ec>
I'm terrible at this mid-level architecture stuff — the bit that lies between “language design” and “writing a clean, well-tested function”
<ec>
i.e. data-structures, algorithms, high-level software architecture, all of it
<ec>
so I'm constantly making fuckups like this, that set me back horribly, having to *rewrite a bunch of stuff*. I have the *design* clear in my head, but translating it into functioning code is always a morass. -_-
<ec>
anyway.
<ec>
So, meantime, while that's been happening, I *haven't stopped design work*. the “queueless” project is focused on re-implementing *precisely the same language*, using a different data-structure; but that *language itself* is now several years old.
<ec>
so once queueless is complete, I've got a stack of pending implementation work the size of Mt. Kilimanjaro, lolol, just to have a running (viciously-slowly) interpreter (ew) in JavaScript (ew!??) that implements a not-completely-pointless programming-language design.
<ec>
---- ---- ----
<ec>
tl;dr it's all fucking hopeless.
<ec>
and, of course, that's all *one stage* of the Spaceship, which is basically a joke at this point:
<ec>
that's violently out-of-date, but the spirit of the thing is accurate: each of those question-marks represents at leaaaaast as much design-work (not to even *mention* somebody actually implementing the damn stuff) as the coloured-in part
<ec>
the green and yellow stuff is all wrong; because of the deep-running language-flaws in the design that existed at the time of that document. Enough as been ripped out that a lot of that has to be re-implemented. |=
<ec>
so: the queueless re-write of Paws.js is a re-implementation “Paws' Nucleus r10”; with fatal flaws that make it pointless to use until I can at least implement the changes of the r11 design;
<ec>
and in my head, over the last years, I'm currently working on the … 13th? 14th? revision, solving more design flaws.
<ec>
luckily, the design-flaws are getting steadily … smaller? I'm pretty happy with the overall Nuclear design, tbh; the core of the language is v. beautiful, and noooooothing like anything out there that I know of.
<ec>
hope that was somehow-useful information and/or entertaining and/or interesting :P
<ec>
and of course to be clear, this is language-design work all of the fucking above is just the *first stab*. The ‘design flaws’ I speak of are just the shit that is super-obvious with the slightest thought, basically — there's plenty of flaws I'll never know about *until the language is implemented and functioning*
<ec>
basically, until I can use it, and figure out what bits of my design are absolutely horrid to work with in the real world, when writing actual code
<ec>
but i'm just pretending that's not a thing because it's too depressing
<ec>
idk how people fucking do language design
<ec>
I love it and care about it and it's *mind-bendingly* depressing
<ec>
“I'm gonna spend years implementing this thing and not know if it was a worthwhile effort until I'm done!?”
<ec>
🙄
cloudhead has joined #elliottcable
prophile has quit [Quit: The Game]
mylesborins has quit [Quit: farewell for now]
mylesborins has joined #elliottcable
<Elphaba>
ec: <3
cloudhead has quit [Ping timeout: 260 seconds]
<pikajude>
ok, well
<pikajude>
i don't love kubernetes
<pikajude>
but it's soooooooooo much better than using capistrano
<pikajude>
mmmmm
<jfhbrook>
capistrano moar liek crapistrano amirite
<pikajude>
capistrano more like shitty fuck
<pikajude>
what do you all do to stave off boredom