00:02:56 <oerjan> <FreeFull> But you didn't specify which cube root <-- all of them, and then the general solution is to do all linear combinations.
00:04:55 <Sgeo> oerjan, that seems annoying, the way some of them, say, put the constant in the cell to the right
00:05:06 <Sgeo> Going to need to think about what each one does, exactly, in order to use it
00:06:10 <oerjan> well if you have something like +++++[->+++++<] for 25 then it's hard _not_ to get the result in the cell you didn't start in
00:06:45 <Sgeo> It's easy to modify, but would be nice for some of them if it were clearer what it would do
00:06:52 <Sgeo> So I know whether I need to mod
00:08:26 <oerjan> i believe we agreed to the principle that it should _end_ on the cell with the result.
00:09:38 <oerjan> and i think all the 2-cell versions have balanced loops, so if you look for those that have > after the final ] it should give it in the right hand cell.
00:09:40 <Sgeo> I might just give my language an extra command \
00:10:47 -!- sivoais has quit (Changing host).
00:10:47 -!- sivoais has joined.
00:12:17 <oerjan> Sgeo: i suspect all the 2-cell ones end on the right hand cell anyway
00:14:27 <oerjan> oh there's a counterexample for 75. it's not the first one listed, though.
00:14:48 * Sgeo decides he doesn't like {}
00:14:54 <Sgeo> Instead, meet ; and :
00:15:25 <Sgeo> ; inputs the current cell value into the current code block, and ; outputs the result of compiling the current code block
00:15:41 <Sgeo> erm, : outputs etc.
00:23:28 <Sgeo> I still want to not require the pain of writing a Brainfuck quine just to permanently change the meaning of :
00:35:00 <oerjan> you realize this would be _so_ much easier in brainbrain.
00:35:42 <oerjan> brainbrain compiles brainfuck easily, not brainbrain
00:35:55 <oerjan> or was that interpret argh
00:40:16 <monqy> well if brainfuck is brainfuck-1 and brainbrain is brainfuck-2, how about brainfuck-3.
00:40:37 * Sgeo is aiming at brainfuck-aleph-null
00:41:19 <monqy> well when we're talking about stuff like this we should be using ordinals not cardinals shouldn't we
00:41:22 <kmc> brainfuck-ω maybe
00:42:02 <kmc> ordinals are more fun anyway
00:42:43 <kmc> brainfuck-ε₀
00:48:19 <Sgeo> Should I call it Trustfuck or Braintrust?
00:48:35 <Sgeo> I can put the latter on GitHub where employers could see it and mention it in interviews...
00:48:45 <Sgeo> But I like the name Trustfuck more
00:49:54 <kmc> depends on the company, a lot of them seem to find being profane and unprofessional quite attractive
00:50:21 <monqy> you could call it trustf**k, or trust**** for added mystique
00:50:29 <kmc> how about *********
00:50:31 <monqy> could it be trustdamn?? trustshit????? nobody knows
00:50:45 <kmc> call it buttshitter 2000
00:51:04 <kmc> enterprise edition
00:51:42 -!- monqy has quit (Quit: Lost terminal).
00:53:21 -!- monqy has joined.
00:55:31 <oerjan> or rather, Reflections on Fucking Fuck
00:55:46 <oerjan> Slereah_: you realize that's taken
00:56:04 <Slereah_> But at least there's no profanity
00:58:35 -!- SirCmpwn has joined.
01:03:35 <kmc> oerjan: haha
01:05:39 <elliott> i endorse Reflections on Fucking Fuck
01:06:41 <kmc> that would be a good name for a blog
01:09:24 <Sgeo> I don't get it
01:13:26 <Sgeo> More important things to work out than the name
01:13:40 <Sgeo> Do I need to add more commands to manipulate the code block? How do I fix the quine issue?
01:18:00 <Phantom__Hoover> my lazy translation would be cerebrumcrisandum, but that's a terrible translation
01:23:23 <Sgeo> I.... think what I need to do is subtly change the semantics of :
01:24:02 <Sgeo> I was thinking along the lines of adding a ! and having that mean compile with previous compiler, but that's almost identical to :, but... I see... a little bit of a diference
01:24:33 <Sgeo> What I need : to do is send to the previous version of the compiler, rather than have literal meaning tacked in
01:25:08 <Sgeo> ....now I need to think if that's implementable
01:25:23 <oerjan> when Sgeo is finished he'll have accidentally implemented Feather.
01:27:28 <Sgeo> I think my prior confusion was because I had an incorrect implementation in my head
01:30:24 <Sgeo> I feel like I want to extend it a bit more
01:30:35 <Sgeo> Not just store a compiler secretly, but arbitrary data too
01:31:10 <Sgeo> But that seems even more difficult
01:32:55 <shachaf> monqy: adjunctions are "pretty neat huh"
01:33:23 -!- copumpkin has quit (Ping timeout: 252 seconds).
01:33:27 <Sgeo> Actually, I don't need to add extra constructs to do it. Just write a compiler that transforms, say, q into, say, +++
01:33:36 <Sgeo> before sending to prior compiler
01:34:01 -!- copumpkin has joined.
01:39:15 -!- Phantom__Hoover has quit (Quit: Leaving).
01:40:56 <shachaf> monqy: you know how you can get State and Store from the unit and counit of the (e,) -| (e->) adjunction?
01:47:23 <Sgeo> How problematic is it that each iteration will result in a bigger and bigger binary
01:47:27 <Sgeo> Is this even avoidable?
01:47:30 <Sgeo> I doubt it, tbh
01:49:05 <Sgeo> Ok, new command. !. Compiles with the primitive compiler
01:52:15 <shachaf> they "are pretty neat imo"
01:52:19 <kmc> don't know about those
01:52:46 <shachaf> An adjunction between two functions is when you have (F a -> b) ~~ (a -> G b)
01:53:30 <shachaf> Just ask elliott how great they are.
02:08:02 <Sgeo> I keep thinking in terms of Haskell, but Scheme is probably easier to write quines in
02:10:14 <kmc> quines are equally easy to write in most languages, in that there's only one trick
02:10:38 <kmc> Scheme has the advantage that you get to read/print S-expressions rather than flat strings, but this isn't that useful in writing a quine
02:10:45 <kmc> Haskell quine is shorter overall I believe
02:11:08 <kmc> the quine trick is also the halting theorem proving trick and the Y combinator trick
02:11:11 <kmc> p. good trick imo
02:12:06 <shachaf> AAAA++++++ would trick again
02:12:37 -!- TeruFSX has joined.
02:20:49 <Sgeo> Should the compile command be : or !
02:21:05 <Sgeo> ! seems exciting, but : sort of evokes output, the way ; evokes input
02:21:35 <kmc> it should be ꙮ
02:24:20 <shachaf> So with an adjunction F -| G you have eps : F (G a) -> a and eta : a -> G (F a), and that's enough to give you a monad and a comonad.
02:24:38 <shachaf> With return = eta and join = fmap eps
02:25:01 <Sgeo> http://esolangs.org/wiki/Trustfuck
02:28:17 <Sgeo> So yeah, I added a cheat to make programming slightly easier
02:28:47 <Sgeo> \H.\e.\l.\l.\o.\ .\W.\o.\r.\l.\d. is hello world
02:28:53 <Sgeo> I have no regrets
02:37:22 <shachaf> @ask zzo38 What is <http://www.gravatar.com/avatar/432b14624c692e7a24b7ce1c1ec8db50?size=160&d=wavatar>?
02:47:06 <Sgeo> Here's a question: As of right now, does Trustfuck count as implemented?
02:47:48 <Sgeo> I wrote the compiler. The compiler exists. Yet, it is not currently usable. However, it can be made usable in the future.
02:48:01 <Sgeo> So, Implemented or Unimplemented?
02:48:01 <kmc> shachaf: did you finish cryptochallenges part 2 yet?
02:49:19 <Sgeo> Hmm, I remember asking a similar question before, and someone noted that if "A compiler exists" is all that's needed, everything is implemented
02:51:07 <kmc> shachaf: what a strange question
02:51:40 <kmc> it looks like a default gravatar here, of the 'funny face' variety
02:51:52 <kmc> if you change 'wavatar' to 'identicon' you'll get a geometrical pattern
02:54:28 -!- DHeadshot has joined.
02:58:51 <Sgeo> I think I was just called a sinner for making an esolang
03:01:36 <shachaf> kmc: Oh, I thought it was zzo38's picture.
03:01:40 <shachaf> I've never seen that default.
03:01:49 <shachaf> kmc: Nope, haven't worked on it.
03:01:54 <shachaf> elliott has been distracting me!
03:02:13 <kmc> i need to marshall enough attention to solve problem 14
03:02:53 <shachaf> have you added the word "kentucky" to your lexicon yet
03:03:11 <kmc> i don't understand
03:03:11 <shachaf> Fitting exactly and satisfyingly. The cardboard box that slides neatly into an exact space in a garage, or the last book which exactly fills a bookshelf, is said to fit 'real nice and kentucky'.
03:03:32 <Sgeo> "activly wasting time is a sin just so you know"
03:03:52 <kmc> is that because kentucky perfectly fills the space between west virginia, virginia, tennessee, missouri, illinois, indiana, and ohio?
03:04:57 <shachaf> http://folk.uio.no/alied/TMoL.html
03:05:27 <kmc> i've heard that's a good book
03:08:48 <shachaf> To do what babies do to soup with their spoons.
03:09:05 <shachaf> Sort of person who takes the lift to travel one floor.
03:09:12 <shachaf> Perhaps I shouldn't paste the whole thing in here.
03:12:48 <kmc> it's been a while since i watched a baby eat soup
03:19:14 <kmc> haven't been keeping up with fuckyeahbabieseatingsoup.tumblr.com
03:21:11 <kmc> "The IPv6 version has extra scenes and extra color support. So if you want to experience ascii starwars to it's fullest you really should get IPv6."
03:21:51 <shachaf> Maybe kmc would find forgetful functors more interesting if someone left adjoint in one.
03:22:27 <kmc> it's funny because marijuana makes people forgetful
03:25:06 <shachaf> There should be a law against fancy letters.
03:25:22 <kmc> the nazis had one of those
03:26:26 <shachaf> Also there should be a law against Greek letters.
03:27:15 <kmc> they also banned tubas or was it accordians
03:27:42 <shachaf> have you learned to play the chromatic button accordion yet
03:28:19 <kmc> no why would i do that
03:29:21 <kmc> im not cool :(
03:34:31 -!- augur has joined.
03:49:37 <Sgeo> "Next time, Ill explain what zippers are, and describe how to do calculus with types."
03:49:42 * Sgeo is finding this series enjoyable
03:50:05 -!- zzo38 has joined.
03:50:35 <shachaf> Sgeo: You should make a Twitter account.
03:50:55 <Sgeo> I have a Twitter account
03:51:19 <Sgeo> I do occasionally
03:55:42 -!- SirCmpwn has quit (Ping timeout: 252 seconds).
04:00:49 <kmc> http://review.cyanogenmod.org/#/c/30269/1/include/utils/Singleton.h why should this matter? allegedly it fixes a One Definition Rule violation
04:05:56 <kmc> maybe i am drunk enough to venture into ##c++
04:06:25 <kmc> i want to know the answer
04:07:41 <kmc> also using CPP to instantiate templates is great
04:08:10 <kmc> i heard you like templates so i put templates in your bastardized not-quite-templates
04:12:21 -!- SirCmpwn has joined.
04:14:57 <zzo38> Is a disjunctive state monad useful for anything?
04:14:57 <lambdabot> zzo38: You have 1 new message. '/msg lambdabot @messages' to read it.
04:15:36 <lambdabot> shachaf asked 1h 38m 14s ago: What is <http://www.gravatar.com/avatar/432b14624c692e7a24b7ce1c1ec8db50?size=160&d=wavatar>?
04:15:41 <shachaf> What is the disjunctive state monad?
04:16:13 <zzo38> shachaf: I don't know what tha picture is; I think it is just a random picture used when you don't have a account.
04:16:29 <zzo38> shachaf: A disjunctive state monad is what I called (CodensityAsk (Store x))
04:16:54 <zzo38> (It is either the state or the value rather than both)
04:16:59 <shachaf> newtype CA m a = CA { runCA :: forall r. m r -> (a -> r) -> r }
04:17:13 <shachaf> forall r. Store x r -> (a -> r) -> r
04:17:25 <shachaf> forall r. (x, x -> r) -> (a -> r) -> r
04:17:41 <shachaf> forall r. x -> (x -> r) -> (a -> r) -> r
04:18:01 <zzo38> (In addition, <|> can be used to compose states; if the left side is a state then that becomes the input state for the right side.)
04:18:03 -!- SirCmpwn has quit (Quit: Leaving).
04:18:45 <shachaf> That's like half a simple prism!
04:20:44 <zzo38> What is a simple prism?
04:21:01 <shachaf> SimplePrism s a = (a -> s, s -> Either s a)
04:21:05 -!- SirCmpwn has joined.
04:23:35 <shachaf> How does this monad behave?
04:24:09 <shachaf> @unmtl ReaderT r (Either e) a
04:24:40 <shachaf> So it's like ReaderT s (Either s)?
04:25:12 <zzo38> I suppose so, except that it is now also MonadPlus
04:25:15 <shachaf> I don't think this has much to do with state as such.
04:25:36 <zzo38> I also don't really think it has a lot to do with the state
04:25:53 <shachaf> ReaderT also has a MonadPlus instance.
04:26:04 <shachaf> And (Either e) does (right?)
04:26:20 <zzo38> No it doesn't, but it should, if e is a monoid!
04:26:32 <zzo38> However, it is not the same MonadPlus you get from that.
04:28:21 <zzo38> (Note that (CodensityAsk ((->) x)) is like (Either x) and will give you the MonadPlus instance automatically.)
04:28:50 <shachaf> Are you sure CodensityAsk is a good name for this monad?
04:29:04 <zzo38> No, but I don't know the better name that is why it is called that.
04:30:05 <zzo38> (Codensity ((->) x)) gives you (State x).
04:31:16 <shachaf> (Codensity R) will give you (x ->)
04:32:06 <zzo38> OK, maybe I can figure it out, but right now I don't know.
04:32:13 -!- sebbu has quit (Ping timeout: 256 seconds).
04:32:32 <shachaf> I thought we pay you to know these things.
04:33:31 <zzo38> Well, yes, it is the IRC you can pay attention whever is written on here, if you want to.
04:33:32 -!- sebbu has joined.
04:33:36 <zzo38> But I don't know everything.
04:33:36 <shachaf> zzo38: Every monad M can be expressed as (Codensity R) for some R.
04:34:09 <shachaf> I read in a paper that it's true.
04:36:14 <lambdabot> m >>= k = Cont $ \c -> runCont m $ \a -> runCont (k a) c
04:36:29 <shachaf> m >>= f = DSM $ \s -> either Left (\y -> unDSM (f y) s) (unDSM m s) -- disjunctive state monad
04:36:33 <shachaf> I suppose they look similar.
04:37:24 <shachaf> @ty \m k -> either Left k (m s)
04:37:25 <lambdabot> (Expr -> Either a b) -> (b -> Either a b1) -> Either a b1
04:37:44 <shachaf> @ty \m k -> \s -> either Left k (m s)
04:37:46 <lambdabot> (t -> Either a b) -> (b -> Either a b1) -> t -> Either a b1
04:38:03 <shachaf> @ty \q fm k -> \s -> q k (m s)
04:38:04 <lambdabot> The function `m' is applied to one argument,
04:38:05 <lambdabot> In the second argument of `q', namely `(m s)'
04:38:08 <shachaf> @ty \q f m k -> \s -> q k (m s)
04:38:10 <lambdabot> (t2 -> t3 -> t1) -> t -> (t4 -> t3) -> t2 -> t4 -> t1
04:40:08 -!- sebbu2 has joined.
04:40:08 -!- sebbu2 has quit (Changing host).
04:40:08 -!- sebbu2 has joined.
04:40:58 -!- sebbu has quit (Ping timeout: 245 seconds).
04:42:36 <lambdabot> ContT r m, ErrorT e m, IO, Maybe, RWST r w s m, ReaderT r m, ST s, StateT s m, WriterT w m, []
04:43:59 -!- Arc_Koen has quit (Quit: Arc_Koen).
04:48:22 <hagb4rd> god i hate haskell. it's like a variegated salad of chars, but there are no vitamines.. just eye cancer
04:51:12 <Sgeo> I'm at the point where I can barely think straight
04:51:44 <hagb4rd> if at least someone would care and make something useful with it
04:51:53 <hagb4rd> like burry it deep in a secret place
04:52:13 <Sgeo> I'm planning on having Trustfuck compile to Haskell
04:52:15 <Sgeo> Does that help?
04:53:32 <hagb4rd> not yet. what is the goal of that? but i'm not familiar with trustfuck
04:53:40 <lambdabot> http://www.urbandictionary.com/define.php?term=Trust%20Fuck
04:53:40 <lambdabot> Title: Urban Dictionary: Trust Fuck
04:54:19 <Sgeo> http://esolangs.org/wiki/Trustfuck
04:57:13 <hagb4rd> if you want don't want to waste your time (in the next few moments) have a look at THIS
04:57:15 <hagb4rd> http://mrdoob.github.com/three.js/
04:58:19 <hagb4rd> never seen such magic before
04:58:58 <hagb4rd> a few dozens lines of code, and you're off for the ride
04:59:08 <oerjan> hagb4rd: i just made a Quiler compiler to haskell hth http://esolangs.org/w/index.php?title=Quiler&diff=35432&oldid=35414
05:00:25 <hagb4rd> haskell code just ends in itself
05:00:42 <oerjan> in that particular case, you are entirely correct.
05:02:10 <hagb4rd> let's have a look a at quiler
05:02:54 <oerjan> i've also used haskell _lots_ of times to make esolang program builders.
05:03:15 <lambdabot> oerjan says: i only do impractical things
05:03:58 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: uoerjan: not found
05:08:07 <oerjan> hm maybe i should have put in a #! line
05:08:28 <lambdabot> oerjan says: i only do impractical things
05:08:30 <lambdabot> oerjan says: i only do impractical things
05:08:32 <lambdabot> kmc says: I think C++ is best thought of as an esolang. It's fun to learn, fun to figure out how to do some trivial things in only 300 lines of code. Not fun to use for practical stuff.
05:09:00 <shachaf> kmc: did you figure out the answer to your c++ question
05:09:09 <lambdabot> JonHarrop says: As the Lispers always say, it is theoretically possible to do a good job but...
05:09:25 <lambdabot> Heffalump says: he's [Jon Harrop] not exactly a Haskell beginner, more like a Haskell fuckwit
05:14:07 <lambdabot> beaky says: why did they settle on bitshiftrightassign (>>=) for monadic bind?
05:14:21 <lambdabot> and haskell is not a lisp. correct? holy shit then m learning haskell
05:14:53 <shachaf> So you know how (State s) has a hidden (Store s) and vice versa?
05:17:09 <oerjan> modified the quiler compiler a bit
05:18:22 <zzo38> Lisp and Haskell together might be good for some purposes.
05:19:07 <kmc> yes, i've always wanted an optional alternative lisp-like syntax for Haskell, for metaprogramming
05:19:11 <kmc> i know there are a few projects to do this
05:31:26 <kmc> good old stanford bunny
05:31:38 <kmc> that takes me back
05:37:51 <zzo38> I made up a combination connector format "Digi-RGB-Plus", which consists of two Digi-RGB video signals, four analog audio signals, and one 1200 bps 8N1 control signal. (The control signal may be absent; it is not needed to play a video. The other signals may also be absent if unused, and any of them can be split into other cables.)
05:38:20 <kmc> what is the control signal used for?
05:38:28 <kmc> is it bi-directional?
05:38:40 <zzo38> No, it is only one way (but the opposite way from all of the other signals).
05:39:38 <zzo38> It can be used for remote control functions and for some other functions, such as 0xE2 "Synchro start", 0xE9 "OSD suppress", and so on.
05:39:44 <kmc> what kind of physical connector would you use?
05:39:56 <zzo38> I haven't made that part yet.
05:41:45 <zzo38> For video-only you can use Digi-RGB, and you might make a cable between Digi-RGB and Digi-RGB-Plus (regardless of which side is in and out), and it can still work. Digi-RGB-Plus is more like a combined cable like SCART or HDMI, but free, open, far simpler, and other differences.
05:45:16 <zzo38> I don't know if I did something a bit wrong, and maybe there may be a bit more commands than it is now, but all of them are optional.
05:59:06 -!- oonbotti has joined.
06:05:02 <zzo38> Some places have really strange laws, I have a list in my computer and in a book
06:07:51 <zzo38> "The state constitution allows for freedom of speech, a trial by jury, and pregnant pigs to not be confined in cages."
06:08:25 <shachaf> is "pig" a euphemism for the common folks
06:08:43 <zzo38> I don't know. Maybe it means pigs.
06:09:54 <zzo38> "It is mandatory for a motorist with criminal intentions to stop at the city limits and telephone the chief of police as he is entering the town."
06:11:47 <zzo38> "Mourners at a wake may not eat more than three sandwiches."
06:20:49 -!- hagb4rd has quit (Ping timeout: 248 seconds).
06:23:52 -!- hagb4rd has joined.
06:53:53 -!- sebbu2 has quit (Ping timeout: 245 seconds).
07:07:02 -!- epicmonkey has joined.
07:35:53 -!- azaq23 has joined.
07:36:07 -!- azaq23 has quit (Max SendQ exceeded).
07:38:27 -!- oerjan has quit (Quit: leaving).
07:42:02 -!- stuntaneous has joined.
07:44:49 -!- stuntane has quit (Ping timeout: 256 seconds).
07:46:39 -!- stuntane has joined.
07:49:29 -!- stuntaneous has quit (Ping timeout: 276 seconds).
08:01:33 -!- carado has joined.
08:15:08 -!- sirdancealot has joined.
08:50:26 -!- Frooxius_ has joined.
08:50:46 -!- Frooxius has quit (Read error: Connection reset by peer).
08:51:06 -!- Frooxius_ has quit (Client Quit).
08:51:32 -!- Frooxius has joined.
08:59:05 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter).
09:00:42 -!- c00kiemon5ter has joined.
09:09:52 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter).
09:13:32 -!- c00kiemon5ter has joined.
09:15:02 -!- c00kiemon5ter has quit (Client Quit).
09:16:32 -!- c00kiemon5ter has joined.
09:21:04 -!- Phantom_Hoover has joined.
09:35:59 -!- zzo38 has quit (Remote host closed the connection).
10:18:16 -!- monqy has quit (Quit: hello).
10:50:41 -!- zzo38 has joined.
10:55:11 -!- Deewiant has quit (Quit: Reboot).
11:09:35 <zzo38> What do you think of "dry" and "wet" skepticism?
11:10:22 -!- Deewiant has joined.
11:10:39 <shachaf> zzo38: Hmm. I'm skeptical.
11:18:49 <zzo38> gopher://zzo38computer.org:70/0textfile/fun/sci-skep section 0.6.1. See also [[Pseudoskepticism]] on Wikipedia.
11:24:37 <zzo38> The two extremes are perhaps personified by Martin Gardner (dry) and Marcello Truzzi (wet).
11:33:39 -!- FreeFull has quit (Quit: Graphics drivers messed up. I am quitting blindly, please retype any messages to me once I'm back.).
11:38:37 -!- FreeFull has joined.
11:48:49 -!- hagb4rd has quit (Ping timeout: 240 seconds).
11:49:58 -!- sebbu has joined.
12:10:09 -!- hagb4rd has joined.
12:13:02 -!- sebbu2 has joined.
12:13:17 -!- sebbu2 has quit (Changing host).
12:13:18 -!- sebbu2 has joined.
12:13:23 -!- sebbu has quit (Ping timeout: 252 seconds).
12:14:07 -!- sebbu2 has changed nick to sebbu.
12:23:53 -!- DHeadshot has quit (Ping timeout: 245 seconds).
12:24:17 -!- DHeadshot has joined.
12:25:30 -!- Arc_Koen has joined.
12:27:53 -!- sebbu2 has joined.
12:27:53 -!- sebbu2 has quit (Changing host).
12:27:53 -!- sebbu2 has joined.
12:29:24 -!- sebbu has quit (Ping timeout: 252 seconds).
12:42:58 -!- TeruFSX has quit (Read error: Operation timed out).
12:51:59 -!- impomatic has quit (Ping timeout: 255 seconds).
12:57:23 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de).
13:07:56 -!- impomatic has joined.
13:12:38 -!- DHeadshot has quit (Ping timeout: 245 seconds).
13:13:33 -!- DHeadshot has joined.
13:31:08 -!- esowiki has joined.
13:31:09 -!- glogbot has joined.
13:31:10 -!- glogbackup has left.
13:31:12 -!- esowiki has joined.
13:31:12 -!- esowiki has joined.
13:38:01 -!- Taneb has joined.
13:52:33 -!- boily has joined.
13:57:03 -!- ais523 has joined.
13:59:14 <Sgeo> Is it ok to make code be on a very long line if it makes my life sufficiently easier?
13:59:50 <Sgeo> Actually, the code wouldn't be on one line, the string representing the code would be
14:00:00 <Sgeo> This would be far more pleasant if Haskell had multiline strings
14:00:33 <Sgeo> As in, not bothering to break the string up so that it's on multiple lines
14:00:55 <Sgeo> Although I'm sure I could figure out a way to make it work
14:01:13 <Sgeo> (Splitting string on multiple lines)
14:08:03 -!- DHeadshot has quit (Ping timeout: 245 seconds).
14:08:53 -!- DHeadshot has joined.
14:19:57 -!- Taneb has quit.
14:32:00 -!- sebbu2 has changed nick to sebbu.
14:35:36 <Jafet> Haskell is the world's best multiline strings language.
14:43:24 <ais523> how do you do multiline strings in Haskell?
14:46:42 <Sgeo> I'm just going to use ++ or something probably :/
14:47:19 <Sgeo> It's not like I have no understanding of quines work, I'm sure I can pull this off
14:56:55 -!- cuttlefish has joined.
15:20:22 -!- copumpkin has quit (Ping timeout: 252 seconds).
15:20:59 -!- copumpkin has joined.
15:21:22 <FreeFull> Is randomIO/randomRIO generally a bad idea compared to newStdGen and then random/randomR ?
15:27:38 <Sgeo> It suddenly occurs to me that giving a program access to the compiler it was compiled with might not actually be impressive...
15:27:46 <Sgeo> Do other languages do that?
15:35:48 <Sgeo> You know what makes more sense than ; and :?
15:37:18 <Sgeo> After all, sending to code block is a sort of output
15:38:51 <boily> you could always go the intercal way with ¢.
15:39:35 <ais523> although it's not obvious
15:39:51 <ais523> (Perl compiles to bytecode and then executes it, internally; it's possible to both get at the bytecode, and get at the compiler)
15:41:36 <Sgeo> I want to add another command
15:42:03 <Sgeo> But have a weird decision to make
15:42:09 <Sgeo> I want it to use the nth compiler
15:42:37 <Sgeo> But do I count 0 as "The compiler used for the running program", or "The original compiler that has no corresponding source code"?
15:42:55 <Sgeo> Hmm, I could make ! emit the current compiler version and 0@ be the primitive compiler
15:43:22 <Sgeo> Wow, that's bad naming, should switch them around
15:43:57 <FreeFull> There probably is an esoteric language where you can modify the compiler/interpreter
15:44:39 <boily> Sgeo: may I point you to this fine compilational eldritch horror: http://caterwauljs.org/
15:44:46 <FreeFull> So you could write some header code that would program the interpreter so that everything from a certain point gets interpreted as brainfuck
15:46:04 <FreeFull> The tricky part is that your code changes meaning as you change the interpreter
15:46:40 <ais523> just seen as a quiz question: "true or false: there are over 1 billion web pages on the Internet"
15:46:55 <ais523> if you count pages that are generated on demand, I think there are infinitely many, aren't there?
15:47:18 <FreeFull> You'd probably want some way to accumulate changes and then apply them all at once
15:47:48 <ais523> FreeFull: you can do that sort of thing in loads of languages, both eso and non-eso
15:47:49 <FreeFull> ais523: Do you count pages you can only see once though?
15:48:03 <ais523> FreeFull: well the quiz show said it was true, but didn't elaborate
15:49:16 <FreeFull> What, modify the interpreter on the go?
15:49:30 <FreeFull> To have it end up as a completely different interpreter?
15:50:11 <Sgeo> I swear I've seen a language that has some program that starts out Lisplike and becomes Smalltalk-like
15:51:19 <FreeFull> Sgeo: A haskell quine is very easy to write
15:51:31 <FreeFull> My first working quine was a haskell quine
15:51:45 <Sgeo> Yes, and I have an idea of how I would structure it
15:51:57 <ais523> FreeFull: it isn't normally /completely/ different, although in something like Forth it is
15:52:11 <Sgeo> The thing is, it's a large program that needs to be quinified, and it would be ... easier, to have macros to ease some of the pain
15:52:29 <Sgeo> Although again, I think I can do it comfortably in Haskell
15:52:30 <FreeFull> ais523: I'm thinking *some gobblebock* *brainfuck*
15:52:53 <ais523> FreeFull: yeah, I think you can do that in Forth, not sure if you can change the parser though
15:52:56 <FreeFull> And once it's in brainfuck mode of course, it's stuck there unless you provided an escape hatch
15:53:02 <ais523> but that's pretty much what Forth is designed for
15:53:14 <Sgeo> Also, it's not a perfect quine, I need to add stuff in and change a number etc.
15:53:52 <FreeFull> Sgeo: Guessing you can't read the source? =P
15:54:13 <Sgeo> That feels cheatingish
15:54:25 <Sgeo> And it would be nice to someday write a version in x86
15:54:33 <Sgeo> Although that would be clinically insane
15:54:53 <Sgeo> It would... illustrate what I want to, more clearly than Haskell
15:55:39 <Sgeo> Writing a compiler for a Brainfuck derivative in a Brainfuck-like language that targets x86 without writing a bit of ASM
15:56:12 <Sgeo> (Well, really, the compiler would be targetting a Brainfuck-like language then calling a compiler primitive)
15:57:16 <FreeFull> ais523: You should be able to do anything, even make the interpreter read backwards and reinterpret your code as something else
15:57:45 <ais523> FreeFull: there's no particular reason why you couldn't change the parser in that sort of language (see, e.g., Feather), just I'm not sure whether it tends to be implemented or not
16:11:58 -!- hagb4rd has joined.
16:20:15 <Sgeo> I thought my language was insane. Is it actually boring?
16:20:24 <Sgeo> Although implementing it will be interesting I guess
16:36:11 -!- sivoais has quit (Ping timeout: 255 seconds).
16:39:49 -!- sivoais has joined.
16:43:01 <Sgeo> Hmm, showing a tuple doesn't put a space after the ,
16:43:10 <Sgeo> (I mean, not a big deal or anything, just found that weird)
16:43:57 <Sgeo> What I'm doing is too elaborate for a typical quine, but considering that it's a large program that needs to be quined...)
16:48:18 -!- sivoais has quit (Ping timeout: 272 seconds).
16:48:24 <Sgeo> http://hpaste.org/82223
16:48:59 <ais523> Sgeo: there's a reasonably simple way to quine arbitrarily large quines
16:49:13 <ais523> you basically make a format for your language that can easily be either evalled or output (this may require writing an interpreter)
16:49:20 <ais523> then do your quine underload-style
16:49:46 -!- sivoais has joined.
16:51:50 <Sgeo> Anything particularly bad about my approach?
16:53:04 <ais523> I don't know, I haven't read it :)
16:53:28 <Sgeo> Hmm. With my current spec, even if something only uses the primitive compiler, there's no way to statically determine that, so all compilers get included
17:04:53 * Sgeo considers adding a ; command
17:05:45 -!- Taneb has joined.
17:07:43 <Sgeo> ; would be compile-in
17:08:15 <Sgeo> That is, if the program is being executed as a subcompiler, it receives code. This way, such a compiler is free to ask for genuine input if it wishes
17:08:18 <Sgeo> Is that too insane?
17:11:23 -!- DHeadshot has quit (Read error: Connection reset by peer).
17:22:49 <Phantom_Hoover> how does the thing work where you denote the image of a function f : X -> Y work in category theory
17:23:33 <Phantom_Hoover> is it like... f is a functor from the... category of subsets of X to the category of subsets of Y?
17:25:18 <elliott> functions aren't really functors?
17:25:24 <elliott> category theory is all one level up
17:25:52 <elliott> a functor is from category C to D if that's what you mean?? bear in mind I know almost nothing about CT
17:27:18 -!- sebbu2 has joined.
17:27:38 -!- sebbu has quit (Ping timeout: 245 seconds).
17:31:41 <Phantom_Hoover> elliott, no but you know how you write f(X) to mean {f(x) : x \in X}
17:35:08 -!- sebbu2 has changed nick to sebbu.
17:40:35 <Sgeo> http://www.reddit.com/r/tipofmytongue/comments/18cbti/tomtmod_avoid_linking_to_tumblr/
17:44:10 <Sgeo> Reddit considers Tumblr to be spam :(
17:52:20 -!- Halite has joined.
17:52:48 <Halite> I made an Esoteric Programming Language today. It's heavily based on BF.
17:53:55 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
17:54:07 <EgoBot> 20 +++++[>++>>><<<<-]>. [23]
17:54:09 -!- fizzie` has changed nick to fizzie.
17:54:22 <HackEgo> Brick goes in brain. The statutory punishment for perpetrators of brainfuck derivatives.
17:54:51 <fizzie> (Law of the jungle, I'm afraid.)
17:54:58 <Halite> I call my programming language NAND++
17:57:45 <Sgeo> fizzie, I haven't been brainbricked
17:58:02 <Sgeo> Yet I'm actively working on a BF derivative
17:58:12 <Sgeo> Then again, it's not a trivial BF isomorphism
17:59:02 <Phantom_Hoover> no, it's just you using the wrong language as a basis for experimentation
18:06:53 <Halite> lol, are you talking about BF
18:07:29 <Sgeo> I'm making a language based on it, but the core interesting idea of my language isn't really BF specific
18:07:46 <Sgeo> I'm just using BF as a language to uses as a basis for my additions
18:08:19 <Taneb> Halite: there are an awful lot of brainfuck derivatives, it's very rare indeed that someone makes something new using one
18:08:55 <Taneb> If you look at Phantom_Hoover's Tumblr (phantom-hoover.tumblr.com), you'll see his opinion on the matter
18:09:31 <Phantom_Hoover> there are especially a lot of languages which are either bf with the commands renamed to something zany or bf with a couple of instructions added
18:11:03 <boily> I like your blog. it is sane.
18:11:25 <elliott> unfortunately it is not his
18:11:48 <Taneb> There ought to be more content
18:11:51 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: my: not found
18:11:58 <Taneb> Ooh, did we forget?
18:12:04 <HackEgo> Halite: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
18:13:27 <ais523> I personally think BF derivative are a good way to get into esolanging, so long as you follow up with something more interesting
18:14:26 <Phantom_Hoover> you're just trying to legitimatise your own seedy past
18:14:40 <Phantom_Hoover> *I* never made a brainfuck derivative, and just look at all... the...
18:14:59 <ais523> Phantom_Hoover: I made three, I think
18:15:06 <Taneb> I made three languages that could be described as brainfuck derivatives
18:15:14 <Taneb> One is technically an Ook! derivative
18:15:22 <boily> I haven't made three languages yet :(
18:15:22 <Taneb> (slightly better? maybe not?)
18:15:57 <Taneb> One is only like brainfuck in that it's imperative, tape based, and single-character-per-command
18:16:09 <Taneb> Which Phantom_Hoover has already forgiven me for
18:16:27 <Taneb> And MIBBLLII isn't brainfuck but looks like it is
18:16:43 <Taneb> So, all of them could be argued to /not/ be brainfuck derivatives
18:16:51 <Taneb> In fact, two of them really aren't at all
18:17:04 <Taneb> Phantom_Hoover: can you talk to me again?
18:18:09 <Taneb> THAT PROBABLY IS NOT ME
18:18:29 <Taneb> I, alas, am not a francophone psychologist
18:19:08 <Taneb> Especially not one with a website designed in the 90's
18:19:11 <boily> ah tiens, zeugma. ça faisait un bout que j'en avais entendu parler. (oh, zeugma again. it's been a while since last time I heard of 'em.)
18:19:44 <elliott> is this some kind of french esolang association
18:19:45 <Taneb> boily: can you explain the thingy that is zeugma
18:21:08 <boily> as the large comic sans sentence says, it is a «rapprochement». some kind of weak surreality (and in that case, terrible web design.)
18:21:50 -!- augur has quit (Remote host closed the connection).
18:32:13 -!- epicmonkey has quit (Ping timeout: 245 seconds).
18:38:30 <Halite> what are you talking about
18:40:35 <elliott> boily: do french things make any more sense if you are one of them
18:41:37 <boily> boily: perhaps. I'm not French.
18:41:49 <HackEgo> boily is Canadian or something. We are not sure about Canada's existence.
18:41:59 <elliott> of course you're french, you talk to yourself
18:42:33 <Sgeo> No one will complain if this thing gets compiled into what is essentially an interpreter glued to some code to interpret, right?
18:42:42 <boily> c'est pas parce que je me parle tu seul que je suis français, bon. (it's not because I talk to myself that I'm French, so there.)
18:43:19 <boily> by the way, wasn't there a belgian guy here some time ago? I remember having a conversation with him.
18:44:28 <ais523> this IRC contains one intentional error and one accidental error
18:44:50 <boily> Phantom_Hoover: no, I'm no Swiss.
18:47:33 <boily> (hm... do they have an easy citizenship application process? would be nifty to have a passport from them.)
18:49:50 <Sgeo> !haskell main = (\s -> putStr s >> putStr " " >> print s) "main = (\\s -> putStr s >> putStr \" \" >> print s)"
18:50:02 <EgoBot> main = (\s -> putStr s >> putStr " " >> print s) "main = (\\s -> putStr s >> putStr \" \" >> print s)"
18:50:04 <kmc> last night i had a dream where i was about to fly to germany and then i realized i'd left my passport at home :(
18:50:28 <kmc> boy were my arms tired
18:50:40 <kmc> luxembourg passport would be nice as it's an EU member
18:51:08 <kmc> they were in the EU back when it was just about coal and steel
18:51:11 <kmc> before it was cool
18:51:51 <Halite> talk about esoteric languages...
18:52:24 <boily> Halite: don't worry. it's not Friday yet.
18:53:44 <Phantom_Hoover> Halite, maybe we would if people would make new ones that aren't brainfuck derivatives
18:54:10 <elliott> Halite: don't be silly. this channel is about esoterica.
18:54:14 <Halite> are you talking about programming languages or languages you speak
18:54:26 <Halite> there are two types of esoteric languaged
18:54:41 <HackEgo> HALITE: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
18:55:05 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
18:55:25 <Halite> esoteric on irc.dal.net
18:56:14 <Halite> `WELCOME PHANTOM_HOOVER
18:56:16 <HackEgo> PHANTOM_HOOVER: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.)
18:56:40 <Sgeo> :( the output Haskell code is going to be so damn verbose
18:56:44 <Halite> WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN
18:57:02 <Sgeo> Large Trustfuck programs compile into ridiculously large Haskell programs
18:57:11 <Sgeo> I don't know if this is something I should be too concerned about
18:57:26 <Sgeo> Halite, they're just messing with you
18:57:27 <boily> ain't no problem. disk space is cheap, and big means enterprisey.
18:58:22 <Halite> I made a programming language called NAND++
18:58:40 <Phantom_Hoover> Halite, no, see, we do that as part of a thesis on whether deception is justified if you do it to noobs
18:59:30 <Phantom_Hoover> is your language brainfuck except + and - are replaced with NAND
18:59:30 <Halite> Phantom_Hoover, oh. Deception wasn't justified to me. This is for esoteric languages.
18:59:57 <Halite> Phantom_Hoover, it is similar to Brainfuck but not intentionally that close.
19:01:07 -!- md_5 has quit (Quit: ZNC - http://znc.in).
19:04:00 <Taneb> Halite: put it on the wiki
19:04:27 <Sgeo> I want to flip the meaning of ! so that ! on 0 is "most recent compiler"
19:04:37 <Sgeo> Fits in more with having a "compiler stack" I think
19:06:09 -!- augur has joined.
19:10:43 <ais523> Phantom_Hoover: are you picking on Halite?
19:10:59 <olsner> Sgeo: I guess the worst case scenario is that you end up with some "ridiculously large program" stress tests that crash ghc
19:11:16 <Sgeo> Phantom_Hoover, think about what Trustfuck means: People will be able to write compilers for their favorite idiotic Brainfuck derivatives using a Brainfuck-like language!
19:15:36 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:19:06 <Halite> I need to create my user page at User:Halite first.
19:19:11 -!- c00kiemon5ter has left.
19:20:06 <Sgeo> Considering that I _am_ writing what acts as a large quine, is it ok that so much code is duplicated?
19:20:40 <Sgeo> (Once as code and once inside a string)
19:24:39 -!- sivoais has quit (Ping timeout: 252 seconds).
19:24:54 -!- Arc_Koen has quit (*.net *.split).
19:31:07 -!- Halite has quit (Remote host closed the connection).
19:37:56 -!- monqy has joined.
19:38:11 -!- epicmonkey has joined.
19:47:02 <lambdabot> Local time for Taneb is Tue Feb 12 19:47:02 2013
19:51:16 <lambdabot> I live on the internet, do you expect me to have a local time?
19:51:29 <ais523> you have to exist on a server somewhere, don't you?
19:51:41 <Taneb> Could be distributed?
19:53:59 <ais523> not easily, but I guess it's possible
19:56:14 <ion> Screwmejssel (Finglish ftw.) http://youtu.be/UiYMM0kZvno
19:57:44 <olsner> finglish? not swenglish?
19:58:06 <olsner> or maybe it started out as swinnish
19:59:28 <olsner> "firstly" is a nice non-english word
20:00:44 <boily> firstly is not english? what about premièremently?
20:01:04 <ais523> "firstly" is a real word, I think
20:01:24 <ais523> it might just be "first" as the adverb too
20:01:53 <olsner> dictionary.org has it, but I think it's just an error that accidentally made its way into some dictionary
20:02:43 -!- oerjan has joined.
20:04:24 -!- epicmonkey has quit (Read error: Operation timed out).
20:05:04 <Taneb> Remember how last year I went to a UV rave and fell asleep and dreamt of lambda calculus?
20:05:40 <elliott> oerjan: look what I did today!!
20:05:41 <elliott> listIsAMonoidInTheCategoryOfEndofunctorsOfHask :: Monoid (FComp (->)) List
20:05:41 <elliott> listIsAMonoidInTheCategoryOfEndofunctorsOfHask = Monoid { unit = Nat Id List (\_ x -> [x]) , mult = Nat (List :. List) List (\_ -> concat) }
20:05:46 <oerjan> you young people and your functional memories.
20:06:01 <Taneb> Anyway, another UV rave is coming up
20:06:06 <monqy> what are raves like
20:06:19 <Taneb> Loud music that I don't recognize and flashy lights, monqy
20:06:24 <olsner> Taneb: your memories are inside your head and generally not accessible to other persons
20:06:44 <Taneb> monqy: but also dancing and people
20:07:46 <olsner> hmm, how do you fall aslepp on a rave?
20:07:47 <oerjan> people. sometimes they are okay. but too frequently they meddle in my plans.
20:07:53 <ais523> elliott: I'm laughing so much at that its hilarious
20:07:57 <elliott> monqy: but consider: you fall asleep and dream of the lambda calculus?
20:07:58 <kmc> olsner: not taking enough speed
20:08:08 <Taneb> olsner: I have no idea
20:08:13 <Taneb> I think I was tired
20:08:22 <boily> I recently slept through an airplane landing.
20:08:26 <olsner> maybe you had a seizure from the blinkenlights?
20:08:43 <Taneb> olsner: I was awake for a large portion
20:09:00 <kmc> what kind of music was it
20:09:12 <kmc> was it unz unz unz unz or more like WUBWUBWUBkzzzzzzUHUHWUBWUBWUB
20:09:33 <monqy> i've heard some "rave music" and it's all goofy goofy goofy
20:09:43 <kmc> i want you to point on this Ishkur's Guide to where the rave touched you: http://techno.org/electronic-music-guide/
20:09:52 <kmc> monqy: was it happy hardcore
20:10:13 <ais523> I don't think I've ever dreamt about lambda calculus
20:10:15 <monqy> most likely some of it was yes
20:10:17 <olsner> ah, ishkur's guide, that was a while ago
20:10:25 <ais523> perhaps if it's CBN and affine and you add extra constants
20:10:34 <ais523> hmm… I should write a completely affine esolang some day
20:10:41 <ais523> not sure if it would be even vaguely usable
20:10:45 <monqy> i've likely dremt about lambda calculus but I don't remember it
20:10:57 <ais523> one problem is that I can't think of an obvious way to prevent losing all state when you loop
20:12:18 -!- md_5 has joined.
20:12:38 <elliott> this representation of monads is not the most usable for programming.
20:12:52 <ais523> elliott: does it work, just in an unusable way?
20:13:18 <monqy> programming by way of ghc panics
20:13:52 <elliott> ais523: well I haven't figured out yet
20:13:55 <elliott> that's sort of the problem
20:14:37 <elliott> ugh, not another "can write it but GHC rejects the type it infers for it" situation
20:15:38 <Taneb> The trick is to get GHC to spit out an error that none of the GHC team were aware existed
20:15:38 <ais523> elliott: if it helps, my boss is having the same problem with Verity
20:15:45 <ais523> because its typechecker isn't very good at error messages et
20:16:00 <elliott> in this case it's that GHC isn't as good as me yet
20:16:53 <Taneb> elliott: what if you try to write usable, maintainable code
20:17:09 <kmc> elliott: you are a neural network processor, a learning computer
20:17:33 <Taneb> Okay, Facebook has suggested I ought to go to this UV rave
20:17:39 <elliott> Taneb: what is a usable maintainer code
20:17:58 <Taneb> elliott: do you remember my Fueue interpreter?
20:18:10 <ais523> Taneb: do you trust Facebook to make suggestions for you?
20:18:12 <Taneb> Imagine that mixed with what you've just posted here
20:18:24 <Taneb> Usable, maintainable code is the opposite of that
20:18:29 <elliott> my code looks roughly like this
20:18:31 <elliott> instance Category c => TensorProduct (FComp c) where
20:18:31 <elliott> type Unit (FComp c) = Id c
20:18:31 <elliott> unitorL f = natIso (FComp :. Const1 (natId Id)) Id
20:18:31 <elliott> (\(Nat f _ trans) -> Nat (Id :. f) f trans)
20:18:34 <elliott> (\(Nat f _ trans) -> Nat f (Id :. f) trans)
20:18:36 <elliott> unitorR f = natIso (FComp :. Const2 (natId Id)) Id
20:18:39 <elliott> (\(Nat f _ trans) -> Nat (f :. Id) f trans)
20:18:41 <elliott> (\(Nat f _ trans) -> Nat f (f :. Id) trans)
20:18:44 <elliott> assoc f = natIso (AssocL FComp) (AssocR FComp)
20:18:46 <elliott> (\(Prod m@(Nat f _ _) (Prod n@(Nat g _ _) o@(Nat h _ _))) -> Nat ((f :. g) :. h) (f :. (g :. h))
20:18:49 -!- cuttlefish has quit (Ping timeout: 276 seconds).
20:18:49 <elliott> (\o' -> m ! (n ! (o ! o'))))
20:18:52 <elliott> (\(Prod m@(Nat f _ _) (Prod n@(Nat g _ _) o@(Nat h _ _))) -> Nat (f :. (g :. h)) ((f :. g) :. h)
20:18:55 <elliott> (\o' -> m ! (n ! (o ! o'))))
20:19:02 <Taneb> ais523: of the three people who've suggested I go, two are involved in the organization of the party
20:19:16 <ais523> Taneb: I'm not sure if that's a good thing or a bad thing
20:19:19 <Taneb> And the third isn't invited and probably isn't aware of any details of it
20:19:34 <monqy> what does UV mean anyway
20:19:45 <monqy> i always thought it was "ultraviolet" too but that doesn't make much sense
20:20:03 <ais523> monqy: it's a party where they illuminate the area with one of the safer wavelengths of UV
20:20:12 <ais523> and it makes people's clothes glow if they use the right sort of washing powder
20:20:18 <monqy> elliott: now that's sensible
20:20:21 <Taneb> And throw UV-reactive paint on people
20:20:28 -!- boily has quit (Ping timeout: 272 seconds).
20:20:36 <monqy> ais523: i hear that sort of thing makes old people look uglier. weird skin stuff.
20:20:52 <ais523> Taneb: I didn't realise that was a usual part of the party
20:21:01 <ais523> is it to compensate for people who've used the wrong sort of washing powder?
20:21:04 <Taneb> Okay, someone's suggested I DJ with him
20:21:12 <elliott> can i pay money to see taneb dj
20:21:25 <elliott> also can i not pay money to see taneb dj. that would be preferable because i would save money
20:21:26 <Taneb> However, I seem to remember him being banned from DJing
20:21:36 <monqy> did he play the wrong kinda music
20:21:48 <elliott> http://en.wikipedia.org/wiki/Extreme_ultraviolet_Imaging_Telescope
20:21:55 <elliott> i like how the ultraviolet is not capitalised for no reason at all
20:22:09 <monqy> uncapitalised for extra emphasis
20:22:18 <ais523> elliott: you can fix it, you know
20:22:28 <Taneb> His suggestion has received what is called in the social-networking world as a "Like"
20:22:46 <Taneb> I shall now reply with "Tempting..."
20:23:09 <ais523> did you know that likes follow you around the internet and steal your browser?
20:23:23 <Taneb> I thought that was Phantom_Hoover
20:23:42 <Taneb> He even hacked into my Tumblr account to write his blog
20:23:50 <monqy> https://www.youtube.com/watch?v=2EC3ggFv7cY is the kind of music you listen to taneb. this is important
20:23:54 <elliott> Could not deduce (Dom (Id (Cod (Id (Cod t0)))) ~ (->))
20:24:10 -!- boily has joined.
20:24:23 <elliott> ais523: can you fix my code for me
20:24:36 <ais523> elliott: if it's written in highly category-theoretic Haskell, no
20:24:54 <ais523> unless the mistake is something obvious enough that you'd have found it already
20:24:58 <elliott> well i wouldn't go so far as to say highly category-theoretic
20:25:19 <monqy> wow theres whole youtube playlists full of remixes of this "ravers fantasy" thing
20:25:38 <monqy> taneb i think this is big. maybe you can ca$$$$h in on it
20:25:39 <ais523> monqy: why are you surprised?
20:25:42 <elliott> all I did is develop functors up to natural transformations so I can define tensor products and the category of endofunctors with functor composition as the tensor product and then monoids!!!
20:26:51 <ais523> elliott: well isn't that more category-theoretic than average for Haskell?
20:27:47 <monqy> nobody knows really
20:28:22 <ais523> I find it hilarious that this is even nonobvious :)
20:28:55 <oerjan> <ais523> is it to compensate for people who've used the wrong sort of washing powder? <-- what about people who carefully apply different sorts of washing powder in patches
20:29:10 <Taneb> Then they are reet hard liek
20:29:14 <ais523> oerjan: I imagine that'd look quite good under UV, but I've never tried
20:30:58 <oerjan> ais523: also do you like my example Quiler compiler
20:31:25 <ais523> except I'm a bit confused about the languages
20:31:32 <ais523> it's written in Perl and targets Haskell?
20:31:56 <ais523> hmm… what does the output target?
20:33:01 <oerjan> `addquote <ais523> did you know that likes follow you around the internet and steal your browser? <Taneb> I thought that was Phantom_Hoover
20:33:06 <HackEgo> 963) <ais523> did you know that likes follow you around the internet and steal your browser? <Taneb> I thought that was Phantom_Hoover
20:35:07 <oerjan> ais523: per the definition of a Quiler compiler, the output also must target haskell
20:35:36 <ais523> so I guess what's confusing me, is why there appears to be a Perl quine in there
20:36:37 <oerjan> there isn't. but since quines are boring quiler compilers, i made this one keep a history, and the first (well, last) item of that is the original perl
20:37:59 <oerjan> well i guess there is, in the sense that it actually does insert a representation of the original perl program into the haskell
20:38:35 <Taneb> If you close your eyes does it almost feel like nothing has changed at all?
20:40:20 <oerjan> putStr . snd $ last history from ghci with the module loaded will print the original perl from any of the iterated compilers in haskell.
20:40:53 <oerjan> well should, anyway, i haven't tested more than one step.
20:42:17 * Sgeo throws everyone onto a stack of compilers
20:43:00 <Sgeo> Well, my current thoughts re implementation is that the generated Haskell code has a stack of compilers
20:43:07 * boily puts maple syrup on his compiler stack.
20:44:16 <Sgeo> Yay, a delusional recruiter emailed me
20:44:41 <Sgeo> "We have a requirement matching your profile with one of our client."
20:44:47 <oerjan> <Sgeo> Is it ok to make code be on a very long line if it makes my life sufficiently easier? <-- since i did just that with the quiler compiler, i have to say yes, although i briefly considered trying to reformat it
20:44:51 <Sgeo> "Minimum 5 years working with relational databases and SQL, ideally on an Oracle environment"
20:44:58 * Sgeo does not have that
20:45:05 -!- Taneb has quit (Quit: Page closed).
20:45:14 <ais523> Sgeo: the recruiter will probably just lie and say you have the experience
20:46:28 <ais523> is this your recruiter, or the company's recruiter?
20:46:43 <ais523> actually I'm not sure it matters, they tend to be equally delusional both ways
20:47:48 <Sgeo> they ust called me
20:48:11 <oerjan> Sgeo: btw are you familiar with haskell's "...\n\ \..." (still annoying) syntax for multiline strings?
20:48:20 <kmc> something is seriously wrong with the programming job market that recruiters continue to behave the way they do
20:48:36 -!- Taneb has joined.
20:48:50 <kmc> is it that they're compensated in a way that gives them shitty incentives from the hiring company's point of view
20:48:56 <kmc> but the hiring companies don't realize for some reason?
20:49:40 <oerjan> > "test\n\ \like this" -- the whitespace could contain newlines, but not in lambdabot
20:49:59 <boily> ~eval "test\n\ \like this"
20:50:08 <boily> oh. yeah. must start bot first.
20:50:23 <Sgeo> oerjan, is there a function similar to show that prints strings like that, rather than the one-liner version?
20:50:24 -!- cuttlefish has joined.
20:50:24 <oerjan> HAVE YOU TRIED PLUGGING IN THE BOT
20:50:25 <boily> ~eval "test\n\ \like this"
20:50:51 <oerjan> Sgeo: no but you can write one using lines
20:51:31 <Sgeo> I was just about to call a (different) recruiter when that recruiter called me
20:52:15 <kmc> you should try to get a job without dealing with recruiters, if at all possible
20:52:47 <Taneb> You have always worn your flaws upon your sleeve, and I have alsways bured mine deep beneath the ground
20:52:56 <kmc> best way is through people you know
20:53:06 <kmc> or you can find companies you think look interesting and email them directly
20:54:13 <Taneb> Dig them up, let's finish what we've started
20:54:20 <Taneb> Dig them up, so nothing's left untouched
20:55:01 <Taneb> elliott: how would you like post access on phantom-hoover.tumblr.com
20:55:09 <Sgeo> kmc, well, this one practically offered an interview, just need to work out when
20:55:24 <elliott> Taneb: i dont know if i can deal with that kind of responsibility, sorry
20:55:26 <Sgeo> Not sure if recruiter or more representative person from the company
20:55:44 <oerjan> Sgeo: the thing about doing it automatically is that to get nice haskell you want to include the right indentation before the final \
20:56:16 <Taneb> Phantom_Hoover: I'd bet you'd like the ability to post onto your own blog!
20:59:23 <Taneb> On another note, my computer still doesn't work properly
20:59:34 <Taneb> And what I really want to do is implement Wordeger
21:01:10 <oerjan> > let mlShow _ "" = show ""; mlShow ind s = foldr1 merge (lines s) where merge s1 s2 = init (show $ init s1) ++ "\\n\\" ++ replicate ind ' ' ++ '\\' : tail (show s2) in var $ mlShow 2 "test\ning\n ho"
21:01:41 <oerjan> > let mlShow _ "" = show ""; mlShow ind s = foldr1 merge (lines s) where merge s1 s2 = init (show $ init s1) ++ "\\n\\\n" ++ replicate ind ' ' ++ '\\' : tail (show s2) in var $ mlShow 2 "test\ning\n ho"
21:02:05 <oerjan> > lines "test\ning\n ho"
21:02:42 * Sgeo is too lazy to deal with that
21:02:42 <oerjan> lines doesn't preserve the final newline information
21:05:06 <ion> oerjan: Also:
21:05:15 <ion> > (unlines . lines) "test\ning\n ho"
21:05:24 <oerjan> <ais523> how do you do multiline strings in Haskell? <-- see above
21:05:33 <oerjan> ion: um that's what i said.
21:06:30 <ion> What i said wasn’t about lines alone.
21:07:30 <oerjan> no but it follows from it by sheer logic
21:08:07 <oerjan> <FreeFull> Is randomIO/randomRIO generally a bad idea compared to newStdGen and then random/randomR ? <-- i think the fanatics will tell you not to use StdGen
21:08:46 <oerjan> i cannot remember what they suggest instead, though.
21:09:21 <oerjan> (note: random{,R}IO also use StdGen.)
21:10:06 <oerjan> also there's a random monad package somewhere
21:10:49 <elliott> oerjan: it's the global StdGen you're not meant to use, AIUI
21:10:59 <elliott> though if you are doing "serious random work" then you probably want to use another package entirely
21:11:34 <oerjan> i think i was alluding to the latter
21:12:26 <FreeFull> elliott: Well, newStdGen splits off the global StdGen, so are you meant to supply your own seed value to mkStdGen instead?
21:16:44 <elliott> I think you're meant to use newStdGen once and then maintain it yourself or some such
21:17:08 <kmc> StdGen sucks as a RNG anyway
21:17:15 <kmc> mwc256 for lyfe
21:17:45 <Sgeo> "Where's the volume control?
21:17:45 <Sgeo> There isn't one. If your fans want to change the volume of the audio on Bandcamp, they adjust their computer's volume -- simple as that. We're not trying to build the ultimate platform for them to stream your albums while they play World of Warcraft in another window (which we completely agree would require an independent volume control). "
21:18:08 <kmc> i,i pulseaudio
21:19:45 <Sgeo> #cslounge is leaking
21:21:17 <ais523> Sgeo: PulseAudio implements its own independent volume control for each program
21:21:21 <ais523> just in case they don't have one
21:21:28 <kmc> Sgeo: haha
21:22:38 <Sgeo> monqy, "i,i" is a thing that a lot of #cslounge ers do
21:23:52 <fizzie> ais523: It is also very possible for the application in question to make its own (in-the-UI) volume control the same control that is the PulseAudio control, if it wants to.
21:24:35 <coppro> I'm pretty sure that the best way to deal with pulseauio
21:25:03 <ais523> coppro: keep it around so that you can uninstall it to fix audio problems?
21:25:22 <coppro> ais523:`quote pulseaudio
21:25:23 <ais523> btw, I've never had problems with pulseaudio that can't be fixed with "killall pulseaudio", except for when I was testing idim
21:25:29 <ion> I’m pretty sure pulseaudio is better than anything else we have, although a lost of its functionality should be in the kernel.
21:25:43 <coppro> I'm pretty sure I had a quote here along the lines of
21:26:10 <coppro> "The correct solution to solving all audio problems on linux is 'sudo apt-get remove pulseaudio' regardless of whether pulseaudio is installed or whether you're on debian"
21:30:42 <olsner> I could've been quoted as saying that too
21:34:03 <olsner> I guess so could anyone who had a sound problem in linux at some point during the last N years
21:37:32 <fizzie> coppro: You did say something like that -- http://codu.org/logs/log/_esoteric/2012-10-06#182636coppro -- but I don't see it being made a quote.
21:39:33 <monqy> `pastequotes pulseaudio
21:39:39 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6248
21:44:41 <Taneb> `pastequotes monqy
21:44:50 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.10519
21:46:31 -!- monqy has quit (Quit: hello).
21:51:00 -!- Arc_Koen has joined.
21:51:02 -!- Snowyowl has joined.
21:52:02 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22224
21:55:26 <ais523> 631 is indeed accurate
21:55:41 <HackEgo> Snowyowl: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
21:56:08 <oerjan> mezzacotta almost makes sense today
21:56:26 -!- Anvilgames has joined.
21:56:27 -!- Anvilgames has quit (Client Quit).
21:57:13 <ais523> oerjan: is that better than average?
21:57:20 <Taneb> Anvilgames seemed cool
21:57:24 <Snowyowl> Yes, this is a good mezzacotta.
21:57:59 <HackEgo> 631) <shachaf> You should get kmc in this channel. kmc has good quotes. <shachaf> `quote kmc <HackEgo> 686) <kmc> COCKS [...] <kmc> truly cocks <shachaf> Well, in theory.
21:58:13 <oerjan> elliott: you have to admit he picked up after that
21:58:15 <Snowyowl> Taneb: I agree, although I am biased here.
21:58:24 <oerjan> or maybe began a long decline
21:58:35 <kmc> `quote 873
21:58:36 <HackEgo> 873) <kmc> it's kind of the multiocular O of countries, if you will
21:58:38 <kmc> which country was that
21:59:00 <Taneb> `pastelogs multiocular O
21:59:37 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9075
22:01:31 <kmc> seems correct
22:01:44 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/logs
22:01:55 <kmc> liechtenstein was invented as a scheme to get votes in the election of holy roman emperor
22:01:56 <HackEgo> 963) <ais523> did you know that likes follow you around the internet and steal your browser? <Taneb> I thought that was Phantom_Hoover
22:01:56 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/log
22:01:59 -!- boily has quit (Quit: Poulet!).
22:02:01 <HackEgo> 962) <Taneb> I'm a story about the prohibition of chocolate
22:02:05 <kmc> and ruled for centuries by people who had never been there
22:02:05 <HackEgo> 961) <oklopol> my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do.
22:02:08 -!- cuttlefish has quit (Remote host closed the connection).
22:02:13 <HackEgo> 960) <fizzie> The other day (well, the other week) my wife was annoyed with me because she had a dream where I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Gree
22:02:21 <elliott> 960's being chopped off is unfortunate
22:02:35 <elliott> as it is clearly the best quote in the file
22:02:48 <ais523> `pastequotes Greenland
22:02:54 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27102
22:03:04 -!- hogeyui has quit (Ping timeout: 272 seconds).
22:03:43 <oerjan> `run quote 960 | tail -c400
22:03:45 <HackEgo> fizzie> The other day (well, the other week) my wife was annoyed with me because she had a dream where I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Greenland
22:03:58 <ais523> elliott: I'd ask you to guess the reason behind the oops, but it's unlikely you could
22:04:06 <ais523> `run quote 960 | tail -c300
22:04:08 <HackEgo> re I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Greenland in wintertime. (I think it's kind of cold there?)
22:04:26 <ais523> elliott: the website I'm trying to update had a broken certificate
22:04:36 <ais523> with the result that I'm trying to view it on the computer I'm editing it on, via ssh -X
22:04:41 <Taneb> `quote 960 | paste
22:04:46 <Taneb> `run quote 960 | paste
22:04:52 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3535
22:04:55 <ais523> and Firefox gets confused if you try to run it twice on the same X display, even if it's on two different physical computers
22:05:18 <elliott> just imagine being fizzie's wife and having a dream about fizzie buying you plane tickets to an #esoteric meet in the middle of greenland in the winter without asking you
22:05:25 <elliott> is there any greater experience in life one could have
22:06:01 <Taneb> `quote lambda calculus
22:06:02 <HackEgo> 110) <Mathnerd314> Gregor-P: I don't think lambda calculus is powerful enough \ 539) <Taneb> I think this has taught us one thing. We can't teach itidus20 lambda calculus by comittee
22:06:03 <HackEgo> 488) <fizzie> That's the stupidest thing I've heard all morning. (Though I did wake up five minutes ago, so I haven't had a chance to hear very much.) <fizzie> The "Why are you still asleep? I told the cat to wake you up." comment does come pretty close, though.
22:06:21 <ais523> fizzie: is your wife also responsible for 488, or was that something else?
22:06:47 -!- hogeyui has joined.
22:07:00 <ais523> quintopia: did you have a chance to look at my descriptions of omnipotence and anticipation2?
22:07:08 -!- nollapiste has joined.
22:07:33 <ais523> `welcome hogeyui: nollapiste
22:07:35 <HackEgo> hogeyui:: nollapiste: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
22:08:06 <Snowyowl> that was interesting, why did it double the :?
22:08:26 <ais523> probably because it splits on whitespace
22:08:44 <tswett> `welcome windmill windmill for the land
22:08:46 <HackEgo> windmill: windmill: for: the: land: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
22:09:14 <Snowyowl> we need some way of inserting a literal space
22:09:35 <ais523> `run bin/welcome "windmill windmill for the land"
22:09:37 <HackEgo> windmill: windmill: for: the: land: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
22:09:59 <ais523> `run bin/welcome "windmill windmill for the land" | sed 's/://' | sed 's/://' | sed 's/://' | sed 's/://'
22:10:02 <HackEgo> windmill windmill for the land: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
22:10:02 <oerjan> Snowyowl: nicks don't contain spaces
22:10:12 <oerjan> Snowyowl: however you can use `@ directly
22:10:38 <oerjan> `run @ "windmill windmill for the land" ? welcome
22:10:39 <HackEgo> Can't exec "windmill": No such file or directory at /hackenv/bin/@ line 2. \ windmill:
22:11:12 <oerjan> @ seems to split on space too, even if it has > 1 argumetn
22:11:29 <ais523> oerjan: probably because ` doesn't do argument splitting
22:11:29 <oerjan> i may have designed it to do so
22:11:59 <ais523> I thought writing @ was elliott's job
22:12:17 <HackEgo> #!/usr/bin/perl -w \ $_ = join " ", @ARGV; if (s/^([^ ]*) +([^ ]*) +//) { print "$1: "; exec $2, $_; }
22:12:18 <ais523> (retroactive log fixer, try handling /that/)
22:12:24 <oerjan> looks perly, so probably not elliott
22:12:32 <ais523> oerjan: I think you missed the joke
22:12:37 <ais523> elliott probably got it, though
22:12:55 * oerjan tickles ais523 with feather
22:13:24 <ais523> why not swat me instead, it's what you usually do
22:14:51 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/%40
22:15:04 <oerjan> Snowyowl: sure it does, but it isn't preserved between ` invocations
22:15:04 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/..
22:15:25 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cd: not found
22:15:34 <ais523> Snowyowl: you need to use `run for shell commands
22:15:41 <ais523> there's no such thing as /bin/cd, mostly because it wouldn't work
22:15:55 <ais523> actually, I can think of a way to implement /bin/cd
22:16:00 <ais523> it involves attaching a debugger to its parent
22:16:04 <kmc> /bin/cd should ptrace the parent process and execute... yes
22:16:07 <ais523> and forcing it to run a chdir syscall
22:16:56 <Snowyowl> I don't know much about Linux, but you're scaring me anyway.
22:17:18 <ais523> Snowyowl: well what we're suggesting is an incredibly bad idea, really :)
22:17:33 <ais523> you can do that sort of thing on Windows too
22:17:42 <ais523> Raymond Chen uses it as a reductio ad absurdum, on occasion
22:20:01 -!- carado has quit (Ping timeout: 246 seconds).
22:20:39 <kmc> actually a friend of mine once used that trick to good practical effect
22:20:48 <kmc> his window manager was hosed because its cwd was a stale NFS file handle
22:21:30 <ais523> kmc: did he have a syscall injection process handy?
22:22:28 <Snowyowl> can't he close and restart the window manager?
22:22:45 <kmc> gdb can more or less do that
22:22:58 <kmc> Snowyowl: yeah, you lose WM state though, and depending on how your xsession is set up, it might want to restart all X processes
22:23:11 <ais523> weboflies can do that, but (luckily for the sake of humanity) it can't attach to currently existing processes
22:23:23 <kmc> i do something like "xmonad & echo $$ > $HOME/.xsession.pid; while true; do sleep 86400; done"
22:23:30 <kmc> so that i can kill / restart my WM easily
22:24:38 <ais523> I just control-alt-f1 and do DISPLAY=:0.0 unity &
22:24:47 <ais523> in extreme cases, metacity --replace, rather than unity
22:24:55 <ais523> although the lack of any sort of penalty hurts
22:25:10 <ais523> Snowyowl: it looks like it's trying to intentionally halt the process
22:25:15 <ais523> and the sleep is to prevent it busylooping
22:25:30 <kmc> Snowyowl: xdm invokes ~/.xsession as a script, once that script ends it restarts the X server and goes back to the login prompt
22:25:34 <kmc> that snippet is from my ~/.xsession i mean
22:25:46 <kmc> there may of course be better ways to do all of this
22:26:04 <Snowyowl> I think you just went over my head again.
22:26:19 <ais523> Snowyowl: basically it's making the program not exit
22:26:34 <ais523> because if it exited, the login prompt would think that kmc had logged out
22:26:55 <kmc> yeah, typically you just end the file with "xmonad" or whatever your window manager is, but in that case if the WM dies you get logged out
22:27:45 -!- Taneb has quit (Quit: Page closed).
22:27:55 <Snowyowl> (I'm feeling very un-leet as a result of this conversation.)
22:28:01 <elliott> well xmonad knows how to reload itself at least!
22:28:11 <ais523> elliott: is that lazy and pure, though?
22:29:20 <kmc> Snowyowl: sorry :/
22:31:18 <kmc> i hate that hacker culture is so obsessed with being h4rdc0re rather than learning and teaching :/
22:31:40 <ais523> you're thinking of script kiddie culture
22:31:56 <kmc> no i'm thinking of Reddit and HN and the endless wanking over who's a "real hacker"
22:32:17 <kmc> anyway if you want me to expand more on any of the things i say, just ask
22:32:19 <Snowyowl> kmc: I do learn, and occasionally teach, it's just that I'm a .net developer and I don't have anything much to do with Linux.
22:32:20 <kmc> always happy to
22:33:09 <ais523> Snowyowl: how depressing, I like it when .NET programs run on Linux too
22:33:15 <ais523> but so many .NET developers don't pay attention to portability
22:34:08 <kmc> C# is a pretty nice language
22:34:19 <ais523> I personally dislike it, too much bloat
22:35:23 <ais523> although I like Perl, so…
22:35:42 <ais523> Snowyowl: it has a similar problem to C++ where you can't figure out what a line of code does, even if it's apparently obvious, without knowing all the context
22:36:52 <elliott> also like every other language on the planet
22:37:51 <ais523> it's to do with the proportion of lines of code that act like that
22:37:58 <ais523> at least in Perl, you have the certainty of that proportion being 100%
22:38:04 <ais523> in C#, it doesn't apply to }
22:38:45 <ais523> also I don't like things like the existence of both value and reference types
22:40:37 <Snowyowl> I don't get that, even in C++. Was pointer arithmetic so hard that they added reference types as well?
22:41:09 <ais523> no, reference types in C++ are to solve a different issue (related to operator overloading)
22:41:17 <ais523> and then they got a little out of hand
22:41:25 <ais523> most of C++ is features that try to work around deficiencies in other features
22:47:23 <elliott> well pointers are kind of bad
22:47:27 <elliott> in that they are rampantly unsafe and cause tons of bugs
22:48:11 <ais523> but that's not the reason C++ added references
22:48:38 <ais523> and most possible pointer bugs that don't involve pointer arithmetic also exist with references
22:48:47 -!- sivoais has joined.
22:48:59 <ais523> (ever tried to return a pointer to something locally allocated from a function? returning a reference to something locally allocated from a function doesn't work so well either)
22:49:18 <HackEgo> sivoais: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
22:49:22 <ais523> any idea why lots of new people are joining today?
22:49:29 <ais523> with random-looking nicks?
22:50:08 * ais523 blames it on the Feather
22:51:36 <ais523> anyway, if they aren't new, why have I never heard of them?
22:52:39 <Snowyowl> because I'm not on very often?
22:53:16 <elliott> ais523: because you don't pay attention
23:02:33 -!- variable has changed nick to const.
23:04:04 <ais523> oh no, someone's SSA'd variable!
23:05:18 -!- Snowyowl has quit (Quit: Page closed).
23:11:26 <ais523> is that a list of people who have complained about `list?
23:11:37 <HackEgo> #!/bin/sh \ oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*<//; s/>.*//; s/.*\* //; s/ .*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo cuttlefish boily elliott Taneb HackEgo shachaf Sgeo monqy
23:11:56 <ais523> coppro: that's cheating :)
23:12:07 <Sgeo> It's a list of people who care about OOTS
23:12:25 <Sgeo> Append your nick to the list
23:12:55 <Sgeo> I should have pulled a zzo38 and said "Append your nick to the list unless you don't want to"
23:13:27 <elliott> `run sed -i 's/Sgeo/Sgeo coppro' bin/olist
23:13:32 <elliott> can't have inaccurate lists in the bot.
23:13:32 <HackEgo> sed: -e expression #1, char 18: unterminated `s' command
23:13:34 <elliott> `run sed -i 's/Sgeo/Sgeo coppro/' bin/olist
23:13:52 <coppro> `run sed -i 's/coppro//' bin/olist
23:15:29 <elliott> but the null string doesn't care about OOTS!
23:19:05 <coppro> woohoo, hackego edit wars
23:19:38 -!- sebbu2 has joined.
23:19:59 <ais523> shachaf: I don't see what you're complaining about here, nobody even ran `list
23:20:19 <ais523> and you'd been pinged a few lines earlier
23:20:27 <elliott> `run sed -i 's/Sgeo /Sgeo/' bin/olist
23:20:58 -!- sebbu has quit (Ping timeout: 272 seconds).
23:37:09 -!- copumpkin has quit (Ping timeout: 252 seconds).
23:37:45 -!- copumpkin has joined.
23:39:51 -!- FreeFull has quit (Ping timeout: 252 seconds).
23:42:36 <ais523> Phantom_Hoover: it was a chatbot? I assumed it was a human
23:46:10 -!- FreeFull has joined.
23:48:25 <oerjan> <Sgeo> `olist <-- that's not new, i'm pretty sure i did `olist for it before.
23:49:33 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19012
23:51:18 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19003
23:51:18 <oerjan> (next time i might look it up)
23:52:04 <oerjan> wait, _both_ i and Sgeo did `olist.
23:53:59 <Sgeo> Easy way to extend lists, appending echo foo to it?
23:54:20 <Sgeo> `run echo "echo foo" > bin/testlist
23:54:28 <Sgeo> `run chmod a+x bin/testlist
23:54:44 <Sgeo> `run echo "echo bar" >> bin/testlist
23:54:55 <HackEgo> cat: smlist: No such file or directory
23:55:01 <shachaf> `run echo Sgeo >> bin/smlist
23:55:05 <HackEgo> shachaf monqy elliott Sgeo
23:55:32 <Sgeo> `run cat bin/smlist
23:55:33 <HackEgo> tail -n+2 "$0" | xargs; exit \ shachaf \ monqy \ elliott \ Sgeo
23:56:03 <shachaf> `run cat bin/emptylist # template
23:56:04 <HackEgo> tail -n+2 "$0" | xargs; exit
23:56:45 <shachaf> `run sed -i 'g/Sgeo/d' bin/smlist # does this work?help
23:56:47 <HackEgo> sed: -e expression #1, char 2: extra characters after command
23:56:50 <Sgeo> I get the concept but not the specific workings
23:57:19 <Sgeo> That it reads itself and does something with all the lines except the first
23:57:27 <shachaf> `run sed -i '/Sgeo/d' bin/smlist # does this work?help
23:57:38 <HackEgo> tail -n+2 "$0" | xargs; exit \ shachaf \ monqy \ elliott