00:00:01 <elliott> Sgeo|web: http://apfelmus.nfshost.com/articles/monoid-fingertree.html
00:00:19 <tswett> elliott: ooh, here we go. Call me Pupa.
00:00:48 <tswett> Or call me "tswett, you should shut the fuck up, you've had too much caffeine lately".
00:01:38 <elliott> I'm having trouble distinguishing your behaviour from normal :)
00:01:47 <elliott> Do you always have this much caffeine?
00:02:18 <tswett> Though, elliott. What do I do in this channel on most days?
00:02:30 <elliott> Not talk, but I presume that's because you don't actually pay attention to it.
00:03:13 <Sgeo|web> I've only seen the .. syntax in extensions to record stuff
00:03:37 <elliott> Sgeo|web: It's a placeholder.
00:03:52 <elliott> Sgeo|web: Note how it isn't code.
00:03:55 <elliott> "we want the annotations to fulfill"
00:05:01 <elliott> That's what you always say.
00:06:35 * Sgeo|web has no desire to use global mutable variables, the ReaderT stuff should be sufficient I think
00:07:05 <elliott> Sgeo|web: Monad transformers over IO are ugly. You're binding a C API, so you're going to have to do a lot worse than global variables.
00:07:13 <elliott> They won't be exposed from outside the package, so it's quite irrelevant.
00:07:40 <elliott> Basically you're saying you'd rather infect all user API code with an implementation detail, than use one of the provided facilities intended for binding to C APIs.
00:10:23 <elliott> Sgeo|web: But *shrug* your code
00:10:31 <Sgeo|web> unsafePerformIO to make a global variable is intended to be used like that?
00:11:43 <elliott> unsafePerformIO was originally part of the FFI addendum to accomplish things like that. See http://hackage.haskell.org/package/safe-globals for a way to hide the ugly.
00:13:06 <Sgeo|web> Suppose something stupid like multiple invocations of the library.. somehow
00:14:14 <elliott> Unless the AW API supports that.
00:14:21 <elliott> Which we've established it doesn't, because it does awful global things.
00:15:35 <Sgeo|web> A hypothetical library that does
00:15:42 <elliott> You don't have one of those.
00:15:57 <elliott> Or are you trying to write one binding that works with multiple hypothetical APIs without changing the implementation??
00:16:08 <elliott> Heck, why not just make one Haskell library that binds to every C library ever without changing.
00:16:17 <Sgeo|web> Hmm, I probably should ask just to check that aw_int and the like don't send stuff over the wire
00:17:04 <Sgeo|web> If it does, it would be .. absurd to set every global to a blank variable
00:17:33 -!- tiffany has quit (Quit: nyu~).
00:17:42 * elliott doesn't think you have any idea what you're doing, if you think there's going to be a large number of globals, or if you think "blank variable" means anything.
00:18:06 <Sgeo|web> The C API has a large number of .. global-like things
00:18:19 <elliott> What makes you think you need to reflect those in Haskell?
00:18:25 <Sgeo|web> And I'm just hoping they're stored locally, rather than on the server
00:18:32 <elliott> I was suggesting these for internal use, because that's what you'd talked about earlier.
00:18:49 <Sgeo|web> elliott: I wouldn't, I would just.. I think kmc suggested setting those to a default value every function call
00:19:04 <Sgeo|web> Except for the ones that the function call needs modified
00:19:14 -!- TeruFSX_ has joined.
00:19:16 <elliott> Maybe it would help if you actually communicated the API issues involved rather than just asking as vague a question as possible.
00:19:32 -!- TeruFSX has quit (Ping timeout: 258 seconds).
00:20:00 <Sgeo|web> elliott: Many function calls require setting what the API calls attributes, such as using aw_int_set("AW_TELEPORT_X", 0); before the function call
00:20:19 <Sgeo|web> Events also often receive data which you retrieve by, e.g., aw_int("AW_TELEPORT_X")
00:20:22 <elliott> Googling doesn't suggest those quotes should be there.
00:20:59 <elliott> Sgeo|web: Every call has a defined set of parameters, yes? Going by http://www.activeworlds.com/sdk/aw_object_add.htm.
00:21:26 <elliott> Then you just need to poke each parameter, make the call, and read the parameter result.
00:21:31 <elliott> (In the thread that's making the API calls, etc. etc. etc.)
00:22:05 <Sgeo|web> I'm... pretty sure I only need to ensure sequential access
00:22:16 <Sgeo|web> Rather than all having to be in the same thread
00:22:49 <elliott> Sgeo|web: So you want a global lock. Now we'll spend 3 minutes as you convince yourself that these two situations are equivalent.
00:23:19 <Sgeo|web> This was the situation that I was using the global lock for
00:23:41 <elliott> Sgeo|web: The situation of having one thread making all API calls, and every thread acquiring a lock on each API call.
00:23:57 <elliott> Also remember that Haskell threads are very cheap, if that's what you're worrying about (tens of thousands at a time is fine).
00:24:19 <Sgeo|web> I thought global lock is easier to implement
00:25:14 <elliott> Both are trivial. Which one you want depends on your situation.
00:28:01 <elliott> Man, this code is hard to get a handle on.
00:33:48 <Gregor> There, now my machine is simultaneously running Debian (naturalismo), Windows 7, and #1 contender for the "Even Worse than Windows" prize Mac OS X.
00:34:58 <elliott> Gregor: At least OS X doesn't need Cygwin.
00:35:18 <olsner> cygwin in wine on os x? :)
00:39:08 <elliott> olsner: You should liberate this Python code by porting it to Haskell for me (note: incredibly non-trivial)
00:40:11 <olsner> first: liberate it from its misery using rm -fr
00:40:41 <olsner> then rewrite in haskell sometime, I might not feel like helping you with that :P
00:41:57 <olsner> nah, python code can't be good... I'll admit that it can work, but *good*?
00:42:45 <elliott> olsner: It's an ACID STM database with both file-based and network access in less than 6000 lines of code!
00:43:39 <olsner> aha! haskell has STM built-in! :)
00:43:56 <olsner> hmm, or maybe it's a library, w/e
00:43:56 <elliott> olsner: um, it's missing the database part.
00:44:06 <elliott> ghc has built-in _in-memory_ STM
00:44:16 <elliott> there's no way you can extend that to be file-based or w/e
00:44:39 <olsner> bah, how can it be hard? I have no knowledge of this being hard!
00:45:12 <elliott> olsner: you'd have to completely rewrite the ghc stm internals :P
00:45:15 <Sgeo|web> Doesn't the M refer to memory?
00:45:22 <Sgeo|web> So for things other than memory stuff, why call it STM?
00:45:32 <elliott> Because it's still memory, it's just non-volatile memory
00:45:39 <olsner> elliott: trivial! (given a sufficently smart reader to finish the exercise)
00:45:41 <elliott> Also because you have to have all the database in-RAM in Durus and similar
00:46:07 <elliott> olsner: I think the one thing every expert can agree on is that STM is not trivial :P
00:46:27 <olsner> their readers are just not sufficiently smart
00:47:19 <Sgeo|web> Could STM be implemented without compiler support?
00:47:24 <Sgeo|web> Albeit potentially inefficiently?
00:48:01 <olsner> I think they tried putting it in .NET and it was horribly inefficient, don't recall how much compiler support it took
00:48:45 <elliott> olsner: tons; the problem is that stm sucks without purity
00:49:59 <Sgeo|web> Would it be particularly wrong for me to name a type Object?
00:50:21 <elliott> Not only will people kill you, but they might kill your family too.
00:51:29 <Sgeo|web> I can only assume that lenses make dealing with records easier
00:54:25 <elliott> lenses are just Lens whole part = whole -> (part, whole -> part)
00:54:34 <elliott> name :: Person -> (String, String -> Person)
00:54:45 <elliott> name (Person name age email) = (name, \name' -> Person name' age email)
01:01:24 <elliott> + helper functions for modification, accessing within state monad + template haskell to derive them from a record definition
01:02:42 <olsner> hmm, 6000 lines of python, hopefully that's more python than I've ever read before
01:04:23 <elliott> olsner: Actually 5288 (+ 461 lines of mostly boilerplate)
01:04:50 <olsner> mostly boilerplate? doesn't that apply to the rest of the python code?
01:05:00 <olsner> unless it's all obfuscated python!
01:06:42 <elliott> olsner: it's actually remarkably boilerplate-free :P
01:06:58 <elliott> which makes it hard to read, I'm trained to ignore all but every fifth line when reading Python
01:07:29 -!- ive has joined.
01:19:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
01:37:00 <zzo38> Lenses form a category too, I think. And yes that is very good if you need more you could use a Template Haskell code to automatically generate the lens codes for each field.
01:43:53 <Sgeo|web> Can Template Haskell generate Template Haskell?
01:44:03 <zzo38> Sgeo|web: I don't think so.
01:44:31 <zzo38> But you might be able to fake it.
01:45:00 <olsner> time for *Template* Template Haskell!
01:45:09 <lambdabot> monochrom says: Welcome to #haskell, where @remember's are in majestic stereo!
01:45:17 <olsner> wrong majestic quote, nm
01:46:28 <zzo38> There should be some macro system that can do things with a Haskell code. That way you could generate Template Haskell and various other things. (There is C preprocessor but that isn't very good for Haskell.)
01:47:21 <zzo38> I mean, a macro system that could be used to make up do-notation, rather than requiring do-notation built-in to Haskell.
01:49:15 <Sgeo|web> For some reason I was under the impression that quasiquoters take arbitrary strings
01:50:33 <lambdabot> Anonycale says: Welcome to #haskell, where your questions are answered in majestic stereo!
01:50:40 <lambdabot> Anonycale says: Welcome to #haskell, where your questions are answered in majestic stereo!
01:50:41 <lambdabot> monochrom says: Welcome to #haskell, where @remember's are in majestic stereo!
01:51:03 <olsner> @quote template.haskell
01:51:03 <lambdabot> ghc says: Can't represent a guarded lambda in Template Haskell
01:51:05 <olsner> @quote template.haskell
01:51:05 <lambdabot> ghc says: Cannot desugar this Template Haskell declaration
01:51:06 <olsner> @quote template.haskell
01:51:06 <lambdabot> ghc says: Can't represent a guarded lambda in Template Haskell
01:51:07 <olsner> @quote template.haskell
01:51:07 <lambdabot> ghc says: Can't represent a guarded lambda in Template Haskell
01:51:37 <olsner> meh, can't find it *shrug*
01:52:25 <lambdabot> malcolm says: I don't believe you need to invoke the full awesome majesty of Template Haskell
01:52:43 <olsner> now, imagine the awesome majesty of template template haskell
01:54:21 -!- copumpkin has joined.
01:54:54 -!- ive has quit (Ping timeout: 276 seconds).
01:55:41 <Sgeo|web> It occurs to me that Stanislav probably doesn't like Haskell
02:08:33 <zzo38> Quasiquotes do take arbitrary strings; it is sometimes the problem due to if you are using a Haskell syntax in them, and you have |] in a string or comment; it won't work.
02:11:40 <zzo38> If you combined Template Haskell with a system of macros that works well, you might be able to make up do-notation and more-notation using that, and possibly such things as anonymous classes, autonumbering, and so on.
02:14:07 <Gregor> Vorpal: BTW, Aero was off by default, it's smart about not turning it on on systems without good graphics.
02:16:57 -!- ive has joined.
02:18:33 <Sgeo|web> Isn't more notation your idea?
02:19:23 <zzo38> Sgeo|web: Yes it is. But I mean a more general system that could be used to make up such things, and even things already in Haskell such as do-notation.
02:20:16 <elliott> <Sgeo|web> It occurs to me that Stanislav probably doesn't like Haskell
02:20:21 <elliott> see comments on nock or urbit post or w/e
02:20:27 <elliott> but it's okay because: stanislav is an idiot!
02:20:58 <elliott> http://moronlab.blogspot.com/2010/01/nock-maxwells-equations-of-software.html
02:20:59 <elliott> http://moronlab.blogspot.com/2010/01/urbit-functional-programming-from.html
02:28:38 <Sgeo|web> It seems to be meaningless when applied to a cell
02:29:20 <Sgeo|web> Hmm, I see other things with similar stuff
02:29:27 <Sgeo|web> I'm going to guess that that's the point
02:33:20 <olsner> hmm, haven't got my thinking brain in, that looks tricky
02:33:24 <elliott> Sgeo|web: The Urbit post doesn't actually require any understanding of Nock, FWIW
02:33:43 <elliott> I've never actually done the challenge, but might sometime
02:37:04 <Sgeo|web> "These C functions, or jets, will take noun arguments and produce noun results. In between, they can do whatever the heck they want - so long as they produce the same result as the actual Nock formula."
02:40:29 <Sgeo|web> "On Mars, SIN is taken to an extreme. Logically, Urbit is a single broadcast network - a single big Ethernet wire. Everyone sees everyone else's packets. "
02:40:41 <Sgeo|web> I was about to complain about security, but that's stupid, if you want security, encrypt it
02:41:51 <elliott> Nobody tell Sgeo|web how IP routers work.
02:42:22 <Sgeo|web> At least SIN forces people to realize it
02:46:44 <Sgeo|web> "Read the whole thing. Haskell fans, you'll know exactly where you can stick your monads."
02:47:05 <Sgeo|web> There is a distinction between monads in general and monadic I/O
02:47:19 <elliott> The guy is hardly an expert
02:47:40 <elliott> Monads and monadic IO are regularly conflated even by Haskellers
02:48:18 <elliott> Well, not _good_ Haskellers.
02:48:22 <shachaf> Monadic I/O isn't even fundamentally monadic in any way.
02:48:29 <shachaf> It's just a convenience thing.
02:48:51 <elliott> But it's trivial to find a tutorial written by someone good enough at Haskell to write real applications in it that talks about how monads are there to let you isolate IO side-effects.
02:48:52 -!- CakeProphet has joined.
02:48:53 -!- CakeProphet has quit (Changing host).
02:48:53 -!- CakeProphet has joined.
02:49:31 <shachaf> Oh, well, *tutorials*, sure.
03:01:56 <elliott> Sgeo|web: this is the particular stanislav remark I was directing you to: "Algebraic types and immutability: Yuck. Your Haskellian / type-theoretical mis-spent youth is showing. Actual computers contain rewritable storage and will likely always contain it. This is something to be celebrated, not a set of genitalia to be shamefully hidden behind a Christian fig leaf."
03:02:19 <elliott> he then proceeds to link to that stupid land of lisp comic whose own author happens to be a haskell fan :P
03:02:51 <Sgeo|web> I remember seeing someone say that data stores are monads
03:02:59 <Sgeo|web> I have no idea what that means precisely
03:05:31 <Sgeo|web> " For instance, to write Urbit in Haskell, you would need a Haskell interpreter written in Haskell. "
03:05:43 <Sgeo|web> What does ghc-api etc. count as?
03:06:00 <elliott> not homoiconic at all, and practically irrelevant in context
03:15:35 <CakeProphet> RIP Buick "Pimpmobile" Skylark, bereaved from us by the unwavering yet abiding clutches of the sibling forces of time and entropy (and perhaps the recklessness of its owner). Though it met its end in the shrinking confines of a large industrial steel compactor, it will always be remembered as the glorious mechanical steed that it was, matched only by the unbridled power of 150 horses and maybe better cars.
03:16:57 -!- Jafet has joined.
03:18:02 <elliott> Sgeo|web: yes? why is this surprising
03:18:06 <elliott> "FRP was invented by a HUMAN???"
03:39:44 <Sgeo|web> Would it be a terrible idea to try to make an FRP version of the AW stuff?
03:45:20 <Sgeo|web> Don't answer because I don't understand FRP
03:46:11 <elliott> yep! also because fitting existing C libs to FRP is painful. you would want reactive-banana, and that's way more suited to gui frameworks than network stuff
03:48:21 <Sgeo|web> "as the library can be hooked into any existing event-based framework "
03:50:34 <elliott> Sgeo|web: yes, i have used reactive-banana, i am aware of how it functions
03:50:50 <Sgeo|web> Huh, I didn't know you could put a where clause there
03:52:49 <Sgeo|web> https://github.com/HeinrichApfelmus/reactive-banana/blob/master/reactive-banana-wx/src/Arithmetic.hs line 41
03:53:52 <elliott> declarations have where clauses
03:54:12 <Sgeo|web> I guess I thought only top-level declarations could do that
03:58:09 <Sgeo|web> Is reactive-banana good in general?
03:58:14 <Sgeo|web> Or just for hooking into existing stuff?
03:59:11 <elliott> what is there but hooking into existing stuff
03:59:26 <elliott> you don't live in a world where your library - opengl, sdl, gtk, whatever - uses frp, do you?
04:00:37 <Sgeo|web> So, addHandler is provided by reactive-banana
04:02:43 <elliott> newAddHandler is not always needed, it is just a helper
04:03:20 <Sgeo|web> Still not quite sure what it does, but I guess its type is IO (EventSource ())?
04:03:24 <Patashu> hey, I found The Best Language Ever http://bondi.it.uts.edu.au/
04:03:33 <Patashu> it has more braces than lisp
04:04:09 <elliott> Sgeo|web: read the example
04:04:54 <Sgeo|web> Oh, right, EventSource is application-defined
04:06:47 <Sgeo|web> Somehow, fromAddHandler knows to take a ...so, fromAddHandler always takes a pair of AddHandler a, and a -> IO ()
04:07:43 <Patashu> http://www-staff.it.uts.edu.au/~cbj/patterns/13012009/ found the bondi examples
04:07:47 <Patashu> let cloud = Banks [Bank (Name "Cloud",Accountss [Accounts (AccountName "Qin",Balance 3333.00)],TermDepositss [TermDeposits (TdName "Cloud",MinDeposit 500,Period 1,Rate 3.25)])];;
04:08:56 <lambdabot> forall a (f :: * -> *) b. (Functor f) => a -> f b -> f a
04:12:29 <Sgeo|web> roll :: () -> StdGen -> (Reels, StdGen)
04:14:38 <Sgeo|web> http://hackage.haskell.org/packages/archive/reactive-banana/0.4.3.0/doc/html/Reactive-Banana-Implementation.html this is a little clearer, tbh
04:15:43 <Sgeo|web> As is http://hackage.haskell.org/packages/archive/reactive-banana/0.4.3.0/doc/html/Reactive-Banana-Model.html when I stop being scared of the scary type, I think
04:16:36 <elliott> import qualified Reactive.Banana.PushIO as Implementation
04:17:36 <Sgeo|web> .Implementation has an example though
04:18:22 <elliott> read Model. if you can't grok Model you will fail at the lower-level implementation of THE SAME API
04:19:20 <Sgeo|web> Seems simple so far, and I finally understand Behavior and Event, I think
04:20:07 <elliott> behavior is a signal. Time -> a
04:20:20 <elliott> like audio, or mouse position
04:20:21 <Sgeo|web> ....apply takes a function which itself changes over time?
04:20:35 <elliott> event is a set of one-off occurrences
04:22:14 <Sgeo|web> What sort of things are Behavior f (a -> b)? An example?
04:23:08 <elliott> any behavior constructed with the provided functions that is function-valued
04:27:52 <Sgeo|web> Except for making constant values into behaviors
04:31:43 <elliott> ANYHING ENDING -> Behavior
04:32:31 <Sgeo|web> Two of those assume I have events that are functions
04:36:43 <Sgeo|web> ....Not entirely sure if that really helps me
04:37:40 <elliott> frp is just "implementation of frp"
04:37:54 <elliott> its a code organisation tool for model vs implementation
04:39:28 <Sgeo|web> ShShould I shy away from Discrete?
04:42:41 <zzo38> Does the Alternative/MonadPlus instance for Parsec follow the identity law?
04:43:50 -!- DCliche has joined.
04:45:04 <Sgeo|web> counter = accumulate ($) 0 (fmap (+1) eventUp `union` fmap (subtract 1) eventDown)
04:45:15 <Sgeo|web> How does fmapping onto an Event produce a Behavior?
04:45:25 <zzo38> I know it doesn't follow the right zero law; but some people (myself included) think the right zero law should not be one of them, and only the left zero law and monoid laws should apply.
04:45:46 <zzo38> (That is, for MonadPlus. For Alternative, the left zero law is optional too.)
04:45:50 <Sgeo|web> I guess I should look for accumulate in reactive-banana
04:46:25 <Sgeo|web> http://apfelmus.nfshost.com/blog/2011/03/28-essence-frp.html
04:46:58 -!- Darth_Cliche has quit (Ping timeout: 260 seconds).
04:47:09 <elliott> i think that's accumB or sth
04:47:58 <zzo38> Here is an instance which I believe does follow the identity laws: instance Alternative IO where { empty = fail []; x <|> y = catch x $ \e -> modifyIOError (\z -> if z == userError [] then e else z) y; };
04:49:09 <zzo38> It follows the left zero law, too; so you could make it MonadPlus as well if you do not care about the right zero law.
04:50:14 <zzo38> Did you know that the Gregorian calendar and Gregorian chant are both named after popes but they are two different popes?
04:50:44 <zzo38> Do you think my instance follows the laws correctly? If not, please tell me what is wrong with it.
04:52:46 <elliott> Sgeo|web: in the comments you can see accumukate
04:59:14 <Sgeo|web> http://stackoverflow.com/questions/4113207/frp-reactive-how-to-use-filtere is this the same package?
04:59:20 <zzo38> What would be the correct parameters to define the Ecclesiastical moon in Swiss Ephemeris? What would be the parameters to define artificial satellites? Are either of these possible?
04:59:59 <elliott> Sgeo|web: see reative-banana tag
05:03:36 <zzo38> The parameters are: epoch of elements, equinox, mean anomaly at epoch, semi-axis, eccentricity, argument of perihelion, ascending node, inclination, and whether it orbits the Earth or the Sun. Any of these parameters can have T terms where T = (tjd - epoch) / 36525. For example, the intramercurian Vulcan uses: J1900,JDATE, 252.8987988 + 707550.7341 * T, 0.13744, 0.019, 322.212069+1670.056*T, 47.787931-1670.056*T, 7.5
05:03:58 <Sgeo|web> I think maybe I should see things in Behaviors and Events as "trapped" (bad terminology, I know), in an Applicative, and I use <$> and <*> the way I might with a monad
05:05:48 <zzo38> Sgeo|web: A monad is really applicative too, but the way it is programmed in Haskell doesn't make it do that normally.
05:06:28 <Sgeo|web> zzo38: I know that monads are applicatives, but not all applicatives are monads
05:13:51 -!- MDude has changed nick to MSleep.
05:34:02 <elliott> durus, reveal your secrets
05:35:07 <lambdabot> class Applicative f => Alternative f where
05:43:13 * elliott very briefly considers demanding Sgeo|web write his code for him.
05:45:28 <elliott> Patashu: bondi looks very interesting.
05:45:39 <elliott> bit light on documentation..
05:48:46 <monqy> demanding sgeo|web to write your code: a good idea????????
05:51:24 <elliott> monqy: you might like my code, it will be a good code (once it writ)
05:52:30 <elliott> monqy: yes: a fully-ACID object persistence store with STM semantics
05:52:54 <elliott> tl;dr: write program with standard STM transactional semantics, get reliable, durable file-based storage
05:53:21 <elliott> later: transparent operation on datasets larger than memory (perhaps), server support
05:54:17 <elliott> monqy: now, guess what language has an existing, industrial-strength, corporate-backed, open-source, performant ~5500 line implementation of all this already
05:54:20 <elliott> (do not cheat; good luck guessing)
05:54:32 <elliott> (yes, including full transactional STM semantics and server support)
05:54:37 <elliott> (ok not the larger-than-memory stuff but w/e)
05:55:42 <monqy> it's too late, I cheated hours ago
05:55:49 <monqy> by briefly looking at the chat back then
05:56:12 <elliott> monqy: but seriously, who is gifted with all that knowledge and then forced to write python code :(
05:57:03 <monqy> i feel bad for whoever was forced
05:58:30 <elliott> monqy: http://sprunge.us/NjEY
05:58:35 <elliott> this is the kind of thing i have to base my code on :P
05:59:55 <monqy> i;ve have to lots of python recently because schoole (ha) ha()
06:00:05 <elliott> monqy: incidentally i'd like to just use acid-state but it has severe limitations for me :(
06:00:18 <elliott> you have to declare the transactions on your data-type upfront
06:00:26 <elliott> and can't remove them or anything, only add
06:00:50 <elliott> i think the only way to fix that with acid-state's model would be if you could serialise functions
06:04:08 -!- DCliche has quit (Quit: You are now graced with my absence.).
06:04:20 <elliott> monqy: but yeah... hopefully it will be good???
06:05:43 -!- mtve has quit (Ping timeout: 260 seconds).
06:06:03 -!- mtve has joined.
06:06:38 <elliott> monqy: it would be nice if i could find a way to benefit from sharing... like, you don't want adding an element to a huge map to write out the huge map again in the transaction, you'd like to just write out the additional stuff and have a pointer back
06:06:53 <elliott> would be especially nice if i can do that for every structure, not rewriting each structure for this
06:17:57 <elliott> to do: read acid-state's Log.hs and things, read durus, zzzzzzzzzzzzzzzzzzz
06:18:00 -!- elliott has quit (Quit: Leaving).
06:31:01 -!- Zuu has quit (Ping timeout: 244 seconds).
06:34:40 <zzo38> Is the ring of sets normalizable?
06:42:36 -!- oerjan has joined.
06:48:06 -!- Jafet has quit (Quit: Leaving.).
07:24:35 -!- zzo38 has quit (Remote host closed the connection).
07:33:39 -!- ive has quit (Ping timeout: 256 seconds).
07:44:41 -!- CraZzYboY90 has joined.
07:44:56 -!- CraZzYboY90 has left.
07:57:01 -!- monqy has quit (Quit: hello).
08:12:27 -!- ive has joined.
08:33:41 -!- ive has quit (Quit: leaving).
08:56:46 -!- Madoka-Kaname has quit (Read error: Connection reset by peer).
08:58:31 -!- Madoka-Kaname has joined.
08:58:31 -!- Madoka-Kaname has quit (Changing host).
08:58:31 -!- Madoka-Kaname has joined.
09:05:45 <Vorpal> <Gregor> Vorpal: BTW, Aero was off by default, it's smart about not turning it on on systems without good graphics. <-- nice
09:12:09 <fizzie> Yes, it only enables Aero if your WEI is 3 or more.
09:12:14 <fizzie> (Windows Experience Index.)
09:12:39 <Vorpal> fizzie: the global WEI or the graphics one?
09:12:45 <Vorpal> the former doesn't really make sense
09:13:13 <Vorpal> after all my desktop scores 2.5 due to a slow hdd for windows 7. The rest of the components score 7.5-7.8
09:13:14 <fizzie> I think it's the base score.
09:13:52 <Vorpal> I don't remember it areo was on or not after install. It is turned off now though, and with windows classic theme on
09:16:49 <fizzie> http://windows.microsoft.com/en-US/windows-vista/Windows-Experience-Index-Understand-and-improve-your-computers-performance-in-Windows-Vista "Base score: 3.0 to 3.9 .. Windows Aero will typically be enabled automatically on the computer."
09:17:13 <fizzie> They might well have changed the logic on seven, though.
09:17:35 <fizzie> After all, the scores themselves go up to eleven^W7.9 now.
09:18:07 <Vorpal> fizzie: what was the old max value?
09:19:36 <Vorpal> strange they didn't make it an even 6.0
09:19:52 <fizzie> It also starts at 1.0 and not zero.
09:41:27 -!- oerjan has quit (Quit: leaving).
09:45:36 -!- ais523 has joined.
09:50:41 -!- ais523 has quit (Ping timeout: 245 seconds).
09:50:47 -!- ais523 has joined.
09:57:29 <CakeProphet> I got 6 WHOLE HOURS OF SLEEP in a row so I should be way more rested than usual.
09:57:46 <CakeProphet> however, I feel like dog shit. This is probably because I only got 6 hours of sleep still.
10:00:25 <Vorpal> I haven't slept well either. And I have to drive today.
10:00:35 <CakeProphet> oh did I mentioned that a deer hit my car. Yes, that car I just bought to replace my old car not too long ago.
10:00:45 <CakeProphet> Vorpal: that's always fun. Driving on no sleep is great.
10:00:58 <Vorpal> I slept some, just not as much as I would want to
10:01:03 <Vorpal> like 6 hours instead of 8
10:02:20 <Vorpal> CakeProphet: besides I will be picking up another guy on the way to university, since we live in the same town and study the same stuff at university we usually travel together to save money.
10:02:26 <Vorpal> oh and it is my parents car
10:04:44 <CakeProphet> I got a speeding ticket in my parent's car when I was borrowing it to drive when I didn't have a car.
10:05:12 <CakeProphet> but yeah, lately I've been doing that 4-hour nap thing.
10:05:36 <CakeProphet> it just happens that I'll go to bed at like 10 AM and wake up at 2 AM unable to go back to sleep until the sun comes up
10:07:08 <Vorpal> CakeProphet: I doubt I will get a speeding ticket.
10:07:16 <Vorpal> I never had problems keeping the right speed
10:08:11 <CakeProphet> that's the one bit of recent misfortune I could have prevented, I suppose.
10:09:08 <Vorpal> besides it is a Fiat (though a large station wagon one), so not exactly a fast car anyway. And although there is no automatic speed thingy, the terrain is kind of hilly so you need to adjust speed all the time anyway, hard to forget about speed then.
10:11:57 <CakeProphet> well it's usually not that I forget speed it's just that I don't consider the same speeds to be fast that other people seem to
10:12:19 <CakeProphet> there are mountainous roads where I live and I still drive like a madman. :P
10:12:20 <Vorpal> doesn't it say on the sign what the speed limit is
10:12:36 <Vorpal> and you have a speed indicator in the car?
10:12:43 <Vorpal> then what is the issue
10:13:20 <CakeProphet> some people intentionally break the law by driving fast because they think the speed limits are ridiculous.
10:13:44 <Vorpal> anyway hardly mountainous roads here, just slightly hilly. I live on a plain, it is just that the road goes over the few hills that exist.
10:13:57 <Vorpal> CakeProphet: that is rarer in Europe
10:14:11 <Vorpal> CakeProphet: beside you could lose your driving license from that if you go too fast.
10:14:30 <Vorpal> CakeProphet: don't you have speed cameras in US?
10:14:46 <CakeProphet> not many. I've seen maybe one or two in my lifetime.
10:15:01 <CakeProphet> and they're easy to spot and slow down for, hardly something to make me paranoid all the time.
10:15:09 <Vorpal> and there are mobile ones too
10:15:22 <CakeProphet> also I know the speed traps along my commonly taken routes, so I know when to slow down.
10:15:24 <Vorpal> as in, mounted on a trailer, that they park somewhere for a day
10:15:28 <CakeProphet> so I can pretty much drive as fast as I want otherwise.
10:16:04 <CakeProphet> most American drivers on the highway are in fact speeding much of the time.
10:16:33 <CakeProphet> I'm one of those insane people that are driving faster than the "normal" speeders.
10:17:05 <CakeProphet> I have have to get an insane number of speeding tickets to lose my license, but yes I suppose.
10:17:14 <Vorpal> CakeProphet: anyway, where you speeding when you hit that deer?
10:17:20 <CakeProphet> I'm not chalking up my speeding ticket to mere bad luck.
10:17:28 <CakeProphet> Vorpal: yes, though I would say it was more like the deer hit me.
10:17:38 <Vorpal> would you have been able to stop if you had not been speeding?
10:17:41 <CakeProphet> basically crashed itself into the side of my car. I didn't even see except for in the corner of my eye.
10:17:54 <CakeProphet> a split second thing really. nothing I could do.
10:18:02 <Vorpal> not when speeding indeed
10:18:12 <Vorpal> but maybe you should try keeping to the speed on the signs
10:18:29 <Vorpal> <CakeProphet> oh did I mentioned that a deer hit my car. Yes, that car I just bought to replace my old car not too long ago. <-- what happened to the previous car?
10:18:30 <CakeProphet> I could have been going 25 mph and the same thing would happen.
10:19:08 <Vorpal> CakeProphet: anyway you have to keep real life and GTA separate :P
10:19:58 <CakeProphet> sheesh, Europeans are all strict on their speed limit stuff it seems. :P
10:20:39 <CakeProphet> it's an incredibly minor thing. I drive reasonable speeds when appropriate. Such as in traffic.
10:21:10 <CakeProphet> to say that I should follow a flat rate of speed as posted by a sign is ridiculous, in my opinion.
10:21:34 <Vorpal> of course you have to drive slower sometimes. I never claimed otherwise
10:21:39 <Vorpal> but that should be the upper limit
10:21:57 <CakeProphet> especially when the people setting up those signs generate large amounts of revenue from people going faster than said number on sign.
10:22:25 <Vorpal> I mean, I wouldn't drive 70 km/h on a road marked 70 km/h if the condition of the road, visibility and other traffic didn't allow that in a safe way.
10:23:03 <Vorpal> CakeProphet: wait what? Please don't tell me that speed limits is done by for-profit corporations in US....
10:23:30 <Vorpal> right, crazy state system in US
10:23:33 <CakeProphet> though a number of private businesses can benefit.
10:23:49 <CakeProphet> for example there are online ticket paying services.
10:23:52 -!- ghost_ has joined.
10:23:59 <CakeProphet> who make money from setting up their services for local governments.
10:24:07 -!- hagb4rd has joined.
10:24:20 -!- ghost_ has quit (Client Quit).
10:24:29 <CakeProphet> so in my mind speed limits are just a way to take money from me. I suppose I've been doing a good job of allowing them to do that, since I ignore them. :P
10:26:23 * CakeProphet has generally never thought of himself nor intended to ever be a law-abiding citizen.
10:26:39 <hagb4rd> cakeprophez.state=insane; //consider it noted
10:55:45 -!- GreaseMonkey has quit (Quit: The Other Game).
11:40:45 -!- augur has quit (Remote host closed the connection).
11:41:40 -!- Patashu has quit (Quit: MSN: Patashu@hotmail.com , Gmail: Patashu0@gmail.com , AIM: Patashu0 , YIM: patashu2 , Skype: patashu0 .).
11:45:56 -!- pikhq_ has joined.
11:46:10 -!- pikhq has quit (Ping timeout: 252 seconds).
12:01:03 -!- ais523 has quit (Ping timeout: 258 seconds).
12:01:15 -!- ais523 has joined.
12:01:15 -!- ais523 has quit (Changing host).
12:01:15 -!- ais523 has joined.
12:02:17 <lambdabot> Source not found. You untyped fool!
12:06:48 <lambdabot> [[1,4],[1,5],[1,6],[2,4],[2,5],[2,6],[3,4],[3,5],[3,6]]
12:21:06 -!- augur has joined.
12:40:01 -!- ais523 has quit (Ping timeout: 240 seconds).
12:41:06 -!- ais523 has joined.
12:41:37 <ais523> CakeProphet: the council here in Birmingham is actually cracking down on private parking enforcer people
12:41:49 <ais523> some of them are acting vaguely dubiously
12:47:16 <fizzie> Private parking tickets have been a very contentious issue here in Finland too for a while now.
12:47:35 <fizzie> ISTR that a court did sort-of legitimize them quasi-recently though, much to the disappointment of some/many.
12:48:05 <fizzie> Also they had given a parked-on-the-grass-because-answering-an-emergency ambulance a parking ticket or something like that.
12:53:31 <fizzie> Right; the district court and the court of appeal both said private companies just plain aren't allowed to write parking tickets, but in June this year the supreme court reversed their decisions and said it's okay.
12:55:09 <fizzie> (Though the... uh, committee for constitutional law, has stated that according to them private parking-enforcement is unconstitutional.)
12:59:30 <fizzie> Also another funny story: one parking enforcement company (Parkki Oy) apparently had ticketed the car of another; then the other company sent the first one a 350 eur "clean-up" bill because their car had a sticker saying you're not allowed to attach/leave any material (like ads or whatever) to it.
13:04:08 <atehwa> fizzie: good to hear this story here, I've been too lazy to follow the discussion :)
13:04:35 <fizzie> I've been too don't-have-a-car to follow it.
13:04:51 <fizzie> Though apparently they've been leaving parking tickets to bicycles too.
13:05:12 <fizzie> Not that that's exactly enforceable, what with no license plates or anything.
13:05:49 <fizzie> (The companies in question seem to be just a slight bit overly profit-oriented.)
13:10:34 -!- boily has joined.
13:12:16 <CakeProphet> fizzie: I find it's best not ask any questions of Madoka-Kaname concerning what the hell they're doing with lambdabot.
13:12:29 <CakeProphet> also, I private parking tickets = the most absurd thing I've ever heard of.
13:12:54 * CakeProphet actually still has an unpaid parking ticket from the police department on his campus.
13:15:37 <fizzie> As far as I can figure out, the current status in Finland is that they can write tickets, but they can't force the owner of the car to pay them if e says someone else was driving, so they'd have to go to court, which they haven't so far done with anyone; on the other hand, there's also a law initiative thingie to explicitly legalize private parking enforcement, but it's not law yet.
13:17:10 <CakeProphet> in the case of campus parking tickets they can simply put a hold on my account.
13:17:32 <CakeProphet> which makes it impossible to do important things like fix financial aid, register for classes, and ultimately graduate.
13:17:52 <CakeProphet> until I give them $25 for not having a little sticker on my car. :)
13:24:06 <lambdabot> System.FilePath.Windows (<.>) :: FilePath -> String -> FilePath
13:24:06 <lambdabot> System.FilePath.Posix (<.>) :: FilePath -> String -> FilePath
13:24:06 <lambdabot> System.FilePath.Windows addExtension :: FilePath -> String -> FilePath
13:25:05 <ais523> CakeProphet: there was a case found recently where a carpark had rigged its pay-and-display ticket machines to deliberately miscount the money put into them
13:25:24 <ais523> and then they clamped cars which stayed longer than the amount actually printed on the ticket, and charged ridiculous amounts to unclamp them again
13:27:03 <ais523> it's vaguely interesting that they got caught, actually
13:28:12 <CakeProphet> > unwords $ map shows [1,2] ++ map (++) ["red", "blue"] <*> [" fish"]
13:28:14 <lambdabot> "1 fish 2 fish red fish blue fish"
13:28:26 <CakeProphet> ais523: I would think they stick out like a sore thumb if they're charging ridiculous amounts.
13:28:37 <ais523> for the unclamping? no, they all do that
13:28:52 <ais523> and that's being clamped down on too
13:29:11 <ais523> not deliberate, but I noticed it before I pressed return
13:29:17 <CakeProphet> > intercalate ", " $ map shows [1,2] ++ map (++) ["red", "blue"] <*> [" fish"]
13:29:18 <lambdabot> "1 fish, 2 fish, red fish, blue fish"
13:31:39 <CakeProphet> er, I mean, obviously I know what it does but what is the benefit of it over using ++ explicitly.
13:37:39 <CakeProphet> @hoogle (Applicative f) => f (a -> b) -> f a -> b
13:37:40 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
13:37:41 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
13:37:41 <lambdabot> Control.Applicative liftA :: Applicative f => (a -> b) -> f a -> f b
13:38:28 <Deewiant> > let f 0 = ""; f n = f (n-1) ++ show n in take 5 $ f 500000
13:38:28 <Deewiant> > let f 0 = id; f n = f (n-1) . shows n in take 5 $ f 500000 ""
13:40:16 <CakeProphet> would it be fair to say that shows is similar to CPS??
13:42:03 <lambdabot> Couldn't match expected type `[GHC.Types.Char] -> t'
13:45:43 -!- zzo38 has joined.
13:45:47 -!- Phantom_Hoover has joined.
13:53:30 -!- variable has quit (Excess Flood).
13:59:37 -!- variable has joined.
14:28:24 -!- Guanxin has joined.
14:28:46 -!- Guanxin has left.
14:34:34 -!- copumpkin has quit (Ping timeout: 248 seconds).
14:35:08 -!- copumpkin has joined.
14:35:29 -!- sllide has joined.
15:03:55 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
15:18:20 <zzo38> I found some things about new version of Microsoft Excel. If you enter a text into a cell that starts with "A1-" then it will be formatted as an Islamic date (even in the English version). There is also a BAHTTEXT function which converts a number to Thai text and adds "Baht" suffix. There is no function for English numbers text. Apparently they added that feature for the purpose of ordering Thai food.
15:28:12 -!- copumpkin has joined.
15:32:03 <zzo38> According to Wikipedia, "Baht" is the Thai currency. So it doesn't seem to make sense to use that for ordering Thai food within the United States.
15:39:17 -!- MSleep has changed nick to MDude.
15:43:34 <zzo38> "It's been suggested (by an anonymous Excel MVP) that the Excel programmers enjoy Thai food, and they created this function to facilitate email orders to Redmond Thai restaurants. This theory has not yet been confirmed -- but then again it hasn't been denied either."
15:54:15 <zzo38> Actually from what I can find, the real reason seems to be that it was included in older Thai versions of Excel, but the new version includes all the functions including non-English functions.
15:57:31 <zzo38> I try to run Sakura MML compiler to MIDI, but I get error message about ConvToHalfSign1.
15:59:56 <zzo38> In addition, all menus are completely unreadable; they have only question marks on them.
16:01:06 -!- chickenzilla has quit (Ping timeout: 245 seconds).
16:01:10 <zzo38> Maybe it is for Japanese system only?
16:01:11 -!- chickenzilla has joined.
16:04:23 <CakeProphet> zzo38: forall f g xs. map f (map g xs) = map (f.g) xs
16:04:25 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
16:04:29 <CakeProphet> is this rewrite rule used by default in GHC?
16:05:54 -!- Ngevd has joined.
16:16:41 <zzo38> I don't know if such rewrite rule is used by default
16:23:18 <CakeProphet> that uses rewrite rules to remove intermediate lists between some common list functions.
16:25:39 <CakeProphet> "++" [~1] forall xs ys. xs ++ ys = augment (\c n -> foldr c n xs) ys #-}
16:26:05 -!- elliott has joined.
16:33:59 <elliott> annoyed at tswett for stealing ais523's challenge to me :)
16:34:40 <Ngevd> Where am I seeing a-d?
16:35:03 <ais523> Ngevd: it's a reference to the nomic Agora
16:35:11 <ais523> we had a suspicion it might be Turing-complete
16:35:24 <ais523> so I challenged elliott to try to prove it, as e had proven for believed-state-of B Nomic
16:35:29 <Ngevd> That big scary nomic
16:35:43 <elliott> Ngevd: it's not scary, there's like 6 active players and nothing's happening
16:35:44 <ais523> didn't you write a some-language-to-B compiler?
16:35:49 <elliott> ais523: oh, hmm, I do recall that
16:35:55 <ais523> elliott: it's coming out of a slump atm
16:35:57 <Ngevd> Which is the big scary nomic?
16:36:00 <elliott> back when i used to be cool :)
16:36:08 <elliott> Ngevd: none, nomics aren't popular enough to be big and scary
16:36:13 <ais523> Ngevd: Agora is often called scary, but it isn't really
16:36:14 <elliott> blognomic players think agora is scary because they're silly
16:36:16 <ais523> or at least shouldn't be
16:36:23 <elliott> agora is also very slow unlike blognomic :P
16:36:25 <ais523> people see the numbers on the ruleset and get scared
16:36:32 <elliott> ais523: i had a dream where blognomic died because i went idle, btw
16:36:55 <CakeProphet> I like how LibreOffice autocorrecst naive to naïve and then highlights it as a spelling error.
16:37:20 <elliott> ais523: what's surprising is that they actually took it seriously, and moved to another game, which was hosted on something almost like a google group, but defying all logic
16:37:57 <ais523> elliott: don't google groups defy most logic anyway?
16:37:58 <Ngevd> I had a dream that I could administer a nomic
16:38:04 <Ngevd> Then it all went horribly wrong
16:38:07 <ais523> there's only a bit remaining left to defy
16:38:08 <Ngevd> Or was that real life?
16:38:11 <elliott> ais523: you haven't seen my dream programs
16:38:19 <ais523> no, probably nor has anyone else
16:38:20 <CakeProphet> I have a dream I was playing awesome pen and paper RPGs
16:38:30 <ais523> do you see them visually? or do you just dream they're there?
16:38:44 <CakeProphet> ais523: I dream that I have friends who like them and play them.
16:39:02 <CakeProphet> then I wake up to the painful sting of reality.
16:39:02 <elliott> ais523: I see them visually in a dream!
16:39:30 <Ngevd> I just thought I autotabbed, but I really just typed "Cake"
16:39:50 <elliott> ais523: does blognomic usually spend entire dynasties constantly making proposals and never actually using them?
16:39:56 <ais523> elliott: often when I'm dreaming, I don't see things as images unless I concentrate on what they look like
16:40:05 <ais523> normally, no more than two and a half rules, on average, will actually be releant
16:40:16 <elliott> maybe I won't bother deidling
16:40:18 <ais523> the others will be used once and then forgotten
16:40:31 <Ngevd> Sad category: http://en.wikipedia.org/wiki/Category:Games_of_nomic
16:40:53 <elliott> ais523: oh, and after i found out blognomic died, i realised it was another victory for agora :)
16:41:10 <elliott> the perfect military strategy: annoy your opponent until you both get bored; the opponent dies weeks later
16:41:11 <CakeProphet> releant? deidling? what is going on in this conversation.
16:41:31 <ais523> and deidling is the opposite of idling
16:41:37 <ais523> as in, starting to do something, rather than starting to do nothing
16:41:45 <ais523> sometimes I fly around in a spaceship :>
16:42:05 <elliott> ais523: don't, CakeProphet has ruined that smiley :'(
16:42:13 <CakeProphet> what are you talking about it's awesome. :)
16:42:18 <elliott> i even told him about ESO's official copyright claim to it! but no.
16:44:01 <CakeProphet> you can't get your emoticons mixed up with your peoplethoughts. It's not a very fertile mindset.
16:44:04 <elliott> 10:20:39: <CakeProphet> it's an incredibly minor thing. I drive reasonable speeds when appropriate. Such as in traffic.
16:44:04 <elliott> 10:21:10: <CakeProphet> to say that I should follow a flat rate of speed as posted by a sign is ridiculous, in my opinion.
16:44:04 <elliott> oh, I get it: Americans are equipped with a psychic ability to tell whether there's other cars on the road they're on or not
16:44:40 <CakeProphet> also I drive a lot at night, in a small town.
16:44:45 <elliott> oh! so then you have infinitely fast reflexes when a car comes into view. ok
16:45:20 <Ngevd> elliott, Americans treat cars as we treat pedestrians, by and large.
16:45:24 <elliott> CakeProphet: hmm, maybe we should institute some sort of maximum speed you can drive at on the roads, so that for the occasional case where a car does come in when you're not expecting it, your lack of fallibility doesn't lead to accidents or death... hmmmmmm...
16:47:12 <CakeProphet> elliott: better solution: be American and therefore the best drivers in the world.
16:47:26 <Ngevd> Nah, Icelanders are better
16:47:42 <Ngevd> Don't you read your Scandinavia and the World?
16:47:58 <elliott> 10:23:03: <Vorpal> CakeProphet: wait what? Please don't tell me that speed limits is done by for-profit corporations in US....
16:47:59 <elliott> 10:23:15: <CakeProphet> local government.
16:47:59 <elliott> 10:23:30: <Vorpal> right, crazy state system in US
16:48:12 <elliott> Vorpal: it's not crazy when you have that much populated landmass
16:48:54 <CakeProphet> actually no I think it's completely local except for interstate highways.
16:49:07 <CakeProphet> because speed limit changes between jurisdictions I find.
16:49:27 <CakeProphet> though interstate highways tend to be fairly consistent for the most part.
16:49:52 <elliott> 12:59:30: <fizzie> Also another funny story: one parking enforcement company (Parkki Oy) apparently had ticketed the car of another; then the other company sent the first one a 350 eur "clean-up" bill because their car had a sticker saying you're not allowed to attach/leave any material (like ads or whatever) to it.
16:50:10 <CakeProphet> and yeah, good luck trying to administrate every minute detail of American society from Washington DC.
16:50:49 -!- elliott has changed nick to Iambdabot.
16:51:31 <Iambdabot> @tell Madoka-Kaname Stop fucking with me already!
16:51:34 -!- Iambdabot has changed nick to elliott.
16:51:35 <Vorpal> <elliott> Vorpal: it's not crazy when you have that much populated landmass <-- indeed, but some of the stuff that is local govt in US should probably be federal IMO.
16:51:51 <elliott> Vorpal: probably more the other way around.
16:52:20 <CakeProphet> elliott: that's a popular sentiment in the US.
16:52:32 <CakeProphet> more with conservatives but not exclusively.
16:53:15 <CakeProphet> apparently everyone in the Us is a libertarian.
16:54:05 <CakeProphet> hmmm I think I've got my first Skype spam.
16:54:21 <CakeProphet> "NOTIFICATION URGENT ALERT is calling you"
16:54:35 <Vorpal> elliott: you use chrome/chromium right?
16:54:39 <Ngevd> Wow, I didn't realise that exists, CakeProphet
16:55:01 <Vorpal> elliott: is there a way to make chrome and/or chromium save open tabs when you close it, and restore them when you open it.
16:55:10 -!- sebbu2 has joined.
16:55:10 -!- sebbu2 has quit (Changing host).
16:55:10 -!- sebbu2 has joined.
16:55:18 <elliott> Vorpal: yes. it's on the first page of preferences. did you check?
16:55:35 <Vorpal> elliott: I did, I somehow missed it. Beats me why it isn't default though...
16:55:56 <elliott> it's kind of annoying since i use sleep as tab gc :)
16:55:56 <Ngevd> Vorpal, that feature reeeeaaally annoys me
16:56:01 <CakeProphet> elliott: I like how that is still somehow one of the reasons people prefer Firefox over Chrome, even though they both support it.
16:56:05 <Ngevd> I close browsers to clear my mind
16:56:23 <elliott> i still have it on though, to recover from accidental closes
16:56:24 <Vorpal> Ngevd: I just let them pile up until the browser gets sluggish, then I gc.
16:56:27 -!- sebbu has quit (Ping timeout: 248 seconds).
16:56:38 <Ngevd> It's how I escape TVTropes
16:56:41 <elliott> Vorpal: good luck with that, chromium takes about ten windows filled with tabs to get sluggish ime
16:56:51 <elliott> and that's on this puny machine
16:56:51 <Vorpal> this doesn't work well on my new computer though, it takes ages for firefox to get sluggish now
16:57:04 <Vorpal> I mean, on my old computer 70 tabs was about it, now it is more like 700
16:57:37 <elliott> I think I'd disable reopening tabs on startup if the history was better.
16:57:56 <elliott> I want my history to track which tabsets in which windows I had open at each given moment, and be able to answer questions like "what tab did I click a link in to open this other tab?".
16:58:03 <Vorpal> elliott: btw I have to say that modern firefox are way less of memory hogs.
16:58:16 <elliott> History was accurate when browsing was one tab in one window, but that hasn't been the case for years now.
16:58:45 <Vorpal> elliott: depends on what sort of history. The "you opened this page this day" kind of history still works, doesn't it?
16:58:55 <CakeProphet> elliott: have you noticed that sometimes chrome doesn't preserve google-searches-from-"omnibar" in history sometimes?
16:59:33 <elliott> Vorpal: yes, it records all pages you opened. here's another kind of history that also preserves that: an unordered set of pagse
16:59:36 <CakeProphet> hmmm, and now for some reason I can't get it to do that.
16:59:47 <elliott> Vorpal: the point is, since tabs have become commonplace, history is now throwing away a lot of relevant information
17:00:09 <Vorpal> what more is there than timestamp?
17:00:21 <elliott> Vorpal: ok, history records the state of the browser
17:00:33 <elliott> degree 0: set of urls, no time information
17:00:38 <elliott> degree 1: ordered set of urls with timestamp information
17:00:55 <elliott> degree 2: ordered set of urls with timestamp /and tab layout/ information
17:01:09 <elliott> degree 3: ordered set of urls with timestamp /and tab layout/ information, plus tracks tab parentage (open link in new tab -> current tab becomes parent of created tab)
17:01:18 <elliott> yes, degree 3 would actually be really useful for me
17:05:04 -!- monqy has joined.
17:07:13 <atehwa> I wonder if I should write still one round of assignments.... :/
17:07:30 <CakeProphet> elliott: also instead of maintaining only a linear sequence of history for each tab it should be a multiway tree. :) so you can move forward, back, left, and right.
17:07:30 <atehwa> I'm afraid not many will care to do them.
17:07:39 -!- sebbu3 has joined.
17:07:39 -!- sebbu3 has quit (Changing host).
17:07:40 -!- sebbu3 has joined.
17:07:55 * elliott is guilty, I only did half of them
17:08:11 <atehwa> tabs are unnecessary, if you have w3m-style history
17:09:04 <elliott> hmm, what does w3m history look like?
17:09:14 <elliott> i've wanted a unified history-tab system for aaages
17:09:34 <CakeProphet> "prove that dupdog is not Turing complete" would be a good assignment
17:10:00 <atehwa> elliott: w3m stores all history (also future history) until you explicitly throw it out
17:10:18 <atehwa> when you enter a new page, the page is added in history right above the page you came from.
17:10:38 <atehwa> Ngevd: those pages where you've been but "back"-ed from.
17:11:15 -!- sebbu2 has quit (Ping timeout: 258 seconds).
17:11:53 <elliott> atehwa: Meh, that doesn't store any hierarchy of recency information. :/
17:12:01 <elliott> (Or, where does it move the history entry if you open a page from history?)
17:12:04 <atehwa> CakeProphet: I can look into that. But I was thinking about making the next assignments in language design, not use.
17:12:51 <atehwa> elliott: the new pages are always added to the part of the history list where you currently are
17:13:05 <CakeProphet> actually I suppose the problem would be "prove that dupdog is or is not Turing complete"
17:13:05 <atehwa> CakeProphet: there were some proof assignments already
17:13:34 <atehwa> elliott: basically, w3m history could be augmented with link paths and recency lists, but I don't know if it improves it any
17:13:47 <Ngevd> Would Hiafu be a compiled language?
17:14:05 <elliott> atehwa: well, I need something along those lines, so that I can switch between currently-relevant pages without the hundreds of pages I opened in the meanwhile being in the way
17:14:09 -!- tiffany has joined.
17:14:10 <CakeProphet> 12:13 -NickServ(NickServ@services.)- Information on kallisti (account kallisti):
17:14:17 <elliott> my web browsing strategy is not exactly conventional.
17:14:21 <CakeProphet> 12:13 -NickServ(NickServ@services.)- Last seen : Mar 13 01:25:08 2011 (34 weeks, 2 days, 15:48:07 ago)
17:14:27 <CakeProphet> how long does it take for nicks to expire?
17:14:49 <atehwa> elliott: I sometimes specifically throw out cruft history in w3m in order to have a nice, clean history :)
17:14:56 <elliott> CakeProphet: /j #freenode, /nick kallisti, ask for it to be dropped
17:15:03 <elliott> atehwa: that's revisionism :'(
17:15:10 <CakeProphet> elliott: no I think this is a trait common to some people. programmers especially.
17:15:31 <tiffany> cakeprophet, this one was inactive for 2 years and I went to #freenode and it took them like a month to finally drop it for me :s
17:15:36 <elliott> CakeProphet: most people say "oh i have SO MANY TABS" to mean enough tabs that you can't see the titles on one window
17:15:44 <elliott> i mean enough tabs that you can't see the titles in ten irregularly-sized windows
17:15:46 <atehwa> elliott: basically, you could have a "history trashcan" for history that you haven't used for a long time :)
17:15:49 <Ngevd> Would ~ATH count as an esoteric programming language?
17:16:45 <Ngevd> Can I make an article for it?
17:16:50 <CakeProphet> elliott: oh did I mention Act 6 is going to be amazing?
17:17:03 <CakeProphet> you know, now that I actually understand what is going on.
17:17:07 <elliott> Ngevd: probably, but it wouldn't be very interesting, and nobody else would ever edit it :)
17:17:29 <elliott> you should probably just link to the wikia article on it, if you /really/ want to.
17:17:44 <elliott> i can work on my fun code or my easy code
17:17:56 <monqy> but fun code is fun
17:18:03 <CakeProphet> elliott: so you just leave tabs open so that your feeble monkey brain can revist them later to remember what the fuck you were doing?
17:18:14 <monqy> hard is fun when it's fun
17:18:19 <elliott> CakeProphet: no, i just leave tabs open because why would i close a tab
17:18:26 <elliott> monqy: ok then you write it for me if it's so fun
17:18:32 <monqy> but code is never fun :(
17:18:41 <CakeProphet> to sanely navigate a set of tasks at once.
17:18:43 * Sgeo|web always has excessive amounts of tabs open
17:19:30 <CakeProphet> having a workspace sort of system would be nice. basically tabsets instead of multiple windows.
17:19:39 <elliott> CakeProphet: itt: firefox tab groups
17:19:45 <Ngevd> I have a bonsai browser.
17:19:49 -!- tiffany has quit (Remote host closed the connection).
17:19:51 <Ngevd> I prune it often and keep it small
17:19:53 <CakeProphet> elliott: never used those, but I doubt it's what I want.
17:20:06 <Ngevd> However, it looks like a full-sized browzer
17:21:06 <elliott> 16:04:23: <CakeProphet> zzo38: forall f g xs. map f (map g xs) = map (f.g) xs
17:21:06 <elliott> 16:04:29: <CakeProphet> is this rewrite rule used by default in GHC?
17:21:10 <elliott> CakeProphet: see RULES pragmas in base source
17:21:54 <CakeProphet> actually just look at the first thing I say when you join.
17:25:06 -!- tiffany has joined.
17:25:15 <CakeProphet> my hobby: patronizing people via ancient internet protocols.
17:26:13 <CakeProphet> I wonder if IRC will be in Ancient History of PRogramming classes, 2000 years in the future.
17:27:13 <Ngevd> And then, according to the Internet Jargon File, Tim Berners-Lee, a member of the Equites class, created the Internet
17:27:28 <CakeProphet> actually that probably won't happen as we'll be part of the singularity hivemind and thus have infinite access to all accumulated human knowledge.
17:28:29 <CakeProphet> another possible scenario: breakdown of civilization, end of human existence, long distances of space travel rendering an all-encompassing singularity impossible, etc, etc, etc, etc.
17:28:32 <Vorpal> CakeProphet: or society has collapsed.
17:30:01 <Vorpal> CakeProphet: I don't think you can make any reasonable prediction about that topic further into the future than 10-15 years.
17:31:56 <CakeProphet> man future speculation was so much easier when it was just about spaceships, lasers, and flying cars.
17:32:03 <Phantom_Hoover> I predict that the Singularity will occur the day before Kurzweil would otherwise have died.
17:32:26 <Vorpal> well of course, there could always be a meteor, nearby supernova or other rare catastrophic event, sure. But climate change probably haven't caused civilization to collapse in the next 15 years. Nor does singularity in that time frame seem likely.
17:32:35 <elliott> Phantom_Hoover: I'm gonna feel really bad for the guy if it hits us the day after Kurzweil dies.
17:32:56 <Phantom_Hoover> elliott, I'd be so busy laughing I'd be written off as a sociopath.
17:33:12 <elliott> Phantom_Hoover: It's OK, those thoughts would be extracted from your head before they actually happen.
17:33:38 <Vorpal> Phantom_Hoover: isn't there one possible candidate that could fry us in gamma iirc?
17:34:08 <Sgeo|web> elliott: Do I have any reason for choosing one of reactive-banana or Yampa over the other?
17:34:09 <Phantom_Hoover> Vorpal, a GRB, which is a fair deal less well-understood than a supernova, making predictions hard.
17:34:20 <Sgeo|web> (Possibly replacing Yampa with that fork, Animas I think)
17:34:23 <Vorpal> Phantom_Hoover: sorry, but what is a GRB?
17:34:49 <elliott> Sgeo|web: use reactive-banana
17:34:56 <elliott> Sgeo|web: but don't, if you're trying to do AW stuff
17:34:58 <CakeProphet> I wonder to what degree standardization lockdown (is there an actual term for that?) will slow down technological progress.
17:34:58 <Phantom_Hoover> Gamma ray burst; an extremely bright, highly directional burst of gamma rays.
17:35:05 <Vorpal> Phantom_Hoover: I thought those were caused by supernovas?
17:35:22 <elliott> CakeProphet: nobody cares about standards
17:35:41 <CakeProphet> elliott: well I suppose they get revised pretty drastically over the years.
17:35:42 <Phantom_Hoover> There are two kinds of them based on spectral data, and one of those is hypothesised to be caused by a certain class of supernova.
17:36:00 <Sgeo|web> elliott: Well, nothing wrong with making a normal monadic IO library for AW, then using reactive-banana on top of that, right?
17:36:07 <elliott> Vorpal: people regularly violate power specs for usb i believe
17:36:11 <CakeProphet> but will we be using HTTP like 100 years from now?
17:36:21 <Vorpal> elliott: heh, so why does stuff not get fried?
17:36:39 <elliott> Sgeo|web: you will find that frp does not help you at all here, at least not in current forms. but certainly, you will waste your time regardless of what i say, so have fun...
17:36:49 <CakeProphet> elliott: I guess I was referring more to protocols and specs than "standards", or were we talking about the same thing?
17:36:49 <elliott> Vorpal: because computer manufacturers don't care about the specs either?
17:37:13 <Vorpal> elliott: so you mean devices request more than 500 mA?
17:37:26 <elliott> dunno, i just recall stuff violating the power stuff
17:37:49 <CakeProphet> this is how garbage collection works in elliotts brain
17:39:17 <Vorpal> CakeProphet: quite a broken algorithm there. Since obviously this thing was still reachable
17:40:44 <Sgeo|web> iirc, devices draw more than allowed by default without actually asking
17:40:55 <CakeProphet> Vorpal: well the rules still remain but more specific references are replaced by stuff.
17:41:33 <CakeProphet> Vorpal: I think that's the sound of Vorpal overthinking it. :P
17:41:41 <Vorpal> CakeProphet: that is more like lossy compression .
17:42:14 <Vorpal> CakeProphet: no it was me looking up how many "s" there were in "lossy" :P
17:43:18 <elliott> sigh. this guy on reddit doesn't understand why a compiler could be faster than cpython
17:43:37 <CakeProphet> elliott: I wonder if he knows how computers work.
17:43:43 <elliott> CakeProphet: see http://www.reddit.com/r/programming/comments/m4rbs/python_3_implementation_in_haskell/c2y45o5 onwards
17:44:32 <CakeProphet> "So what? The compiler used for C is pretty state-of-the-art too" hahahahahahahaha
17:45:12 <CakeProphet> yeah he doesn't get interpreter vs. compiler.
17:45:44 <CakeProphet> honestly why do you talk to people on reddit
17:45:57 <CakeProphet> almost every comment I've read on reddit is bad.
17:46:20 <elliott> i have nothing better to do
17:46:36 <elliott> CakeProphet: anyway /r/haskell is almost universally intelligent
17:47:13 <CakeProphet> gcc is pretty good, but it's no specialiser. It can't turn an interpreter into a compiler as good as itself.
17:47:59 <elliott> yes, that is exactly what specialisers do
17:48:48 <CakeProphet> "Otherwise the only way to make it faster is by analysing the program during run time and get the information there (jit)."
17:49:02 <CakeProphet> to write something that is faster than an interpreter.
17:49:46 <CakeProphet> is this what Python mind virus does to some unfortunate souls? or is this something else?
17:50:24 <Sgeo|web> How could one compile a language that uses eval? I mean, besides including an interpreter with it
17:50:49 <elliott> Sgeo|web: how could one compile a language that uses printf? i mean, besides including a formatted printer with it
17:53:58 -!- Taneb has joined.
17:54:03 -!- Ngevd has quit (Ping timeout: 248 seconds).
17:55:11 <CakeProphet> elliott: you know you want to ditch @ and write the best programming language.
17:55:20 <elliott> That's what @ is, you moron.
17:56:27 <Sgeo|web> Actually, that might not be the most accurate comment, but maybe it will be like a cluebat
17:56:47 <elliott> or maybe you're just wasting time without the endless charm, charisma and genius required to make it an excellent fun time like i have
17:58:09 <Sgeo|web> Maybe he is just thinking about eval?
17:59:31 <Gregor> elliott is clearly not full of himself.
17:59:36 <CakeProphet> and thinks super-fast optimized python builtins = magically the overhead of interpreting your program with no optimization isn't slow
17:59:36 <Gregor> He doesn't even capitalize his name.
17:59:40 <Gregor> People who are full of themselves capitalize.
18:00:05 <Phantom_Hoover> Of course he's full of himself, it'd be extremely disturbing if he was full of someone else.
18:01:45 <elliott> http://www.reddit.com/r/programming/comments/m4rbs/python_3_implementation_in_haskell/c2y51fr ;; I used bullet points, bold and em dashes, so you know it's authoritative.
18:02:05 <elliott> "That is precisely the point you can barely optimize python via static analysis, the information to do that just isn't there."
18:02:05 <CakeProphet> but yes, if your Python libraries provided every single piece of code you needed as a C builtin... then your "Python code" is going to be fast.
18:02:22 <Gregor> I seeeeeeeeeeeeeeeeeeeeeeeee.
18:02:22 <elliott> Gregor: You work in the dynamic languages space, find me one of them papers showing that the behaviour of dynamic programs can be statically analysed in the vast majority of cases.
18:03:02 <Gregor> There are lots of papers that make that claim, very few (to none) that back it up.
18:03:11 <elliott> Gregor: OK, s/vast majority/some/ :P
18:03:26 <CakeProphet> optimizing python compiler + JITC eval = better Python
18:03:28 <elliott> Gregor: This guy is claiming that you can do /so little static analysis/ that it's impossible for a static, optimising compiler to beat CPython.
18:03:37 <Gregor> elliott: Yeah, that's kinda siwwy.
18:03:48 <Gregor> elliott: There's actually one on the dynamic behavior of Python out there somewhere :P
18:03:58 <CakeProphet> elliott: python is just too l33t and frexibul
18:04:34 <CakeProphet> I wonder if anyone's tried to write a Perl compiler.
18:04:41 * elliott tries to find other reasons to stop talkign to this guy
18:04:48 <elliott> "While usually I'm quite the liberal/free market in economic terms" strike one
18:04:51 -!- Taneb has quit (Ping timeout: 245 seconds).
18:05:09 <elliott> "Ahh ok I think I understand where you're trying to get at. I agree modern fencing is definitely not nearly as effective as the real training and sword fighting people used to do. I think I misinterpreted "It wouldn't hold up against any sort of real combat"."
18:05:10 <Gregor> elliott: My attempt to find it again is yielding only my own paper :P
18:05:11 <elliott> Phantom_Hoover: Look at this fucker.
18:05:22 <elliott> Gregor: I can cite that, there's no way he'd bother reading it!
18:05:53 <Gregor> elliott: My attempt to find it again is yielding only my own paper :P
18:05:58 <elliott> Oh snap, he plays DCSS. Strike two!
18:06:03 <elliott> Gregor: I can cite that, there's no way he'd bother reading it!
18:06:04 <Gregor> elliott: Here we go: http://dl.acm.org/citation.cfm?id=1862665
18:06:19 <Phantom_Hoover> elliott, ridiculous, obviously nicking your opponent on the wrist half a second before they run you through the heart makes you the victor!
18:06:45 <Sgeo|web> I play DCSS... occasionally...
18:07:05 <elliott> Sgeo|web: Wanna bet how long I'd bother arguing with you about the practicality of compiling Python?
18:07:30 <CakeProphet> elliott: you forgot the static compiler + dynamic JIT superfrankenstein
18:08:42 <elliott> Gregor: Can I refer to you as a ``colleague''? It would boost my credibility.
18:09:03 <elliott> Gregor: THE BULLET POINTS AREN'T ENOUGH
18:09:05 <Gregor> We are colleagues at the International Institution of Esoteric Software Design
18:09:12 <elliott> Great, thanks for the permission
18:10:20 <elliott> http://www.reddit.com/r/programming/comments/m4rbs/python_3_implementation_in_haskell/c2y54qu
18:10:32 -!- tiffany has quit (Quit: restarting in attempt to fix nvidia drivers).
18:10:38 <Gregor> elliott: *COLLEAGUEPOLITENOD*
18:10:53 <elliott> Gregor: *COLLEAGUEFORMALHANDSHAKE* *COLLEAGUEBUSINESSMEETING*
18:11:03 <elliott> Gregor: *COLLEAGUEAPPEARINGINSTOCKPHOTOSFORBADWEBHOSTINGCOMPANIES*
18:11:26 <Gregor> elliott: *COLLEAGUEPOINTINGATCOMPUTERMONITORWITHCHEESYGRINWHILEYOUTYPESOMETHING*
18:11:50 <CakeProphet> elliott: I think calling it a static compiler + dynamic JIT superfrankenstein would greatly lend to your credibility.
18:12:10 <elliott> Gregor: *COLLEAGUESUBVERTINGYOURATTEMPTSTOGETPROMOTEDSOTHATICANRISEABOVEYOUINTHEPECKINGORDERANDRUTHLESSLYCUTYOUDOWNBECAUSEIHATEYOU*
18:12:24 <Gregor> elliott: *COLLEAGUETENUREBITCH*
18:12:33 -!- tiffany has joined.
18:12:40 <Gregor> Daaaaaaaaaaaaaaaaaaamn
18:12:57 <elliott> You scored a maximum 0.3/1000000000 points.
18:13:05 <Gregor> Probably the fastest Python you could get today would be by compiling Python into JavaScript and then running it with V8 ;)
18:13:30 <elliott> Gregor: That's... that's ALMOST tempting.
18:13:54 <elliott> Posted 28 Sep 2008 at 14:03 UTC (updated 28 Sep 2008 at 16:33 UTC) by lkcl
18:13:55 <elliott> pyv8 is an experimental project to combine two-way python bindings to v8
18:13:55 <elliott> with the python-to-javascript compiler from pyjamas. a simple test has shown a ten times
18:13:55 <elliott> performance increase of python code converted and executed as
18:13:55 <elliott> javascript, when compared to running the same program as python. (to be
18:13:57 <elliott> fair, cython gives a 100 times performance increase).
18:14:50 <Gregor> CakeProphet: I'm not confident, but I would be unsurprised if compiling Lua to JS and running it through V8 was faster than LuaJIT. LuaJIT is really good, but JS has gotten a stupid amount of attention lately, and the Lua->JS semantic difference is very small.
18:14:59 <elliott> Gregor: Still, 10x over a naive bytecode interpreter is not that impressive :P
18:15:03 <elliott> Maybe it's even better now though.
18:15:40 <Gregor> Clearly the bestest would be Fythe lololol
18:15:51 <elliott> I do wonder if you couldn't do better than Pyjamas though, I think they're more focused on their AJAX GUI/FRP stuff than their translator...
18:15:54 <CakeProphet> Gregor: I'm blissfully unaware of the thriving world of, uh, JS development.
18:16:14 <elliott> CakeProphet: No you're not, if you've used any JS app in the past few years
18:16:23 <Sgeo|web> I think this person is assuming that since you can't always infer types, you can never infer types
18:16:30 <Sgeo|web> Which might be the sort of assumption I might make
18:16:40 <elliott> We detected that your computer does not meet the system performance requirements for MapsGL. Learn more about the system requirements for MapsGL.
18:16:44 <CakeProphet> elliott: I... don't think that's how it works.
18:16:44 <Gregor> Have I mentioned that my new computer is supersweet?
18:16:56 <elliott> Gregor: Is it better than bsmntbombdood's?
18:17:04 <Gregor> elliott: Idonno, I don't have his specs.
18:18:07 <Gregor> `findlogs bsmntbombdood.*ghz
18:18:08 <elliott> Gregor: What CPU, how much RAM :P
18:18:13 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: findlogs: not found
18:18:16 <elliott> That's not how you use logs anyway.
18:18:30 <elliott> I got the part list anyway, so I'm like SO AUTHORITATIVE.
18:18:31 <Gregor> elliott: 6-core 3.1GHz AMD Phenom, 16GB RAM
18:18:54 <elliott> Gregor: Well, same RAM, but he has a 4-core first generation i7... which is better, 'cuz, really, AMD.
18:19:07 <elliott> Gregor: He gets bragging rights anyway on account of getting it years ago :P
18:19:08 <Gregor> Yeah, I shouldn't have let my friends talk me into getting an AMD >_<
18:19:27 <CakeProphet> Gregor: huh cool I've got a V6 3.0L Honda V-Tec with I-can't-think-of-an-analogy-for-RAM
18:19:41 <elliott> Gregor: He has an 80 GiB first-gen Intel X25M SSD plus two 1 TiB drives in RAID-1.
18:19:53 <Gregor> elliott: So, I still have more SPACE :P
18:19:56 <elliott> Gregor: Or at least, did, years ago :P
18:20:14 <elliott> Gregor: More space, it's just that everything you can access goes so slowly you never get to appreciate it ;D
18:20:15 <Gregor> OK, how 'bout this then: Mine was expensive, but not as retarded-expensive as his must have been years ago.
18:20:29 <elliott> I don't remember the exact amount. $1400?
18:20:41 <elliott> So, not libc.so expensive!
18:21:11 <elliott> Gregor: Talk me out of getting AMD BTW
18:21:26 <elliott> There is literally exactly one reason I'm considering it and it's that I hate Intel :P
18:21:27 <Gregor> elliott: Running OS X in a VM with AMD is *cry*
18:21:38 <elliott> I should find out about AMD's despicable business practices so I can hate them too.
18:21:54 <elliott> Gregor: So... that's... how is that a disadvantage?
18:21:57 <elliott> That lets me avoid OS X more effectively.
18:22:32 <Gregor> My machine is SIMULRUNNING (<-- this is a word) Debian, OS X and Windows.
18:22:40 <Gregor> So I can have 2/3rds pain and suffering and 1/3 joy.
18:22:50 <elliott> I should really have given bsmntbombdood a worse computer, because now the awful consumerist in me feels really bad about buying a computer worse than his.
18:23:03 <elliott> Thankfully, not being rich counteracts this!
18:23:22 <elliott> I wonder if ECC RAM is less expensive these days. (Hahahahaha.)
18:23:54 <Gregor> More like Extra Crappy Crap RAM
18:24:37 <CakeProphet> Gregor: does access to RAM become a bottleneck when you increase the number of cores in your CPU or does it matter?
18:25:02 <Gregor> CakeProphet: Depends. Generally yes. Depends on how NUMAlicious your CPU is too.
18:25:19 <elliott> Gregor: FSVO Extra Crappy Crap equal to not broken :P
18:25:39 <CakeProphet> elliott: you should make FSVO a valid operation in @lang
18:25:52 <elliott> But seriously though, I'd like to take this opportunity to laugh really hard at anyone who buys a new computer without an SSD system drive.
18:26:28 <elliott> Gregor: Ohh, there's the other reason I was considering AMD, i7s don't do ECC.
18:26:44 <elliott> You have to get the vastly more expensive Xeons which need the vastly more expensive server motherboards because Intel are fucks.
18:27:32 <monqy> intelllllll................................
18:27:55 -!- Taneb has joined.
18:28:37 <elliott> http://promotions.newegg.com/ASUS/111511/696x288.jpg
18:29:35 <CakeProphet> elliott: help. it seems that when I click on the "learn more" button, nothing happens.
18:30:28 <elliott> Gregor: I was going to ask why 16 gigs of RAM when you're not on Nehalem and then I felt really stupid.
18:30:35 <elliott> 16: Not a multiple of three? Instead a multiple of two?
18:31:51 <elliott> http://bytesizebio.net/index.php/2011/11/06/brainfk-while-waiting-for-a-flight/
18:31:56 <elliott> WHY ARE YOU ON /R/PROGRAMMING YOU PIECE OF FUCKING SHIT
18:31:58 <elliott> UPDATE II: Following Vincent's comment, here is a fixed version of the interpreter. This time it should work with nested loops. Thanks Vincent.
18:32:09 <elliott> IM GOING TO THROTTLE YOU TO DEATH
18:32:19 <CakeProphet> I don't know on one hand I can see how it would seem that 16 is a multiple of 3 because it is a very 3-like number, but then there is also the case that 16 is a multiple two because it lends well to create the 2-like numbers, but very few scholary sources seem to encroach upon the difficult subject.
18:32:29 <Phantom_Hoover> I love people who write BF interpreters without nested loops.
18:33:13 -!- tiffany has quit (Remote host closed the connection).
18:33:18 <elliott> Heh, I like this golfed thing: http://www.reddit.com/r/programming/comments/m4c29/fun_with_brainfuck_while_waiting_for_a_flight/c2y2oxe
18:33:43 -!- tiffany has joined.
18:33:57 <elliott> http://www.shapecatcher.com/index.html Nooooooo, it doesn't do "PILE OF POO".
18:34:07 <elliott> CakeProphet: Python 3, looks like.
18:34:33 <CakeProphet> it would be way better for golfing in any case.
18:35:54 -!- sebbu3 has changed nick to sebbu.
18:36:26 <CakeProphet> :$ suddenly my money is where my mouth is.
18:38:02 -!- zzo38 has quit (Remote host closed the connection).
18:39:08 <elliott> "MALE WITH STROKE AND MALE AND FEMALE SIGN"
18:39:49 <HackEgo> ? \ ais523 \ augur \ banach-tarski \ c \ cakeprophet \ elliott \ everyone \ finland \ fizzie \ flower \ friendship \ fungot \ gregor \ hackego \ haskell \ ievan \ intercal \ itidus20 \ monad \ monads \ monqy \ nooga \ oerjan \ oklopol \ qdb \ qdbformat \ sgeo \ shachaf \ u \ vorpal \ welcome \ wiki \ you
18:40:21 <HackEgo> "Banach-Tarski" is an anagram of "Banach-Tarski Banach-Tarski".
18:40:40 <HackEgo> itidus20 is horny 60 year olds having cybersex in minecraft
18:40:56 <HackEgo> Monads are just monoids in the category of endofunctors.
18:41:51 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
18:42:07 -!- oerjan has joined.
18:42:48 <HackEgo> oklopol "so i hear these blogs are getting popular, people like writing about their lives and shit. on this thing called the internet which is like a neural network only really stupid."
18:43:09 <HackEgo> Sgeo invented Metaplace sex.
18:43:22 <HackEgo> Vorpal is really boring. Seriously, you have no idea.
18:44:19 <HackEgo> Somewhat alarmed at the continued growth of the number of employees \ on the Department of Agriculture payroll in 1962, Michigan Republican Robert \ Griffin proposed an amendment to the farm bill so that "the total number of \ employees in the Department of Agriculture at no time exceeds the number of \ farmers in
18:44:31 <HackEgo> ievan is basically http://www.youtube.com/watch?v=4om1rQKPijI
18:45:34 <HackEgo> Haskell is preferred by 9 out of 10 esoteric programmers. Ask your GP today! http://learnyouahaskell.com/
18:46:08 -!- FireFly has quit (*.net *.split).
18:46:09 <Phantom_Hoover> elliott, I don't think that kind of advertising is allowed here?
18:46:48 -!- FireFly has joined.
18:47:16 <CakeProphet> a google search for perl compiler renders nothing is actually a legitimate perl compiler.
18:47:42 <Sgeo|web> CakeProphet: I'm pretty sure it's called Haskerl, but yes
18:48:27 <Sgeo|web> http://www.dcs.gla.ac.uk/~partain/haskerl/partain-1.html
18:49:48 <oerjan> `learn PHP is preferred by 9 out of 10 idiots. Ask your GP today! [Website redacted]
18:50:53 <oerjan> any evil lies that i wrote [Website redacted] because i couldn't bother to find a website will be harshly punished.
18:51:02 <elliott> Further, if an io_thing turns out to have type "[IO a]" (list of I/O
18:51:02 <elliott> actions), then suitable wrapping will be inserted to deal with that
18:51:02 <elliott> ("listIO io_action `thenIO` ( \ result -> ... ", for those who care).
18:51:05 <elliott> Sgeo|web: this is great and terrible
18:52:30 <elliott> monqy: don't worry, it was in the naive days of 93
18:52:42 <elliott> they literally invented do notation?
18:52:49 <elliott> this is like when ben franklin was joking about dst :D
18:52:51 <Vorpal> I guess USB 1.1 had a poorly named speed in retrospect
18:53:06 <Vorpal> or wait, that might be 1.0 as well
18:53:06 <oerjan> elliott: ah that explains why the wrapping isn't simply a monad.
18:53:33 <monqy> ah, 93 explains a lot
18:53:38 <Sgeo|web> http://www.dcs.gla.ac.uk/~partain/haskerl.html
18:53:49 <elliott> oerjan: well, they say it's monadic IO
18:53:57 <elliott> but it's before the typeclass existed
18:54:09 <elliott> Sgeo|web: wait, was do notation already proposed when this came out?
18:54:37 <oerjan> elliott: surely it should be simply sequence in some monad, otherwise.
18:54:50 <Vorpal> I wonder what they will call UBS 4.0
18:54:54 <elliott> oerjan: um like I said, this is 93, so they knew about monadic IO but had no abstraction for it
18:55:13 <elliott> ""if", for example, normally has the type "Bool -> a -> a -> a"."
18:55:16 <oerjan> elliott: that's what "otherwise" means, sheesh
18:55:59 <CakeProphet> is it bad that I think some of this stuff is a good idea?
18:56:07 <elliott> apart from the do notation part
18:56:17 <elliott> CakeProphet: oh the polymorphic regexps are actually a well known thing
18:56:47 <ais523> elliott: what's wrong with bool->a->a->a for the type of if?
18:56:49 <shachaf> It should just exit the shell instance that it spawns.
18:56:51 <ais523> that is the type it has, as a function
18:56:57 <elliott> ais523: where did I say there was something wrong with it?
18:57:00 <CakeProphet> elliott: mainly variable interpolation and backtick stuff (though that syntax would conflict with infix functions)
18:57:01 <shachaf> kill -9 $$ is my usual way of exiting a shell.
18:57:04 <oerjan> `learn shachaf mad with destruction
18:57:10 <ais523> elliott: in your answer to CakeProphet's question
18:57:14 <elliott> shachaf: Do you bind ^D to that? :-)
18:57:18 <elliott> ais523: that's not "some of this stuff"
18:57:28 <shachaf> elliott: No -- I want ^D to behave as it does.
18:57:42 <shachaf> But kill -9 $$ is the easiest way I know of to exit without saving history.
18:58:00 <ais523> couldn't do with HackEgo having a badly-sized terminal
18:58:20 <ais523> or at least, a bad belief about the size of its terminal
18:58:37 <ais523> wow, I wasn't expecting that to work…
18:58:39 -!- derrik has joined.
18:58:40 <shachaf> ais523: Well, you'd want to kill -WINCH its PPID, presumably.
18:58:41 <HackEgo> tput: unknown terminfo capability 'rows'
18:59:24 <ais523> and decided that my guess was wrong after the error
19:01:00 <oerjan> learning from errors? how quaint.
19:01:30 <ais523> `run printf '\x1b[8;120;36t'; tput cols; tput rows
19:01:32 <HackEgo> \x1b[8;120;36t80 \ tput: unknown terminfo capability 'rows'
19:01:36 <ais523> `run printf '\x1b[8;120;36t'; tput cols; tput lines
19:01:39 <elliott> http://www.dcs.gla.ac.uk/~partain/haskerl/ganesh-1.html
19:01:44 <elliott> oh god people taking this seriously :')
19:01:54 <ais523> boring, It'd have been hilarious if I'd actually managed to resize its idea of what its temrinal was
19:01:57 <CakeProphet> "I tend to agree, Perl’s ast based internal structure is very fast. The overhead of JIT would almost certainly be a big down side as most perl programs seem to run for a very short time."
19:01:58 <elliott> ais523: i don't think you're using printf right
19:02:12 <ais523> `run printf '%c[8;120;36t' 27; tput cols; tput lines
19:02:13 <elliott> `run echo -e '\x1b[8;120;36t'; tput cols; tput lines
19:02:19 <elliott> `run echo -e '\e[8;120;36t'; tput cols; tput lines
19:02:21 <HackEgo> -e \e[8;120;36t \ 80 \ 24
19:02:26 <HackEgo> -e \x1b[8;120;36t \ 80 \ 24
19:02:29 <elliott> `run /bin/echo -e '\e[8;120;36t'; tput cols; tput lines
19:02:31 <ais523> I don't think you're using echo right
19:03:10 <elliott> "I don't want to be misunderstood but I DON'T WANT to believe this.
19:03:10 <elliott> I mean, programs do not normally kill patients, doctors do. So where
19:03:10 <elliott> were the doctors or nurses who were supposed to keep such patients
19:03:10 <elliott> under close control? Or do we nowadays have artificially intelligent
19:03:10 <elliott> programs acting as doctors?"
19:03:24 <elliott> "Something missing in the above picture, I think. And I also detect
19:03:24 <elliott> a bad smell of abuse and negligence, too. (Assuming that the last sentence
19:03:24 <elliott> of Hudak's message does really reflect what happened at Yale Med School.)
19:03:24 <elliott> By the way, I would safely guess that there are dozens of newspapers,
19:03:25 <elliott> TV stations, etc. who would be interested in this story. So how come
19:03:27 <elliott> they never did their job? Or did they?"
19:03:27 <ais523> I think I've got the code wrong; at least, it's not working in my shell, and it used to
19:03:41 <elliott> i know gnome-terminal dislikes some of that stuff
19:03:49 <ais523> it does work in gnome-term, I've done it in the past
19:04:02 -!- ais523 has quit (Remote host closed the connection).
19:04:13 -!- derrik has left.
19:04:34 <Sgeo|web> ais, how many people did you kill?
19:04:41 <elliott> http://www.dcs.gla.ac.uk/~partain/haskerl/jhf-1.html
19:05:18 <elliott> http://www.dcs.gla.ac.uk/~partain/haskerl/wall-1.html
19:06:10 <monqy> wow this is the best
19:06:22 <elliott> http://www.dcs.gla.ac.uk/~partain/haskerl/dw-2.html
19:06:25 <Sgeo|web> "Support for Visual Basic is not anticipated."
19:06:25 <elliott> who wants to add it to the wiki
19:06:38 <monqy> David Wakeling (inventor of surrealist programming)
19:07:09 <elliott> oerjan: did you manage to read the annotation
19:09:24 <CakeProphet> monqy: larry -Wall is god among meermortals.
19:11:03 <Taneb> I have two monitors now
19:14:16 -!- Darth_Cliche has joined.
19:14:22 <monqy> larry -funroll-loops
19:14:53 <monqy> larry "funroll" loops
19:15:49 <CakeProphet> Phantom_Hoover: you can always get married and adopt your wife's surname.
19:16:12 <elliott> You could also just change your name.
19:16:23 <elliott> Also please CakeProphet, we have civil unions in this country. Phantom_Hoover is a gay vampire.
19:17:57 <oerjan> <elliott> oerjan: did you manage to read the annotation <-- on sunday? yes.
19:23:06 <CakeProphet> no it's this: http://www.scanavert.com/api/picture.php?upc=00700195004325&width=150&height=150
19:23:29 -!- variable has quit (Quit: I found a 1 /dev/zero).
19:24:20 <CakeProphet> Phantom_Hoover: not referring to your barbaric limey biscuits.
19:24:55 <CakeProphet> Phantom_Hoover: yes, they prevent scurvy in sailors.
19:25:37 * oerjan wants to read that [10] as that +10 thing they put in rpg tables
19:26:02 <elliott> oerjan: play df with us :}
19:26:18 <oerjan> elliott: ah so it is something equivalent there?
19:26:44 <oerjan> well it _could_ have been.
19:26:46 <elliott> that was meant to be a typo of softly
19:26:51 <elliott> it turned out being the same
19:27:10 <oerjan> i think i broke elliott again
19:27:35 <CakeProphet> http://xlithiumx.files.wordpress.com/2010/07/395px-runny_hunny.jpg
19:27:41 <CakeProphet> notice that American biscuits are far superior.
19:28:03 <CakeProphet> alternatively, see: http://westofthewest.files.wordpress.com/2011/10/hardee-s-new-monster-biscuit.jpg
19:28:33 <elliott> america is like going into a quaint film but then the film doesn't end
19:29:41 <elliott> sigh arcanesentiment is in another lull
19:29:59 <elliott> prog21 too, but it's always in a lull
19:30:08 <elliott> well ok it had active posting throughout october
19:31:17 <monqy> lulling good hobbey
19:31:25 -!- Zuu has joined.
19:32:32 <CakeProphet> http://en.wikipedia.org/wiki/File:BiscuitsAmerican%26British.png that's a really shitty american biscuit
19:33:04 <elliott> CakeProphet: mmmmmmm bourbons
19:33:21 <CakeProphet> elliott: is that what that obscene doggy treat is?
19:33:27 <monqy> http://upload.wikimedia.org/wikipedia/commons/archive/6/60/20091013115300%21BiscuitsAmerican%26British.png old version, even shittier
19:33:34 <elliott> its filled with chocolate cream shit
19:33:44 <elliott> have you never had a digestive biscuit in your life
19:34:04 <elliott> http://www.virginmedia.com/images/ginger_nut430x300.jpg
19:34:09 <monqy> america land of the freedom from digestive biscuits
19:34:17 <elliott> CakeProphet: ANSWER FUCKER >:(
19:34:27 <Vorpal> <elliott> have you never had a digestive biscuit in your life <-- I only ever heard of them
19:34:28 <monqy> home of the too brave for ginger nut
19:34:34 <elliott> CakeProphet: THATS NOT A COOKIE
19:34:37 * shachaf has never heard of digestive biscuits.
19:34:38 <elliott> COOKISE HAVE CHOCOLATE CHIPS
19:34:47 <elliott> YOU DONT EVEN KNOW WHAT YOURE LOOKING AT
19:34:49 <monqy> some cookies do not have chocolate chips
19:34:56 <monqy> i love ginger snaps
19:34:58 <shachaf> Hmm, looks like a kind of cookie to me.
19:35:03 <Vorpal> elliott: I take it you don't like ginger?
19:35:14 <elliott> Vorpal: GINGER NUTS ARE THE GREATEST FUCKING THING NEXT TO DIGESTIVE BISCUITS
19:35:14 <pikhq_> elliott: A "cookie" in American parlance refers to a large quantity of things, many of which you call "biscuits".
19:35:17 <monqy> i love good cookies too
19:35:21 <elliott> pikhq_: FUCK YOUUUU YOUR DIALECT IS WRONG!!!
19:35:26 <Sgeo|web> > let f (x,y) = True in f undefined undefined
19:35:27 <lambdabot> Couldn't match expected type `a -> t'
19:35:28 <Vorpal> elliott: Personally I don't like ginger
19:35:33 <Phantom_Hoover> "In the United States it is a small, soft, leavened bread, somewhat similar to a scone."
19:35:40 <elliott> CakeProphet: IVE HAD SCONES
19:35:40 <Sgeo|web> > let f (x,y) = True in f (undefined,undefined)
19:35:41 <shachaf> elliott: Didn't you ever watch Sesame Street?
19:35:46 <Phantom_Hoover> CakeProphet, dude, give up, you can't out-scone Britain
19:35:46 <pikhq_> elliott: You've probably never had biscuits & gravy. :)
19:36:01 <monqy> american biscuits are kind of lame
19:36:03 <elliott> Gravy on digestive biscuits MMMMMMMMmmmmmmmmmmmmmm
19:36:10 <pikhq_> monqy: With gravy, though.
19:36:19 <elliott> have you ever had a digestive biscuit
19:36:21 <CakeProphet> there are many ways to make biscuits gravy
19:36:45 <monqy> elliott maybe I have had something which is a digestive biscuit without knowing because nothing is called digestive biscuites here it's all cookies :(
19:36:52 <elliott> monqy: wait ill get a picture
19:37:01 <elliott> monqy: http://upload.wikimedia.org/wikipedia/commons/4/47/Digestive_biscuits.jpg ok this is an ugly picture but
19:37:07 <elliott> monqy: they taste like warmth
19:37:07 <CakeProphet> monqy: yes they're pretty much the same thing.
19:37:11 <Vorpal> oh and English people are strange: https://en.wikipedia.org/wiki/Yorkshire_pudding <-- IMO this is a type of bread, not a pudding
19:37:11 <elliott> http://www.webanswers.com/post-images/5/5F/7088B479-AB32-1029-81DD15954676B012.jpg
19:37:14 <elliott> that's a slightly nicer picture monqy
19:37:19 <elliott> monqy: you dunk them in tea and
19:37:23 <pikhq_> elliott: Digestive biscuits basically aren't in the US, but if we had them we'd call them cookies.
19:37:26 <elliott> monqy: do you have a supply of adequate tea
19:37:28 <monqy> I've never had a msvitties the original
19:37:36 <monqy> I only have crappy tea sorry
19:37:44 <elliott> can you stand to have a mouthful of it
19:37:48 <elliott> english biscuits work with any tea
19:37:57 <elliott> oh yeah it has to be actual tea not
19:37:58 <monqy> pretty sure it's tea
19:38:04 <elliott> monqy: what's your address
19:38:05 -!- GreaseMonkey has joined.
19:38:06 -!- GreaseMonkey has quit (Changing host).
19:38:06 -!- GreaseMonkey has joined.
19:38:19 <CakeProphet> http://www.mamas-southern-cooking.com/images/biscuits-and-gravy-01.jpg
19:38:26 <pikhq_> Hey, man. Green tea is actual tea. Admittedly, probably not the sort of thing you want to drink if you want to do things proper & British-like.
19:38:30 <monqy> giving out my address would only end badly
19:38:32 <elliott> no amazon.co.uk i dont want the chocolate ones!! they are niceb ut monqy needs _real digestives_
19:38:38 <elliott> monqy: it is ok you can tell mei n private
19:38:51 <elliott> Phantom_Hoover: dude find me digestives on amazon.co.uk i cant
19:38:51 <Vorpal> pikhq_: Does it originate from the tea plant?
19:38:56 <CakeProphet> Phantom_Hoover: scones are a US thing too.
19:39:09 <CakeProphet> they are similar but usually not eaten with the same things that biscits are.
19:39:10 <elliott> monqy: http://www.amazon.co.uk/1StopCufflinkShop-Novelty-Digestive-Biscuit-Cufflinks/dp/B003PLO6PQ/ref=sr_1_18?ie=UTF8&qid=1320781097&sr=8-18
19:39:15 <elliott> novelty digestive biscuit cufflinks
19:39:17 <elliott> novelty digestive biscuit cufflinks
19:39:21 <Vorpal> pikhq_: nothing else added except hot water and possibly milk?
19:39:30 <monqy> elliott: no its because mysterious thing comes in mail from mysterious place and my parents wouldn't be able to deal with it.........and i wouldn't be able to tell them i gave out adres because then they'd kill me
19:39:31 <CakeProphet> Phantom_Hoover: scones don't really exist where I live.
19:39:31 <elliott> GUYS NOVELTY DIGESTIVE BISCUIT CUFFLINKS WHAT???
19:39:33 <pikhq_> Vorpal: You don't add milk to green tea.
19:39:37 <monqy> the joys of not bein gan audtl
19:39:43 <CakeProphet> Phantom_Hoover: but I've seen them in the midwest and northeast.
19:39:46 <pikhq_> *Maybe* a small amount of sugar.
19:39:49 <CakeProphet> it's pretty much all biscuits in the south.
19:39:53 <elliott> monqy: is there anywhere ican dliver things that you canp ick them up (in secret)
19:39:54 <Vorpal> pikhq_: right, then it is a type of tea. And I wouldn't know if you use milk with it or not, I don't like any tea really
19:40:05 <monqy> not that i know of.....
19:40:12 <Phantom_Hoover> monqy, wait we can use that strike bomber we were going to kill you with (long story) and drop digestive biscuits instead?
19:40:42 <elliott> can we meet up in california
19:41:09 <elliott> Phantom_Hoover: http://www.amazon.co.uk/McVities-Digestive-Biscuits-400g-Pack/dp/B005R0LO5S/ref=sr_1_34?ie=UTF8&qid=1320781212&sr=8-34 20 POUNDS!!!!
19:41:23 <elliott> they sell digestives in america
19:41:29 <elliott> im sure like on reddit theres been an expat saying
19:41:31 <shachaf> elliott: Whoa, man, I thought biscuits had to be hard.
19:41:34 <elliott> oh you just have to go blah and they have all the BISCUITS!!!
19:41:37 <shachaf> Apparently there are soft biscuits.
19:41:55 <pikhq_> elliott: Well, yes, if you know where to look you can find just about any damned food item in the US.
19:42:31 <elliott> i dont think you guys understand
19:42:33 <elliott> what you're missing out on
19:42:36 <elliott> pikhq_: you've had digestives right
19:42:38 <pikhq_> *Especially* if you're in, say, New York.
19:42:40 <Vorpal> funnily enough I don't think either of the Swedish words "kaka" and "kex" translates directly to either the British or the American biscuit/cookie concepts
19:43:09 <CakeProphet> Phantom_Hoover: http://swervechurch.files.wordpress.com/2010/02/6b7d841b6f6f35e6_m.jpg DO YOU GUYS DO THIS TO YOUR SCONES?
19:43:12 <pikhq_> Phantom_Hoover: I don't speak Scots. :P
19:43:12 <elliott> Phantom_Hoover: I found a summary of the French.
19:43:18 <elliott> Phantom_Hoover: http://en.wikipedia.org/wiki/Biscuit_rose_de_Reims "The biscuit is very hard. It is hence customary to dip the biscuit in champagne or red wine to soften it."
19:43:29 <Vorpal> pikhq_: well, I wouldn't even know what to classify those "digestive biscuits" as in Swedish terminology.
19:43:42 <pikhq_> Phantom_Hoover: Ah nay spik braid scots
19:43:44 <elliott> Vorpal: you know those biscuits they sell in the swedish section of ikea? those are nice guys
19:43:49 <Vorpal> pikhq_: definitely not kaka. And kex need to be crisp
19:43:57 <elliott> Vorpal: they're thin and sort of star shaped but rounded?
19:44:01 <Vorpal> elliott: they don't sell food in IKEAs in Sweden
19:44:18 <pikhq_> Phantom_Hoover: That's a McDonalds McBiscuit. They taste worse than they look.
19:44:30 <elliott> Vorpal: maybe it's made from duck
19:44:47 <pikhq_> CakeProphet: http://swervechurch.files.wordpress.com/2010/02/6b7d841b6f6f35e6_m.jpg sure is.
19:44:49 <elliott> Vorpal: i will find them on
19:44:58 <Vorpal> elliott: but I don't know any Swedish brand with a name like that
19:45:05 <Phantom_Hoover> http://upload.wikimedia.org/wikipedia/commons/9/9c/Tea_and_scones.jpg
19:45:10 <pikhq_> Phantom_Hoover: I think McDonalds is the only place that carries them.
19:45:18 <pikhq_> CakeProphet: Colorado, US
19:45:18 <elliott> Vorpal: http://www.ikea.com/us/en/catalog/products/90124690/ i think this is the same thing?? but different packaging and stuff
19:45:19 <Phantom_Hoover> I will soothe my eyes with scones that have not been mutilated.
19:45:29 <pikhq_> Phantom_Hoover: But, McDonalds is exceptionally common.
19:45:34 <Vorpal> elliott: that /is/ gingerbread
19:45:35 <CakeProphet> pikhq_: in Colorado you can find sausage, egg, and cheese biscuits that are not from a fast food chain, yes?
19:45:38 <monqy> do other fast food places carry mcbiscuitalikes
19:45:43 <pikhq_> CakeProphet: Never seen one.
19:45:46 <monqy> i'm no expert on fast food
19:45:49 <pikhq_> Phantom_Hoover: True, true.
19:46:00 <Vorpal> elliott: anyway, how do you do gingerbread for xmas over there?
19:46:03 <CakeProphet> pikhq_: oh, well, in the south that's just a thing we do to biscuits, apparently.
19:46:04 <elliott> Vorpal: whatever they are they're delicious, there's another one with almonds i think?
19:46:06 <pikhq_> Phantom_Hoover: But I tend to not assume people outside the US don't memorise a list of states.
19:46:19 <Vorpal> elliott: possible, there are many variants of the basic recipe
19:46:33 <Phantom_Hoover> pikhq_, I think if you mentioned a state most people here would recognise it as one, by and large.
19:46:35 <Vorpal> elliott: literally the name translates to "pepper cookies/biscuits/whatever"
19:46:36 <elliott> <Phantom_Hoover> I will soothe my eyes with scones that have not been mutilated.
19:46:38 <monqy> some gingerbread is good. other gingerbread is awful.
19:46:42 <elliott> Phantom_Hoover: Let's be honest though, scones aren't actually all that good.
19:46:48 <Vorpal> elliott: but I know at least one recipe that have no pepper
19:46:52 <elliott> Phantom_Hoover: I mean yes they're good.
19:46:58 <elliott> Phantom_Hoover: But they're so easy to fuck up!
19:47:02 <pikhq_> Phantom_Hoover: You *know* you want biscuits & gravy.
19:47:12 <pikhq_> Gravy: it is delicious.
19:47:12 <elliott> Phantom_Hoover: It's like, you keep reaching for this unattainable state of perfect scone.
19:47:17 <elliott> But all you get are Failed Scones.
19:47:20 <Vorpal> <Vorpal> elliott: anyway, how do you do gingerbread for xmas over there?
19:47:22 <elliott> The average sconesperience is not good.
19:47:26 <Vorpal> elliott: not like the IKEA ones?
19:47:29 <elliott> Vorpal: Not in that shape.
19:47:37 <elliott> Phantom_Hoover: OK show me a good scone.
19:47:45 <elliott> Phantom_Hoover: I will drive to Edinburgh.
19:48:01 <Vorpal> elliott: well, there are many shapes over here. Xmas trees. People (which sounds strange when you think about it), hearts. Circles.
19:48:14 <Vorpal> I think the heart shape is probably most common
19:49:00 <elliott> http://upload.wikimedia.org/wikipedia/commons/c/cb/Gingerbread_house_8.jpg challenge: eat without vomiting
19:49:14 <Vorpal> pikhq_: yes, what else?
19:49:14 <elliott> Ikea to drop famous Swedish food brands
19:49:14 <elliott> 15 October 2011 | news Newsdesk
19:49:14 <elliott> Swedish furnishing giant Ikea is undergoing a change and will soon rid their food shelves of anything not bearing it’s name.
19:49:14 <elliott> People outside of Sweden craving Swedish-brand eats have made a habit of frequenting Ikea stores around the world in order to find such things as Cloetta chocolate, Abba herring, Kalle's caviar spread, and cookies by Göteborgskex.
19:49:16 <elliott> But soon, those looking for a taste of Sweden will instead have to settle for Ikea-branded approximations following a decision by the company to move to own-branded foods.
19:49:26 <Vorpal> <elliott> http://upload.wikimedia.org/wikipedia/commons/c/cb/Gingerbread_house_8.jpg challenge: eat without vomiting <-- what? It looks delicious
19:49:39 <Vorpal> elliott: though maybe a bit at a time
19:49:42 <elliott> Vorpal: Good luck with the parts that are basically thick raw sugar :P
19:49:56 <Vorpal> elliott: well, I wouldn't eat it all in one meal of course
19:49:56 <monqy> it looks too sugary for me
19:50:00 <pikhq_> elliott: Probably not that bad in the US, though.
19:50:06 <Vorpal> elliott: anyway I like sugar :P
19:50:13 <monqy> hopefully that gingerbread isg ood gingrebread and not bad gingerbread
19:50:13 <oerjan> elliott: please don't mention anna anka in polite company
19:50:17 <Vorpal> elliott: I doubt it would be healthy though
19:50:18 <pikhq_> I mean, jesus, I can find fucking lutefisk in the US, I'd imagine it wouldn't be hard to find Swedish foods.
19:50:22 <monqy> the only gingerbread houses i've had were bad gingerbread
19:50:24 <elliott> oerjan: sounds like a nursery rhyme
19:50:37 <elliott> monqy: have you gotten a digestive biscuit yet
19:50:39 <Vorpal> pikhq_: lutefisk is Norwegian when spelled like that at least.
19:50:44 <elliott> Phantom_Hoover: What are your opinions on rich teas.
19:50:47 <Vorpal> the Swedish spelling is lutfisk.
19:51:00 <elliott> pikhq_: BTW get a fucking digestive and dunk it into some tea and eat it.
19:51:01 <Vorpal> I don't know anyone under the age of 70 that eats lutfisl
19:51:19 <pikhq_> Vorpal: Yes, I'm aware. Still, if I can find *lutefisk*, I'd imagine it's not hard to find anything Scandinavian. :)
19:51:19 <HackEgo> 100) <songhead95> think of all the starving kids in china who don't have rotting sea life to eat
19:51:22 <CakeProphet> http://i-cdn.apartmenttherapy.com/uimages/kitchen/2011_03_20-ShrimpGrits2.jpg oh my god this looks amazing.
19:51:30 <Vorpal> pikhq_: hm. Surströmming?
19:51:43 <Vorpal> pikhq_: if the answer is yes, then I'm scared.
19:51:50 <Vorpal> it should never have been exported
19:51:51 <CakeProphet> I don't think most americans eat grits actually.
19:52:17 <pikhq_> Vorpal: Might have to make a trip of it, but I have no doubt I could find it.
19:52:26 <elliott> http://media.treehugger.com/assets/images/2011/10/ikea-cook.png
19:52:32 <elliott> (found when googling for ikea biscuits)
19:52:37 <elliott> look at that butter pyramid oh my god
19:53:04 <elliott> http://media.treehugger.com/assets/images/2011/10/orange-ikea.png :DDDD
19:53:09 <Vorpal> pikhq_: btw I suspect that in Sweden, lutfisk will be pretty much gone in 30-40 years from mainstream shops.
19:53:33 <CakeProphet> elliott: mmmmm. I too am a cocaine afficionado
19:53:39 <pikhq_> It's still fairly commonly consumed in rural areas of Minnesotta.
19:53:39 <Vorpal> <elliott> look at that butter pyramid oh my god <-- sure that is butter?
19:53:45 <elliott> http://media.treehugger.com/assets/images/2011/10/semlor-ikea.png "recipe contains semen"
19:53:52 <elliott> Vorpal: look at the tiny eggs omg
19:53:57 <elliott> it is the best way to list ingredients ever
19:53:58 <Vorpal> elliott: I thought it was white chocolate...
19:54:13 <elliott> Vorpal: nah, that's butter
19:54:17 <CakeProphet> elliott: semen and coke: a hookers best griends.
19:54:24 <Vorpal> elliott: wait what are the white mountains to the left in the first picture then
19:54:25 <elliott> Vorpal: it's gingerbread cookies apparentl
19:54:44 <elliott> not sure where the ginger is there.
19:54:51 <pikhq_> Hmm. Seems it's actually really non-trivial to find surströmming in the US.
19:54:52 <Vorpal> elliott: they do the ingredient lists like that in the book?
19:54:59 <elliott> "It is a 140 page coffee-table recipe book, containing 30 classic Swedish baking recipes--everything from small biscuits to large cakes. For each recipe, there are two images: one of the ingredients and one of the finished item."
19:55:15 <elliott> i hoped that meant it had no instructions
19:55:18 <Vorpal> elliott: so where is the scale for figuring out how to calculate the amount from the pictures
19:55:19 <pikhq_> It's a crapshoot to see if it gets past customs; it'll either go through or get turned down for being rotten.
19:55:35 <elliott> Vorpal: swedes may be a little unfamiliar with this idea. but it's called approximation
19:55:48 <Vorpal> elliott: I know about it, I just don't like it
19:56:26 <Vorpal> elliott: besides calculating the area of the diagonal line in http://media.treehugger.com/assets/images/2011/10/orange-ikea.png seems non-trivial to me. And unlike the eggs in the first there is no known object to compare against
19:56:28 <elliott> "[...] designed perhaps for the tradition of "dunking" in cups of tea; hence preventing the collapse of the biscuit and ruining of the beverage."
19:56:45 <elliott> Vorpal: that's because you're not meant to calculate it
19:57:09 <elliott> CakeProphet: pikhq_: monqy: apologise for oreos
19:57:13 <CakeProphet> Vorpal: the three sticks of butter probably is a good reference point.
19:57:22 <Vorpal> elliott: oh there is a separate ingredient list?
19:57:33 <elliott> Vorpal: no, you're meant to approximate using intuition
19:57:38 <elliott> CakeProphet: you know how they're meant to be chocolate flavoured
19:57:42 <elliott> are meant to taste like chocolate
19:57:49 <monqy> oreos.........................................................
19:57:54 <elliott> that it tastes like chocolate
19:57:58 <elliott> you know what it tastes like?
19:58:04 <Vorpal> CakeProphet: wait what? The only sticks of butter I know of are 1-kg ones.
19:58:10 <elliott> does not taste like blackness
19:58:14 <Gregor> Somebody find me an image macro with Shatner going "NYAAAAAAAAAAAAAAAAAAAAAAAAN!" and Nyan cat.
19:58:15 <monqy> some cookies are good, but oreos are not them
19:58:20 <Vorpal> CakeProphet: 3 kg butter? Come on
19:58:32 <elliott> monqy: oreos COULD have been good
19:58:40 <elliott> monqy: if the biscuit part actually tasted like chocolate
19:58:43 <Gregor> Wait, oreos are supposed to be chocolate?
19:58:45 <elliott> monqy: those already exists
19:58:46 <CakeProphet> are those not sticks of butter in http://media.treehugger.com/assets/images/2011/10/orange-ikea.png ?
19:58:58 <elliott> SO BASICALLY FUCK AMERICA???
19:59:11 <Gregor> Well, as we all know, the USA pretty much sucks at chocolate.
19:59:16 <elliott> Gregor: at least, if they're not intending to, they're quite obviously TRYING to emulate chocolate
19:59:19 <Gregor> We're a nation that seriously believes that Hershey's is good.
19:59:40 <elliott> cadburys products in the us
19:59:42 <Vorpal> CakeProphet: sure, then look at the scale of the whole thing. That diagonal bar is like 80 cm from end to end...
19:59:44 <elliott> are made completely different to in the uk
19:59:46 <elliott> they're poisoning your minds
19:59:50 <elliott> by making you think cadburys sucks
19:59:55 <elliott> we will show you chocolate
19:59:57 <Gregor> elliott: Yup, but luckily, Cadbury's is rare here.
20:00:00 <Vorpal> CakeProphet: that will generate a huge amount of food
20:00:06 <Gregor> elliott: I've had chocolate in the UK ... also had it in Paris so nya :P
20:00:16 <elliott> Gregor: have you tasted real uk cadburys because
20:00:25 <elliott> oh man this reminds me of that daily mail article i found
20:00:29 <elliott> it literally compared Milka chocolate to hitler
20:00:37 <pikhq_> It's not that the US sucks at chocolate, we suck at food regulation.
20:00:45 <Gregor> elliott: But I also made the mistake of trying Turkish Delight.
20:00:46 <elliott> http://www.dailymail.co.uk/news/article-1275526/Cadbury-owner-plugs-inferior-Milka-bar-chocolate-lovers-say-Krafty-sideline-Dairy-Milk.html
20:00:55 <Gregor> elliott: I wonder how anyone could think that earwax flavor in chocolate is good.
20:01:04 <elliott> Gregor: Turkish Delight is, uh, yeah.
20:01:04 <pikhq_> Our "chocolate" is generally made to the legal standard for what "chocolate" is.
20:01:15 <elliott> Phantom_Hoover: Do you remember that Daily Mail article.
20:01:18 <elliott> Phantom_Hoover: That I linked.
20:01:21 <elliott> Phantom_Hoover: That compared Milka to Nazism.
20:01:31 <Phantom_Hoover> <elliott> Phantom_Hoover: What are your opinions on rich teas.
20:01:48 <elliott> "THE chocolate snobs would have you believe that Dairy Milik is cheap, bland and artificial, lacking depth and complexity. Waxy chocolate for the masses, they sneer, while nibbling on some ghastly lavender-infused, organic creation."
20:01:48 <monqy> http://i.dailymail.co.uk/i/pix/2010/05/08/article-1275526-097A1C72000005DC-886_468x681.jpg
20:02:16 <elliott> "Dull and insipid, like Berne on a wet night" GOD
20:02:24 <Gregor> Of course, milk chocolate is terrible.
20:02:29 <Gregor> And people who like milk chocolate should feel bad.
20:02:36 <Vorpal> <elliott> Gregor: have you tasted real uk cadburys because <-- the only real chocolate is from continental Europe IMO
20:02:38 -!- mtve has quit (Ping timeout: 252 seconds).
20:02:45 <Vorpal> mostly French or Belgian
20:02:58 <elliott> "The chocolate was created in 1901 by Swiss chocolate company Suchard. Both The Kaiser’s and Hitler’s troops took Milka chocolate to war.
20:02:58 <elliott> Read more: http://www.dailymail.co.uk/news/article-1275526/Cadbury-owner-plugs-inferior-Milka-bar-chocolate-lovers-say-Krafty-sideline-Dairy-Milk.html#ixzz1d97FjOnQ"
20:03:03 <Phantom_Hoover> Vorpal, yes, but your opinions are universally head-meltingly Vorpid so we all ignore them.
20:03:04 <elliott> apart from that tynt bullshit
20:03:13 <Vorpal> sure, Switzerland is okay too
20:03:23 <pikhq_> Gregor: US milk chocolate is only 10% cocoa, and is generally made from milk that's gone a little bit bad.
20:03:28 <Vorpal> Phantom_Hoover: what about 100% pure Valrona?
20:03:33 <Gregor> pikhq_: I'm not referring to US any kind of chocolate.
20:03:39 <Gregor> pikhq_: US chocolate isn't chocolate, it's a joke.
20:03:48 <Gregor> pikhq_: But even legit milk chocolate is terrible.
20:03:51 <Sgeo|web> "Jones’s paper [about classes over type constructors] appeared in 1993, the same year that monads became popular for I/O (Section 7). "
20:03:52 <pikhq_> EU milk chocolate is 25% cocoa, and can't pull that shit.
20:04:06 <elliott> Phantom_Hoover: Anyway I quite like Rich Teas but the context has to be right.
20:04:14 <elliott> Phantom_Hoover: They really rely on a high-quality, fresh biscuit and a good tea.
20:04:31 <elliott> They do. You're just a bad richteasmith.
20:04:55 <Phantom_Hoover> They're made of loosely-caked crumbs which disintegrate when held in tea for more than a fraction of a second, and, unlike digestives, they are bland and joyless when eaten alone.
20:05:23 <elliott> Phantom_Hoover: Damn, Scots must get really bad rich teas. They're quite structurally sound over here.
20:05:25 <elliott> But yes, digestives are better.
20:05:41 <Vorpal> pikhq_: I prefer less milk in my chocolate. Try proper French chocolate some time. Tends to be expensive though
20:05:47 <elliott> Taneb: Join in the biscuit discussion!
20:05:56 <elliott> monqy: Come to England. We will accept you.
20:06:14 <monqy> but for a few years at least i cannot
20:06:49 <pikhq_> Vorpal: I have, actually.
20:06:57 <pikhq_> Jesus fuck that was good.
20:07:04 <monqy> tiptoe across the atlantic
20:07:06 <elliott> Honestly, milk chocolate is nice.
20:07:15 <elliott> Only joyless people, or those who haven't actually had good milk chocolate, claim otherwise.
20:07:21 <pikhq_> elliott: US milk "chocolate" is shitty.
20:07:23 <Phantom_Hoover> Nobody's saying it isn't except Gregor, and FFS he's anosmic.
20:07:28 <elliott> Phantom_Hoover: So is Vorpal.
20:07:33 <elliott> But he doesn't count as a person.
20:07:55 <monqy> maybe i have had good chocolate but i cannot recall
20:07:57 <pikhq_> It's made with *spoiled milk* for goodness sake.
20:08:00 <Phantom_Hoover> No, Vorpal is wittering on about what specific type of milk chocolate he likes.
20:08:01 <Vorpal> elliott: sure milk chocolate can be okay. But compare it to dark chocolate...
20:08:02 <CakeProphet> monqy: come to the south. we have good food.
20:08:03 <Vorpal> pikhq_: actually I'm going to make a cup of hot chocolate now, From 100% pure Valrhona. I will however add just a tiny bit of sugar to that.
20:08:06 <elliott> Maaan libcurl is way too big.
20:08:07 <monqy> CakeProphet: no never
20:08:14 <elliott> Phantom_Hoover: No, he's talking about the ~best~ dark chocolate.
20:08:18 <Phantom_Hoover> pikhq_, so your chocolate is more cheesy than your cheese?
20:08:19 <monqy> one thing i never want to do is go to the southe
20:08:26 <elliott> Vorpal: Milk chocolate is more enjoyable than 99% of dark chocolate and that's that.
20:08:40 <CakeProphet> Phantom_Hoover: cheese is typically made from extremely fresh milk....
20:08:42 <elliott> Vorpal: See exception (a) to my rule.
20:08:46 <Vorpal> elliott: tastes just differ. I guess you don't have a grown up taste yet.
20:08:51 <monqy> i don't want to go to mexico either
20:08:59 <elliott> Vorpal: No, you're just a member of "joyless people".
20:09:08 <pikhq_> CakeProphet: Cheese is either coagulated milk or coagulated, carefully rotten milk.
20:09:23 <Gregor> (Re milk chocolate) Mind you I also hate milk :P
20:09:29 <CakeProphet> but the milk is fresh when all of this happens.
20:09:36 <monqy> some cheese is good. other cheese is bad.
20:09:46 <pikhq_> Allowed to have bacteria and fungi consume it and release waste products, yes.
20:09:56 <pikhq_> This is a process we generally call "rotting".
20:09:58 <Gregor> All cheese is bad. Other cheese is worse. - Gregor
20:10:23 <CakeProphet> pikhq_: it's similar sure, but with rotting there isn't any control over what kinds of bacteria
20:10:49 <Phantom_Hoover> pikhq_, it was a jibe at American cheese food product, not a discussion on the manufacture of cheese, actually.
20:10:55 <Gregor> Milk chocolate fnarfs quite horrible.
20:11:04 <monqy> gregor smells - gregor's mother
20:11:08 <elliott> Gregor: You fnarf horrible.
20:11:27 <pikhq_> Phantom_Hoover: Oh, right.
20:11:41 <Gregor> I'm sure I would fnarf just fine if prepared properly.
20:11:54 <monqy> american cheese is awful
20:12:31 <monqy> hey guys have you ever had aerosol cheese? I can't recall if I ever have
20:12:38 <pikhq_> CakeProphet: American cheese is a "wonderful" thing. It consists of a mixture of milk, whey, milkfat, milk protein concentrate, whey protein concentrate, salt, and an emulsifier.
20:12:46 -!- Gregor has set topic: Official support channel for Web o' Flies | Also official channel of Velveeta™ | Velveeta™: Why cheese, when you can Velveeta!® | http://codu.org/logs/_esoteric/.
20:12:53 <elliott> Gregor: You removed the assignments.
20:13:00 <Gregor> elliott: These things happen.
20:13:12 <elliott> Gregor: atehwa will be sad.
20:13:24 <pikhq_> CakeProphet: American cheese food product is even more amazing: it can contain 0% milk!
20:13:53 <pikhq_> Ah, yes, and it's commonly *extruded* into individual slices.
20:14:00 <pikhq_> Also, it's available in *aerosol cans*.
20:14:16 <Darth_Cliche> America, Land of the Brave, Land of the Free, and Land of Crappy Cheese.
20:14:19 <pikhq_> https://secure.wikimedia.org/wikipedia/en/wiki/File:Easy_cheese2.jpg I shit you not.
20:14:40 <pikhq_> Yes, it even has the audacity to claim to be real cheese.
20:15:10 <Phantom_Hoover> pikhq_, no it doesn't, it states quite clearly that it's a pressurised cheese snack.
20:15:17 <Gregor> pikhq_: To be fair, it's not actually aerosol in it :P
20:15:20 <Phantom_Hoover> "Picture taken by myself in my office, to help show a better picture of Easy Cheese."
20:15:32 <pikhq_> Phantom_Hoover: It then has a thing there that says "REAL Kraft™ CHEESE"
20:15:45 <elliott> they should call it Easy "Cheese"
20:15:49 <elliott> just scare-quote every fake product
20:15:55 <elliott> eventually there'll be like
20:16:00 <elliott> real cheese from fake kraft!
20:16:25 -!- ais523 has joined.
20:16:27 <oerjan> <elliott> that the nazis had milka <-- well they obviously needed something to eat with their fanta
20:16:45 * ais523 continues to boggle at KDE programs loading faster than Gnome programs nowadays
20:16:50 <monqy> hm, would it be possible to put real cheese into a good spray?
20:16:57 <Gregor> So, Wonder Bread, Spam and Easy Cheese: Best sandwich?
20:17:03 <monqy> not that spray is a good idea at all
20:17:16 <ais523> (I'm using Gnome 2's shell, so I'd assume that Gnome's libraries would be hotter in cache)
20:17:30 <elliott> Phantom_Hoover: BTW do you have any Bread Recommendations, I feel like the quality of bread in general has gone down in recent years?
20:17:49 <ais523> elliott: I don't really, I'm having severe problem finding breads I like
20:18:04 <ais523> I typically prefer rolls to loaves
20:18:04 <Gregor> lol@"I just eats bread when I gets bread"
20:18:05 <oerjan> <Gregor> And people who like milk chocolate should feel bad. <-- THAT'S IT YOU'RE AT WAR WITH NORWAY NOW
20:18:41 <Gregor> I prefer rice to bread (because it is an alternative)
20:19:04 <ais523> elliott: because I find it hard to find a brand of loaf I'm OK with
20:19:14 <ais523> typically I don't mind sliced brown bread so much, whatever the manufacturer
20:19:33 <ais523> (the really cheap own-brand stuff tastes OK for me for the purposes for which I mostly use bread, although it's not so good for sandwiches)
20:19:55 <CakeProphet> solution, just use fried chicken breasts as your bread.
20:20:11 <elliott> The fresh, unsliced rolls you can get from $supermarket_bakery are pretty good, but make for lousy toast.
20:20:16 <CakeProphet> http://en.wikipedia.org/wiki/Double_Down_(sandwich)
20:20:40 <monqy> use doughnuts as bread
20:21:13 <elliott> CakeProphet: What does that thing actually taste like.
20:21:25 <elliott> I want to hate it, but... it's chicken and bacon...
20:21:25 <monqy> "so much 100 percent premium chicken, we didn't have room for a bun."
20:21:27 <Gregor> elliott: I know of noöne brave enough to try :P
20:21:32 <CakeProphet> I mean I can kind of imagine what it tastes like.
20:21:39 <monqy> elliott: it's kfc chicken
20:21:41 <monqy> elliott: i.e. gross
20:21:57 <ais523> strangely, I ate some just a few minutes ago, but it wasn't from KFC
20:21:57 <pikhq_> monqy: https://secure.wikimedia.org/wikipedia/en/wiki/Luther_Burger
20:22:01 <ais523> but from $generic_fish_and_chip_shop
20:22:23 <elliott> monqy: KFC are the best common non-fish-and-chips fast food outlet I know of, but ISTR their fillets are pretty gross, so eh
20:22:39 <monqy> maybe british kfc is better than american kfc
20:23:07 <CakeProphet> http://en.wikipedia.org/wiki/Heart_Attack_Grill
20:23:27 <elliott> "The establishment is a hospital theme restaurant: waitresses ("nurses") take orders ("prescriptions") from the customers ("patients"). A tag is wrapped on the patient's wrist showing which foods they order and a "doctor" examines the "patients" with a stethoscope. The menu includes "Single", "Double", "Triple", and "Quadruple Bypass" hamburgers"
20:23:29 <ais523> elliott: hmm, actually my favourite common fast food chain is Burger King
20:23:35 <pikhq_> elliott: Remember: this is a country that has such a thing as "deep fried butter".
20:23:48 <Vorpal> <Gregor> All cheese is bad. Other cheese is worse. - Gregor <-- really? Cheese in general is awesome, though there might be specific variants of cheese that I'm not personally a fan of.
20:23:50 <elliott> ais523: I don't actually have any experience with Burger King so that may be
20:23:53 <ais523> as an aside, I went to a McDonalds in Canada once, and it was actually mindbogglingly superior to the version they had in the UK
20:24:05 <Gregor> Vorpal: I don't like any dairy products.
20:24:05 <ais523> I can see why North Americans hate UK fast food chains that much
20:24:06 <pikhq_> Vorpal: Cheese may taste good, but it seems to fnarf terrible.
20:24:18 <Gregor> ais523: McDonalds in Canada is, near I can tell, I totally unrelated chain to McDonalds everywhere else.
20:24:23 <Vorpal> <pikhq_> monqy: https://secure.wikimedia.org/wikipedia/en/wiki/Luther_Burger <-- the crap?!
20:24:27 <Gregor> s/, I totally/, a totally/
20:24:31 <elliott> `addquote <Darth_Cliche> There's British KFC? Kent Fried Chicken?
20:24:33 <HackEgo> 713) <Darth_Cliche> There's British KFC? Kent Fried Chicken?
20:24:36 <ais523> they had pretty much the same menu items as in the UK
20:24:39 <ais523> they just meant different things
20:24:51 <pikhq_> Vorpal: Gregor doesn't have a sense of taste, he has a sense of fnarf.
20:25:05 <elliott> BTW, what is actually in Kent, I am not entirely sure it exists.
20:25:07 <elliott> Vorpal: Gregor is anosmic.
20:25:08 <monqy> gregor "tasteless" richards
20:25:10 <pikhq_> ais523: From what I understand, McDonalds is pretty much *identical* world-wide. Except apparently Canada?
20:25:23 <elliott> pikhq_: I thought Japanese McDonalds was wildly different.
20:25:34 <Gregor> McDonald's isn't anywhere near identical worldwide.
20:25:39 <Gregor> They're very adaptive, actually.
20:25:48 <Gregor> They have a few staples that are the same everywhere, but that's it.
20:25:49 <CakeProphet> http://1.bp.blogspot.com/_vUALNnFd_tE/Sj8-aWMGzGI/AAAAAAAAAUk/l6SKDtZ-kH8/s320/bypassburger.jpg
20:25:55 <pikhq_> elliott: Japanese McDonalds mostly just has racist marketing.
20:25:58 <Vorpal> pikhq_: if I eat hamburger in Sweden I do it at Max: https://secure.wikimedia.org/wikipedia/en/wiki/Max_Hamburgers
20:26:01 <Darth_Cliche> I suppose in Canada and Australia it's QFC, Quebec Fried Chicken or Queensland Fried Chicken respectively
20:26:10 <elliott> pikhq_: I thought they had, like, really good beef or something. Or at least I've heard that.
20:26:16 <pikhq_> Phantom_Hoover: Caucasians.
20:26:18 <ais523> pikhq_ (and other Americans who care): the UK version of McDonalds works pretty much via taking the basic ingredients of a McDonalds meal, submerging them in oil and then serving the result
20:26:22 <elliott> Phantom_Hoover: Same thing.
20:26:28 <ais523> well, apart from things like lettuce, which are just served raw
20:26:38 <pikhq_> ais523: Sounds utterly authentic to US McDonalds.
20:26:39 <elliott> ais523: They could optimise that. Oil lettuce.
20:26:50 <ais523> the chips/fries end up incredibly bland as a result, and they add vast amounts of salt to cover this up
20:26:56 <oerjan> <Phantom_Hoover> oerjan, perpetually ten minutes in the past. <-- LIES
20:27:06 <elliott> ais523: To be fair, the submerge-in-oil-and-serve-the-result method can sometimes be effective, cf. doughnuts.
20:27:14 <Phantom_Hoover> oerjan, please tell me you waited ten minutes until saying that.
20:27:17 <ais523> elliott: or the typical fish and chip shop
20:27:26 <pikhq_> ais523: Perfectly authentic!
20:27:30 <ais523> I'm not complaining about that, so much as that they don't do anything to the ingredients beforehand
20:27:42 <Taneb> My incredibly slow, inefficient, and badly written program is running
20:27:43 <Gregor> <ais523> pikhq_ (and other Americans who care): the UK version of McDonalds works pretty much via taking the basic ingredients of a McDonalds meal, submerging them in oil and then serving the result // ais523: I thought this was the UK's version of all cooking?
20:27:59 <elliott> Note to future civilisations: Yes, this is really what the 21st century is like.
20:28:08 <elliott> Gregor: That isn't even in line with the stereotypes.
20:28:20 <pikhq_> Also, the stereotype is boiling, not frying. :)
20:28:21 <elliott> Gregor: You're meant to think we exclusively eat ridiculously bland, quaint stuff.
20:28:26 <elliott> There's no oil involved in that :P
20:28:34 <pikhq_> Boil it until it the flavor's leached out!
20:28:37 <Gregor> pikhq_: Curry is stolen :P
20:28:40 <Gregor> elliott: Fish and chips.
20:28:49 <Gregor> elliott: It's just that you can do even deep fried blandly.
20:28:51 <ais523> Gregor: actually, most good UK food works via stealing it from someone else, then modifying it into something entirely different
20:28:54 <pikhq_> Gregor: Meh, curry got stolen by everyone.
20:28:59 <Vorpal> <Phantom_Hoover> oerjan, please tell me you waited ten minutes until saying that. <-- more like 9 minutes
20:29:02 <Gregor> pikhq_: 'struth, even I stole it :P
20:29:04 <elliott> Gregor: Sounds like you've never had fish and chips!!!!!!!
20:29:06 <ais523> the UK version of curry is unlike that in India
20:29:19 <Gregor> elliott: I don't like fish either 8-D
20:29:21 <ais523> to the extent that imported Indian chefs can't cook it very well without special training
20:29:23 <Taneb> I like Madras curry
20:29:30 <Gregor> elliott: But I've had chicken and chips at a fish and chips place in the UK :P
20:29:31 <monqy> maybe future isn't bad
20:29:33 <monqy> but it most likely is
20:29:35 <Darth_Cliche> Curry is original, it didn't even really exist in India IIRC, it's just meant to taste vaguely Indian
20:29:42 <elliott> Gregor: You probably hate vinegar or something like that because you're not human.
20:29:59 <pikhq_> Besides, it's not like the UK is unique in having done strange things to curry.
20:30:01 <Gregor> Darth_Cliche: Well, the term "curry" refers to a billion things.
20:30:05 <Gregor> elliott: I like vinegar!
20:30:07 <ais523> Gregor: hmm, last Friday I broke the pattern, but previously, I'd been trying a large number of fast food outlets within walking distance of my route home
20:30:10 <pikhq_> Like, every Asian country has their own rendition of it by now.
20:30:15 <ais523> and ordering a chicken burger at each of them, to compare
20:30:17 <Phantom_Hoover> Gregor, please consider that being a culinary nazi is rather pointless when one judges food on an entirely different basis to normal people.
20:30:19 <elliott> Gregor: Then fish and chip chips are pretty much right up your alley? :P
20:30:23 <Darth_Cliche> Gregor: it basically means throwing a bunch of random spices together, right?
20:30:27 <ais523> no cheese because I don't eat cheese, plus chips were appropriate
20:30:33 <elliott> They're pretty much designed as a host for ridiculous amounts of vinegar.
20:30:37 -!- Zuu has quit (Ping timeout: 244 seconds).
20:30:49 -!- variable has joined.
20:30:50 -!- variable has quit (Changing host).
20:30:50 -!- variable has joined.
20:30:52 <pikhq_> Darth_Cliche: It means "sauce".
20:30:55 <ais523> elliott: would you believe it if I said I liked chips both with and without vinegar, but had a marginal preference for without?
20:30:56 <Vorpal> ais523: you don't eat cheese?
20:31:00 <Gregor> Phantom_Hoover: Shutuppayouface!
20:31:05 <elliott> Vorpal: He's not allowed to.
20:31:05 <pikhq_> As you can imagine, this is really insanely varied.
20:31:06 <ais523> that's quite different to not liking vinegar
20:31:11 <Gregor> elliott: They would be, except I don't like fish :(
20:31:11 <Darth_Cliche> pikhq_: I mean the English meaning, not the meaning of whatever Hindi word it was borrowed from
20:31:12 <Vorpal> elliott: doctors order?
20:31:15 <monqy> i think i like fish and chips
20:31:16 <ais523> Vorpal: I have a huge range of bizarre food intolerances
20:31:25 <Phantom_Hoover> They respond with astonishment when I saturate chips with vinegar.
20:31:26 <ais523> some more specific than others
20:31:29 <pikhq_> Darth_Cliche: Ah. Yeah, that's just a vague imitation of Indian spicing.
20:31:31 <Gregor> Darth_Cliche: Primarily coriander, cumin, chili peppers and typically turmeric.
20:31:33 <elliott> Vorpal: Ask ais523 about that time he was on a completely neutral drink!
20:31:41 <elliott> I can't think of what the word would be.
20:31:50 <oerjan> <Phantom_Hoover> oerjan, please tell me you waited ten minutes until saying that. <-- nope.
20:31:50 <ais523> as far as I know I don't have any actual /allergies/
20:31:52 <elliott> Phantom_Hoover: Yes well that is parents for you.
20:31:57 <Vorpal> ais523: how specific are we talking about here?
20:31:57 <ais523> but I go a bit crazy if I eat the wrong things
20:32:09 <ais523> Vorpal: we're not sure, the results were self-contradictory
20:32:17 <Phantom_Hoover> elliott, and nobody will stop harping on about that time I drank some vinegar from the bottle.
20:32:18 <Vorpal> oerjan: did you wait about 9 minutes though?
20:32:29 <pikhq_> Phantom_Hoover: I may like vinegar, but WTF man.
20:32:31 <ais523> there's also a list of things that they don't think I'm intolerant to, but I shouldn't eat anyway in case I become allergic to them
20:32:46 <pikhq_> Okay, that's at least vaguely sane.
20:32:50 <elliott> ais523: How do you distinguish between an existing tolerance and one that's developed by consuming it anyway :P
20:32:59 <Gregor> Phantom_Hoover: I have a friend who drinks pickle brine >_>
20:33:08 <elliott> Phantom_Hoover: Wait, people consume vinegar that isn't balsamic?
20:33:16 <ais523> elliott: I'm not a dietician
20:33:25 <Gregor> elliott: Apple Cider vinegar is OK ...
20:33:35 <Phantom_Hoover> elliott, dude, malt vinegar is the default chip vinegar.
20:33:37 <ais523> and if it involved spending my time dealing with people like me, I probably wouldn't want to be either
20:33:58 <pikhq_> There's something about it that's just... wrong.
20:34:00 <elliott> Phantom_Hoover: I might be mixing up my vinegars X-D
20:34:02 <pikhq_> I can't quite place it.
20:34:06 <ais523> towards the end, they basically gave up, concluding that there was a reasonably stable base of things that I could probably eat which was enough to live on
20:34:07 <Darth_Cliche> My sister is allergic to most raw fruits aside from citrus
20:34:19 <Vorpal> ais523: could it be some weird form of hypochondria or placebo effect or such behind the contradicting results?
20:34:28 <pikhq_> elliott: Balsamic is the one made from grape juice.
20:34:33 <elliott> Phantom_Hoover: Isn't malt vinegar dark brown too...
20:34:34 <ais523> Vorpal: it's entirely possible
20:34:37 <oerjan> <Vorpal> <Phantom_Hoover> oerjan, please tell me you waited ten minutes until saying that. <-- more like 9 minutes <-- see? lies!
20:34:54 <ais523> anyway, I stop being lawful good if I eat the wrong food, so it's obviously in my interest to avoid it
20:34:55 <pikhq_> Phantom_Hoover: Uh, that's white vinegar.
20:35:09 <elliott> ais523: wait, it's that easy to stop you being lawful good?
20:35:12 <pikhq_> Which is generally made *from* malt vinegar, but only because that's cheap.
20:35:14 <elliott> ais523: meet you in birmingham
20:35:25 <ais523> elliott: it's quite hard to get me to eat the wrong food, as a result
20:35:29 <pikhq_> When distilling acetic acid, who cares what the source is? :)
20:35:30 <ais523> I don't turn evil or anything
20:35:33 <ais523> more… primal, or whatever
20:35:40 <ais523> it's a little hard to describe
20:35:43 <ais523> also, to remember after the event
20:35:50 <Darth_Cliche> You're lawful? Odd, most FOSS people are chaotic
20:35:52 <Phantom_Hoover> I just get confused because it looks clear when you put it on things.
20:35:58 -!- Zuu has joined.
20:36:05 <ais523> Darth_Cliche: I've been repeatedly accused of being lawful good until I started believing it myself
20:36:11 <oerjan> <elliott> Gregor: You probably hate vinegar or something like that because you're not human. <-- hey i don't like vinegar :(
20:36:13 <ais523> and it's kind-of easy to see why, to be fair
20:36:16 <Vorpal> ais523: So chaotic good then when you ate the wrong food?
20:36:16 <pikhq_> Darth_Cliche: "Lawful" says you want law and order, not that you support *the* law.
20:36:26 <pikhq_> oerjan: Yeah, but you're Norwegian.
20:36:31 <Darth_Cliche> pikhq_: I know, but most FOSS people I want are chaotic even by that definition
20:36:33 <ais523> Vorpal: more utterly ranting and nonsensical
20:36:38 <elliott> ais523: Would you be able to work on Feather in those conditions?
20:36:40 <ais523> hmm, think any typical YouTube user
20:36:41 <elliott> They sound ideal for the purpose.
20:36:48 <Vorpal> <oerjan> <elliott> Gregor: You probably hate vinegar or something like that because you're not human. <-- hey i don't like vinegar :( <-- yes vinegar is horrible.
20:36:49 <elliott> Coherency is optional, after all.
20:37:01 <elliott> Vorpal: you are, as mentioned earlier, not a human
20:37:12 <Vorpal> ais523: I'm not even sure what alignment that is
20:37:12 <ais523> elliott: I can work on Feather in normal conditions, actually
20:37:20 <ais523> Vorpal: neither am I, that's why I didn't call it one
20:37:24 <Phantom_Hoover> Vinegar is wonderful and anyone who disagrees is wrong.
20:37:28 <ais523> probably counts as true neutral via the defaulting rule
20:37:35 <pikhq_> Vorpal: You need an extra dimension on the alignment chart.
20:37:44 <pikhq_> "Smart/neutral/stupid".
20:37:44 <ais523> elliott: you care /that much/ about Feather?
20:37:50 <pikhq_> They'd be chaotic neutral stupid.
20:37:53 <elliott> ais523: Enough to tell you to work on it, yes.
20:38:03 <ais523> the problem is, after working on Feather for a few hours, it takes me several weeks to recover
20:38:09 <ais523> but I'm perfectly sane when the process /stars/
20:38:15 <ais523> Darth_Cliche: don't ask that question!
20:38:24 <ais523> elliott: can we train the bots to just get rid of anyone who asks what Feather is?
20:38:35 <Vorpal> pikhq_: I think D&D traditionally represents that as the Int value
20:38:41 <ais523> preferably via humane means?
20:38:42 <elliott> ais523: but only if you work on feather for me
20:38:57 <ais523> elliott: but then we'd be able to sensibly answer the question!
20:38:58 <pikhq_> Vorpal: Yeah, but D&D stats suck.
20:39:03 <elliott> Darth_Cliche: http://esolangs.org/wiki/Feather. anyone worthy of knowing more than is written on that page gets to find out how to get a greppable copy of the logs themselves
20:39:08 <elliott> Darth_Cliche: and read every log containing "feather"
20:39:09 <pikhq_> Vorpal: "Wisdom" is your ability to see things for goodness sake.
20:39:19 <elliott> ais523: you think implementing feather will prove it sensible?
20:39:29 <Vorpal> pikhq_: wait isn't Wis also for wizard spell casting? Or is that Int?
20:39:33 <ais523> Darth_Cliche: let's see… the sanest (but misleading) answer is "it's an inside joke", any /correct/ answer would be indistinguishable from trolling
20:39:36 <oerjan> <Vorpal> oerjan: did you wait about 9 minutes though? <-- no, i responded when i got to it.
20:39:54 <pikhq_> Vorpal: Int is wizard spell casting.
20:39:55 <ais523> elliott: I believe Feather would make sense, if only I had an impl of it
20:39:58 <Vorpal> pikhq_: I think sorcerers use Cha or some stupid thingy though?
20:40:04 <pikhq_> Wis is cleric/druid spell casting.
20:40:04 <Vorpal> which never made any sense to me
20:40:15 <ais523> Vorpal: Cha is force of personality
20:40:17 <pikhq_> And I don't care about the casting state for non-primary casters.
20:40:21 <Taneb> My incredibly badly written bad program is essentially a ridiculously inefficient variant of Dijkstra's algorithm
20:40:27 <Taneb> Designed to write Piet programs
20:40:39 <Vorpal> ais523: could eating the right sort of food cause you to code more Feather?
20:41:07 <ais523> think that sorcerers are people who impose their will on the world just by being that badass
20:41:10 <elliott> Vorpal: That's what I asked.
20:41:19 <Vorpal> <pikhq_> And I don't care about the casting state for non-primary casters. <-- wait, who else can cast than those we mentioned so far?
20:41:26 <elliott> ais523: man, i gotta become a sorceror
20:41:28 <ais523> rather than working out how to cast magic mathematically / thaumaturgically / whatever, they just glare at reality until it does what they want
20:41:32 <Vorpal> elliott: ah, I must have missed it what with the multiple convos going on at the same time
20:42:06 <ais523> Vorpal: rangers, paladins
20:42:14 <ais523> and a bunch of custom and prestige classes, as always
20:42:14 <oerjan> <monqy> helloerjan <-- hi monqy
20:42:26 <Vorpal> ais523: well I never really cared about those
20:42:45 <ais523> or if you're talking 4th edition, everyone casts
20:42:54 <ais523> and in fact everyone is identical, in order to make the classes balanced, just with different flavour
20:42:57 <ais523> Vorpal: well, it's not called spells
20:43:11 <Vorpal> I only used whatever system NWN1 uses. 3 iirc?
20:43:19 <oerjan> <ais523> more… primal, or whatever <-- "normal"?
20:43:32 <ais523> but 4th edition class abilities, even the ones that are called nonmagical, make no sense whatsoever
20:43:41 <Vorpal> oerjan: you are NEVER going to catch up at this rate
20:43:45 <ais523> it's, umm, a lot like being drunk
20:43:53 <ais523> or at least, how other people act when they're drunk
20:44:16 <ais523> I get really emotional, and don't bother with trying to act sanely at all
20:44:26 <pikhq_> Vorpal: Rangers, paladins, bards, splatbooks.
20:44:26 <ais523> I got into fights sometimes in that state, too
20:44:33 <pikhq_> *Everybody* forgets about bards!
20:44:37 <ais523> pikhq_: where does the name "splatbooks" come from?
20:44:42 <ais523> also, I consider bards primary casters
20:44:50 <elliott> ais523: what's the gnu tla of tabletop rpgs??? thx
20:44:54 <ais523> having played them at least once, possibly twice
20:45:01 <Vorpal> <pikhq_> Vorpal: Rangers, paladins, bards, splatbooks. <-- splatbooks? What?
20:45:03 <elliott> those are basically the only elements of any set i am interested in
20:45:11 <oerjan> <elliott> oerjan: you suck. <-- NO U
20:45:12 <pikhq_> Vorpal: "splatbooks" are addon bullshit books.
20:45:23 <ais523> they're what people try to sell you once you already have the rules
20:45:37 <pikhq_> Okay, well, there's also the more reasonable addon books. Those ones are in the D20 SRD, though.
20:45:44 <pikhq_> (e.g. psionics handbook)
20:45:52 <Vorpal> pikhq_: I mostly played D&D through NWN1. I think the only pen & paper campaign I ever did used GURPS + a few house rules
20:46:04 <Vorpal> that was several years ago though
20:46:08 <Vorpal> don't remember much of it
20:46:09 <ais523> Vorpal: Neverwinter Nights 1 is based on D&D 3.0
20:46:21 <ais523> with a few bugfixes taken from 3.5 or elsewhere
20:46:40 <pikhq_> The distinction between 3.0 and 3.5 is fairly minor, though.
20:46:52 <ais523> they're noticeably different, in that you'll notice the differences
20:46:58 <ais523> but you won't care all that much about them
20:47:09 <ais523> noticeably different in that the differences are merely noticeable
20:47:11 <ais523> rather than being major
20:47:23 <ais523> Vorpal: it's basically an entirely different game from 1..3
20:47:32 <ais523> it has some interest as a wargame
20:47:38 <ais523> but it doesn't seem like a sensible basis for an RPG
20:47:43 <Vorpal> ais523: on the other hand I know a guy who refuses to play any D&D apart from AD&D 1. I don't understand why.
20:47:58 <Vorpal> Darth_Cliche: GURPS has interesting grappling :P
20:47:58 <ais523> Vorpal: well, D&D has got a lot less lethal over time
20:48:03 <pikhq_> GURPS is a really fun system, though even *less* balanced than D&D.
20:48:26 <ais523> GURPS is what you get if you combine every roleplay concept ever together in one RPG
20:48:26 <pikhq_> It's probably impossible to be both balanced and generic, though.
20:48:30 <ais523> and try to make the rules cover all of tehm
20:48:39 <ais523> elliott: sorry, I'm trying to figure out what you mean by the tla and the monotone
20:48:41 <oerjan> <Vorpal> oerjan: you are NEVER going to catch up at this rate <-- plausible.
20:48:44 <pikhq_> ais523: Works surprisingly well, considering.
20:48:49 <ais523> and I feel that the RPG systems exist, but I don't know what they are
20:48:54 <elliott> ais523: well, if D&D is the SVN, or the git, or whatever you think it analogises closest to
20:48:59 <Vorpal> <ais523> GURPS is what you get if you combine every roleplay concept ever together in one RPG <-- yes kind of
20:49:10 <Vorpal> ais523: I think it is GURPS that have the insane grappling rules, isn't it?
20:49:16 <elliott> ais523: hmm, GURPS ~ DCSS?
20:49:17 <Vorpal> I don't think I ever grappled in either
20:49:24 <elliott> understanding through analogy is difficult :D
20:49:29 <pikhq_> Vorpal: D&D has the non-functioning grappling rules.
20:49:30 <ais523> Vorpal: D&D's grappling rules are vaguely tacked on and look a little out of place
20:49:43 <ais523> although they work much better in 3rd edition than they did in previous versions
20:49:44 <Vorpal> pikhq_: I mean the one with really really complex one
20:49:45 <pikhq_> I can't remember how, but they actually break.
20:49:58 <ais523> (i.e. they look weird and only break occasionally, rather than looking weird and breaking all the time)
20:50:11 <Vorpal> ais523: break in what way?
20:50:16 <ais523> elliott: you could compare D&D 3 to svn decently
20:50:35 <Vorpal> ais523: as in references to table entry 59 in a 50 entry long table?
20:50:36 <ais523> Vorpal: I haven't seen the 2nd edition "wrestling table", but it was apparently ridiculous
20:50:40 <ais523> whereas in 3rd ed, it's just fiddly
20:50:44 <ais523> and broken as in game balance
20:50:45 <pikhq_> Vorpal: They lead you into undefined semantics.
20:51:02 * Darth_Cliche opens up http://codu.org/logs/_esoteric/2010-12-14.txt and rolls eyes at "00:04:11: * oerjan ponders making a joke page for Feather"
20:51:03 <Phantom_Hoover> I wonder if you could use DF's combat mechanics for that kind of thing?
20:51:42 <elliott> ais523: what's 4, then? svk?
20:51:58 <Vorpal> Phantom_Hoover: doing DF combat mechanics would only ever work in a computerised RPG. It would be unfeasible to do it for a pen & paper RPG
20:52:00 <elliott> Darth_Cliche: http://codu.org/logs/log/_esoteric/2010-12-14 has a nicer UI
20:52:08 <elliott> Darth_Cliche: but that log is much newer than feather discussions
20:52:09 <Vorpal> Phantom_Hoover: too much calculation involved. You would spend ages for each turn
20:52:25 <elliott> Darth_Cliche: try !logs to get an rsync mirror of the logs then grep -i 'ais.*feather' ????-??-??.txt
20:52:28 <ais523> elliott: hmm, I can mentally construct the VCS analogue of 4, but I'm not sure it exists
20:52:44 <ais523> it would probably involve Facebook in some way, though
20:52:52 <elliott> ais523: ooh, that sounds like it needs making
20:52:58 <elliott> ais523: hmm, maybe Fossil? that has a wiki
20:53:34 <ais523> !pastelogs ais523.*Feather
20:53:39 <ais523> `pastelogs ais523.*Feather
20:53:47 <ais523> Darth_Cliche: good, you possibly don't want to
20:53:53 <pikhq_> I'm more inclined to say "imagine RCS, except done today, and in Python".
20:53:55 <ais523> however, more likely you simply won't understand it
20:54:00 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28875
20:54:10 <Vorpal> Darth_Cliche: feather is complicated. It involves time travel. And headaches.
20:54:26 <ais523> "You have chosen to open: paste.28875 which is: a 23600 file"
20:54:28 <Vorpal> pikhq_: what, that would be hg or bzr?
20:54:47 <ais523> Darth_Cliche: that link is relevant
20:55:04 <ais523> wow, I've been working on Feather for /three years/ now?
20:55:13 <pikhq_> Vorpal: RCS is CVS, single-user.
20:55:18 <oerjan> * Darth_Cliche opens up http://codu.org/logs/_esoteric/2010-12-14.txt and rolls eyes at "00:04:11: * oerjan ponders making a joke page for Feather" <-- well i did, didn't i?
20:55:20 <pikhq_> (oversimplification I know)
20:55:26 <Vorpal> pikhq_: so what would it be in python then
20:55:35 <pikhq_> Vorpal: That but ridiculous.
20:55:43 <ais523> <ais523> tusho: you would make the jquery UI available as IO commands that Feather could use
20:55:52 <Vorpal> anyway why would it make sense to compare RPG systems to VCSes?
20:55:59 <elliott> ais523: I don't want to know what the context of that is
20:56:05 <elliott> and will proceed to not find out
20:56:31 <ais523> 2008-10-19.txt:12:02:24: <ais523> hmm... figuring out how to hot-change parts of a Feather program while it's running is a major problem
20:56:32 <Vorpal> elliott: I could imagine that with Sgeo... But with you!?
20:56:37 <ais523> actually, I still haven't solved that one
20:56:51 <elliott> Vorpal: hey, ais523 is the one who said that line
20:56:53 <ais523> I'm coming across more fundamental problems in my attempt to get far enough to encounter that one
20:56:59 <Vorpal> elliott: yes but directed to you
20:57:05 <elliott> Vorpal: like i said, let's not find out
20:57:07 <elliott> ais523: what's the current problem?
20:57:50 <ais523> elliott: writing an initial interpreter
20:57:59 <Darth_Cliche> So Feather is a language involving time travel, which has evolved into an inside joke about it driving ais insane?
20:58:16 -!- oerjan has quit (Quit: Caught up, also, good night).
20:58:19 <ais523> I think the solution we worked out between us of using CPS to get complete metacircularity will work
20:58:21 <ais523> but I haven't tried it yet
20:58:32 <ais523> Darth_Cliche: that's a good approximation, I think
20:58:46 <ais523> it /does/ drive me insane, and this has happened enough to become an inside joke
20:58:47 -!- ive has joined.
20:59:12 <Darth_Cliche> how exactly are you supposed to implement it, anwyay?
20:59:21 <elliott> Darth_Cliche: it doesn't actually involve travel
20:59:23 <Vorpal> http://www.dandwiki.com/wiki/SRD:Grapple <-- yeah this looks complicated. Especially given all the tables too
20:59:45 <ais523> Darth_Cliche: part of the problem is that a Feather interp can only be implemented in Feather
20:59:50 <ais523> so I'm trying to figure out how to get started
21:00:20 <Vorpal> ais523: shouldn't a method similar to that of CLC-INTERCAL work?
21:00:26 <ais523> (the trick, as far as I can tell, is that although a Feather interp must be written in Feather, a Feather-interp-in-Feather might potentially be runnable in something that isn't a Feather interp, and so can be written in another language)
21:00:31 <Vorpal> ais523: you start off with something, then you modify it into being Feather
21:00:47 <ais523> Vorpal: *retroactively modify it into being Feather
21:01:06 <ais523> do you seriously think I /hadn't/ thought of that?
21:01:33 <ais523> 2009-04-01.txt:23:06:05: <ais523> cpt_obvious: I suggest you ask in #feather-lang, I think it's empty atm so it'll be safe to ask
21:01:53 <Gregor> Britons: http://www.telltalegames.com/wallaceandgromit
21:02:23 <Gregor> elliott: 'snot new, it's old enough for me to actually buy (read: now cheap :P )
21:02:25 <ais523> Vorpal: elliott solved a couple of major Feather-related problems of mine, anyway
21:02:41 <elliott> Gregor: have i mentioned that time someone from telltale was on esowiki??
21:02:53 <ais523> elliott: the one related to eigenratios
21:03:41 <ais523> gah, now I can't remember the solution
21:04:14 <ais523> Gregor: not as well as I'd like
21:04:26 <ais523> hmm, perhaps I should implement Feather just to get elliott to implement scapegoat
21:04:47 <ais523> or perhaps even implement scapegoat myself, but the problem is that when elliott writes a program, it's superior to everyone else's programs that do the same thing
21:05:21 <Taneb> To make a good esolang, you need a shiny new concept
21:05:28 <Vorpal> ais523: what really? Or is that just what he thinks?
21:05:30 <Taneb> Or a new take on an old concept
21:05:31 <elliott> ais523: Scapegoat has been on the backburner pending a sufficiently interesting breakthrough for me to be jolted into beginning
21:06:12 <elliott> ais523: e.g. a good scapegoat diff algorithm
21:06:14 <ais523> elliott: oh, I thought you'd already started
21:06:29 <elliott> but it's more the proof of concept type
21:06:36 <ais523> btw, does anyone have any feedback on Web of Lies yet?
21:06:48 <elliott> it still doesn't work on a machine that i don't have to talk to via qemu
21:07:08 <Gregor> ais523: Never made it work >_>
21:07:09 <Darth_Cliche> what exactly do you mean by retroactively modifying another language into Feather, anyway?
21:07:22 <ais523> Darth_Cliche: changing it so that it was Feather all along
21:07:32 <ais523> umm, you're getting dangerously close to me having to think about the answers
21:07:40 <ais523> rather than typing them out from memory
21:07:46 <ais523> and that's always vaguely dangerous
21:10:52 -!- pumpkin has joined.
21:11:16 <Taneb> Darth_Cliche, by using Feather, of course
21:11:58 <olsner> so is there some description of feather somewhere?
21:12:39 <Taneb> http://codu.org/logs/_esoteric/
21:12:54 <ais523> olsner: oh no, not you too
21:12:55 <Taneb> Hold on, I'm Taneb!
21:13:02 <ais523> the short answer is: no
21:13:39 -!- pumpkin has changed nick to copumpkin_.
21:13:48 -!- copumpkin has quit (Ping timeout: 260 seconds).
21:13:54 -!- copumpkin_ has changed nick to copumpkin.
21:13:57 <olsner> mmkay, never mind then
21:15:08 <ais523> elliott: you know you were asking about kerio earlier? this is self-parody, but still a good summary: http://qdb.rawrnix.com/?711
21:15:55 <elliott> ais523: oh, good, paxed knows how to use eir op privileges
21:16:10 * elliott teaches the -minecraft school of op privilege usage
21:16:14 <ais523> elliott: e rarely does
21:16:29 <ais523> but doesn't hesitate when he thinks someone is trolling
21:16:47 <Taneb> QUESTION! Are all cellular automatons self-modifying?
21:17:05 <ais523> Taneb: arguably, none are
21:17:15 <ais523> unless the rules for CA update were taken from the playfield
21:17:18 <ais523> hmm, that might be an interesting langauge
21:17:23 <ais523> but probably wouldn't be
21:18:11 <elliott> ais523: you've told kerio python sucks, right? maybe e just doesn't realise
21:18:23 <ais523> elliott: yes, although not in those words
21:18:32 <elliott> clearly you're not being clear enough :)
21:18:45 <ais523> fwiw, Rodney is a Perl script that doesn't exactly follow best practices
21:19:04 <ais523> in order to load a module, it used an old-fashioned syntax whose difference from the current one is that it runs at runtime not compile-time, and you have to handle errors manually
21:19:11 <ais523> then ignored the error code
21:19:25 <ais523> which made debugging it really confusing
21:19:43 <CakeProphet> in other words, it used require instead of use?
21:19:51 <ais523> CakeProphet: no, it used do
21:20:00 <ais523> I had to look up that meaning of do when I saw Rodney
21:20:09 <elliott> http://qdb.rawrnix.com/?470 good quote
21:20:11 <ais523> require is at least vaguely useful
21:20:15 <CakeProphet> ais523: I use do in my words.pl script currently.
21:20:30 <ais523> CakeProphet: do you at least check $@ afterwards?
21:20:41 <ais523> OK, that's more than Rodney did
21:20:53 <ais523> I think I improved Rodney massively by suggesting adding "or die $@" at the end of the do line
21:21:27 <CakeProphet> ais523: yes it's always do or die with these things.
21:21:52 <ais523> CakeProphet: that joke doesn't count, the syntax was intentionally designed to make it possible, I think
21:22:14 <ais523> elliott: I recently learnt that the actual original reason barewords existed in Perl was to make it easier to write poems that were syntactically valid Perl
21:22:42 <ais523> it seems that one of Larry Wall's coworkers was a poet
21:23:28 <ais523> well, it still accepts barewords for backwards compatibility
21:23:35 <ais523> of both old programs and poetry, I guess
21:24:35 <CakeProphet> in much the same way there is little difference between code and data.
21:24:40 <CakeProphet> the same can be said of programs and poetry.
21:26:07 <Taneb> I'm going to delete User:Taneb/Binary Variety Pack
21:26:12 <Taneb> It was a stupid idea
21:26:50 <Taneb> No wait, I don't know how to delete pages?
21:26:53 <ais523> isn't esolangs.org/wiki where stupid ideas go to die?
21:27:59 <Taneb> Can someone delete it for me?
21:28:35 -!- sebbu2 has joined.
21:28:36 -!- sebbu2 has quit (Changing host).
21:28:36 -!- sebbu2 has joined.
21:29:04 <ais523> what did you do? make a backup?
21:29:11 <ais523> CakeProphet: redirects for deletion?
21:29:18 <elliott> wait, let's just move it to the mainspace
21:29:22 <elliott> then Taneb has no right to want it deleted!
21:29:32 <CakeProphet> ais523: requests. is that not the wikipedia thing?
21:29:49 <ais523> wow, that was a weird Firefox bug
21:30:01 <ais523> I just highlighted some text and then dragged it to the Firefox search bug
21:30:09 <CakeProphet> elliott: it was deletion at one point wasn't it?
21:30:16 <ais523> and it ended up in the middle of the greyed-out text that says what search engine it's set to
21:30:35 <ais523> that's almost as weird as Konversation preserving its syntax highlighting if you copy and paste into the /topic dialogue box
21:30:37 <elliott> CakeProphet: it was votes for deletion
21:30:51 <elliott> ais523: that's very reproducible, iirc
21:30:55 <ais523> (which, as the client itself is set to white on black, and the /topic box is generally black on white, makes it hard to read)
21:30:56 <elliott> but presumably pretty low priority
21:31:02 <ais523> elliott: I didn't say it was unreproducible
21:31:06 <ais523> just that it was weird
21:31:07 <elliott> ais523: white on black? :(
21:31:12 <ais523> I don't see why there has to be a correlation
21:31:31 <ais523> elliott: I prefer dark colours to predominate on my computer screen, it becomes easier to look at for extended periods of time
21:31:37 -!- sebbu has quit (Ping timeout: 240 seconds).
21:31:41 <elliott> ais523: I would accept off-white on dark grey
21:32:15 <ais523> elliott: the foreground isn't pure white, IIRC
21:32:21 <ais523> the background is pure black, I think
21:32:29 <ais523> my own comments are light red, nickpings are bright red
21:32:33 <elliott> the background's the main problem
21:32:36 <ais523> and notices and server messages are dark yellow
21:33:23 <ais523> hmm, why does recursive grep default to recursively grepping stdin?
21:33:30 <ais523> surely specifying -r is a clue that stdin isn't a good place to read from?
21:33:53 <elliott> ais523: not even gnu people think tools should second-guess you, usually
21:34:06 <elliott> it should maybe error out according to gnu design
21:34:10 <elliott> but it definitely shouldn't default to . or anything
21:34:12 <ais523> if it's documented behaviour, it's not guessing, I suppose
21:34:24 <elliott> it's second-guessing, just not first-guessing
21:34:31 <ais523> erroring on -r would make sense
21:34:49 <ais523> I hate it when I can't tell whether a program is waiting on a long-running disk/CPU calculation, or waiting on stdin
21:34:58 <elliott> ais523: it would make sense for gnu design, not unix design
21:35:07 <elliott> also, that should be solved some other way
21:35:14 <elliott> terminals should indicate when they want input
21:35:29 <ais523> well, they /do/ (see IO::Pty::HalfDuplex)
21:35:29 <elliott> e.g., I don't think an input cursor should be displayed when input isn't desired
21:35:35 <ais523> but not normally in a user-visible way
21:35:46 <ais523> (IPHD is both awesome and crazy, incidentally; I didn't write it, but I envy it)
21:35:46 <elliott> (that works better with line cursors than block)
21:35:52 <elliott> (since it's less obtrusive and thus less jarring)
21:36:20 <elliott> ais523: hmm, how is it reported?
21:36:28 <elliott> ais523: select() showing the tty is ready for writing?
21:37:04 <ais523> elliott: by reads blocking until the terminal is ready to receive input
21:37:08 <ais523> that's what the HalfDuplex bit is about
21:37:24 <ais523> but ofc that isn't inherent to the way the module works internally, just the way it's designed to be used
21:37:58 <elliott> ais523: no, I mean, how is it implemented internally
21:38:15 <ais523> on all POSIXy platforms but BSD, using job contorl
21:38:26 <ais523> it pretends to be a shell that just backgrounded the program
21:38:30 <elliott> ais523: why does my select() solution not work? because it'd report being ready for writing even before it /blocks/ on reading?
21:38:38 <ais523> then it gets a signal when the program's ready for input
21:38:51 <ais523> it's ready for writing until the write buffer is filled
21:38:58 <elliott> "In particular, programs like qemu and telnet cannot be expected to ever work with this."
21:39:24 <ais523> you could do it with telnet/ssh by having a helper program at the other end, I guess
21:40:23 <elliott> ais523: so does taeb use that?
21:40:37 <ais523> most of its development was driven by a desire to use it in TAEB
21:40:46 <ais523> and it's how I know about it
21:42:27 <ais523> you should see what it does on BSD sometime
21:42:34 <ais523> (which I don't fully understand, but it involves a debug API)
21:44:23 -!- sebbu2 has changed nick to sebbu.
21:48:20 <elliott> ais523: why do ansi terminal codes suck :(
21:48:36 <ais523> elliott: Sturgeon's law?
21:48:48 <elliott> ais523: you know how you can scroll up in a terminal
21:49:23 <ais523> many terminals have that feature, yes
21:49:43 <elliott> you actually can't modify any lines above the actual visible size of the terminal
21:49:57 <elliott> terminal is 24 lines high? my program can do 24 progress bars
21:50:01 <ais523> oh, you mean that the scrollback is lying to you in that they aren't actually part of the terminal?
21:50:01 <elliott> even if you could have one above it
21:50:12 <ais523> why did you /expect/ them to be?
21:50:29 <elliott> ais523: because the size of a viewport should not affect the size of the underlying medium?
21:50:32 * Phantom_Hoover really needs to unsubscribe from the Golly mailing list.
21:50:36 <elliott> ais523: pdfs don't get smaller when i resize evince
21:50:43 <olsner> change the terminal program to treat the scrollback buffer as part of the visible screen
21:50:59 <ais523> elliott: using programs like tmux, you can have a viewport a different size from the terminal itself
21:51:00 <elliott> couldn't the terminal just grow by one line every line?
21:51:11 <ais523> however, most programs assume terminals have a vaguely consistent size
21:51:14 <elliott> ais523: so? it's still stupid that this is how they behave by default >:(
21:51:22 <elliott> the terminal viewport size makes sense
21:51:25 <elliott> for stuff on the alternate screen
21:51:30 <elliott> and for showing stuff at the correct width
21:51:36 <elliott> but forbidding modifications above the viewport is dumb dumb dumb
21:51:48 <ais523> elliott: what if a program scrolled its output sideways rather than upwards?
21:51:50 <olsner> elliott: it'll mess up "full screen" applications though
21:52:22 <elliott> ais523: those programs are bad
21:52:41 <Vorpal> elliott: you could do your own scrollback in alt screen
21:52:46 <ais523> elliott: so what you're really saying is, "terminal programs don't act the way I want them to"
21:53:00 <elliott> ais523: yes, that is indeed the basis of my complaint
21:53:05 <elliott> do you complain when programs work the way you want them to?
21:53:45 <Vorpal> I imagine he consider what the majority would want first
21:53:51 <Vorpal> knowing ais523 that is
21:54:00 <ais523> Vorpal: sometimes, but not necessarily
21:54:29 <olsner> the needs of the me outweigh the needs of the many, or few
21:54:37 <ais523> elliott: btw, what's the appropriate reaction to someone who says they're having problems getting Pulseaudio working on Windows?
21:54:58 <elliott> ais523: /ignore, delete from all contact lists, deny existence of in future, avoid in real life
21:54:59 <Vorpal> ais523: did this actually happen? Where?
21:55:31 <ais523> Vorpal: yes, and telling you would probably get me into trouble
21:55:43 <Vorpal> ais523: was it on irc though? Mailing list? reddit?
21:55:57 <olsner> ais523: help them get pulseaudio working in windows, should prove interesting
21:56:01 * ais523 tries to work out why that's relevant
21:56:01 <Vorpal> ais523: so +s channel then?
21:56:20 <ais523> how do you check a channel for +sness? mode?
21:56:36 <elliott> ais523: are they a member of the UNDEAD?
21:56:43 <ais523> elliott: how would I know?
21:56:46 <Vorpal> ais523: in my client /mode prints the mode of the current channel if given no parameters
21:56:50 <elliott> ais523: it could be a channel for the UNDEAD
21:56:52 <ais523> I think it's likely to be unlikely, though
21:57:07 <ais523> aha, in this client, /mode-ing a channel prints its mode /in that channel/
21:57:10 <ais523> which is why I couldn't find its answer
21:57:15 <ais523> yes, it's a +s channel
21:57:26 <Vorpal> ais523: how does "likely to be unlikely" differ from a plain "unlikely"?
21:57:48 <ais523> I think it implies there's a chance it isn't unlikely
21:57:52 <Vorpal> presumably for a reason
21:58:05 <olsner> hmm, I was thinking about that too
21:58:42 <Vorpal> well it kind of makes sense, but I'm not sure I can think of an actual situation it really makes sense to use that instead of a plain "unlikely"
21:59:27 <olsner> plain unlikely implies that you know the likelihood
22:00:04 <olsner> and likely to be unlikely means there's some uncertainty in the likelihood
22:00:13 <Vorpal> still, "likely to be unlikely" sounds awkward
22:08:43 -!- mtve has joined.
22:13:47 <elliott> ais523: I think I just figured out a sufficient amount of a protoproto@ that I could even implement it
22:14:00 -!- CakeProphet has quit (Ping timeout: 258 seconds).
22:14:23 <ais523> elliott: perhaps you should do so, for practice
22:14:37 <elliott> ais523: I intend to, it's just frightening
22:15:32 <elliott> ais523: have I mentioned that one of my main requirements for the portability of @ is that you can get a minimal graphics-keyboard-and-mouse-with-no-special-IO-drivers-or-support @ up and running from only the portable system sources, ~3000 lines of python, and a few hundred lines of unportable @ driver code plugging into the python?
22:15:40 <elliott> (python deliberately picked as an unexpressive and boring language)
22:16:02 <elliott> umm, compiled sources, that is; whereby "compiled" I mean preparsed
22:16:13 <elliott> but that's how you develop them, anyway; @ code isn't text at any stage
22:17:17 <elliott> 3000 is an overestimate, really
22:17:35 <elliott> I want the abstract machine it's all based on to be simple enough to implement in just about anything
22:17:39 <elliott> although probably not brainfuck without some pain
22:18:13 <elliott> I suspect that if @ gets any use at all, it will be through a "simulator" on top of unix
22:18:21 <elliott> perhaps even one written in python
22:18:34 <elliott> you could run your server on @ by having standard debian beneath it and just having it run the @ simulator and nothing else
22:18:44 <elliott> and connect to that from a window on your local unix machine with @ networking
22:20:24 <elliott> it's similar to Squeak in this way, really
22:20:30 <elliott> although with even less integration, and intentionally so
22:20:47 <elliott> probably the only way you should even be able to access your local filesystem is over ssh or whatever
22:21:08 <ais523> what about just using a VM?
22:21:10 <ais523> and running it in that?
22:21:26 <elliott> ais523: you mean VirtualBox or qemu or w/e?
22:21:40 -!- Taneb has quit (Ping timeout: 258 seconds).
22:21:55 <elliott> ais523: well, what's the point? that's just an unnecessary layer of abstraction as opposed to running an implementation hosted on top of unix
22:22:08 <elliott> it'll still be running all the same @ code, just slightly different drivers
22:22:21 <ais523> well, because of the context-switch stuff
22:22:28 <elliott> what context-switch stuff?
22:23:39 <ais523> elliott: the way that @ is meant to avoid context-switches by working NaCl-style rather than having arbitrary code connecting to the kernel's API
22:24:07 <elliott> ais523: oh, yes, that's certainly an advantage; but consider that it's a clarity and structural advantage as well as a raw performance one
22:24:15 <elliott> ais523: here's something that would be a feasible + sensible @ usecase:
22:24:26 <elliott> you have an old laptop lying around collecting dust which you connect to your router and put @ on
22:24:35 <elliott> you use this by running an @ simulator on your main unix computer
22:24:39 <elliott> and connecting to it with @ networking over your LAN
22:24:52 <Vorpal> ais523: NaCl being? (Apart from common salt)
22:24:53 <elliott> you seamlessly run intensive computations on the laptop that would be slow under the simulator, etc.
22:24:59 <ais523> Vorpal: Google Native Client
22:25:08 <elliott> ais523: performance doesn't really matter that much for what essentially amounts to a medium-thickness client
22:25:16 <ais523> the idea of running native executables from the web by statically verifying that they don't do anything nasty
22:25:45 <pikhq_> Also, @ even in userspace will probably avoid some context switch penalties, simply because the @ scheduler will be task-switching without them.
22:26:05 <elliott> ais523: I mean, while @'s model certainly does lead to possible great performance improvements, it's hardly the only appeal of the system :)
22:26:34 <pikhq_> elliott: Not merely possible. Inherent.
22:26:49 <elliott> pikhq_: well, yes; but it's easy to make an implementation that doesn't end up faster
22:26:56 <elliott> because of the costs you pay elsewhere
22:27:03 <elliott> i.e. if you have a dumb compiler things go slowly
22:27:19 <Vorpal> elliott: what about performance in something like lapack+blas for whatever language @ uses. Not a lot of context switches there. But a lot of fine tuning the machine code for best performance
22:27:38 <elliott> Vorpal: I've never claimed @ is faster on all code
22:27:51 <elliott> Vorpal: personally, I find number crunching pretty boring
22:27:52 <Vorpal> elliott: indeed. I'm just wondering how much worse it would be
22:27:54 <pikhq_> Of course, performance is by no means the sole benefit of @. The big thing is that @ is at least intended to be understandable.
22:27:58 <ais523> I thought @ was mainly intended to be a desktop OS
22:28:04 <elliott> Vorpal: desktop/server usecases are much more interesting than number crunching to me
22:28:12 <ais523> number crunching is something you don't generally need much of an OS for at all
22:28:26 <elliott> ais523: in fact, @ could just let privileged processes offload number crunching jobs to the gpu
22:28:34 <elliott> since they tend to be pretty suited to parallelism
22:28:41 <elliott> ofc, that doesn't always work
22:28:42 <Vorpal> elliott: to be fair I do a fair amount of number crunching on the CPU and the GPU on my desktop
22:28:51 <elliott> Vorpal: I mean, you can inject arbitrary machine code into @
22:28:52 <ais523> elliott: they're optimised for semi-parallelism
22:28:57 <elliott> it just requires very high privileges, and is usually dumb
22:29:01 <ais523> like matrix multiplication, which isn't a completely parallel algo but comes close
22:29:05 <Vorpal> elliott: and anything like a modern AAA 3D game is going to be doing a lot of GPU number crunching
22:29:21 <pikhq_> elliott: You could probably also do NaCl-style sandboxed machine code.
22:29:29 <ais523> I think AAA is the only classification people tend to mention
22:29:35 <pikhq_> (this, of course, would probably be significantly more complicated than the rest of @ put together. :P)
22:29:46 <elliott> also, if you want to be really pipe-dreamy: proof-carrying machine code
22:30:05 <Vorpal> ais523: I never heard about anything than AAA there
22:30:08 <elliott> Vorpal: look at virtual machines
22:30:16 <Vorpal> ais523: batteries included
22:30:19 <pikhq_> Well. Actually. Sandboxing for you would be really easy, because @'s not using the CPU's privilege levels at all.
22:30:21 <Vorpal> (okay that was terrible)
22:30:23 <ais523> is the classification meaningful if it's the only one that's used?
22:30:24 <elliott> Vorpal: VMWare, Parallels, VirtualBox -- they're edging closer and closer to being able to play modern games
22:30:27 <pikhq_> So, to sandbox machine code you could simply use that.
22:30:39 <elliott> I think it's only a matter of time before you don't lose much performance at all from virtualising them
22:30:52 <elliott> so if that's what it takes to do games under @, so what? it's secure, it's predictable...
22:31:01 <Vorpal> elliott: they don't really cut it for the "getting 61 FPS without vsync native" case though.
22:31:23 <Vorpal> btw is there anyone who plays without vsync except for testing what FPS you can reach?
22:31:25 <pikhq_> elliott: The main loss from virtualising nowadays is actually getting stuff through to the GPU.
22:31:53 <pikhq_> Vorpal: Some people actually derp and think higher framerates than your display is a good thing.
22:31:53 <elliott> pikhq_: i'll get ais523 to port @ to checkout :)
22:31:54 <Vorpal> I sadly lack an IOMMU on my mobo I think
22:32:08 <ais523> elliott: GPU works really differently from CPU
22:32:20 <ais523> you can't straight-translate with any real measure of efficiency
22:32:28 <Vorpal> pikhq_: anyway I might play with vsync if I got 59 FPS without it. Because screen tearing is horrible. But so is 30 FPS
22:32:31 <elliott> ais523: well, you claim Checkout is how CPUs work nowadays too
22:32:38 <elliott> ais523: it would be awful if @'s design mismatched those
22:32:42 <ais523> elliott: right, internally
22:32:49 <ais523> however, they don't take an input format that matches how they work internally
22:32:58 <ais523> but rather try to translate on the fly, and don't do an amazing job of it
22:33:03 <elliott> ais523: point is, @ doesn't match the exposed layer of CPUs
22:33:05 <Vorpal> elliott: what is Checkout in this context?
22:33:11 <elliott> ais523: so i might as well make it match the hidden layer
22:33:12 <ais523> Vorpal: an esolang, http://esolangs.org/wiki/Checkout
22:33:15 <elliott> Vorpal: http://esolangs.org/wiki/Checkout
22:33:27 * elliott waits for Vorpal to say "tl;dr".
22:33:31 <ais523> elliott: but you'd have to abstraction-invert to actually run the code on a real CPU
22:33:47 <elliott> ais523: as opposed to the abstraction-inversion I have to do already?
22:33:51 <elliott> @ wants to be run on a graph reduction machine
22:34:15 <Vorpal> ais523: "machine code matches the way processors used to work decades ago, rather than the way they work nowadays" <-- for x86: certainly, but is this true for other ISAs?
22:34:40 <ais523> Vorpal: well, Itanium tried to do something lower-level
22:34:43 <ais523> and look what happened to it
22:34:57 <Vorpal> ais523: "Thus, it makes operations like memory transfers (which take up the most time on a modern processor) explicit" <-- this reminds me of how the processing cores on Cell CPUs work.
22:34:57 <ais523> I think it might actually have been a good idea that happened too early
22:35:08 <Vorpal> they DMA to a local memory
22:35:16 <ais523> although I think it was being explicit to the wrong thing
22:35:19 <ais523> Vorpal: that's how GPUs work too
22:35:19 <Vorpal> the local memory being SRAM iirc
22:35:26 <elliott> ais523: hmm, I wonder if Checkout isn't just a really weird representation of a dataflow graph
22:35:38 <ais523> perhaps it is, in which case GPUs are too
22:35:46 <Vorpal> ais523: well, to be fair Cell is kind of like a weird mix between CPU and GPU concepts, with a PowerPC core thrown in for good measure
22:35:47 <olsner> but... vliw wasn't exactly new with itanium, was it?
22:36:01 <ais523> olsner: I don't think so, but it was the first large-scale serious attempt to do it
22:36:12 <elliott> ais523: I would be very unsurprised if GPUs turned out to be basically dataflow machines
22:36:24 <olsner> and it can still have been too early regardless of how old vliw is
22:36:39 <Vorpal> elliott: they /kind of/ are
22:36:40 <ais523> elliott: it's not obviously exactly the same
22:36:49 <Vorpal> btw I'm taking a course in GPU programming currently
22:36:53 <Vorpal> it seems really interesting
22:36:59 <Vorpal> first lecture was today
22:38:16 <Vorpal> ais523: "The differences are in the value of implementation-defined parameters" <-- any examples?
22:38:25 <ais523> not off the top of my head
22:38:38 <Vorpal> are there any Checkout implementations?
22:38:59 <ais523> it's a thought experiment more than anything else
22:39:10 <ais523> "what would a language look like if it modeled the way processors actually work"
22:39:17 <ais523> and the answer is "frustrating", I think
22:39:22 <Vorpal> doing a level 1 implementation shouldn't be too hard from what I can tell. Might not be efficient though
22:39:36 <ais523> "level 1 implementation"?
22:40:01 <Vorpal> err the stuff needed for doing level 1. Which would form the core of an implementation
22:40:04 <lambdabot> No instance for (Control.Monad.Random.Class.MonadRandom [])
22:40:05 <lambdabot> Madoka-Kaname: You have 3 new messages. '/msg lambdabot @messages' to read them.
22:40:47 <lambdabot> Couldn't match expected type `[a]'
22:40:47 <lambdabot> against inferred type `Data.Set....
22:40:50 <Vorpal> ais523: anyway from what I heard, coding for the Cell processor is really annoying as well
22:41:02 <elliott> Data.Rope{bnj55} : module-sig Data.Rope{bnj55}
22:41:02 <elliott> Unicode{7zogf} : module-sig Unicode{7zogf}
22:41:02 <elliott> FRP{45gf6} : module-sig FRP{45gf6}
22:41:04 <elliott> } -> FRP{45gf6}.Behavior (Data.Rope{bnj55}.Rope Unicode{7zogf}.Codepoint)
22:41:13 <Vorpal> elliott: what is that?
22:41:27 <ais523> elliott: an intermediate internal representation, right?
22:41:29 -!- augur has quit (Remote host closed the connection).
22:41:31 <Vorpal> elliott: what are the {h3b45h} thingies?
22:41:32 <ais523> coding in that would be awkward
22:41:37 <ais523> Vorpal: my guess is hashes
22:41:40 <elliott> ais523: no, a type signature
22:41:48 <elliott> they're partial hashes, I couldn't be arsed to tap out 512 bits or whatever
22:42:14 <ais523> if people have to type out the hashes by hand, they'll get annoyed
22:42:23 <elliott> I'm not running @ yet, am I?
22:42:33 <ais523> I'm suggesting that some method to sugar them away will be needed
22:42:34 <pikhq_> I'd imagine the plain-text is the human-readable representation and the hash the computer-readable one.
22:42:35 <Vorpal> elliott: sometimes you sound like it :P
22:42:47 <ais523> YOU HAVE TOO MUCH ROPE TO HANG YOURSELF
22:42:55 <elliott> actually, wait, the hashes are in the wrong place there
22:43:03 <Vorpal> wait, that was very un-ais523 like
22:43:11 <ais523> Vorpal: I wrote it originally
22:43:27 <ais523> only duckduckgo hit is ESR's website
22:43:37 <Vorpal> ais523: oh right, the intercal error
22:43:38 <ais523> which is interesting, I thought the phrase might occur by chance somewhere else
22:43:44 <Vorpal> what is it an error for in intercal?
22:43:51 <Vorpal> ais523: also when did you switch to ddg?
22:43:54 <ais523> Vorpal: running out of memory during multithreading
22:44:01 <ais523> and when elliott recommended it to me
22:44:18 * elliott stopped recommending DDG after he recommended it to Vorpal and Vorpal started being obnoxious about recommending it.
22:44:21 <elliott> Data.Rope : module-sig Data.Rope{bnj55}
22:44:21 <elliott> Unicode : module-sig Unicode{7zogf}
22:44:21 <elliott> FRP : module-sig FRP{45gf6}
22:44:22 -!- tiffnya has joined.
22:44:23 <elliott> } -> FRP.Behavior (Data.Rope.Rope Unicode.Codepoint)
22:44:27 <elliott> tiffany: YOU RUINED MY PASTE.
22:44:43 <ais523> not because elliott is perfect in terms of opinions that I'd share, but because e made me aware of its existence
22:44:44 -!- tiffany has quit (Disconnected by services).
22:44:46 -!- tiffnya has changed nick to tiffany.
22:45:18 <ais523> http://www.catb.org/~esr/intercal/ick.htm#Errors
22:45:37 <elliott> ais523: ooh, wait, that type is actually wrong
22:45:55 <Vorpal> * elliott stopped recommending DDG after he recommended it to Vorpal and Vorpal started being obnoxious about recommending it. <-- I only recommended it to oerjan in here. No one else.
22:46:11 <ais523> elliott: hmm, perhaps this may end up getting merged with Anarchy somehow
22:46:20 <ais523> which is too specific to be the perfect language, but I love some of its ideas
22:46:24 <elliott> ais523: Anarchy is dependently-typed?
22:46:26 <Vorpal> elliott: admit it, I managed to sell the idea to oerjan
22:46:31 <ais523> elliott: not exactly, well perhaps yes
22:46:34 <Vorpal> I think he still uses it
22:46:41 <ais523> it feels vaguely similar to dependent typing
22:46:48 <ais523> but I don't think it's the same
22:47:08 <elliott> ais523: I think Anarchy sounds interesting, but I think it'd also be simpler if structured as functional transformations rather than imperative updates
22:47:13 <elliott> (can you tell I like functional programming?)
22:47:29 <elliott> ofc, seeing as I don't really know Anarchy, this may be an ignorant statement
22:47:30 <Vorpal> elliott: Anarchy is a language? Nice name
22:47:37 <ais523> elliott: it is functional, and even almost pure; it's just sugared to look imperative
22:47:53 <elliott> ais523: yet another slightly pregnant language
22:48:01 <ais523> elliott: I've written and tested a parser for it
22:48:11 <Vorpal> ddg is being unhelpful
22:48:11 <elliott> ais523: (almost pure ~ slightly pregnant)
22:48:11 <ais523> which is more progress than certain other languages
22:48:30 <ais523> elliott: well, it isn't pure, but you can't do everything in it you could in an impure language
22:48:33 <Vorpal> that was the wrong anarchy
22:48:41 <ais523> it has a restriction that's weaker than purity, but still ther
22:48:46 <ais523> I just need to figure out what it is
22:48:54 <Vorpal> ais523: elliott: I can not find the anarchy you were talking about. Is it an esolang?
22:49:01 <elliott> <ais523> elliott: I've written and tested a parser for it
22:49:02 <ais523> one I've only started making
22:49:08 <Vorpal> http://esolangs.org/wiki/Special:Search?search=anarchy&go=Go
22:49:11 <elliott> clearly ais523 is just implementing some wildly well-known language
22:49:20 <Vorpal> ais523: so not on the wiki
22:49:25 <Vorpal> ais523: what is it about then?
22:49:27 <elliott> ais523 doesn't put incomplete languages on the wiki
22:49:31 <ais523> intended semantics for a subset of the language are mostly worked out, and I'm trying to figure out how to implement them
22:49:35 <ais523> Vorpal: type inference on steroids
22:49:44 <ais523> also, it's mostly designed for tree-walking
22:49:57 <ais523> it's specifically intended for being good at writing compilers
22:49:58 <elliott> ais523: anyway, I think @ would be quite happy to host Anarchy
22:50:09 <ais523> and although it'll probably be TC, would be awkward to use for other things
22:50:11 <elliott> it's not an unkind host for languages, really, it just has very high standards
22:50:12 <Vorpal> ais523: so it might actually be an useful esolang?
22:50:21 <ais523> I may end up giving it a decent FFI
22:50:25 <ais523> for things it's not suited to writing in
22:50:36 <ais523> perhaps even implement integers as a native data type
22:50:45 <ais523> rather than asking the user to make them by hand, like usual
22:50:54 <Vorpal> ais523: so... the lexer and parser are not really tree walking, the latter is tree building. I presume there is adequate support those too then?
22:51:01 <ais523> (I consider a language to be inferior if you /can't/ invent mathematics in it from scratch, but that doesn't mean you should have to)
22:51:14 <elliott> ais523: it makes me really sad that integers are the one thing you absolutely need to be primitive
22:51:17 <ais523> Vorpal: I'm not sure how parsers fit into Anarchy yet
22:51:25 <Madoka-Kaname> @pl (\l -> map fst $ takeWhile (uncurry (==)) $ zip l (tail l)
22:51:25 <lambdabot> expecting variable, "(", operator, "$", "$!", "`seq`" or ")"
22:51:25 <ais523> elliott: for efficiency, you mean?
22:51:30 <Madoka-Kaname> @pl (\l -> map fst $ takeWhile (uncurry (==)) $ zip l (tail l))
22:51:30 <lambdabot> map fst . takeWhile (uncurry (==)) . ap zip tail
22:51:31 <elliott> ais523: to be usable at all, efficiency-wise
22:51:43 <Vorpal> ais523: well presumably you need it if you want to do any sort of useful compiler writing
22:52:05 <elliott> ais523: BTW, that @ type signature I showed is very non-idiomatic
22:52:18 <elliott> Vorpal: parsers are the least interesting part of a compiler
22:52:22 <ais523> that wouldn't surprise me
22:52:25 <elliott> they could be done externally before running anarchy
22:52:47 <elliott> ais523: (it's unidiomatic because it uses a rope of codepoints, which is a very strange type)
22:52:51 <ais523> but right, parser theory is well known
22:53:00 <elliott> but I didn't feel like thinking of a document type to use
22:53:04 <ais523> also, what's a rope? something vaguely list-like in the operations it supports?
22:53:12 <Vorpal> elliott: certainly. But they still need to be there in some form. And if done externally you still need to communicate that stuff to the later stages somehow. Which either means a parser for the tree in anarchy or linking C code to it
22:53:22 <elliott> ais523: a balanced tree of short vectors, basically
22:53:27 <elliott> ais523: it's a very good string representation
22:53:28 <ais523> Vorpal: why arbitrarily mention C?
22:53:37 <Vorpal> ais523: well, some other language then
22:53:46 <Vorpal> ais523: I was thinking about bison
22:53:46 <ais523> elliott: hmm, so similar to a skiplist, but with a different way of thinking about it?
22:53:56 <elliott> ais523: completely unrelated; http://en.wikipedia.org/wiki/Rope_(computer_science)
22:53:58 <Vorpal> elliott: why is a rope of codepoints a strange type?
22:54:07 <elliott> ais523: in @, the obvious implementation is a 2,3 finger tree of short vectors
22:54:16 <elliott> because 2,3 finger trees are literally every data structure
22:54:31 <elliott> Vorpal: unix/windows mind virus
22:54:38 <elliott> ais523: oh, not in @ itself
22:54:53 <Vorpal> elliott: what do you suggest instead for representing an Unicode text?
22:55:02 <elliott> ais523: it's just that 2,3 finger trees are unreasonably good at everything
22:55:22 <elliott> Vorpal: "unicode text" is the problem; there is no real such thing, we're only used to bare strings of bytes and later codepoints because that's what our OSes use
22:55:29 <ais523> rope of codepoints wouldn't be a bad representation for "text file found on the Internet, whose format isn't otherwise specified"
22:55:32 <elliott> books, for instance, aren't unicode text, they have formatting
22:55:41 <ais523> I assume @ wouldn't be insular enough to refuse to interoperate with the wider Internet
22:55:46 <elliott> ais523: that's because the Internet is based around byte strings
22:55:46 <ais523> which means understanding its formats, even if it dislikes them
22:55:49 <ais523> elliott: right, indeed
22:55:54 <elliott> ais523: and most people use Windows/Unix which layers codepoint-arrays on top of them
22:55:57 <Vorpal> elliott: well how will you represent "The dog jumped over the lazy dog" then?
22:56:05 <elliott> every justification for strings is just proof that someone else has used strings previously :)
22:56:13 <elliott> Vorpal: as a document, say
22:56:15 <ais523> `addquote <Vorpal> elliott: well how will you represent "The dog jumped over the lazy dog" then?
22:56:17 <HackEgo> 714) <Vorpal> elliott: well how will you represent "The dog jumped over the lazy dog" then?
22:56:24 <ais523> TIL Vorpal doesn't know about quick brown foxes
22:56:27 <Vorpal> ais523: yes I know it was non-idiomatic :P
22:56:34 <Vorpal> ais523: it was intentional :P
22:56:38 <ais523> also, it has to be present tense, "jumps" not "jumped"
22:56:51 <Vorpal> elliott: and how do you represent a document then?
22:56:52 <ais523> elliott: the quick brown fox jumps
22:56:56 <Vorpal> elliott: internally I mean
22:57:13 <elliott> Vorpal: depends; it could quite easily be a PDF
22:57:16 <ais523> elliott: hmm, this conversation is rapidly getting too surreal for me
22:57:28 <elliott> Vorpal: a tree of formatting instructions seems reasonable
22:57:39 <Vorpal> elliott: hm. For source code?
22:57:47 <ais523> elliott: with a defined list?
22:57:52 <ais523> Vorpal: source code should be stored as an AST
22:57:57 <elliott> ais523: no, you'd want it to basically be compiled source code
22:58:01 <elliott> the question is what that outputs
22:58:05 <ais523> elliott: that is also an AST too
22:58:08 <elliott> I'm not sure what documents look like, but it's easy to experiment once @ is running
22:58:48 <elliott> ais523: the main problem with a totally generic document type is that it needs to be searchable
22:58:51 <ais523> sorry, I have the CS infection that makes me think that anything that doesn't have higher-order functions isn't a real programming language
22:58:54 <elliott> so it can't just be a program that renders something on the screen
22:59:39 <ais523> THE NEXT STACK RUPTURES. ALL DIE. OH, THE EMBARRASSMENT!
22:59:48 <Vorpal> elliott: what about comments?
22:59:51 <ais523> the only message that ESR /changed/ from the original, rather than adding a new message
23:00:05 <Vorpal> ais523: what was the original?
23:00:05 <ais523> I liked the old one too, though ("PROGRAM ATTEMPTED TO EXIT WITHOUT ERROR MESSAGE")
23:00:16 <elliott> Vorpal: comments should be documents too, but why can't they just be arbitrary objects?
23:00:24 <elliott> there's no reason you shouldn't be able to add an audio file as a comment
23:00:25 <Vorpal> elliott: hm I guess so
23:00:30 <elliott> or, more reasonably, a picture
23:00:38 <elliott> (even if you could just have a document composed only of a picture, it's unnecessary indirection)
23:01:10 <Vorpal> elliott: lets say I'm editing a function, how will you represent this on screen? As a piece of text?
23:01:40 <elliott> Vorpal: have you ever read a paper which had Haskell code in it?
23:01:44 <elliott> it'll probably look something like that
23:02:10 <Vorpal> elliott: I read one that had Miranda code
23:02:24 <elliott> go read some mcbride or something :P
23:02:28 <ais523> elliott: hmm, what about literate programs?
23:02:40 <ais523> I'm trying to work out if the programs should be "outside" or "inside" comments
23:02:51 <ais523> or if there should be some other method for doing so
23:02:57 <Vorpal> elliott: ddg is rather unhelpful here
23:03:11 <elliott> hmm, there's taht functional pearl i read a while back
23:03:13 <Vorpal> elliott: mcbride is obviously a name. Probably knowing the first name would help
23:03:24 <elliott> but here, http://www.google.co.uk/url?sa=t&rct=j&q=indexed%20monad%20functional%20pearl&source=web&cd=3&ved=0CDUQFjAC&url=http%3A%2F%2Fpersonal.cis.strath.ac.uk%2F~conor%2FKleisli.pdf&ei=B7W5TovkAsmM-wbhz7WFCA&usg=AFQjCNG5aO2kQrYOjP71SltPo1vW7kQrMQ&sig2=tjbXn6dw84MjElfdiKoySw
23:03:30 <elliott> personal.cis.strath.ac.uk/~conor/Kleisli.pdf
23:03:41 <ais523> hmm, I think "FLAG ETIQUETTE FAILURE BAD SCOUT NO BISCUIT" is the newest error message there, it's one of ESR's
23:04:11 <ais523> hmm, it's not /that/ bad
23:04:34 <ais523> "NO SKELETON IN MY CLOSET, WOE IS ME!" would be great if it was just the bit before the comma
23:04:40 <Vorpal> elliott: I can see plenty of haskell source code in there
23:05:08 <Vorpal> but nothing special about it. I mean, it is kind of how it would show in your typical editor, modulo italics and colours
23:05:11 <ais523> elliott: things like syntax highlighting shouldn't be part of the program object, though
23:05:30 <elliott> ais523: anyway, re literate programs: I'm undecided. I think @ can support both just fine. I don't know which the system itself should prefer.
23:05:31 <Vorpal> elliott: didn't even notice that to begin with
23:05:34 <ais523> hmm, the problem with Unicode is that it's inherently linear
23:05:52 <elliott> Unicode isn't that good, but @ uses it as a source of actual characters because it's good enough
23:06:01 <Vorpal> elliott: would it be possible to make that compile by defining the relevant unicode symbols as operators?
23:06:04 <elliott> and because being incompatible with it in 2011 would be completely unjustifiable
23:06:10 <elliott> Vorpal: who says those are valid unicode?
23:06:15 <elliott> Vorpal: there's no unicode for "star in a diamond", last i checked
23:06:16 <ais523> elliott: perhaps you should finish Kitten first
23:06:23 <ais523> to give you a usable OS to develop @ on
23:06:24 <elliott> which is what (<*>) is usually rendered as
23:06:39 <elliott> ais523: I think Kitten is easy enough to develop at this stage that I can entertain @ thoughts
23:06:50 <ais523> nothing wrong in thinking
23:06:57 <elliott> ais523: I need to push through this design skeleton of protoproto@ to something that can run the simplest system that's sort of like @
23:07:07 <elliott> since that'll be a big win in terms of being able to experiment beyond that
23:07:48 <Vorpal> <elliott> Unicode isn't that good, but @ uses it as a source of actual characters because it's good enough <-- yeah, they didn't add Klingon did they?
23:08:01 <Vorpal> see, it isn't good at all
23:08:09 <ais523> there is a common embedding of Klingon into Unicode that isn't standard, but doesn't contradict the standard
23:08:14 <ais523> by defining some of the private use area
23:08:28 <Vorpal> approx how large is the private use area, I don't remember
23:08:37 <ais523> considerably larger than Klingon is
23:08:39 <elliott> Data : { Rope : module-sig Data.Rope{bnj55} }
23:08:39 <elliott> Unicode : module-sig Unicode{7zogf}
23:08:39 <elliott> FRP : module-sig FRP{45gf6}
23:08:39 <elliott> } -> M.FRP.Behavior (M.Data.Rope.Rope M.Unicode.Codepoint)
23:08:44 <ais523> but rather small compared to Unicode as a whole
23:09:09 <elliott> now to try and give some example /code/ for hello-world
23:10:51 -!- Patashu has joined.
23:10:59 <elliott> ais523: make sure I don't typo my names again, pls :)
23:11:33 <ais523> why would the names be written as sequence-of-letters anyway
23:11:45 <ais523> as in, why shouldn't Color and Colour be identical?
23:12:14 <elliott> use Data.Rope as Rope importing Rope
23:12:14 <elliott> use Unicode importing Codepoint
23:12:14 <elliott> use FRP importing Behaviour
23:12:15 <elliott> hello-world : Behaviour (Rope Codepoint)
23:12:16 <elliott> hello-world = point Rope['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l',
23:12:27 <elliott> that Rope[...] is misleading; it is actually a Rope object embedded into the code
23:12:35 <elliott> who needs to build up constants from functions when you can just include them in the source?
23:14:09 <elliott> ais523: can you spot the error in the above program?
23:14:56 <ais523> you didn't define lists?
23:15:00 <lambdabot> sequence (x:xs) = do v <- x; vs <- sequence xs; return (v:vs)
23:15:00 <lambdabot> -- OR: sequence = foldr (liftM2 (:)) (return [])
23:15:09 <ais523> oh, right, that's the embedded object
23:15:10 <elliott> ais523: I didn't use lists
23:15:20 <elliott> ais523: hint: where is "point" imported from?
23:15:38 <elliott> well, ropes aren't behaviours of ropes
23:15:52 <elliott> use Control.Applicative importing point
23:16:18 <elliott> anyway, ostensibly one can ask an @ computer, given the above, "hello-world", and get back a container with that rope inside, never changing
23:16:35 <elliott> a more interesting program would be one that cycles through different ropes or even responds to input
23:16:36 <Vorpal> elliott: that list sounds quite annoying to write out like that
23:16:41 <elliott> Vorpal: there are no lists
23:17:05 <Vorpal> elliott: ['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'] <-- writing that seems really annoying
23:17:13 <elliott> <elliott> that Rope[...] is misleading; it is actually a Rope object embedded into the code
23:17:16 <Vorpal> call it whatever you like
23:17:36 <elliott> so, you missed the part where I said you wouldn't actually use ropes of codepoints in rpactice, right? :)
23:17:43 <Vorpal> elliott: whatever it is, it seems annoying to use if you just want to display a message to the user
23:17:54 <Vorpal> elliott: so what would you do in practise for the hello world
23:18:00 <Vorpal> what would the idiomatic hello world look like
23:18:09 <elliott> and I don't know, it's impossible to determine @'s idioms before it exists
23:18:41 <Vorpal> elliott: so what would you do to display "Error connecting to host", would you display a document with that "text" in it?
23:18:59 <Madoka-Kaname> > ['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'] == "Hello, world!"
23:19:11 <Vorpal> Madoka-Kaname: that was NOT haskell code
23:19:21 <Vorpal> elliott: where would actual ropes be used then?
23:19:23 <elliott> use Text.Doc importing Doc
23:19:23 <elliott> use FRP importing Behaviour
23:19:23 <elliott> use Control.Applicative importing point
23:19:23 <elliott> hello-world : Behaviour Doc
23:19:25 <elliott> hello-world = point "Hello, world!"
23:19:31 <elliott> Vorpal: and probably internally
23:19:39 <elliott> representing runs of unformatted text as ropes of codepoints, etc.
23:19:46 <Vorpal> elliott: "smile" here being?
23:19:56 <elliott> Vorpal: because i converted it to use an imaginary Doc type
23:20:03 <elliott> the "world!" is actually italic there, you just can't see it :)
23:20:30 <Vorpal> elliott: that might make it a bit tricky to pastebin code to discuss it over irc :P
23:20:40 <Vorpal> elliott: if it can't easily be represented as pure text I mean
23:20:40 <elliott> Vorpal: that's why @ has a standardised object interchange format
23:20:45 <elliott> presumably, there'll be @bins
23:20:54 <elliott> for linking to people over legacy protocols
23:21:21 <elliott> Vorpal: in a @ communications protocol, you would of course exchange objects
23:21:27 <elliott> so you could just embed source code in your message
23:21:29 <Vorpal> elliott: I guess we will see if @ becomes the next Linux.
23:21:44 <elliott> the next shitty imitations of a decades-old obsolete system?
23:21:50 <Vorpal> elliott: not in that sense :P
23:21:57 <Vorpal> elliott: I meant "the next big open source OS"
23:22:08 <elliott> I doubt it, but I've never really cared much about that
23:22:16 <elliott> I would like to think it'll get at least ten users
23:22:27 <elliott> probably nobody but me will actually boot it as their main OS
23:22:39 <Vorpal> elliott: I believe that is more ambitious than Linus original goal :P
23:23:09 <elliott> I would like to think @ would take off, but actually it'd probably be pretty hellish.
23:23:21 <elliott> People would start shipping proprietary @ source.
23:23:22 <Vorpal> elliott: I would certainly try it out under qemu if it is ever implemented
23:23:34 <elliott> Not long until programs become ObfuscatedPropriertyInterpreter("...binary data...").
23:24:00 <Vorpal> elliott: I guess that will happen for the graphics drivers.
23:24:11 <elliott> Vorpal: "will" -- @ won't get to that stage.
23:24:26 <elliott> When @ is small, I can just yell at people if they do things like that *shrug*
23:25:19 <elliott> <Vorpal> elliott: I would certainly try it out under qemu if it is ever implemented
23:25:20 <elliott> <Vorpal> would that even work?
23:25:23 <elliott> Vorpal: Were these statements linked?
23:25:32 <Vorpal> elliott: let me look up
23:25:46 <Vorpal> <elliott> People would start shipping proprietary @ source. <Vorpal> would that even work?
23:25:50 <Vorpal> elliott: was the linkage
23:26:06 <elliott> Vorpal: Anyway, I wouldn't bother running @ in qemu, since like I've said it'll be hostable on Unix.
23:26:11 <Vorpal> elliott: I can't imagine it NOT working under qemu
23:26:29 <Vorpal> elliott: reminds me of inferno in that regard
23:26:39 <Vorpal> except I never got inferno to actually work
23:26:48 <elliott> But I would recommend people try actually booting it if it works out -- it'll be very interesting to see how much the scheduler/IO stuff actually helps.
23:27:08 <Vorpal> elliott: well, I would probably disconnect all my hdds first :P
23:27:28 <elliott> Vorpal: Well, like I said, my baseline is <3000 lines of Python + a small bit of @ driver code to connect to the Python "hardware" + the standard @ image = hosted @ system with graphics, keyboard and mouse (no other special IO).
23:27:40 <elliott> If you can't implement that, then the abstract machine is too complex.
23:27:49 <elliott> Obviously it'll take more lines to be efficient and do things like networking.
23:27:58 <Vorpal> given that I need to remove one disk compartment to properly read the SATA connectors, because the direct path is blocked by the GPU heatsink
23:28:28 <elliott> I wouldn't worry about @ clobbering your HDs, unless you think I'm malicious or whatever. It's kind of meant to eliminate a very large portion of those sorts of errors :P
23:28:49 <Vorpal> elliott: do I trust you completely to not make any mistakes still? Nope.
23:29:01 <pikhq_> Vorpal: It's pretty damned hard to do HD-hosing mistakes.
23:29:05 <elliott> ais523: quick, tell me how anarchy and scapegoat fit together
23:29:08 <elliott> Vorpal: you trust Linux not to?
23:29:09 <Vorpal> elliott: I appeal to authority here. The authority of Murphy
23:29:26 <ais523> elliott: I can't think of an obvious link
23:29:43 <elliott> ais523: I was thinking of language-specific scapegoat change types
23:30:09 <Vorpal> elliott: nope! Guess why I disconnected linux when installing windows. Anyway they had a fair amount of testing. Such issues would according to probability likely have been caught.
23:30:43 <Vorpal> elliott: the only thing I would trust more than that would be an actual formal proof :P
23:30:44 <elliott> how do you even clobber an HD by accident in OS code, anyway?
23:31:02 <elliott> you'd have to send a very specific, very long sequence of instructions to th drive
23:31:23 <Vorpal> elliott: okay more reasonably and scarier you might manage to brick my network card. I remember an OS bug in some pre-release of some 2.6 linux kernel doing that
23:31:30 <Vorpal> for a similar network card to mine
23:31:45 <elliott> Vorpal: that's ridiculous, you think I'll write drivers for your network card?
23:31:51 <Vorpal> by writing in the wrong place, because debug hooks were written into device registers by mistake
23:32:07 <Vorpal> elliott: see, no need to do that ^
23:32:35 <Vorpal> elliott: anyway what network card do you have? If it is intel's gbit ethernet: then yes
23:32:41 <elliott> oh well, if you really think you can trust linux more than @ I'll ujst have to conclude you're insane
23:32:46 <elliott> especially considering the order of magnitude difference in code size
23:33:09 <pikhq_> elliott: Well, there's actually a decent chance you could. There's like one or two network cards that are extraordinarily common in both physical hardware *and* VMs, and are easy to implement drivers for.
23:33:15 <pikhq_> (I can't recall which)
23:33:19 <Vorpal> elliott: indeed you do have a point. Guess why I would never ever boot anything that isn't at least 3.x.1
23:33:50 <elliott> Vorpal: oh, so you just recently switched to Linux?
23:34:02 <Vorpal> elliott: well obviously 2.6.x.1 before
23:34:20 <Vorpal> elliott: and I forgot what the 2.4 versioning system was, and I probably didn't know better back then anyway
23:34:22 <elliott> the first @ release will be 3.1.1
23:34:36 <elliott> with special Vorpal hd clobbering code
23:34:37 <Vorpal> pikhq_: I believe intel's gbit ethernet is fairly common indeed.
23:34:37 -!- Phantom_Hoover has quit (Quit: Leaving).
23:34:52 <Vorpal> pikhq_: more so in VMs
23:35:12 <elliott> pikhq_: You should help me figure out what @'s networking looks like. :(
23:35:18 <Vorpal> I have the PCI Express one though
23:35:20 <elliott> It has the major constraint that it has to be layerable on top of either TCP/IP or UDP/IP.
23:35:24 <ais523> confirmed: it takes me about 10 seconds to remember the rules of The Game when I'm reminded of it
23:35:25 <Vorpal> which iirc is slightly less common in VMs
23:35:32 <ais523> I think my brain has evolved a defensive response to it
23:35:46 <ais523> actually, more like 30 seconds
23:35:50 <ais523> I just remembered there was another one
23:36:08 <elliott> ais523: I'm so glad I play Not the Game
23:36:18 <ais523> heh, and just now I remembered the "if you think of The Game you lose rule"
23:36:29 <elliott> hmm, it's kind of annoying that @ doesn't seem to be separable from dependent types
23:36:30 <ais523> there are only three, right?
23:36:37 <elliott> on the one hand, it's obviously the correct thing
23:36:40 <elliott> on the other, it makes my job a /lot/ harder
23:36:43 <ais523> and I don't play The Game
23:36:47 <ais523> although I know a bunch of people who do
23:36:54 <pikhq_> elliott: I wouldn't actually consider that a major constraint.
23:37:11 <pikhq_> Being layerable on top of UDP/IP just means it needs to be in packet form, really.
23:37:30 <elliott> pikhq_: It also means it has to be source-dependent...
23:37:32 <Vorpal> elliott: I assume there is a way to embed native code for use in drivers?
23:37:39 <elliott> And target-dependent, for that matter.
23:37:49 <pikhq_> elliott: Not necessarily.
23:37:55 <Vorpal> elliott: oh and how are you going to deal with ACPI?
23:38:03 <pikhq_> You can have a single port for all of @ networking to be multiplexed over.
23:38:11 <elliott> pikhq_: i'm talking about IPs, not porst
23:38:26 <elliott> Vorpal: (a) Sort of, but you almost never want to use it. (b) What do you mean?
23:38:31 <pikhq_> That is a bit of a restriction.
23:38:46 <elliott> pikhq_: If I could, I'd layer it on top of Urbit's networking. :p
23:38:47 <pikhq_> But the alternative is NIHing the thing least NIHable.
23:38:53 <Vorpal> elliott: surely you know that you need to interpret a lot of bytecode in your OS to do ACPI?
23:39:06 <elliott> pikhq_: I wish routers let you give them new routing algorithms remotely.
23:39:11 <Vorpal> there is an open source implementation of this already. It is in C though
23:39:11 <elliott> So you could just define new protocols with router viruses.
23:39:22 <elliott> Vorpal: I know almost nothing about ACPI other than that it's crappy
23:39:22 <Vorpal> well there are probably a few more
23:39:26 <elliott> Vorpal: Give me one good reason not to just ignore it :)
23:39:30 <elliott> I suppose it matters for laptops and shit
23:39:36 <Vorpal> elliott: I don't think you can avoid it on modern hardware in general
23:39:40 <elliott> Vorpal: Anyway, interpreting things is one thing functional languages are really good at!
23:39:54 <Vorpal> isn't it a state machine even? I'm not sure
23:40:30 <elliott> Vorpal: Anyway, yeah, I can't really think of all that many uses for embedding native code.
23:40:42 <ais523> just seen on Slashdot: apparently a microphone error let a bunch of reporters hear the translated version of a private conversation between Obama and Sarkozy
23:41:11 <Vorpal> elliott: I think you might need to poke some addresses and such from the ACPI byte code. And then I guess some core parts of the OS will need it.
23:41:15 <pikhq_> I'm pretty sure that most of what drivers actually need is access to inb/outb analogues and RAM access.
23:41:24 <pikhq_> *And* that can generally be abstracted over.
23:41:31 <ais523> pretty high-profile for a microphone error
23:41:51 <pikhq_> You don't really need machine code access for that. More like limited peek/poke.
23:41:54 <elliott> Vorpal: Poking address =/= embedding arbitrary machine code.
23:41:54 <ais523> hmm, I'm still recoiling from the YouTube commenter who asked how you edited the uploader comments (on someone else's video)
23:41:55 <Vorpal> ais523: did they say anything interesting?
23:42:03 <elliott> But yeah, what pikhq_ said; sections of RAM + ports.
23:42:11 <ais523> Vorpal: yes, they insulted the prime minister of Israel
23:42:18 <ais523> or at least Sarkozy did; Obama's response was ambiguous
23:42:54 <ais523> according to the reports
23:42:58 <ais523> perhaps the translators made the whole thing up
23:43:06 <ais523> but I imagine they'd be in a bunch of trouble if they did
23:43:12 <elliott> 'I can't stand him any more,' said Mr. Sarkozy of Israeli Prime Minister Benjamin Netanyahu. 'He's a liar.' Mr. Obama replied: 'You're sick of him. I have to deal with him every day!'
23:44:07 <Vorpal> elliott: well the driver for a virtual machine would need to run a few instructions, at least if it was to use hardware virtualisation
23:44:12 <Vorpal> hm that is an interesting issue I guess
23:44:31 <elliott> How do graphics drivers for VMs work, anyway
23:44:53 <ais523> elliott: Obama's response is two neutral statements; there's an implication but it isn't stated
23:45:14 <olsner> besides ports and RAM, you'll need some kind of irq routing somewhere
23:45:28 <ais523> and I've played a bunch too much nomic, and watched a bunch too much politics, to necessarily infer anything at all into a statement
23:45:50 <pikhq_> ais523: Israel will, of course, go apeshit.
23:45:53 <ais523> elliott: I'm guessing memory-mapped, but not sure
23:46:03 <pikhq_> And near as I can tell Israel has more control over US politics than US citizens do.
23:50:42 <elliott> olsner: I don't get what you mean
23:52:32 -!- augur has joined.
23:53:53 <elliott> I should probably figure out what my FRP model actually looks like.
23:53:59 <olsner> just that some magic is required to either figure out which irq each devices uses, or to decide which irqs they should use and store it wherever that goes
23:54:20 <elliott> olsner: that's not related to what enhanced access driver code needs, though
23:54:24 <olsner> besides io ports and memory access to devices, drivers hook into that
23:54:36 <olsner> no, I was just talking about hardware and drivers in general
23:55:06 <olsner> whatever enhanced access driver code is :)
23:55:26 <elliott> olsner: whatever (enhanced access) driver code needs
23:55:44 <elliott> (no such thing as a program, but anyway!)
23:56:25 <olsner> I should figure out how the whole irq business works some day
23:56:29 <elliott> ais523: come to think of it, @ should be available hosted on @, too
23:56:34 <ais523> elliott: isn't a program just a subroutine (in the general sense) that the user might want to invoke manually?
23:56:42 <ais523> elliott: right; it'd save the need to use a VM
23:56:52 <ais523> for something that you might feel the need to use a VM for
23:56:57 <elliott> ais523: bit pointless though: it'd literally look like a function call
23:57:06 <elliott> @ already has object-capability, so you don't need VMs at all
23:57:16 <ais523> well, it might work as a method of mitigating against unknown security bugs
23:57:30 <ais523> or just testing an @ interpreter meant to run on other platforms
23:57:31 <elliott> no, it'd /literally/ just look like a function call
23:57:43 <ais523> but it wouldn't /be/ a function call
23:57:53 <elliott> no, it would /be/ a function call
23:57:58 <elliott> <ais523> or just testing an @ interpreter meant to run on other platforms
23:58:02 <ais523> oh, that's a cheat-interp
23:58:04 <elliott> you'd need an emulator for that platform
23:58:10 <elliott> ais523: here's how you port @ to a platform:
23:58:21 <elliott> ais523: write something that passes control to it, giving it the hardware drivers it needs
23:58:50 <elliott> ais523: OK, you could write an @ machine yourself in @lang, but why? the host already has a much faster one
23:58:56 <ais523> elliott: don't you need to put something there capable of executing the code @ is made of?
23:58:57 <elliott> there's no security issues or anything in using it
23:59:07 <elliott> ais523: that's part of passing control
23:59:15 <ais523> elliott: for testing your @ machine in @lang, that you eventually intend to, say, compile into C for the purpose of running on a different OS?
23:59:37 <elliott> hahaha, implying you can compile @lang to C
23:59:49 <ais523> well, you can compile Haskell to C