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