00:14:41 <donri> all stepcuts present and accounted for
00:17:08 <tazjin> ACTION upvotes
00:31:35 <stepkut> :)
00:42:05 <donri> if only each stepcut could also write code independently
00:42:31 <donri> re gsoc for "distributed dcoutts"
00:46:54 <tazjin> He just needs to learn Dvorak (the left and right editions) and special monitor glasses which allow him to see a different screen on each eye
00:46:55 <stepcut> :)
00:46:57 <tazjin> oh, and two keyboards of course
00:47:25 <stepcut> ACTION only knows two-hand Dvorak :-/
00:51:09 <tazjin> Heh, "only"
00:51:25 <tazjin> I'm scared to learn Dvorak because I'm afraid it might mess with my ability to use a default qwerty keyboard
00:51:26 <donri> i know only one and a half hand qwerty
07:30:31 <donri> juhp: "synthea"
07:36:49 <juhp> donri, thanks
07:37:28 <juhp> synthea: help
07:37:51 <juhp> I guess it is a quiet bot :)
07:40:31 <donri> #hello
07:41:19 <donri> #dice 5d6
07:46:41 <juhp> #help
10:13:40 <donri> stepcut: didn't read it all yet but maybe this is interesting/relevant to web-routes? http://fmapfixreturn.wordpress.com/2008/07/09/comonads-in-everyday-life/
11:22:37 <donri> hm does sendfile work over https?
14:02:57 <stepcut> donri: no
14:05:02 <stepcut> donri: that is, sendfile does not work over https.. i think you would need to create an encrypted version of the file on thedisk for that to work, and it makes to sense to write the file back to disk before sending it over the network
14:10:54 <stepcut>  regarding the comonad menus.. I wondered that as well when I first read it, but I don't remember the answer now :)
14:13:13 <stepcut> I think I have a copy of the code on my hard drive, maybe I wrote down some notes
14:48:01 <tazjin> It could export a ToMessage instance for ElmSource a, so you could use the QuasiQuoter directly with toResponse
14:48:10 <stepkut> fun!
16:48:37 <alpounet> stepkut, what are you working on? :)
16:49:02 <stepkut> alpounet: getting the source code to happstack.com released
16:51:26 <alpounet> hah cool
16:52:53 <stepcut> it's harder than it sounds :)
16:53:14 <stepcut> then I'll be doing some investigation into acid-state, happstack-widgets, and other fun stuff
16:55:52 <alpounet> stepcut, are you defining widgets as some html code, some js code and some css code ?
16:56:19 <stepcut> html + js + css + static assets (.pngs, etc)
16:56:25 <alpounet> oh right assets too
16:58:33 <alpounet> stepcut, oh by the way, what's up re. the backend (web-server) investigation you were planning on doing?
17:00:26 <stepcut> alpounet: which part? You mean a fast, pipes-based http backend with significants evidence of correctness?
17:01:03 <alpounet> yeah
17:01:09 <alpounet> faster*, at least
17:01:44 <stepcut> all in good time!
17:02:19 <stepcut> things have been quite because I am working on stuff, not because nothing is going on :)
17:02:47 <stepcut> but, hopefully next week there should be more visible activity and more ways for people to be involved
17:03:09 <alpounet> cool
17:07:54 <alpounet> stepcut, warp is the current fastest backend right?
17:08:09 <stepcut> alpounet: no acme-http is
17:08:27 <alpounet> well, it kind of doesn't implement all the HTTP protocol, right? :P
17:08:53 <stepcut> alpounet: warp was the fastest at one point -- it has not been benchmarked much since all the changes to conduits, but it seems like it might be slower than it used to be
17:09:47 <alpounet> heh ok
17:10:10 <stepcut> alpounet: not all.. but quite a bit. If you check out the Types, you will see that the Request and Response types are there and actually pretty useful, http://hackage.haskell.org/packages/archive/acme-http/0.2.1/doc/html/Acme-Types.html
17:10:37 <stepcut> and I believe http pipelining is implemented
17:10:41 <alpounet> yeah
17:10:46 <stepcut> but not chunk support probably
17:11:39 <alpounet> so you'll take this, pipes-ize it and make improvements to get the new backend?
17:12:12 <stepcut> perhaps
17:14:14 <stepcut> I have some pipes-core based implementations already as well
17:14:31 <stepcut> but none of the really do much to prove that they are following the spec
17:26:07 <alpounet> ok
17:26:23 <alpounet> it'll come I guess
17:26:32 <stepcut> yeah
17:26:48 <stepcut> I need to wrap up this current project, because it is clogging up the works
17:39:24 <alpounet> yeah
18:26:46 <donri> stepcut: btw don't you think we should have "ok" call toResponse in happstack 8?
18:27:04 <donri> i don't think i ever write "ok" without toResponse
18:31:32 <donri> alpounet: +spdy and websocket!
19:01:29 <alpounet> donri, uh?
19:01:32 <alpounet> for the backend?
19:31:17 <balor> Can I set the content type of a Response to be text/json?
20:36:58 <donri> alpounet: yep
20:37:06 <donri> for the server
20:37:42 <donri> balor: sure. usually you'd write a ToMessage instance for some type that represents JSON. otherwise you can use setHeader/setHeaderM "Content-Type"
20:43:32 <balor> donri, thanks
22:12:40 <stepkut> donri: in Happstack 8, ok will likely have the type, ok :: (Happstack m) => m ()
22:13:05 <stepkut> re: JSON, another option is to use toResponseBS
22:13:07 <donri> i can see how that would be consistent, but would it be more useful?
22:13:33 <stepkut> not sure
22:13:35 <donri> then you would need, do ok; return (toResponse x)
22:13:39 <donri> i'm proposing: ok x
22:13:56 <stepkut> I have started writing, do ok () ; foo, in some of my current code though for some reason
22:14:06 <donri> ok :)
22:14:31 <stepkut> there are use cases where you might want to set the response code but not call toResponse
22:15:01 <donri> but less common IME, and we still have setResponseCode or whatever that one is called
22:15:30 <stepkut> for example, if you have a web api that returns XML or Json, you might make a custom response type, data ApiResponse = ...
22:15:35 <stepkut> and all your handlers return that type
22:16:02 <stepkut> then something higher level looks at the accept headers and decides if the response should be sent as json, html, etc
22:16:22 <stepkut> personally, I don't like the ToMessage / toResponse class much..
22:16:29 <stepkut> so, if we could figure out a better solution that would be nice
22:16:36 <donri> sure
22:16:39 <stepkut> but.. having ok also call toResponse is nice too
22:16:51 <stepkut> or, at least, nice sometimes
22:16:54 <stepkut> so, worth considering
22:17:34 <donri> what i really want would be to somehow have that called for you, but mplus/mconcat require each handler to have the same return type...
22:19:03 <donri> i'm still unsure if Response itself makes sense in face of things like websocket and if-range...?
22:19:38 <stepkut> http://code.google.com/p/happstack/issues/detail?id=213
22:19:52 <donri> :)
22:20:12 <stepkut> i am actually going to close some of these bugs soon
22:20:38 <stepkut> I'm working a lot, just not visibly at the moment
22:20:41 <donri> site code release close now?
22:21:04 <stepkut> yup
22:21:33 <stepkut> it's hard than it sounds :p
22:22:12 <stepkut> harder
22:22:27 <donri> i trust you :)
22:22:27 <luite> why is it so hard?
22:23:55 <donri> it's full of hardcoded passwords!
22:25:45 <luite> does it have all the linkedin passwords? :p
22:26:28 <donri> :D
22:35:20 <stepkut> :)
22:36:50 <stepkut> luite: well, I originally wrote the site in yesod to get it up quickly, but porting it to happstack has been taking forever ;)
22:37:03 <donri> :)