13:28:44 <Igloo> stepcut: If a file is uploaded to a happs site, before defaultInputIter works on it, is it in memory or on disk?
18:46:52 <stepcut> Igloo: neither. The data is not read from the socket until the worker Iter thing starts doing its business. So the socket will block and the client will wait to send more data
18:49:21 <Igloo> stepkut: Ah, I see. My base64 patch has a problem then: Currently it'll read the whole input into memory. But the annoying thing is that base64-bytestring uses strict bytestrings, so just switching to teh lenient decoder won't fix it
18:49:53 <Igloo> I think I'll mail bos about that
19:27:43 <thetallguy> web routes th broke my code
19:28:01 <stepcut> sweet!
19:28:05 <thetallguy> not
19:28:16 <stepcut> the darcs version or the version on hackage?
19:28:22 <thetallguy> I am saying bad things about the maintainer in his abscence....
19:28:41 <thetallguy> uhh, the version that just got updated in the seereason repo.
19:29:00 <stepcut> are the generated urls CamelCase or not-camel-case
19:29:14 <thetallguy> 0.21.1-
19:29:16 <thetallguy> no
19:29:17 <thetallguy> t
19:29:23 <thetallguy> well
19:29:37 <thetallguy> they used to look like my camel case haskell terms
19:29:52 <thetallguy> now they are all lower case with dashes in them.
19:30:24 <thetallguy> which wouldn't be a problem, except that it broke the routing
19:31:28 <thetallguy> so, is there a way to switch them back with this library?
19:31:49 <thetallguy> I'd rather track down this problem another day
19:32:19 <stepcut> derivePathInfo' id
19:32:35 <stepcut> in theory.. though that may be just as broken
19:33:15 <stepcut> do any routes work?
19:34:21 <thetallguy> only auth, which is outside of the webImpl call
19:34:38 <thetallguy> Well, the default route to home page works.
19:34:59 <thetallguy> I don't use RouteT
19:35:07 <thetallguy> I use the underlying call directly
19:35:22 <thetallguy> which the docs said was allowale, but not necessarily a good idea
19:35:27 <thetallguy> allowable
19:35:57 <thetallguy> so my first guess is that you didn't maintain that invariant, not being aware that anyone was silly enough to ignore your warning
19:36:09 <thetallguy> I will try the info'
19:36:31 <thetallguy> hackage really needs a release notes page
19:39:02 <thetallguy> derivePathInfo' i snot exported.
19:39:27 <stepcut> I suspect it is probably just a bug in the code that generates the PathInfo instances
19:39:52 <Qtr> http://hpaste.org/71840
19:39:53 <thetallguy> should we roll the package back?
19:40:00 <stepcut> it hasn't been uploaded
19:40:14 <Qtr> i need to set border to my table but i dont get how using happstack and blaze
19:40:21 <thetallguy> Hmm...
19:40:57 <stepcut> wasn't sure that it worked :)
19:42:28 <stepcut> Qtr: something like, H.table ! A.border 5 $ replicateM_ …, would be my first guess
19:42:44 <stepcut> no..
19:42:51 <thetallguy> someone pointed our happstack repository at darcs...
19:42:52 <stepcut> ACTION is not a big fan of blaze-html
19:44:42 <stepcut> let board = H.table (replicateM_ 3 $ H.tr $ replicateM_ 3 $ H.td "1") ! A.border 5 in
19:44:44 <stepcut> maybe that ?
19:45:34 <stepcut> actually..
19:45:40 <stepcut> ACTION has never really considered how ! works
19:46:08 <stepcut> I think my first guess was right (or kind of right)
19:48:41 <thetallguy> hmmm I use blaze
19:48:44 <thetallguy> what's the question?
19:49:26 <stepcut> thetallguy: see the hpaste
19:51:16 <thetallguy> isn't there a link to get the source without the lines?
19:51:25 <thetallguy> I can never find it
19:51:47 <stepcut> click on expand
19:51:51 <stepcut> and then there is a raw link
19:51:57 <stepcut> http://hpaste.org/raw/71840
19:54:53 <thetallguy> that code has too many bugs to deal with
19:56:58 <donri> huh, the hyphenated web-routes-th isn't released yet so how did you get that
19:57:18 <stepcut> donri: built from darcs
19:57:19 <Qtr> SO how do I resize a table ?
19:57:26 <Qtr> my table is way to small
19:57:36 <stepcut> Qtr: css ?
19:59:40 <Qtr> cant i do stuff without touching html and css?
19:59:45 <Qtr> So i am writing a webapp(tic tac toe, you vs com), i need input, is using <form> the best?
20:00:48 <donri> for tic-tac-toe probably not. you're probably going to need some JS to make it nice. maybe replace the table with a canvas. duno
20:01:17 <Qtr> how do i serve a html file instead from happs?
20:01:34 <Qtr> @donri: it doesnt have to be nice...
20:01:34 <lambdabot> Unknown command, try @list
20:01:39 <stepcut> donri :(
20:01:58 <donri> well you certainly could do it with tables and forms
20:02:02 <stepcut> Qtr: form is really your only choice for getting input from the user, unless you want to mess around with javascript
20:02:08 <Qtr> ok
20:02:20 <Qtr> javascript can do things html cant?
20:02:47 <stepcut> Qtr: if you want to serve a static html file from the disk you can use, http://www.happstack.com/docs/crashcourse/FileServing.html#fileserving
20:02:51 <donri> well with JS you could hook into click events and talk to the server without reloading the page
20:03:18 <stepcut> yeah, what donri said
20:03:24 <donri> or draw 2d graphics on a canvas
20:04:04 <donri> without JS you'd probably need to submit a form for every move in the game
20:04:11 <stepcut> right
20:04:17 <stepcut> which is a good way to start
20:04:30 <donri> and draw the board either with images or just text (O / X)
20:04:49 <donri> easiest might be text
20:05:06 <donri> then you could set the font-size for the table to something big, to make it look more like a game board
20:05:12 <stepcut> yeah
20:05:36 <donri> maybe font-family:monospace too, and draw empty cells with an &nbsp;
20:05:55 <donri> (that's a "non-breaking space"
20:05:56 <donri> )
20:06:09 <stepcut> donri: or use CSS to set the cell size?
20:06:27 <donri> maybe :)
20:06:40 <Qtr> i have a command line tictactoe working so just need to do the webapp
20:07:48 <donri> Qtr: then just render the command line version in a <pre/> ;)
20:11:15 <Qtr> <pre/> i dont know any html...
20:11:56 <thetallguy> Qtr: I annotated your hpaste with some sample code that I use
20:12:00 <Qtr> i can serve a .html page directly for happstack right?
20:13:05 <thetallguy> Qtr: the important point is to manage prefixes with multiple import lines
20:13:22 <thetallguy> so you don't have to use qualified infix ops, which are a pain
20:13:38 <thetallguy> Qtr: yes, you can serve a .html page directly.
20:14:05 <thetallguy> serveDirectory EnableBrowsing ["index.html"] "path/to/directory/on/disk"
20:14:12 <thetallguy> to serve a whole tree
20:15:11 <thetallguy> dir "flexbox.css" $ serveFile (asContentType "text/css") (static appConf </> "flexbox.css")
20:16:24 <thetallguy> the path given to dir (or dirs for longer paths) is what the url has, the second arg to serveFile is the local path on disk
20:18:37 <Qtr> thetallguy: well i was trying to figure out where each function came from thats why i prefixed them
20:39:03 <Qtr> why would you serve a .hs file?
20:40:13 <thetallguy> For downloading source?
20:41:20 <thetallguy> Qtr:  I thought I might be confused about the question.  I use :info in ghci for that
20:42:22 <thetallguy> Qtr: but my point still stands.  Blaze.Html packages have shifted thing around and there are multiple versions of html support...
20:43:13 <thetallguy> Qtr: so I just got aggressive with the import qualifications, anything thing that I thought of as an attribute got imported as HA, etc.
20:43:15 <Qtr> ok i get it
20:43:22 <Qtr> i will seve my source code i guess
20:43:38 <Qtr> so i managed to serve html
20:43:54 <Qtr> what i have no clue abotu is how to get info from a form
20:44:11 <thetallguy> the easiest way is to use formlets
20:44:11 <Qtr> like if i serve a html page, how do i get whats submitted?
20:44:18 <thetallguy> or one of it's derivatives
20:44:53 <thetallguy> if you want to do it by hand, you need to decode the body and use look or lookPairs or related functions
20:45:03 <Qtr> also , and maybes there isnt a normal way, but hwta is normal way to dev webapps? html and css is done by design-wizards and you actually serve html or do you use things like blaze or is it both(i guess)?
20:45:23 <thetallguy> but if you are doing straight forms, you might look at stepcut's recent release of reform
20:45:37 <thetallguy> which is branched off digestive-functors 0.2
20:46:33 <thetallguy> Qtr: I'm doing a web app and I'm not using formlets because I wanted to push the boundaries and it was just too hard to mix the two
20:46:34 <stepcut> reform would probably be a bit odd for tictactoe
20:47:02 <Qtr> so anyone use heroku? doesnt seem to support haskell
20:47:14 <thetallguy> but applicative functors are excellent for keeping things organized and I hope to get back in that direction
20:47:15 <Qtr> how do you deploy your apps online(for free)?
20:47:28 <thetallguy> currently in alpha, so not public
20:47:43 <thetallguy> but we are plannign a pay service for a targeted market.
20:50:14 <thetallguy> we use prgmr
21:04:34 <donri> hm deploying happstack apps for free might be tricky
21:04:55 <donri> i hear people have managed to deploy haskell on heroku by precompiling and uploading the binaries
21:05:03 <donri> and i think heroku has a free model
21:10:32 <Qtr> so if i compile my webapp to web.exe then thats all i need to upload?
21:10:46 <Qtr> if im using html files then how do i do?
21:14:45 <thetallguy> Qtr: you could embed the files
21:14:50 <donri> you'd compile it for linux, more likely
21:14:55 <thetallguy> ACTION looks for the package...
21:15:00 <donri> @hackage file-embed
21:15:00 <lambdabot> http://hackage.haskell.org/package/file-embed
21:16:00 <thetallguy> that's the one
21:16:37 <thetallguy> that would let you build a single executable with no external files
21:27:56 <Qtr> noone have an app they can share?
21:28:02 <Qtr> easiest to learn from code examples
21:28:08 <Qtr> especially using forms :)
21:28:19 <stepcut> Qtr: did you see the form section of the crash course?
21:28:23 <Qtr> so you can combine haskell and javascript easily?
21:28:27 <Qtr> stepcut: no
21:29:01 <stepcut> Qtr: this section covers doing it 'by hand', http://www.happstack.com/docs/crashcourse/RqData.html#rqdata
21:29:10 <stepcut> Qtr: this section covers reform, http://www.happstack.com/docs/crashcourse/Reform.html#reform
21:29:29 <donri> https://github.com/dag/happaste uses reform
21:30:58 <Qtr> happaste = hpaste?
21:31:52 <donri> no, it's just a toy app i wrote for learning and as a demo app for others
21:31:58 <donri> but yes a pastebin
21:34:23 <Qtr> when you havr things like > in a code example, is there a simple way of getting rid of all the >
21:34:25 <Qtr> ?
21:35:13 <donri> vip:s/^>//g
21:35:14 <donri> in vim ;)
21:35:48 <donri> but if you save it as .lhs you can run it as-is
21:36:05 <donri> which is sort of the whole point of keeping those > around
21:36:16 <donri> @google literate haskell
21:36:18 <lambdabot> http://www.haskell.org/haskellwiki/Literate_programming
21:36:18 <lambdabot> Title: Literate programming - HaskellWiki
21:37:11 <stepcut> Qtr: the code examples in the crash course have links to clean .hs versions
21:39:03 <Qtr> ok
21:39:29 <Qtr> so when i wrote code in .lhs style i have to do >space on each line...?
21:39:50 <stepcut> Qtr: on the lines that contain code
21:42:03 <Qtr> there is no javadoc style where you can doc functions with comments instead?
21:42:39 <Qtr> why not just use the {-- @param x whatitis --} ?
21:42:56 <donri> that is the default
21:42:59 <donri> -- | This is a haddock comment
21:43:44 <donri> http://www.haskell.org/haddock/doc/html/index.html
21:45:24 <stepcut> Qtr: literate haskell is typically used when you want to do things like write emails or latex documents that include code examples
21:45:54 <Qtr> ok
21:46:50 <Qtr> so can haddock clean a .lhs file and generate a .hs file? remove all the '>'?
21:48:54 <donri> haddock can read .lhs files directly
21:49:05 <stepcut> no… haddock is just used to generate documentation.. it can read a .lhs and extract the haddock documentation. but it will not output .hs files
21:49:06 <donri> why do you want to "clean" them like that?
21:49:29 <donri> there might be better ways to do whatever you want to do
22:08:07 <stepcut> happstack's evil twin brother, http://www.smilepolitely.com/images/uploads/arts/2009/09-Sep/24/hat_stack.jpg
22:12:48 <thetallguy> blender?
22:13:07 <stepcut> google image search
22:13:30 <thetallguy> I saw the grey background and expected a can to appear...
22:14:01 <thetallguy> but then I saw the textures on the hats and wood and was preprared to be mipressed with the time you had spent with blender
22:14:15 <thetallguy> mipressed being where me is impressed, of course
22:14:43 <stepcut> no time for blender.. only happstack
22:20:20 <donri> needs moar red fedoras
22:20:36 <donri> what did you render those clckwrks cans in though, stepcut?
22:20:44 <stepcut> donri: blender
22:20:58 <donri> \o/