<eligrey>
so it was technically first but then not first
<eligrey>
ec: how does not having service workers not piss you off?
* ec
sighs
<eligrey>
it's directly harming the offline web
<ec>
eligrey: shush.
<ljharb>
eligrey: i'm pretty certain that's not true either
<eligrey>
how am i supposed to make fully 'native' webapps if they dont even run without internet
<ec>
Seriously, I have zero patience for your anti-products-I-enjoy-using spiel right now.
<ljharb>
eligrey: edge was the farthest along for quite awhile tho
<eligrey>
ljharb: yeah
<ec>
yah, I'm an Edge fan
<ec>
New Microsoft is a purdy cool gui
<eligrey>
ljharb: talk some sense into ec and tell him how service workers are important
<ec>
idk 'bout dis Windows 10 shit I hear about though
<eligrey>
edge doesnt support them either, so shame
<ec>
eligrey: Let me make this exceedingly simple, so that you don't bring it up again to me:
<ljharb>
they're not standard yet
<ec>
1. I'm going to use Safari,
<ljharb>
so it doesn't matter what supports them yet
<ec>
2. until I don't want to use Safari anymore,
<ljharb>
also safari is great
<ec>
and 3. I'm not going to care about or use features that Safari doesn't support.
<eligrey>
youre going to care when my platform launches
<ljharb>
if your platform doesn't work on safari, it doesn't work
<eligrey>
i can reduce your server load by literally 100%
<ljharb>
because safari === mobile
<ec>
(primarily because of what ljharb said, but also Because I Feel Like It, so please don't try to come up with idiotic faux-‘logical’ refutation. -_-)
<eligrey>
completely serverless p2p websites
<eligrey>
ljharb: it works, but you dont get any p2p on safari
<ec>
ljharb: ugh, that statement is terrifying and ick and ahhhhh and scary
<ljharb>
but true
<ec>
I love me some Safari and/or Apple, but monopoly is Fucken Scary
<ljharb>
all it takes to fix that is for android not to suck
<ljharb>
hold your breath
<eligrey>
if microsoft releases edge for mac its all over
<ljharb>
eligrey: that will be very interesting
<ec>
isn't android Not Suck right now?
<ec>
All of the Android People that I even remotely trust insist that all the major shittinesses were solve ~2015
<ec>
‘were solve’
<ec>
I can English sometimes, I mean, sometimes
<eligrey>
it has been solved, yes
<eligrey>
the only problems were with material design not having good reference implementation libraries from google
<eligrey>
this year's google i/o was all about fixing that
<eligrey>
and i'm glad they did, it's now a complete platform imo
<ljharb>
lol
<purr>
lolololol
<ec>
oh lord what's this new irccloud layout
<ec>
what is it with everything following Slack and making messages GIANT
<eligrey>
you still cant install blink or gecko on ios ec
<ec>
do people just expect chat-rooms to be Hella Quiet or something
<eligrey>
enjoy your server worker-less lock in
<ljharb>
ec: yeah i turned off all the new irccloud things. they're stupid.
<eligrey>
its intentional so that webapps can't compete with ios apps
<ec>
like, in most Slack rooms, until I go fix the goddamn settings, I see … literally about twenty-five seconds of conversation before something scrolls off. wtaf.
<ELLIOTTCABLE>
ljharb: also, why in the name of the lord did irccloud add ‘icons’ to names
<ljharb>
500 lines, eesh
<ljharb>
yeah i turned off the icons, they're stupid
<ljharb>
ELLIOTTCABLE: you align your = signs too? ಠ_ಠ
* ELLIOTTCABLE
laughs
<ELLIOTTCABLE>
I do way, *way* worse than that
<ELLIOTTCABLE>
oh man, don't make me pull out the nasty code
<ljharb>
yeah please don't
<ELLIOTTCABLE>
I've got, for your perusal: named variadic arguments in C99 (Dirty Preprocessor Evil), pure JavaScript that looks for all the world like CoffeeScript at first glance, aaaaaand as of right now, JavaScript pre-compiled through a Mustache templating engine
<ELLIOTTCABLE>
but, yes, I cannot remotely fucking stand ‘standard JavaScript.’ It's a big reason I don't really participate in the community: I can manage small patches and shit, but I just feel *dirty* beyond all belief with more than fifteen minutes spent in a tjholowaychuk codebase
<ljharb>
it's like your mission is to horrify me
<ljharb>
um, tj's code is nowhere near "standard"
<ELLIOTTCABLE>
if I see a bracket all alone on a line, I want to immediately kill myself.
<ljharb>
ASI isn't standard.
<ELLIOTTCABLE>
oh god, that's even worse
<ljharb>
basically pick any prolific module author, and the likelihood their code is a hipster nonsense style is like 80%
<ELLIOTTCABLE>
actually, nah, semicolons are like a 4/10 skeeve :P
<ELLIOTTCABLE>
-learn H.N.S. = a Hipster Nonsense Style
<purr>
ELLIOTTCABLE: Learned `H.N.S.`.
<ljharb>
i'm biased obj, but github.com/airbnb/javascript is the closest i've seen to a "standard" style
<ljharb>
ie, for the most part, it's the most common style overall
<ELLIOTTCABLE>
(didn't pull it out as a particularly bad example, it was just the first thing I came across while idly browsing Popular JavaScript Code)
<ELLIOTTCABLE>
“Airbnb JavaScript Style Guide() {” ahhah, I lol'd
<purr>
LOLNOPE
<ljharb>
:-p
<ljharb>
check the end too
<ELLIOTTCABLE>
awuh purr u know me so well
<ELLIOTTCABLE>
ljharb: frankly, my interest in code conventions is … super, *super* limited
<ljharb>
that much is clear :-p
<ELLIOTTCABLE>
I'll be loud about it all day, and then immediately stop caring when there's an interesting *architectural* or *tooling* question to discuss instead.
<ELLIOTTCABLE>
lol shush
<ELLIOTTCABLE>
ur a sarcastic-butt
<ljharb>
that much is also clear
<ELLIOTTCABLE>
Yah, three sections in, and I'm strongly disagreed with the style-guide you work by
<ljharb>
lol
<ELLIOTTCABLE>
but it's like: if you sat down and said ‘want to work on <cool idea>?’, then I'd care absolutely zero, as long as nobody *else* were arguing it.
<ELLIOTTCABLE>
make sense?
<ljharb>
totally
<ELLIOTTCABLE>
like if I hear one peep from somebody else who's like “ugh, why the fuck do you want us to type semicolons,” then I'm happy to write fifty paragraphs on why *not* taking advantage of ASI is absolutely *foolish*,
<ELLIOTTCABLE>
but as long as we're all agreed “we're adults here, nobody cares, let's make a Thing that does a Thing”, then I'm down af
<ljharb>
the reality tho is that it really does matter, especially in large teams
<ELLIOTTCABLE>
it's kinda like “whoever's creating the github repo, just call it.”
<ljharb>
but yeah as long as you're willing to go along with whatever style the repo decides, that's cool
<ELLIOTTCABLE>
I disagree, in that I think *whichever choice you make* is going to ruin *somebody's* productivity: the only choice that matters is *consistency*, so that those affects will run-down over time.
<ljharb>
i think consistency matters the mostest
<ljharb>
and there's some choices that are subjective. but there's many that are objectively less likely to produce bugs.
<ELLIOTTCABLE>
there's maybe … four or five kinda/sorta style-related things that I think are Actually Important.
<ljharb>
but either way, every repo should pick a style, and everyone who cares can argue about them, and everyone else should just obey
<ELLIOTTCABLE>
ASI being one (it's like, a 2/10 important, at most), and ES6 style iterators (‘syntactic iterators’) vs ES5-style (‘iterating functions’) being the other (3/10 important.)
<ljharb>
all the things in the airbnb guide come from experience - everything that's regulated is because it proved important to make a rule for it
<ljharb>
and sometimes, "we wasted time arguing about it" was sufficient
<ELLIOTTCABLE>
yes, that precisely
<ELLIOTTCABLE>
rules exist *only* to move you past the arguing, not because the value chosen is meaningful in almost any situation
<ljharb>
necessarily meaningful
<ljharb>
moving past the arguing doesn't preclude the possibility of it being a meaningful choice
<ELLIOTTCABLE>
undefined is bad, but any other possible value is fine :P
<ljharb>
but you can certainly think that it's moot at that point
<ELLIOTTCABLE>
yeah, AirBnB's agrees with me on a lot of ES6 stuff, but clearly has one very basic, and very huge, disagreement
<ljharb>
which one
<ELLIOTTCABLE>
A *huge number* of my code-design choices stem from the fact that I find it really, really important to make it clear to the reader that values are just values, in JavaScript; I always, *always* go for something like `var foo = function(){}` or `var widget = new Widget` over `function foo(){}` or `var widget = {}`
<ljharb>
hm
<ljharb>
so personally, i hate function declarations and never use them
<ELLIOTTCABLE>
hell, for a *very* long time, I was anal-ly convinced that `foo['bar']` was infinitely superior to `foo.bar`
<ljharb>
ew, no
* ELLIOTTCABLE
laughs
<ljharb>
bracket notation is slower too
<ELLIOTTCABLE>
yeah, I eventually bent ever-so-slightly on that one to pressure. (still believe in it, though.)
<ljharb>
ok but for function declarations tho
<ELLIOTTCABLE>
no reason whatsoever that it should be.
<ljharb>
i only ever use expressions, so i prefer that form too
<ELLIOTTCABLE>
that is *trivially* analyzable, lol, any JIT engine worth its salt would produce identical code for those two
<purr>
lolno
<ljharb>
as for `new Widget` vs `{}`, i hate `new` in all its forms
<ELLIOTTCABLE>
I agree *except* when something *is* a class
<ljharb>
ELLIOTTCABLE: most of them do not.
<ELLIOTTCABLE>
until ES6, and it basically becoming non-optional, I was against Widget existing *at all*,
<ljharb>
safari/jsc only recently started making bracket as fast as dot
<ELLIOTTCABLE>
but if you're going to use things *you* didn't create (Array, Object, DOM node, whatever) … then damn well make it clear that you're using that classist bullshit
<ELLIOTTCABLE>
don't sneak it in under the radar, so to speak
<ljharb>
example?
<ELLIOTTCABLE>
i.e. “if you can use new, then use new, to demonstrate that you're making the huge mistake of doing something that you could possibly use new for.”
<ELLIOTTCABLE>
(mostly an older opinion; ES6+ has invalidated much of my JavaScript style, unfortunately)
<ljharb>
i agree with that in general
<ljharb>
but [] and {} aren't using "new"
<ELLIOTTCABLE>
{} is.
<ljharb>
it's not.
<ELLIOTTCABLE>
should be *either* `new Object`, or `<object>.beget()`
<ELLIOTTCABLE>
or whatever the ES5 version of beget is
<ljharb>
`new Object` and `{}` produce the same thing, but the one isn't doing the other
<ljharb>
not by spec, or by concept.
<ELLIOTTCABLE>
haven't done prototypal since like 2010
* ELLIOTTCABLE
nods
<ELLIOTTCABLE>
I'm aware
<ELLIOTTCABLE>
how to words this
<ELLIOTTCABLE>
Before I go on, it's super-important to review that *different stylistic concerns apply to different codebases*
<ljharb>
sure
<ELLIOTTCABLE>
and that before any statements like these can be made, the usages of *a particular chunk of code* have to be reviewed; statements in absence of context are meaningless
<ljharb>
but in every language, using a literal form is preferred over a more verbose form
<ljharb>
ruby, java, etc
<ELLIOTTCABLE>
that said: I *don't* work in a team of forty. I *don't* have “integrating a new team member as quickly as possible so they can *write* new code” as a primary value proposition for the product's internal implementation;
<ljharb>
sure, that weighs in
<ELLIOTTCABLE>
the things that matter to me are often *readability* (which does *not* mean the same thing to me that it means to AirBnB, I promise you), beauty, intuition,
<ELLIOTTCABLE>
and this one's strange, but *intuitiveness to non-JavaScripters*.
<ljharb>
readability of course being sometimes subjective and sometimes objective
<ELLIOTTCABLE>
I've always, always intended my code as instruction to beginners (for context, I also am *highly* anal about committing every single little change I make to my code, with deeply descriptive commit messages compiled further at a later time, so a beginner can follow the precise process of how I, with more knowledge and experience, completed a given task, how I
<ELLIOTTCABLE>
dealt with the problems I ran into, etc)
<ljharb>
yeah that one is strange
<ljharb>
non-javascripters are irrelevant
<ELLIOTTCABLE>
for instance, the foo['bar'] thing:
<ELLIOTTCABLE>
I find foo.bar (and most other similar syntactic sugar) to be, sure, capable of reducing the verbosity for more advanced programmers … but *very* confusing to newcomers.
<ljharb>
well, not irrelevant. but if something makes non-JS people think "X" and JS actually works like "Y", then that thing is harmful imo.
<ELLIOTTCABLE>
a huge number of Java or other classist-origin people are going to see `foo.bar`, and think that's accessing some class member, or … something like that, instead of accessing what is essentially *data*: a function-value, a closure, stored as a data-member.
<ljharb>
i think that newcomers who don't know about bracket vs dot notation are screwed out the gate
<ljharb>
i agree that dot notation could lead to people who think JS works like java, getting JS wrong
<ELLIOTTCABLE>
and for a really really long time, I didn't see the very slight production-efficiency of dot-notation was worth the confusion to newcomers.
<ljharb>
but the newcomers who don't know ANY language are far more important than the ones who know another language.
<ELLIOTTCABLE>
ditto `new`:
<ljharb>
newcomers to *programming* trump newcomers to JS.
<ELLIOTTCABLE>
the semantics are *so* messy and complex, that using it *at all*, I felt, was pretty evil.
<ljharb>
and i do not care about newcomers to JS - they're programmers. they have no excuse not to learn proper JS.
<ljharb>
yeah using new is gross
<ELLIOTTCABLE>
I was a firm Good Parts adherent, and the way I saw it, the best way to program JavaScript was to ignore *all* of the semantics, except: 1. lexical scoping, 2. first-class function-objects, and 3. dictionary-style objects
<ELLIOTTCABLE>
kinda reduce it to a lua-esque blob
<ELLIOTTCABLE>
var descendant = new(this['constructor'])(blueprint);
<ljharb>
i have no idea why that's there
* ELLIOTTCABLE
laughs
<ljharb>
but yeah, top-level returns like that are helping to screw node as it tries to add ES6 modules
<ljharb>
so thanks for that :-p
<ELLIOTTCABLE>
oh, I'm still Hella For That
<ELLIOTTCABLE>
the presence and existence of the root / script context is a horrible fucking mistake, imho.
<ljharb>
right, i'm saying that modules using top-level return are making it harder to add ES6 modules
<ELLIOTTCABLE>
a procedure's body should be indifferentiable from the source of a file; and the source of a file should be inlineable as-is into a procedure/function/whatever and then immediately invoked with no effect.
<ljharb>
um
<ljharb>
that's not how es6 modules work
<ljharb>
and i'm not sure why that should be true
<ljharb>
import/export are only allowed at the top level, for example
<ELLIOTTCABLE>
again, in the spirit of hiding the vagaries of JavaScript from the *readable, visual* aspects of the code, which I was such a big fan of a the time, I ended up with my own module system that *actually* treated all files as functions
<ELLIOTTCABLE>
not as an accident, but by design
<ljharb>
ah
<ELLIOTTCABLE>
yeah. precisely, that's trash.
<ljharb>
i don't see why
<ELLIOTTCABLE>
speaking not of JS, but from a lang-design perspective.
<ljharb>
(node treats all files as functions too)
<ELLIOTTCABLE>
meh, each to their own.
<ELLIOTTCABLE>
well, kinda.
<ELLIOTTCABLE>
I got into some *huge* fights with ryan about this back in the day
<ELLIOTTCABLE>
Some day I'll dig you up my threads on the CommonJS mailing-list and/or #node.js logs where I was crusading against require() -_-
<ljharb>
lol
<purr>
trololol
<ELLIOTTCABLE>
man, I could be such an eligrey sometimes
<ELLIOTTCABLE>
tbh, I think a lot of it was ahead of its time
<ljharb>
ooh, using ancient node promises
<ELLIOTTCABLE>
A lot of what I cared about basically got re-designed later into the ES6 module spec, which made me immensely happy
<ELLIOTTCABLE>
yessss I miss those so much
<ELLIOTTCABLE>
it took me years to really grok why they wouldn't be accepted by the JavaScript community
<ELLIOTTCABLE>
I still think *delimited* continuations could have fit, tho /=
<ELLIOTTCABLE>
there's also eff's effects or algebraic handlers, I vaguely feel that those'd fit JS real well
<ELLIOTTCABLE>
“Once you add coroutines, you never know when someone might call yield. Any function you call has the right to pause and resume you whenever they want, even after any number of spins of the event loop.”
<ELLIOTTCABLE>
Literally what ALL OF PAWS is about solving, lawl.
<ljharb>
yeah JS can't ever have coroutines
<ljharb>
even with generators
<ELLIOTTCABLE>
see, but continuations of limited extent don't have those problems
<ELLIOTTCABLE>
or at least, don't have some of them (some of his other arguments stand much better than the implementation-related ones)
<ljharb>
what do you mean "of limited extent"
<ljharb>
like async/await?
<ELLIOTTCABLE>
er, no
<ELLIOTTCABLE>
shift / reset
<ELLIOTTCABLE>
jesus every time this topic comes up I *struggle* to find a good kickstart article
<ELLIOTTCABLE>
but yeah, the idea has been discussed to death elsewhere, iirc. google javascript delimited continuations or javascript shift/reset or whatever, I remember reading some long threads on this somewhere
<ELLIOTTCABLE>
unlimited continuations are vaguely a design failure, I suspect
<ELLIOTTCABLE>
came to that same feeling from a similar direction as to finally giving up on Node's original, *real* promises.
<ELLIOTTCABLE>
(generators are limited-extent coroutines; shift/reset are limited-extent continuations? I think? if that helps explain it?)
<ljharb>
not really but it's late
<ELLIOTTCABLE>
yeah, no kidding
<ELLIOTTCABLE>
ask … almost anybody else in this room, they're all plt nuts
<ELLIOTTCABLE>
incomprehensibly ↑
<eligrey>
so i noticed that everyone who gets twitter followers has a twitter logo on their website frontpage
<eligrey>
and i finally added one to eligrey.com
<eligrey>
instead of having it buried deep in my about page
<eligrey>
pretty sure my site still looks like shit on mobile though
<eligrey>
i need to fix that eventually
<ELLIOTTCABLE>
jesus i love my work
<eligrey>
link?
<ELLIOTTCABLE>
reading about this stuff fucking *galvanizes* me
<ELLIOTTCABLE>
lol eligrey nice try.
<purr>
loling
<ELLIOTTCABLE>
talking about Paws.
<eligrey>
are you hooked up to a galvanic vestibular stimulator?
<ELLIOTTCABLE>
wat.
<eligrey>
can you feel the rush
<eligrey>
of moving forwards
<ELLIOTTCABLE>
eligrey: “are you hooked up to a galvanic vestibular stimulator?” wat.
<purr>
beep.
<ELLIOTTCABLE>
-what
<purr>
<gq> ;lsfdiya;sofiya;osfiyd
<ELLIOTTCABLE>
… I agree, gq. I agree.
<eligrey>
ELLIOTTCABLE: i think its called lmgtfy.com
<ELLIOTTCABLE>
-what
<purr>
<alexgordon> micahjohnston: lol don't be a whitequark
<eligrey>
iirc
<ELLIOTTCABLE>
what
<ELLIOTTCABLE>
what.
<eligrey>
<eligrey> iirc
<eligrey>
lel
<ELLIOTTCABLE>
“(I don’t really have to explain Pong, right?)”
<ELLIOTTCABLE>
-what
<purr>
<Nuck> It's so long and hard and .... stupid
<ELLIOTTCABLE>
man, having to learn some Python for that stupid-redundant Data Structures & Algorithms (lol the sort class) has actually been useful
<purr>
loling
<ELLIOTTCABLE>
a lot of algorithmic stuff seems to get explained in Python
<ELLIOTTCABLE>
“We’re not using biases because meh.”
<ELLIOTTCABLE>
“That’s the beauty of neural nets; Using them can feel like cheating: You’re allowed to have 1 million parameters embedded in 1 teraflop of compute and you can make it do arbitrary things with SGD. It shouldn’t work, but amusingly we live in a universe where it does.”
<ELLIOTTCABLE>
all of these words are extremely foreign to me
<eligrey>
ELLIOTTCABLE do you know css
<eligrey>
i'm in need of halp
<eligrey>
plzzz
<eligrey>
im having some height issue
<eligrey>
and i have no idea whats causing it
<ELLIOTTCABLE>
I do, but do not have the energy to help rn ;_;
<ljharb>
comma first, coffeescript, no curlies, aligned assignments… and that's just the left column
<ELLIOTTCABLE>
foolishness*
<ELLIOTTCABLE>
ljharb: it's not coffeescript.
<ELLIOTTCABLE>
;)
<eligrey>
ELLIOTTCABLE: how does your brain work?
<eligrey>
i want to be able to code like that
<eligrey>
but also not be crazy
<ELLIOTTCABLE>
silly*
<ELLIOTTCABLE>
eligrey: get on mah LEVEL
<ELLIOTTCABLE>
come learn Paws; once you're done, you'll function just like me
<ELLIOTTCABLE>
Paws is the One True Memetic Virus: once you learn it, you become ELLIOTTCABLE.
<eligrey>
that code is so beautiful in such a weird way
<ELLIOTTCABLE>
(it's actually a weaponized doomsday programming-language.)
<ELLIOTTCABLE>
eligrey: can you link to the image plz
<ELLIOTTCABLE>
twitter mangles shit
<eligrey>
fuck i deleted it twice
<ELLIOTTCABLE>
lmao I saw
<eligrey>
now my followers are all like omg speemmmm
<ELLIOTTCABLE>
‘speem’
<ELLIOTTCABLE>
I have a very visceral reaction to that word.
<ELLIOTTCABLE>
I really, *really* don't want to experience whatever it refers to.
<eligrey>
there go
<eligrey>
now my followers probably are out to kill me
<ELLIOTTCABLE>
eligrey: thx <3
<eligrey>
there you* go
<ELLIOTTCABLE>
I strongly doubt that
<ELLIOTTCABLE>
also, did you see wasshisface's snaptweet thing
<eligrey>
i strongly ug...h
<eligrey>
stabbed
<ELLIOTTCABLE>
that automatically expires your tweets
<eligrey>
strongly stabbed in the back
<eligrey>
help
<ELLIOTTCABLE>
what.
<eligrey>
i said they were going to kill me
<eligrey>
no point in calling 911 when i can spend the rest of my life in #elliottcable
<eligrey>
basically morphine
<ljharb>
ugh don't stir things up in the js channel elliott
* ELLIOTTCABLE
laughs
<ELLIOTTCABLE>
okay okay sigh
<ljharb>
:-p
<ELLIOTTCABLE>
I'm so proud of my code, I really am
<ELLIOTTCABLE>
all over the place, all sorts
<eligrey>
ELLIOTTCABLE: i have a deal for you
<eligrey>
i'll let you write your satan code if you work for me
<ELLIOTTCABLE>
lol
<purr>
LOLNOPE
<eligrey>
how about this
<ELLIOTTCABLE>
… purr has been EN FUCKING POINTE recently, goddamn
<eligrey>
i dont pay you anything
<ELLIOTTCABLE>
that's like the fourth perfect purrlol in a row
<eligrey>
but i give you 10% of profit for the project you work on
<ELLIOTTCABLE>
also my password.
<ELLIOTTCABLE>
and, iirc, something to do with my hands?
<eligrey>
15%
<ELLIOTTCABLE>
jesus christ I bleached my hands the other day
<ELLIOTTCABLE>
forgot to share *that* with the channel
<ELLIOTTCABLE>
“… not because people turn off JavaScript (they don’t) but because the script may have gone missing because of a network hiccup (especially on slow mobile connections), or because the user’s uncommon browser does not understand one line of code.”
<ELLIOTTCABLE>
ahhah
<ELLIOTTCABLE>
ppk, i love you
<ljharb>
that's all totally true
<ljharb>
JS breaks or fails to load constantly
<ljharb>
but yeah ppk always manages to find a way to convey an idea i agree with, in a way i don't entirely agree with
<eligrey>
ljharb: do you know css? yes awesome thanks
* ljharb
vertically centers himself the f out of this conversation
<eligrey>
so the <nav> on eligrey.com gets really tall when zoomed in 400%
<eligrey>
haha
<ljharb>
lol k
<purr>
loling
<eligrey>
and i have no fucking idea why
<eligrey>
i'll pay you in ellios
<eligrey>
theyre a new virtual currency you mine in this channel
<ljharb>
lol
<eligrey>
-likes ELLIOTTCABLE
<eligrey>
-loves ELLIOTTCABLE
<purr>
eligrey: ELLIOTTCABLE loves scotch, Owl City, Bastion, Max, Bitcoin, IRCCloud, nicoou, E>, all been a while want to talk soon can we have sex? okay bye, purr, ohhmaar, Spose, joelteon, gq, <3 <3, and -liar.
<eligrey>
how do i check who loves x
<eligrey>
not what x loves
<eligrey>
anyways ljharb i mean this
<ELLIOTTCABLE>
* +ljharb vertically centers himself the f out of this conversation
<eligrey>
<3 ljharb
<purr>
Let it be known that eligrey hearts ljharb.
* ELLIOTTCABLE
flails
<eligrey>
<.3 ljharb
<eligrey>
</3 ljharb
<eligrey>
<\3 ljharb
<eligrey>
fuck i cant hate you
<eligrey>
noooo
<eligrey>
<|3 ljharb
<ELLIOTTCABLE>
-wholoves ljharb
<purr>
ELLIOTTCABLE: ljharb is loved by mmalecki, Aria, eligrey, stride, and dmarr.
<eligrey>
-whohates ljharb
<purr>
eligrey: ljharb is hated by no one :)
<ELLIOTTCABLE>
truth <3
<ljharb>
daww
<eligrey>
ljharb </3
<eligrey>
how do i unlove
<ELLIOTTCABLE>
ಠ_ಠ ljharb
<purr>
Let it be known that ELLIOTTCABLE disapproves of ljharb.
<ljharb>
you don't. ᶠᶸᶜᵏ♥ᵧₒᵤ
<eligrey>
i dont love him any more
<ELLIOTTCABLE>
lolno
<ELLIOTTCABLE>
++ ljharb
<purr>
Let it be known that ELLIOTTCABLE is indifferent to ljharb.
* ELLIOTTCABLE
laughs
<eligrey>
-- ljharb
<purr>
Let it be known that eligrey is indifferent to ljharb.
<eligrey>
-wholoves ljharb
<purr>
eligrey: ljharb is loved by mmalecki, Aria, stride, and dmarr.
<ELLIOTTCABLE>
but, take it to #purr
<eligrey>
phew
<ELLIOTTCABLE>
can only take so much purrspam
<ELLIOTTCABLE>
pam
<eligrey>
-wholoves eligrey
<purr>
eligrey: eligrey is loved by sephr.
<eligrey>
haha
<eligrey>
-whohates eligrey
<purr>
eligrey: eligrey is hated by no one :)
<eligrey>
-whohates ELLIOTTCABLE
<purr>
eligrey: ELLIOTTCABLE is hated by Nuck, gqbrielle, darkf, and everybody.
<eligrey>
> and everybody
<eligrey>
truth
<ljharb>
eligrey: so i have no idea why the <nav> is so big
<eligrey>
idk its so weird
<eligrey>
my site would be 100% sex without that bug
<eligrey>
ikr* its so
<eligrey>
i cant type
<ljharb>
but who zooms into 400%
<eligrey>
well thats the stylesheet i see on my phone
<eligrey>
i dont want an ugly sites on my phone
<eligrey>
pretty much a death sentence
<eligrey>
an ugly site*
<eligrey>
-white goo
<purr>
eligrey: they're weird
<eligrey>
-history white goo
<eligrey>
-changes white goo
<eligrey>
ELLIOTTCABLE: whats the command i'm looking for?
<eligrey>
i want to know who changed that
<ljharb>
why would your phone have zoomed text
<ELLIOTTCABLE>
it's not exposed
<ELLIOTTCABLE>
but the *last* edit is visible in -factoid
<eligrey>
ljharb: it's a media query based on the width of the screen
<eligrey>
well in css pixels
<ljharb>
ah k
<eligrey>
so although my width is 1440 its like 650 in css pixels
<ljharb>
so when i delete both the <address> and the <a> it fixes it
<eligrey>
hmm
<eligrey>
yeah that does
<ljharb>
something about how you're monkeying with the line height
<eligrey>
i do at one spot but turning it off doesnt seem to fix it
<eligrey>
oh fuck wait
<eligrey>
shit im dumb
<eligrey>
theres a second place i mess with line height
<eligrey>
FIXED
<ELLIOTTCABLE>
-factoid white goo
<purr>
ELLIOTTCABLE: Popularity: 29, last changed by: ELLIOTTCABLE, 648ſ 483mſ ago
<ELLIOTTCABLE>
me, two years
<eligrey>
ELLIOTTCABLE HIDING THE FACTS
<ljharb>
k i need sleeps.
<ljharb>
night
<eligrey>
-learn white goo = dreeping down my strema
<purr>
eligrey: Learned `white goo`.
<eligrey>
ELLIOTTCABLE: you might not remember that night but it was funny
<eligrey>
and i want to keep the traces of it in purr
<ELLIOTTCABLE>
<3 ljharb
<purr>
Let it be known that ELLIOTTCABLE hearts ljharb.
<ELLIOTTCABLE>
eligrey: I'm aware of that night, yes
<ELLIOTTCABLE>
and there's pleeeenty of ovoids jokes in purr's easter-eggs
<eligrey>
omg yiss
<eligrey>
eligrey.com isnt shit on mobile now
<eligrey>
ljharb saved mah life
<eligrey>
<3 ljharb
<purr>
Let it be known that eligrey hearts ljharb.
<eligrey>
<3 ljharb
<purr>
Let it be known that eligrey hearts ljharb.
<eligrey>
<3 ljharb
<purr>
Let it be known that eligrey hearts ljharb.
<eligrey>
ELLIOTTCABLE: no multi-heart levels?
<eligrey>
i expected more from purr
<ELLIOTTCABLE>
fun fact, there are, but they're not exposed
<eligrey>
oh haha
<eligrey>
now i feel better
<eligrey>
i did sorta expect that kind of thought from you
<ELLIOTTCABLE>
i.e. you 3xlove ljharb, but if you now --, it'll reset it to 0.
<eligrey>
++ ljharb
<purr>
Let it be known that eligrey loves ljharb.
<eligrey>
++ ljharb
<purr>
Let it be known that eligrey loves ljharb.
<eligrey>
++ ljharb
<purr>
Let it be known that eligrey loves ljharb.
<eligrey>
++ ljharb
<purr>
Let it be known that eligrey loves ljharb.
<eligrey>
++ ljharb
<purr>
Let it be known that eligrey loves ljharb.
<ELLIOTTCABLE>
--/++ aren't incremental, they're conditional absolutes, just like ಠ_ಠ/<3
<eligrey>
oh
<eligrey>
ok
<ELLIOTTCABLE>
oh lord stop it
<eligrey>
i was teeesting
<ELLIOTTCABLE>
there's no way you'll be able to know, lol
<purr>
lolololol
<ELLIOTTCABLE>
whether you ‘love’ is a a boolean from the sgn()
VanguardVivian__ has quit [Quit: Connection closed for inactivity]
<ELLIOTTCABLE>
have to admit immense annoyance that it's `const` and not `con`
<ELLIOTTCABLE>
given `var` and `let`, I think it's Hella Obvious what `con` refers to; and it's just thrown off *all* my beautifully-aligned code :P
judofyr has joined #elliottcable
judofyr has quit []
brr has quit [Read error: Connection reset by peer]
brr has joined #elliottcable
thealphanerd has quit [Quit: farewell for now]
thealphanerd has joined #elliottcable
<trolling>
maybe they should expand the others
<trolling>
`varia`
<trolling>
and, uh, `lettt`
cloudhead has joined #elliottcable
eligrey has quit [Quit: Leaving]
trolling has quit [Read error: Connection reset by peer]
prophile has joined #elliottcable
prophile has quit [Read error: Connection reset by peer]
prophile has joined #elliottcable
cloudhead has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
cloudhead has joined #elliottcable
Sgeo has quit [Ping timeout: 240 seconds]
cloudhead has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
cloudhead has joined #elliottcable
cloudhead has quit [Client Quit]
<incomprehensibly>
ELLIOTTCABLE: const in what language?
<incomprehensibly>
ELLIOTTCABLE: btw how did your semester end????!!!
<incomprehensibly>
so I was thinking about this:
<incomprehensibly>
neural nets are cool but the name is kind of silly imo
<incomprehensibly>
basically they're a way of parametrizing a particular shape of function or program, and then searching that space
<incomprehensibly>
so I want there to be more emphasis on like, this type of neural network parametrizes pushdown automata
<incomprehensibly>
or w/e
<incomprehensibly>
and there is some
cloudhead has joined #elliottcable
cloudhead has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
cloudhead has joined #elliottcable
wraithgar has joined #elliottcable
<incomprehensibly>
ELLIOTTCABLE: talk to me about neural networks