ELLIOTTCABLE changed the topic of #elliottcable to: #ELLIOTTCABLE: Puppy paws patter placidly through the pale passageways ...
<alexgordon> joelteon: found it
<joelteon> found what
<alexgordon> my dissing of currying
<joelteon> ok
<alexgordon> :P
<alexgordon> my argument comes down to: currying is too inefficient to use in a real-world language
<alexgordon> and
<alexgordon> currying makes functions asymmetric
<joelteon> >currying is too inefficient
<alexgordon> so that they cannot be properly inverted
<joelteon> wow you got me greentextig
<joelteon> ng
<alexgordon> greentextigng
<alexgordon> I see
<joelteon> greentexting
<alexgordon> what's that
<alexgordon> ah
<alexgordon> yes, currying is too inefficient
<joelteon> of course
<alexgordon> optimizing currying amounts to removing it...
<alexgordon> though this process is undecidable in general
<joelteon> i'll ask #haskell
<alexgordon> in any case, currying certainly isn't any faster
<joelteon> well no
<alexgordon> and it may be a lot slower
<joelteon> but it might be trivially slower
<joelteon> GHC is a pretty good compiler
<joelteon> it might be no slower
<alexgordon> yes because it removings currying
<alexgordon> *removes
<joelteon> yeah
<alexgordon> yeah...
<joelteon> but the *compiler* does that
<joelteon> the *end user* can use it
<alexgordon> yes but not 100% successfully
<alexgordon> and it's not like you can avoid using function calls if you want...
<alexgordon> function calls are probably the most performance critical thing a compiler generates
<alexgordon> so if even 10% of function calls are slower... the language is a toy
<joelteon> a toy, meaning...useless for production purposes
<alexgordon> no
<alexgordon> a toy meaning, was not rationally designed
<alexgordon> I don't think anybody sat down and discussed whether haskell should have currying
<alexgordon> they took it as a principle of the language
<alexgordon> which is FINE but, if you are sacrificing performance for ideological reasons, then the language cannot claim to be in the same group as languages which do not
<alexgordon> joelteon: yeah this perfectly sums up the math-babble world that ghc lives in...
<devyn> alexgordon: we're less idealistic :)
<joelteon> i dunno, apparently its performance is pretty good
<alexgordon> but not as good as a function call
<alexgordon> !
<joelteon> yeah
<joelteon> and there are some times when currying is nice
<joelteon> for example, yesod has a builtin data structure with a partially applied function as a member
<joelteon> you pass it a filepath and it moves the uploaded file to that location
<joelteon> well, ok
<joelteon> so that's not a helpful example
<joelteon> lemme see
<alexgordon> what it boils down to, for me is
<nuck> Who gives a fuck about effiencies and shit? Just make a language and make it happen. If Ruby can run Github, then even the slowest snail could carry anything
<nuck> Too slow? Throw more hardware at it.
<alexgordon> lol
<purr> lol
<alexgordon> Nuck: good job writing a game in ruby
<alexgordon> call of duty should be written in ruby!
<devyn> haha
<nuck> alexgordon: Well, a game is trickier, because graphics are a visible bottleneck
<alexgordon> yes...
<alexgordon> well what about an OS
<alexgordon> or a compiler
<joelteon> ok well here's a good example
<nuck> Only do it where it's actually visible
<alexgordon> I mean, tons of interesting things can only be implemented in C or C++
<joelteon> where currying is useful
<nuck> alexgordon: Dude. Unixy OSes used fucking shell scripting for large chunks for many many years
<devyn> Nuck: you can spend a bajillion dollars on hardware or a lot less on hardware and a bit more on people
<nuck> So yeah, even an OS can manage it
<alexgordon> I'm sure linux's scheduler is written in shell scripts
<nuck> devyn: The thing is, the people cost more on hardware
<devyn> usually, yes
<nuck> *than
<devyn> =3
<devyn> well, there's always a sweet spot
<alexgordon> anyway, what it boils down to is this: https://en.wikipedia.org/wiki/Gustafson%27s_Law
<nuck> Absolutely
<devyn> you gotta find what that is
<nuck> But the way I see it
<nuck> Make cool shit
<nuck> Worry about fixing it later
<alexgordon> the number of problems you can solve, increases with the speed of the language
<joelteon> alexgordon: I'm finding some benchmark examples where GHC and GCC with similar code and similar optimization flags produce identically performant code
<nuck> I think this is most game ocmpanies now too, judging by the number of release-day patches ;D
<alexgordon> therefore if you use a slower language, there will be some problems you cannot solve with it...
<alexgordon> so when choosing a language, you have to be careful not to pick one that ends up being too slow for what you want to do (or what you MAY want to do)
<nuck> alexgordon: I disagree. I find that it just solves a lower level problem with faster languages. It's hard to write high level things in low level languages, and it's hard to write low level things in high level languages
<alexgordon> Nuck: yes because language designers are incompetent
<nuck> Different problemspace
<alexgordon> but this is an artificial dilemma
<nuck> alexgordon: No, designers focus on narrow swaths /like they should/
<alexgordon> it's perfectly possible to have a language which is both low overhead and high-level
<alexgordon> it's just, this language doesn't exist
<joelteon> like C++
<alexgordon> yes, like C++. but not so shit
<joelteon> haha
<nuck> No, the problem is more than that. The problem is that layering fucking works
<joelteon> but without exceptions or GC, because those are slow
<nuck> We've been layering things for fucking forever
<nuck> And you know what? It works. Abstractions work wonders
<devyn> languages *can* allow both low-level access and high-level access, too; look at Haskell. if you really want to you can literally write C in it (but it's horrible and way uglier than actual C so you don't want to)
<joelteon> scala is fast
<alexgordon> no it isn't
<joelteon> oh
<alexgordon> no language with a GC can claim to be fast
<nuck> You could just design a circuit which runs something, or you could do it in a general purpose processor with C
<joelteon> heh
<devyn> lol
<purr> lol
<nuck> Differing levels of abstraction
<joelteon> hang on
<alexgordon> dynamic allocation is slow. GCs are even slower
<joelteon> I'm gonna run this benchmark for myself
<devyn> or I could meet you in the middle and use an FPGA
<alexgordon> can you tell I started with C?
<nuck> I'm not gonna make a circuit which generates a webpage
<nuck> Maybe you will, but you're an idiot if you do
<devyn> alexgordon: :) I love C and dynamic allocation is definitely slow; bbbattle taught me just *how* slow
<alexgordon> every programmer should know how to write a malloc...
<nuck> When you could add layers on top of that. Make a circuit that runs anything, make an interpreted language that runs on that (using C), and then generate the web page in the interpreted language
<alexgordon> or at least what malloc IS
<alexgordon> there are many *cough* ruby programmers who have no idea
<alexgordon> they just think memory appears out of nowhere
<alexgordon> kids these days
<nuck> haha
* devyn used to be one of those people
<nuck> I find the best way to choose a language for something is just to go with the highest level language it *can* be sanely implemneted in
<alexgordon> when I write x = [1, 2, 3] in ruby, I know what's happening
<alexgordon> and it fucking horrifies me
<nuck> Because otherwise you'll waste time
<alexgordon> as a C programmer
<joelteon> alright
<alexgordon> if a C programmer wrote code as inefficient as x = [1, 2, 3] is in ruby, they'd be fired
<nuck> alexgordon: haha I don't care because you know what? Throw more CPUs at it, throw more servers at it, etc.
<nuck> It's cheaper than doing it in C
<alexgordon> Nuck: sure, and I use ruby and python and js
<alexgordon> not saying the languages are useless
<nuck> Sure, I too could implement it in C. But I don't because I'm not crazy
<alexgordon> but to me, they are nice to have
<devyn> yeah
<nuck> Quite frnakly
<alexgordon> I consider C and C++ to be real languages
<devyn> right tool for the right job; never discount C because it's too verbose because the speed tradeoff definitely can be huge
<nuck> Nobody should ever compare Ruby and C. Never separate them
<devyn> you can do a lot more in it
<alexgordon> python just makes my day a bit easier
<nuck> er, let them touch
<nuck> It's like... Don't let the streams cross
<joelteon> I like C
<nuck> It's two different problemspaces, you're arguing apples and oranges
<joelteon> but I don't write applications where performance is mission critical
<joelteon> so I use Haskell
<devyn> Nuck: totally let the streams cross. if you want to speed up a bit of your ruby application a lot, write that part in C
<joelteon> cause I like it better
<nuck> devyn: Certainly, use them in tandem
<joelteon> haha, I once monkeypatched Array#sort to use a pure Ruby mergesort
<nuck> But they are different languages for different purposes, and not at all comparable
<joelteon> it was like 11240% slower
<devyn> lol
<purr> lol
<nuck> joelteon: lmao
<nuck> Does Ruby even have tail call optimization?
<joelteon> no
<devyn> of course not
<nuck> Then why the fuck would you use a mergesort in Ruby?
<nuck> Implementing recursion in Ruby is suicidal
<devyn> you can write a mergesort without relying on TCO
<nuck> devyn: Yeah but it stops being sane at that point
<alexgordon> anyway I forgot what I was complaining about
<alexgordon> oh right, currying
<joelteon> everything but C sucking
<nuck> Curry is delicious.
<nuck> C is a wonderful language, I love it. But I don't use it very often because it's really only filling edgecases in my life
<nuck> Perhaps I'll use C++ more, once I finish learning that. Or Obj. C
<alexgordon> you know what it is? I need reliability. I don't want a language that is fast or slow depending on the phase of the moon
<nuck> Though I might not end up learning Obj C now that I'm a Linux user >_>
<joelteon> i've heard D is really good
<joelteon> also, Rust is going to be great
<nuck> joelteon: Yeah I bet you like hte D
<alexgordon> I am happy to spend twice as much time writing code, if I know I won't have to optimize it
<joelteon> and Haskell is awesome
<whitequark> finish learning C++
<nuck> alexgordon: I'm willing to spend half as much time writing code, if I just have to optimize a small chunk
<whitequark> finish. learning. C++.
<alexgordon> lol whitequark
<purr> lol
<nuck> whitequark: Oh I know. I intend to. But goddamn it's hard to read any book on C++ in my fucking kindle
<alexgordon> there's not enough time in one lifetime to finish learning C++
<nuck> Somebody find me a good book on C++ that comes in epub
<joelteon> so currying is bad
<whitequark> read the motherfucking standard
<whitequark> then, read the motherfucking best practices.
<whitequark> the best way to learn a new language.
<nuck> I'm... not that kind of learner
<nuck> Sadly
<nuck> I wish I could read a spec and implement or use it, but I just can't.
<joelteon> good luck getting a job
<nuck> I need a more interactive thing. Try and fail and such
<alexgordon> Nuck: do you know C?
<nuck> joelteon: That's... Not really important? I mean, small specs I can manage
<nuck> alexgordon: Sure.
<joelteon> I guess
<alexgordon> Nuck: do you KNOW C?
<alexgordon> learning C++ before learning C is like having an orgy before you've even masturbated
<alexgordon> alexgordon: wat.
<purr> beep.
<nuck> alexgordon: Not really perfectly. I know it well enough to read through my compositing engine and know what's going on, make modifications to it, or do small projects. But I can't wrap my mind around things like GTK+ APIs
<alexgordon> oh well, don't
<joelteon> why do people do that
<alexgordon> they're useless
<nuck> But supposedly GTK APIs are insanity
<alexgordon> yep
<alexgordon> thing is
<alexgordon> look, C++ is evolving
<nuck> alexgordon: I want to develop GTK applications, but that's part of why I wanna learn C++. I've been told a few times that gtkmm is less likely to cause suicidal tendencies
<joelteon> "Look! C++ is evolving!"
<alexgordon> :D
<nuck> joelteon: C++ evolved into... C++++!
<whitequark> Nuck: just use Qt then
<alexgordon> but seriously, the C++ of today is so much different than the C++ of 10 years ago
<whitequark> using GTK is suicidal no matter what
<joelteon> C++++++++
<whitequark> C++1y!
<joelteon> level 100
<alexgordon> today, there's little reason to use pointers at all
<joelteon> C++ learned Hyper Beam
<nuck> whitequark: It's tempting, Qt looks like it has better APIs, but I want to know both GTK and Qt. And I figure start with the painful thing first :D
<joelteon> yeah, but it'll be faster if you use C
<alexgordon> so the entire style of C++ is shifting to basically remove pointers from normal use (unless you're google)
<nuck> Yeah, I'm planning to write a small project soon that'll monitor a folder and upload it to this site (pomf.se) for Loonix
<joelteon> wait
<joelteon> alexgordon: what is this language going to be for?
<alexgordon> joelteon: which language?
<nuck> Which hopefully will teach me how to make love to C's butthole gently
<joelteon> the one that you're not putting currying in
<nuck> hm
<joelteon> or is it like a dialect that compiles to C++
<nuck> What's the system for monitoring the filesystem on *nux again?
<alexgordon> joelteon: nothing less ambitious than replacing 90% of the C++ I write
<joelteon> does it have smart pointers/objects?
<joelteon> or use them?
<alexgordon> nope
<joelteon> oh, nice
<whitequark> alexgordon: (unless you're google) well, google has go
<alexgordon> I meant google's C++ style guide
<alexgordon> where they ban references and embrace pointers
<whitequark> ah
<alexgordon> which I don't particularly disagree with
<whitequark> I think the modern style doesn't favor references either
<whitequark> but smart pointers.
<joelteon> alexgordon: why aren't you just writing C
<joelteon> why not make it compile to C
<alexgordon> joelteon: I dislike C for other reasons
<joelteon> oh
<alexgordon> mainly memory leaks
<alexgordon> and dangling pointers
<joelteon> how do you avoid that in C++ without using GC or smart pointers or etc.
<alexgordon> which C++, like it or not, has done a very good job eliminating
<alexgordon> joelteon: RIAA or RAII whatever it is
<nuck> >Recording Industry Association of America
<nuck> Yes, clearly the solution
<nuck> The fix to all programming problems is to kill anyone who uses bittorrent
<joelteon> ?
<alexgordon> in C, if you want to store a unknown number of objects, you have to break out malloc
<joelteon> what are you illustrating
<joelteon> ok
<alexgordon> that's what I don't like about it
<alexgordon> freeing stuff yourself is error prone
<alexgordon> and generally hard work that computers should be doing for me
<joelteon> couldn't you just double sum(double *xs) { (xs[0] + xs[1] + xs[2]) / 3.0; }
<alexgordon> sure that wasn't the point of the example
<joelteon> i don't get the point of the example
<nuck> Holy shit. My internet may get doubled soon
<nuck> We're paying for Comcast's Blast! internet, which when we bought it was 22mbps but is now 50mbps
<nuck> If we call them and convince them to change that, we should be able to get the 50mbps
<alexgordon> joelteon: in C you're writing stuff like this https://gist.github.com/anonymous/c00bbb9217b80874b4ac
<alexgordon> the potential for error is higher
<alexgordon> and
<alexgordon> I didn't free
<joelteon> why are you mallocing
<alexgordon> don't need to, but I legitimately forgot
<joelteon> just pass in the address of source
<joelteon> source[0]
<alexgordon> lol, I KNOW, it's an example...
<alexgordon> what if the numbers come in from a file?
<alexgordon> or the internet
<joelteon> what would you do in C++? i know nothing about it
<joelteon> the numbers aren't coming in from a file there
<alexgordon> it's an example...
<joelteon> i meant an example of that
<alexgordon> well I'm assuming you know how to do that in C
<joelteon> right
<joelteon> well
<alexgordon> and it's the same in C++, because iostream is evil
<joelteon> i don't get the difference here
<joelteon> is it that C++ automatically allocates and frees your vector?
<alexgordon> in the C++ version, we don't have to keep track of the size, we don't have to free anything
<alexgordon> there's no pointers to become invalid
<joelteon> because of RAII
<alexgordon> we just assign the elements to the vector
<alexgordon> there's no manual copying
<joelteon> so "something" has to track when the vector is no longer in scope
<alexgordon> it's just orders of magnitude less error-prone
<joelteon> oh wait this is a C vs C++ argument ok
<joelteon> yeah I agree
<alexgordon> it's not a vs argument
<joelteon> oh ok
<alexgordon> but you asked (or someone did) why I don't just use C if I hate C++ so much
<alexgordon> and I was explaining the problems C has that C++ does not
<joelteon> well if you don't use the features of C++ that make it nicer than C
<joelteon> ok
<alexgordon> but I *do*
<alexgordon> I just write C, but with RIAA
<alexgordon> RAII
<joelteon> yeah but I'd think a decent compiler would warn you about not freeing that array, for example
<alexgordon> warning is not the same as doing it for you though
<joelteon> in exchange for GC
<alexgordon> nope
<alexgordon> no GC in C++
<alexgordon> the compiler tracks the life of the variables
<alexgordon> and calls destructors at the right time
<joelteon> so it inserts destructor calls
<alexgordon> yes...
<joelteon> i see now
<joelteon> i get it
<joelteon> so it's like compile time GC
<alexgordon> a bit
<nuck> alexgordon: You write C for the RIAA?
<alexgordon> but it's more like, it's writing the code you would have to write manually in C
<joelteon> yeah
<joelteon> sure
<alexgordon> it's automating a process that programmers used to do by hand
<alexgordon> and doing it better
<joelteon> because compilers generally don't make that kind of mistake
<alexgordon> I mean, I think I trust clang's copy elision more than that of my handwritten C's
<joelteon> comprendo
<alexgordon> so C++ can be faster than your averagely written C
<alexgordon> and safer
<alexgordon> you'd be a fool not to use it
<joelteon> right
<alexgordon> but C++ is definitely a clusterfuck
<alexgordon> don't get me wrong
<joelteon> i agree
<alexgordon> it took me YEARS just to figure out which features were bad
<alexgordon> I've been writing C++ for probably 10 years now
<joelteon> on the converse side
<alexgordon> I feel like I've reached a zen
<joelteon> languages with immutable values would have a very low GC cost
<alexgordon> this is untrue
<alexgordon> as evidenced by java's superiority over haskell in the real world
<alexgordon> certainly the GC is easier and faster, but at the cost of more allocations
<alexgordon> so it's a mixed bag really
<alexgordon> e.g., haskell's lack of a decent hash table, because hash tables don't fit well in an immutable pure functional language
<alexgordon> because you can't use a hash table, you have to use something else
<alexgordon> and that something else is less efficient
<alexgordon> joelteon: actually, funny thing is that stack allocated+RAII is basically the same as what haskell is doing
<alexgordon> variables on the stack / RAII data is immutable, insofar as it does not live longer than the current scope
<alexgordon> and as far as the compiler is concerned, with SSA those variables ARE immutable
<joelteon> alexgordon: i found a paper called "garbage collection can be faster than stack allocation"
<joelteon> oh, but that's not helpful
<alexgordon> lol yeah
<purr> lol
<alexgordon> I'll believe it when I see it
<joelteon> well, it's true in theory
<joelteon> the thing is, it doesn't scale GC cost down to below allocation cost
<joelteon> it scales allocation cost up past GC cost
<alexgordon> it's funny how
<alexgordon> I argue with objc developers about how GC is great
<alexgordon> and argue with non-C/C++ developers about GC sucks
<joelteon> GC sucks
<alexgordon> both are true
<alexgordon> GC is great, in that it saves time. but it sucks in that it's slow and in many cases unnecessary
<alexgordon> I find that C++ does what I need most of the time
<joelteon> word
<alexgordon> I never feel like I need a GC if I design my code properly
<joelteon> google fiber speed test: http://i.imgur.com/xXTmxtc.jpg
<alexgordon> I mean, say you're making a web server
<alexgordon> OLD
<alexgordon> don't need a GC for that
<joelteon> ?
<joelteon> oh
<alexgordon> the OLD was separate :P
<joelteon> oh
<joelteon> once your address space is big enough, GC is faster than stack allocation
<alexgordon> joelteon: calling bullshit
<alexgordon> CPUs are optimized for stack allocation
<joelteon> ya i have no idea
<alexgordon> at least x86 is, but I suspect basically all CPUs are
<whitequark> joelteon: talking about abusing page faults for eg forwarding?
<joelteon> dunno
<whitequark> well, then elaborate on the address space part
<alexgordon> I mean, what about caching?
<alexgordon> I'm sure intel's caches are designed with stack allocation in mind
<joelteon> nvm
<joelteon> i won't make baseless statements based on outdated papers anymore
<alexgordon> :P
<alexgordon> no that's what this channel is for
<whitequark> alexgordon: what?
<alexgordon> joelteon: no idea is more stupid than paws, so anything is fair game to discuss
<whitequark> how are caches even related to stack allocation?
<alexgordon> well they both concern memory
<whitequark> well
<whitequark> there's bump-pointer GC
<whitequark> which, to my knowledge, should have similar cache access patterns as stack allocation.
<whitequark> even better, in some cases.
<alexgordon> I can't claim to know how intel's caches work. it's not public information. but I'd be willing to bet some money that they make some assumptions about the general characterists of the average program
<alexgordon> and the average program uses stack allocation
<alexgordon> so if you go off and use a crazy new GC design
<alexgordon> you're working against the CPU
<alexgordon> this ends badly.
<alexgordon> there is a feedback loop whereby intel optimizes their CPUs for the code generated by compiles, and compilers optimize their code for the CPUs that intel puts out...
<whitequark> alexgordon: it is public
<whitequark> check realworldtech.com
nuck has quit [Ping timeout: 256 seconds]
<whitequark> google for moesi
nuck has joined #elliottcable
<alexgordon> the high level details are public, and documented
<alexgordon> but the precise design of the chips is not
<alexgordon> that's a trade secret
Aria has quit [Remote host closed the connection]
alexgordon has quit [Quit: Computer has gone to sleep.]
<purr> <devyn> also, I keep meth in bowls
<micahjohnston> Nuck: i've had coffee like a billion times
<whitequark> sigh, he's gone
eligrey has quit [Quit: Leaving]
<ELLIOTTCABLE> hi...
<ELLIOTTCABLE> micahjohnston ⑊ I'm new to coffee, personally. Love ittt nowww.
<ELLIOTTCABLE> nobody here?
<ELLIOTTCABLE> of course not. >:
<purr> <darkf> im not math you should know that
<purr\GH> [blog] ELLIOTTCABLE pushed 1 new commit to master: https://github.com/ELLIOTTCABLE/blog/commit/38d62392b4d804cf241a7eaebe3a95fb69f51043
<purr\GH> blog/master 38d6239 elliottcable: Lick My Logcutter™.
<purr\GH> [blog] ELLIOTTCABLE force-pushed master from 38d6239 to 0877dff: https://github.com/ELLIOTTCABLE/blog/commits/master
<purr\GH> [blog] ELLIOTTCABLE created gh-pages (+1 new commit): https://github.com/ELLIOTTCABLE/blog/commit/1cadbddcefdb
<purr\GH> blog/gh-pages 1cadbdd elliottcable: Lick My Logcutter™.
<purr\GH> [blog] ELLIOTTCABLE force-pushed gh-pages from 1cadbdd to a3cb787: https://github.com/ELLIOTTCABLE/blog/commits/gh-pages
<purr\GH> blog/gh-pages a3cb787 elliottcable: Trying to set this up with GitHub Pages.
<purr\GH> [blog] ELLIOTTCABLE deleted master at 0877dff: https://github.com/ELLIOTTCABLE/blog/commit/0877dff
<joelteon> can't sleep
<joelteon> it's 2:30 AM
<joelteon> i have work in 6 hours
<whitequark> ELLIOTTCABLE: I AM HERE
<ELLIOTTCABLE> hi whitequark
<ELLIOTTCABLE> hi joelteon
<purr\GH> [blog] ELLIOTTCABLE pushed 1 new commit to gh-pages: https://github.com/ELLIOTTCABLE/blog/commit/a9880da04a49d0d5ea60e5a022f6b1aaab3199d8
<purr\GH> blog/gh-pages a9880da ELLIOTTCABLE: Updated 4_weeks_as_many_projects.markdown
<ELLIOTTCABLE> diw0aofaiuraiwr
<whitequark> ELLIOTTCABLE: hey, you're from US
<whitequark> can you tell me one thing
<ELLIOTTCABLE> yes
<ELLIOTTCABLE> no
<ELLIOTTCABLE> pants
<whitequark> why exactly are people using this hashtag from world trends? https://twitter.com/search?q=%23MyGirlfriendIsNotAllowedTo&src=tren
<whitequark> the purpose evades me.
<ELLIOTTCABLE> what do you mean?
<whitequark> well, an act of writing a tweet or retweeting it means that the message in the tweet has some significance to the subject.
<whitequark> "I agree with it"
<whitequark> "I find it funny"
<whitequark> etc.
<ELLIOTTCABLE> ... yes? And?
<whitequark> what is this significance for tweets containing this hashtag?
<ELLIOTTCABLE> Uh. Honestly, not sure. Looking at them now.
<ELLIOTTCABLE> I *think* they're parody?
<whitequark> I *hope* so
<whitequark> but there's a hell of a lot of people retweeting that, in the order of hundreds of thousands
<whitequark> I lack the cultural understanding of what exactly they all find that funny in it.
yorick has joined #elliottcable
<ELLIOTTCABLE> whitequark ⑊ it's definitely a parody
<vil> ♪ The Golden Boy Parov Stelar
<purr> vil is listening to “The Golden Boy”, by Parov Stelar
<vil> morning!
<vil> a terrifying number of those appear to be completely serious
yorick has quit [Remote host closed the connection]
<ELLIOTTCABLE> vil ⑊ parov stelar is great
yorick has joined #elliottcable
<ELLIOTTCABLE> hi bi
<ELLIOTTCABLE> hi vl
<ELLIOTTCABLE> hi vil
<ELLIOTTCABLE> *
<vil> lolol
<purr> lolol
<vil> !
<vil> purr imitates again!
<ELLIOTTCABLE> go write a new purr ...?
<ELLIOTTCABLE> can we build something...?
<ELLIOTTCABLE> i r sad
<vil> I'm currently trying to avoid haveing to work at a grocery store again by finishing my app
<vil> r*having
<vil> a;slkdg;lahdg
<purr> <Benvie> templates are built into the language at syntax level
<vil> y u r sad
<ELLIOTTCABLE> what is your app
<vil> it's like Droplr but you provide the server(s)
<vil> also will hopefully be able to send between other network instances
<vil> brb coffee
<purr\GH> [blog] ELLIOTTCABLE force-pushed gh-pages from a9880da to a3cb787: https://github.com/ELLIOTTCABLE/blog/commits/gh-pages
<vil> fuck sake it is 37º
<vil> it's JUNE
<vil> WHY
<purr> <locks> I was attempting a yoke, but it was a leaky abstraction and I ended up with scrambled eggs
<ELLIOTTCABLE> I'm about to go fucking get fucking mcdonalds again
<vil> I haven't had McDonalds for breafkast in quite a while
<vil> lol brefkast
<purr> lol
<vil> hmm, interesting. Byword updated to 2.0 and they're giving it to everyone through the App Store, but have an IAP acting as a paid upgrade with new features
<ELLIOTTCABLE> good idea
<ELLIOTTCABLE> Depressed elliott is starting to think he may not be online for a while
<vil> we will miss you if so :/
<ELLIOTTCABLE> hi?
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
<vil> ELLIOTTCABLE: hi
<ELLIOTTCABLE> hi vil...
_whitelogger has joined #elliottcable
_whitelogger has joined #elliottcable
alexgordon has joined #elliottcable
<ELLIOTTCABLE> alexgordon ⑊
<alexgordon> ELLIOTTCABLE 4
<vil> hi alexgordon
<alexgordon> sup vil
<vil> Cocoa
<vil> you?
<alexgordon> lol
<purr> lol
<alexgordon> BITCOIN
<vil> alexgordon: any opinion on creating an NSViewController in a nib vs in code and loading the view from a nib?
<alexgordon> I've never used NSViewController
<vil> smart man
<purr\OSS> [git] ELLIOTTCABLE fast-forwarded master from 727a46b to b5c2675: https://github.com/ELLIOTTCABLE/git/compare/727a46b2f9a1...b5c26758639c
<purr\OSS> [git] ELLIOTTCABLE force-pushed author-order+ from bfc2311 to 2e21349: https://github.com/ELLIOTTCABLE/git/commits/author-order+
<purr\OSS> git/author-order+ 96834ba elliottcable: (SKIP) A .clang_complete
<purr\OSS> git/author-order+ 704e30d elliottcable: + re-naming the old function to copy it to a new one ... again
<purr\OSS> git/author-order+ 5d39c49 elliottcable: + copying commit_list_compare_by_committer_date for author_date
<ELLIOTTCABLE> alexgordon ⑊ huh>
<alexgordon> ?
<joelteon> hi
<purr> joelteon: hi!
<joelteon> hi purr
<purr> joelteon: hi!
eligrey has joined #elliottcable
<vil> hi joelteon
<vil> eligrey: y u no sephr
<joelteon> hi vli
<joelteon> vil
<eligrey> sephr died
<vil> oh ok, just wondering
<ELLIOTTCABLE> >:
<joelteon> :<
<joelteon> i'm gonna make a language with a :< operator
<joelteon> haskell!
<purr> <micahjohnston> I'm really excited to do Cunts next semester?
<joelteon> jesus I hate bash
<joelteon> god
<joelteon> what a terrible language
<joelteon> only in bash would it be impossible to do "if 1; then ...; fi"
<joelteon> "if [[ 1 -eq 1 ]]; then ...; fi"
<joelteon> lovely
<whitequark> whoever made 0 a falsey value must be shot
<whitequark> whoever takes that convention to non-C must be shot, buried, exhumed, burned, and ashes dispersed on wind.
<joelteon> yeah
<joelteon> NOT ONLY are conditionals an abortion
<joelteon> but they're WRONG
<joelteon> i hate my life
<whitequark> also
<whitequark> if true; then; fi
<joelteon> if true; fi
<joelteon> right
<joelteon> but I have a variable with the value "1"
<joelteon> because I got it from an exit status
<joelteon> but there is a brilliant way to fix it
<joelteon> if $(exit $RBENV); then echo "rbenv installed"; fi
<joelteon> BRILLIANT
<alexgordon> whitequark: disagree
<alexgordon> ruby's lack of 0 being falsy annoys the fuck out of me
<alexgordon> python's is better
<joelteon> uh
<joelteon> ruby only has two falsy values
<alexgordon> if arr: should not be true for the empty array!
<alexgordon> joelteon: yes
<alexgordon> it sucks
<joelteon> nil...and false
<joelteon> if arr.empty?
<joelteon> if 0.zero?
<alexgordon> I'm saying, ruby is wrong
<alexgordon> right but
<joelteon> i'm saying type coercion for conditionals is fucking gross
<joelteon> of course, dynamic typing in and of itself is a terrible thing anyway
<alexgordon> if someone writes if arr, then they probably don't want it to execute for an empty array
<joelteon> right
<alexgordon> yet that's what happens in ruby
<joelteon> or it could conceal the fact that arr is null
<alexgordon> i.e. usually an empty array is a undesirable as a nil
<joelteon> or
<joelteon> you know
<alexgordon> ?
<joelteon> what
<alexgordon> I really don't
<vil> why is zero being false bad?
<joelteon> zero being true is bad
<alexgordon> vil: rubyists
<vil> well yes
<vil> bash is backwards
<whitequark> alexgordon: numbers are not booleans
<joelteon> arrays aren't booleans either
<alexgordon> I never said they were
<whitequark> well, conditions operate on booleans
<alexgordon> whitequark: if you accept that nil/null is generally bad, then the only sensible interpretation of "if somenumber" is to NOT execute if it's 0
<whitequark> generally what?
<alexgordon> generally bad
<whitequark> define bad
<vil> unusable
<alexgordon> c a r hoare said null was his greatest mistake
<alexgordon> or something long those lines
<whitequark> a null reference is an antipattern in a statically typed language, mind you
<whitequark> for a dynamically typed one hoare's line doesn't make any sense
<alexgordon> sure it does
<whitequark> nah
<alexgordon> why should it be different?
<alexgordon> I rarely need None in python
<whitequark> because lack of a null reference means a stricter constraint on the valid types for a variable
<whitequark> and in a dynamically typed language ANY type is valid
<alexgordon> untrue
<alexgordon> only the types accepted by convention are valid
<whitequark> no. the semantics does not restrict the type.
<alexgordon> the culture does
<whitequark> doesn't matter
<alexgordon> well then we disagree at the most fundamental level
<whitequark> culture can make null references "invalid", won't help with the bugs
<alexgordon> not sure how you get from that to null is alright
<alexgordon> null is bad because of its ability to appear in unexpected places
<alexgordon> "unexpected" is a human construct
<alexgordon> not a theoretical one
<whitequark> um, no
<whitequark> that "unexpected" can be defined formally
<whitequark> because when it appears, you get, for example, UB in C
<whitequark> or exceptions in something higher level
<alexgordon> you can define anything formally, the question is does it match reality
<whitequark> yea. easy to describe for C, for example.
<whitequark> if you access something at NULL, you get UB and you should never get UB
<whitequark> if you don't access anything at NULL, then your program is likely not subject to the hoare's
<whitequark> sentence
<whitequark> you can argue that appending null checks everywhere hampers maintainability
<whitequark> this is somewhat harder to express formally, but still is possible
<whitequark> dynlangs have a worse problem than just null references: any type (instead of the null type) can appear unexpectedly at any place
<joelteon> i don't like the concept of type coercion in booleans
<whitequark> joelteon: it's just weak typing
<joelteon> yeah
<joelteon> and ruby has strong typing, in a manner of speaking
<whitequark> I think that every language with weak typing has proved very well that we shouldn't make MORE languages with weak typing
<whitequark> yeah
<joelteon> yeah we already have too many weakly typed languages
<whitequark> C, JS, PHP?
<whitequark> lovely trio
<joelteon> three of the best languages of all time
<joelteon> apparently python, too
<whitequark> elaborate?
<joelteon> alexgordon said something about python treating 0 as false
<joelteon> or [] as false
<whitequark> ah
<whitequark> well, that is a bit of weak typing, yes
<whitequark> I won't call the whole python weakly typed, though.
<joelteon> fair enough
prophile_ has joined #elliottcable
prophile has quit [Ping timeout: 264 seconds]
<whitequark> prophile_: ooooh hi
<whitequark> inject some sense here
prophile_ has quit [Ping timeout: 252 seconds]
<whitequark> shit
<joelteon> conversation.inject(:sense)
<whitequark> is equivalent to
<vil> NoSenseFoundException
<whitequark> conversation.reduce(:sense)
* whitequark slaps vil around a bit with a large trout
<vil> wow, I haven't gotten slapped with a trout in a long time
prophile has joined #elliottcable
audy has quit [*.net *.split]
yrashk has quit [*.net *.split]
audy- has joined #elliottcable
yrashk has joined #elliottcable
Nuck has quit [Ping timeout: 256 seconds]
Nuck has joined #elliottcable
prophile_ has joined #elliottcable
<ELLIOTTCABLE> hi
<joelteon> hi
<ELLIOTTCABLE> wtf
<ELLIOTTCABLE> more noise
<joelteon> purr isn't saying hi
<joelteon> da fuþ
Sgeo has quit [Ping timeout: 256 seconds]
Sgeo has joined #elliottcable
gozala has quit [Ping timeout: 245 seconds]
Willox has quit [Ping timeout: 245 seconds]
whitequark has quit [Ping timeout: 245 seconds]
owenb_ has quit [Ping timeout: 271 seconds]
gozala_ has joined #elliottcable
prophile has quit [Remote host closed the connection]
purr has quit [Quit: No ping reply from server]
ellio has quit [Ping timeout: 367 seconds]
purr has joined #elliottcable
ellio has joined #elliottcable
Willox_ has joined #elliottcable
ELLIOTTC1BLE has joined #elliottcable
whitequark has joined #elliottcable
NuckingFuts has joined #elliottcable
brry has joined #elliottcable
purr has quit [Client Quit]
purr has joined #elliottcable
ELLIOTTC1BLE has quit [Ping timeout: 257 seconds]
ELLIOTTC1BLE has joined #elliottcable
<ELLIOTTC1BLE> FUCK
<ELLIOTTC1BLE> what the hell is going on
ELLIOTTCABLE has quit [Disconnected by services]
ELLIOTTC1BLE has quit [Client Quit]
wudofyr___ has joined #elliottcable
ELLIOTTCABLE has joined #elliottcable
Nuck has quit [*.net *.split]
brr has quit [*.net *.split]
wudofyr__ has quit [*.net *.split]
ELLIOTTCABLE has quit [Client Quit]
ELLIOTTCABLE has joined #elliottcable
_whitelogger_ has joined #elliottcable
devyn_ has joined #elliottcable
purr has quit [Ping timeout: 245 seconds]
_whitelogger has quit [Ping timeout: 245 seconds]
devyn has quit [Ping timeout: 245 seconds]
purr has joined #elliottcable
ELLIOTTCABLE has quit [*.net *.split]
yrashk has quit [*.net *.split]
ELLIOTTCABLE has joined #elliottcable
irclogger_com has quit [Ping timeout: 246 seconds]
irclogger_com has joined #elliottcable
yrashk has joined #elliottcable
<ELLIOTTCABLE> I just saw the single most disturbing thing the Internet has ever introduced me to.
<joelteon> what is it
<ELLIOTTCABLE> This is seriously, *seriously* not-safe-for-work. In fact, so much so, that I'm going to make you type the URL yourself.
<NuckingFuts> GIVE IT.
NuckingFuts is now known as Nuck
<ELLIOTTCABLE> The domain is “newsfilter”, it's an org, not a com;
<ELLIOTTCABLE> and the ID is sixty-seven thousand, four-hundred and seventy-three.
<joelteon> what is the thing
<ELLIOTTCABLE> that's everything you need to find it, if you're depraved enough to do that to yourself.
<joelteon> I want to know
* ELLIOTTCABLE shudders
<joelteon> what is it
<ELLIOTTCABLE> I am now going to go have nightmares. Adeiu.
<joelteon> fuck you
<alexgordon> elliottcable: nooo
<ELLIOTTCABLE> a snuff film, basically
<alexgordon> don't go
<joelteon> oh
<Nuck> Really? Dude, it's just generic bagging
<joelteon> what happens in it
<alexgordon> elliottcable: why would you watch something disturbing?
<alexgordon> and then TELL us about it?
<joelteon> Nuck what is it
<ELLIOTTCABLE> “generic bagging”
<alexgordon> pg tips?
<Nuck> joelteon: Girl goes into bag, they vacuum pack her
<joelteon> oh
<ELLIOTTCABLE> Man, I seen some fucked-up shit, but nothing that freaky in live-action.
<Nuck> This is actually a normal fetish
<joelteon> oh
<ELLIOTTCABLE> Oh, I'm down with the vac-beds and all.
<Nuck> This is common in live-action, elliottcable
<whitequark> does she die
<ELLIOTTCABLE> But she starts suffocating, and screaming, and flailing, until she passes out.
<ELLIOTTCABLE> and maybe dies, idk
<joelteon> *that* is the most disturbing thing you've ever seen?
<joelteon> oh
<joelteon> oh
<Nuck> huh yeah that's pretty disturbing. I've still seen worse
<joelteon> ok that makes more sense
<alexgordon> this conversation...
<joelteon> the chainsaw beheading is still worse
* ELLIOTTCABLE shudders
<ELLIOTTCABLE> no, see, that shit is just gory
<ELLIOTTCABLE> I can handle gore up to a point.
<joelteon> I dunno, listening to his breathing is pretty bad
<ELLIOTTCABLE> But this is, ... *cruel* and freaky. Truly.
<joelteon> well I don't really want to watch it now :<
<Nuck> elliottcable: It's just the combination of vac beds and autoerotic asphyxiation
<Nuck> I'm not surprised in the least.
<ELLIOTTCABLE> it's not autoerotic.
<ELLIOTTCABLE> it's just erotic asphyx, which is an *entirely* other game
<Nuck> Oh right
<ELLIOTTCABLE> mind you, I choked the fuck out of Chelsea.
<ELLIOTTCABLE> So I'm there.
<ELLIOTTCABLE> But still.
<ELLIOTTCABLE> This video, whole new level of fuck.
eligrey_ has joined #elliottcable
<alexgordon> <+elliottcable> mind you, I choked the fuck out of Chelsea.
<Nuck> elliottcable: It's okay, she's clearly alive at the end
<ELLIOTTCABLE> I didn't watch all the way through.
eligrey has quit [Ping timeout: 240 seconds]
<ELLIOTTCABLE> Somehow, I'm not surprised that Nuck *did*.
<Nuck> I did. Didn't disturb me at all
<Nuck> I smiled the whole time.
<Nuck> Creepily.
<Nuck> Basically, she passes out, and he immediately runs over and pops the thing open
<Nuck> Carefully checks that it's uncovered her face
<ELLIOTTCABLE> alexgordon ⑊ Is that intended to be a “I like this message, and I desire that you do the herein-mentioned action to me, too” quotation-of-my-message?
<alexgordon> nope
<alexgordon> but I am creeped out by Nuck
<Nuck> hahaha
<Nuck> I could never fap to that video
<Nuck> So you can rest easy knowing that you've found where I draw the line
<alexgordon> I have no desire to watch someone being suffocated thankyouverymuch
<Nuck> Yeah, it's not really interesting.
<Nuck> I've seen far worse things
<alexgordon> if it's not interesting, what is it? boring?
<Nuck> Yeah something like that
<Nuck> I'm just completely uninterested in seeing suffocating girls.
<Nuck> Though she's not a bad lookin' Japanese girl
<alexgordon> oh japanese
<alexgordon> makes sense now
<Nuck> I have no shrinkwrap fetish
<Nuck> Yep
<alexgordon> I can't understand how you're not affected by it. I mean, I haven't even watched the thing and I'm more horrified than you are!
<alexgordon> anyway, can we talk about programming instead?
<ELLIOTTCABLE> japanese girls are so unattractive
<Nuck> elliottcable: I beg to differ.
<alexgordon> you think?
<alexgordon> I don't think they're the most attractive
<alexgordon> but
<alexgordon> not UNattractive
<Nuck> Oh certainly not, I still prefer french girls
<alexgordon> they're above average
<ELLIOTTCABLE> french lol
<purr> lol
<ELLIOTTCABLE> I'm a almost-dyke type
<Nuck> French people piss me off but the giiiiiiiirls
<ELLIOTTCABLE> I like thin, pasty-white, short-hair
<alexgordon> haha
<alexgordon> long hair ftw
<ELLIOTTCABLE> actually, basically anything pasty-white
* alexgordon elliott eyes @ elliottcable
<Nuck> I like the small boobs, thin, white, and mid-length hair
<ELLIOTTCABLE> I'm racist as all fuck when it comes to sex
<alexgordon> aren't we all
<Nuck> elliottcable: wat.
<purr> beep.
<alexgordon> not a fan of pasty white girls personally
<ELLIOTTCABLE> trying http://airmailapp.com
<ELLIOTTCABLE> oh my god so pretty D:
<ELLIOTTCABLE> OH MY GOD SO PRETTY R;_;
<alexgordon> does it have short hair?
<Nuck> And pasty white skin?
<ELLIOTTCABLE> I like you guys so much sometimes
<alexgordon> elliottcable: just don't suffocate us
<alexgordon> Nuck: I'm surprised you like french girls
<Nuck> alexgordon: Why?
<alexgordon> "small boobs, thin, white, and mid-length hair" doesn't sound particularly special!
<Nuck> It's not ;D
<Nuck> But I have other tastes within that which narrow the pool
<Nuck> And basically ensure I'm not attracted to anyone in the state of California
<alexgordon> haha
<alexgordon> californians are very attractive
eligrey_ has quit [Quit: Leaving]
ELLIOTTCABLE has quit [*.net *.split]
<micahjohnston> hi hi hi hi
<micahjohnston> aw elliott's gone
<micahjohnston> graduating tomorrow
<alexgordon> OMG MICAH
<alexgordon> GROWING UP SO FAST
<alexgordon> LITTLE MICHYKINS
<joelteon> graduating from where
<joelteon> or are you becoming a cylinder for use in laboratories
<alexgordon> o_O
<alexgordon> micahjohnston: what does graduation involve?
* alexgordon knows nothing of your foreign customs
audy- is now known as audy
audy has quit [Changing host]
audy has joined #elliottcable
ELLIOTTCABLE has joined #elliottcable
owenb_ has joined #elliottcable
eligrey has joined #elliottcable
<ELLIOTTCABLE> what the fuck
<joelteon> heh
<joelteon> micahjohnston died
<ELLIOTTCABLE> what?
<ELLIOTTCABLE> freenode's freakin' shit
alexgordon has quit [Quit: Computer has gone to sleep.]
<ELLIOTTCABLE> butts
<ELLIOTTCABLE> all of them
<audy> elliottcable irc.ellio.te or something
<audy> elliottcable fuckit your own internet
<joelteon> ho.bo
<ELLIOTTCABLE> dude no I hate having to connect to multiple networks
<ELLIOTTCABLE> it sucks tits
<ELLIOTTCABLE> I would never subject anyone to that
<ELLIOTTCABLE> everyone who matters is already on Freenode, by definition.
<whitequark> or oftc.
<ELLIOTTCABLE> oftc mehhhhhhhhhhh
<whitequark> oftc has #llvm
<whitequark> <3 llvm
<purr> Let it be known that whitequark hearts llvm.
<whitequark> <3 #llvm
<purr> Let it be known that whitequark hearts #llvm.
<joelteon> how do you hate things
<whitequark> </3 javascript
<whitequark> err
<whitequark> -- javascript
<purr> Let it be known that whitequark hates javascript.
<joelteon> -- ##c
<purr> Let it be known that joelteon hates ##c.
<ELLIOTTCABLE> ಠ_ಠ
<ELLIOTTCABLE> ಠ_ಠ ##C
<purr> Let it be known that elliottcable disapproves of ##C.
<joelteon> ಠ_ಠ ##c
<purr> Let it be known that joelteon disapproves of ##c.
<ELLIOTTCABLE> same thing
<ELLIOTTCABLE> just different words
<ELLIOTTCABLE> --
<purr> Let it be known that elliottcable hates .
<ELLIOTTCABLE> ++
<whitequark> lol
<purr> lol
<ELLIOTTCABLE> wat
<joelteon> how do you figure out who hates ##c
<ELLIOTTCABLE> those are both *incrremental*
<whitequark> -whohates ##c
<purr> whitequark: ##c is hated by elliottcable and joelteon.
<ELLIOTTCABLE> so you can use them to adjust
<whitequark> -whohates javascript
<purr> whitequark: javascript is hated by devyn and whitequark.
<joelteon> ಠ_ಠ #css
<purr> Let it be known that joelteon disapproves of #css.
<whitequark> -whohates c
<purr> whitequark: c is hated by no one :)
<whitequark> shit
<joelteon> -- javascript
<purr> Let it be known that joelteon hates javascript.
<ELLIOTTCABLE> I created #SexyCSS to obviate #CSS a long time ago
<ELLIOTTCABLE> then stopped caring
<whitequark> -whohates css
<joelteon> did it happen
<purr> whitequark: css is hated by no one :)
<ELLIOTTCABLE> -whereisthelove
<whitequark> -whohates CSS
<purr> whitequark: CSS is hated by no one :)
<whitequark> -whohates C
<purr> whitequark: C is hated by no one :)
<joelteon> no it didn't
<whitequark> -whohates fucking
<purr> whitequark: fucking is hated by no one :)
<joelteon> -- css
<purr> Let it be known that joelteon hates css.
<whitequark> whatever]
<ELLIOTTCABLE> you used the hashtag
<whitequark> -hates purr
<purr> whitequark: purr doesn't hate anything :)
<joelteon> -- purr
<purr> joelteon-- (... dickface.)
<joelteon> ++ purr
<purr> Let it be known that joelteon loves purr.
<whitequark> -hates joelteon
<purr> whitequark: joelteon hates ##c, #css, javascript, and css.
<joelteon> ಠ_ಠ purr
<purr> joelteon-- (... dickface.)
<whitequark> -disapproves elliottcable
<whitequark> -loves elliottcable
<purr> whitequark: elliottcable loves cloudhead, devyn, tucker, gqbrielle, IamTash, Bluebie, alexgordon, Breaking Bad, zsh, purr, locks, last.fm, Zero 7, Tiberian Sun, cold, berri, NuckOff, git, George R. R. Martin, github, OS X, micahjohnston, ChelseaP, GitHub, brits, the cock, SubStack, Aria, isaacs, negative space, Lua, zzap, logs, #elliottcable, russfrank, Kaufmann Mercantile, iPad, tmux, SSH, Prompt.app, Little Snitch, Ronald Jenkees, JavaScript, judofyr, Primer, eb
<joelteon> ah, the cock
<whitequark> elliottcable: make it write multiple messages
<joelteon> elliottcable: ronald jenkees is good
<ELLIOTTCABLE> NOBODY SPEAK FOR A MOMENT
ELLIOTTCABLE has quit [Quit: best short-url ever. <http://ell.io/tt>]
ELLIOTTCABLE has joined #elliottcable
<whitequark> what if i don't
<whitequark> do
<whitequark> dodo
<joelteon> ELLIOTTCABLE: how much does ellio.tt cost
<whitequark> drododont
<whitequark> rododendront
<whitequark> ratodendront
<whitequark> a rat tree
<whitequark> imagine
<whitequark> a tree which grows rats
<joelteon> that's gross
<joelteon> imagine them partially grown
<joelteon> ugh
<whitequark> mmm
<whitequark> baby rats?
<whitequark> ratflowers?
<joelteon> fetus rats
<whitequark> well
<joelteon> imagine the ones with birth defects
<whitequark> that would be inside some carpels
<whitequark> fetuses
<whitequark> birth defects, kinda
<whitequark> I imagine they would be rejected by the tree, then fall down
<whitequark> and rot
<joelteon> nice
<joelteon> putrefying mutated rat fetuses in my backyard
<whitequark> <3 rotting rat fetuses with birth defects
<purr> Let it be known that whitequark hearts rotting rat fetuses with birth defects.
<joelteon> that's pretty cool
<whitequark> yea
<whitequark> totally, man
<joelteon> <3 rotting rat fetuses with birth defects
<purr> Let it be known that joelteon hearts rotting rat fetuses with birth defects.
yorick has quit [Remote host closed the connection]
<ELLIOTTCABLE> fucking fuck
crassus has joined #elliottcable
<crassus> is everything fine ELLIOTTCABLEland
<joelteon> no
<crassus> >:(
<ELLIOTTCABLE> and who the hell is crassus
<ELLIOTTCABLE> everything is wrong
<ELLIOTTCABLE> mostly because otters
<ELLIOTTCABLE> I need to cut my fingernails
<joelteon> yeah it's my fault
ELLIOTTCABLE has quit [Quit: best short-url ever. <http://ell.io/tt>]
ELLIOTTCABLE has joined #elliottcable
<ELLIOTTCABLE> wow, that worked
<ELLIOTTCABLE> 60 ſ 892 45 [Freenode] ELLIOTTCABLE!me@ell.io elliottcable You are now logged in as elliottcable.
<ELLIOTTCABLE> 60 ſ 892 45 [Freenode] SASL authentication successful
<ELLIOTTCABLE> whee
<crassus> ELLIOTTCABLE: it is me your friend upgrayeddd
<crassus> ELLIOTTCABLE: i was concerned dear
<purr> <devyn> also, I keep meth in bowls
<ELLIOTTCABLE> oh, crassus, lol
<purr> lol
<ELLIOTTCABLE> been a while
<ELLIOTTCABLE> man *everybody* is changin' nicks
<ELLIOTTCABLE> I WAS FIRST, BITCHES
<crassus> yes dear, although I was always crassus and upgrayeddd simultaneously
<joelteon> oh that's upgradyed
alexgordon has joined #elliottcable
yrashk has quit [Ping timeout: 240 seconds]
yrashk has joined #elliottcable
<ELLIOTTCABLE> hi?
<ELLIOTTCABLE> alexgordon ⑊
<alexgordon> ELLIOTTCABLE
<joelteon> \\
<ELLIOTTCABLE> hi
<purr> ELLIOTTCABLE: hi!
<ELLIOTTCABLE> I hate all of you.
ELLIOTTCABLE is now known as ihateallofyou
<alexgordon> lol ihateallofyou
<purr> lol
<alexgordon> what do you want us for eliott
<ihateallofyou> sexual exploitation
<ihateallofyou> obv.sly
<ihateallofyou> saddest elliott is leaving to sleep somewhere now.
<ihateallofyou> saddest elliott is goodbye.
ihateallofyou is now known as goodbye
<goodbye> hm. I wonder.
elliottcable has joined #elliottcable
<elliottcable> nope
elliottcable has quit [Client Quit]
goodbye has quit [Remote host closed the connection]
<joelteon> haha
<joelteon> i do SO much premature optimization
* alexgordon optimizes prematurely all over his code