ELLIOTTCABLE changed the topic of #elliottcable to: #ELLIOTTCABLE: Puppy paws patter placidly through the pale passageways ...
<ec> hi, alexgordon
<ec> sorry. Shit Happened™.
<ec> /=
<alexgordon> ec: your array indicies are messing with my brain
<ec> I know. I'm sorry. I might rationale *that*, as well, so the specification has a single “language” to talk about indicies.
<alexgordon> I can live with 1-based indexing. I can live with 0-based indexing. But the combination leads to communication difficulties
<ec> like, “always use numbers to talk about indices, and always use words to talk about elements”
<alexgordon> can we just use numbers everywhere
<ec> i.e. “first, second, third” when treating things as 1-indexed / ordinal,
<ec> and “0, 1, 2” when referring to index
<alexgordon> if member[0] is the zeroth element, then member[1] is the first element and member[2] is the second element
<alexgordon> then it's unambiguous
<ec> yep!
<ec> oh, wait
<ec> that's the opposite of what I do v.v
<alexgordon> "first" on its own could either mean member[0] or member[1]
<alexgordon> lol
<ec> hrm.
<ec> yeah, I'll work it out in some way, and then document clearly the choice.
<ec> anyway.
* alexgordon is working on FastPaws
<alexgordon> bitmaps!
<ec> going through and re-writing a few things in this manner right now
<alexgordon> spinlocks!
<ec> wat
<alexgordon> so by "There is some extant value in the second slot of member's own members" you must mean members[1]
<ec> yes.
<alexgordon> k
<ec> every time in the document I use the words “first, second, third”
<ec> *of members*
<ec> “first of members” = members[0]
<ec> etc
<alexgordon> this is very confusing
<alexgordon> because you also use "zeroth"
<alexgordon> so zero = one
<ec> yes
<ec> “zeroth” was not intended as a part of that words
<ec> i.e. it doesn't go zeroth, first, second
<ec> which, yes, is retarded
<ec> just explaining so you can understand what you're reading *right now*, before I've fixed it
<ec> “zeroth” was my new name for the naughty.
<alexgordon> yeah yeah
<ec> so “zeroth” == “first,” but only when the first element is *left empty* for some reason.
* alexgordon scratches head
* ec headdesks
<ec> least clear thing ever.
<ec> fixing now.
<alexgordon> the problem of list length and empty elements in lists is also tripping me up
<alexgordon> using json notation: [] vs [null]
<alexgordon> or [null] vs [null, null]
<alexgordon> ec: what do I do if trying to look something up *and the list just isn't long enough*?
<alexgordon> is that an error?
<alexgordon> should I just skip it
<alexgordon> treat it as null?
<alexgordon> (i.e. empty)
<alexgordon> return no result?
chris-tina has quit [Ping timeout: 240 seconds]
<ec> not an error,
<ec> lists are implicitly infinitely long, full of nulls.
<ec> if you'd like to think of it that way.
<alexgordon> alright
<ec> given foo = [null, null, 1, 2, 3, null]
<alexgordon> that makes things easier
<ec> the effect of foo[0] is identical to foo[5] is identical to foo[999]
<ec> at some point, there will have to be specification for a length() procedure; but there's not right now, so it doesn't matter.
<ec> and when there are, I will make those decisions and document the exact operation well. (=
<ec> k, brb
chris-tina has joined #elliottcable
<ec> hi, alexgordon
<alexgordon> hi ec
<ec> am back for ~30 mins
<ec> Chelsea is demanding me
<ec> hmmmm
<ec> 'k, fixing index wording everywhere, or everywhere I can find it
eligrey has joined #elliottcable
<ec> hi
<ec> Going back to calling “zeroth” noughty, for now.
<ec> to differentiate it from the already-confusing indexing stuff. For now.
chellio has joined #elliottcable
chris-tina has quit [Quit: Ex-Chat]
* alexgordon waves to chellio
* chellio waves to alexgordon
<chellio> I'm sorry for stealing ELLIOTTCABLE.
<chellio> All the time.
<chellio> Actually.
<chellio> No I'm not.
<chellio> NOPE.
<alexgordon> chellio: it's ok, I needed a break ;)
<ec> alexgordon: COFFEE BREAK OVER. BACK ON YOUR HEADS
<chellio> NO>
<alexgordon> lol
<alexgordon> -spec
<purr> alexgordon: Paws' half-arsed Version 10 specification <http://ell.io/ihQzs>
<alexgordon> ec: so I think my C implementation is pretty much up to date
<ec> that's cooooool
<ec> there's nothing interesting yet, so that's unsurprising ;D
<ec> but luckily I *think* I've walked us through this in a way that means you won't have any huge surprises in tacking the reactor on top of everything you have right now
<alexgordon> yeah
<ec> alexgordon: okay, look under look-up algo
<alexgordon> ec: err don't you mean slot [1]
<ec> trying to work out how to word this with 0/1/2 zeroth/first/second
<ec> yes. ddis
<alexgordon> if slot [0] is the noughty
<ec> FUCK IT
<ec> scroll up.
<alexgordon> haha, the nuclear option ;)
<ec> ?
<alexgordon> don't worry :P
<ec> ugh no
<ec> that's more confusing
<ec> “first” should be the first item in the list, index 0, in this spec.
<ec> it's only at the *abstracted* level of Paws that we begin to treat index 1 as the first item in the list.
<alexgordon> ec: just use my approach. [0] is the noughty, [1] is the element after, [2] is the element after that, etc
<alexgordon> then it's intuitive
<ec> [0] == first == noughty
<ec> need to be able to use prose for this
<alexgordon> don't use words at all
<ec> don't want to dump `[1]` in prose
<alexgordon> you're a programmer dammit
<alexgordon> well then
<alexgordon> 0th
<alexgordon> 1st
<alexgordon> 2nd
<ec> nope
<ec> solved
<alexgordon> oh god
<alexgordon> that's even worse
<ec> deal with it.
<ec> MOVING ON.
<alexgordon> it's still ambiguous
<ec> it's the most clear, *in context*.
<alexgordon> so now to refer to the first real object you use "second"
<alexgordon> how the fuck does that make sense
<ec> If I say something “is the first member” of something, that usually means the first item in the storage
<ec> because Paws, and one-indexing.
<alexgordon> but this is 2 indexing
<ec> the entire point is to *hilight* the fact that the *second* element of the storage, is the “first” element lib-side
<alexgordon> yeah but it makes more sense if you say
<alexgordon> "libside is 1-indexed"
<ec> yes, index-1
<ec> members[1]-indexed
<alexgordon> yes but you're starting at 2
<alexgordon> the first libside element is "second"
<ec> not worth arguing over. Best solution here is just to pick something, document it if it's mildly unclear, and be *consistent*.
<alexgordon> if you say it's "first" then you still have "zeroth" for the noughty
<alexgordon> lol whatever
<alexgordon> micahjohnston will explain how this is a retarded convention to adopt
<ec> okay
<ec> cleared up everywhere
<ec> alexgordon: Basically, everywhere *except* the ‘look-up algorithm’ section, it makes complete sense.
<alexgordon> lol
<ec> implementation-wise, i.e. from your point of view as implementer, Paws is zero-indexed.
<alexgordon> I've lost the will the argue this
<ec> That section is weird *precisely because* it's mapping the possibility of a one-indexed language, at a higher level of abstraction, down *onto* a zero-indexed implementation.
<ec> okay, good :D
<ec> next step.
<ec> 'k
<alexgordon> ec: btw, just checking, the lookup algorithm treats the noughty the same as any other element, right?
<ec> Symbol->content; -> Symbol->name
<ec> good idea, done
<ec> alexgordon: excellent question. Yes, it does.
<alexgordon> yay an excellent question
<ec> This is utilized in my Core design, because we always “wrap” the noughty in an underscore pair
<alexgordon> GOLD STAR
<ec> waaaaaaaaaaaaaaaaay back when, the noughty was called the underobject.
<ec> so that means you can do a lookup like this:
<ec> “foo _ is.cool”
<ec> to look-up “is.cool” in the metadata of “foo”
<ec> because it actually looks like this:
<ec> ((,'_', <metaobject>), …)
<ec> make sense?
<alexgordon> not one iota
<alexgordon> oh
<alexgordon> right
<alexgordon> dots are for word separation
<alexgordon> always catches me out
<ec> sorry D:
<alexgordon> ec: yeah makes sense
<ec> cool cool
<ec> cool
<ec> where were we!
<alexgordon> calling
<ec> <ec> As you've probably surmised by now, “running code” (which until I come up with a better word, I will call the ‘realization’ of code), basically boils down to processing some series of these ‘combinations.’
<ec> <ec> … which I guess, is our first topic: the queue.
<ec> <ec> so mostly, what we have to talk about next, is going to be how we *order* the realization of a queue of combinations.
<ec> so.
<ec> nah.
<ec> lied.
<ec> another sub-topic we skipped over:
<ec> advancement.
<alexgordon> mmm
<ec> FUCK
<ec> I'm re-designing while trying to explain. I suck.
<ec> the design right here around advancement was previously very tightly-coupled and complex, and thus difficult to explain or spec …
<ec> … now, I'm trying to untangle it, to explain it to you, while writing the untangled version into the spec.
<ec> and It Is Hard™.
<alexgordon> lol
<alexgordon> well take your time
<ec> ugh boring
<ec> NO
<ec> FAST
<ec> RIGHT HERE RIGHT NOW YOUUUU
<ec> ELLIOTT: YOU ARE NOT GOING TO DOCUMENT STACK-HANDLING INSIDE ADVANCEMENT.
<ec> OKAY? OKAY.
* ec breathes
<ec> I got this.
<ec> alexgordon: okay, executions.
<chellio> YOU GOT THIS, BRO
<ec> have a program-counter, <pc>
<ec> and a <stack>
<ec> hm. design though.
<ec> micahjohnston suggested this a looooooooong time ago with his “holes,” I think.
<ec> and I'm just *now* grasping it, I believe.
<ec> but instead of maintaining a stack of objects, and pushing the PC along the Script,
<ec> we could *make copies of* the Script, and “reduce” it, gradually replacing nodes with the results of combinations
<ec> since Scripts *already* store Objects, we'd just be replacing pairs of Objects with the values they “reduced” to.
<ec> that'd mean a lot more copying, though; no longer a central copy of the Script, instead, every clone of an Execution would be holding a full copy of the Script.
<ec> alexgordon: if any of that made any sense to you … thoughts?
<alexgordon> errr
<alexgordon> sorry I was having an argument with myself
<alexgordon> must be getting late
<ec> wat
<alexgordon> literally that was exactly what I was doing
<ec> so confus™
<alexgordon> I was arguing a position. then responding. then arguing back
<alexgordon> with myself
<ec> about what!?
<alexgordon> politics
<ec> >,<lolwtf>,<
* ec channels brr
<alexgordon> reading
<alexgordon> 'micahjohnston suggested this a long time ago with his holes'
<alexgordon> very rude, ec
<alexgordon> ec: since I didn't understand how the bloody thing worked before, I don't think I'm in a position to judge how your new system is better or worse
<ec> UGH
<ec> bloody thing lol
<ec> GETTING CLOSER
<ec> OMFG
<ec> okay.
<ec> advancement.
<ec> there's a stack, and a PC.
<ec> let's consider this rather ugly little bastard:
<ec> { foo ((bar) baz) }
<ec> that's,
<alexgordon> ec: this seems like implementation details
<ec> L'foo' E{ E{ L'bar' } L'baz' }
<alexgordon> as whitequark or was it prophile was saying: operational fucking semantics
<ec> well, at the moment, I don't know how else to explain it.
<ec> no, this spec is tooooootes not an opsemantic
<alexgordon> no operational semantics are good
<ec> totes totes totes toots tootsie tote poot pop.
<alexgordon> implementations details are bad
<ec> yes, I know, but this document isn't remotely that.
<ec> we're not talking at all about how user's experience things from within the language.
<alexgordon> well we are, at a nuclear level
<alexgordon> point is, just describe the necessary and sufficient conditions, preconditions and postconditions, whatever
<ec> not sure how do
<ec> you can help me reduce after this version, I guess :x
<alexgordon> just describe *what* you expect it to be
<ec> DOES NOT COMPUT™
<ec> buttts⁽™⁾
<joelteon> butts are cool
<ec> butts are tm me, this year.
<chellio> I have a butt.
<ec> we're very familiar.
<ec> anyway,
<ec> SHIT.
<ec> alexgordon: I madededededed a big mistake.
<alexgordon> ?
<ec> I forgot to mention, that however you implement Scripts, you need to ensure that each Node has a reference to the next Node in that Script.
<ec> whether you crawl the Script, or do it with some sort of linked-tree structure, idk
<alexgordon> linked lists? EW
<ec> blrrigp.
<alexgordon> ec: and by nodes you are including objects in this?
<alexgordon> or just exprs?
<alexgordon> actually how does that even work
<ec> no, the *nodes*
<ec> not the expressions/objects stored in the node
<alexgordon> alright. in my implementation they're the same
<alexgordon> expressions and objects inherit from node
<ec> problematic: given a handle on a Node, you need to be able to “advance” to the next node.
<ec> which is what I'm spec'ing right now.
<joelteon> my shoulders!
<alexgordon> okay so I just add a pointer to Node?
<ec> something like that.
<alexgordon> Node* next;
<ec> wait
<ec> just let me write out advance, and you read it and tell me what you can do with it.
<ec> advance()*
<alexgordon> -spec
<purr> alexgordon: Paws' half-arsed Version 10 specification <http://ell.io/ihQzs>
<ec> do you keep closing the window or something.
<alexgordon> yeah I lose it behind other windows :P
<ec> LOL
<alexgordon> fuck, arguing with myself again
<ec> I'm done, for the night. This is too difficult, and I'd said I wanted to wrap it up within thirty minutes. /=
<ec> alexgordon: <3<3<3<3,3<3,#,#,3<#,#,#<#
<ec> <3 alexgordon
<ec> <3 alexgordon's butt
<ec> <3 alexgordon's face
<chellio> alexgordon: <3<3<3<3<3
<ec> <3 alexgordon's words
<alexgordon> my face is a calculator
<ec> bbl it's calling me
<alexgordon> my arse is a abacus
chellio has left #elliottcable [#elliottcable]
<joelteon> my butthole is an abacus
<fannkuch> i have an elmo vibrator i always say ohh yes tickle me elmo
sanitypassing has quit [Read error: Connection reset by peer]
devyn_ has joined #elliottcable
devyn has quit [Read error: Connection reset by peer]
Determinist has quit [Ping timeout: 264 seconds]
Determinist has joined #elliottcable
micahjohnston has quit [*.net *.split]
irclogger_com has quit [*.net *.split]
dnyy has quit [*.net *.split]
irclogger_com has joined #elliottcable
micahjohnston has joined #elliottcable
dnyy has joined #elliottcable
micahjohnston has quit [*.net *.split]
irclogger_com has quit [*.net *.split]
micahjohnston has joined #elliottcable
irclogger_com has joined #elliottcable
Determinist has quit [Ping timeout: 252 seconds]
Determinist has joined #elliottcable
alexgordon has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
Determinist has quit [Ping timeout: 256 seconds]
Determinist has joined #elliottcable
eligrey has quit [Quit: Leaving]
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
Determinist has quit [Ping timeout: 252 seconds]
Determinist has joined #elliottcable
sanitypassing has joined #elliottcable
Determinist has quit [Ping timeout: 256 seconds]
Determinist has joined #elliottcable
Determinist has quit [Ping timeout: 252 seconds]
Determinist has joined #elliottcable
devyn_ has quit [Changing host]
devyn_ has joined #elliottcable
devyn_ has quit [Quit: leaving]
devyn has joined #elliottcable
_whitelogger_ has joined #elliottcable
duckinator has joined #elliottcable
Determinist has quit [Ping timeout: 256 seconds]
Determinist has joined #elliottcable
wudofyr___ has quit [Remote host closed the connection]
cloudhead has joined #elliottcable
wudofyr___ has joined #elliottcable
wudofyr___ has quit [Remote host closed the connection]
wudofyr___ has joined #elliottcable
wudofyr___ has quit [Remote host closed the connection]
wudofyr___ has joined #elliottcable
Determinist has quit [Ping timeout: 252 seconds]
Determinist has joined #elliottcable
PragCypher has joined #elliottcable
<ec> alexgordon: “my arse is a abacus” wat.
irclogger_com has quit [Remote host closed the connection]
<ec> -start
irclogger_com has joined #elliottcable
<ec> hiiiii
<ec> Nobody here >:
<whitequark> i am
alexgordon has joined #elliottcable
<ec> whitequark!
<ec> and alexgordon!
<ec> perfect
<ec> hey, whitequark, would you like to talk to us? I'm bringing the old Murmur back online
<whitequark> murmur?
<alexgordon> -spec
<purr> alexgordon: Paws' half-arsed Version 10 specification <http://ell.io/ihQzs>
<alexgordon> whitequark: y u no blackquark? racist
<alexgordon> ec: yeah so, calling executions
<whitequark> alexgordon: executions now have stack!
<whitequark> so, they are truly coroutines now.
<alexgordon> lol
<purr> lol
<alexgordon> that'll be hard to do in C
<whitequark> alexgordon: fuck C
<alexgordon> no fuck YOU
<whitequark> also no, not really
<whitequark> man getcontext
<whitequark> alexgordon: no, fuck C. just fuck.
* alexgordon hugs C
<alexgordon> don't worry C, I won't let the russians hurt you
* whitequark crushes C with his bulldozer.
<ec> hi
<purr> ec: hi!
<ec> whitequark: stack?
<ec> whitequark: not the stack you're thinking of.
<ec> fuck, maybe I shouldn't call that. But it *is* a LIFO-list, a stack-y queue?
<ec> idfk.
cloudhea1 has joined #elliottcable
<ec> it's not a stack of callers; it's a stack of indirected combinations.
<ec> i.e. if you have,
<whitequark> ec: same thing.
<ec> locals['foo'][ locals['widget'] ]['bar']
<whitequark> likely.
<ec> (foo (widget) bar)
<alexgordon> whitequark is making the mistake I made when I first tried to learn about paws: he's trying to understand it
<ec> then you've gotta store the result of local['foo'] somewhere, while it's running locals['widget']
<ec> so it can then lookup foo[widget]
<whitequark> ec: yes, this is the stack I was thinking of.
* ec eyebrows
<whitequark> the stack for incomplete computations.
<ec> how is that coroutiney?
<ec> oh. I always thought you meant call-stack, stack.
<whitequark> well, because there can be two kinds of stack... a value stack for a stack machine (yours), or a call stack
<whitequark> mind you, you have a call stack too.
<whitequark> it just does not appear directly in paws.
<whitequark> well, you can likely get away without it, by writing code which is analogous to one huge main() with gotos everywhere
<whitequark> but if you add some structure, then you effectively have an implicit call stack (or call tree... google "spaghetti stack") stored in various data cells all around.
<whitequark> it doesn't really matter except for nitpicks.
cloudhead has quit [Ping timeout: 268 seconds]
<whitequark> ec: in other words, paws does not intrinsically provide an abstraction analogous to call/return of structured languages.
<whitequark> it provides an abstraction analogous to goto;
<ec> sorry, multitasking out the ass
<ec> won't be able to Paws much this moring before I leave
<ec> but I'll be ~here for the next couple hours, while I pack and finish up this murmur config and shit
<ec> that said …
* ec reads
<whitequark> however, the second you build something which looks like call/return, you make a call stack, even if it doesn't appear as a stack-like data structure directly in the source or the VM.
<ec> yeah, I gotcha
<whitequark> and by "looks like call/return"
<whitequark> I mean for example composable callbacks
<ec> but the point is not *whether* it's got a call-stack,
<ec> it's whether it *forces* one.
<whitequark> sure
<ec> The point is to force that decision into userspace.
<whitequark> note that, for example, x86 doesn't force a call stack on you either
<ec> i.e. you can implement a stackful language in Paws, or a non-stackful language in Paws.
<whitequark> or, fuck x86
<whitequark> even better
* ec nods
<ec> yesyesyes got that
<alexgordon> whitequark: lol
<purr> lol
<whitequark> ARM does not mostly have a concept of stack
<ec> goto-analogous mechanism on top of which you build whatever you want.
<ec> don't care about pedantry or terminology.
<whitequark> you can store with postincrement and index over whatever register you want
<whitequark> ldmia/stmia
<whitequark> etc.
<whitequark> so you do not have a distinct "stack pointer"
<ec> only care whether I'm accidentally forcing too much of *my* decision onto the language-implementer
<ec> i.e. “accidentally forcing a stack upon the implementer”
<whitequark> or a distinct "call"/"return" command
<ec> which, as far as I can tell, I'm not.
<whitequark> ec: well, you *are* forcing a stack machine
<whitequark> :p
<whitequark> stack machines usually have compact code, but it's a nightmare to optimize (or, worse, write stuff by hand). for example.
<whitequark> compactness is why you have stack machines all around... YARV. JVM. CLR.
<ec> okay
<ec> more on this later. 3
<ec> <3
<whitequark> it's also convenient to compile for, PROVIDED all you want is a fucking dumb interpreter which won't even analyze the stuff it's reading.
<whitequark> otherwise, use a register machine!
<whitequark> LLVM is one
<whitequark> Dalvik is one, and Dalvik's bytecode corresponds often 1:1 to ARM code
<whitequark> which is why you need to compile JVM bytecode to Dalvik bytecode, in fact
<whitequark> to spare your fucking phone from doing that
yorick has joined #elliottcable
<alexgordon> ec
prophile has joined #elliottcable
prophile has quit [Changing host]
<ec> alexgordon: hi
<alexgordon> hi
<purr> alexgordon: hi!
<alexgordon> -spec
<purr> alexgordon: Paws' half-arsed Version 10 specification <http://ell.io/ihQzs>
eligrey has joined #elliottcable
<alexgordon> ec
<ec> yes?
<ec> next time we work on the spec, I'm gonna do it over audio
<ec> screw typing all the time when I'm trying to write
<ec> vil: you here?
<vil> allo
<ec> you got a Mumble client?
<vil> not at the moment
<vil> why?
<vil> oh
<ec> fuxing with the server
<ec> end-goal: purr-managed Mumble server.
<vil> nice
<ec> automatically managing channels for each IRC channel.
<ec> and ops in the IRC channel, having full control over the relevant Mumble channel if they wish.
<vil> you should hook purr up to voice-synthesis so he can participate as well
<ec> oh gods.
<ec> basically, #Node.js Mumble channel.
<ec> and eventually #JavaScript.
<ec> er, twohash.
<joelteon> I found this voice synthesizer written in 1024b of javascript once
<joelteon> it was awesome
<vil> nice
<ec> lies!
<vil> I want to make one sometime
<vil> it'd be a fun project
<joelteon> it was pretty bad but it was good for one kilobyte of javascript
<vil> and probably hilarious until it was working properly
<ec> lolololol
<purr> lolololol
<ec> but seriously.
<ec> Voice-purr? egads.
<ec> I just had Mac OS X read “purr”
<vil> it would just have to say lol over and over, that's the core feature set
<ec> and it made me lol hard.
<vil> baha
<vil> PUTT
<ec> woah, I can't find … my sourceforge account.
yorick has quit [Remote host closed the connection]
<dsamarin> ew sourceforge
<vil> I think I deleted my account when I changed usernames
<vil> it's not in 1Password
<vil> erg. I should just build my own alternative to Mint
<alexgordon> ec: so when do we get to paws
<alexgordon> also, when do I get my MBP
<alexgordon> ;)
<joelteon> i love my MBP
<vil> my sister has my old MBP right now
<vil> hard drive just died
<vil> :(
<alexgordon> :(
<vil> poor thing
<alexgordon> I should back up
<vil> waiting for a Universal Drive Adaptor to arrive to see if it's salvagable
<vil> I don't back up my Air, I just make sure that there's no local data that isn't mirrored elsewhere
<vil> everything's on the server
<joelteon> what server?
<joelteon> also, that's a pretty clever idea
<joelteon> all my dev stuff that's actually useful is on github, my dotfiles are on github, my VPS isn't going anywhere, and my personal data is mostly in dropbox
<joelteon> well, I could put my movies in dropbox
<joelteon> can't you store music on icloud or something?
<ec> I've done the same for years
<ec> Spotify for music, photos on Photo Stream or Flickr or Instagram or my phone, code and config on GitHub
<ec> all that I have to re-download when I get a new machine is applications.
<ec> backups are for schmucks who use local data.
<ec> loliTunes.
<purr> loliTunes
<alexgordon> ec: I'm not that organized :P
<ec> -song Atmosphere, Sunshine
<purr> ec: “Sunshine” by Atmosphere: <http://tinysong.com/SmfQ>, “Nothing But Sunshine” by Atmosphere: <http://tinysong.com/jZFF>, “Nothing But Sunshine (Extended)” by Atmosphere: <http://tinysong.com/smSK>
<alexgordon> someone convince me to not buy a darth pro
<joelteon> what is that
<joelteon> oh, a mac pro?
<joelteon> is that what they're calling it now?
<joelteon> and no, that thing is awesome, I want one
<alexgordon> will probably cost $10k
<joelteon> yep
<alexgordon> wish you could buy a GPU-less version
<joelteon> i just wanna get the best possible one
<alexgordon> don't need GPUs for coding :P
<joelteon> that GPU though
<joelteon> i want to game on it
<alexgordon> I have a PC for that
<joelteon> i'll hook it up to my TV
<ec> I wonder if I could tie libspotify up to purr up to a *server-side* Mumble-client.
<ec> purr-radio? :D
<ec> I think irc bots are the single juiciest bloat-target on the planet. I'm not quite sure why.
<vil> because it's like building a personality
<ec> yes <#<3<3<3<3purrrrrrrrrr
<vil> purrsonality
<vil> lolol
<purr> lolol
* ec grins
* vil pats purr
* purr r
<joelteon> heh
<ec> I love that his primary feature started out as responding to ACTION messages with purring.
<joelteon> I just recently added a feature to my bot where it says "hi" when you say hi
<joelteon> it confuses a bunch of people but everyone on deviantart is retarded anyway
<ec> and he's bloated up to having passable sentience, porn-spidering, and music-search-engine integration.
<ec> like, that's just, the best example of bloat ever
<ec> wait, *you* have a dA bot *too*?
<ec> jesushchrist.
<vil> I didn't realize that anyone but Nuck used DA's chat
<ec> right!?
<vil> I've never been there
<ec> ATMOSPHERE OHEMGEEE
<ec> I think the dA chat is like Freenode for artists?
* vil shrugs
<purr> ¯\(º_o)/¯
<joelteon> Yeah, except it's way more retarded
<vil> IRC > everything
<vil> DAMN
<vil> the new Universal Drive Adaptor is SEXY
<ec> hey, vil, connect to my mumble
<ec> audio ain't up or anything
<ec> but I'm trying to configure it
<ec> stupid ACLs ddis
<vil> ok
<vil> lemme download it really quick
<ec> mumble://ell.io
<ec> -mumble
<purr> ec: We don't use Mumble for voice-chat! Talk to us: mumble://ell.io/ (Download the client for Mac, Linux, or PC at http://mumble.sourceforge.net/)
<ec> LOL that's still there
<purr> LOL
<ec> -factoid mumble
<purr> ec: Popularity: 4, last changed by: sephr, 163ſ 712mſ ago
<vil> wat
<ec> thx sephr
<vil> I love how quickly Alfred picks up new apps lately
<joelteon> It uses the spotlight index, right?
<vil> I think that's part of it? I honestly don't remember
<vil> ec:
<vil> oops
<vil> I'm on now
<ec> self-register
<vil> ?
<joelteon> i'm sure it does
<joelteon> i doubt he wrote his own indexing engine
<ec> did you set up a certificate when you connected?
<vil> no
<vil> well
<vil> it told me yours was invalid and I accepted it anyway
<vil> I didn't generate one
<ec> you need to generate your own.
<vil> ok
<ec> Configure > Certificate Wizard.
<vil> yep, already doing so
<vil> better?
<ec> right-click self, register
<ec> then re-connect
<ec> cooooooolio
<ec> need a domain for purr
<ec> vil: who was going to help us with the new purr?
<joelteon> dude lenses are FUCKING COOL
<ec> joelteon: what.
<purr> beep.
<joelteon> lenses
<joelteon> you know
<vil> uh
<joelteon> functors that operate on nested structures
<joelteon> and stuff
<vil> joelteon: it was you, wasn't it?
<joelteon> what was
<vil> purr update?
<joelteon> dunno
<alexgordon> well clang is fucking useless
<vil> wlecome to the team, then :D
<ec> purr.gg?
<joelteon> tahnk you
<ec> purr.gy
<ec> purr.gs
<ec> hm
<ec> purr.hn
<ec> that seems so, er, strain-y.
<alexgordon> haha
<vil> pur.xxx, clearly
<alexgordon> hacker news
<alexgordon> vil YES
<ec> “Ugh, I'm so constipated … PURRRHNNNN”
<vil> except spelled right
<alexgordon> purrxxx
<ec> I want my name doesn't do xxx
<vil> -- short cables
<purr> Let it be known that vil hates short cables.
<vil> ec: aww
<vil> <3 iwantmyname
<purr> Let it be known that vil hearts iwantmyname.
<vil> land io-s are fucking expensive
<vil> *and
<ec> purr.la
<vil> yep
<ec> purr.li
<ec> purr.lv
<ec> purr.lv/s-u
<ec> purr.pe
<ec> purr.sh
<ec> purr.sx :D
<vil> haha
<joelteon> "{}" & key' "a" . key' "b" .~ (_String # "foobar")
<joelteon> is {"a": {"b": "foobar"}}
<vil> purr.wf
<vil> "purr woof"
<ec> purrlov.es/you
<vil> I like that
<ec> and ell.io for everything else
<ec> landing-page at purrlov.es/you
* ec grins
<ec> done.
<vil> too bad there isn't an .irc
<ec> purr.lurv.es/you
<ec> elliott.lurv.es/you
* ec grins
<ec> mehhhh
<vil> ugh my USB extension cable is 2.0
<vil> WHY
<ec> purr.like.ec?
<ec> I already have a bunch of .ec domains squatted
<ec> purr.from.ec
<ec> purr.with.ec
<ec> will.you.marry.ec
<vil> saving that one? ;)
<ec> mayyyyyybe.
<ec> okay, call it
<ec> purrlov.es or purr.lurv.es
<vil> are both ports on the Air USB 3?
<ec> idk wat else call it
<vil> I like the former
<ec> ador.es
<vil> ooo
<ec> I envy whoever has coit.us
<ec> fornicat.es is available :D
<ec> purrlov.es purchased.
<alexgordon> ec: so when do we get to paws?
<ec> alexgordon: I don't think today, doing too much shit at once
<alexgordon> should I food now?
<ec> and leaving soon
<alexgordon> aw
<ec> theroetically D:
<ec> by the time I arrive in Minneapolis in my Mini Cooper, you'll be asleep. silly european.
<ec> time to learn that, I guess. ick.
<vil> this drive adaptor appears to be DOA ಠ_ಠ
<alexgordon> oh bollocks
<alexgordon> bull
<alexgordon> fucking
<alexgordon> shit
<alexgordon> why did I not see this before
<alexgordon> sigh
<alexgordon> this is why I hate C and love C++
<vil> oh hey, signs of life
<vil> time to go get a known-good drive to try
<ec> alexgordon: what?
<ec> ./build-all.bash
<alexgordon> ec: this bug
<ec> ugghghaghgh
<vil> ah, it does work
<vil> only on one port for some reason
<vil> well, this was a waste of $40
<vil> doesn't work consistently at all
<ec> hmmmmmm
<vil> mmmhmmm. apparently you have to use the extra usb power cable even when using the external drive power
whitequa1k has joined #elliottcable
fannkuch_ has joined #elliottcable
<purr\GH> [purr] ELLIOTTCABLE opened issue #10: Mumble integration https://github.com/ELLIOTTCABLE/purr/issues/10
cloudhea1 has quit [Ping timeout: 268 seconds]
whitequark has quit [*.net *.split]
fannkuch has quit [*.net *.split]
ec has quit [*.net *.split]
<vil> I can't tell if the adaptor is broken, or if all of these drives are dead
<vil> I think the USB cable has issues, actually
<vil> god dammit
ec has joined #elliottcable
<ec> or nobody >:
<vil> wat?
<ec> hi
<purr> ec: hi!
<vil> hi
<purr> vil: hi!
<ec> vil: since alexgordon is afk, wanna contribute? :3
<vil> what am I contributing?
<ec> -spec @ vil
<purr> vil: Paws' half-arsed Version 10 specification <http://ell.io/ihQzs>
<vil> currently repackaging this crappy adaptor
<ec> proofread? :D
<vil> ok
<ec> and let me know if there's anything you don't grasp easily, or sommat?
<vil> can do
<ec> So, I've put some thought into this,
<ec> and I've decided that I shouldn't drive my rental Mini Cooper while inebriated.
<vil> that's probably a good plan
<ec> probably.
jdhartley has joined #elliottcable
<ec> jdhartley!
<jdhartley> ec: HI HI HI HI
<jdhartley> what is everyone up to today
<vil> RMA-ing broken crap :(
<vil> and reading Paws specs
<purr\Paws> [Issues] ELLIOTTCABLE opened issue #7: Replace pc/stack with dynamic Script https://github.com/Paws/Issues/issues/7
<PragCypher> nice bot
<ec> PragCypher: hm?
<ec> jdhartley: I *should* be leaving.
<jdhartley> ec: to go where?
<jdhartley> ec: west coast time
<ec> what?
<ec> Minnesota in my Mini Cooper.
<ec> Minicoopersota.
<ec> Minnecooperapolis.
* ec channels JD
* jdhartley feels pun transfer
<vil> ec: ok if I go ahead and fix typos?
<ec> errr, hit me up first
<ec> but mostly, yes
<ec> actually go ahead, I can see the revision log.
<vil> ok
<vil> fixing targetted → targeted, etc
<vil> also changed "targeted to" to "targeted at"
<ec> lolk
<purr> lolk
<vil> <3 Fig Newtons
<purr> Let it be known that vil hearts Fig Newtons.
Determinist has quit [Ping timeout: 256 seconds]
<ec> I'm trying to ‘hack’ GitHub READMEs
<ec> that is, figure out how I can abuse the very limited HTML that *is* allowed.
Determinist has joined #elliottcable
<vil> ec: what's "sp"?
<ec> huh?
<vil> sp+ or sp*
<vil> oh, space?
<ec> errrr
<ec> where
<ec> ahhhh
<vil> "{" sp* <expression> sp* "}"
<purr\Paws> [Issues] ELLIOTTCABLE pushed 1 new commit to master: https://github.com/Paws/Issues/commit/81ae5d8b9afb4221c4658ac7e97a77cc4c583ced
<purr\Paws> Issues/master 81ae5d8 ELLIOTTCABLE: Man, that is one ugly image.
<ec> LOL
<purr> LOL
<ec> hello, purr
<purr> ec: hi!
<ec> e'ery time.
<vil> haha
<vil> wow that is ugly
<purr\Paws> [Issues] ELLIOTTCABLE pushed 1 new commit to master: https://github.com/Paws/Issues/commit/c1aa98c5f062502c2b82536fa0acb6a5c8f78965
<purr\Paws> Issues/master c1aa98c ELLIOTTCABLE: … just click the damn Issues link.
<ec> -issues
<ec> excellent.
<ec> anyway.
<vil> what's combination? I know something got renamed to it
<vil> juxtaposition?
<ec> that
<vil> ok
<vil> you missed updating it here: "the only place whitespace is required is to juxtapose undelimited literals"
<vil> shall I do so?
Determinist has quit [Ping timeout: 260 seconds]
<ec> no
<joelteon> so paws doesn't have syntax...
<ec> leave that, that's literally the dictionary definition of juxtaposing
<vil> ok
<vil> oh, I get it
<vil> right, onward
<joelteon> are there invalid paws programs?
<vil> joelteon: all of the ones I've tried to write, yes
<joelteon> how?
<joelteon> i thought everything was correct syntax
<vil> ec: I like the $ syntax you've been using for links
* ec grins
<ec> it's a thing in my Nginx.
<ec> there's a couple special prefixes unique to ell.io/ links
<ec> lower-case “i” is a Droplr code. dollar-sign is a code-related short-hand name, permanently defined.
<ec> http://ell.io/$Paws
Determinist has joined #elliottcable
<ec> http://ell.io/$Paws.js
<ec> etcetcetc
<ec> er
<vil> oh, so you manually define each one, rather than it being determined when received?
<ec> yep
<ec> for *that*, yes
<vil> right
<vil> iTerm doesn't like them
<vil> ಠ_ಠ
<ec> there's also like this:
<ec> http://ell.io/tt$Paws.js
<ec> which is a short-hand auto-resolves for my own projects.
<ec> http://ell.io/tt$Paws.js/issues
<ec> etcetcetc
<vil> oh cool
* ec nods
<ec> http://ell.io/tt$Paws.js#readme
<vil> I need to do something like that once I move away from my current host
<ec> but ell.io/$blah is much more special
<ec> http://ell.io/$e3f83c3
<ec> I need to automate this with purr or similar, though
<ec> anyway
<jdhartley> hi purr
<purr> jdhartley: hi!
<ec> jd fuckin' hartley look at my spec damnit
<ec> -spec @ jdhartley
<purr> jdhartley: Paws' half-arsed Version 10 specification <http://ell.io/ihQzs>
<ec> it's a spec
<ec> it specs things
<vil> purr is always so happy to see everyone
<vil> ec: you should make purr dislike some people, would be funny
<vil> or maybe if they do -- purr
<ec> … lmao
<ec> go implement it?
<vil> ooh I could
<vil> will finish reading the spec first
<jdhartley> how can I edit paws
<jdhartley> not paws
<jdhartley> purr
<jdhartley> i want to write purr
<ec> jdhartley: you will be able to, soon. He's being open-sourced, soon.
<jdhartley> thats private
<ec> was linking it to vil, not you
<jdhartley> fine.
<jdhartley> :P
* ec grins
<vil> joelteon: purr is due to undergo a re-write
<ec> I'll invite you, if you like
<ec> dunno why you care, you don't even *care*, you don't even *hang out* here, you don't even *love* me! ;_;
<vil> sol.toStupidString() omfg
<vil> oops, that was aimed at jdhartley not joelteon
<vil> screw you autocomplete
<jdhartley> id love to see, elliott
<jdhartley> i want to start hanging out in here more
* ec grins
<ec> that makes me stupid-happy
<ec> ghusername?
<vil> jdhartley: gobble gobble one of us
<jdhartley> its jdhartley
<vil> should add that to purr too, actually
<jdhartley> brb, need to restart
jdhartley has quit [Quit: Textual IRC Client: www.textualapp.com]
<prophile> i love cheese
jdhartley has joined #elliottcable
<vil> oh nice, OWC is waving the restocking fee for my RMA
<vil> <3 OWC
<purr> Let it be known that vil hearts OWC.
<jdhartley> <3 OWC
<purr> Let it be known that jdhartley hearts OWC.
<vil> -loves jdhartley
<purr> vil: jdhartley loves chrome. Webkit sucks. Blink it, purr, -loves, T_PAAMAYIM_NEKUDOTAYIM, and OWC.
<vil> -loves vi
<purr> vil: vi doesn't love anything :(
<vil> -loves vil
<purr> vil: vil loves remy, pie, Matchbox Twenty, The Glitch Mob, Daft Punk, Maths, Cake, Zedd, Nuck, purr, javascript, Adam Savage, Monstercat, Feed Me so much, Modest Mouse, micahjohnston, C, SBTRKT, fstab, rsync, 7MinutesDead, Objective-C literals, salt, Chrome, iwantmyname, Fig Newtons, and OWC.
<vil> -dick
<purr> vil: no. fuck you.
<jdhartley> purr -help
<jdhartley> -help purr
<vil> -help
<jdhartley> god damn it purr you are useless
<jdhartley> -help me
<vil> I thought I put that in there at some point
<vil> holy shit it has -learn limits for gqbrielle only
<vil> <3 ec
<purr> Let it be known that vil hearts ec.
<ec> purr's got no help.
<ec> help is for noobs. you learn purr by watching.
* ec demonstrates purr
* purr r
<vil> -learn help=You're beyond help.
<purr> vil: Learned `help`.
<vil> -help
<purr> vil: You're beyond help.
<vil> lolol
<purr> lolol
<ec> purr, do a backflip.
* purr does a flip!
<vil> omfg didn't know that one
<ec> good purr.
<vil> purr: do a barrel roll
<vil> aww
* purr rrrrr
<ec> jdhartley: I put my face on your GitHub profile because I love you.
<vil> right, I'm supposed to be reading
<jdhartley> that would be cool
<jdhartley> i like your face
<prophile> /w 74
<prophile> bah at spaces
<ec> lolprofile.
<purr> lolprofile
* prophile curses irssi
<vil> 74 windows
<vil> how even
<vil> I have 6
<prophile> I'm in quite a few channels
<prophile> and I have a lot of PM windows open
<vil> yeah, I'd say so :D
<prophile> and I've got an irssi uptime of about 4 months
<ec> I have, uh, ~340
ELLIOTTCABLE has quit [Remote host closed the connection]
<ec> 'cause I suck at closing anything ever
<prophile> there you go
ELLIOTTCABLE has joined #elliottcable
<ec> … until now.
<prophile> I'm not as crazy as elliott
<prophile> hooray \o/
<ec> *now* I have 74.
<vil> I knew ec had a lot, I stole his config initially
* ec laughs
<ec> poor irssi
<ec> my uptime is “however long it took it to segfault *this* time.”
<prophile> I would close my PM windows
<prophile> but they're intermixed with the channel windows
<vil> mine is "time since last power outage" generally
<prophile> and it would mess up my numbering
<ec> prophile: so, you read this yet?
<vil> unless I'm configuring my server
<prophile> this meaning the paws spec?
<prophile> no, not yet
* prophile puts it in his todos
<vil> -spec
<purr> vil: Paws' half-arsed Version 10 specification <http://ell.io/ihQzs>
<ec> it's not complete
<ec> but I want your input on what I have so far
<ec> it's pretty terr'bs. >:
<ec> man, where is alexgordon
<ec> plans have changed, I'm stuck here today.
<vil> ec: whenever I see your name I'm like "no there shouldn't be a space"
<ec> LOL
<purr> LOL
<ec> where are you seeing it with a space? SPACES MUST BE EXCISED
<vil> your Google profile name, for one
<ec> D:
<ec> also, isn't this cool?
<vil> it appears on your cursor
<ec> etc
<ec> :D
<vil> nice
<ec> yeah, it's kinda overloaded with about ten thousand features. I love my domain so much!
<ec> -sol -g Dec 16th, 2009
<purr> ec: Invalid Sol
<ec> -sol -g Dec 16, 2009
<purr> ec: 14 594 ſ 000 000
<ec> -sol
<purr> ec: 15 875 ſ 841 939
<vil> never could teach myself to read that
<ec> oh come on
<ec> it's easysauce
<ec> also, holy shitbutts, we're nearly in a new kilosol!
* ec excited
<vil> d'you ever fix solcounter.menu?
<ec> nope
<ec> not the slightest idea how to
<ec> hey alexgordon, go fix that, you're good with Apple APIs >:
<vil> ah, the age-old question: whether copyright notices are valid if nobody understands the dates attached
<vil> I might be able to fix it actually
* vil downloads the source
<prophile> there's no notion of validity in a copyright notice
<prophile> it's just a reminder that something IS copyrighted
* ec nods
<ec> I'm very aware.
<ec> I just wanted to be quintessentially me, and have a UJD copyright declaration.
<ec> I had to take all of the *me* out of Paws, okay? Gimmie a break for injecting a little back in, where it won't actually affect the language. >:
<vil> haha
* vil pats ec
<vil> remember when windows used to minimize to the right side of the Dock? that was a long time ago now
<vil> I guess it's probably still the default
* ec eyebrows
<ec> that's not the default, afaik
<ec> oh, you're right, it totes is
<vil> I don't know why anyone would use it that way
<vil> especially with mission control around
<ec> how's that footer?
<ec> nobody cares. thought so.
<ec> moving on.
<ec> Alex, wake up!
<vil> I think slashes might look nicer
<vil> of course you'd use the unicode slashes :D
<ec> have you met me?
<ec> okay.
<ec> whee.
<prophile> backslash was created for the /\ and \/ operators
<prophile> being boolean conjunction and disjunction respectively
<prophile> in the curry-howard isomorphism they map onto the pair and alternative types
<vil> interesting
<prophile> so really we should just denote them with comma or Left and Right
<ec> I'm gonna have to start writing this in HTML or sommat. Fuck Google Docs' styling.
<prophile> LaTeX
<ec> Also, I want git-versioning of my changes. This feels entirely too … ephemeral.
<ec> LaTeX is so revolting v.v
<prophile> just like turkey
* prophile heads home
<ec> “modern alternatives to LaTeX” is now in my google history.
<vil> I wonder if my Google history is on?
jdhartley has quit [Quit: Textual IRC Client: www.textualapp.com]
<vil> yup
<vil> apparently I search most on Wednesdays
<vil> ♪ Below Us Shaz Sparks Seven Lions
<purr> vil is listening to “Below Us (Feat. Shaz Sparks)”, by Seven Lions
<vil> and suddenly I was fucking with AppleScript
<vil> at least I was productive this morning
<ec> hi all
* vil waves
<vil> almost done reading the spec now
<ec> whee
<ec> I'm trying to learn LaTeX, LuaTeX, or ConTeXt.
<ec> or reStructuredText / LaTex? I guess? Idfk.
<vil> just build your own, not like you have anything going on ;)
<ec> oi
<ec> eat a dick
<vil> I'll defer to Nuck on that
<vil> where IS Nuck? I haven't seen him in forever
<ec> right!?
<vil> ♪ Bangarang
<purr> vil is listening to “Bangarang”, by Skrillex
<ec> -mourn nuck
* purr rrrr )'=
<vil> I'm going to write myself a "currently listening" page for my website with some AppleScript hackery
<vil> yet another purr feature I didn't know
<vil> I need to go read all of his source as well
<vil> and also all of the -learned stuff
<ec> lololololol
<purr> lololololol
ELLIOTTCABLE has quit [Remote host closed the connection]
<vil> does Twitter rate-limit bio changes? it'd be neat to update it with the current track
<ec> FUCKIGN FUCK
ELLIOTTCABLE has joined #elliottcable
<ec> I don't believe they do
<vil> hmmm
<vil> now Musicality just needs to support grabbing the track playing in Grooveshark and I'll be good to go
<vil> @EvaGiselle has a dynamic bio, should ask her
<vil> *had
<ec> she did? o_O
<alexgordon> hi
<purr> alexgordon: hi!
<vil> ec: yeah, it rotated every couple of hours, only between a few things
<vil> alexgordon!
<ec> oh. lol.
<purr> lol
<ec> shit, it's alexgordon
<ec> your timing is terrible, alexgordon. I've got to leave right now.
<ec> or within a few moments.
<vil> ec: explain me receivers first, because I think they've changed since I learned stuff
<vil> I don't remember the parameters thing
<vil> and why don't they get a naughty?
<ec> I fucking hate didone typefaces, and thus I hate Computer Modern, and thus I hate 99.9% of TeX output.
<ec> they don't get a naughty simply because there's *no reason* for one.
<vil> because nobody can interact with them?
jdhartley has joined #elliottcable
<ec> the parameters-object to receivers is *always* generated by the system. It can't be extended, monkey-patched, abstracted, modified, or otherwise improved upon.
<vil> ok
<ec> thus, there's no reason to leave “room for expansion.”
<ec> there's a second reason:
<ec> the “noughty rule” has two meta-rules to its application:
<ec> First, and most importantly, we want to apply it *everywhere* the Nuclear design depends upon the exact layout of data-structures. (i.e. Object->find() algo.)
<ec> Second, we want to apply it *nowhere*, if we can avoid it. That is, the Nuclear design should be as little-aware-of / as little-dependant-upon noughty-design, as possible. (i.e., hopefully nowhere *but* Object->find()'s algo.)
<ec> Clear?
<vil> yep
<vil> ec: Eva has meticulously maintained a 420 following count for quite a while now
<ec> seriously?
<vil> I am honored to be one of them
<ec> all respect lost.
<vil> lol
<purr> lol
<vil> (that's what I've heard anyway, I haven't paid attention long enough)
<vil> so a receiver is just another value of an object
<vil> ok, I get how this all works
<vil> ec: in regards to your comment on the comparison-operation, I can't see any reason to make it extensible either
<vil> how is the comparison accomplished? using receivers? or special
<jdhartley> vil: what is your twitter
<vil> @vilhalmer
<vil> follow-back'd
<jdhartley> twitter bffs
<vil> <3
<ec> vil: wat
<vil> wat
<ec> -twitters
<ec> -twitter
<ec> fuhh
<vil> like, internally, how does it perform object-identity comparison
<ec> -learn twitters = All of the regulars' twitter-accounts are here, if you wish to follow them: <http://twitter.com/_elliottcable/regulars/members>
<purr> ec: Learned `twitters`.
<ec> -learn alias twitter = twitters
<purr> ec: Learned `twitter` => `twitters`.
<ec> -find twitt
<purr> ec: Found: do it, criticism, and twitters
<ec> vil: what comparison?
<vil> -learn alias tweeps = twitters
<purr> vil: Learned `tweeps` => `twitters`.
<vil> for completeness
<vil> ec: when performing lookup, you have to compare the object ID of the keys
<vil> how is that done?
<ec> identity.
<ec> not sure how else to define it in a spec.
<ec> if two things *are the same thing*, references to the same value, then the comparison is true.
<vil> ok, so its an internal implementation detail, not a feature of the objects themselves
<ec> that's changing with distribution, but for now, that's it.
<ec> yes.
<vil> so yeah, definitely no reason to allow overriding that
<vil> AppleScript is such a dumb language
<vil> right so everything in the spec so far looks pretty good
<vil> I understood it, so it can't be too bad
<joelteon> applescript fucking sucks
<joelteon> no interpolation
<joelteon> no string padding
<joelteon> everything is a float
<vil> and the syntax, don't forget the syntax
<vil> -- AppleScript
<purr> Let it be known that vil hates AppleScript.
<joelteon> -- applescript
<purr> Let it be known that joelteon hates applescript.
<joelteon> -- Applescript
<purr> Let it be known that joelteon hates Applescript.
<joelteon> -- case sensitivity
<purr> Let it be known that joelteon hates case sensitivity.
<joelteon> -hates joelteon
<purr> joelteon: joelteon hates ##c, #css, javascript, css, objective-c, applescript, Applescript, and case sensitivity.
<vil> joelteon: that'll be fixed in the new purr, I think
<joelteon> ok
<vil> whenever that actually happens
<vil> -vil
<purr> vil: the one who wears rugs.
<vil> lolol
<purr> lolol
<vil> that was ONE TIME dammit
<joelteon> heh
<joelteon> -joelteon
<joelteon> rats!
<vil> teach her!
<vil> -learn joelteon=Not an otter.
<purr> vil: Learned `joelteon`.
<vil> there you go
<alexgordon> --applescript
<alexgordon> -- applescript
<purr> Let it be known that alexgordon hates applescript.
<alexgordon> -whohates applescript
<purr> alexgordon: applescript is hated by alexgordon, vil, joelteon, and joelteon.
<alexgordon> ha
<vil> great
<vil> not just case-sensitive
<prophile> ++ applescript
<purr> Let it be known that prophile loves applescript.
<vil> but INCONSISTENTLY so
<alexgordon> prophile: THEN YOU SHALL DIE
<prophile> I have a nostalgic fondness for applescript
<prophile> it was my first programming language
<vil> I'm so sorry
<alexgordon> prophile: that's like saying your first time was with andrew lloyd webber
<joelteon> that's like saying "i have a nostalgic fondness for physical abuse, reminds me of my dad"
<joelteon> huh. that might've been in poor taste
<vil> what's the best formatting for track / album / artist info?
<joelteon> oh oh
<vil> I need this to look pretty
* joelteon Extremophile Elite - Between the Buried and Me (The Parallax II: Future Sequence) [Progressive metalcore] {0:01/9:58} <1411kbps Apple Lossless> ★★★★★
<joelteon> that's mine
<prophile> A JSON object
<prophile> {"track": "xxx", "album": "yyy", "artist": "zzz"}
<prophile> clearly
<joelteon> hahahaha...
<vil> purr: output-wise, not storage-wise
<joelteon> it's track - artist (album)
<joelteon> is the correct one
<vil> joelteon: heh, that's exactly what I'm using already
<vil> winning
<joelteon> yay
<prophile> i don't like that hugely
<prophile> i think i'd prefer something in artist, album, track order
<prophile> big endian is good
<prophile> most general to most specific
<vil> The dash is good
<vil> not sure about parens
<vil> maybe just slashes for all the things
<joelteon> slashes
<joelteon> you're no fun
<prophile> how about ::
<vil> I like slashes
PragCypher has quit [Remote host closed the connection]
<vil> I use that for events in irssi
<joelteon> use unicode
<joelteon> my separator char in weechat is
<prophile> or ➡
<joelteon> ⑊
<vil> I like BIG slashes tho
<vil> like //
<joelteon> oh
<prophile> or even go for
<vil> yep
<vil> definitely
<vil> slashes are pretty but you can't always tell what part is what
<vil> especially with electronic artists
<vil> :D
<vil> I'd just use "by" and "on" but they blend in
<vil> track / artist / album is in the lead
<vil> "Gamefire / Klaypex / Loose Dirt"
<joelteon> yeah I don't know what any of those are
<prophile>
<joelteon> they're indistinguishable for me
<joelteon> that's pretty prophile
<vil> ♪ gamefire klaypex
<purr> vil is listening to “Gamefire”, by Klaypex
<vil> good song
<prophile> I'm glad
<prophile> irssi won't actually render it
<prophile> :<
<joelteon> ♪ extremophile elite
<purr> joelteon is listening to “Extremophile Elite”, by Between the Buried and Me
<vil> purr: mine rendered it fine
<vil> ugh
<vil> prophile:
<vil> need to prioritize autocomplete based on latest messages
<fannkuch_> ♪ muslimgauze how further now is heaven
<purr> fannkuch_ is listening to “How Further Now Is Heaven”, by Muslimgauze
<prophile> I suspect it's some mysterious interaction between irssi, screen and terminal.app
<joelteon> probably
<vil> how about "Seven Lions: Below Us / Polarize"
<joelteon> weechat rendered it fine though
<vil> prophile: ew screen
<vil> TMUX
<vil> -best t mux
<purr> TMUX IS BESTMUX
<joelteon> that looks like an artist making a track with a slash in the name
<vil> joelteon: so closer then
<joelteon> track name gets priority
<vil> erg
<prophile> vil: I seem to recall tmux lacking some features of screen that I use
<prophile> although I can't actually remember what
<vil> prophile: impossibru
<prophile> probably something to do with screen splitting
<vil> tmux has all the things
<joelteon> tmux has split panes and stuff...
<vil> screen doesn't even do horizontal splits tho
<prophile> yeah it does
<vil> er, vertical
<prophile> yeah, it does
<joelteon> shut up vil you're wrong
<vil> I never know which way to refer to that
<prophile> doesn't matter, screen does both
<vil> anyway
<prophile> :3
<vil> good to know they fixed that
<joelteon> does screen do diagonal splits???
<vil> brb patching tmux
<prophile> no, it doesn't
<prophile> but on the other hand
<prophile> hitler did diagonal splits
<joelteon> i get it
<vil> good lord, this one is a mess: "Breakn' A Sweat (Zedd Remix) / The Doors & Skrillex (Breakn' A Sweat (Zedd Remix) (Single))"
<prophile> and nobody wants to copy features from hitler
<joelteon> well
<joelteon> he was a good speaker
<prophile> that he was
<prophile> even if he had an amusing accent
<vil> fuck it, album can go on a different line or something
<vil> it's not that important
<prophile> -music is the command in here right?
* vil shrugs
<purr> ¯\(º_o)/¯
<prophile> or one of the musical notes which i can't render
<vil> I only use the ♪
<prophile> which is it?
<vil> musical not is for "I am listening to"
<vil> *note
<prophile> yes, I know
<vil> there's a general music search too
<prophile> I know it's a musical note character
<prophile> but I don't know which character
<vil> -song Breakin' A Sweat Zedd Remix
<purr> vil: “Breakin' A Sweat (Zedd Remix)” by Skrillex: <http://tinysong.com/UtTE>, “Breakin' a Sweat (Zedd Remix)” by Skrillex and the Doors: <http://tinysong.com/UACC>, “Breakin' A Sweat (It's Alright) (Zedd Remix)” by Skrillex & The Doors: <http://tinysong.com/XEMD>
<vil> there you go
<prophile> because it doesn't render
<prophile> ah, -song
<prophile> there we go
<vil> I don't know what the note is called
<vil> one moment
<prophile> is it filled?
<prophile> and does it have a tail?
<prophile> or a stalk, or neither?
<vil> wtf google
<vil> I think it's filled quarter
<prophile> ♩ then?
<vil> nope
<vil> it has a flag
<prophile> ♪ then?
<purr> prophile is listening to “Girls Just Want to Have Fun”, by Cyndi Lauper
<vil> yeah
<prophile> so it seems
<prophile> hah
<vil> wtf is that result
<prophile> how the fuck did that happen
<ec> back
<prophile> ec: ^
<vil> purr: the hell are you doing
<ec> woah
<ec> -clouds
<purr> ec: is stuck up in the clouds; hilight 'em if you want 'em.
chris-tina has joined #elliottcable
<vil> possibly leaving for food, if so see you guys later
<prophile> bye vil
* Determinist grrrrrs
<Determinist> i need to redesign this room.
<prophile> aha
<prophile> it's :c1
<prophile> fixes the rendering
<ec> awww vv
<ec> Determinist: lolwat
<purr> lolwat
<Determinist> putting 3 computers (1 mbp, one storage server, one beefy I7) with 2 27" monitors when it's 30C outside, in a 4 square meter room IS NOT a good idea
<ec> Love you, prophile. http://ell.io/isw2x
<Determinist> i can't think in this heat
<Determinist> time for an AC and some restructuring.
<ec> stealing that idea. for a purr factoid
<prophile> ec: :D
<ec>
<prophile>
<ec>
<ec> brb hackin' freenode to allow Unicode nicknames
ec changed the topic of #elliottcable to: #
<ELLIOTTCABLE> that looks atrocious in irssi. >:
<fannkuch_> on the real tho why dont ircds allow unicode, its 2013
<ec> idk, I feel like they should just do punycode.
<prophile> because all ircds are written like it's 1992
<prophile> even the modern ones
<ec> or at leasty punycode channels.
<ec> brr's ircd supports unicode nicknames
<ec> and colours in them, too
<ec> which surprisingly many clients didn't fuck up
<ec> also, brr's server is a fucking clusterfuck
<ec> it was terrifying
<ec> I still have (very colourful) scars
<ec> byebye all
<ec> wat
<prophile> bye elliott
<prophile> oh, you should deop
<prophile> bad practice to leave yourself opped :)
PragCypher has joined #elliottcable
<purr> <devyn> AIIIIIIIAHHHH
<joelteon> ec:
<joelteon> is purr's loves hash just one data structure that you lookup during all the operations
<joelteon> or is it multiple
fannkuch_ is now known as racaille
racaille has quit [Changing host]
racaille has joined #elliottcable
chris-tina has quit [Ping timeout: 260 seconds]
jdhartley has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jdhartley has joined #elliottcable
chris-tina has joined #elliottcable