00:52:16 <sshack> Hi, Is happstack 8 getting authentication/ generators/batteries? I'm investigating haskell frameworks comparing to django
01:15:08 <donri> sshack: duno what generators mean
01:15:25 <donri> there's already a happstack-authenticate package
01:15:43 <donri> a plugin architecture is planned for 8 which might be what you mean by batteries
01:16:02 <sshack> donri: They generate database models/basic scaffolding for get/post/json/xml views
01:16:30 <sshack> donri: Yeah. I'm basically asking if I have to build the basic infrastructure myself, or if I can get on building my application logic.
01:16:54 <sshack> IE: Do I have to build a user account system myself?
01:19:24 <donri> oh scaffolding
01:19:37 <sshack> Yeah.
01:19:45 <donri> stepcut is releasing some glue code tomorrow
01:19:49 <sshack> But I think you get the general idea.
01:20:14 <sshack> web dev is maturing, but there's still a shocking amount of basic infrastructure that everyone is having to write themselves.
01:20:19 <donri> but happstack isn't as RAD as django or yesod
01:20:21 <sshack> Even in rails/django land.
01:20:56 <sshack> Oh. I was under the impression that was the goal. and yesod didn't give me the impression of batteries included
01:21:06 <donri> i think happstack's strengths are type safety and flexibility/raw power
01:21:44 <donri> yea i don't think yesod has a django-esque concept of "reusable apps"
01:21:48 <donri> snap's snaplets might be closer to that
01:22:04 <sshack> Well if there's a good snap let ecosystem, sure.
01:22:17 <donri> but yesod probably has the most RAD features
01:22:54 <sshack> I'll take another look.
01:23:03 <sshack> Wasn't a fan of their tempting library though.
01:23:06 <donri> you might also look at clckwrks which is basically a CMS in happstack
01:23:27 <donri> and django is basically a CMS framework, so
01:25:01 <sshack> I saw clockworks.
01:25:11 <sshack> I liked that.
01:25:28 <sshack> Well, most web apps are basically cms with a few custom views tacked on.
01:27:06 <donri> well depends on the app :)
01:27:19 <sshack> Yes true.
01:28:01 <sshack> In my case, it's a CMS for user/account management and two or three api endpoints.
01:28:02 <donri> i think there are many apps where the web frontend is just that, a frontend
01:28:24 <sshack> I'm doing a fronted for some machine learning.
01:28:40 <donri> which is what i like happstack for; i don't have to build my whole app in terms of happstack
01:28:45 <sshack> So you can imagine I want to spend as much time on the M/business stuff as possible.
01:33:19 <donri> happstack-authenticate does user accounts i think
01:33:33 <donri> http://hackage.haskell.org/package/happstack-authenticate
01:35:03 <donri> not the best docs though ^_^
01:45:27 <sshack> Yeah.
01:45:31 <sshack> That's a start.
01:45:46 <sshack> Now you want an admin system, data view generator, etc, etc.
01:50:26 <donri> well there's reform which helps writing forms a bit
01:50:33 <donri> but nothing like the django admin
01:50:44 <donri> except maybe in clckwrks, duno
01:51:23 <sshack> Yeah. Seems like it could reach that state, but isn't there yet.
01:51:49 <sshack> I'm hopeful. The higher level you go, the more you can focus on creating value.
07:02:38 <mekeor> How do I make a (ServerPartT IO t) (which is the same as (ServerPart t)) out of an (IO t)?
07:05:10 <mekeor> Shouldn't liftIO work?
07:10:04 <mekeor> i am getting this "No instance for (Control.Monad.IO.Class.MonadIO (ServerPartT IO)) arising from a use of `liftIO'" error right now, when i try to compile my code which uses liftIO.
07:53:04 <mekeor> this issue seems quite old: <http://www.haskell.org/pipermail/web-devel/2010/000273.html>.
08:02:56 <mekeor> so, what's the problem here? why does it not work? why is there no such instance although i imported Happstack.Server?
08:29:34 <mekeor> is wikipedia mucking me about here <http://en.wikipedia.org/wiki/Kim_Ung-yong>?
08:38:04 <srhb`> mekeor: Yuh think :P
08:42:00 <levi> mekeor: Tried plain old 'lift'?
08:47:35 <mekeor> levi: doesn't work either.
08:47:55 <mekeor> (i get "No instance for (Control.Monad.Trans.Class.MonadTrans ServerPartT) arising from a use of `lift'".)
08:49:27 <mekeor> srhb: erm… actually i wanted to write that on #haskell-blah, but i mixed up the channels accidentally ;) :) :/
08:49:52 <levi> You must be missing some imports or something?
08:50:31 <levi> Those instances appear to be in Happstack.Server.Monads
08:51:28 <mekeor> levi: even if i import that explicitely, i get the same error.
08:52:26 <mekeor> levi: compare http://www.haskell.org/pipermail/web-devel/2010/000273.html .
08:52:42 <levi> That's odd indeed.
08:58:11 <mekeor> this is strange!
08:58:20 <mekeor> levi: i only get the error when i use GHCI!
08:58:26 <mekeor> but when i compile it, it works.
08:58:57 <levi> I don't think I've ever done any experimenting in ghci with happstack.
09:01:36 <levi> Maybe ghci wasn't recognizing some of the extensions for some reason.
09:01:58 <mekeor> anyway, it's totally fine now. finally, i can continue coding =)
09:02:18 <levi> Good deal.  And I'm going to get some sleep.
09:02:59 <mekeor> levi: good night :) sleep well. and: THANK you! :)
12:23:40 <luite> mekeor: that probably means that you have some package problems, ghci is loading incompatible versions
12:24:21 <luite> if you use cabal-dev and cabal-dev ghci instead of plain ghci, the problem should be fixed
12:24:42 <mekeor> ACTION doesn't even know what cabal-dev is.
12:25:21 <luite> it's a wrapper for cabal that builds a 'private' package database for the project you're working on
12:25:41 <mekeor> oh, ah. okay.
12:25:54 <luite> so you run cabal-dev install, and it installs the binary in ./cabal-dev/bin, and the packages also somewhere in ./cabal-dev
12:26:06 <mekeor> yeah.
12:26:15 <luite> and if you run cabal-dev ghci, it starts a ghci session with all the configured packages for your project, no conflicts
12:26:24 <mekeor> aah.
12:26:34 <mekeor> nice.
12:26:57 <mekeor> thanks again, luite :)
17:09:00 <stepkut> the style sheet for this pasteboard is almost as long as the haskell source code :p
17:11:42 <donri> \o/
17:21:38 <donri> stepkut: what did you use to write the styles?
17:21:41 <donri> plain css?
17:21:58 <stepkut> yes
17:30:53 <donri> mekeor: also try ghc-pkg list happstack-server and ghc-pkg list mtl
17:31:11 <donri> mekeor: likely you have more than one version installed of one of those packages
17:31:38 <mekeor> oh, yes. i have multiple versions of mtl.
17:31:58 <donri> and when you're just doing "ghci" there isn't enough data on what packages and versions you want so cabal gets confused
17:32:13 <mekeor> yup.
17:32:30 <stepkut> in ghci, :set -v, will usually tell you what is conflicting with what
17:34:03 <donri> cabal-dev ghci will load up ghci with the same packages and versions as cabal build will compile against, also
17:35:41 <mekeor> hm.
17:36:24 <mekeor> ACTION installs cabal-dev.
17:36:29 <donri> (currently cabal-dev only; future cabal-install will provide a "repl" command)
17:37:03 <mekeor> oO cool
17:39:24 <mekeor> donri: cabal-dev works totally fine. thanks. :)
17:40:57 <levi> mekeor: Thanks for bringing your problem up, so I could learn about cabal-dev ;)
17:41:26 <mekeor> :D
17:44:46 <mekeor> ACTION configured emacs to use cabal-dev ghci.
18:08:51 <mekeor> Where can I find more functions similar to dir and path?
18:09:23 <stepcut> mekeor: like what?
18:10:21 <stepcut> mekeor: http://www.happstack.com/docs/happstack-server-7.0.2/doc/html/happstack-server/Happstack-Server-Routing.html
18:10:22 <mekeor> i remember something like "withHost" or so but can't find it…
18:10:36 <mekeor> AH!
18:10:41 <mekeor> stepcut: thanks =)
18:11:01 <stepcut> if you do, :i dir, in ghci it will tell you that it comes from Happstack.Server.Routing
18:11:07 <stepcut> in case you need to find it again
18:11:17 <mekeor> stepcut: generally, what's the best way to look for something? where should i search? hoogle and hayoo aren't much helpful while looking for happstack-functions.
18:11:30 <mekeor> stepcut: nice.
18:11:52 <stepcut> good question.. for the docs on happstack.com, we generate the stuff that hoogle needs .. but hoogle is not actually installed yet
18:12:06 <stepcut> :-/
18:12:41 <mekeor> installed? it has to be installed?!
18:12:52 <stepcut> :)
18:13:06 <mekeor> seriously. ?!
18:13:31 <stepcut> if we want to run hoogle on our server.. then we would need to install it.. not sure what is confusing about that
18:14:25 <mekeor> but … ah. okay.
18:15:10 <mekeor> so, you don't want to make hoogle be able to search on happstack.com, but you'd install another hoogle which does.
18:15:12 <mekeor> i see. :)
18:15:53 <stepkut> yeah.. hoogle doesn't search other sites
18:16:10 <stepkut> it just searches a subset of packages that it downloads from hackage
18:16:18 <mekeor> is there an example of a project which uses hoogle for itself?
18:16:36 <mekeor> like happs wants to, i mean.
18:16:36 <stepkut> maybe we can get haskell.org/hoogle to index happstack somehow
18:16:48 <stepkut> dunno
18:16:57 <stepkut> we can be the first!
18:17:00 <mekeor> stepkut: well, hayoo indexes happstack (and much much more).
18:17:12 <mekeor> :D
18:17:33 <stepkut> would be nice if patch-tag ran hoogle, but it doesn't
18:17:40 <stepkut> but.. we would like to move to self-hosting anyway
18:17:54 <mekeor> hm. why?
18:17:58 <stepkut> but, first I must finish writing this application that no one will ever use
18:18:11 <mekeor> happstack?
18:18:19 <mekeor> hehehehe :D
18:18:22 <stepkut> a paste board example
18:18:32 <mekeor> ah.
18:18:36 <mekeor> for clckwrks?
18:18:46 <mekeor> or happstack?
18:18:54 <stepkut> for happstack-foundation
18:19:16 <stepkut> which is just a fancy name for happstack-server + web-routes + HSP + reform + acid-state
18:19:21 <stepkut> and a bit of glue code
18:19:28 <mekeor> ah.
18:21:06 <mekeor> whom belongs http://happs.org/ and why is it out-of-date?
18:21:47 <stepkut> alex jacobson -- the guy who started happs, which later became happstack
18:22:00 <stepkut> it is out of date because he is trying to run 8 businesses at once or something silly
18:22:16 <mekeor> oh.
18:22:34 <stepkut> I'll be meeting with him later this month hopefully, on the way to burning man and/or at burning man
18:23:40 <mekeor> will you talk about happs?
18:24:23 <stepkut> yes
18:25:11 <stepkut> ideas for the backend. How to scale well when overloaded, etc
18:25:22 <stepkut> or.. who knows what
18:25:41 <mekeor> are you going to hit him because he's a stupid bastard?
18:25:46 <stepkut> nope
18:26:01 <mekeor> is that true anyway?
18:26:08 <mekeor> :D
18:26:09 <stepkut> no
18:26:30 <mekeor> okay. i won't disturb you anymore.
18:43:19 <stepcut> making a screencast, bbiab.
21:10:24 <stepcut> bah.
21:24:47 <donri> beh?
21:25:02 <luite> booh
21:26:23 <stepcut> my screencast is two hours
21:26:27 <donri> stepcut: what backend btw? you mean the server?
21:26:31 <stepcut> two hours of awesome.. but
21:26:34 <donri> :D
21:26:49 <donri> you could make a tldr version and publish both
21:26:50 <stepcut> the happstack equivalent to warp
21:27:15 <stepcut> this is the tldr version.. I could easily do a 5 day seminar
21:27:16 <levi> A two hour screencast?
21:27:22 <stepcut> levi: yeah
21:27:24 <levi> Wow.
21:27:26 <donri> haha
21:27:33 <levi> Hopefully it can be edited into segments?
21:27:33 <stepcut> on making a paste board :-/
21:28:03 <stepcut> maybe I can play it back at 125% the original speed :)
21:28:13 <stepcut> cut it down to 1.5 hours
21:28:18 <donri> :D
21:29:00 <stepcut> somehow I have to smash this down into 45 minutes
21:29:07 <levi> Well, I am curious to see it, but 2 hours makes me consider going to the movies instead. ;)
21:29:14 <stepcut> :)
21:29:21 <stepcut> I still have to add the visual special effects
21:30:56 <levi> I'll bet that some creative editing could cut down on the time significantly, even without losing any content.
21:41:04 <stepkut> perhaps
21:41:18 <stepkut> I'd be happy to send the file to you if you want to try :)
21:49:20 <stepcut> unfortunately, I had to record it at 800x600. I could not get a nice resolution like 720p.. I hope it looks ok on youtube.
21:49:24 <stepcut> cuz.. I am not recording it again :)
22:54:35 <levi> Heh.  What did you use to record?
22:57:01 <levi> Looks like the little recording scripts I set up use 800x600 as well. They do lossless recording, though, so the resulting videos are really sharp.
23:03:02 <stepcut> QuickTime
23:05:26 <levi> Ah, on a mac. I miss using macs.
23:05:38 <stepcut> :)
23:37:21 <donri> stepcut: happstack-foundation is a libary
23:38:22 <donri> stepcut: also need to upload new web-routes-th
23:44:06 <stepkut> bah. need scoutess now :)
23:44:28 <donri> or cabal-dev ;)