ELLIOTTCABLE changed the topic of #elliottcable to: a _better_ cult
Determinist has quit [Ping timeout: 240 seconds]
Determinist has joined #elliottcable
mcc has quit [Ping timeout: 240 seconds]
mcc has joined #elliottcable
mcc has quit [Client Quit]
mcc has joined #elliottcable
mcc has quit [Client Quit]
mcc has joined #elliottcable
mcc has quit [Client Quit]
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
prophile has quit [Quit: The Game]
prophile has joined #elliottcable
prophile has quit [Quit: The Game]
eligrey_ has joined #elliottcable
eligrey has quit [Ping timeout: 240 seconds]
eligrey_ is now known as eligrey
<vigs> hi
<vigs> hi
<purr> vigs: hi!
<purr> vigs: hi!
<devyn> hi
<purr> devyn: hi!
<devyn> hi
<purr> devyn: hi!
<vigs> what's up?
<devyn> my hair is different
<vigs> since our hair is always growing, isn't it ALWAYS different?
<devyn> mine went in the opposite direction
<vigs> lol
<purr> lol
<vigs> yarg I can't figure out why the Chrome console is clearing every time I make an API call >_<
<vigs> it persists if I tell it to keep the contents on navigation, but a REST call isn't "navigation"…
eligrey_ has joined #elliottcable
eligrey has quit [Ping timeout: 240 seconds]
eligrey_ is now known as eligrey
eligrey has quit [Ping timeout: 240 seconds]
eligrey has joined #elliottcable
<glowcoil> conversation has inspired me to watch some french tv
<glowcoil> also to be more hardcore about turning off subs in anime
<glowcoil> i do follow several french people on twitter
<devyn> french anime?
<glowcoil> devyn: no, japanese haha
<glowcoil> i know a lot less japanese than i do french, but i do catch like, every function word when i watch anime
<katlogic> wow, that's harsh
<glowcoil> so i tend to know the shapes of sentences if i don't know the vocabulary
<katlogic> Fuck merit, only hyped stuff is allowed to exist.
<glowcoil> katlogic: remember when the drama about that happened
<glowcoil> ?
<glowcoil> some guy was deleting a lot of programming language pages including that one
eligrey has quit [Quit: Leaving]
<glowcoil> katlogic: ah
<katlogic> As in, instanotable in 7 days
<glowcoil> right
<glowcoil> :/
<katlogic> 10 years old language, not notable enough
<katlogic> ah, not 10, only 6
<katlogic> I guess thats ok then.
<glowcoil> haha
<vigs> hey, anyone know how to stop this form from refreshing the page when I hit enter? :<
<katlogic> IKR, ALL FORMS DO THAT, IT DRIVES ME CRAZY
<vigs> yick
<devyn> Nimrod looks like python + js + c
<joelteon> i hate python
<devyn> #rubymasterrace
<devyn> (honestly, I agree; I really hate their conventions and feel like Ruby is much prettier to look at, not necessarily because of syntax but because the conventions are just more attractive)
<joelteon> it just feels weird
<devyn> the whole "there is only one way to do things" really gets in the way of expressiveness IMO
<joelteon> in the django settings file, you define a big list of constants
<joelteon> then you import that module and reference the constants in it for your configuration
<joelteon> it just feels weird
<joelteon> i can't say it's bad
<katlogic> devyn: Nimrod is hated mostly for its pascal heritage
<devyn> well, I don't know; if that's a common pattern in Python applications then I can see where it comes from
<joelteon> yeah
<joelteon> a better example would be
<joelteon> explicit self
<devyn> C header files as configuration and such
<joelteon> and having a 'request' argument that has to be passed in
<katlogic> Somehow pascal was almost always universally hated, with the exception of kids who learned tp7 at school as their first language.
<joelteon> for every view function
<devyn> I don't really get the hate for pascal. Never really tried it but it looks perfectly decent to me
<joelteon> like in ruby you get the 'request' method
<katlogic> devyn: Take a Python grammar & style nanny, throw in some type system invented in 10 days in the mix, bon apetit, Pascal.
<devyn> surely it gets some slack for being relatively old though
<devyn> if someone did that *today* it would be like, pff, whatever
<katlogic> indeed it does, they didnt know better back then
<joelteon> dude, also
<joelteon> pylint is fucking broken
<devyn> fuckkk Guilty Crown has such a good soundtrack
mcc has joined #elliottcable
<devyn> katlogic: > The only escape from this infinite regress is to define a family of routines with a member for each possible string size, or to make all strings (including constant strings like 'define' ) of the same length.
<devyn> EW
<devyn> but I thought the term "Pascal string" came from something like struct { unsigned int len; char *ptr; }
<katlogic> Well, half of that was fixed with various bandaids.
<katlogic> Basically by making pascal more C-like, thus making it stray from its roots (being easy to learn).
<katlogic> devyn: Too bad that other than production values, the series are far from memorable :(
<katlogic> IIRC it attempted to ripoff noein/bleach and failed spectacularly
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
mcc has quit [Quit: This computer has gone to sleep]
<devyn> katlogic: oh god I was like what the fuck are you talking about. Guilty Crown. eh, it wasn't bad. the music and art definitely made up for it, I think; music and art that beautiful just overwhelm everything
<devyn> not everything has to be well-balanced :p
<devyn> I can appreciate a series just for the art and music, just like I can appreciate a song based on how well it all fits together instead of complaining about the use of autotune when it actually fits the style
<devyn> (I bring this up because I had that discussion with someone last night)
<devyn> hint: when the autotune is obvious, it's probably because it's being used stylistically and not because they're trying to make up for crappy singing.
<vigs> I'm violently and vehemently opposed to autotune
<devyn> okay, rationalize your position to me
<vigs> It's usually used to make up for terrible singing. When used stylistically, that comes down to personal preference: I hate overproduced music. The closer to how it'd be if the band were performing IRL, the better.
<devyn> I agree when it's being used to make up for bad singing, yes
<devyn> but it's a bit more subtle then, and just kind of annoying
<vigs> I generally don't like too much tech used in music, which is a weird stance for me to have. I also don't like *too* many guitar effects pedals in music. Really all you need is your standard distortion and a clean tone, and you're solid.
<devyn> that's a perfectly fine view to have
<devyn> I can appreciate that too
<vigs> lol I'm glad it's devyn approved :P
<purr> lol
<devyn> :p
<devyn> no, but I mean, I can appreciate more physical/natural music like that as well
<devyn> I love acoustic songs
<devyn> however
<devyn> I don't think there's anything wrong with production
<devyn> like, lots of it
<devyn> I think it makes much more sense when you think of the production as the art form being demonstrated
<devyn> music production is not easy either
<devyn> it takes talent
<devyn> and skil
<devyn> skill*
<devyn> and so I think it's cool if songs are demonstrating more "physical" talent
<devyn> but I think it's also cool when songs are demonstrating talented production
<devyn> but of course the artists who actually play/sing usually get most of the credit and the fame, and when we're talking about music that's mostly about production, that's lame
<devyn> because it's really the producers that are doing the hard work
<devyn> and being really creative
<vigs> Right, but I feel like production takes the "skill" away from music (bear with me here); I think that because it removes the performance aspect. That's really important to how I place value in music.
<devyn> it seems to me that a lot of people feel that way, but, why? why does music only have to be about (live) organic performance? why can't it be about well-prepared, organized, synthetic sequences?
<vigs> A lot of people hold that belief? LOL as if. I feel like I'm in the minority.
<purr> LOL
<vigs> It's all about EDM or whatever these days. Yuck.
<vigs> "aw man check out this sick beat" yeah okay where's the SUBSTANCE? (I put a lot of weight in the lyrics and intent of a song)
<devyn> honestly I'd say it's just as common, it's just that "mainstream" is not necessarily controlled by what a large majority thinks but what record companies *want* you to think, and publicize
<devyn> and I see it so much and most of the people who feel that way feel that they're underrepresented because they don't see what they like on the radio and on TV and in popular culture
<devyn> but... when you've got a whole group of many thousands of people all talking about how much they hate music these days, I don't think that you can really call it "uncommon"
<devyn> :p
<vigs> Dude, I'm super into punk. lol if that's ever on TV or the radio
<vigs> Sure, it had a little stint with popularity in the 90s, but that left us with pop punk, which stripped the punk sensibility away, and just kept some exaggerated elements of the aesthetic (from fashion to the actual sound of the music)
<devyn> exactly, but I feel that people who are into alternative/non-mainstream music really try to emphasize their non-conformity and how uncommon what they like is
<devyn> just because it isn't the cultural "mainstream" doesn't make it uncommon :p
<devyn> it means it doesn't sell as well, sure
<devyn> which can mean less incentive for people who are just in music for money anyway, but then you get people who actually respect what they produce, and that's not such a bad thing
<vigs> I can't speak to the others, but I really do feel in the minority. Most people I know are into either electronic music of some sort, or country.
<vigs> In high school, expressing literally any contrary opinion to music labeled you as a "hipster" and people assumed you liked shit like Neutral Milk Hotel or whatever.
<devyn> circles and location. most people really don't like country music at all here, except for pop-country Taylor Swift kinda stuff
<vigs> The country nonsense is definitely kinda localized to the central coast: it wasn't as popular back in the bay area
<devyn> EDM... sure, but I wouldn't say it's as huge as even just plain pop/rock stuff
<vigs> Here, there's a bunch of agriculture stuff, so country is p popular
<vigs> EDM, dubstep, and other electronic music genres have always been popular since I was in middle school
<vigs> I've had exactly two peers who like the music I do. It's pretty bullshit.
<devyn> they're popular, but I wouldn't say they're nearly as mainstream as pop/rock (which isn't really fair because it's a genre with a pretty loose definition)
<vigs> examples of things in that genre? Because I'm inclined to disagree with the "rock" part of that
<devyn> you will almost certainly disagree with the rock part of it for most songs
<devyn> but that's just what it's called
<vigs> yick
<vigs> Anyway, the whole electronic culture has prevailed in the places I've been. Gloving, glowsticking, the whole nine yards.
<vigs> Also includes things like longboarding.
<vigs> That seems to be part of that culture, too.
<vigs> Which is super strange, because the whole skating thing got bastardized from a "fuck you I'll skate where I want" thing to a "yo man let's just chill and cruise around town" thing
<devyn> it's... here, but I wouldn't say it's that prevalent
<vigs> It's basically all I see.
<devyn> so I think you may have some bias just due to where you are
<devyn> :p
<vigs> where are you, devyn?
<devyn> Vancouver
<vigs> gotcha
<vigs> But yeah, even a bunch of people I know online are into the whole electronic thing. Maybe it's because a lot of them are devs?
<devyn> nah, I know devs who are into anything from classical to jazz to rock to whatever so I don't think that really has any bearing on what kind of music people like :p
<devyn> I enjoy electronic music, but I also enjoy like... everything
<devyn> though I could never really get into pure rap or country
<vigs> Yeah, I used to be like that. At one point, I was just super sick of the music I had.
<vigs> I started by sifting through the music I had, tried to pick out what I enjoyed, and came up with similarities they shared.
<devyn> other than that though, my music library is extremely varied in genre and mostly in Japanese because, well, what.cd
<vigs> Then I went off to find more things like it. Thanks to Pandora, I quickly found The Ramones and the Sex Pistols, whose stations introduced me to some of my favorite bands.
<vigs> Yeah, I used to have a bunch of Japanese music, too. Things from anime openings/closings to some random stuff I found online, including vocaloids
<devyn> I would say there are things I definitely don't like that much in my library that I kinda regret downloading in the first place, but my tastes are definitely very varied
<devyn> and I do like most of the stuff in there, I think
<vigs> Yeah, I was totally in the same boat. Not sure what snapped in me, but I'm glad it did. Analyzing my library (and myself, I suppose) really helped me get my shit together :P
<devyn> haha
<devyn> ehh I don't really think I'm the same way :p sometimes I feel like classical, sometimes I feel like jazz, sometimes funk, sometimes boring pop
<devyn> really depends on my mood
<devyn> but I usually know what I want'
<devyn> I don't find myself shuffling through my entire library most of the time
<vigs> Yeah, I mean, I'm not EXCLUSIVELY into punk, but my tastes do usually depend on my mood. I spent a few hours today listening to classical, which was pretty chill
<devyn> you should check out veniceclassicradio.eu
<devyn> it's kinda nice
<vigs> I think it was actually initiated by this post: http://imgur.com/gallery/T926Q
<vigs> I went off on a long excursion into classical after reading that lol
<purr> lol
<vigs> oh that's cool
<devyn> actually found that while playing Garry's Mod, of all things
<vigs> whoa
<vigs> btw devyn: even though I should be working on this project, I enjoyed this little back and forth :P
<devyn> vigs: me too :)
<vigs> :D
<katlogic> Nobody listening to hipster chiptunes?
<vigs> not my thing :P
<vigs> But I do dig dem gameboy sounds
<devyn> anamanaguchi is about as close as I get atm, though chiptune is nice
<katlogic> vigs: Agreed, most chiptunes are pretty crappy, like 90% of soundcloud.
<katlogic> Takes some digging to find original stuff.
<vigs> lol that wasn't what I was asserting, but sure
<purr> lol
<vigs> I just said I enjoy the aesthetic because nostalgia
<katlogic> Ah, well todays hipster chiptunes are um like
<katlogic> sega fm, fender guitars, occasional breakcore and orchestra with lsdj chipping in
<vigs> I know exactly zero about finding good chip tunes heh
<vigs> I understand some of those words
<katlogic> Guys who are stuck in 80s are hopeless, like anything it has progressed.
<vigs> ¯\(°_o)/¯
* devyn shrugs
<purr> ¯\(º_o)/¯
<devyn> I enjoy anamanaguchi
<devyn> nice chiptune and guitar combo
<katlogic> devyn: to hipsters it sounds fairly generic :(
<katlogic> aka no hook and no surprises, no chill out for background music either
<vigs> "hipster" is such a vacuous word though
<vigs> "Ha ha oh man you do $THING you must be a hipster ha"
<vigs> I'm sure it had a meaning before it gained popularity and was applied to anything contrary to $POPULAR_OPINION
<katlogic> From mainstream, grindcore is somewhat bearable
<katlogic> (mandatory amv includent)
<vigs> well…that's interesting
<vigs> When I had my "I like everything but rap" phase, I did like some electronic music. My friend told me recently that the stuff I really liked from that is "happy hardcore," so that's a thing ¯\_(ツ)_/¯
<katlogic> Yeah, rave/happycore is indeed a thing, though only with high dosages of caffeine
<katlogic> otherwise it sounds just way too frantic
<vigs> lol
<purr> lol
<katlogic> This one is particularly fun, sampled JAV porn movie actress
<vigs> Yeah, I tend toward high-tempo music
<vigs> Slow stuff just puts me to sleep
<vigs> (also might be a reaction against some of the stuff my parents listen to/I was forced to endure growing up)
<katlogic> good ole days of /mu/ lolicore
<devyn> hahahaaaa
<devyn> oh man I know exactly what that's about, too
<katlogic> my all-time animu favs https://soundcloud.com/ezdiy/sets/animu-filth
<vigs> lol
<purr> lol
<devyn> ahahhahaha
<vigs> okay realtalk: the Lucky Star opening theme is the shit https://www.youtube.com/watch?v=80l6tvxTpTI
<devyn> chinpo ochinpo ochinpo ochinpo ♪
<devyn> (listening to that JAV porn song lol)
<vigs> chinpo…that's the fat guy from Mulan, right?
<devyn> chinpo means dick.
<vigs> oh
<vigs> well then
<devyn> lol
<vigs> I only took two years of Japanese…that wasn't exactly covered
<devyn> yes, and manko means vag
<devyn> now you know~
<vigs> To be fair, I took french from 6th-10th grade, and we never learned the verb for "to surrender"
<devyn> oh god
<devyn> vigs: that song is literally called GO!GO! Dick cheering party!
<vigs> lol
<purr> lol
<devyn> idk, I'm not actually that into anime music
<devyn> I mostly find new japanese music via what.cd
<devyn> and last.fm
<katlogic> yeah, animu breakcore mixes were fun a while but one gets tired of the squaky voices fast
<devyn> yeah.
<devyn> agreed
<devyn> lol
<devyn> what I always want more of is stuff like this
<devyn> really intense opera-like music
<devyn> vigs, that's a live performance; you'd appreciate it
<devyn> :p
<vigs> lol it
<purr> lol
<vigs> * it's still super slow :P
<devyn> ah, right, forgot about that part
<devyn> haha
<vigs> lol
<vigs> they're good singers, though
<devyn> yuki kajiura is a fantastic, fantastic composer
<devyn> she never fails to impress
prophile has joined #elliottcable
<katlogic> The only music I've seen live is https://www.youtube.com/watch?v=qG89CPHGwXY#t=30s
<katlogic> Gee, it will be almost 10 years
<katlogic> *the only japanese
<devyn> haha wow what
<devyn> not bad though
<katlogic> yeah, those guys are somewhat pominent underground noise punkers
<katlogic> touring 15 years or so, staying indie like a boss
<vigs> I can get into this
<devyn> yeah, this is good shit
<katlogic> Well, there's rock animu songs too https://www.youtube.com/watch?v=MAWNUC9-yQs
<katlogic> if touhou counts as animu
<devyn> *shrug* same subculture, so sure
<purr> ¯\(º_o)/¯
<katlogic> s/rock/power metal/
<devyn> oooh
<devyn> https://www.youtube.com/watch?v=8ltN8Lsgt6s actually, you might like this
<katlogic> Ah right, at least it has a beat
<devyn> heh
<katlogic> devyn: Still sounds like fairly generic OP :(
<devyn> katlogic: that's probably because I'm pretty sure she helped to *create* that style :p
<katlogic> ah, that explains it :)
<katlogic> devyn: Though the hipster I am, I still need strong hook to appreciate music
<devyn> haha
<katlogic> In asian orchestra vein, perhaps https://www.youtube.com/watch?v=GG81Wb2o25E#t=10s ?
<devyn> ooh
<devyn> wow
<katlogic> well, like anything chinese, its ripped off
<katlogic> but nicely done
<devyn> ripped off of what
<katlogic> sehnaz longa, turkish classical music
<devyn> well, there's mongolic influence in turkish music…
<katlogic> sounds somewhat more true to the original
<devyn> huh
<devyn> so they took a turkish piece and made it more mongolic
<devyn> lol
<purr> lol
<katlogic> hard to say
<katlogic> turks _do_ have mongol ancestry
<devyn> yep
<katlogic> heck, half of balkan does
<devyn> yeah, actually, I don't think this is the same
<devyn> just in the same style
<devyn> (obviously)
<katlogic> Obligatory dj sharpnel bastardization from where I actually found out about this song https://www.youtube.com/watch?v=W-BrqXhHhV0
<devyn> …huh.
<katlogic> starts at 1:20 or so, lame techtro
<devyn> oh pretty cool when it s
<devyn> yeah
<katlogic> speaking of balkan, I'm looking for this particular mix of punk, balkan and orchestra - https://soundcloud.com/torycj/kozak-system-haydamatska?in=ezdiy/sets/gipsycore
<devyn> lol gipsycore
<purr> lol
<katlogic> (the rest of that set is just amen breaks mixed in sped up gipsy classics)
<katlogic> Sounds at first, but gets boring after a while, same as animucore
<devyn> still, because of this I shall look for more turk/balkan/mongol classical music to add to my collection
<devyn> :p
<katlogic> well, easiest is gipsy classics
<katlogic> thats basically what balkan folklore is anyway lol
<devyn> gypsies are from India though, aren't they?
<vigs> Egypt
<vigs> eGYPsies is the root of the word, IIRC
<vigs> or something idk
<devyn> yes, though wikipedia says the word was coined due to a misconception
<vigs> so is there REALLY no way to make hitting enter on a text field not reset the page? that seems wrong >_<
<devyn> have you tried preventDefault() in keypress, keydown and keyup? (try all three)
<devyn> matching only enter, of course
<vigs> all three? welp okay
<devyn> if the text field is not in a form, the form shouldn't submit and the page shouldn't be reset though
<devyn> you can have <input>s outside of <form>
<vigs> right now I'm only calling preventDefault() on submit()
<katlogic> devyn: Finally, jevish folk
<katlogic> *jewish
<vigs> the input is inside a div, which is inside a form
<katlogic> also strong balkan influences
<devyn> vigs: oh what the hell, you don't get an onsubmit event when you press enter?
<devyn> or you do and preventDefault() just doesn't cut it?
<vigs> fuck, is the function onSubmit() or submit()? .__.
<devyn> neither
<vigs> cuz I found something like this online: .submit(function(e){e.preventDefault(); return false;})
<katlogic> onsubmit and onclick. events.
<vigs> which is what i'm doing
<devyn> err
<devyn> if you're using jQuery
<devyn> then yes that
<vigs> yes that'
<vigs> anyway that's not doing it >_<
<devyn> normally with DOM, .addEventListener("submit", function(e){e.preventDefault(); return false;})
<vigs> I also tried this:
<vigs> .keypress(function(key) {
<vigs> if(key.which == 13) {
<vigs> $('#SearchSubmitButton').focus().click();
<vigs> $(this).blur();
<vigs> }
<vigs> });
<vigs> whoops forgot it's multiple lines, brb gisting
<katlogic> what is it you're trying to accomplish, cancel submit?
<katlogic> return false should be enough
<vigs> katlogic: no, I want it to submit. I don't want a page refresh
<katlogic> oh
<katlogic> thing is, page refresh should not happen either
<devyn> vigs: you can't submit without resetting the page. you'll have to manually do an ajax call on submit interception then
<katlogic> it should just post the form when enter is pressed and any form element is in focus
<vigs> devyn: yeah I tried something like that there
<devyn> yeah, well that's the only way :p
<vigs> when enter is pressed ,I'm losing focus on it and trying to click the submit button
<katlogic> vigs: huh?
<devyn> nuuu
<vigs> it doesn't work, though >_<
<vigs> wait what
<devyn> obviously that won't work :p
<katlogic> vigs: get rid of _all_ that silly code
<katlogic> just hook submit
<devyn> yeah lol
<purr> lol
<vigs> okay
<katlogic> pull up fields and return false
<devyn> vigs: none of that makes any sense. capture submit on your <form> element instead, make ajax call and preventDefault()
<vigs> ahh okay
<vigs> that element there is a text field
<vigs> I'll do it on the form
<devyn> $("#my-form").submit(function (e) { e.preventDefault(); $.ajax({...}) })
<devyn> that's all you need to do
<devyn> nothing else
<devyn> not even return false, since jQuery provides a compatible preventDefault()
<devyn> I believe
<devyn> (preventDefault() is now part of DOM too)
<katlogic> still its weird, it almost looks like he never hooked the event in the first place
<katlogic> perhaps forgot domready?
<devyn> you can't hook submit() on a text field
<devyn> that definitely won't work
<devyn> so that's part of it
<devyn> lol
<katlogic> yeah, that too :)
<vigs> yeah >_<
<devyn> "Did you know the Old Spice "I'm on a horse" commercial used no green screen? They actually built a rig to slide a man off a boat onto a horse."
<devyn> …
<devyn> why
<vigs> welp something borked
<devyn> I'm surprised the horse tolerated that
<vigs> lol
<purr> lol
<katlogic> pretty mad huh
<katlogic> they used gray screen.
<devyn> wow, that's… dedication
<devyn> lol
<purr> lol
<vigs> so now it submits on enter, but not on hitting the "submit" button
<vigs> lol
<vigs> no wait I'm an idiot
<vigs> I changed the <button> to an <input> to try something
<vigs> never changed it back
<vigs> holy shit it's 4AM
<vigs> how
yorick has joined #elliottcable
Determinist has quit [Ping timeout: 260 seconds]
Determinist has joined #elliottcable
erynofwales has joined #elliottcable
Determinist has quit [Quit: Textual IRC Client: www.textualapp.com]
eligrey has joined #elliottcable
mcc has joined #elliottcable
mcc has quit [Quit: This computer has gone to sleep]
mcc has joined #elliottcable
eligrey has quit [Ping timeout: 240 seconds]
eligrey has joined #elliottcable
mcc has quit [Quit: This computer has gone to sleep]
eligrey_ has joined #elliottcable
eligrey has quit [Ping timeout: 240 seconds]
eligrey__ has joined #elliottcable
eligrey_ has quit [Ping timeout: 240 seconds]
eligrey has joined #elliottcable
eligrey__ has quit [Ping timeout: 260 seconds]
eligrey_ has joined #elliottcable
eligrey has quit [Ping timeout: 240 seconds]
eligrey_ has quit [Client Quit]
prophile has quit [Quit: The Game]
alexgordon has joined #elliottcable
<whitequark> hahaha this is awesome: http://notes.ericjiang.com/posts/751
<alexgordon> whitequark: pretty accurate
eligrey has joined #elliottcable
<joelteon> ugh
<joelteon> i hate working with javascript libraries
<joelteon> 15,000 lines of javascript in total so that i can use tipsy and selectize
<joelteon> oh and bootstrap includes some
<vigs> lol
<purr> lol
<ELLIOTTCABLE> whitequark: Wow. That guy spectacularly-well misses the point.
<ELLIOTTCABLE> /cc alexgordon
<ELLIOTTCABLE> *most* of his points are very salient, and I agree pretty strongly overall with that article.
<ELLIOTTCABLE> also, it led me to some great reading about concurrency; I'm *still* going down that informative rabbit-hole. (see: twitter)
<ELLIOTTCABLE> but I stopped short and wanted to remember to come back here and comment before I go back to reading all this
<alexgordon> ELLIOTTCABLE: he misses the point about concurrency
<katlogic> does he?
<ELLIOTTCABLE> no, disagree
<alexgordon> katlogic: yes
<ELLIOTTCABLE> he *nails* the point about concurrency.
<alexgordon> threads are a shitty model for concurrency
<ELLIOTTCABLE> disagree.
<katlogic> The first offputting experience I had with nodejs was exactly that
<whitequark> ELLIOTTCABLE++
<purr> Let it be known that whitequark loves ELLIOTTCABLE.
<ELLIOTTCABLE> threads are a well-studied and adequate model for concurrency.
<alexgordon> ELLIOTTCABLE: double disagree
<whitequark> alexgordon: threads or lightweight threads?
<katlogic> concurecy as in none, because no coroutines
<ELLIOTTCABLE> they are not *the best*, but they are truly good.
<alexgordon> whitequark: either
<whitequark> don't think of threads in his articles as "pthreads"
<ELLIOTTCABLE> truly good. not shitty.
<whitequark> or even "green threads"
<whitequark> alexgordon: think "lwt"
<ELLIOTTCABLE> oh shush everybody, ELLIOTTCABLE has things to say.
<whitequark> monadic threads.
<ELLIOTTCABLE> #importantpersontalking
<ELLIOTTCABLE> #guisereallylisten
<alexgordon> whitequark: ANY kind of threads are a bad model for humans
<ELLIOTTCABLE> #please?
* whitequark glares at ELLIOTTCABLE
<ELLIOTTCABLE> #v.v
<joelteon> ok but some threads are a pretty good model for servers
<whitequark> alexgordon: programming is a bad model for humans
<whitequark> and math
* whitequark shrugs
<purr> ¯\(º_o)/¯
<alexgordon> joelteon: threads are a good model for implementing concurrency libraries
<ELLIOTTCABLE> whitequark: you already know how much I disagree with that point of view :P
<ELLIOTTCABLE> OKAY BUT THAT'S ALL BESIDES THE TOPIC.
<katlogic> alexgordon: Said no node.js apologist ever. Meanwhile EVE online runs stackless python and microsoft uses gunicorn.
<alexgordon> threads are not what people should be using day-to-day
<alexgordon> katlogic: ?
<ELLIOTTCABLE> the article, despite alexgordon, nails concurrency. Node.js is Not Good for Concurrency(tm).
<alexgordon> katlogic: I don't care what people use, I care what's right!
<ELLIOTTCABLE> EVE Online <3
<ELLIOTTCABLE> katlogic: you play?
<katlogic> alexgordon: :)))
<katlogic> ELLIOTTCABLE: dropped it long ago
<alexgordon> threads are hard to reason about, threads don't make sense
<alexgordon> the callbacks in node, while the syntax is shitty, they're easy to reason about
<whitequark> you're trolling
<alexgordon> I'm not
<ELLIOTTCABLE> katlogic: EVE online was my monetary playground. I learned half of what I know about managing investments and influencing people from my father, and then the other half from attempting to apply that in a giant spreadsheet- / marketing-simulator.
<whitequark> then you're inane
<alexgordon> heh
<alexgordon> inane or insane?
<ELLIOTTCABLE> I was damn near a trillionaire before I quit that game, and very happy with it :P
<alexgordon> maybe both
<whitequark> inane
<ELLIOTTCABLE> careful with "insane"
<whitequark> I'm not *that* bad at english
<ELLIOTTCABLE> that's nearly a compliment in this room
<ELLIOTTCABLE> whitequark: you're not bad at English at all. You're extremely competent.
<alexgordon> ELLIOTTCABLE: nah he said inane
<ELLIOTTCABLE> ANYWAY
<alexgordon> threads are dumb
<katlogic> ELLIOTTCABLE: Never had chance to permeate into that. We've just goonswarmed a titan once a while.
<ELLIOTTCABLE> alexgordon: yah, I saw. Was just commenting on the side.
* katlogic used no dark jewish magic
<ELLIOTTCABLE> katlogic: I never really got into the combat too much.
<whitequark> ELLIOTTCABLE: tell me what that guy missed already
<katlogic> but honest to god TI until everyone gave up
<whitequark> and screw alexgordon, he's trolling but doesn't say it
<katlogic> *TD
<ELLIOTTCABLE> I mean, in the sense that I could afford to fly faction battleships as my primary craft, but other than that, meh
<alexgordon> whitequark: I am 100% serious
<ELLIOTTCABLE> whitequark: I doubt he's trolling. I understand at least part of his points, and do agree with him in the small.
<alexgordon> whitequark: apple, microsoft and rust all agree with me too
<ELLIOTTCABLE> here's my point of view:
<katlogic> ELLIOTTCABLE: But yeah, I can tell you're quite well spoken.
<ELLIOTTCABLE> A) whitequark's right. Threading is great.
<katlogic> exactly the sleazy EVE corp guy type
<ELLIOTTCABLE> B) alexgordon's right. Threading is terrible.
<katlogic> neithers right
<katlogic> because threading has horrible locking issues
<katlogic> coroutines \o/
<whitequark> ...
<alexgordon> ELLIOTTCABLE: obviously you can't get anywhere without threads, but they should not be your bread and butter
<whitequark> katlogic: you do realize coroutines are unrelated to concurrency?
<whitequark> like, at all
<alexgordon> ok
<ELLIOTTCABLE> C) You're both wrong, because A.1) threading is only *great* instead of just "good", because it's so well-understood; and well-understood is never a meaningful argument for **anything**, so screw that point, and B.1) threading is only *terrible* because it's unintuitive; it's a perfectly "good" model once you've gotten informed about it.
<joelteon> i thought the problem with nodejs was that you *can't* write sequential code
<ELLIOTTCABLE> what katlogic said.
<alexgordon> say you want to start a web server, read a file from disk, and return it in the response
<joelteon> not that you shouldn't
<katlogic> whitequark: Concurenncy in node.js lingo means deferred execution and voluntary preemption.
<katlogic> whitequark: Since duh, V8 knows no threads, eva.
<ELLIOTTCABLE> actually, There's A Plugin For That(tm),
<whitequark> oh god
<ELLIOTTCABLE> but it's terrible and terrible and also evil and somewhat terrible
<ELLIOTTCABLE> and stuff.
<ELLIOTTCABLE> so
whitequark has left #elliottcable [#elliottcable]
<ELLIOTTCABLE> lolnokthx
<purr> lolnokthx
<vigs> V8 is that tomato/vegetable juice thing, right? Yeah, that's p neat
<ELLIOTTCABLE> OKAY SO, regarding the original argument, despite Eastern European Ragequit,
* katlogic counts, this is his 3rd
<katlogic> 2 times coz of me
<ELLIOTTCABLE> it's fine we're used to it much love etc
<katlogic> 2:1 yay me
<ELLIOTTCABLE> I mean, all of you love me despite *my* failures, so I daily try hard to love each and every one of you despite *yours* <'3
<ELLIOTTCABLE> (You *do* all love me despite my failures, right?)
<ELLIOTTCABLE> (... right?)
* ELLIOTTCABLE crickets
<ELLIOTTCABLE> He nailed every point, until he tried to address the argument of JavaScript on the frontend and JavaScript on the backend.
<ELLIOTTCABLE> when it gets to that, he *only* addresses the failures of that model for enterprise-scale (or lol"webscale") purposes.
<ELLIOTTCABLE> yes, at some point, your giant important website is going to want native clients. Or, to generalize the argument and examine it well, we'll just say, at some point, your "website" may evolve into a "platform".
<ELLIOTTCABLE> and it's obvious that, as a remote-server-side-host for an entire platform, Node.js is far from perfect.
<ELLIOTTCABLE> (for many of the reasons he addressed.)
<alexgordon> whitequark quit?
<alexgordon> -_-
<alexgordon> node.js is 1 syntactic sugar and 1 static type system away from a good concurrency model
<joelteon> what's the first chunk
<ELLIOTTCABLE> if you're going to simply be hosting an API to be consumed by divers user-experience hosts (website(s), mobile devices, IoT integration points, some dude's Pebble, you name it.),
<alexgordon> joelteon: syntax proposal
<joelteon> ok
<ELLIOTTCABLE> then you'll want to move away from Node.js. (Not necessarily you *will*, but you'll definitely feel the pressure to. There are much better API-hosting languages than Node.js.)
<ELLIOTTCABLE> WE BUILT THIS CITY~
<ELLIOTTCABLE> WE BUILT THIS CITY, ON ROCK 'N ROOOOOOOOOL~~~
* ELLIOTTCABLE breaks down
<alexgordon> click the link ELLIOTTCABLE!
<ELLIOTTCABLE> irccloud, dude
<ELLIOTTCABLE> can read it without looking away
<joelteon> ooh, and then with warp it's this
<joelteon> run 80 $ responseFile "index.html"
<alexgordon> lightweight threads are too concrete
<ELLIOTTCABLE> oh shush joelteon
<joelteon> what's up
<ELLIOTTCABLE> can't compare code at two different abstraction-levels.
<alexgordon> a language should be able to express parallelism and sequentialism
<ELLIOTTCABLE> I could say with Rails, it's `rails generate new_project`.
<alexgordon> those are the correct units of abstraction
<ELLIOTTCABLE> lookit dat CRUD app.
<ELLIOTTCABLE> ddis
<joelteon> what
<ELLIOTTCABLE> not you, alexgordon
<joelteon> i don't get it
<joelteon> those two are equivalent
<alexgordon> glowcoil would agree with me :P
<joelteon> oh wait, no they're not
<joelteon> hang on a second
<ELLIOTTCABLE> okay, I give up
<alexgordon> joelteon: the first is supposed to be equivalent to the second
<ELLIOTTCABLE> the person I was responding to left, and the people who could understand my response are uninterested. :P
<alexgordon> (if you're talking about my example)
<ELLIOTTCABLE> back to Paws design work.
<ELLIOTTCABLE> I have a really, really neat Unitary design shaping up, by the way.
<joelteon> run 80 $ sourceFile "index.html" $$ responseSource
<joelteon> that's more like alexgordon's
<ELLIOTTCABLE> you might actually be interested in my work there, alexgordon
<alexgordon> ELLIOTTCABLE: where?
<ELLIOTTCABLE> it's very not dependant on an understanding of Paws' concurrency
<alexgordon> katlogic: coroutines suck too :P
<ELLIOTTCABLE> although some *basic* understanding of the object-model is required, but I'm pretty sure you grok the data-graph stuff, yeah?
<alexgordon> katlogic: they're nice for generators
<alexgordon> bad for concurrency
<alexgordon> case in point: go
<katlogic> alexgordon: For all intents and purposes, they behave like threads.
<katlogic> in Python and Lua.
<katlogic> Useful abstraction. Error handling works as expected.
<alexgordon> katlogic: the shitty inbred cousin
<ELLIOTTCABLE> what's wrong with coroutines?
<katlogic> No locking problems. What else would one desire?
<alexgordon> katlogic: they don't have locking problems because those are replaced by race conditions ;)
<katlogic> alexgordon: Huh?
<katlogic> Race conditions where? You do realize coroutines preempt at well defined points.
<joelteon> what concurrency model do you use that suffers from neither deadlocks nor races?
<katlogic> like if you do socket.read()
<katlogic> you expect preempt will happen
<alexgordon> it's still too much thinking
<alexgordon> I mean
<katlogic> or might not
<alexgordon> I don't get it
<katlogic> :)
<alexgordon> look at my example
<alexgordon> you ask to read a file
<alexgordon> you get it in a variable
<alexgordon> _that_ is how it should work
<alexgordon> I just don't want to think about this stuff
<katlogic> well, that is how it works. stuff like that does not race.
<joelteon> you read a file and get a callback with what to do with it
<katlogic> unless you use OS threads which race all the time
<joelteon> i mean that makes sense
<katlogic> no, callback hell makes sense only to node.js apologists.
<katlogic> in civilised world, exceptions are thrown when something bad happens.
<alexgordon> exceptions?
<alexgordon> wtf
<alexgordon> exceptions are evil
<joelteon> alexgordon what does that code do if index.html doesn't exist
<ELLIOTTCABLE> yes.
<katlogic> it silently fails.
<alexgordon> joelteon: in furrow? it would return `String?`
<katlogic> because that is not evil.
<ELLIOTTCABLE> "node.js doesn't throw exceptions right" is *not* a good fucking argument against Node.
<alexgordon> joelteon: and if you didn't check it, it would crash your current task
<ELLIOTTCABLE> I agree, Node's error situation is terrible, and a huge problem with it. So, fuck Node for the moment.
<joelteon> ok
<ELLIOTTCABLE> but exceptions are *worse*.
<ELLIOTTCABLE> Seriously, worst error-handling paradigm ever.
<ELLIOTTCABLE> Threads? alexgordon is wrong, threads are good.
<joelteon> alexgordon, what if the thread is interrupted during the read
<alexgordon> ELLIOTTCABLE: nope
<ELLIOTTCABLE> Exceptions? Exceptions are fucking inarguably fucking terrible.
<joelteon> is that also String?
<alexgordon> joelteon: what do you mean, interrupted?
<joelteon> sigint
<alexgordon> joelteon: either the function returns a valid result, or it returns an error
<ELLIOTTCABLE> SO
<alexgordon> joelteon: it's a sum type :P
<joelteon> oh ok
<ELLIOTTCABLE> SOMEBODY TALK PAWS TO ME
<joelteon> so the readText thing takes the 'success' callback only?
<ELLIOTTCABLE> katlogic: Hello! It's a nice day, isn't it? Do you have a moment to let me share the good news about our Lord Paws with you? (=
<ELLIOTTCABLE> -find paw
<purr> ELLIOTTCABLE: Found: bot, paws, wtfpaws, are you paws?, and paws people
<ELLIOTTCABLE> -paws people
<purr> ELLIOTTCABLE: (n. pl.) pawsgnosticators
<ELLIOTTCABLE> hrm
<ELLIOTTCABLE> -paws
<purr> ELLIOTTCABLE: what i see every time i poop
<ELLIOTTCABLE> -wtfpaws
<ELLIOTTCABLE> is that gone from the bot? >':
<alexgordon> joelteon: there's only one callback, its argument is a sum type of String and ErrorInfo
<katlogic> ELLIOTTCABLE: brb, blogging about Swift.
<ELLIOTTCABLE> katlogic: ugh.
<joelteon> oh ok
<alexgordon> joelteon: I guess I fucked up the translation
<alexgordon> so good catch :P
<katlogic> \uber offensive\
<joelteon> readText is async, right?
<ELLIOTTCABLE> katlogic: hm?
<joelteon> it reads that file then calls the given closure with the result
<alexgordon> joelteon: right
<joelteon> ok
<joelteon> so if the file doesn't exist
<joelteon> then what
<alexgordon> joelteon: it crashes
<joelteon> ok
<alexgordon> unless you handle it
<alexgordon> joelteon: I'll give you both examples
<ELLIOTTCABLE> "You're aiming a shotgun at your application and
<ELLIOTTCABLE> pulling the trigger."
<ELLIOTTCABLE> that's great
<ELLIOTTCABLE> bahhah
<ELLIOTTCABLE> alexgordon: hey, you, help
<ELLIOTTCABLE> alexgordon: point 2) of Butenhof's
<ELLIOTTCABLE> down near the bottom of his post
<ELLIOTTCABLE> what's a "predicate" in this context? I don't know Java.
prophile has joined #elliottcable
<alexgordon> prophile!
<prophile> alexgordon!
<joelteon> ok
<joelteon> that seems like it makes sense
<joelteon> alexgordon: so does readText run in a separate thread
<alexgordon> joelteon: THAT is an implementation detail
<joelteon> ok, but isn't it important?
<joelteon> threads are evil
<alexgordon> no
<joelteon> why not?
<alexgordon> I didn't say threads are evil
<joelteon> ok let me scroll up then
<alexgordon> joelteon: I said it's evil for threads (or lightweight threads) to be the user-facing concurrency model in a language
<alexgordon> behind the scenes, implement it however you want
<joelteon> ok threads are dumb, is what you said
<joelteon> that makes more sense
<joelteon> ok, now i agree with you
<alexgordon> I mean
<alexgordon> what do you think node uses to implement concurrency?
<alexgordon> threads!
<alexgordon> :P
<joelteon> yeah, that's why i was curious why you said threads are dumb
<ELLIOTTCABLE> devyn: also, since it's on my mind: did you ever get into the execution model, in your Paws work?
<alexgordon> joelteon: it doesn't just have to use threads
<joelteon> no, we're good now
<joelteon> i was just confused
<joelteon> surprisingly
<alexgordon> ha
<alexgordon> usually you have some sort of run loop
<alexgordon> where you process nonblocking IO
<alexgordon> and also a thread pool
<joelteon> i still think callback-based apis are gross and should not be necessary, or used
<joelteon> especially the way node does it
<ELLIOTTCABLE> also: Sublime Text is surprisingly cool.
<ELLIOTTCABLE> I'm not head-over-heels, but I've never seen emulated vi support this thorough.
<ELLIOTTCABLE> on the downside: it seems unable to hilight Coffeescript. I've no idea why. ddis
<alexgordon> callbacks are by far the most obvious way of marrying runloop-based and thread-based concurrency into a single API
<alexgordon> node's failing, if it has one, is that you have to write all the callback stuff yourself
<alexgordon> but that a compiler away from being a solved problem
<joelteon> callbacks are dumb and should not be the user-facing concurrency model in a language
<alexgordon> *that is
<joelteon> in my opinion
<alexgordon> joelteon: wellll
<alexgordon> joelteon: notice I used a callback in my code
<joelteon> i sure did
<alexgordon> I was talking with someone, I think glowcoil about this
<alexgordon> joelteon: a callback makes sense in cases where you want to do multiple things in parallel
<alexgordon> wrong words
<alexgordon> but
<alexgordon> example:
<alexgordon> say I wanted to start three web servers
<alexgordon> you have a combination of "things to do now" (start three servers) and "things to do later" (process requests)
<alexgordon> you need nesting for that
<alexgordon> in your syntax
<alexgordon> you can't write that sequentially because it's too muddled - you would have to separate both things that are to be done at different times
<joelteon> okay, but you don't need callbacks for that either
<alexgordon> ehhhh
<alexgordon> need to separate two things
<joelteon> mapConcurrently id [server1, server2, server3]
<joelteon> well
<alexgordon> callbacks are a united way of doing something asynchronously
<joelteon> unless the function argument to run is indeed a callback
<alexgordon> so you do need callbacks somewhere
<joelteon> which really
<alexgordon> *unified
<joelteon> i suppose it is
<alexgordon> you can CHOOSE to not expose the callbacks in the user-facing language
<ELLIOTTCABLE> ಠ_ಠ ooo that worked yay
<purr> Let it be known that ELLIOTTCABLE disapproves of ooo that worked yay.
<joelteon> what's what i'm saying
<joelteon> that's*
<ELLIOTTCABLE> -- ooo that worked yay
<purr> Let it be known that ELLIOTTCABLE hates ooo that worked yay.
<ELLIOTTCABLE> ++ ooo that worked yay
<purr> Let it be known that ELLIOTTCABLE is indifferent to ooo that worked yay.
<joelteon> i think the node philosophy of the giant callback chain is possibly *the* worst way to write async code
<alexgordon> joelteon: for sure
<alexgordon> joelteon: but the opposite is bad too
<joelteon> what's the opposite
<alexgordon> never using closures in an API
<joelteon> agreed
<alexgordon> they should be used when they make sense
<joelteon> the thing is, i still think the callback usage in your example is unnecessary
<joelteon> each request is a separate entity
<alexgordon> joelteon: in the user-facing code or in the translated code?
<joelteon> oh, is that what the top thing is?
<alexgordon> "http.server("*:80") do req" is furrow
<joelteon> okay
<joelteon> no, then that looks nice
<alexgordon> http::server("*:80", [](const HTTPRequest& req, Callback<HTTPResponse> resp) { is the equivalent C++
<ELLIOTTCABLE> the GitHub apps are realllllllly fucking beautiful
<alexgordon> lol
<purr> lol
<ELLIOTTCABLE> big fahn
<joelteon> ok that makes more sense
<alexgordon> :)
<joelteon> then we agree again
<purr\GH> [System] ELLIOTTCABLE pushed 1 new commit to Master: https://github.com/ELLIOTTCABLE/System/commit/a7151e57f1a2d561474f1acd6f7eb94e8326e2e2
<purr\GH> System/Master a7151e5 ELLIOTTCABLE: (Win new) Replace ddis! :D
<alexgordon> yay
<alexgordon> too late for whitequark though :P
<joelteon> yeah
<joelteon> i think whitequark might've thought the same thing i thought
<joelteon> "alexgordon is saying threads should never be used"
<joelteon> "he is stupid"
<joelteon> but he didn't stick around
<joelteon> i did
<alexgordon> lol it reminds me of the hitchens video where he says "women shouldn't go to work... if they don't want to"
<alexgordon> and the interviewer calls him a sexist pig, and he keeps saying "if they don't want to!" over and over and she's not listening :P
<joelteon> lol
<joelteon> that's pretty funny
<alexgordon> I said "threads are evil in user facing code!"
<alexgordon> :P
<joelteon> i wish he hadn't repeated "if they don't want to!" over and over again
<alexgordon> don't read the comments if you want to maintain any kind of faith in humanity
<joelteon> my brain shuts down when i scroll down on youtube
<alexgordon> I still think lightweight threads are a bad idea, in any situation
<alexgordon> I don't get it
<ELLIOTTCABLE> alexgordon: I'm pretty sure that wasn't his point.
<alexgordon> ELLIOTTCABLE: whose
<ELLIOTTCABLE> whitequark's.
<alexgordon> what was his point
* katlogic got SRSed on reddit yesterday just for saying that some group of people had balls to do something
<katlogic> apparently thats sexist, because it excludes women
<ELLIOTTCABLE> SRSed?
<vigs> ShitRedditSays?
<alexgordon> SRS is just a bunch of 4chan trolls right?
<katlogic> feminist downvote brigade
<katlogic> alexgordon: not necessarily.
* katlogic joins the brigade now and then too
<ELLIOTTCABLE> literally, the first result
<ELLIOTTCABLE> http://ell.io/ijm3i
<katlogic> hehe
<alexgordon> katlogic: you're an SRSer?
<alexgordon> ELLIOTTCABLE: iirc SRS was the subreddit stalking gqbrielle
<ELLIOTTCABLE> lolololol
<purr> lolololol
<ELLIOTTCABLE> really?
<ELLIOTTCABLE> any of you develop on Windows?
<katlogic> alexgordon: well, now and then i do raid something there
<katlogic> i thought that was kinda the point
<alexgordon> raid? like WoW?
* alexgordon has never played WoW, for the record
mcc has joined #elliottcable
mcc has quit [Client Quit]
yorick has quit [Remote host closed the connection]
Rusky has quit [Read error: Connection reset by peer]
Rusky1 has joined #elliottcable
Rusky1 has quit [Read error: Connection reset by peer]
Rusky has joined #elliottcable
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<ELLIOTTCABLE> goddamnit windows