whitequark changed the topic of #elliottcable to: masturbation
Rurik has quit [Ping timeout: 240 seconds]
Rurik has joined #elliottcable
Rurik has quit [Ping timeout: 255 seconds]
<ec>
hello all
* ec
waves to fujisan
Rurik has joined #elliottcable
fujisan has quit [Quit: Connection closed for inactivity]
<ja>
hullo
<ja>
i can wholeheartedly recommend BK's chicken fries
<ja>
you americans have probably had them for decades though
<ja>
both “had” as in had them available but also as in consumed them ʘ‿ʘ
<ja>
srsly wtf was I thinking when I wrote this Rails app the first time around… I must've been so drunk
* ja
28 files changed, 229 insertions(+), 174 deletions(-)
<ja>
omnomnomnom
ja has left #elliottcable [#elliottcable]
ja has joined #elliottcable
<ja>
fack
Rurik has quit [Ping timeout: 255 seconds]
Rurik has joined #elliottcable
eligrey has quit [Read error: Connection reset by peer]
eligrey has joined #elliottcable
ec changed the topic of #elliottcable to: a ~ℙ
<ec>
fack
<ec>
ja: I think you drove away all the old regulars
<ec>
nuck, c'mmon, you at least are infalliable
<ec>
say some shit!
<ec>
-otters
<purr>
ec: write-only stream
<ec>
I miss otters. What did he change his nick to? I don't recall
<ec>
something starting with a j
<ec>
pikajude: … was that you? or are there two different J-people, I get confused
Hrorek has joined #elliottcable
Rurik has quit [Ping timeout: 250 seconds]
eligrey has quit [Ping timeout: 244 seconds]
<pikajude>
ec: yes that was me
<pikajude>
and still is
<ec>
omg rly?
<ec>
when did you start actually reading the chat!?
<ec>
;)
<pikajude>
when i got home and reconnected to my bouncer
<ec>
was a joke about how you used to consistently interject into ongoing conversations with no context, and then leave without commenting on having done so.~
<ec>
-otters @ pikajude
<purr>
pikajude: write-only stream
<ec>
-find jude
<pikajude>
ec: that me
<purr>
ec: Could not find `jude`.
<pikajude>
it's because i spend most of my time using npm
<pikajude>
then when i get frustrated i come in here and talk about it
<ec>
-learn pikajude = read-write stream!
<purr>
ec: Learned `pikajude`.
<pikajude>
then leave
<pikajude>
but i totally forgot i used to do that
<pikajude>
i'm like /dev/zero
* ec
laughs
<ec>
yes it was amazing
<ec>
I want to resurrect this channel, but mostly because it has too much history to let die
<ec>
it's like an old relationship
<ec>
“But all those inside jokes! They *can't* die!”
<pikajude>
where did alexgordon and his extremely questionable opinions about PL design go
<ec>
ja: there's your *real* introduction to this channel
<ec>
pikajude: he's still here
<pikajude>
where is he
<ec>
I ran across the spec for Forb yesterday
<pikajude>
is he in this channel
<ec>
pikajude: as always, he doesn't hold with bouncers or persistent clients; he's only in the channel when he's at the computer
<ec>
whitequark is back, too, kinda
<pikajude>
cool
<pikajude>
what about gothalice
<ec>
we just need to re-recruit micahjohnston, devyn, eboyjr, and locks
<ec>
who the fuck is gothalice
<ec>
was that gqbrielle?
<ec>
… and the channel will be just like old times
<ec>
go forth and nuck them, each and every one!
<ec>
-nuck
<purr>
ec: shut up nuck you are a nuck
<pikajude>
no, gothalice is different
<ec>
were they a regular?
<pikajude>
gothalice is the one that would find a way to bring any conversation to the topic of some amazing thing she built in python last year
<ec>
-gothalice
<pikajude>
oh, i miss devyn and micahjohnston
<pikajude>
and gqbrielle
<pikajude>
fortunately, devyn's replacement devyn_ is still around
<ec>
-learn gothalice = < pikajude> gothalice is the one that would find a way to bring any conversation to the topic of some amazing thing she built in python last year
<purr>
ec: Learned `gothalice`.
<ec>
the devyn_ is a lie >:
<pikajude>
oh
<pikajude>
that sucks
<ec>
gkatsev is real though
<gkatsev>
hi
<purr>
gkatsev: hi!
<ec>
he's probably the one from this channel that I currently know best, because I keep going to conferences with h/aroundim
<ec>
with/around him *
<ec>
for instance, that one time that &yetConf was a cult
<ec>
anybody else have a Steam Controller and kinda sorta totally hate it?
<ec>
it's completely unusable in OS X, for me, and it looks from the forums like I'm not the only one;
<ec>
and it's unreliable as fuck on Windows;
<vigs>
sup
<vigs>
ec: I am not vil, vil is not me ;P
<ec>
and on SteamOS, where it works most reliably in the menus, the touchpads are … touchy, wiggly, un-game-with-able, in the games I've tried with them
<gkatsev>
doesn't it not support OSX at all, currently?
<vigs>
vil is spherecat, I'm sarcasticsimba
<ec>
gkatsev: it's totally supposed to; but it *doesn't work*. like, at all.
<gkatsev>
ec: did they make an update? Because from what I've read when it shipped, it didn't support OSX
<ec>
there's also some obvious buggy bullshit about it: for instance, launching the controller-customization panel of Big Picture *from within a game* (not from the Steam overlay, but from the game's “controls” section), universally shows an overlay that you can't interact with or get out of
<ec>
(reproduced on different platforms and in different games, for me)
<ec>
as well as glaring-missing features, like adjusting the *sensitivity*/speed of various controls, instead of just the mappings
<ec>
gkatsev: well, the Steam Client Beta release-notes keep mentioning Mac OS X / Steam Controller fixes,
<ec>
and it's super alternate-reality / ghostly / weird to read them, because they mention fixing problems that you *couldn't even cause to happen*, at least for me, because the controller literally has no effect / does nothing in *any game*
<gkatsev>
ah, maybe in the beta
<ec>
it's like a friend you *know* doesn't have a car occasionally tweeting about getting into car accidents or taking it to the shop.
<ec>
vigs: hi
<ec>
I demand you lurk
<ec>
DEMAND
<vigs>
hay
<ec>
DEMAAAAAAND
<vigs>
oh okay
* vigs
returns to lurking
<ec>
vigs: as in, make this your primary IRC channel again for a week
<ec>
I GUARANTEE† YOU WON'T BE DISAPPOINTED!
<vigs>
oh lol
<purr>
lol
<ec>
† not an actual guarantee, possibly actually quite likely incorrect
<vigs>
I mostly lurk these days anyway; I'm busy as shit :(
<vigs>
well, by "lurk" I mean I have it open but hardly contribute
<ec>
vigs: wtfwtf
<ec>
I just tried to send an image to you; and instead, it tweeted *the icon of the file*
<vigs>
I mainly privated up since I'm waiting to hear back from some companies and I don't want the refuse of my Twitter feed to be added incentive for a rejection.
<ec>
refuse haha
<vigs>
I realized how well that worked as I was typing it hehe
<ja>
I wonder when/if the Safari web inspector will supports source maps >.<
<ja>
… or maybe it already does?
<ja>
ljharb: what's so bad about CoffeeScript? I'm curious
<ljharb>
oh so many things
<ljharb>
is that a serious question, or do you not want me to rant about it
<ja>
it is a serious question
<ja>
not trying to start a holy war about languages either or anything like that
<ljharb>
ok so for one, it's a inherently flawed language that doesn't actually allow you to forget the quirks of JS, so why on earth wouldn't you just write JS if you have to remember those, or else why not just use a real language that transpiles to JS
<ljharb>
for example, you can't not shadow variables in an outer scope without creating an IIFE
<ja>
like what “real language” that transpiles to JS? like TypeScript?
<ljharb>
like ruby, or haskell, or erlang, or PHP for chrissakes
<ljharb>
like actual real languages
<ja>
wat, Ruby, Haskell and Erlang transpiles to JS?!
<ljharb>
every single language that has ever existed transpiles to JS.
<ljharb>
Atwood's Law, iirc.
<ja>
jeez
<ja>
haha
<ja>
nice
<ljharb>
two, the author is user-hostile and doesn't believe in semver
<ljharb>
so every update will likely break your code
<ja>
oh… wtf… that really blows
<ljharb>
three, it mixes ruby, JS, and python in a super crappy way
<ljharb>
like, it takes the worst parts of all of them and smushes them together
<ja>
>.< fuck! I kinda liked it, but yeah, I definitely recognize that it has its flaws
<ja>
I haven't tried anything else though
<ljharb>
like ruby's metaprogrammy voodoo horrors, for example
<ljharb>
also it's 2015 - use ES6 with babel and be done with it :-)
<ja>
babel?
* ja
googles
<ja>
are semicolons optional in ES6?
<ja>
and parentheses? :D plz
<ja>
nah, I can live with parentheses
<ja>
but semicolons…
<ljharb>
semicolons are never optional in JS
<ljharb>
they're so required that the engine puts them in for you
<ja>
;_;
<ljharb>
but yes, you can write JS using ASI rules, if you want to remember the harder set of things to remember.
<ja>
but maybe babel had an option to make them optional
<ljharb>
typing a semicolon isn't hard :-)
<ljharb>
babel doesn't apply. you can always omit semicolons
<ja>
it's hard on non-US keyboards :B which I fortunately haven't used in over half a decade
<ljharb>
JS won't ever be able to require them or forbid them, sadly.
<ljharb>
i can't imagine programming is ever not hard on non-US keyboards, tbh
<ja>
haha, indeed
<ja>
it's a nightmare
Hrorek has quit [Ping timeout: 272 seconds]
<ja>
my quality of life improved by over 9000% after I switched to US keyboards
<ja>
I type / and ; waaaaay more than æ, ø, and å anyway
<ljharb>
i can type ø and å and æ on my US keyboard anyways
<ljharb>
option-o, a, and ' respectively
<ja>
yeah, on macs it's pretty blissful
<ljharb>
accurate
<ja>
oh, and a sanely-shaped return key is also nice
Hrorek has joined #elliottcable
<ja>
and a not short-as-fuck left shift key!
<ja>
/topic Welcome to the best keyboard circlejerk on IRC!
<ec>
turns out, ljharb is literally the Anti-Elliott
<ec>
1. making you jump through hoops to shadow variables: not necessarily a terrible thing.
<ec>
(wouldn't go so far as to call it universally good; I'm not usually a fan of language features that ‘try to protect’ the user. complained my share about it years ago, but it's grown on me.)
<ec>
and that is **literally** the only linguistic argument against CoffeeScript.
<ec>
the rest of yours are complete B.S., from where I'm standing:
<ec>
2. The point is *not* to forget the quirks of JS.
<ec>
let me ask, those wonderful transpilers of yours; do *they* allow you to forget the quirks of JS?
<ja>
maybe ljharb was just testing my discussion skills
<ja>
i love this channel so much it's now my second irssi window (excluding the status window)
<ec>
no. they don't. they simply *defer* the forgetting-thereof until much later, when your codebase is much more complex, and *then*, not only do you still have to decode the weird JSisms affecting your application or codebase … *not only* do you *also* have to do so through painful layer after layer of terrible, terrible transpiler abstraction and obfuscation
<ec>
… but you even have to deal with the fucking transpiler *itself*, their design choices and oddities!
<pikajude>
it's ok
<pikajude>
coffeescript makes it slightly less bad
<pikajude>
list comprehensions and stuff
<ec>
CoffeeScript, and languages like it (minimal abstractions *over* JS, instead of an attempt to drop something else *onto* JS) recognize this, and take the ideal path out: keep you *just enough* with the realities of the platform you will be running on, to give you this perfect middle ground between <hellish JS bullshit> and <hellish abstracted bullshit>.
<ec>
3. ‘actual real languages’
<ec>
literally fuck off and die.
<ja>
s/this channel so much/you so much, ec,
<ec>
a programming language's existence as a programming language isn't vetted by *your* strange standards for what makes a ‘real’ language.
<ec>
you're as bad as the fucking shitbags that say PHP programmers “aren't REAL programmers” or that sysadmins “aren't REAL developers”
<ec>
(that's the only part that made me actually angry, fwiw.)
<ljharb>
ec: lol wat?
<purr>
lol
<ec>
4. semver is fucking terrible, and one of the worst things that's happened to JavaScript in a while
<ja>
you do agree that PHP is really shitty though, don't you, ec?
<ec>
not even going to go there
<ja>
wat
<ja>
semver is terrible?!
<pikajude>
i can see coffeescript not being a "real" language though, since it's just a syntax
<ljharb>
ec: the difference is that a "real" language is anything that runs on its own, without needing to be transpiled to something else
<ljharb>
and semver is the best.
<ec>
4a. but agreed that CoffeeScript is stale and dead, which is the only *real* reason to avoid using it nowadays /=
<ljharb>
i'm not saying "real" like "REAL programmers"
<pikajude>
it makes debugging impossible
<ec>
CoffeeScript redux was promising, but.
<ljharb>
i'm saying real like, an actual language with a spec and a standalone implementation
<ec>
Oh, so, hold on, every language using a compiler isn't a real language
<ec>
I see.
<ec>
your criterion for languages is whether they exclusively execute on a runtime interpreter or not.
<ljharb>
are you just being pedantic or do you really not see the differentiation here
<ljharb>
also, yes, those other languages *absolutely* let you forget the quirks of JS.
<ec>
5. ‘in a super crappy way’ well, each to their own, but I find CoffeeScript to be the *best* of Ruby and Python mixed into JS, not the worst of.
<ljharb>
when compiling haskell to JS, for example, you can pretend JS doesn't exist.
<ljharb>
you can't forget the quirks of the DOM, but that's not what i was talking about.
<ec>
the only thing it's missing is an explicit exposure of JavaScript's prototypes; the weird psuedo-classist abstraction is bullshit
<ec>
but, luckily, easily avoidable
<ljharb>
also, minimal abstractions over JS are fine
<ec>
“you can pretend JS doesn't exist” let me know how that goes for you.
<ljharb>
coffeescript isn't minimal
<ec>
CoffeeScript is *super* minimal. I forget precisely how many lines of code, but go count; it's almost nothing.
<ec>
and conceptually, it's equally thin; the concepts are all very cleanly laid out right on top of age-old ES4 ones.
<ljharb>
that's not how "minimal" is measured here. the size of the implementation isn't what matters, it's the API surface.
<ec>
the only thing that's wildly different is the syntax.
<ljharb>
many of the semantics are also wildly different.
<ec>
oh lord, oh fucking lord
<ec>
did you just really suggest that people *type* the semicolons in JS?
<ec>
I'm sorry that it's *called* ‘automatic semicolon insertion’
<ljharb>
um, yes, most do, but i'm not sure how that's relevant
<ljharb>
brendan eich himself described ASI as an error correction mechanism, so that's a historical fact
<ec>
nonetheless, they're absolutely optional; and I thought everybody had realized around 2014 that it's horribly stupid to be telling newcomers to type them
<ljharb>
that the spec rewrote history as "optional" doesn't change that.
<ec>
I never said anything about any historical fact. strawman.
<ljharb>
the vast majority of the JS community both types them and strongly encourages newcomers to type them ¯\_(ツ)_/¯
<ec>
It *currently* is absolutely optional.
<ec>
… what JS community do *you* run in
<ec>
“… if you want to remember the harder set of things to remember”
<ljharb>
yes, ASI rules are harder to remember than semicolon rules.
<ljharb>
for newcomers, at least.
<ec>
er, as in, “don't put a line-return between `return` and the expression” (which holds true *anyway*), and “prefix [ or ( on a new line with a semicolon?”
<ec>
that's literally it.
<ec>
the entire fucking thing.
<ec>
go read inimino's post.
<ljharb>
i've read it. i don't agree it's that minimalist.
<ljharb>
i understand you can reduce the rules down to that. but that doesn't mean it's easier to understand or remember.
<ec>
anyway.
<ec>
I'm sorry I flipped.
<ec>
If it's not clear, I'm *very* opinionated about A) language design, and B) teaching programming
<ljharb>
no worries, the only part i think was justified was the "REAL" part, which was a misunderstanding.
<ljharb>
* sorry, wasn't
<ec>
those are topics I care about more so than almost anything in the world, and I'm pretty sure you and I disagree strongly about every single aspect thereof. >,>
<ljharb>
the rest was just normal debate.
<ljharb>
i'm pretty sure that we don't disagree on that much.
<ec>
oh god I forgot about the start of Season 7
<ljharb>
teaching JS newcomers things that will make it harder for them to integrate with the industry or the majority of open source JS on the internet isn't a good thing for teaching.
<ec>
the Clara Oswald that doesn't exist O_O
<ljharb>
wait what season are they on now
<ljharb>
i thought it's like season 9
<ljharb>
ok yeah
<ec>
I'm behind :P
<ec>
re-watching from mid-6 onwards to re-catch the train of thought
<ljharb>
nice
<ec>
missed the Season 9 launch party
<ljharb>
capaldi's not too bad. i still think he's my third favorite of the new doctors, but he's not bad
<pikajude>
i think we need to start using typescript
<pikajude>
basically everything this codebase does is related to modifying rigidly defined collections of properties
<pikajude>
and javascript makes 0 guarantees about them
<pikajude>
and the jsonschema library's "validate" method modifies the object you pass in
<pikajude>
normally you wouldn't expect a validation method to be destructive
ja is now known as mk
mk is now known as ja
<pikajude>
Object.freeze looked promising for about 4 seconds. then i found out you can't unfreeze