Experimental IRC log happs-2007-12-11

Available formats: content-negotiated html turtle (see SIOC for the vocabulary)

Back to channel and daily index: content-negotiated html turtle

These logs are provided as an experiment in indexing discussions using IRCHub.py, Irc2RDF.hs, and SIOC.

00:41:24<shapr[>Wassup?
00:42:15<BlueZeniX_>i just watched the presentation :P
00:43:06<shapr>Was it good?
00:43:30<BlueZeniX_>guess i will have to learn haskell now, so .. yea
00:43:36<BlueZeniX_>hehe
00:44:04<BlueZeniX_>i'm just wondering .. what if i run out of ram
00:44:30<shapr>That doesn't happen much in Haskell.
00:44:34<shapr>Mostly the garbage collection works.
00:44:49<BlueZeniX_>then how is all the data read ?!
00:45:20<shapr>The full answer to your question does not easily fit into IRC.
00:45:21<BlueZeniX_>i mean say i have 2 gigs of ram, and 3 gb of userdata
00:45:24<BlueZeniX_>ah
00:45:25<BlueZeniX_>:P
00:45:31<shapr>I'd suggest that you read "Yet Another Haskell Tutorial".
00:46:01<Saizan>BlueZeniX_: buy more ram :)
00:46:05<shapr>Right now, HAppS can't handle user state that's larger than main memory, but the (not yet done) sharding code will handle that.
00:46:15<shapr>@seen alexj
00:46:17<shapr>hmm
00:46:21<BlueZeniX_>ok sounds good
00:46:30<shapr>ACTION goes out for food
00:54:04<BlueZeniX_>ACTION reads the tutor
08:56:30<Sizur>i'm on http://bluebones.net/2007/09/simple-haskell-web-programming-with-happs/
08:56:50<Sizur>where is stdHTTP defined now?
09:05:33<Sizur>ok, i have errors compiling the minimal example, please help?
09:06:29<Sizur>http://hpaste.org/4380
09:10:44<Lemmih>Is that AllIn.hs?
09:12:37<BlueZeniX_>mornin' :)
09:18:31<Sizur>Lemmih: yeah that's AllIn.hs
09:18:44<Sizur>morning BlueZeniX_
09:20:25<Lemmih>Sizur: ask, modify and MonadReader should be specificly imported.
09:21:03<Sizur>Lemmih: i just pulled and installed HAppS from darcs.
09:21:51<Sizur>where should i import them from?
09:21:54<Lemmih>Sizur: The last stable release of HAppS is not supported anymore.
09:22:05<Sizur>eh, ok. what now?
09:22:30<Lemmih>Feel free to try HAppS-Server/HAppS-State instead.
09:23:33<Sizur>Lemmih: thanks. when do you guys think the latest will stabilize a little?
09:23:57<Sizur>i know changes are great. but i can never seem to learn happs
09:25:00<Lemmih>SimpleHTTP will soon be replaced. Otherwise, it is fairly stable.
09:25:20<Sizur>even better, i just want a working server without state. how can i do that with the latest?
09:25:43<Lemmih>Get HAppS-Server.
09:26:05<Sizur>ok, then what? how do i run implementation?
09:26:24<Sizur>the examples all use state
09:26:31<Lemmih>Check the documentation for SimpleHTTP.
09:27:00<Lemmih>Why do you want to use HAppS if you aren't interested in the state system?
09:27:22<Lemmih>The standard Haskell CGI package will do just as well.
09:27:22<Sizur>i cannot learn everything at once. need to start somewhere
09:29:32<Lemmih>main = simpleHTTP [method $ ok "Hello world"] -- Minimal example.
09:32:46<Sizur>http://hpaste.org/4381
09:33:09<Lemmih>Sizur: Did you install HAppS-State?
09:33:15<Sizur>yes
09:33:26<Lemmih>Are you sure?
09:33:46<Lemmih>Oh, right.
09:33:53<Lemmih>main = simpleHTTP [method GET $ ok "Hello world"] -- Minimal example.
09:35:39<Sizur>wouldn't it complain with a different message if i wouldn't have State installed? http://hpaste.org/4381?lines=true
09:36:21<Lemmih>Conf is from the old HAppS.
09:36:31<Lemmih>Uninstall HAppS if you have it.
09:36:53<Sizur>reinstalling from a pull doesnt work?
09:37:52<Lemmih>There is no HAppS anymore. The package is deprecated. HAppS-State and HAppS-Server are the future.
09:38:14<Lemmih>Uninstall HAppS, get HAppS-Server.
09:38:33<Sizur>ok, what do i import then? i'm sure i have HAppS-Server isntalled
09:39:25<Sizur>i installed all the partial repos as instructed
09:39:55<Lemmih>HAppS.Server.SimpleHTTP, but importing HAppS is fine if you uninstall the HAppS package.
09:40:16<Sizur>sorry to ask that, but how do i do that?
09:40:27<Lemmih>ghc-pkg unregister HAppS
09:41:13<Sizur>ghc-pkg: cannot find package HAppS
09:41:39<Lemmih>What repos did you pull from?
09:41:54<Sizur>http://hpaste.org/4381#a2
09:42:03<Sizur>http://happs.org/#cabal
09:44:08<Sizur>hold on! maybe i pulled from wrong one
09:44:10<Sizur>let me check
09:45:35<Sizur>http://happs.org/HAppS/HAppS-Server
09:45:59<Sizur>no, i pulled form the right one :/
09:46:25<Lemmih>Do you have multiple versions of GHC installed?
09:46:49<Sizur>i bootstrapped from 6.6, so the old one might be still there
09:47:09<Lemmih>And what's the type of HAppS.Server.SimpleHTTP.simpleHTTP?
09:47:34<Sizur>Prelude> :t HAppS.Server.SimpleHTTP.simpleHTTP
09:47:34<Sizur>HAppS.Server.SimpleHTTP.simpleHTTP :: [HAppS.Server.SimpleHTTP.ServerPart IO]
09:47:34<Sizur> -> HAppS.Server.HTTP.Types.Conf
09:47:34<Sizur> -> HAppS.State.Transaction.Handler st
09:47:46<Lemmih>With GHC-6.8.1?
09:47:51<Sizur>yeah
09:48:09<Sizur>let me reinstall Server again
09:48:22<Lemmih>http://happs.org/HAppS/HAppS-Server/src/HAppS/Server/SimpleHTTP.hs <- here simpleHTTP has the type [ServerPart IO] -> IO ThreadId
09:49:03<Lemmih>You have the old code for some reason.
09:49:34<Sizur>aahh :( i'm sorry... i think i did not install after building it...
09:49:35<Sizur>Prelude> :t HAppS.Server.SimpleHTTP.simpleHTTP
09:49:35<Sizur>HAppS.Server.SimpleHTTP.simpleHTTP :: [HAppS.Server.SimpleHTTP.ServerPart IO]
09:49:35<Sizur> -> IO GHC.Conc.ThreadId
09:49:47<Sizur>Lemmih: i'm very sorry for wasting your time
09:50:02<Lemmih>np.
09:50:21<Sizur>i promise to contribute to happs for that as soon as i get stronger with haskell
09:52:13<Sizur>bu i have another problem now: ./Main simply returns
09:52:22<Lemmih>Oh, right.
09:53:03<Lemmih>main = do simpleHTTP ...; getLine
09:53:45<Sizur>Lemmih: thanks! it's working
09:56:12<Sizur>where do you do the planning? so we can anticipate the changes
09:57:40<Lemmih>Some of it goes on the HAppS mailing list.
10:09:24<Sizur>if i use xhtml, the server assumes Transitional, how can i change it to Strict and renderHtml instead prettyHtml?
10:10:41<Lemmih>You have to use a newtype.
10:13:11<Sizur>aha, and implement ToMessage
10:28:03<Sizur>thanks, works perfectly
10:28:48<Lemmih>We would appreciate it if you could collect a bunch of small examples.
10:28:57<Sizur>yeah i was thinking the same
10:47:38<Sizur>where do you want me to submit my steps taken? the google.group?
10:48:31<Lemmih>Yeah, that would do.
11:13:33<Sizur>the installation is the worst part of it
11:13:46<Sizur>it will take 90% of my text :/
11:16:30<Lemmih>http://happs.org/#cabal is not good enough?
11:28:42<Sizur>no
11:29:10<Sizur>there are deps
11:29:20<Sizur>and and some of them are special
11:29:25<Sizur>one needs older version
11:29:30<Sizur>and the other does not install from hackage
11:29:43<Sizur>for a noob it's a nightmare
11:30:11<Sizur>oh, another needs a modified .cabal
11:30:14<Sizur>or two
11:30:39<hul>HTTP requires the older version; yes; I posted to the google.group recently
11:30:53<Sizur>HaXml does, not HTTP
11:46:20<Sizur>will Data.ByteString.Lazy.Char8 output utf-8 correctly? or i need to use utf8-string?
11:48:08<sjanssen>it will not
11:48:24<sjanssen>well, maybe
11:48:40<Sizur>hmm, if i use xhtm, it does output it
11:48:45<sjanssen>bytestring truncates all characters to 8 bits
11:49:09<Sizur>guess xhtml module escapes unicode
11:49:31<sjanssen>probably
12:10:37<Sizur>http://groups.google.com/group/HAppS/browse_thread/thread/64fa367288e37f72
12:12:42<markluffel>Sizur: nice write-up!
12:12:54<Sizur>markluffel: thanks
13:26:14<Saizan>Sizur: btw, not it's easier to just install Crypto from darcs, it will build as it is on 6.8.1 and without needing NewBinary
13:26:59<Sizur>Saizan: how can you know where each darc repo is?
13:27:43<Sizur>we need to centralize all the info
13:30:52<Saizan>they are usually on darcs.haskell.org or code.haskell.org
13:32:18<Saizan>and linked in the READMEs
13:32:37<Sizur>nice, i did not know
13:49:44<Saizan>in fact i'd prefer a collection of tagged darcs repo, rather then tarballs
13:49:47<Saizan>*than
13:52:14<Sizur>i'd prefer everything on one repo together with all the deps
13:52:42<Sizur>so one does not need to install anything
13:52:51<Sizur>pull, build, run
13:53:55<Saizan>that's insane
13:54:19<Saizan>packages are developed and maintained by different people
13:56:02<Sizur>if you depend on something you must make sure that correct version is being used
13:57:02<Sizur>if you test positively for one version, then why not push it into the repo?
13:58:24<Saizan>the hope is that depending on the interface is enough
13:58:54<Sizur>java learned lessons with maven
14:00:13<Lemmih>Well, the root of the problem is that we don't have a stable release.
14:00:39<sjanssen>Sizur: because then you've got to track all the changes upstream and manually merge them back in
14:00:40<Sizur>ok, that's very reasonable. and it's good so
14:01:16<Sizur>sjanssen: otherwise you require every user track the changes
14:03:14<Sizur>sjanssen: assume we have 50k happs users. how do you envision them to install happs on every machine that they use?
14:03:26<Sizur>catalyst has the same problem
14:04:24<sjanssen>Sizur: once there are 50k users, you work on getting happs into their package managers
14:04:59<Sizur>ok, that's a solution
14:06:06<Lemmih>There we go. Gone be the Crypto dependency.
14:09:20<Saizan>copypasting code to remove deps doesn't seem the best practice..
14:10:57<Saizan>well it's not the case :)
14:11:12<Lemmih>Buying the cow to get the eyelashes isn't too good either.
14:15:28<Saizan>heh, we need smaller packages then, but users will complain even more..
14:16:02<Lemmih>We need a decent crypto library. The current one is kinda shady.
14:16:15<Sizur>why do we need a crypto lib?
14:16:48<Lemmih>Crypto is inefficient, GPL'ed and has an awkward interface.
14:17:18<Sizur>what are we using cryptography for?
14:17:39<Lemmih>Just simple stuff like md5/sha1.
14:17:44<Sizur>ah
14:18:22<sjanssen>IMO, the best approach is a simple C binding
14:19:06<Lemmih>There. HAppS-Data depends on syb-with-class 0.4.
14:19:22<Lemmih>(The darcs version)
14:19:29<Igloo>What have you changed? Or is it just a version bump?
14:19:48<Lemmih>I just bumped the version.
14:19:52<Igloo>OK, cool
14:21:44<Lemmih>Hm, why are we using HTTP...
14:23:48<Lemmih>Facebook.hs is using it.
14:40:34<Sizur>we dont have any css combinators yet, right?
14:42:46<Lemmih>Nope.
14:42:55<Lemmih>We probably never will.
14:43:03<Sizur>http://zamez.org/source/factorcss/CSS.hs?rev=1.5&view=markup
14:47:09<Sizur>i did not mean in happs' sense. Just haskell, typesafe way of building css. like xhtml :)
15:14:24<shapr>@yow !
20:39:06<Sizur>if I understand dir ServerPart, then it should match any url that begins with the specified string as a path, correct?
20:39:46<Lemmih>Yeah.
20:41:28<Sizur>http://hpaste.org/4386?lines=true /en/bla gives me "No suitable handler found"
20:42:52<Lemmih>You must match the entire url.
20:43:40<Lemmih>See 'anyRequest'.
20:44:06<Sizur>thanks. so if I start with dir, I must end with dir?
20:44:55<Lemmih>'method' fails if the entire url isn't consumed.
20:45:08<Sizur>aha, thank you :)

Back to channel and daily index: content-negotiated html turtle