elliottcable changed the topic of #elliottcable to: Puppy paws patter placidly through the pale passageways…
<micahjohnston> alexgordon: well maybe that
<micahjohnston> something in the area of:
<alexgordon> oh right
<micahjohnston> physics, math, computers, and neuroscience
<alexgordon> in america you get to decide after the first year
<micahjohnston> I might not have much time to decide though because of the program i did in high school
<micahjohnston> which will let me skip a lot of general classes
<alexgordon> because of monads right?
<alexgordon> I predict, you will not do CS
<alexgordon> I don't know what CS is like at your college, but I doubt you will find it interesting
<alexgordon> personally
<alexgordon> and I'm being totally serious here
<alexgordon> (for once)
<alexgordon> statistics. you can never have enough statistics
<alexgordon> the thing that worries me about statistics is the stuff I *don't* know
<alexgordon> what sorts of problems would I be solving if I had a good grasp of it?
<micahjohnston> heh
<micahjohnston> yeah I was thinking the same thing about CS probably
<micahjohnston> but like
<micahjohnston> computer engineering seems sweet
<micahjohnston> and machine learning and neuroscience and linguistics and computational math and physics
<alexgordon> WHAT THE FUCK
<alexgordon> seriously, I'm still WTFing over the fact that "ice cream sandwiches" don't contain bread
<alexgordon> it's only a "sandwich" in the biblical sense
<alexgordon> micahjohnston: also that logo is scaring the crispy marshmallow shit out of me
<micahjohnston> his name is champ
<alexgordon> I do not consort with maso-cannibalistic dairy products
<alexgordon> it looks a bit like a goatse? praise fucking jesus that it's vanilla and not chocolate
<alexgordon> but seriously, is the exit point, not the entry point. And it is *smiling*
<alexgordon> if the moon appears red, what does that mean?
<alexgordon> more lube?
<micahjohnston> oh there's chocolate
<micahjohnston> there's actually a flash animation
<devyn> “Who Could You Trust (feat. Devyn)” lol
<purr> lol
alexgordon has quit [Quit: Computer has gone to sleep.]
<eccloud> hi
<purr> eccloud: hi!
<eccloud> micahjohnston: We talked about this; it's possible to use ownership to know about completion.
<micahjohnston> oh, well that seems a bit ad hoc
<micahjohnston> idk
<micahjohnston> a bit
<eccloud> when something completes, it disgorges *all* ownership; if you want to, for some reason, wait until *completion* (which breaks encapsulation, but whatevz, I'm all for metaprogramming and Evil™), you can take ownership on an arbitrary mutex, charge the callee with that ownership, then disgorge it yourself.
<eccloud> issue it!
<eccloud> :D
<eccloud> This is the best thing EVAR
<eccloud> keeping track, for once, of all the shit going on.
<micahjohnston> will tomorrow
<micahjohnston> gtg
<micahjohnston> gnight
<eccloud> <3
<eccloud> g'night
<micahjohnston> <3
sephr has quit [Quit: Leaving]
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 264 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Excess Flood]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
eccloud has quit [Read error: Operation timed out]
eccloud has joined #elliottcable
brr has quit [Ping timeout: 264 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
alexgordon has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
alexgordon has quit [Quit: Computer has gone to sleep.]
brr has quit [Ping timeout: 264 seconds]
alexgordon has joined #elliottcable
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 264 seconds]
Sgeo_ has quit [Ping timeout: 248 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 264 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
<micahjohnston> hi
<purr> micahjohnston: hi!
<micahjohnston> alexgordon:
<alexgordon> micahjohnston
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
Sgeo has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 264 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 264 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 245 seconds]
brr has joined #elliottcable
<micahjohnston> alexgordon: devyn:
<micahjohnston> etymology is so fucking cool
<micahjohnston> the fact that we can trace words
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
<alexgordon> micahjohnston: ikr
<micahjohnston> :D
<alexgordon> micahjohnston: the existence of dictionaries with etymology just boggles my mind
<micahjohnston> yeah
<alexgordon> the fact that for ALL those words, someone has traced their history
<alexgordon> I wouldn't even know how to trace the history of a single word
<alexgordon> it would take me weeks!
brr has joined #elliottcable
<micahjohnston> yeah
<micahjohnston> also the fact that we have any idea what proto-indo-european was like
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
<devyn> micahjohnston: so much cool. also the gothic script is derived from greek but looks way cooler ;)
<micahjohnston> :p
brr has quit [Ping timeout: 245 seconds]
<elliottcable> micahjohnston ⑊ hi!
<micahjohnston> hi elliottcable
<devyn> I don't get a hi? :(
<micahjohnston> devyn: you already did
<micahjohnston> that's enough
<micahjohnston> ;p
<micahjohnston> oh my god i'm so mad at myself
<micahjohnston> nas and common both came here last summer
<micahjohnston> but I didn't go
<elliottcable> no
* elliottcable yawns
<micahjohnston> ?
<elliottcable> sleepy
brr has joined #elliottcable
<micahjohnston> :p
<devyn> whoa, I didn't realize hw inverted to wh in English
<devyn> that makes so much sense; Icelandic hvad → English what
<micahjohnston> oh cool
* elliottcable yawns bigger
<elliottcable> good morning, #elliottcable
judofyr has joined #elliottcable
<elliottcable> Oh look. Perfect timing,
<elliottcable> judofyr ⑊ I just woke up. I'mma run get some food, I should be 'bout fifteen mins. :)
brr has quit [Ping timeout: 264 seconds]
<judofyr> hey elliottcable
brr has joined #elliottcable
brr has quit [Ping timeout: 240 seconds]
<devyn> brr keeps dropping in and out >__>
* judofyr installs latest Node
<elliottcable> HAI DEVYN
<elliottcable> prr brr <:
<judofyr> jesus, that's a lot of dependencies
<judofyr> or, lots of lines when running `npm install,
<elliottcable> yep
<elliottcable> because it depends on request *and* browserify
<elliottcable> between the two of which, require basically every other popular module on NPM. >,<
<judofyr> and `cake test` is running!
<elliottcable> you'll want to branch off of Master, but then ff to copy-types+
<elliottcable> lemme go over a couple project things; I'll try and keep it brief so we can get right to code.
<elliottcable> first off, you remember .gitlabels?
<elliottcable> shit, I haven't made a file for this project
<elliottcable> get the whole idea there
<elliottcable> you'll want that.
<elliottcable> brb
<judofyr> I wasn't able to ff copy-types+
<judofyr> rebase or merge?
yorick has joined #elliottcable
<elliottcable> from Master to copy-types+?
<elliottcable> `git merge --ff-only`a
<elliottcable> and always rebase, with one exception; I can explain that a bit later. Unimportant now.
<judofyr> fatal: copy-types+ - not something we can merge
<elliottcable> wat
<elliottcable> bee ess
<judofyr> on README commit in Master
<judofyr> that's diverging
<judofyr> from copy-types+
<elliottcable> Oh!
<elliottcable> I forgot about that. Mde that on GitHub.
<elliottcable> I'll merge and force-push.
<elliottcable> For now, get that glog alias installed; it's the only way to make sense of my git-commit-log.
<micahjohnston> THE REAL WORLD
<micahjohnston> IT'S BIGGER THAN ALL THESE FAKE ASS RECORDS
<devyn> fake ass-records
<micahjohnston> IT'S BIGGER THAN
<micahjohnston> HIP
<micahjohnston> HOP
<micahjohnston> HIP
<micahjohnston> HOP
<elliottcable> love that song so much
<micahjohnston> elliottcable: ikr
<micahjohnston> WHO SHOT BIGGIE SMALLS
<devyn> hippity hop, I'm a rabbit
<elliottcable> you last.fm, right?
<micahjohnston> IF WE DON'T GET THEM THEY GON GET US ALL
<elliottcable> devyn ⑊ come Paws with us!
<devyn> elliottcable: I'm English classing right now
<elliottcable> come on guys! It's a national holiday in the U.S. We should make it Paws-day! :D
<micahjohnston> I'M DOWN FOR RUNNIN UP ON THEM CRACKAS IN THEY CITY HALL
<elliottcable> aw >:
<micahjohnston> elliottcable: yep
<devyn> fuckin' high school :(
<devyn> it mæk me sæd
<elliottcable> judofyr ⑊ pull (x
<purr\Paws> [Paws.js] elliottcable force-pushed copy-types+ from b058d3e to 2e20165: https://github.com/elliottcable/Paws.js/commits/copy-types+
<purr\Paws> Paws.js/copy-types+ 6a002bf elliottcable: + constructing Thing
<purr\Paws> Paws.js/copy-types+ 92de08c elliottcable: + adding (and noughtifying) metadata
<purr\Paws> Paws.js/copy-types+ 180a3b6 elliottcable: + Things have IDs
<devyn> oooh red, bad elliottcable
<elliottcable> so, `git branch copy-parser+ copy-types+`
<elliottcable> let me introduce you to granular committing.
<micahjohnston> elliottcable: http://www.youtube.com/watch?v=c5bnC8-s7Uw
<elliottcable> basically, every little change you make, as long as it passes `cake test`, commit it.
brr has joined #elliottcable
<elliottcable> type a stupid, unpunctualized, uncapitalized commit-message, with a “+” before it:
<elliottcable> “+ added isPair()”
<judofyr> past tense?
<elliottcable> doesn't matter
<elliottcable> granular-commits are entirely free-form, that's the point
<judofyr> k
sephr has joined #elliottcable
<elliottcable> as long as there's a plus at the start of the line, I couldn't give less of a shit.
<elliottcable> there's a *lot* of restrictions on how you safe-stage-commit to my projects; so granular commits are a way to escape those restrictions when you're focusing on code.
<elliottcable> the only thing I ask is you commit much, commit often; keep a complete track-record of your work. It's all recorded for eternity. (=
<judofyr> fair enough
<elliottcable> So.
<elliottcable> I'll show you later how to merge the granular branches (like copy-parser+) down to the safe-stage branches (like copy-parser), so they can be merged together into Master.
<elliottcable> Here's Micha's rather ingenious parser:
<elliottcable> give me a ./Source/parser.coffee (lower-case, because it's not a proper noun, by the way), and matching ./Test/parser.tests.coffee
brr has quit [Ping timeout: 264 seconds]
<elliottcable> export a require('parser').parse(), and a .Expression class.
<judofyr> how can I run single test file?
<elliottcable> Beyond that, it's up to you. I'm about to be writing some parsing-tests that your code will validate against in parallel with you.
<elliottcable> `cake --grep 'test name' test`
<elliottcable> or, after `cake --tests compile:client`, you can open a page like this:
brr has joined #elliottcable
<elliottcable> file:///.../Paws.js/Library/tests.html?grep=Thing
<elliottcable> generally you grep for a whole `describe`, run all the related tests. http://ell.io/iBKn1
<devyn> micahjohnston: this group called Sound Horizon makes albums that are basically audio-only opera/musicals
<devyn> micahjohnston: it's really neat
<micahjohnston> devyn: cool i'll check it out
brr has quit [Ping timeout: 240 seconds]
<elliottcable> I added you as a collab
<elliottcable> you can just work directly in my repo for now, while we're collab'ing in IRC
<elliottcable> git remote add elliottcable git@github.com:elliottcable/Paws.js.git
brr has joined #elliottcable
<judofyr> there
<purr\Paws> [Paws.js] judofyr created parser (+1 new commit): https://github.com/elliottcable/Paws.js/commit/7aaddc7d852b
<purr\Paws> Paws.js/parser 7aaddc7 Magnus Holm: + Add parser skeleton
brr has quit [Read error: Connection reset by peer]
<elliottcable> also, end the branch-name with a +
<elliottcable> finishing up some work from last night and pushing it, copy-types stuff.
<purr\Paws> [Paws.js] judofyr deleted parser at 7aaddc7: https://github.com/elliottcable/Paws.js/commit/7aaddc7
<judofyr> there
<judofyr> the bot is lagging
brr has joined #elliottcable
<purr\Paws> [Paws.js] elliottcable merged copy-types into Master: https://github.com/elliottcable/Paws.js/compare/b2f8fbd3fee8...09dc7ba0b69c
<elliottcable> Meh
<elliottcable> I'll let you test it yourself; I can't test when I'm not creating the API
<elliottcable> just let me “check your work” today, make sure you're headed in the right direction
* judofyr is wrestling with CoffeeScript
<judofyr> this is a syntax error: http://hastebin.com/poyanavope.coffee
<judofyr> wat
<judofyr> oh wait
<judofyr> I forgot a ->
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
<elliottcable> wat
<elliottcable> you don't need a → in that
<judofyr> it was inside a method
<judofyr> "foo: \n while"
<elliottcable> ah lol
<purr> lol
<judofyr> `cake` didn't even give me the line number…
<purr\Paws> [Paws.js] judofyr pushed 2 new commits to parser+: https://github.com/elliottcable/Paws.js/compare/7aaddc7d852b...d46d97918a72
<purr\Paws> Paws.js/parser+ d46d979 Magnus Holm: + refactor label parser
<purr\Paws> Paws.js/parser+ eb1564a Magnus Holm: + parse labels
brr has quit [Ping timeout: 240 seconds]
<elliottcable> judofyr ⑊ parse() should *always* return an Expression
<judofyr> elliottcable: I know
<judofyr> getting there
<judofyr> elliottcable: is the top-level expression supposed to be empty?
<elliottcable> https://github.com/elliottcable/muPaws.js/blob/Master/µPaws.tests.js#L155-L156
<elliottcable> forgot to mention, there *are* some sparse tests
<elliottcable> never got very built-up; need way more than that
brr has joined #elliottcable
<purr\Paws> [Paws.js] judofyr pushed 1 new commit to parser+: https://github.com/elliottcable/Paws.js/commit/57cca536d8d4fbe1034559af793bc1a709652f75
<purr\Paws> Paws.js/parser+ 57cca53 Magnus Holm: + parse a label expression
<purr\Paws> [Paws.js] judofyr pushed 1 new commit to parser+: https://github.com/elliottcable/Paws.js/commit/77ccdd39e216c9c88c1e9fdb6a4ec7d3d58ce023
<purr\Paws> Paws.js/parser+ 77ccdd3 Magnus Holm: + add parse test for empty string
<elliottcable> You don't need to push every time you commit ;)
<elliottcable> actually, I take tha back. I'm supposed to be reviewing your shit, I'm sorry, I'm caught up in trying to re-design the Execution impl
<Nuck> Damn man. Magnus Holm is such a badass name.
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
<elliottcable> Nuck ⑊ Is Judofyr new to you? ;)
<elliottcable> He's about as badass a dev as his name suggests he is a crime lord.
<Nuck> I know them, but I didn't know their name
<elliottcable> him* his*
<Nuck> them and their are valid as nonspecific pronouns
<purr\Paws> [Paws.js] judofyr pushed 2 new commits to parser+: https://github.com/elliottcable/Paws.js/compare/77ccdd39e216...e846302feb57
<purr\Paws> Paws.js/parser+ e846302 Magnus Holm: + parse subexpressions
<purr\Paws> Paws.js/parser+ 5999cfe Magnus Holm: + add parse test for multiple labels
<elliottcable> You know xem? You should learn xyr name.
<judofyr> gah
<judofyr> that last thing isn't actually a subexpression
<judofyr> oh
<judofyr> actually, it is
<elliottcable> yeah, I haven't pushed Execution yet
<judofyr> I was mixing up expression and exectution
<elliottcable> just add a shim
<elliottcable> Execution: constructor(@position) →
<elliottcable> or sommat
brr has quit [Ping timeout: 240 seconds]
<devyn> huh, OpenCL for CPU is pretty useful as well
<alexgordon> elliottcable: oh right, you're doing coffeescript
<alexgordon> I always thought you'd hate it
<elliottcable> I hate it immensely
<elliottcable> but it works well for the purpose
<alexgordon> hahaha
<devyn> you can write data parallel code and have the CPU driver optimize it with whatever it supports
<alexgordon> well I love it
<alexgordon> coffeescript is the best language ever made
<elliottcable> ಠ_ಠ
<alexgordon> except for its lack of static typing
<purr\Paws> [Paws.js] judofyr pushed 1 new commit to parser+: https://github.com/elliottcable/Paws.js/commit/f86f10f00fe86b2852847116d4838c47f7617301
<purr\Paws> Paws.js/parser+ f86f10f Magnus Holm: + parse executions
<devyn> so in addition to SSE* you can get FMA and shit
<devyn> if the processor supports it
<Nuck> CoffeeScript should add interfaces
<Nuck> It'd bw so much better
<judofyr> elliottcable: you want to keep the genesis stuff for keeping track of locations?
<devyn> Nuck: typeclass master race
<alexgordon> elliottcable: the REALLY great thing about coffeescript is that it forces YOU to write in a style that I can read
<judofyr> elliottcable: "genesis" doesn't make much sense to be though
<devyn> alexgordon: that's the point.
<Nuck> devyn: >implying I'm serious
<elliottcable> judofyr ⑊ Yes, definitely. It's very useful for debugging-output; I can take the original string and mark it up based on the current position and shit
<devyn> Nuck: lol
<purr> lol
<elliottcable> It's the “genesis” of the AST.
<elliottcable> You can call it `source` or whatever you like (=
<alexgordon> wait, you can do that with newlines in coffeescript?
<elliottcable> alexgordon ⑊ what?
<alexgordon> linebreak after &&
<elliottcable> It's *very* fragile. You've gotta re-write it several times, changing indentation.
<devyn> lol
<judofyr> isn't all of CoffeeScript like that?
<devyn> guise just write Go and use gofmt
<Nuck> ... wow
<devyn> what could go wrong
<elliottcable> judofyr ⑊ → #Paws.Nucleus
<Nuck> I didn't even realize how bad CoffeeScript is until now. How the fuck do you even manage that outside of Python?
<elliottcable> What's wrong with Python?
<Nuck> Whitespace for blocks.
<Nuck> Other than that, what I've seen of Python (3, at least) is fine
<Nuck> 2 had the gripe of manually passing a reference to self around
<elliottcable> I *like* whitespace-based indentation. Doing that, although massively differently, for Fullness
brr has joined #elliottcable
<Nuck> I think whitespace-based block syntax is a good idea in theory, but it just ends poorly in practice because it reduces freedom (like I use tabs to indent and spaces to align, which Python doesn't seem to appreciate) and causes all kinds of awkward errors
<alexgordon> Nuck: coffeescript is great
<alexgordon> HOW DARE YOU SPEAK ILL
<alexgordon> OF THE GREATEST LANGUAGE EVER MADe
<elliottcable> Nuck ⑊ same page.
<alexgordon> elliottcable: Nuck uses tabs
<Nuck> alexgordon: You also program in Objective C and C++, you're used to languages being awkward and exploding randomly.
<elliottcable> Nuck ⑊ which is why I'm doing it Right™ in Fullness.
<elliottcable> WHAT
<elliottcable> HARD TABS
<elliottcable> -kick Nuck HARD TABS ಠ_ಠ
* alexgordon knows how to push elliottcable's butttons
<Nuck> Yes, hard tabs. For indenting, not for aligning.
<elliottcable> oh
Nuck was kicked from #elliottcable by elliottcable [HARD TABS ಠ_ಠ]
Nuck has joined #elliottcable
<elliottcable> hard-tabs 'r for-fags
<elliottcable> look it rhymes
<elliottcable> threesp tabs! <3
<Nuck> What's wrong with hard tabs? I've seen nothing wrong with them, besides alignment
<Nuck> I use threewide tabs too
<elliottcable> Hard tabs are a bit like ...
<alexgordon> that's like saying, "I only use whores to give to the poor, not to derive pleasure from it"
<Nuck> But if I want, I can switch to 2, 4, 8, 16
<elliottcable> ... designing your web-page with the assumption that the end-user is going to customize the background-color.
<elliottcable> And thus, making your page insanely ugly for the 85% of users that *don't* customize it, so it's blank white, which your design is ugly on.
<Nuck> No, it's like designing your web page with the assumption that the end-user is going to change the font size or the font face
<elliottcable> 99.999% of people have hard-tabs set to the default, 8 spaces
<Nuck> Which is actually important to do
<elliottcable> and there is NOTHING IN THE WORLD more ugly than code indented with a full fucking EIGHT SPACES before each block.
<Nuck> elliottcable: Nope. Most people (outside of vim) have it set to 4.
<elliottcable> Especially Node-like code with lots of sub-levels.
<elliottcable> Not at all.
<Nuck> And that's a user thing. Just set the fucking variable.
<elliottcable> I'll go compile a list of the defaults in each editor some day.
<Nuck> Most GUI editors default to 4
<elliottcable> Yes. That only affects *you*.
<elliottcable> Which is a complete failure of design on your part, as the code-designer.
<Nuck> It's the viewer's fault to not set the width
<Nuck> I view this the same way I view CSS units. I use em because it allows the user to scale the font size to match their personal preferences.
<Nuck> indentation is very much a personal thing, you should never force it on anybody
<Nuck> Some people can't read code as quickly if it isn't indented the amount they're used to
<elliottcable> Yes, and when the general default that applies to 90% of people reading it is commonly four-or-less-spaces, I'll be happy to use hard-tabs.
<Nuck> Who cares what the default is? Most editors default to hard tabs anyways, so if you're working with them they're gonna have to configure anyways
brr has quit [Ping timeout: 240 seconds]
<elliottcable> I care what the default is, when it's unchanged.
<elliottcable> Damn, I need to take a survey of this now.
<Nuck> So why not just configure the width like a sane human being and treat the indentation as an element of the display instead of the content
<elliottcable> *Because most people don't*.
<elliottcable> This is your argument:
<Nuck> Most people *do* though
<elliottcable> Me: “stop leaving the background of your website un-specified, and then designing your website as if it's set to magenta.
brr has joined #elliottcable
<elliottcable> You: “Just set your browser to have a background of fucking magenta, and then design for that!
<Nuck> I've never met anybody who didn't use a GUI Editor (Notepad++ and Sublime both default to 4-wide tabs) who didn't configure their editor
<Nuck> Ever
<Nuck> Just, like, flat-out
* alexgordon grins with glee
<elliottcable> Me: “ ... most browsers are *not customized*, so your website is going to look fucking stupid in most of them. You're being a bad steward of your design.
<Nuck> alexgordon: What's the default hard tab width in Chocolat?
<Nuck> elliottcable: The *only* editors that use 8-wide tabs are Vim, emacs, and nano.
<alexgordon> Nuck: I did a statistical analysis of a sample of code for each language to detect the most common tab width in each community
<Nuck> alexgordon: That's... creepy and obsessive
<alexgordon> lol
<purr> lol
<alexgordon> if code were a girl, you would be right
<alexgordon> Nuck: also, and this convinced me to stop using hard tabs... hard tabs are very uncommon
<alexgordon> so I consider that, by using soft tabs we are closer to a consensus
<Nuck> the browser defaults to 8-wide too, but we (the hard tab users) are really pushing GitHub to set that in CSS
<alexgordon> consistency is king
<purr\Paws> [Paws.js] judofyr pushed 1 new commit to parser+: https://github.com/elliottcable/Paws.js/commit/33e82a4368479427ed8cc400fd588bc0baf2898b
<purr\Paws> Paws.js/parser+ 33e82a4 Magnus Holm: + add source range
<Nuck> alexgordon: I believe in web development hard tabs are actually more common
<Nuck> And anyways, who cares about consistency outside single codebases - you follow the rules of the code you are in
<Nuck> If they use tabs, you use tabs
<Nuck> If they use 15 spaces, you use spaces
<elliottcable> I'm definitely with you on that one.
<elliottcable> But consistency *does* matter outside of the code-base.
<Nuck> If they use 12 semicolons, you use 12 semicolons
<Nuck> ... Okay, maybe not that one. Fuck them, I will rewrite the entire fucking thing
<elliottcable> But if you *choose* 12 semicolons for a new project, you're making it harder to contribute, and making life more difficult for everybody who develops software *everywhere*, if your code is open-source.
<Nuck> Yes, but in this case, hard tabs are the saner option; they're designed specifically for this purpose. Just because Linus Torvalds said we use 8-wide tabs, does not mean 8-wide tabs are common. They aren't.
<Nuck> Windows and Mac editors tend to use 4-wide from what I've seen
<Nuck> *nix is the *only* place where 8-wide is default
<Nuck> And you know what? Users of *nix editors tend to configure their editors well
<Nuck> I've never, in my life, met somebody who used vim with the defaults.
<elliottcable> pretty sure my vim is still set to 8-sp hard-tabs.
<Nuck> (why would you? The thing is hideous)
<gkatsev> tabstop should stay at 8 in vim...
<Nuck> Well that's your own fault. How hideous it is is your problem. Just cause you can't wrangle your editor into 4-wide ain't my fault.
brr has quit [Ping timeout: 240 seconds]
<Nuck> If you like 8-wide, you can have 8-wide, I'll just consider you an idiot.
<elliottcable> I can't say it again.
<elliottcable> All of this is irrelevant.
<Nuck> The *only* negative of using hard tabs is that some retards set some things to default to 8-wide tabs. But that's like catering to IE6, why the fuck should I do it?
<elliottcable> *All* that matters is how your code appears to others.
<Nuck> Exactly why I use hard tabs!
<elliottcable> Giving others customizable, that's great. I'm all for the *idea* of hard-tabs.
<elliottcable> But giving *some* other users (the very small number who care) customizability,
<Nuck> elliottcable: If you have a problem with hard tabs' defaults, don't take it up with hard tabs, take it up with the editors.
<elliottcable> is *not* as important as the design for the *rest* of them.
brr has joined #elliottcable
<elliottcable> Jesus. Thank god you're not a designer.
<Nuck> ... I am
<Nuck> Why should I cater to people who can't be assed to set a single variable?
<elliottcable> You're the type who would insist on using a non-standard CSS property, say “fuck you” to all the users whose browsers' don't support it the way you want it to be, and then say “take it up with the browser developers” to anyone who disagrees with you.
<elliottcable> moving on to code.
<Nuck> elliottcable: No way. I said this before, this is just like using ems instead of px
<Nuck> Just because it might display differently on different browsers is not a negative. It's a positive.
<Nuck> Lea Verou had a wonderful article on why she uses hard tabs now, from the perspective of a designer (and probably one of the biggest experts on CSS).
brr has quit [Ping timeout: 240 seconds]
brr has joined #elliottcable
<micahjohnston> stop giving a shit about tabs and spaces
<micahjohnston> walk outside, it's lovely weather
<alexgordon> back
<alexgordon> haha micahjohnston
<alexgordon> <3
<alexgordon> we don't live in utah though
<micahjohnston> come here
<micahjohnston> it's lovely weather
<micahjohnston> at the moment anyway
<micahjohnston> anyway tabs and spaces fucking suck
<micahjohnston> we should stop using text but while we still are just use the same thing within a project
<micahjohnston> Nuck: when I use vim it's with the defaults because any moment spent configuring a text editor makes me want to shoot myself
<micahjohnston> alexgordon: high five?
<elliottcable> micahjohnston ⑊ You still school? 'cause we're Pawsing, judofyr and I.
<purr\Paws> [Paws.js] judofyr pushed 2 new commits to parser+: https://github.com/elliottcable/Paws.js/compare/33e82a436847...ecbbe4f6ad0b
<purr\Paws> Paws.js/parser+ ecbbe4f Magnus Holm: + more source range tests
<purr\Paws> Paws.js/parser+ 05c2860 Magnus Holm: + minimal source range for labels
* judofyr finds a CoffeeScript vim plugin
<judofyr> writing code without indentation rules and syntax highlight is … interesting
<elliottcable> D:
* elliottcable laughs uproariously
<elliottcable> oh, speaking of tabs-vs-spaces
<elliottcable> :set sts=3 sw=3
<elliottcable> :3
<judofyr> why???
<elliottcable> I can also just fix it after we safe-stage your work
<elliottcable> don't care particularly much, *especially* if you're working in completely separate files
<judofyr> oh god, re-indenting didn't work well
<judofyr> but why 3?
<gkatsev> it's the average of 4 and 2? :P
brr has quit [Ping timeout: 240 seconds]
<elliottcable> well, shit. http://ell.io/iU1Pb
<elliottcable> best middle-ground I've found of all the arguments.
<elliottcable> I have a really excellent quote from Neal Stephenson
<gkatsev> really, it doesn't matter, as long as whoever you're working with on the project agree on what you want
brr has joined #elliottcable
<judofyr> coffeescript: uglier with syntax highlighting: http://cl.ly/image/0Y2M3V1l152t
<gkatsev> that looks very pink
<elliottcable> “Any number that can be created by fetishtically multiplying 2s by each other, and substracting the occasional 1, will be instantly recognizable to a hacker.”
<elliottcable> There's another in the same book on the same topic, about how ‘hackers’ gravitate towards powers of two for absolutely no reasonable reason (he attributes it to them thinking they're cool, but whatever)
<elliottcable> But. Seriously. There's nothing saying it has to be 2, 4, or 8.
<purr\Paws> [Paws.js] judofyr pushed 1 new commit to parser+: https://github.com/elliottcable/Paws.js/commit/1d51817fed2187fb30e78cc62a2dbad1aa68223d
<purr\Paws> Paws.js/parser+ 1d51817 Magnus Holm: + reindent
<elliottcable> 2 is too small to me, 4 looks slightly too big. Tried 2 for a while, but too hard to differentiate blocks visually; settled on three, it's made me extremely happy.
<elliottcable> anyway
* elliottcable goes back to code
<gkatsev> elliottcable: nothing other than that that's the general consensus for just about most projects
<judofyr> yeah, I think 2 is too little for Coffee/Python
<elliottcable> and 4's too much for Node, 'cause insane sub-block'in
<elliottcable> middle-ground!
<elliottcable> anyway, seriously doesn't matter. moving on to writing code!
<elliottcable> protip, get rid of lots of parens, it'll help
<elliottcable> but more importantly, yeah, expect() is *fucking ugly* with CoffeeScript
<elliottcable> should looks great
<elliottcable> but I needed it to work back to IE6.
<elliottcable> I'll probably write my own someday, or refactor should to work with IE6. *shrug*
<purr> ¯\(º_o)/¯
brr has quit [Ping timeout: 240 seconds]
<elliottcable> fuck.
<elliottcable> Wat fuck is this shit. http://ell.io/iU1Pb
<judofyr> elliottcable: please comment on variable names (res, sub isn't that great) and style (e.g. && vs and)
<elliottcable> will do as soon as I can push this shit
<elliottcable> since we're doing CS now, and everything's pretty “spread out,” I'd prefer longer, more descriptive variable names
<elliottcable> the only exception to that being external APIs, where I prefer full-english, but short and unique
<elliottcable> (hence “genesis” instead of source_name or something, previously)
<elliottcable> fuckin' call stack? seriously? wtf!?
<elliottcable> ohhhhh I see what happened ><
<elliottcable> ugh
* elliottcable refactors construct(_
<elliottcable> Fuckin' don't even know how this works.
<elliottcable> inscrutable bug is inscrutable.
<elliottcable> judofyr ⑊ Sorry, do you need my input? I didn't realize that you might be waiting for me ...
<elliottcable> ♪ Blue Sky Black Death
<purr> elliottcable: “Movements”, Blue Sky Black Death: <http://tinysong.com/WK1t>
<elliottcable> ♪ Farewell to the Former World
<purr> elliottcable: “Farewell to the Former World”, Blue Sky Black Death: <http://tinysong.com/SuNE>
<judofyr> elliottcable: hm. right now I don't have anything to do, but think I might get some sleep anyway
* elliottcable laughs
<elliottcable> wait, it's already complete? D:
<elliottcable> damn you for being fast
<judofyr> elliottcable: it's not the prettiest code, but tests pass and I'm happy!
* elliottcable laughs
<elliottcable> it's fine if it's ugly! I'll just blame it on you!
<elliottcable> nah, if it's annoying enough, I'll refactor it and show you the commit, so you can get an idea how to code alongside me
<elliottcable> so, lemme look this over real quick
<elliottcable> I'll add tests for anything that doesn't add up
* elliottcable stashes his shit
<judofyr> please do. still not sure if the source ranges are correct
brr has joined #elliottcable
<elliottcable> well! I already broke it!
<judofyr> good!
<elliottcable> But I have no idea how!
<judofyr> you have a test?
<elliottcable> How the hell did this break it.
<elliottcable> the test that fails is the last one, tricky-locations
<elliottcable> >,<
<judofyr> elliottcable: there's a test that pokes into an execution
<judofyr> elliottcable: contents.contents.body
<elliottcable> exe.contents.body
<elliottcable> watf
<elliottcable> but there was no .contents; just a .body
<elliottcable> yours:
<elliottcable> constructor: (@body) →
brr has quit [Ping timeout: 240 seconds]
<elliottcable> mine:
<elliottcable> constructor: (@position) →
<judofyr> .contents comes from Expression around it
<elliottcable> OH
<elliottcable> .body
<elliottcable> see
<elliottcable> fix'd
<elliottcable> moving on
<elliottcable> First test added
brr has joined #elliottcable
Willox has joined #elliottcable
<elliottcable> privmsg works too :3
<elliottcable> -welcome @ Willox
<purr> Willox: Welcome back! Here, have some welcome-back penises. http://youtu.be/RvkWhGVNky4
<Willox> well
<Willox> that's odd
<elliottcable> but I really can't talk, I'm trying to review judofyr's parser
<elliottcable> lurk! we
<Willox> Is this invite perm?
<elliottcable> shall talk soon.
<elliottcable> yep
<Willox> I'll let you go on :)
<elliottcable> it's not password-protected or anything.
<elliottcable> I just tend to avoid random people join/leaving when they hear the name.
<Willox> Could've just said the name then :v
<Willox> Fair enough
<elliottcable> It's mildly exclusive.
<alexgordon> wtf
<elliottcable> In a promiscuous way.
<alexgordon> @ welcome back penises
<elliottcable> -factoid welcome
<purr> elliottcable: Alias: back
<elliottcable> -factoid back
<purr> elliottcable: Popularity: 10, last changed by: <unknown>, 543ſ 614mſ ago
<elliottcable> jesus that's old
<alexgordon> indeed
<Willox> Well I'll be back in a tad
Willox has quit [Quit: So long]
<Nuck> haha wow
<Nuck> Approaching two years
<Nuck> Jesus christ I've wasted far too much of my life in here
<alexgordon> this is really really really strange
<Nuck> The penises?
<elliottcable> pff, I've been here three and a half now
<alexgordon> yeah
<elliottcable> as has alexgordon
<alexgordon> wait
<alexgordon> really?
<elliottcable> yep.
<elliottcable> You were here within the first week.
<Nuck> Just 3.5? I've been here well over 2
<alexgordon> in #elliottcable ?
<alexgordon> or ##paws?
<elliottcable> both
<elliottcable> it's one thing.
<alexgordon> right
<alexgordon> I just go by micah's age
<elliottcable> LOL.
<judofyr> alexgordon: what's strange about penises?
<purr> lol
<Nuck> hahaha
<elliottcable> You say it like he's our son.
<alexgordon> he was 14 at the start
<elliottcable> 14. Jesus H. Christ.
<Nuck> We should start using micahjohnston's age instead of epoch time
<alexgordon> he's off to university now
<alexgordon> YES
<alexgordon> seconds since micahjohnston was born
<alexgordon> new epoch
<Nuck> This is genius.
<Nuck> But wait
<elliottcable> best idea ever
<Nuck> alexgordon: We need to find out the exact time then :o
<elliottcable> no
<elliottcable> midnight on the day, GMT
<elliottcable> easier to work with
<Nuck> elliottcable: But that's too easy
<elliottcable> UJD needs a new epoc.
<elliottcable> fuck UJD, it's gonna be UMJD
<alexgordon> these people have strange penises
<elliottcable> Unix/micahjohnston Date
<Nuck> Universal MicahJohnston Date
<Nuck> Oh, Unix
<elliottcable> alexgordon: wat.
<purr> beep.
<elliottcable> oh wait no
<judofyr> not to be confused with Michael Jackson's UMJD
<elliottcable> it's not Unix anymore.
<elliottcable> MJJD
<alexgordon> they're not rhombus shaped at all
<elliottcable> micahjohnston/Julian Date
<elliottcable> -find rhombus
<purr> elliottcable: Could not find `rhombus`.
<elliottcable> really!?
<Nuck> One thing I've learned in here is that alexgordon has a lot of experience with penises.
<alexgordon> -find penis
<purr> alexgordon: Found: back and i know that feeling
<alexgordon> -find cock
<purr> alexgordon: cock → elliottcable
<alexgordon> hahaha
<Nuck> hahahaha
Willox has joined #elliottcable
<micahjohnston> hey guys
<micahjohnston> I'm 18 in a month
<micahjohnston> exactly a month actually
<alexgordon> we've been here almost 4 years!
<alexgordon> -elliottcable
<purr> alexgordon: literally a worse villain than Edward the Sparkly Vampire. boo hiss
<alexgordon> -cock
<purr> alexgordon: cock → elliottcable
<alexgordon> oh right
<elliottcable> wat
<elliottcable> -factoid cock
<purr> elliottcable: Popularity: 4, last changed by: <unknown>, <unknown time> ago
<elliottcable> damnit gq
<Willox> So what shenigans go on in here
<elliottcable> lol.
<purr> lol
<elliottcable> mostly Paws.
<elliottcable> -what is paws @ Willox
<purr> * alexgordon writes in notes: "subject is having delusions of maturity"
<elliottcable> er
<elliottcable> -find what is paws @ Willox
<purr> Willox: Could not find `what is paws`.
<elliottcable> god damnit purr
<Willox> Well
<Willox> Nothing then
* elliottcable bitchslaps purr
* purr rrr
<Nuck> -find paws
<purr> Nuck: <http://ell.io/iksN9>
<elliottcable> LOL
<elliottcable> I remember that.
<alexgordon> :D
<elliottcable> BLACK MICAH.
<Nuck> hahaha
<elliottcable> There's a hot girl sleeping a thin wall away, don't make me wake her up DL
<elliottcable> NO LAUGHING
<elliottcable> ONLY CODING.
<alexgordon> OK
<Nuck> purr is so full of gems
<elliottcable> > sr.source.sub(sr.begin, sr.end)
<Willox> Is paws something metaphorical?
<Nuck> -ovoids @ Willox
<elliottcable> '<sub> foo (abc) bar </sub>'
* alexgordon hacks into elliottcable's computer and makes it play porn
<alexgordon> VERY LOUDLY
<elliottcable> Willox: wat.
<purr> beep.
<elliottcable> ♪ Move Bitch
<purr> elliottcable: “Move Bitch Freestyle”, Lil Wayne: <http://tinysong.com/gpoN>
<elliottcable> ↑ currently playing.
<Willox> I have no idea
<alexgordon> elliottcable: send me your ssh privkey
<elliottcable> no
<elliottcable> Willox ⑊ “what” is a feature
<alexgordon> DO IT OR I'LL MAKE YOU LAUGH
<elliottcable> -what
<purr> <yuffster> No, like, moon-base level awesome people. I mean, they have enough money for a goddamn moon base.
<elliottcable> -what
<purr> <elliottcable> and, like, epic fighter battles with laser-harpoons
<Nuck> Start by reading the part where elliottcable gets high and hugs his keyboard, then we can introduce you to paws and it will make sense.
<alexgordon> ♪ Black Micah
<purr> alexgordon: “Holiness”, Micah Stampley: <http://tinysong.com/LYJP>
<elliottcable> what.
<elliottcable> can't breathe.
<Willox> Well
<elliottcable> BACK TO CODE.
<Willox> I ctrl+f'd paws
<Willox> and it makes no sense still
<alexgordon> Willox: I've been here almost 4 years, and it still doesn't make sense
<elliottcable> Willox: “Well. I ctrl+f'd paws. and it makes no sense still.” what.
<purr> beep.
<alexgordon> lol
<alexgordon> lolol
<elliottcable> nah, ignore alexgordon, he's just stupid.
<elliottcable> Plenty of people understand Paws.
alexgordon is now known as derpgordon
<elliottcable> -best derpgordon
<purr> DERPGORDON IS BESTGORDON
<Willox> I just googled it..
<Willox> yeah
<derpgordon> OK... wtf? http://jamesmayboard.proboards.com/
<Nuck> We still need a -find for wats
<derpgordon> there is a forum, dedicated to james may
<elliottcable> Nuck ⑊ no, that'd defeat the point!
<elliottcable> they're secret. and random.
<derpgordon> all the users have james may in their avatars
<Nuck> elliottcable: :< but I want to find some of the gems
<elliottcable> NAWP
<derpgordon> I feel violated somehow
<elliottcable> makes them all the better when they come up unexpectedly.
<elliottcable> -what
<purr> <judofyr> elliottcable: what's up with sephr and OMFG, or whatever it was called again?
<elliottcable> ... like that
<elliottcable> still can't breathe
<derpgordon> I would NEVER join a community dedicated to one particular person
<Nuck> >#elliottcable
<elliottcable> ... wait
<elliottcable> pff it's not dedicated to me! it's obviously dedicated to locks.
<Nuck> Oh damn we lost our locks again
<elliottcable> -#elliottcable
<purr> elliottcable: We're dedicated to locks' memory. He will be missed.
<elliottcable> ... I'm supposed to be reviewing judofyr's work ಠ_ಠ
<derpgordon> he's not online
<Nuck> oh god I found this in the related videos of our welcoming penises http://www.youtube.com/watch?v=P6XTPLY9V7Q
<elliottcable> I just spent an embarassingly large moment scrolling upwards, looking for the /part message, going “wait, when'd he leave!?”
<Nuck> (NFSW obv)
<elliottcable> ... before realizing I'd tab-completed his name in my previous message.
<derpgordon> -find rhombus
<purr> derpgordon: Could not find `rhombus`.
<derpgordon> dammit
<elliottcable> SEE
<Nuck> I believe that was a wat
<Nuck> hint hint give us -find
<derpgordon> <alexgordon> elliottcable: no, my cock is a perfect rhombus
<Nuck> I'm not sure what I'm looking at but I'm fairly certain there are two naked men on this stage doing an interpretive dance in a pile of feathers
<Nuck> And now one of them is bashing a shoe on his hdead while the other attempts to attach a bane mask to his face
<elliottcable> okay fuck
<derpgordon> apparently elliottcable at some point joined ##java, and then quit it
* elliottcable pats Nuck
<elliottcable> lolwat
<purr> lol
<Nuck> derpgordon: How did you find that
<derpgordon> google
<elliottcable> double-wat
<elliottcable> watwat
<derpgordon> I searched for "rhombus", "cock" and "elliottcable"
<elliottcable> ... and you got Java.
<Nuck> Because Java = Rhombus + Cock + Elliott
<derpgordon> java, the source of all questions
<Nuck> Perfect math.
<derpgordon> <elliottcable> I fart cake
<Nuck> hahahaha
<Nuck> What the fuck derpgordon
<derpgordon> chocolate log?
<derpgordon> ^ jeannicolas
<elliottcable> Oh. Willox.
<elliottcable> Willox ⑊ Here you go. http://elliottcablechan.tumblr.com
<Willox> What's this for?
<elliottcable> Willox ⑊ *That's* the sort of schennanigans that go on in here. That, and being unable to spell shenannigans.
<derpgordon> laughter
<Nuck> Oh man. I love some of these because I simply don't remember saying them
<derpgordon> must... make... elliott... laugh...
<Willox> I was looking at paws on github
<Willox> I can't even tell if it exists or not
<derpgordon> Willox: you'll go blind
* elliottcable laughs more
<elliottcable> It's perfect.
<Nuck> Oh right there's the one where I explain Paws as elliottcable's porn
<Willox> Does it actually exist?
<Nuck> First one I actually remember
<elliottcable> A newcomer can't tell if Paws is us all gaslighting him, and that it never existed; or if it's some sort of real programming thing.
<elliottcable> That's *so perfect*. Everything I've ever done in my life, is now vindicated.
<Willox> Isn't that a bad thing? :v
<derpgordon> !countdown 1
<elliottcable> Willox ⑊ It's an extremely advanced, massively-concurrent and massively-asynchronous programming langauge.
<Nuck> -countdown 1
<purr> 1...
<purr> Go!
<Willox> Yeah
<Willox> I already noticed the buzz words
<elliottcable> Willox ⑊ There's a running joke that it's completely insane, impossible to understand, etcetcetc.
<elliottcable> Willox ⑊ All of which it's not.
<Nuck> It's not a joke
<judofyr> TIL derpgordon learns through his anus
<elliottcable> judofyr ⑊ You're good. Go home. I have one more test for you, but it can wait. <3
<judofyr> elliottcable: good, good!
<elliottcable> judofyr: "TIL alexgordon learns through his anus” what.
<purr> beep.
<judofyr> nice working on Paws.js :D
<elliottcable> see you tomorrow?
<derpgordon> judofyr: you have it wrong, elliottcable is the anal one
<elliottcable> Got plenty more. I should have execution copied over and implemented by then.
<judofyr> elliottcable: probably, hopefully
* whitequark wonders
<whitequark> I'm theoretically interested in writing a Paws implementation backed by LLVM.
<elliottcable> Willox ⑊ To answer your question a little more seriously ... there's a solid half-dozen incomplete implementations by various people. There's only one implementation that runs code, but it's *literally* the most incomprehensible code you've ever seen in your life.
<Willox> I am actually unsure of Paw's existance
<elliottcable> whitequark ⑊ Talk to prophile_; he wanted to do a compiler as his thesis at one point.
<whitequark> will do
<Nuck> derpgordon: The URL of that is infinitely more awesome than the actual thing
<elliottcable> whitequark ⑊ and talk to me about it too, but let's move to #Paws.Nucleus to get away from the noise
<derpgordon> Willox: it exists in elliottcable's mind, and in micahjohnston's mind, and noöne else's
<Willox> ic
<elliottcable> Willox ⑊ Meh. Ignore derpgordon, he's just jealous that he can't understand it. ;)
<elliottcable> Willox ⑊ I'll teach you when I have a little more time ... but I'm in the middle, this week, of copying the implementation into CoffeeScript to make it a little more accessible.
<Nuck> elliottcable: He'd understand it if you added square brackets to every method call
derpgordon is now known as gordonbrown
<Nuck> >more accessible
<Willox> I can't even find anything written in 'Paws'
<Nuck> >coffeescript
<elliottcable> ♪ Fatty Boom Boom
<purr> elliottcable: “Fatty Boom Boom”, Die Antwoord: <http://tinysong.com/VmRR>
<elliottcable> Willox ⑊ here's some code in the HLVM representation:
<Nuck> Willox: Because nobody crazy enough to author a program in Paws has com around yet
<gordonbrown> Willox: you don't write things in paws, you write them in Fullness
judofyr has left #elliottcable [#elliottcable]
<Nuck> gordonbrown: Your brain writes the paws, which you then translate to fullness which is then parsed and somehow executed.
<Willox> Too many long words
* elliottcable laughs
<elliottcable> yep
<gordonbrown> wow elliottcable looks only 50% scary in this picture https://secure.gravatar.com/avatar/4eac78fe7a7a607dcc097a0d6fd63690?s=140&d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png
<elliottcable> can talk more later. Gonna get into a discussion with whitequark now.
<Nuck> huh
<Nuck> That looks like a Lispy syntax
<elliottcable> It's not. At all. If anything, it's literally the opposite.
<Nuck> gordonbrown: Admit it. You want in elliott's pants
<elliottcable> Parens are indirection, not grouping. Whitespace is application, though, which is similar.
<Nuck> elliottcable: I know I'm just remarking on the resemblance to s-expressions
<Nuck> qualitatively, not accurately
<elliottcable> ah, 'k
<elliottcable> yep!
<elliottcable> aw, just missed him
<purr\Paws> Paws.js/parser+ b416b16 elliottcable: + supporting the actual Execution implementation coming
<purr\Paws> [Paws.js] elliottcable pushed 2 new commits to parser+: https://github.com/elliottcable/Paws.js/compare/1d51817fed21...01fc0d8a9be3
<purr\Paws> Paws.js/parser+ 01fc0d8 elliottcable: + failing test for whitespace-stripping in source_range's
<gordonbrown> elliottcable: only if the hot girl supposedly in the room next to elliottcable is wearing the pants
<gordonbrown> erm
<gordonbrown> Nuck
<elliottcable> what
<elliottcable> sure!meh
<elliottcable> wront-window
<elliottcable> meh*
<elliottcable> very much a friend-zone'd thing.
<elliottcable> and she's attractive, but I'm “officially dating” the prettier of this pair of friends.
_whitelogger has joined #elliottcable
<purr\Paws> [Paws.js] elliottcable created parser (+1 new commit): https://github.com/elliottcable/Paws.js/commit/1f50fcaa2be2
<purr\Paws> Paws.js/parser 1f50fca Magnus Holm: (new api) Copying Micah's parser algorithm from µpaws.js...
gordonbrown has quit [Remote host closed the connection]
<purr\Paws> [Paws.js] elliottcable fast-forwarded parser+ from 6e82c00 to 3a64e91: https://github.com/elliottcable/Paws.js/compare/6e82c00f2c53...3a64e918c4ec
<Nuck> heh
<Nuck> I think I'm working on the most interesting thing I've worked on in a long time
<Willox> I never find things to work on
<Nuck> A Jekyll-esque static page generator bringing the Tumblog-style multi-content thing (pull quotes, etc.) to personal sites
<Willox> static page generators seem pretty cool
<Nuck> But with no blogging platform - it's just a system for tying multiple content sources into one stream
<elliottcable> Willox ⑊ Contribute to Paws. ;)
<Willox> elliottcable, I've been looking
<Willox> and Paws makes zero sense to me :)
* elliottcable laughs
<elliottcable> You a PLT geek at all?
<Nuck> Another one who can't comprehend it :D
<Nuck> Don't feel bad, Willox, half the room doesn't understand half the things in half of paws.
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
<elliottcable> Laughed SO HARD at the IO-monad-in-Haskell thing
<elliottcable> fuckin' micahjohnston.
<elliottcable> micahjohnston. fuckin' micahjohnston. fuckin' look.
<gkatsev> that was a good one
<Willox> I don't
<Willox> I don't do much to do with PLT
<Willox> or anything
<Willox> I like scripting languages!
<elliottcable> lol'd. lol'ing. will-have-lol'd.
<purr> lol
* elliottcable nods
<Nuck> ha
<elliottcable> Willox ⑊ That's fine. This channel is approximately made up of half trolls, and half PLT geeks.
<elliottcable> Which aligns to my own personality and tastes almost exactly. So, understandable.
<Willox> And seeing as I never actually find anything to work on
<Willox> anything I know is from reading on forums or irc channels
<elliottcable> How can you have nothing to work on!?
<elliottcable> I've got eight thousand uncompleted projects.
<elliottcable> Take one and finish it. There you go. Happy birthday. It's yours.
<gkatsev> I always have stuff I can work on. I just end up not doing any of them...
<Willox> I don't know
<Willox> I don't really have projects
<elliottcable> I fucking love git. http://ell.io/iay1p
<Nuck> I have too many projects
<Willox> I'm still enjoying this tumblr page
<Nuck> I've got EmoteCloud, this blog thing, my resume, my bot, my barcode idea, etc.
<Nuck> Nah, replacing that
<elliottcable> Oh, the D-art thing. 'course.
<Willox> I'm not saying that I don't work on any projects
<Willox> I actually don't have any
<Nuck> I get to replace a legacy PHP system with a slightly-less-legacy RoR system
<Nuck> (Why'd I choose RoR? Because it does most of the shit for me, and I just wanna get it done and retire from dA)
<elliottcable> fuck dA
<Nuck> I concur.
<elliottcable> -learn fuck dA = I concur.
<purr> elliottcable: Learned `fuck dA`.
<Nuck> I'm just finishing up my last couple projects for the community, putting 'em on Github, and retiring from work there
<Nuck> "Oh, you want _____ feature? Do it yourself, asshole"
alexgordon has joined #elliottcable
<whitequark> dA?
<elliottcable> deviant-Art
<elliottcable> It's Nuck's primary stomping-ground
<micahjohnston> elliottcable: i like that a lot
<elliottcable> micahjohnston ⑊ you still in tests?
<micahjohnston> no, been done for like a weeek
<micahjohnston> god damnit i need to start being productive again
<micahjohnston> pissed away this whole fucking day
<micahjohnston> was gonna meet up with people and no one answered me
<elliottcable> judofyr copied your parser
<micahjohnston> was gonna work on iphone games and my family hogged the computer
<elliottcable> you might want to clean it up a bit (+
<elliottcable> still trying to copy Execution over. Running into a huge mess with CoffeeScript and my desired API.
<elliottcable> ಠ_ಠ
<elliottcable> fucking faux-classist bullshit ...
<elliottcable> I'm so bad at this.
<micahjohnston> yay judofyr
<elliottcable> yay judofyr indeed <3
<micahjohnston> fuck coffeescript
<micahjohnston> fuck javascript
<Willox> I'm not a fan of coffeescript
<Willox> Maybe if it actually made stuff more readable it'd make sense
<micahjohnston> TAKIN MY TIME TO PERFECT THE BEAT
<elliottcable> Willox ⑊ For the record, neither am I. As everybody else here knows.
<micahjohnston> AND I STILL GOT LOVE FOR THE STREETS
<micahjohnston> IT'S THE D R E
<elliottcable> micahjohnston ⑊ -song
<elliottcable> before you start singing. So I know what you're singing.
<Willox> CoffeeScript should be trying to look like a normal language, not like a pile of words
<elliottcable> /alias nnote ♪
<elliottcable> “a pile of words.” lol.
<purr> lol
<elliottcable> I take it you've never written AppleScript.
<Willox> That's what it is
<Willox> I love bracketless code
<Willox> But when it seems to fit together inside nothing I don't get it
<micahjohnston> Willox: paws is pretty ordinary in most ways
<micahjohnston> Willox: elliott loves to be hyperbolic and sometimes it's to the project's detriment
<elliottcable> pff, I made it clear I was being funny
<micahjohnston> elliottcable: it's spotify:track:2BMRUAA1oTc7e9JPlr6xbZ
<micahjohnston> elliottcable: yeah i'm being detached-grumpy/funny as well
<micahjohnston> so
<elliottcable> micahjohnston ⑊ ♪ Big Ego's
<elliottcable> seeeee? easy.
<Willox> tbh I still don't understand Paws
<elliottcable> you've been here five minutes! pff!
<Willox> I haven't seen any code for it I'd be able to explain
<micahjohnston> elliottcable: no the song was
<micahjohnston> Still Dre
<micahjohnston> actually
<micahjohnston> ♪ Still Dre
<elliottcable> oh, you linked the wrong one ಠ_ಠ
<purr> micahjohnston: “Still DRE”, Dr. Dre: <http://tinysong.com/GeMH>
<micahjohnston> yeah sorry
<elliottcable> lol @ piano in rap music
<Nuck> elliottcable: Actually I don't stomp around dA much these days tyvm
<elliottcable> always
<micahjohnston> big egos is awesome too
<micahjohnston> elliottcable: piano in rap music for the fucking win
<micahjohnston> elliottcable: listen to this
<Nuck> Now I stomp around 4chan's /g/ board, where I'm worshipped for actually knowing how to program
<micahjohnston> elliottcable: http://www.youtube.com/watch?v=P6AIKRI_XpY
<elliottcable> worshipped. lol.
<Willox> AppleScript actually uses the ¬ char?
<Nuck> Most of 4chan's tech board is just people telling eachother to install Gentoo
<elliottcable> Willox ⑊ huh? o_O
<Nuck> elliottcable: No, I'm serious. I got opped in a channel for simply knowing how to program
<Willox> I can't tell if Wikipedia is just being weird or not
<elliottcable> Willox ⑊ The answer is always “Yes. It is.”
<micahjohnston> ♪ Baddest Man Alive
<purr> micahjohnston: “The Baddest Man Alive”, The Black Keys & RZA: <http://tinysong.com/1apyv>
<Willox> Always?
<micahjohnston> fucking black keys + rza
<whitequark> let's get hiiiiiigh
<Willox> I like AppleScript's if statements
<elliottcable> I HAVE NO IDEA HOW TO DOOOO THIIIIIS
<Nuck> The RIZZAAAAAAAA
<micahjohnston> Willox: let's assess your knowledge
<micahjohnston> Willox: do you know first-class continuations?
<micahjohnston> like, call-cc?
<whitequark> do you know why are they inferior to delimited continuations?
* whitequark giggles
* elliottcable pats whitequark
<micahjohnston> lol
<purr> lol
<Willox> Stop bullying me D:
<elliottcable> Ignore him, he's high on cold medicine.
<whitequark> elliottcable: high on cold
<micahjohnston> Willox: not bullying
<whitequark> medicine is for pussies
* elliottcable quietly leads whitequark to bed and tucks him in kindly
<micahjohnston> Willox: want to know where you're coming from
<Willox> micahjohnston, I know nothing about PLT, if that's involved
<micahjohnston> aight
<micahjohnston> what languages do you know well?
<Willox> P.much, Lua
<Willox> I'm only 16, I like Lua but I know some other stuff
<micahjohnston> aight
<micahjohnston> so
<micahjohnston> (I'm 17)
<micahjohnston> (Lua is pretty sweet)
<Willox> Lua's hot
<micahjohnston> Paws is kinda dynamically flavored like Lua
<micahjohnston> everything is a table or whatnot
<elliottcable> <3 Lua
<purr> Let it be known that elliottcable hearts Lua.
<micahjohnston> yknow
<micahjohnston> but even more so
<Willox> Everything is a table?
<Willox> do you mean all types are table based?
<elliottcable> The earliest Paws flavours were definitely heavily influenced by JavaScript's and Lua's object systems.
<Willox> Or are there numbers and stuff that aren't?
<Nuck> Jesus christ holy fuck my lag is terrifying me
<elliottcable> that, plus a heavy influence of Node's asynchronicity (I started the Paws project a couple months after Node hit the ground; I was really into asynch-as-a-lifestyle then.)
<Nuck> Your messages are rolling in 30 lines at a time
<Willox> I'm not sure how a language can be focused on being asyncronous
<elliottcable> Willox ⑊ you'll understand soon enough. TRUST IN THE MICAH.
<micahjohnston> Willox: so do you know like continuation-based asynch IO? like Node?
<micahjohnston> where you don't use return values and instead pass continuations?
<elliottcable> The entire point of doing this was to design the first *asynchronous language*. So it's not surprising that you can't imagine how a *language* could be asynch itself, because it was basically unprecedented.
<micahjohnston> instead of saying input = get_line(); print(input)
<Willox> So it's completely async?
<micahjohnston> you say get_line(function(line) { print(line); })
<micahjohnston> note: this is not paws; this is a concept
<Willox> that's crazy
<Willox> Is there no 'return' in paws?
<micahjohnston> so basically the point of this is:
<whitequark> micahjohnston: wait what, you're 17
<micahjohnston> whitequark: right
<whitequark> and I thought at one point that you were more mature than me
<whitequark> ...
<micahjohnston> Willox: well, we'll get to that
<micahjohnston> Willox: it makes things look nice, no callback spaghetti
<gkatsev> whitequark: not mutually exclusive :P
<Willox> ok
<elliottcable> whitequark ⑊ Micah's pretty fucking mature in a lot of ways.
<micahjohnston> Willox: ok so you get the whole callbacks-for-io thing?
<Willox> Yeah
<elliottcable> whitequark ⑊ The only people I respect more than micah, at least intellectually, are inimino (michael john-clement), and cloudehad (alexis sellier.)
<Willox> micahjohnston, I've done some work in node.js
<micahjohnston> Willox: ok neat
<Willox> and async based Lua
<micahjohnston> cool
<micahjohnston> so
<elliottcable> wasn't there a Nodesque eio-thing that integrated the luavm?
<micahjohnston> the silly thing about those libraries like node.js is:
<micahjohnston> continuation-passing style is a really simple thing to mechanically transform your programs into
<gkatsev> elliottcable: you mean node in lua or lua in node?
<Willox> elliottcable, do you mean: https://github.com/ignacio/luanode
<elliottcable> I thought it had a different name. Hm. But ys.
<micahjohnston> like, it's easy to transform programs from a = f(); g(a); into f(function(a) { g(a) });
<elliottcable> ignore me. listen to micah.
<gkatsev> luvit
<Willox> Yaeh
<Willox> Yeah*
<gkatsev> elliottcable: luvit?
<micahjohnston> so basically this is kind of what paws does
<elliottcable> yeah that gkatsev
<micahjohnston> and here is an example that explains the twisty things this lets you do:
<micahjohnston> print(a_list.each())
<micahjohnston> (this is not paws syntax)
<micahjohnston> Willox: so print() only ever sees single strings
<Willox> That feels backwards
<micahjohnston> Willox: but basically, a_list.each() gets a callback
<micahjohnston> and it calls it once for each item in the list
<micahjohnston> Willox: well, I would say that Node feels backwards
<Willox> What does .each() do?
<elliottcable> each just “returns” each item in the list.
<micahjohnston> it's like for...in
<elliottcable> except, it “returns” multiple times. Nothing magical or complex.
<Willox> Does it return asyncronously?
<micahjohnston> yeah
<Willox> So
<Willox> print(a_list.each()) some_call()
<Willox> some_call could be running before anythings prints?
<micahjohnston> no
<elliottcable> possibly, yes.
<micahjohnston> paws lets you very selectively block on stuff
<micahjohnston> so like
<micahjohnston> if you call a_list.each() then you are suspended and the only time you continue is when you are called back
<micahjohnston> but
<micahjohnston> you can easily call it asynchronously
<elliottcable> *you* elect to block, and “wait” on results from each()
<micahjohnston> the way I wanted Paws then some_call() would be running before anything prints :p
<elliottcable> yeah, diagonal execution
<elliottcable> which is still a fucking cool idea.
<Willox> hm
<Willox> So
<micahjohnston> basically delimits continuations to single lines
<Willox> print is literally called more than once?
<elliottcable> we need a language with more syntax than Paws, less Lisp-y “build everything ontop of everything else” in it
<micahjohnston> whitequark: delimited continuations!
<elliottcable> with diagonal execution, and the same (or very similar) asynch model
<micahjohnston> elliottcable: yeah
<elliottcable> go build it. ;)
<elliottcable> finish tempus later! take my cool ideas and run with themmmmmm. That way we can share notes. :D
<elliottcable> er, compare notes*
<micahjohnston> Willox: yeah, think about it like this. code is already run from the inside out, first evaluating the functions on the inside, and then passing those as aguments to the functions on the outside. in paws, it just takes the outsides and packages em up into callbacks to pass around
<micahjohnston> make any sense?
<Willox> Yes
<Willox> I don't understand why you want it to work that way, though?
* whitequark giggles
<elliottcable> saves you all the typing of callbacks.
<elliottcable> and indentation of callbacks.
<micahjohnston> well, I don't either, unless there's diagonal execution
<elliottcable> go look at iced-coffee-script
<elliottcable> it's a lot like using syntax and promises to ‘pretend’ to be paws.
<alexgordon> diagonal execution!
<micahjohnston> ♪ C.R.E.A.M.
<purr> micahjohnston: “C.R.E.A.M.”, Wu-Tang Clan: <http://tinysong.com/Yvt5>
<micahjohnston> elliottcable: listen to that nice piano
<elliottcable> ♪ Whiskey Lullaby
<purr> elliottcable: “Whiskey Lullaby”, Brad Paisley: <http://tinysong.com/HWHF>
<micahjohnston> elliottcable: AW YEAH MAAD CITY
<elliottcable> lol
<purr> lol
<elliottcable> love that song so much
<micahjohnston> kendrickkkkk
<elliottcable> on subs. yeeeeah.
<elliottcable> I dislike a huge percentage of his stuff, immensely.
<elliottcable> swimming pools is god-damned terrible on every level. ಠ_ಠ
<micahjohnston> lol why?
<elliottcable> but these are great.
<micahjohnston> I love that song?
<elliottcable> ♪ m.a.a.d city
<purr> elliottcable: “Bitch, Don’t Kill My Vibe”, Kendrick Lamar: <http://tinysong.com/19EF1>
<Willox> What would the .each() method do to send an argument to print?
<micahjohnston> s/\?//
<elliottcable> ♪ backseat freestyle
<purr> elliottcable: “Backseat Freestyle”, Kendrick Lamar: <http://tinysong.com/1983b>
<Willox> In that 'fake' example?
<elliottcable> Willox ⑊ it doesn't send arguments to *print*
<elliottcable> Willox ⑊ here's a better example:
<Willox> Or to
<Willox> call print
<elliottcable> Willox ⑊ (in micah's syntax), foo = my_list.each(); print(foo); something_else()
<elliottcable> every time each() returns (asynchronously), the rest of the function will run again. No different than a callback in that way.
<Willox> I get it now
<elliottcable> normally, you'd call something_else *before* that; if you wanted it to run *after* the call to each, but only run once, then you'd package the interior up in an “uncallback” wrapper
<Willox> I can't possibly imagine how you got it to work like that
<elliottcable> so, something_else(); print(my_list.each());
<Willox> Yeah
<Willox> calls something_else once
<elliottcable> or, { print(my_list.each()) }; something_else
<Willox> and then print for each .each()
<elliottcable> that's the rare case, though
<Willox> What does .each() do though
<Willox> How does it cause print to be called?
<elliottcable> usually you want to call asynchronous calls in-sequence; and usually, if you return multiple values, you want to operate the same way on *each* of those values (i.e. the body of a forEach() function
<elliottcable> “Willox ⑊ (in micah's syntax), foo = my_list.each(); print(foo); something_else()”
<elliottcable> thought that woulda made it clear
<elliottcable> each() just does the equivalent of, again, in fake syntax,
<micahjohnston> he wants the insides of each()
<elliottcable> `for (val in my_list); return val; end`
<Willox> I mean
<Willox> Yeah
<micahjohnston> well, when each() is called, it's given the callback
<Willox> So this all kind of makes return work asyncronously
<micahjohnston> and it can just call it, asynchronously, whenever it wants
<Willox> Well
<elliottcable> yes, so more accurately,
<Willox> You've proven how a language can be made to work asyncronously then
<elliottcable> `for (val in my_list); me.caller(val); end`
<micahjohnston> MAN DOWN
<micahjohnston> WHERE YOU FROM MAH NIGGA
<alexgordon> -paws
<purr> alexgordon: <http://ell.io/iksN9>
<alexgordon> micah IS black
<elliottcable> RIGHT
<elliottcable> also, mormon
<alexgordon> black mormon
<elliottcable> blormon
<Willox> I actually think I understand how this is all meant to work :v
<Willox> I imagine I'm not going to be a fan of how it looks when it's Paws though
<elliottcable> cool! now he can explain to you how it's all concurrent as well
<elliottcable> it can *look* like anything you want, by the way
<elliottcable> Paws has no syntax; it's a VM. The syntax is completely and totally dynamic, you build it within the language.
<elliottcable> Long story.
<Willox> that sounds
<Willox> interesting
<elliottcable> But you can easily write, say, a Lua wrapper for Paws, so that your Paws code looks damn-near-exactly like Lua
<alexgordon> it's like lisp but with more neckbeards
* micahjohnston is very tired of the hyperbole about that :p
<Willox> I'd be quite happy with that
<Willox> (the Lua part
<Willox> )
<elliottcable> it shouldn't be hyperbole!
<elliottcable> if it is, then I fucked up royally >:
<Willox> So, how's it all concurrent? :V
<elliottcable> but I intend to ship a faux-JavaScript wrapper, just to show off the ability to do pretty much anything you damn-well please with the syntax
<elliottcable> well, he mentioned that the data-type is a lot like tables in your Lua;
<Willox> I love tables in lua
<elliottcable> we basically add data to that huge structure of tables that comprises the data-space of the whole program, that describes how locking should flow through that space
<elliottcable> so that you can say “if somebody locks on <this table>, then this sub-table should also be locked up, because it's a *part* of the overall data-structure that table represents.”
<elliottcable> for instance, if you have a structure representing a person, then the sub-table holding the first and last names, can be locked against whenever the person table is locked against.
<elliottcable> if that made any sense.
<elliottcable> sorry, they're not *actually* tables, they're just similar. not going to bother getting into the differences now.
<micahjohnston> so then there's a queue for all the calls in the whole program, and if any part of the data-graph is locked-up, then something that requires access to it is delayed until it's free again
<elliottcable> anyway: since we can “cascade” locking data through the object system, it turns out to be pretty simple to encode information about *any* data your code might need, into the code
<elliottcable> and between the two of those, and the fact that the code is broken-down into these tiiiiinnnyyyy bits for the asynchronicity as he already described,
<elliottcable> we can block any of those tiny bits whenever necessary for the locking. Which leads to nearly bulletproof concurrency with very little effort on the user's part†
<micahjohnston> wow spotify
<elliottcable> † the caveat being, obviously, that everybody has to be careful to represent the relationships within their structured data carefully.
<elliottcable> ♪ Odyssey, OVERWERK
<purr> elliottcable: “Odyssey”, OVERWERK: <http://tinysong.com/1b0AO>
<Willox> ''tables'' sound pretty scary now
<micahjohnston> interrupts the maad city to swimming pools transition with a kenney chesney ad
<elliottcable> every “thing” in Paws is an ordered-list.
<elliottcable> including numbers or strings or what-have-you.
<elliottcable> it's an ordered-list of relationships to other ordered-lists, other things.
<elliottcable> dictionary/table like structures are built of very short ordered-lists, acting as pairs; from within the language, they're indistinguishable from “tables”/dictionaries
<elliottcable> foo = (('a', 123), ('b', 456), ('c', 789))
<elliottcable> foo['b'] # => 456
<elliottcable> something like that.
<elliottcable> again, made-up syntax.
<Willox> Looks like a table of tables really
* elliottcable nods
<elliottcable> tables, but ordered,
<elliottcable> and if you're feeling hacky, and have a good reason, you can have non-pairs in there
<elliottcable> foo = (('a', 123), ('b', 456), (1,2,3), ('c', 789))
<elliottcable> or arbitrary other shit.
<micahjohnston> and i never got this part
<micahjohnston> :p
<Willox> So
<Willox> This isn't key-value
<elliottcable> not *inherently*, but there's a lot of assumptions that *treat* them as key-value.
<Willox> How does foo['b'] result with 456?
<elliottcable> So working with them *as if* they were key-value is very quick and easy; and in some situations, it's actually harder to *avoid* treating them that way.
<micahjohnston> yeah i don't get why this is useful elliottcable
<elliottcable> basically looks through the list in reverse-order, finding the first “pair-like” entry that has a “key-like” value matching 'c'
<elliottcable> reverse-order because we also treat the faux-dictionaries as versioning.
<Willox> pair-like being an entry of length 2
<Willox> and key-like being the first element in that entry?
<elliottcable> foo['c'] = 061
<elliottcable> # (('a', 123), ('b', 456), ('c', 789), ('c', 061)))
<elliottcable> er, extra paren
<elliottcable> since it iterates in reverse-order, it looks like c has changed.
<elliottcable> of course, you can explicitly grab the pair representing c, and *change*, if you don't want to versioned-update.
<micahjohnston> elliottcable: well if these are linked-lists it's easier to prepend and easier to search in forwards-order
<elliottcable> pair-like basically meaning “a length of two *or* three” with a first-value that is something like a label/string
<elliottcable> micahjohnston ⑊ it's actually stored as a reverse-linked-list :3
<elliottcable> in Paws.c it was, anyway
<Willox> Couldn't that end with some kind of memeory issue?
<micahjohnston> all right lol ;p
<purr> lol
<elliottcable> certainly.
<elliottcable> Memory management is completely undefined at the moment.
<elliottcable> But that's an interesting question in and of itself, because the langauge is intended to be distributed.
<elliottcable> anyway: all of this is entirely “ish.”
<elliottcable> By which I mean, the lowest-level implementation doesn't *depend* on it, by design.
<elliottcable> you could store “pairs” as a native type, instead of a very short list-thing.
<elliottcable> you could implement “assignment” to overwrite, not append.
<Willox> I'm liking the function calling and how it's async
<elliottcable> you could store metadata *about* an assignment, on the assignment-pair *with* the key and value.
<Willox> I'm really not sure about lists
* elliottcable laughs
<elliottcable> you'll get along well with micahjohnston, then
<purr> hah
<elliottcable> he's been telling me to get rid of this object-system for ages
<Willox> I'm not sure even if I understood it if it is a good idea
<elliottcable> On a related note:
<elliottcable> There was a short period of time where the plan was to dump the entire object system and just steal Lua's, because we couldn't agree on one we all liked.
<elliottcable> (mentioned since you like Lua.)
<Willox> Probably the best idea
<Willox> ;)
<elliottcable> I just typed `arguments.callee.caller.caller.caller.caller` in all seriousness.
<gkatsev> whhyyyyy
<elliottcable> it gets worse.
<gkatsev> does it?
<gkatsev> can it?
<elliottcable> I'm basically using the call-stack as a data-storage structure.
<gkatsev> >.<
<elliottcable> transferring data OOB into this function with it.
<Willox> all these new thoughts
<elliottcable> hm?
<Willox> I feel broken
<elliottcable> welcome to PLT.
<elliottcable> now go learn befunge.
<elliottcable> which is spectacularly uninteresting, theoretically.
<elliottcable> but still mind-bending.
<gkatsev> lol
<purr> lol
<Willox> but
<elliottcable> Also, learn prolog, haskell, and E.
<Willox> I kind of understand stacks I think, actually
<elliottcable> and a lisp
<Willox> At least Lua's stack
<elliottcable> what?
<elliottcable> oh, that was a JavaScript reference
<elliottcable> nothing to do with Paws or PLT.
<elliottcable> Why the fuck is the esoling mediawiki icon a bunch of limes?
<elliottcable> some inside joke I don't get. ಠ_ಠ
<Willox> 'the goal of being as difficult to compile as possible.'
<Willox> I think
<Willox> I'll pass
<elliottcable> sub(/o/,x=x*(x>0&&x-256)*x^/s/+/i/-/d/)
<elliottcable> seriously?
<Willox> Befunge looks pretty cool
<Willox> As in, I understand it
<Willox> oh god
<Willox> It's like a map
<elliottcable> yep
<elliottcable> it's a cute idea
<Willox> I still understand it
<Willox> I couldn't compile it though
<Willox> You'd want to have a monospace font for that
<Willox> I love how they print the entire string in the Hello World example
<elliottcable> does bf> still work>?
<elliottcable> bf> +++++++++++[>++++++++++<-]>.+.
<purr> elliottcable: 0 [111]. Output: "no"
<elliottcable> excellent!
<Willox> I'm actually amazed that I remember how stacks work
<Willox> The only time I have touched C is to mess with Lua's stack
<Willox> Can I use that?
<Willox> bf> ++.
<purr> Willox: [2]. Output: "\u0002"
<Willox> cool
<elliottcable> stacks? as in call-stacks, or stack-based-languages?
<Willox> elliottcable, whatever Befunge is
<elliottcable> you mean turing tarpits?
<elliottcable> ;)
<elliottcable> i.e. what micahjohnston calls Paws when he gets pissed.
<Willox> I don't know enough to say yes or no
<Willox> bf> ++++++++++++.
<purr> Willox: [12]. Output: "\f"
<Willox> bf> +++++++++++++++++++.
<purr> Willox: [19]. Output: "\u0013"
<Willox> Cba for all these plus
<Willox> why is brainfuck so long
<elliottcable> anyway, isn't befunge a cell-based language?
<elliottcable> great article
<Willox> bf> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
<purr> Willox: [110]. Output: "n"
<Willox> success
<elliottcable> look at Joy and uh, whatsit, Factor
<whitequark> also read http://prog21.dadgum.com/38.html
* elliottcable laughs
<whitequark> before you get too excited.
<Willox> I should've used a while
<elliottcable> whitequark ⑊ interesting.
<elliottcable> I completely understand what he's talking about.
<elliottcable> ♪ FUCKING BEST SONG
<purr> elliottcable: “Fucking Best Song Everrr”, Wallpaper: <http://tinysong.com/10yJ9>
<elliottcable> micahjohnston ⑊ Tell me you love Wallpaper.
<whitequark> elliottcable: avoiding puzzle aspect is one of my more important design goals in Foundry.
<whitequark> elliottcable: such as
<whitequark> there is a reason I'm not very excited about region-based memory management, a la rust
<Willox> bf> >+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ >+. >+. >++.++
<purr> Willox: 0 95 1 1 [4]. Output: "\u0001\u0001\u0002"
<Willox> good enough
<Willox> i lie
<Willox> I prefer Befunge
<elliottcable> bf>> [-]>[-]<>+++++++++++[<+++++++++++>-]<------.+.>++[<-->-]<-.+.>+++++++++[<--------->-]<+.>+++++++++[<+++++++++>-]<--------.>+++[<+++>-]<++.>++++++++[<-------->-]<------.
<elliottcable> ಠ_ಠ
<elliottcable> bf> [-]>[-]<>+++++++++++[<+++++++++++>-]<------.+.>++[<-->-]<-.+.>+++++++++[<--------->-]<+.>+++++++++[<+++++++++>-]<--------.>+++[<+++>-]<++.>++++++++[<-------->-]<------.
<purr> elliottcable: Timeout exceeded.
<Willox> gj
<elliottcable> GUH
<Willox> purr, l2bf
purr has quit [Remote host closed the connection]
<Willox> I need a Befunge compiler
purr has joined #elliottcable
<elliottcable> bf> [-]>[-]<>+++++++++++[<+++++++++++>-]<------.+.>++[<-->-]<-.+.>+++++++++[<--------->-]<+.>+++++++++[<+++++++++>-]<--------.>+++[<+++>-]<++.>++++++++[<-------->-]<------.
<purr> elliottcable: Timeout exceeded.
<elliottcable> really? REALLY.
<Willox> brainfuck must be a fast language
<Willox> What's that meant to be doing?
purr has quit [Remote host closed the connection]
purr has joined #elliottcable
<elliottcable> bf> [-]>[-]<>+++++++++++[<+++++++++++>-]<------.+.>++[<-->-]<-.+.>+++++++++[<--------->-]<+.>+++++++++[<+++++++++>-]<--------.>+++[<+++>-]<++.>++++++++[<-------->-]<------.
<purr> elliottcable: Timeout exceeded.
<Willox> No!
<elliottcable> I give up.
<elliottcable> It's supposed to print “stop it.”
<elliottcable> -stop it
<Willox> All of these are Befunge -> C
<elliottcable> -find stop
<purr> elliottcable: This conversation is going nowhere. Just stop.
<elliottcable> ... or that
<elliottcable> lol purr.
<Willox> I wonder if anybody has made a debugger to step-through Befunge
<Willox> That'd look awesome
<Willox> of course
<elliottcable> programmers.
<Willox> <- windows desktop
<elliottcable> “Bang. Descriptivism.”
<elliottcable> Willox ⑊ wat? lies.
<Willox> I'm on a windows desktop
<Willox> http://willox.co/files/uploads/23-47-35.png still, elliottcable
<Willox> I need to fix this right now
<elliottcable> LOL
<elliottcable> why are you on Windows!?
<Willox> I like to play games :(
<elliottcable> but you're a dev, no?
<elliottcable> o_O
<Nuck> Linux does that too, at least mine is
<Willox> yes
<Willox> and it hurts
<elliottcable> wow.
<Nuck> Not for that character, but for others
<Willox> I'd actually like a mac
<gkatsev> dualboot
<Willox> Any old linux desktop would do
<gkatsev> also, steam for linux
<Willox> But I want to keep this PC on windows
<gkatsev> dualboot
<Willox> I've never had a good experience with linux desktops
<elliottcable> OS X <3
<elliottcable> Time for some Glee renditions.
<elliottcable> ♪ Empire State of Mind, Glee
<purr> elliottcable: “Empire State of Mind”, Glee Cast: <http://tinysong.com/17APO>
<elliottcable> bum bum bummmmm
<elliottcable> (ba! ba ba ba, ba! ba, ba. ba ba ba, ba!)
<elliottcable> Cruisin' down A-street, off-white Lexus,
* elliottcable grins
<Willox> Surprisingly enough, I can't afford Apple products
<Nuck> I <3 my loonix
<Nuck> (on a Mac, for max irony)
<Willox> If I wanted a good 2nd desktop I'd just need to grab a PSU
<Willox> recent psu broke
<Willox> I kinda broke its warranty too
<elliottcable> ♪ Young Girl, Glee
<purr> elliottcable: “Don't Stand So Close to Me / Young Girl”, Glee Cast: <http://tinysong.com/JNba>
<alexgordon> I'm using xubuntu... it's not bad
<Willox> I'd want to run debian I guess
<gkatsev> ubuntu+awesome
<alexgordon> it's debian for retards!
<elliottcable> THIS SONG. OH MY GOD.
<elliottcable> ubuntu, ick
<elliottcable> Arch + xmonad
<elliottcable> ;)
<alexgordon> lol arch
<elliottcable> -g ArchLinux-AMIs
<purr> elliottcable: Arch Linux AMIs for Amazon Web Services - ArchWiki <https://wiki.archlinux.org/index.php/Arch_Linux_AMIs_for_Amazon_Web_Services>
<elliottcable> wat
<alexgordon> tell me when the arch community ships a non-broken python
<gkatsev> I should probably update to 13.04
yorick has quit [Remote host closed the connection]
<whitequark> no python is non-broken.
<whitequark> because, duh, python.
<Willox> o god
<Willox> I just realised
<Willox> All of my linux desktop experience is bad because
<Willox> 1. bad hardware
<gkatsev> yes
<Willox> 2. Xfce
<elliottcable> Xfce D:
<whitequark> no, linux desktop just sucks (says a man who uses it for last six years or so)
<elliottcable> run away
<elliottcable> run awa, bravely
<elliottcable> -find run away
<purr> elliottcable: Could not find `run away`.
<elliottcable> -learn bravely = RUN AWAY D:
<purr> elliottcable: Learned `bravely`.
<Willox> Actually
<Willox> I think it was LXDE
<Willox> I hated it either way :V
<alexgordon> pfft, xubuntu is not terrible
<elliottcable> OS X desktop, linux headless work-machine, remotely.
<gkatsev> yeah, linux desktop is kind of bad. But it works. surprisingly well.
<elliottcable> ♪ Toxic, Glee
<purr> elliottcable: “Toxic”, Glee Cast: <http://tinysong.com/XwF6>
<Willox> I don't like Gnome though
<Willox> I'd have a hard time
<alexgordon> I tried devving on windows though. I didn't last long
<Willox> alexgordon, I guess this is why I like scripting languages
<gkatsev> I actually don't mind Unity that much, though, some of the defaults are really annoying.
<Willox> They work on Windows just as well :v
<alexgordon> ...
<Willox> near-enough
<Willox> You don't have to do anything different
<Nuck> What kind of fool uses a normal DE? Real men use a Tiling WM
<gkatsev> no such thing as scripting languages. Just languages.
<alexgordon> lol unless you do any of the things I do
<Nuck> Plus AwesomeWM is scripted in Lua~
<Willox> You know what I mean
<alexgordon> does windows have a /dev/random?
<elliottcable> Awesome is great
<gkatsev> Nuck: I'm using awesome right now
<elliottcable> I've got some themes for it on my GitHub iirc
<elliottcable> but I was told xmonad is better
<Nuck> elliottcable, gkatsev: Highfive~
<elliottcable> haven't had time to try it
<whitequark> awesome sucks, use i3 instead
<Nuck> I used i3, but I do prefer Awesome
<gkatsev> also, unity+compiz has a 'grid' thing which is like half way to a tiling wm
<whitequark> it's like awesome but it is already configured well
<elliottcable> lol
<Nuck> Yeah i3 has better defaults, but I'd say Awesome is better for configurability
<gkatsev> I used xmonad but back then it had *terrible* support for multiple monitors.
<Willox> When something advertises itself like that
<Willox> you can't say no
<gkatsev> awesome is really great with multiple monitos
<gkatsev> monitors
<gkatsev> also, I dont know haskell at all
<gkatsev> and lua is practically js.
<Nuck> Yeah
<Nuck> I'm learning Lua slowly
<elliottcable> Here's my desktop.
<elliottcable> Videos are a couple'uh years old now, I think.
<gkatsev> I really need to update my luarc, I've been basically using the stock one for the past few months
<Willox> awesome is only named awesome so that they can have the word "awesome" in their site bolded everywhere
<Nuck> Willox: I think that's probably accurate, yes.
<gkatsev> Willox: awesome is named awesome because barney stinson says awesome a lot
<alexgordon> lol need more screens elliottcable
<Nuck> Yes.
<elliottcable> There's also, relevantly,
<elliottcable> Four T221s.
<alexgordon> THAT is more like it
<Nuck> Any WM named as a HIMYM referene is instantly legen, wait for it
<Nuck> dary
<elliottcable> That's a desktop of 9,600×3,840px.
<Willox> That's pretty artsy
<gkatsev> elliottcable: why are you not using your t221?
<elliottcable> Willox ⑊ I was an amateur photographer at the time.
<Willox> I think it actually looks good
<alexgordon> this has to be the geekiest thing I've ever seen http://www.flickr.com/photos/elliottcable/4544148235/in/set-72157623788458531
<elliottcable> gkatsev ⑊ they weren't mine; also, a refresh rate of like 14hz is unbearable for the real world.
<gkatsev> lol, fine
<elliottcable> alexgordon ⑊ That's not me, to be clear.
<alexgordon> elliottcable: I know, too much hair
<alexgordon> also you are a dog
<Willox> jesus
<elliottcable> my hair has been longer than that for nearly a year, up until a month or two ago.
<Willox> how do you read that
<elliottcable> Willox ⑊ lol, I have spectacular vision. I work at 8px Menlo on a Retina, and 10px on a 27" non-retina.
<elliottcable> freedom sticks, lol.
<Willox> 21.5"
<Willox> 10px
<Nuck> Wait
<Willox> You make me feel poor
<Nuck> alexgordon: You called *that* a lot of hair?
<Nuck> Holy shit man
<Nuck> Have you seen me?
<alexgordon> Nuck: it is for elliottcable
<alexgordon> Nuck: have you seen ME?
<alexgordon> I can out hair you, any day
<gkatsev> Willox: no, it's just that ec is rich
<Nuck> My hair is down to my shoulders
<elliottcable> What we know about alexgordon:
<elliottcable> - long hair
<elliottcable> - british
<elliottcable> -
<elliottcable> -
<elliottcable> -
<elliottcable> -
<alexgordon> elliottcable: rhombus penis
<Nuck> alexgordon: Pics or gtfo. I will battle you with hair.
<alexgordon> Nuck: nah I had my hair cut recently
<alexgordon> so not really ANY day
<alexgordon> some days
<gkatsev> elliottcable: how can you read that? I mean, I probably could but I just find a nice 15px consolas or something so much easier to read.
<elliottcable> I can't *concentrate* if I can't see everything.
<alexgordon> still, the shortest it's been is longer than the longest elliottcable's hair has been
<elliottcable> I can't fathom how people code when they can't fit the whole document on their screen.
<elliottcable> Or worse, the entire function. D:
<gkatsev> all my functions always fit on my screen
<alexgordon> elliottcable: not used java?
<Nuck> I refuse to write a function longer than 1.5 screens in length, and even then I won't do it except in rare cases
<elliottcable> only for a uni class a few years back.
<Nuck> 0.5 screens is a soft limit for me
<elliottcable> I miss my red phone )'=
Willox has left #elliottcable ["Leaving"]
<elliottcable> Willox ⑊ Related: http://instagram.com/p/QprRfWMpaK
<whitequark> with my setup, I only have 32 lines on my screen at any single time
<whitequark> or even 28...
Willox has joined #elliottcable
<Willox> oops
<elliottcable> Willox ⑊ Related: http://instagram.com/p/QprRfWMpaK
<Nuck> Right now I've got about 37 in gvim
<whitequark> so. it depends on your font.
<Willox> That focus
<Nuck> And that's with my super-tall loose font
<alexgordon> lol @ "it'll buff out"
<Willox> Issue is
<Willox> If you want a mac without a screen it feels like you have to pay more
<alexgordon> mac mini?
<elliottcable> Mac Mini <3
<Willox> Are they good?
<elliottcable> get the server ones, no drive
<elliottcable> and yeah they're excellent.
<alexgordon> Willox: they're Apple
<elliottcable> Not super-powerful, but probably way better than whatever you're using now, unfortunately
<Willox> um
<elliottcable> Definitely get an SSD.
<Nuck> I love my MacBook, though I really wannaa upgrade to a retina one
<Willox> Why do you think that?
<elliottcable> Nuck ⑊ Buy my old one so I can justify buying a 13-inch!
<elliottcable> Willox ⑊ Didn't you say it was crappy?
<elliottcable> oh, wait, no, you said you used Windows
<elliottcable> sorry, I conflate the two easily
<Willox> I put a lot of money in to my computer :v
<Willox> That's ok
<Willox> What IS OS X Server?
<elliottcable> anyway: important point being, it's OS X, cheap-ish, and waaaaay more than powerful enough for dev
<gkatsev> so just dual-boot your computer?
<Willox> What's the difference
<elliottcable> especially if you get an SSD and fast network-tap
<Willox> It comes with an extra T HDD
<Willox> That's all I see
<elliottcable> nothing that matters to you
<elliottcable> yeah the only hardware difference is no optical drive, and a second disk drive instead
<elliottcable> and who gives a shit about optical in the teens?
<Willox> my current optical drive is unplugged
<Willox> I was too lazy to install my new ssd with it's own cable
<elliottcable> 'xactly
<elliottcable> software-wise, OS X “server” just comes with an extra application called Server
<elliottcable> which is actually pretty damn neat, but nothing you need concern yourself with right now
<Willox> So software difference is zero near-enough?
<elliottcable> yepyep
<elliottcable> you can turn any OS X box into an OS X “Server” instance by downloading Server.app from the App Store.
<elliottcable> so, yes, irrelevant, except you get Server for free.
<Willox> The only difference I see is an extra 1T of space for 200 quid
<Willox> in that case
<Nuck> elliottcable: Wait, you want a 13 incher?
<Nuck> Why so small? o_O
<elliottcable> I love adorably small computers
<elliottcable> and it's a Retina. It's got a beefy-enough video card to power two damn 27"s.
<elliottcable> I can plug it in if I need space.
<Nuck> I'm on a 13" MacBook Pro non-retina, I want a 15" retina
<elliottcable> But I can carry it around like an iPad.
<elliottcable> Perfect. Buy my current one.
<Nuck> haha no, I don't have money right now
<elliottcable> then buy it with bitcoin
<elliottcable> which you can get by selling your body
<Nuck> I'm probably gonna be buying in ... 2 years?
<Nuck> Maybe 1
<Willox> I really don't see the plus of going for the server model
<gkatsev> extra HDD/SSD
<Nuck> My current goal is a 23"-27" IPS LCD
<Willox> Other than easily being able to install an SSD
<elliottcable> buy it *with* an SSD
<Nuck> >implying Apple won't charge you 5x market price on an SSD
<elliottcable> or Apple's Fusion drive, which basically means it comes with a 7,400 drive and an SSD in a CoreStorage LVG
<gkatsev> Willox: macs aren't really user-servicable...
<elliottcable> the Minis are relatively so, actually
<elliottcable> at least for the drives and RAM, last I checked.
<Nuck> The Minis and non-retina Macs are both servicable
<elliottcable> got one sitting next to me on top of my Pegasus
<Nuck> And pre-latest gen of iMacs
<elliottcable> the Retina and Airs are definitely not
<Willox> I don't know
<elliottcable> but that makes sense, because they onboarded *everything*
<Willox> £200 doesn't seem worth being able to have an SSD
<Willox> Let alone the price added FOR the ssd
<Nuck> Willox: Wait, hae you never used an SSD?
<elliottcable> Nuck ⑊ 20 BTC for my laptop. :D
<Willox> Nuck, I have 3
<Nuck> We're talking huge improvements in speed. Compiling the Linux kernel in under a minute kind of speed.
<elliottcable> 2.7 15"
<Nuck> elliottcable: lelnope
<elliottcable> Willox ⑊ er, you *can* have an SSD either way
<elliottcable> the “server” vox sells for 200$ more because it comes with a second 1TB drive
<Willox> buy ssd from apple
<Willox> suddenly server costs £1k
<elliottcable> 1.2k?
<elliottcable> their 256gb SSD adds 200$ to the price alone
<Willox> I'm in britain
<elliottcable> so buy an offsite SSD and replace the second drive
<Willox> so GBP
<elliottcable> CoreStorage-LVG the two together yourself
<Willox> 850
<Willox> + price of SSD
<elliottcable> actually, hm
* elliottcable ponders
<elliottcable> I might be willing to sell my Mini. Just realized how little I used it.
<Nuck> inb4 10BTC
<elliottcable> 10lolno
<Nuck> 15?
<elliottcable> how insane do you actually think I am? D:
<Nuck> Do you want the honest answer to that?
<elliottcable> yes.
<elliottcable> I asked. Fuckass
<Nuck> elliottcable: Gary Busey.
<Willox> Issue with me getting a mac is that it's gonna become outdated :(
<elliottcable> I've got a 2GHz, 8GB RAM and 256SSD
<elliottcable> no optical drive, no second drive currently in 'er
<Willox> I could just buy a PSU
<Willox> and have a linux desktop :v
<elliottcable> http://ell.io/i5xdT
<elliottcable> do me ... 8BTC
<Willox> I'm not buying that from whatever odd country you're in :v
<Nuck> Really, $1044?
<elliottcable> United States?
<Nuck> Willox: Try Arch Linux, we're awesome.
<Willox> isn't that like
<Willox> the deep end
<elliottcable> Arch <3
<Nuck> Yus.
<Willox> I could probably manage that
<Nuck> That's the deep end, but who doesn't love diving headfirst~
<Willox> Arch Linux looks rich
<Willox> They get too many donations
<Nuck> haha
<Willox> Compare its site to debian's
<Nuck> Actually now that I think about it Arch really does have the best site design
<Nuck> Dude, compare it to Gentoo's site
<Willox> ubuntu is just over budgeted
<Willox> Gentoo's site is basically PHP's but brighter
<Nuck> pfthahahahaha
<Nuck> Holy shit I never noticed that
<Willox> and older
<Willox> Arch does have a nice site though
<elliottcable> Arch, <3 so much
<elliottcable> speaking as a person you should listen to about everything because he's smart ... use Arch.
<Nuck> Best community in the Linux world
<elliottcable> Linux as your primary desktop sucks balls; get a Mac ... but use Arch for everything else.
<Nuck> #archlinux is actually helpful
<elliottcable> yes, the community is Excellent™
<Nuck> elliottcable: I actually use Linux as my primary these days
<Willox> elliottcable, I'll probably just have a second desktop running arch
<elliottcable> well #archlinux is usually sarcastic and full of assholes, but they're *helpful* assholes.
<Willox> and leave windows on this
<Nuck> elliottcable: Aren't those the best channels? :D
<Willox> Never changing a PSU's fan again
<elliottcable> <3 #elliottcable
<Nuck> TBH, I sorta got tired of OS X, and started using Arch more
<Willox> As long as I can use sublime :c
<Nuck> Once I got Awesome installed and configured, it started to feel homelier.
<Nuck> Sublime runs on all platforms.
<Nuck> I used it before I vimmed.
<Willox> I don't think I'll ever get in to vim
<Nuck> I said the same thing 2 years ago.
<Willox> I'm scared now
<Willox> vim doesn't look nice though, surely
<Nuck> It's just something that happens with time.
<elliottcable> vim <3
<Nuck> Eventually everybody switches to vim.
<elliottcable> vim is beautiful on OS X
<Nuck> It really is
<Willox> ogod
<Nuck> Gvim is kinda shit, but I still use it because full=color
<elliottcable> http://ell.io/iF4XK
<Nuck> ha dat powerline
<elliottcable> dat powerline, indeed.
<Nuck> elliottcable: Do you use powerline?
<Willox> I like Monokai
<elliottcable> nope
<elliottcable> but it's beautiful as fuck
<elliottcable> -g solzarized
<purr> elliottcable: README - Ethan Schoonover <http://ethanschoonover.com/solarized/vim-colors-solarized>
<Nuck> I love me some Monokai, but I don't use it anymore
<elliottcable> bitches.
<Nuck> Monokai is my go-to dark theme
<Nuck> But nowadays I've got a full light theme
<Willox> well
<Willox> I'll look in to replacing my PSU
<whitequark> <3 Tomorrow Bright
<whitequark> *Tomorrow Night Bright
* whitequark snaps purr
<Nuck> http://a.pomf.se/9Bv2.png This is what it looks like right now ish
<Nuck> (that was a setup from a few days ago)
<Willox> Are you japanese or something?
<Nuck> Hm?
<Willox> Pacman is even there
<Nuck> Oh, the japanese text?
<Nuck> Nah, I'm just a huge weeaboo
<whitequark> that's just numerals
<Nuck> And more than that I didn't like numbering the workspaces, or naming them, so I went with moonrunes
<elliottcable> he's a *huge* weaboo
<Nuck> ^ trufax
<Willox> scary
<elliottcable> like, it's revolting
<elliottcable> love me some arch though.
<Willox> Does chromium work nice?
<Nuck> I've watched over 1300 episodes of anime :D
<elliottcable> ChromeOS!
<Nuck> haha yeah Chrome works
<Willox> I have a Chromebook
<elliottcable> I can't wait until I can cry ChromeOS as my desktop
<elliottcable> considering ordering a Pixel
<Willox> Arm Chromebook, specifically
<Nuck> Oddly, I've been using Firefox since switching to Linux
<Willox> I don't like firefox to be honest
<elliottcable> -fancy order me a Chromebook
<Willox> I used to use it
<elliottcable> ugh
<Nuck> Willox: Same here.
<elliottcable> somebody hook my fancyhands up to purr
<Willox> Then chrome came about
<Willox> So I joined the botnet ;)
<elliottcable> Safari <3
<Nuck> I used to use Firefox until Firefox 4, then switched to Chrome
<Willox> Nuck, pretty much same with me
<elliottcable> hate firefox so much ಠ_ಠ
<elliottcable> <3 Safari
<Nuck> I used Chrome on Windows, on Linux, and on Mac
<elliottcable> ↑ *
<elliottcable> purr what's wrong with you
<elliottcable> <3 Safari
<Nuck> But then I went to Arch Linux and for some reason Chrome jsut felt wrong
<elliottcable> PURR
<elliottcable> WAKE UP
<elliottcable> -purr
* purr
<Nuck> -start
<Nuck> <3 Arch Linux
<purr> Let it be known that Nuck hearts Arch Linux.
<elliottcable> uzbl, dumbasses
<Willox> ooo
<Willox> <3 Willox
<purr> Let it be known that Willox is an egotistical prick.
<elliottcable> uzbl on Arch, Safari on OS X
<Willox> YES
<Willox> You weren't lying, elliottcable
* elliottcable laughs
<elliottcable> not even a little
<elliottcable> ♪ 3, Glee
<purr> elliottcable: “Rumor Has It/Someone Like You”, Glee Cast: <http://tinysong.com/LCxZ>
<elliottcable> ... not that. But whatever.
<Willox> That was the main reason I asked what your channel was
<elliottcable> -song 3, Glee
<purr> elliottcable: “Rumor Has It/Someone Like You”, Glee Cast: <http://tinysong.com/LCxZ>, “Hit Me With Your Best Shot/One Way Or Another”, Glee Cast: <http://tinysong.com/N4js>, “We Found Love”, Glee Cast: <http://tinysong.com/U4nA>
<elliottcable> -song Three, Glee
<purr> elliottcable: “Rumour Has It / Someone Like You”, Glee: <http://tinysong.com/N8hf>, “Human Nature”, Glee Cast: <http://tinysong.com/XZMW>, “Bamboleo/Hero”, Glee: <http://tinysong.com/128Tk>
<elliottcable> o_O
<elliottcable> seriously?
<Willox> I wanted to know if it was true!
<Nuck> God I wish I could tweak the 256colors on my terminal
<elliottcable> there we go
<Willox> hm
<elliottcable> http://ell.io/iqOuq
<Willox> I would save a lot of money by removing the gpu of my second desktop
<Willox> I guess that won't really effect arch?
<Nuck> Implying Linux doesn't use GPU
<Willox> Well
<Willox> I wouldn't be using anything gpu intensive
<Willox> I'll just not run both desktops at once :v
<elliottcable> -best omglog
<purr> OMGLOG IS BESTLOG
<elliottcable> http://ell.io/iE3mi
<Nuck> Willox: Do you have power consumption issues or something? >_>
<Willox> well
<Willox> I cost my mum quite a lot of money in power as it is now
<Nuck> ah fun
<Willox> I'm 16
<Willox> No money
<Willox> I can't pay her or whatever
<Nuck> Yeah, I'm only a minor drain because I've just a Atom and a laptop
<Willox> elliottcable, what have you got me listening to?
<elliottcable> :D
<elliottcable> ♪ Gangnam Style, Glee
<purr> elliottcable: “Gangnam Style”, Glee Cast: <http://tinysong.com/19DvN>
<Willox> I wonder if they know what they're singing
<Willox> If I remove the gpu, I have a PSU I can use anyway!
<elliottcable> okay, realtalk. None of this discussion is about penises, nor is it making anybody here a better programmer.
<elliottcable> No penises, no programming, then I don't want it in my channel.
<elliottcable> Moratorium on hardware discussion or arguments.
<elliottcable> on to useful topics:
<Willox> I could include a penis with my PSU
<elliottcable> so, Willox, you wanted a project, yes?
<Willox> sure
<elliottcable> go write a befunge compiler. ;)
<elliottcable> optimizing befunge compiler? optimizing befunge compiler.
<elliottcable> :D
<Willox> Maybe I'll start with the compiler
<Willox> Or
<Nuck> But you have to write the compiler in Befunge too
<elliottcable> yep.
<Willox> So
<elliottcable> A self-hosting Befunge compiler.
<Nuck> Exactly.
<Willox> Write a compiler in Befunge
<Nuck> Anyone up for porting LLVM to Befunge?
<Willox> To compile befunge
<Nuck> Exactly, Willox
<Willox> Like I have the skill for that
<elliottcable> also, it has to be a polyglot with brainfuck.
<elliottcable> and in brainfuck, it has to be a self-hosting brainfuck compiler.
<elliottcable> That may just be the single most difficult and pointless programming project possible. Wow.
<elliottcable> I feel acheived just for having *conceived* it.
<Willox> Befunge Interpreter in Lua is a go
<Nuck> Wait, programming a brainfuck compiler in befunge, using a befunge compiler to compile the brainfuck compiler which then compiles a brainfuck compiler in itself?
<Nuck> This sounds like a genius plan.
<Nuck> Shall we try to get OFTN to make it?
<elliottcable> nono
<alexgordon> yes
<elliottcable> you misunderstand.
<Nuck> It's about as useful as most of their projects thus far
<Nuck> :DDDDDDD
<elliottcable> Polyglot, in that the source-code has to work whether executed as befunge *or* brainfuck.
<elliottcable> Have you never written a polyglot before? D:
<alexgordon> if this doesn't get on HN
<Nuck> alexgordon: No lisp
<elliottcable> -find oftn
<purr> elliottcable: Found: source, paws viewer, oftnisbest, and forum
<Nuck> Thus they din't care
<elliottcable> -oftnisbest
<purr> elliottcable: ΩF:∅ is BEST∅
<elliottcable> lolwat
<purr> lol
<Nuck> -paws viewer
<purr> Nuck: Paws source code viewer from PawsMonkey by eboyjr: <http://eboyjr.oftn.org:8080/files/source/paws-monkey/demo/>
<elliottcable> -forum
<elliottcable> wat
<alexgordon> din't
<elliottcable> -factoid forum
<purr> elliottcable: Popularity: 1, last changed by: <unknown>, <unknown time> ago
<alexgordon> that's a new word
<elliottcable> -delete forum
<elliottcable> -forum
<elliottcable> I CAN'T GET IT TO GO AWAY D:
<elliottcable> -learn forum = ANYTHING ELSE D:
<Nuck> -kick elliottcable
<purr> elliottcable: Learned `forum`.
<Nuck> :<
<elliottcable> phew.
<Willox> I'm actually gonna write a befunge interpreter though :v
<Nuck> Write it in brainfuck
<Willox> In Lua
<elliottcable> Let's build a language that is *both* a turing tarpit *and* PLT-orientedly interesting!
<Nuck> Then write a brainfuck to lua transpiler
<elliottcable> We can call it the Curing Carpet.
<Nuck> People who progam in it will be called Carpetmunchers
<elliottcable> indeed.
<elliottcable> oh man, now I'm hungry
<elliottcable> -find benevolent
<purr> elliottcable: Could not find `benevolent`.
<Nuck> Rubyists, Perllists, and Carpetmunchers
<elliottcable> Perlistas*
<elliottcable> and then JavaScript programmers
<elliottcable> which we call “fucktards.”
<elliottcable> <3
<gkatsev> heey
* elliottcable hugs gkatsev
<elliottcable> I am both hungry, and horny.
<elliottcable> Can't decide which to satisfy first.
<Nuck> holy shit
<Nuck> I just had a genius idea
alexgordon has quit [Quit: Computer has gone to sleep.]
<Nuck> Let's combine Befunge with JS
<Nuck> It'll be like JS but you write it in any direction at any location
<elliottcable> Shit, my bitcoin is worth a lot of money now D:
<elliottcable> bitcoin's slowly climbing again.
<elliottcable> -how's the bitcoin doing?
<Nuck> And then write a two-dimensional goto after each item
<Nuck> elliottcable: Interestingly the Donchain channel is growing but in the wrong direction
<Willox> craziest bot I've ever seen
<Willox> gotta say
<Nuck> haha
* Nuck hugs purr
* purr r
<Nuck> purr is our little... Team mascot
<Nuck> She's a kawaii catgirl
<elliottcable> no.
<elliottcable> Purr is not a her. She's a he.
<purr> elliottcable: ... a *his*. *he*'s
<elliottcable> ... close enough
* elliottcable pats purr genially
* purr rrrr
<Nuck> purr is a girl. I reject your reality and substitute my own.