--- Log opened Sun Mar 08 00:00:24 2009
--- Day changed Sun Mar 08 2009
00:00 < stepcut> mae: it's a ball that rolls around and gets bigger by picking up other things
00:00 < mae> heh
00:01 < stepcut> so far happstack has picked up HAppS, HSP, HStringTemplate, etc, and is looknig to suck up hyena, openid, and more
00:02 < mae> lol
00:02 < mae> wow that gets big
00:02 < mae> i don't wanna suck up everythign :)
00:02 < mae> everything *
00:02 < mae> at least not in core
00:02 < mae> maybe in happstack not in happstack-server etc
00:02 < stepcut> well, that stuff isn't in core, it just gets stuck on the outside :)
00:03 < mae> hehe
00:06 < stepcut> but, that is part of what makes the platform useful
00:06 < stepcut> a solid core, and a crapload of useful libraries
00:06 < mae> yeah
00:06 < mae> very true
00:07 < stepcut> mae: but, for some reason I don't understand, Haskell delivers on the resuability promise, so we can get that crapload of libraries by using existing stuff, instead of having to make everything ourselves
00:08 < mae> stepcut: yep, i think its because in general, there are way less leaky abstractions than in the oo world
00:08 < stepcut> yeah
00:09 < stepcut> that is good way of putting it
00:09 < mae> i got an email library i am using in production that works
00:09 < mae> pure haskell
00:09 < mae> but depends on a smarthost
00:09 < stepcut> there is also a certain level of flatness and uniformity. There's just functions, ADTs, and type classes mostly
00:09 < mae> stepcut: right
00:10 < mae> stepcut: also, weird affects of namespace clashes are practically impossible at runtime in haskell
00:10 < mae> in ruby, you can have some metaprogramming that gets kicked off in your lib that hoses your whole app
00:11 < stepcut> fun
00:11 < mae> very
00:11 < mae> so hey,
00:11 < mae> i tried to get urlt going
00:11 < mae> and i can't get scc to compile
00:11 < mae> 0.2
00:12 < stepcut> I think it is hard to explain why haskell works well, because there is no one thing that makes it work well. It's just a ton of little things done right that make for a better experience.
00:12 < stepcut> scc ?
00:12 < mae> streaming component combinators?
00:12  * stepcut is still lost
00:12 < mae> http://hackage.haskell.org/cgi-bin/hackage-scripts/package/scc-0.2
00:13 < mae> Control.Monad.Consumer is part of scc right?
00:13 < mae> this is in URLTH and SimpleSite
00:13 < stepcut> mae: no...
00:13 < mae> oh
00:14 < stepcut> one moment
00:14 < mae>     Could not find module `Control.Monad.Consumer':
00:14 < mae> mmm
00:15 < stepcut> http://www.n-heptane.com/nhlab/repos/haskell-consumer/
00:15 < stepcut> I should probably put that on hackage
00:15 < stepcut> :)
00:17 < mae> sheesh
00:17 < stepcut> sorry
00:17 < mae> hehe its ok
00:17 < mae> i was scratching my head
00:17 < mae> thats what prompted me to delve off into my own experiments
00:17 < stepcut> I figure that something like haskell-consumer must already be on hackage, I just haven't found it
00:18 < stepcut> it's basically a stream monad that supports finite (and probably infinite) streams
00:18 < stepcut> there are three functions, next, peek, poke
00:18 < mae> stepcut: ok well, let me know when your done with the facebook app, i would really like to get URLTH + happstack prototype in before april 4 :)
00:18 < stepcut> ok
00:19 < stepcut> this week will mostly be hacking on facebook stuff
00:19 < mae> main reason: i wanna use it in patch tag
00:19 < stepcut> heh
00:19 < mae> i'm sick and tired of the current way of things (scratch my own itch)
00:19 < stepcut> it's possible the project I am working on this week will use urlt, which means it will get better
00:19 < stepcut> the facebook module is improving
00:19 < mae> stepcut: is there any way to reduce the heavy-handedness of the TH approach?
00:19 < stepcut> heavy-handedness?
00:21 < mae> i just think if we can do it without TH, then we should :)
00:21 < thetallguy> why?
00:21 < mae> debugging code splices is more difficult for starters
00:22 < stepcut> you don't have to use the TH, you can write all your AsURL instances by hand, but then it is up to you to ensure that the, fromURL . toURL == id
00:22 < thetallguy> Hmm...
00:22 < mae> stepcut: right
00:22 < mae> stepcut: could be ensured with a test suite, no?
00:22 < mae> hehe
00:22 < stepcut> mae: yes, that is why I wanted to make the testsuite exported so that users could use it in their own applications
00:23 < stepcut> mae: the testsuite would export a quickcheck function for testing AsURL instances, which the end user could use to test their instances
00:24 < stepcut> mae: though, in practice, doing, $(deriveAsURL ''MyType), is supposed to be an ugly way of writing, data MyType = MyType deriving AsURL
00:25 < stepcut> meaning, that to the same degree that you normally don't care how 'deriving' does its magic, you should not care how, derivingAsURL does it magic.
00:25 < stepcut> and, if you want to make an instance by hand instead of deriving it, you can...
00:29 < stepcut> using the TH stuff let's you define a style for the URLs that is used on your site once, and then all the urls automatically follow that policy. It's such an 'programmatic' thing that it seems a shame not to do i programmitically ;)
00:34 < mae> :)
00:34 < mae> true
00:36 < mae> stepcut: can you get that lib up on hackage
00:36 < mae> I will start to use it in my stuff too
00:36 < mae> so i can improve it
00:36 < stepcut> haskell-conusmer?
00:36 < mae> yeah
00:36 < stepcut> ok, tomorrow
00:38 < mae> neat.
01:30 < mae> version bumped
01:30 < mae> we are now in 0.3 :)
01:33 < mae> stepcut: pushed the guestbook refactoring to components
01:33 < stepcut> mae: yay!
01:35 < mae> but that also breaks happstack command:
01:35 < mae> http://code.google.com/p/happstack/issues/detail?id=77
01:36 < stepcut> yay!
01:36 < mae> hehe
01:37 < mae> bbl
01:39 < h_buildbot> Build for ghc-6.8.3 failed. Check http://buildbot.happstack.com/ for details.
01:43 < h_buildbot> Build for ghc-6.10.1 failed. Check http://buildbot.happstack.com/ for details.
14:18 < Ninju> Hey guys. Anyone have any ideas on how I can fix this: "During interactive linking, GHCi couldn't find the following symbol: base_DataziTuple_Z166T_con_info or base_DataziTuple_Z166T_static_info". Still can't get past it. I've asked in #haskell but haven't had a response yet.
14:21 < stepcut> did you use --make ?
14:21 < stepcut> or sorry,
14:21 < stepcut> missed the ghci part
14:22 < stepcut> my guess is that you upgraded library A, and that library B depends on A, but was not upgraded
14:23 < Ninju> Any ideas on which library it will be, if not, how would I find out?
14:25 < stepcut> Ninju: dunno, you might try  removing all the .o and .hi files in the local project directory as a starting point
14:26 < Ninju> stepcut: There aren't any. My current project state is the result of running "happstack new project myproject". I thought all I had to do was run bin/run.sh (which won't actually work for me, so I'm using run-interactive).
16:52 < stepcut> mae:
16:52 < stepcut>  
16:52 < stepcut> <shapr> edwardk: We hung out with alexj [and lemmih], it was interesting.
16:52 < stepcut> <stepcut> shapr: did they have anything to say about happstack that can be repeated in public ?
16:52 < stepcut> <shapr> alexj thought happstack was great
16:52 < stepcut> <shapr> He was happy that happs didn't just roll over and die.
16:52 < stepcut>  
17:28 < gwern> there's something creepy about our interactions with alexj
17:29 < gwern> it's like he's some guru to whose presence only chosen ones can be admitted
17:29 < stepcut> gwern: heh
17:29 < gwern> to report of their brief utterances, who gnomic implications must be picked over and unpacked by us plebian mobs
17:30 < stepcut> :)
17:31 < gwern> (i mean, it's like - does alex just not use the internet? is he a wandering mennonite or something?)
17:33 < dino-> Some people just avoid some things, like IRC or email or whatever the hell the kids do now, twitbook or something.
17:33 < gwern> twitbook - I like that; I'll be stealing it :)
17:33 < dino-> heh
17:34 < gwern> but he seems to avoid online entirely - no irc, no email, no facebook, nada
17:34 < gwern> he must be terribly busy IRL, I suppose
17:39 < dino-> I'm trying to get set up with happs-tutorial today, from absolutely zero happs installed. And I'm having the happs-tutorial doesn't like 0.2.1 yet.
17:39 < dino-> What's my best way to attack this, do you think?
17:39 < dino-> I could dl the .tar.gz of all the prior happstack components and ./Setup them in by hand
17:40 < stepcut> dino-: but if you use the old happstack-tutorial you will learn it all wrong?
17:40 < dino-> The current tutorial is all wrong? Or will be imminently?
17:41 < stepcut> dino-: it's mostly right, but the ServerPartT stuff changed significantly
17:41 < dino-> between < 0.2.1 and now, you mean
17:42 < stepcut> dino-: instead of, dir "foo" [ dir "bar" $ baz ], you do, dir "foo" $ dir "bar" $ baz
17:42 < stepcut> and stuff like that
17:42 < stepcut> it broke between 0.1 and 0.2
17:42 < dino-> I could install the current happstack-* stuff with cabal install and then try to hack the happs-tutorial .cabal file
17:42 < stepcut> well, changed between 0.1 and 0.2
17:42 < dino-> mm, then .cabal file hack will not work by itself
22:16 < wchogg_> yay!  Looks like tutorial.happstack.com is updated to the new version
22:16 < rovar> nice
22:40 < chessguy> is there some server somewhere that allows people to create accounts and upload and run their own happs apps on it?
22:43 < rovar> slicehost.com :/
22:43 < rovar> you can borrow my server.. i don't use it much.
22:47 < chessguy> rovar, slicehost.com is yours?
23:05 < Abica> slicehost.com has cheap vps that you can host your own happs app on.
23:05 < Abica> That's what I'm doing anyway.
23:08 < Abica> wchogg_:  how do you know the tutorial has been updated to the new version?
23:09 < mae> i recommend linode
23:10 < Abica> For the price or the support?
23:10 < mae> both
23:10 < mae> good value
23:10 < Abica> You deploy on linux?
23:12 < mae> yes
23:12 < Abica> What distro?
23:14 < stepcut> wow, linode is cheap per MB of RAM
23:15 < Abica> Anybody tried deploying a happstack app on media temple?
23:16  * stepcut deploys on ubuntu hardy
23:17 < gwern> sure, but how much do they charge and what sla does ubuntu hardy offer?
23:23 < Abica> Has the happstack tutorial really been updated for 0.2?
23:23 < mae> stepcut: any bright ideas on how i can make extracting a list of data files easier for happstack templates
23:25 < mae> wchogg_: suggest adding happstack tutorial version at the footer of the page for future :)
23:25 < Abica> I take it that's a yes? :p
23:25 < mae> Abica: yeah it should be updated, the new multimaster section is there: http://tutorial.happstack.com/tutorial/multimaster
23:26 < Abica> Sweeeeet.
23:26 < stepcut> mae: what do you mean by extracting?
23:27 < stepcut> the happstack tutorial needs to use hscolour :)
23:28 < stepcut> and limit the number of characters per line to ~68
23:37 < mae> stepcut: i mean, remember how you talked about extracting the data file list from cabal, so that i wouldn't need to hand generate the list in two places
23:42 < stepcut> mae: yeah, somehow sdist knows how to find all the required files by loooking at the .cabal file, so there is probably a way for some other program to do that as well
23:42 < wchogg_> mae : Sure, I can add the version number in the future.  That's a good idea.
23:45 < wchogg_> stepcut : You mean the number of characters per line in the actual Haskell files?
23:45 < stepcut> wchogg_: I mean in the instructional text. The text width of a paragraph should be like, 68em or something
23:45 < stepcut> science says so :)
23:46 < wchogg_> stepcut : Well I'm not one to argue with Science.
23:48 < stepcut> http://www.surl.org/usabilitynews/72/columns.asp
23:48 < stepcut> 45-65 characters per line
23:53 < stepcut> wchogg_: and, also, this shows how to use hscolour to add syntax highlighting, http://hpaste.org/fastcgi/hpaste.fcgi/view?id=2226#a2227
23:54 < stepcut> wchogg_: that is the technique I use for my blog, e.g., http://nhlab.blogspot.com/2008/12/data-migration-with-happs-data.html
23:55 < stepcut> my blog is a typesetters nightmare in it's own right, but that is another matter ;)
--- Log closed Mon Mar 09 00:00:34 2009