15:01:38 <donri> how do you add markup inside a digestive-functors[-hsp] form?
15:01:59 <donri> specifically, around and between labels and inputs
17:11:01 <stepkut> Lemmih: have you ever tried backing up a running acid-state server? Seems like a bunch of files are locked, etc. Doesn't seem to go smoothly. Do i need to use some combination and createCheckpoint and createArchive to get the current state saved in a manner that is suitable for backup ? (Aka, nothing locked by the server or in the middle of being written out)
18:18:41 <stepkut> donri: you have to use mapView.. and it is not very pretty
18:18:52 <stepkut> donri: perhaps that will be easier in 0.3
18:19:44 <stepkut> or you can use view
18:20:05 <stepkut> label "Name"     ++> inputText Nothing <* br
18:20:09 <stepkut>   where
18:20:14 <stepkut>            br     = view [<br />]
18:20:42 <stepkut> that allows you to add a sibling
18:20:59 <stepkut> if you want to wrap the whole label ++> inputText in a <div> then you would need to use mapView
19:11:10 <donri> ohai chrisdone
19:12:55 <chrisdone> good evening
20:02:42 <alpounet> damn it
20:02:54 <alpounet> why is there only 24 hours a day
20:04:16 <mightybyte> tell me about it
20:05:57 <donri> wait, 24? why wasn't i told about this!
20:08:02 <stepcut> alpounet: i know.. it's a problem
20:22:15 <alpounet> that's pretty much driving me crazy
20:22:26 <alpounet> can't find the time to do all the stuffs i want to
20:22:29 <alpounet> this is so frustrating
20:22:43 <alpounet> i haven't been able to wrap up that local hackage code yet
20:33:02 <alpounet> stepcut, and there are so many discussions about everywhere in the haskell world that exhibits the need for scoutess
20:33:05 <alpounet> this is really frustrating man :p
20:33:32 <stepcut> alpounet: I know!
20:33:57 <stepcut> alpounet: I am really hope to wrap up the 7 release this weekend
20:34:13 <stepcut> alpounet: which means I will have more time to hack on scoutess
20:37:38 <alpounet> nice
20:38:04 <alpounet> i'll try to just be really, really, really organized (and full of coffee) so that i can finally push a working local hackage service tonight...
20:38:50 <stepcut> awesome!
20:39:16 <Lemmih> stepcut: createArchive, yes.
20:42:51 <stepcut> Lemmih: but. will that allow me to backup the most current state ? Or just the old, no-longered  needed state ?
20:50:06 <donri> man i shouldn't have come up with "scoutess". i don't like the name. xD
20:50:41 <stepcut> donri: we can still change it.. it's not on hackage yet :p
20:51:13 <donri> not sure i have a suggestion i like though, that fits perfectly. i like "duress" but it does more than "stress testing"...
20:51:41 <donri> not that it fits *worse* than "scoutess"
20:52:28 <donri> i'm also not quite sure what it's supposed to even *be*; where's the line between the new happstack website and this scoutess thing?
20:53:36 <donri> like, that it'll build haddocks
20:53:47 <alpounet> scoutess is not restricted to happstack testing :P
20:53:52 <alpounet> well, will not be
20:53:54 <donri> it's not *quite* simply a CI system like jenkins, not *quite* a project management system like trac
20:54:00 <donri> i know :)
20:55:22 <Lemmih> stepcut: Current state? There's no such thing.
20:55:23 <donri> i think we need a good definition of what it is or people will be too confused. it happens with vaguely defined projects.
20:59:23 <Lemmih> stepcut: createCheckpoint+createArchive will put the state as it was before the checkpoint in the Archive/ directory.
20:59:31 <Lemmih> That is as current as it gets.
21:04:06 <stepkut> Lemmih: I guess it would be nice to get the checkpoint into in the backup as well..
21:04:48 <stepkut> though.. in theory the checkpoint does not contain anything (or not much anyway?) that is not already in the Archive directory as log events
21:06:14 <stepkut> donri: scoutess is a separate daemon that collects and organizes information from a variety of sources and generates reports
21:06:50 <donri> but it also *creates* that information, e.g. by testing builds?
21:06:53 <stepkut> donri: those reports can then be published to a server, such as happstack.com, which can then provide additional capabalities for browsing the reports, irc notifications, etc
21:07:21 <stepkut> donri: yes.. it collects the information about whether the packages build, etc
21:07:28 <stepkut> donri: and also generates haddock documentation
21:08:02 <donri> how about some play on the concept of a "health check-up"
21:08:13 <donri> aka physical examination
21:08:52 <donri> mhm
21:08:52 <stepkut> possibly
21:08:59 <donri> what sort of sources does it report for?
21:09:02 <donri> besides builds
21:09:38 <stepkut> checks that packages build, that haddock docs build, that there are not newer dependencies on hackage, checks for posts on stackoverflow
21:10:28 <stepkut> builds and haddock docs are the top two to get working first
21:11:05 <donri> SO, huh? what's that do
21:11:07 <stepkut> it might also generate a happstack-platform package that has dependencies pinned to the latest build that succeeded
21:11:18 <stepkut> oh, it should also run tests when available
21:12:00 <stepkut> donri: that ?
21:12:01 <dsfox1> Lemmih: what is the recommended technique for getting a usable database on a remote machine in case your server machine explodes?  Without stopping the server.
21:12:24 <donri> stepkut: SO = stackoverflow
21:12:38 <donri> oh i suppose it watches a tag for new posts
21:12:44 <stepkut> donri: yes
21:13:02 <donri> ...or something with "health inspector", the kind that checks up on restaurants etc
21:13:16 <stepkut> donri: mostly because I couldn't figure out how to subscribe to tags and get any notification.. though I think I finally figured it out
21:14:59 <donri> ... or something with "secretary" / "administrationa assistant"
21:16:08 <Lemmih> dsfox1: Explodes?
21:16:24 <dsfox1> catches fire, something like that...
21:16:32 <alpounet> alright stepkut, we officially have a tar-powered directory copying function.
21:16:51 <donri> you used tar for that?
21:16:58 <Lemmih> dsfox1: Copy over the last checkpoint.
21:17:30 <dsfox1> I find that sometimes the latest checkpoint is an empty file, or an incomplete file
21:17:31 <donri> Lemmih: wasn't that what stepkut was talking about, that locks prevent that for running server?
21:17:42 <Lemmih> dsfox1: The problem can't be solved well without replication so there's no reason to solve it better than just copying over the checkpoint.
21:18:31 <Lemmih> donri: Copy over /a/ checkpoint, then.
21:19:18 <stepkut> Lemmih: right.. the trouble has been reliably copying over checkpoints
21:19:35 <Lemmih> This is like asking, "What if I get gangrene in my foot, how do I fix it without amputating too much of my leg?"
21:19:46 <dsfox1> sounds important!
21:20:12 <dsfox1> I'm sure we'd all love to not have gangrene... :)
21:21:16 <stepkut> Lemmih: before we can do a backup, we need tell the server to create a checkpoint, and then it we need to actually be able to read it. Just rsyncing the state directory does not work.. doing createArchive and then syncing the archive directory sounds more reliable..
21:22:16 <stepkut> when we try to rsync the state directory, a bunch of files can't be read, or are partial written, resulting in a corrupted backup
21:23:09 <donri> but archive is just outdated checkpoints methinks
21:23:37 <stepkut> donri: and log files.. but if you create a checkpoint, and then do a createArchive, you should get the old checkpoints and all the log files right up to that checkpoint you just created
21:24:03 <donri> but not including that checkpoint?
21:24:17 <stepkut> donri: no.. which is a bit of a problem, IMO.
21:24:24 <donri> exactly :)
21:25:09 <stepcut> specifically, it is a problem when you need to load old data into the current server and the data has changed requiring a migration
21:25:39 <Lemmih> stepcut: Do two checkpoints + archive?
21:25:44 <stepcut> you can migrate from an old checkpoint.. but if the types of the events have changed, then you are in trouble, because event methods are not versioned
21:26:06 <stepcut> Lemmih: yes.. that is the best work around that I can think of
21:26:07 <Lemmih> Tsk, this is so in the domain of user error.
21:26:15 <alpounet> stepcut, should 'addPackage' regenerate the package index?
21:26:26 <stepcut> Lemmih: I wonder if it is the best solution though..
21:26:47 <stepcut> alpounet: how else would the package index be updated ?
21:27:15 <stepcut> Lemmih: how do you know when a checkpoint file has been written? Will createCheckpoint return immediately? Or not until the createpoint is written out ?
21:27:19 <donri> i think the most fit definition i can think of for scoutess is "coordinator"
21:27:21 <donri> mhm
21:27:38 <Lemmih> stepcut: It won't return until the checkpoint has been successfully serialized.
21:27:55 <stepcut> donri: that implies to me that it is scheduling things though.. mostly it is finding out and reporting data
21:28:10 <alpounet> stepcut, dunno, we may want to generate it only once if we add a bunch of packages all at once
21:28:31 <stepcut> Lemmih: k. So it seems like the backup program should make a call to the server which does a double checkpoint and then a createArchive, and then when createArchive returns we can safely backup the archive directory ?
21:29:04 <stepcut> alpounet: right. so two steps. One imports the tarball into the right location, and then a second call that adds a bunch of packages ?
21:29:28 <stepcut> alpounet: what happens if the server crashes in between those two steps.. we want it to recover gracefully
21:29:40 <Lemmih> stepcut: Um, sure.
21:29:55 <stepcut> Lemmih: you got a better idea ?
21:30:06 <Lemmih> Don't allow your server to catch on fire?
21:30:14 <stepcut> Lemmih: not an option
21:30:23 <Lemmih> Write a replicating backend?
21:30:50 <stepcut> Lemmih: if we could assume that we would not need acid-state at all. We could just use STM + Cereal
21:31:12 <stepcut> Lemmih: someone should! Maybe for GSoC ?
21:31:32 <Lemmih> That would be great. Have any students in mind?
21:31:47 <stepcut> not offhand
21:31:54 <Lemmih> alpounet: Hey you! What are you doing this summer?
21:31:57 <stepcut> need to advertise and tryng to find someone qualified and interested
21:32:08 <stepcut> who is also a student
21:32:36 <alpounet> ACTION looks elsewhere
21:32:56 <alpounet> i want my August life to be work-free, sorry :P
21:33:01 <Lemmih> I might actually temporarily quit my job just to participate in GSoC.
21:34:16 <dsfox1> August the month or august as in majestic or awesome?
21:34:28 <alpounet> hah, the month
21:40:31 <alpounet> stepcut, for now i'll just regenerate the package index everytime we add a package
21:41:18 <stepcut> alpounet: ok
21:41:37 <alpounet> we'll see later for adding an improved version for adding many packages at once
21:45:07 <Lemmih> stepcut: STM+Cereal wouldn't guard against soft crashes.
21:46:07 <Lemmih> AcidState buys you protection against power outages and the likes. Protection against fire isn't in the same price class.
21:49:17 <alpounet> you need AcidState Premium for that
22:11:38 <donri> anyone care to ping these for me? ajax.aspnetcdn.com  ajax.googleapis.com  yui.yahooapis.com
22:15:27 <alpounet> donri, they all answer my ping requests
22:15:29 <Lemmih> All ok for me.
22:16:07 <Lemmih> 28ms, 36ms and 122ms respectively. Anyone faster? (:
22:16:51 <donri> interesting. where are you located?
22:17:23 <Lemmih> Zurich, 100 meters from the Google HQ.
22:17:50 <donri> I get 4.3ms, 13.6ms and 107ms respectively. i really prefer yui over jquery but the yahoo cdn is noticably slow this side of the atlantic. :(
22:17:59 <Lemmih> Darn it.
22:18:10 <donri> ACTION sweden
22:18:54 <Lemmih> I had 100 Mbit/s fiber for 220sek/month when I lived in Sweden. Those were the good days.
22:19:28 <donri> had something like that at some point. 100/10 for 350 sek now though, i think.
22:20:14 <donri> but what good is 100 mbit when all the servurs are in the mericas :(
22:20:36 <alpounet> stepcut, i has a local hackage yay
22:20:49 <donri> hackage2?
22:20:53 <alpounet> nope
22:20:57 <donri> yackage?
22:21:10 <alpounet> local hackage as in Scoutess.Service.LocalHackage.Core
22:21:53 <donri> let's just rename it "central intelligence" ^_^
22:30:39 <Lemmih> New HP:MOR chapter in 4.5 hours...
22:33:36 <donri> yea!1
22:33:44 <donri> fucking pacific time :D
22:53:47 <alpounet> stepcut, hah! everything seems to work like a charm
22:53:50 <alpounet> seem*
22:53:54 <alpounet> ACTION is happy
23:02:22 <stepcut> alpounet: awesome!
23:08:59 <alpounet> stepcut, pushed!
23:24:33 <stepkut> pulled!
23:25:12 <stepkut> if you used Tar.pack+Tar.write and Tar.read+Tar.unpack I think you could avoid creating a temporarly tar.tmp file
23:25:15 <stepkut> temporary
23:26:16 <alpounet> hmm, right
23:26:18 <alpounet> let me test this
23:38:57 <alpounet> hm