ec changed the topic of #elliottcable to: #
<purr> <elliottcable> I wish Linux made Adobe ports. I'd run Linux on my Photoshop... and then Gimp on my Linux
ELLIOTTCABLE has quit [Read error: Connection reset by peer]
ELLIOTTCABLE has joined #elliottcable
<joelteon> nice
PragCypher has quit [Ping timeout: 264 seconds]
<alexgordon> yawn
PragCypher has joined #elliottcable
Determinist has quit [Ping timeout: 240 seconds]
<devyn> what is this, a website for ants?
Determinist has joined #elliottcable
<devyn> so maaaany bad websites
<joelteon> WHAT THE FUCK IS THAT QUOTE
<joelteon> "what is this, a {x} for ants?"
<joelteon> god i'm going to SLIT THE THROAT OF THE NEXT PERSON TO SAY THAT
<devyn> lol
<purr> lol
<devyn> what is this, a joelteon for ants?
<joelteon> -- devyn
<purr> Let it be known that joelteon hates devyn.
<devyn> nooooo
<devyn> <3 joelteon
<purr> Let it be known that devyn hearts joelteon.
<purr> <Nuck> American English is a better-maintained fork of the English language.
whitequa1k has quit [Ping timeout: 252 seconds]
whitequark has joined #elliottcable
<devyn> american english sucks, ye pansies
<devyn> Canadian English™, because we have national identity issues!
<sanitypassing> American English does suck.
chris-tina has quit [Quit: Ex-Chat]
<jdhartley> cheers all, have a good night
jdhartley has quit [Quit: Textual IRC Client: www.textualapp.com]
<purr> <micahjohnston> JUST REALIZED I NEED ZIPPERS
<devyn> micahjohnston: did you mean zipper as in the data structure? lol → <micahjohnston> JUST REALIZED I NEED ZIPPERS
<purr> lol
<alexgordon> devyn: yes
alexgordon has quit [Quit: Computer has gone to sleep.]
PragCypher has quit [Ping timeout: 240 seconds]
Determinist has quit [Quit: Textual IRC Client: www.textualapp.com]
<devyn> I am ashamed of myself for doing this and getting upvoted for it
<joelteon> devyn, we can't be friends anymore
<devyn> :'(
<devyn> but you're my favorite fuckbuddy
<devyn> shit
<devyn> is gonna
<devyn> break
<devyn> I'm upgrading my server
<devyn> it runs arch
<devyn> after not upgrading anything for months
<devyn> :D
<joelteon> dude
<joelteon> upgrading arch after 4 months
<joelteon> is like having sex after 4 months
eligrey_ has joined #elliottcable
* inimino looks around
<devyn> lol
<purr> lol
eligrey has quit [Ping timeout: 245 seconds]
<joelteon> it's messy
<joelteon> and embarrassing
<devyn> joelteon: surprisingly everything appears to be going well
<devyn> I'm a god
<joelteon> that's what you think
<joelteon> and then BOOM
<joelteon> and then your sysadmin is giving you the :| face
<joelteon> oh wait, YOU'RE the sysadmin
<devyn> I already know about the major shit from the news
<devyn> haha
<devyn> I have to :| myself
<joelteon> heh
<joelteon> upgrading your own server to arch is like masturbating after 4 months
<devyn> as in it goes everywhere
<devyn> but feels really good after?
<joelteon> yeah
<joelteon> as long as you don't get it on your sheets
<devyn> joelteon: holy shit, it worked
<devyn> without a fucking hitch
<joelteon> wow
<joelteon> joke's on you: all log files are now being written to /dev/sda
<joelteon> directly
<devyn> hahahaha
<devyn> that would suck
<joelteon> dude
<devyn> gonna restart to make sure everything's okay
<devyn> wish me luck
<joelteon> on monday I got to attach 24 ephemeral drives to an EC2 instance
<joelteon> oh ok
<joelteon> i'll hold my story till later
<devyn> ok
<devyn> brb
<devyn> hopefully
<devyn> :p
sanitypassing has quit [Quit: WeeChat 0.4.0]
devyn has quit [Ping timeout: 264 seconds]
sanitypassing has joined #elliottcable
devyn has joined #elliottcable
<devyn> hey otters
<devyn> a few minor issues
<joelteon> hi
<purr> joelteon: hi!
<devyn> but mostly ok
<joelteon> like what
<devyn> like init=/bin/systemd should now be init=/usr/lib/systemd/systemd
<joelteon> aaaaawkward
<devyn> :p
<joelteon> brb going to the gym
<joelteon> i should get a phone IRC client
<devyn> I'm irssi'ing on the linux console
<devyn> fb
<devyn> :D
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
<devyn> holy shit joelteon, 121 points for that inane comment
<devyn> >_____>
eligrey_ is now known as eligrey
<joelteon> hahahaha
<joelteon> fucking
<joelteon> reddit
<joelteon> so
<joelteon> devyn do you have a WM
eligrey has quit [Quit: Leaving]
<devyn> joelteon: on what
<joelteon> on the thing you're using now
<devyn> right now I'm ssh'd in from my macbook, so obviously it has a wm
<devyn> :p
<joelteon> oh nice
<joelteon> is it a good WM
<devyn> uh, the WM in OS X is alright I guess… pretty basic but pretty
<devyn> lol
<purr> lol
<joelteon> xnomad is the way to go
<devyn> is that a thing
<devyn> xnomad
<devyn> anyway, I use xmonad on my arch VM on my desktop
<devyn> and my server is headless/linux console when I need it
<joelteon> yeah
<joelteon> xnomad is xmonad for osx
<devyn> I googled it and couldn't find it
<joelteon> fjolnir/xnomad
<devyn> wait
<devyn> never mind
<joelteon> problem is it requires tranquil which is a fucking awful language
<joelteon> but the WM is worth it
<devyn> I think I may be slightly dislexic sometimes
<devyn> lol
<purr> lol
<devyn> dyslexic*
<devyn> I think…
<devyn> ah
<devyn> huh not bad
<devyn> that's neat
<joelteon> yeah
<joelteon> i think my .xnomad is in my dotfiles
<devyn> what the fuck is tranquil
<joelteon> it's his stupid pet language he made
<devyn> ಠ_ಠ
<devyn> EVERYONE KNOWS IF YOU MAKE A PET LANGUAGE YOU'RE NOT ALLOWED TO USE IT FOR ANYTHING SERIOUS
<joelteon> and it also segfaults a lot
<joelteon> ...
<joelteon> BUT I SWEAR IT'S A GOOD WM
devyn has quit [Quit: Lost terminal]
devyn has joined #elliottcable
<devyn> wow
<devyn> internet access is slow
<devyn> the fuck
<joelteon> fuck
<devyn> >____>
sanitypassing has quit [Read error: Connection reset by peer]
devyn has quit [Ping timeout: 255 seconds]
devyn has joined #elliottcable
sanitypassing has joined #elliottcable
micahjohnston has quit [Quit: Connection closed for inactivity]
<whitequark> I wonder if it makes sense to do 'delimited composition' of languages in source code
<whitequark> as a general case
<whitequark> e.g.
<whitequark> hi_i_am_ruby(%{int main() { /* } */ return 0; }})
<whitequark> and have the code inside interpreted by the C parser.
<whitequark> as you can see, {} are not balanced--in fact, it is not possible to for the ruby parser alone to determine where the inline C ends
<whitequark> (without it including parts of C parser by itself, which is A Bad Idea)
<whitequark> so, what we need here is to be able to compose, arbitrarily, parsers for completely different languages.
<joelteon> waat
<joelteon> Huh, that's pretty neat
<joelteon> whitequark you might be onto something
<whitequark> preferably without any requirements for the structure for either of them
<whitequark> joelteon: Alan Kay did a similar work in his STEPS project
<whitequark> however
<joelteon> Now you need to make it a RubyGem and give it a catchy Japanese name
<joelteon> And it'll take the world by storm
<whitequark> he uses PEG/packrat parsers (slightly extended but whatever), which has either exponential time behavior
<whitequark> or requires memoization (and linear space)
<whitequark> neither of which excites me a lot.
<whitequark> plus, you have to rewrite all your favorite grammars in PEG with its fucking unlimited lookahead
<joelteon> yeah
<whitequark> I do not look forward to writing a Ruby grammar in PEG. it is likely a nightmare.
<joelteon> hmm
<whitequark> hell, I don't think it can even be parsed by PEGs!
<whitequark> it's context-sensitive dammit
<joelteon> Or you could do heredocs
<joelteon> or something...there has to be a way to delimit the block
<joelteon> without trying to parse it first
<whitequark> that is not what I want.
<whitequark> I do want to parse all of it, linearly
<joelteon> Oh
<whitequark> ec: you have unicode junk in the /title.
<joelteon> Wait, so what's the purpose of embedding a language in a different one
<whitequark> that guy may be onto something.
<whitequark> joelteon: basically, being able to do DSLs inside other languages
<whitequark> non-homoiconic, not restricted to sexprs
<whitequark> and not rigidly embedded in the host parser, like LINQ
<joelteon> oh ok
<joelteon> example use case
<joelteon> that is many words
<whitequark> I'm not here to cure your ignorance
<joelteon> whoa, there
<joelteon> I'm just saying, it's late
<joelteon> and research papers are a little tough to crack
<whitequark> it took me what, a week to waddle through that?
* whitequark shrugs
<purr> ¯\(º_o)/¯
<whitequark> well
<whitequark> the idea is that you can't do DSLs in C, for example
<whitequark> true DSLs, where you can create e.g. arbitrary new control structures
<joelteon> right
<whitequark> or just arbitrary new structures at all
<whitequark> and you can't do them in Ruby
<whitequark> or in Smalltalk
<whitequark> or even in Lisp, because it limits you with its lexer.
<whitequark> (you kinda can in Forth, e.g. LaTeX, but fuck that nightmare.)
<joelteon> hahaha
<whitequark> one of examples in STEPS is a TCP steck
<joelteon> you can do it in Rust, I know
<whitequark> *stack
<whitequark> joelteon: no, not really
<joelteon> well, in a manner of speaking
<whitequark> still limited by its lexer.
<joelteon> I mean
<joelteon> oh, ok
<whitequark> it's just macros
<whitequark> they're not even turing complete.
<joelteon> yeah, I guess that's as close as you can get
<whitequark> no.
<joelteon> well, in Rust, I mean
<joelteon> not in general
<whitequark> yes.
<joelteon> sorry, should have clarified
<whitequark> so
<whitequark> that TCP stack
<whitequark> have you seen RFCs for TCP, or IP, or other wire protocols?
<joelteon> yeah
<joelteon> I think I actually read all the way through the TCP one
<whitequark> that stack has its internal structures for fields generated *directly from diagrams in the RFC*
<whitequark> those ASCII artsy ones.
<joelteon> nice
<whitequark> imagine if your metalanguage would allow you to use literally the best language for a task you have
<whitequark> with great ease
<whitequark> that being said, I think STEPS is 20, maybe even 40 years ahead of time
<joelteon> that would be nice
<whitequark> Ruby kiiinda comes close
<whitequark> a little bit
<whitequark> with its lhs-match regexps
<joelteon> yeah
<whitequark> /(?<foo>.*)/ =~ string
<joelteon> what about lisp?
<whitequark> will create an lvar foo
<whitequark> thus kinda integrating the regexp language and ruby language
<whitequark> but this really, really sucks
<joelteon> right
<whitequark> what I want, for myself, right now
<whitequark> is a way to seamlessly integrate an FSM engine like Ragel, and a host language like Ruby
<whitequark> and by seamlessly I mean I want metaprogramming
<whitequark> I want to be able to generate FSM engine code with Ruby
<whitequark> I want to be able to enquire it at compile-time, and so on.
<whitequark> this is _ideal_ for embedded development where you process a fuckton of protocols and state machines
<joelteon> right
<whitequark> also
<whitequark> I flunked that dude's dissertation
<whitequark> about vau calculus
<whitequark> it's too fucking monstrous
<whitequark> completely impenetrable in parts. however, first 150 pages or so contain the most interesting parts, I think.
<whitequark> historic perspective on macros and the 'layman' explanation of his solutions
<purr> <alexgordon> micahjohnston is such a rebel, bitches love rebels
<devyn> whitequark: wait what LaTeX is FORTH underneath somehow?
<devyn> whitequark: is there any way to access this FORTH belly?
<whitequark> devyn: FUCK YES
<whitequark> and this is HORRIBLE
<whitequark> there's a package called verbatim
<whitequark> which implements \begin{verbatim}...\end{verbatim} and prints the insides, well, verbatim
<whitequark> how do you think the fucking thing works?!
<whitequark> it temporarily reconfigures LaTeX's lexer, and sets up an FSM in forth which watches for the exact \end{verbatim} token
<whitequark> it's 700 lines of fucking insanity
<devyn> holy shit
<whitequark> OF COURSE it is not composable
<whitequark> so if you want to format it in yours own way, you have to copy the source and hack on it
* whitequark shivers
<devyn> holy shit what the fuck is this
<devyn> I'm looking
<devyn> it's like
<devyn> noise
<whitequark> i think it's literate programming
<whitequark> the docs is in the same file as the program itself
<devyn> yes it is literate programming
<whitequark> it is probably recursive
<devyn> %\iffalse % this is a METACOMMENT !
<devyn> da fuq
<joelteon> wow
<joelteon> that's big
<whitequark> % We achieve this by the following trick:
<whitequark> % first we tell \TeX{} that |\|, |{|, and |}|
<whitequark> % are the lowercase versions of |!|, |[|, and |]|.
<whitequark> what the flying fuck
<devyn> yeah
<devyn> it's a hack
<devyn> my head hurts
<devyn> I have an exam
<devyn> good night
<whitequark> nite
niggler has quit [Quit: Computer has gone to sleep.]
wudofyr___ has quit [Remote host closed the connection]
wudofyr___ has joined #elliottcable
<purr> <devyn> got two bullets in this guy with an UMP from afar, and he bled to death. CoffeeScript is wonderful.
<purr> <ELLIOTTCABLE> ASCII art may be hard, but we don't have to parse things top-to-bottom
<purr> <devyn> it is a fact ----------- I think
<purr> <micahjohnston> somebody should get a large corpus of english text in IPA and markov-chain it to a text-to-speech
wudofyr___ has quit [Remote host closed the connection]
wudofyr___ has joined #elliottcable
owenb__ has quit [Ping timeout: 260 seconds]
PragCypher has joined #elliottcable
alexgordon has joined #elliottcable
<purr> <yorick> elliottcable: eboy is a nice guy, he wants me as an OFTN member
wudofyr___ has quit [Remote host closed the connection]
wudofyr___ has joined #elliottcable
owenb__ has joined #elliottcable
jdhartley has joined #elliottcable
alexgordon has quit [Quit: ["Textual IRC Client: www.textualapp.com"]]
alexgordon has joined #elliottcable
<joelteon> ahhh, computer illiterate people...
<jdhartley> I hate working with non technical project managers
<alexgordon> I hate people
<joelteon> I hate
<jdhartley> --everything
<jdhartley> -- everything
<purr> Let it be known that jdhartley hates everything.
<jdhartley> @purr how come if I decrement something you say I hate it
<joelteon> -- everyone
<purr> Let it be known that joelteon hates everyone.
<joelteon> ++ everyone
<purr> Let it be known that joelteon is indifferent to everyone.
<purr> <Nuck> I assume I'm not alone in envisioning elliottcable munching on the head of a parakeet?
<alexgordon> where IS ec?
<joelteon> gotta love the ruby "everything is a hash" mindset
<alexgordon> why
<alexgordon> it's a travesty
<joelteon> yeah
<joelteon> that's what I meant
<joelteon> alexgordon, how would you look up a system that stores { user => { thing => opinion } }, { thing => { opinion => [user] } }, and { user => { opinion => [thing] } }?
<joelteon> design, not look up
<joelteon> doing lookup is what we're designing for
<alexgordon> uh
<alexgordon> wat
<joelteon> you know, like purr's thing
<alexgordon> { "user": { "thing": opinion } }
<joelteon> yeah, I was thinking maybe a single datastructure that makes all those lookup methods simple
<alexgordon> { "thing": { "opinion": [user, …] } }
<joelteon> yeah...
<alexgordon> and
<joelteon> ok
<joelteon> I can guess
<alexgordon> sorry no
<alexgordon> I'm rewriting it in json so that I can read it
<joelteon> oh
<alexgordon> { "user": { "opinion: [thing…] } }
<joelteon> yeah
<alexgordon> it still doesn't make any sense though
<alexgordon> I repeat:
<alexgordon> wat
<joelteon> why not
<alexgordon> right I see what you mean
<alexgordon> so you want to be able to look up by user&thing, thing&opinion or user&opinion
<joelteon> yeah
<alexgordon> in sublinear time
<joelteon> well, yeah, hopefully
<joelteon> this isn't a huge dataset
<alexgordon> then accept linear time :P
<joelteon> ok
<alexgordon> have a table
<joelteon> i'll do what i'm doing then
<joelteon> I could use a database!
<alexgordon> [ [opinion, thing, user], ... ]
<joelteon> yeah!
<alexgordon> then just search through
<alexgordon> simplest thing that could possibly work
<joelteon> ok
<joelteon> that sounds good
<joelteon> updating isn't super easy that way
<joelteon> but
<joelteon> I could probably generalize it
<alexgordon> it's quite easy?
<alexgordon> scan through: make sure it's not there already
<alexgordon> then just append to the table
<joelteon> oh...right
<joelteon> or increment opinion
<alexgordon> wat
<alexgordon> oh opinion is an int?
<joelteon> right
<joelteon> or an instance of Enum
<alexgordon> yeah
<alexgordon> or just delete the existing row and insert a new one
<joelteon> which is what you do in a language with immutable structures
<alexgordon> right
eligrey has joined #elliottcable
jdhartley has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jdhartley has joined #elliottcable
jdhartley has quit [Client Quit]
jdhartley has joined #elliottcable
<ec> hi, all
<ec> joelteon: "joke's on you: all log files are now being written to /dev/sda" wat.
<purr> beep.
<ec> lol'd
<purr> lol
<ec> okay, well, bye
<alexgordon> nooo
<purr\GH> [System] ELLIOTTCABLE pushed 2 new commits to Master: https://github.com/ELLIOTTCABLE/System/compare/038c86845dc5...1e1c6f89e23a
<purr\GH> System/Master 1e1c6f8 elliottcable: new irssi config.
<purr\GH> System/Master 6ec4297 elliottcable: I LIKE SHOUTING
<ec> alexgordon: hu
<ec> hi
<purr> ec: hi!
<ec> alexgordon?
<alexgordon> yes yes
<purr\GH> [System] ELLIOTTCABLE pushed 1 new commit to Master: https://github.com/ELLIOTTCABLE/System/commit/46a8538045ec7a88d8d9db38173bceb747055eed
<purr\GH> System/Master 46a8538 elliottcable: (new up irc) Updating tmux_away.pl, hoping for fewer segfaults
<alexgordon> ec: I'll be 25 mins
<ec> I need to leave and drive for 7 hours. :
<alexgordon> :\
<alexgordon> man I just realized how CRAZY it is to have a phone in your car
<alexgordon> I mean, it's illegal to talk on the phone
<alexgordon> why would anyone *install* one
<alexgordon> ec: o7, I guess
ELLIOTTCABLE has quit [Quit: best short-url ever. <http://ell.io/tt>]
ELLIOTTCABLE has joined #elliottcable
<ec> alexgordon: >: aww
<ELLIOTTCABLE> testing
<ELLIOTTCABLE> CROSS YOUR FINGERS
<jdhartley> hi ec
ELLIOTTCABLE has quit [Remote host closed the connection]
ELLIOTTCABLE has joined #elliottcable
<ec> FUCK ME IT STILL SEGFAULTED
<whitequark> oooooh
<whitequark> I fucking love ocaml.
<whitequark> I want to marry it so much.
<PragCypher> maybe you could be the first person in history to legally marry a programming language
<PragCypher> you should try
PragCypher has quit [Quit: Leaving]
<purr> <Nuck> elliottcable: He was raised mormon, he doesn't know how vaginas work.
jdhartley has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
chris-tina has joined #elliottcable
<alexgordon> hahha
* alexgordon actually laughed out loud
s1n4 has joined #elliottcable
s1n4 has quit [Quit: leaving]
chris-tina has quit [Ping timeout: 246 seconds]
chris-tina has joined #elliottcable
chris-tina_ has joined #elliottcable
chris-tina has quit [Ping timeout: 240 seconds]
chris-tina_ has quit [Max SendQ exceeded]