Experimental IRC log happs-2008-08-20

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.

13:54:39<MarcWeber>How does happs multimaster distribute state to different machines?
13:55:04<MarcWeber>Is there a setting I can tell it to duplicate the data so that one machine can be removed without data loss?
14:01:19<Lemmih>Multimaster puts the entire state on all machines.
14:26:36<MarcWeber>Lemmih: So it's not yet supported to have more state than each machine has RAM?
14:27:04<MarcWeber>(of course it is, but swapping will take place ?)
14:47:13<Lemmih>MarcWeber: Not yet.
15:05:27<MarcWeber>Lemmih: Is there any draft how this should be done?
15:06:21<Lemmih>I think you need HAppS-State from darcs.
15:06:47<Lemmih>There should be a multimaster example in the repo.
15:08:43<MarcWeber>I've ran the chat example succesfully.
15:08:53<MarcWeber>But I don't understand multimaster limitations yet.
15:09:52<MarcWeber>Eg will it be possible to make one map grow bigger than RAM ? Or do I have to split it by myself and tell multimaster to put the first half on machine A,B and the second half on machines C,D (B,D beeing backup machines)
15:11:03<Lemmih>The multimaster stuff is very simple. The entire state is just duplicated on each machine.
15:11:33<MarcWeber>But isn't the goal to write an application such as ebay?
15:11:45<MarcWeber>Will the whole state of ebay fit into RAM of a single machine?
15:11:51<Lemmih>Yes, and we're working on sharding support.
15:12:03<MarcWeber>So what exactly will be sharded?
15:13:11<Lemmih>The state will be partitioned and distributed over multiple machines. However, it is not done yet.
15:13:49<MarcWeber>Example: having
15:13:50<MarcWeber>newtype MyState = MyState [Int] deriving (Typeable)
15:13:50<MarcWeber>$(deriveSerialize ''MyState)
15:14:14<MarcWeber>Will MyState be sharded as well?
15:14:36<MarcWeber>Or can I only define another MyState2 and make HAppS put MyState2 on another machine than the first one?
15:14:39<Lemmih>No, sharding cannot be completely automated.
15:15:10<Lemmih>No, all nodes will have the same state structure.
15:16:27<Lemmih>Partitioning will be done by hashing the state and the events.
15:17:13<Lemmih>So, users with even ids on one server, odd ids on another.
15:17:39<Lemmih>'lookupUserById' will be hashed by the id and sent to the right server.
15:18:23<Lemmih>However, none of this is working yet.
15:22:13<MarcWeber>I've continued working on an IxSet replacement. I can insert, update and delete tuples/ record sets now. (No querying is supperted though). Serialization should be fine as well..
15:23:04<Lemmih>A typed IxSet replacement?
15:23:24<MarcWeber>yes
15:23:58<MarcWeber>An example (the data does'nt fit the generated code here) http://rafb.net/p/O9S7X698.html
15:24:32<MarcWeber>Unfortunately it ends up in coding a lot of template haskell ..
15:24:55<MarcWeber>line 71 shows a database which contains some tables etc..
15:25:12<MarcWeber>arbitrary Data.Map indexing is (will :-) be supported..
15:26:29<MarcWeber>Anyway it's close to useless without a query language
15:27:05<MarcWeber>But I'm not sure how this one DB can be sharded automatically by HAppS-State
15:28:59<Lemmih>The database will have to be specially designed for sharding.
15:29:24<Lemmih>It basically has to be a hash table.
16:46:06<guenni>hello
16:50:30<Lemmih>Hiya.
20:07:34<chr1s>Lemmih: ping
20:07:57<chr1s>I noticed some encoding problems in our application
20:08:23<chr1s>so I found out that I had to set the content-type to iso-8951-1
20:10:08<chr1s>see also: http://www.intertwingly.net/blog/2004/04/15/Character-Encoding-and-HTML-Forms
20:10:56<chr1s>I saw that hpaste suffers from the same problem, so it might be interesting to add this to the docs.
20:11:51<chr1s>as far as I can tell, it's currently not possible to correctly read data posted in utf8, right?
20:14:00<stepcut>chr1s: It is possible
20:14:18<stepcut>chr1s: but, happs does not support it as well as it should
20:14:27<chr1s>stepcut: right.
20:15:16<chr1s>we could for example convert the bytestring into a [Word8] or something and then use utf8-string
20:15:38<stepcut>utf8-string can work with bytestrings directly I believe
20:15:46<stepcut>but, yes
20:15:48<chr1s>ah, that's even better.
20:15:50<stepcut>that is the basica approach
20:16:05<stepcut>also, you need to be sure to set the page encoding in the meta-equiv tag
20:16:22<chr1s>exactly.
20:16:28<stepcut>one moment.
20:16:57<chr1s>what I currently do is setting it to iso-89blah, and it works perfectly.
20:17:32<chr1s>our app is targetting Dutch-speaking people, so as for now, it's good enough.
20:17:44<chr1s>stepcut: I did some cool things with formlets by the way.
20:17:50<stepcut>cool
20:18:09<chr1s>I've been working on a massInput that takes a |Form a| and converts it into |Form [a]|
20:18:15<stepcut>I have not been able to hack on formlets for a while, but it will be important again soon
20:18:29<stepcut>cool
20:18:38<chr1s>and - what I like the most - an InlineEdit component.
20:18:49<stepcut>:)
20:19:58<chr1s>it takes a Form a, an (a -> Html) and it will produce some Html, when you click on it the form is shown, and when you then click "OK", the result is sent to the server and the html is updated.
20:21:49<stepcut>cool
20:22:47<chr1s>yes, it's a lot of fun.
20:23:04<chr1s>I also found some interesting papers I think you might find interesting as well:
20:23:53<stepcut>regarding encoding, you can also use this wrapper to set the http headers,
20:23:54<stepcut>doHtml :: Response -> Response
20:23:54<stepcut>doHtml res =
20:23:57<stepcut> setHeader "Content-Type" "text/html; charset=UTF-8" $
20:24:01<stepcut> setHeader "Content-Length" (show $ L.length (rsBody res)) $
20:24:04<stepcut> res
20:24:04<stepcut>
20:24:14<stepcut>ACTION likes papers
20:24:46<chr1s>http://www.st.cs.ru.nl/papers/2007/plar2007-ICFP07-iTasks.pdf
20:25:10<chr1s>that's about iTasks, a workflow management system written in Clean
20:25:25<chr1s>Clean is a language very much like Haskell, developed in Nijmegen.
20:25:38<stepcut>ACTION learned clean before haskell
20:25:44<chr1s>nice!
20:25:52<chr1s>http://www.st.cs.ru.nl/papers/2006/plar2006-FLOPS06-iDataForTheWeb.pdf
20:25:55<stepcut>I also read about nice, but never used it.
20:26:15<chr1s>haha, I mean: nice that you know it.
20:26:33<chr1s>the iData paper I found a bit less interesting, but still interesting.
20:26:41<stepcut>cool
20:26:55<chr1s>and this one I really liked as well: http://yav.purely-functional.net/publications/static_apis.pdf
20:30:19<chr1s>let me know if you find any cool papers, I'd be very interested.
20:37:35<stepcut>i will
21:27:30<MarcWeber>Is anyone familiar with polyparse ?
21:27:47<MarcWeber>I've some trouble with HaXml
21:28:49<stepcut>not I
21:30:10<chr1s>me neither.
21:57:03<MarcWeber>I've found the culprit.. : bracket
21:58:05<stepcut>:)

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