code logs -> 2012 -> Wed, 05 Sep 2012< code.20120904.log - code.20120906.log >
--- Log opened Wed Sep 05 00:00:07 2012
00:20 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
00:20 mode/#code [+o Vash] by ChanServ
00:25 You're now known as TheWatcher[T-2]
00:31 You're now known as TheWatcher[zZzZ]
00:44
<&Derakon>
http://en.wikipedia.org/wiki/File:Rubber_duck_assisting_with_debugging.jpg
00:45
<&Derakon>
Ahh, and now I know why TF said "quack" earlier.
00:45
<&Derakon>
(I was always more familiar with the term "teddy bear debugging" myself)
00:46
<~Vornicus>
http://thedailywtf.com/Articles/Classic-WTF-No-Quack.aspx
00:47
<&McMartin>
"I don't want you to pray to the duck. I want you to ASK THE DUCK YOUR QUESTION."
00:47 Kindamoody is now known as Kindamoody[zZz]
00:57
< Attilla>
heh
00:57 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
00:57 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
00:57 mode/#code [+o PinkFreud] by ChanServ
01:08
< ToxicFrog>
Derakon: yeah, "rubber duck debugging" is how I've always known it, although "kitten debugging" is more common in my household
01:08
<&McMartin>
Fishbowling
02:03
<&McMartin>
Hmm, my CSS frames code doesn't work on the Android browser.
02:10 * Derakon sighs, ponders https://bitbucket.org/derakon/pyrel/pull-request/4/prettied-up-the-item-descript ions-using
02:10
<&Derakon>
Someone wants to contribute to Pyrel! Great!
02:10
<&Derakon>
Problem: they didn't properly rebase their project before submitting the pull request, so there's a lot of outdated crap in there.
02:11
<&Derakon>
And they didn't take the hint when I pointed out some problems with the submission.
02:11
<&Derakon>
Also the new file is filled with tabs.
02:13 Attilla [Obsolete@Nightstar-1de302d0.as43234.net] has quit [Ping timeout: 121 seconds]
02:28
<&Derakon>
I did say I'd deal with his pull request today.
02:29
<&Derakon>
I'm just wondering if "dealing with it" should be telling him "please come back with it properly set up".
02:31
<&McMartin>
How big is it?
02:32
<&Derakon>
Seven files changed.
02:32
<&Derakon>
Though one of those is a merge conflict that didn't exist when he made the pull request.
02:32
<&Derakon>
https://bitbucket.org/derakon/pyrel/pull-request/4/prettied-up-the-item-descript ions-using
02:48
< gnolam>
Man. There's a /lot/ of LinkedIn phishing spam in my gmail spam folder.
02:49
< gnolam>
In fact, it alone makes up 25% of it.
02:49
<&Derakon>
People are desperate for employment.
02:49
<&Derakon>
Makes them easy marks.
03:16
< Rhamphoryncus>
static_assert(std::is_standard_layout<Matrix<1>::_data>::value, "Dur");
03:16
< Rhamphoryncus>
That's at global scope, immediately after Matrix is defined. _data is private though, which I can't access. Any way to fix that?
03:17
< Rhamphoryncus>
I suppose I could throw them in a random function
03:20
< Rhamphoryncus>
Oh wait, it's a redundant assertion. If Matrix is standard layout then all its contents must be standard layout
03:31
< Rhamphoryncus>
Now I'm trying to figure out if a std::array is layout compatible with a basic array, which'd let me pass an array of Matrix4 instances directly to opengl
03:33
< Rhamphoryncus>
Hrm. std::array is an aggregate, which requires no private or protected members
03:34
< Rhamphoryncus>
Which also implies there's no public members added in debug builds, as that would change the aggregate initializer
03:36
< Rhamphoryncus>
Nevermind, well-formed code should work even with the change
03:53
< Rhamphoryncus>
I'm going to use a basic array just to avoid the debate x_x
03:57
< Rhamphoryncus>
Done. Really hard. :P
04:00
< celticminstrel>
Pretty sure it is layout compatible.
04:18 * McMartin does another full run of the unit tests
04:18
<&McMartin>
Reworking unit test infrastructure is the worst. >_<
04:36
< Rhamphoryncus>
celticminstrel: yeah, the conclusion I got was "well, probably, seems bizarre not to.." but it's not worth the debate
05:59 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:43 Derakon is now known as Derakon[AFK]
06:48 Kindamoody[zZz] is now known as Kindamoody
08:45 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
09:03 Derakon[AFK] is now known as Derakon
09:04 Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
09:13 You're now known as TheWatcher
09:25 * TheWatcher starts to disentangle the complete arseup this student caused in the project repo
09:26
<&jerith>
This is why you /carefully select/ which students are allowed near your projects.
09:26
<@TheWatcher>
We did
09:26
< Rhamphoryncus>
a completely hosed repo? And it's not mine?!
09:26
<&jerith>
(And you choose the ones with nontrivial open source contributions.)
09:26
<&jerith>
What kind of repo is it?
09:26
<@TheWatcher>
git
09:26
<&jerith>
Ah. Yeah, that's easy to hose.
09:27
<&jerith>
It's also easy to not-hose if you're not doing anything crazy.
09:27
<&jerith>
(I was hoping you weren't going to say VSS. Because I really didn't want to have to stab you in the face over the internet.)
09:27
<@TheWatcher>
which'd be pretty trivial to fix, except there's been a week of code gone in there before I noticed what'd happened
09:31
<@TheWatcher>
(essentially, he somehow managed to get his entire copy of the code, which was mostly up to date except in the few important places where it wasn't, pushed into the repo. This introduced a number of very subtle problems, most of them in things I can't programatically test like css, and I need to work out which files were out of date. And how the hell he managed it)
09:32
<&jerith>
Let me guess. When he tried to "git push" he got a "can't fast-forward" error and then did a "git push -f" or something?
09:32
<@TheWatcher>
I'd guess so, I can't confirm that because he's on holiday and not replying to emails
09:34
<@Tamber>
Ouch.
09:34
<@TheWatcher>
Unfortunately I'm not allowed to demonstrate what that does by aid of a splintered chair leg I would call 'git', a mallet, and his large colon.
09:36
<&jerith>
Actually, that would have been noticed as soon as someone else tried to pull.
09:37
<&jerith>
So maybe he pulled, got conflicts, resolved them with "use my versions of everything", pushed.
09:37
<&jerith>
Which means the correct stuff is still in the repo history.
09:37
<&jerith>
But anything since then has happened on the old stuff. Or something.
09:38
<&jerith>
Anyways, this is why code reviews are a Good Thing.
09:38
<&jerith>
Do all your work in branches.
09:38
<&jerith>
Branches get reviewed before they're allowed to be merged.
09:39 Attilla [Obsolete@Nightstar-26a38a92.as43234.net] has joined #code
09:40
<@TheWatcher>
Would be nice if I'd had time.
09:42
<@TheWatcher>
Of course, now I'm probably going to spend more time fixing this thing
09:42 * TheWatcher sigh
09:45
< Rhamphoryncus>
mmm diffs :P
09:47
<&jerith>
How many people are working on this thing?
09:48
<&jerith>
Just you and the student?
09:59
<@TheWatcher>
Was, now it's just me
10:04
<@TheWatcher>
Thankfully, so it's not too hard to follow and fix it, I just.. argh.
10:04
<@TheWatcher>
But now, moodle update teims.
10:25
< Attilla>
i wonder if kittens are bewildered if used for debugging purposes
10:26 EnRoute [abudhabi@Nightstar-34271be2.adsl.inetia.pl] has quit [Z-Lined: Your IP range has been attempting to connect too many times in too short a duration. Wait a while, and you will be able to connect.]
10:26 RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code
10:38 abudhabi [abudhabi@Nightstar-34271be2.adsl.inetia.pl] has joined #code
11:31
<@TheWatcher>
There, fixed.
11:31
<@TheWatcher>
Now I guess I need to do actual work on this thing, ugh
11:41 Kindamoody is now known as Kindamoody|out
11:50
< rms>
This is why you don't give people the ability to push to your working directory
11:55 * gnolam stabs Microsoft.
11:56
< rms>
Oh?
11:56
< gnolam>
It's nice that you're giving me your stuff for free, but /Jesus H Christ/. Just let me download it over HTTP(S) already.
11:57
< rms>
lol
11:57
< gnolam>
You know what a "Secure Download Manager" that's only a thin wrapper over an IE context adds? FUCK-ALL.
11:58
< gnolam>
Especially since it explicitly hides useful information.
11:58 * rms is solidly convinced that "MS spends billions on UI research" is A) bullshit or B) true and a fuckton of wasted money.
11:58
< gnolam>
Like download speeds.
11:59
< gnolam>
"Why would anyone want to see the download speed of a multi-GiB download? Let's hide that."
11:59
< gnolam>
RARGH
12:16
< Rhamphoryncus>
rms: from what I hear it's the latter.
12:17
< rms>
You hear the FUD, or something more reliable?
12:18
< rms>
Alternative: C) They spend the money to cripple UI research by pushing their brand of damaged UI methodologies
12:19
< Rhamphoryncus>
I heard that it's an organizational problem that prevents their legions of programmers from being effective
12:20
< rms>
Oh that
13:33 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has quit [Client exited]
13:51
< ToxicFrog>
Ahahahahaha
13:51
< ToxicFrog>
Oh, Ubuntu, you fucking worthless hypocrites
13:52
<@TheWatcher>
What've they done this time?
13:53
< ToxicFrog>
I'm trying to set up my own dropbox-style N-way syncing.
13:53
< ToxicFrog>
I've fiddled around with OwnCloud, but it's really heavy on the server and the client is kind of shit
13:54
< ToxicFrog>
I know, I'll run my own UbuntuOne server. I mean, the Ubuntu developers are fanatical about open source to the point that, when it comes down to usability vs ideological purity for their OS, the latter always wins. So source for the server will available, right?
13:54
< ToxicFrog>
Nope, the UbuntuOne server is closed source and, according to the developers, always will be.
13:56
<@TheWatcher>
...
14:01
< froztbyte>
you surprised
14:01
< froztbyte>
did you really expect that a distribution which /actively/ takes choice away will be great on giving people freedom?
14:01
< froztbyte>
they're just really good at managing their image
14:02
< froztbyte>
that said, you can probably hack a thing up with tahoe-lafs
14:02
< froztbyte>
unison could work too, but it's a piece of shit
14:02
< froztbyte>
s/you su/you sound su/
14:04
< froztbyte>
there was some software I saw at one point
14:04
< froztbyte>
Sparkleshare
14:04
< froztbyte>
never tried it though
14:06
< froztbyte>
other thing that's come up: http://www.syncany.org/
14:29
< ToxicFrog>
Syncany is a dead project.
14:30
< ToxicFrog>
Sparkleshare appears to be mostly for source code sharing and the website has basically no concrete information except "it uses git!!!!!" which doesn't make me confident of its ability to handle large binary files.
14:31
< froztbyte>
yeah, that doesn't look like a thing you'd want
14:32
< ToxicFrog>
Or handle sync folders with a lot of churn, for that matter - I don't want this for versioning/backups, I want it for synchronization
14:32
< froztbyte>
I guess that leaves you with building on top of some distributed filesystem like ceph or tahoe-lafs
14:32
< ToxicFrog>
At the moment I'm experimenting with lipsync.
14:32
< froztbyte>
or unison
14:32
< ToxicFrog>
It's going well except that the installer had a crazy and installed two copies of the cron entry, leading to two lipsyncd instances, with really weird results
14:33 * TheWatcher eyes
14:33
< froztbyte>
hehe
14:33
< froztbyte>
I didn't even know about this thing
14:33
< froztbyte>
https://github.com/philcryer/lipsync for the rest
14:33
<@TheWatcher>
But are they synced?~
14:33
<@TheWatcher>
(also, I know I'm missing something here, but what's wrong with ssh+rsync?)
14:34
< froztbyte>
TheWatcher: it's a pain to manage manually
14:34
< froztbyte>
especially at n>2
14:34
< ToxicFrog>
TheWatcher: I want N-way sync a la dropbox, not mirroring
14:34
< ToxicFrog>
delete a file on one client, it's automatically deleted on all of them
14:34
< froztbyte>
unison does automate it
14:34
< ToxicFrog>
That sort of thing
14:34
<@TheWatcher>
Ah, okay
14:34
< froztbyte>
but it's a crappy cronjob piece of turd
14:34
< froztbyte>
lipsync also seems to do cron
14:34
< froztbyte>
so....I dunno
14:35
< froztbyte>
seriously world, are vector clocks really that hard? :/
14:36
< ToxicFrog>
lipsync just uses cron to make sure the daemon starts up on boot
14:36
< ToxicFrog>
and gets restarted if something happens to it
14:36
< froztbyte>
ah, okay
14:36
< froztbyte>
that's a bit more sane
14:39 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Connection closed]
14:42
< ToxicFrog>
What are the issues with Unison? It looks pretty much like what I want.
14:51 * ToxicFrog pokes froztbyte
14:52 celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code
15:03
< froztbyte>
yo, soz
15:03
< froztbyte>
was out getting lunch^Wbreakfast
15:04
< froztbyte>
it was just fiddly for me
15:04
< froztbyte>
but give it a shot, maybe it works for you
15:05 abudhabi [abudhabi@Nightstar-34271be2.adsl.inetia.pl] has quit [Ping timeout: 121 seconds]
15:21
<&McMartin>
"I mean, the Ubuntu developers are fanatical about open source to the point that, when it comes down to usability vs ideological purity for their OS, the latter always wins."
15:21
<&McMartin>
You misspelled "Debian", Ubuntu is the opposite of that.
15:22
<&McMartin>
Which is why all the binary blobs only support Ubuntu~
15:23
<&McMartin>
Speaking of, I should really stick I7 on Osmium.
15:41
< ToxicFrog>
McMartin: granted it has been a while since I used plain Ubuntu, but last time I did it was a colossal pain in the ass because it was as hard as possible to install proprietary drivers, MP3 codecs, etc
15:41
< ToxicFrog>
And the whole reason I switched to Mint is that it is basically Ubuntu without the bullshit
15:42
<&McMartin>
Hm
15:42
<&McMartin>
Sys76 had that problem, because they ship it half-installed with minimal options
15:43
<&McMartin>
But if you install from disc at least for the past couple years, there was a "cut the bullshit" checkbox in the graphical installer that pulled in flash and MP3 and proper graphics drivers
15:43
<&McMartin>
I think the graphics drivers might have been post-install, but there was a popup for it.
15:43
<&McMartin>
This was one of the places where I as a Fedora partisan gave the nod to Ubuntu as doing it better
15:43
< ToxicFrog>
I've been using Mint since mid-2010, so if it was added since then I haven't seen it.
15:45
<&McMartin>
Yeah, I bet it was post-that.
15:45
<&McMartin>
It came in around they time it also would start downloading the initial updates during the disc install.
15:46
< Tarinaky>
Arch Linux: All the joy of Slackware without spending a day looking for the dependencies to the dependencies' configure scripts.
15:46
< Tarinaky>
So you can get straight to it not working~
15:47
<&McMartin>
That kind of experience with Gentoo is why I became a Fedora partisan very early on~
15:47
< Tarinaky>
Disclaimer: apparently Slackware is much improved since I last used it in 2004-or-so >.>
15:47
<&McMartin>
Technically, I used Slackware back when it was still the Yggdrassil distribution, in the early 1990s.
15:48
<@TheWatcher>
And I'm currently using gentoo on 6 systems without problems, so *shrug* each to their own, I guess.
15:48
< celticminstrel>
Nice name.
15:50
< Tarinaky>
"What we really want is a name that communicates just how hard it is to install or use our software."
15:51
<&McMartin>
Which it did.
15:51
<&McMartin>
But it was at the time the only option that wasn't LFS and Linux wasn't a thing yet.
15:52
< ToxicFrog>
Hm. Unison looks like it'll take more setting up than lipsync, and the need to run it from cron each minute isn't great
15:52
< ToxicFrog>
However, it also looks like it does what I want more than lipsync
15:55
< ToxicFrog>
iFolder looks like it might also be a possibility.
15:57
< ToxicFrog>
...although the server requirements are kind of crazy
15:59
< ToxicFrog>
...and the documentation is 300 pages long
16:00
<@TheWatcher>
O.o
16:02
<&McMartin>
Heh
16:02
<&McMartin>
Is that good or bad~
16:05
< ToxicFrog>
Bad; it is clearly geared at corporations with dedicated IT departments and existing storage and LDAP infrastructure.
16:06
<&McMartin>
I was about to say "let me rephrase that" but I will read that as "good, but not useful for this case"
16:06
<&McMartin>
(VirtualBox's tech docs are also 300 pages long, and I was thrilled to find them even though I'm not writing any COM servers)
16:13 abudhabi [abudhabi@Nightstar-e1251997.adsl.inetia.pl] has joined #code
16:14 abudhabi is now known as AnnoDomini
16:18
<&McMartin>
Does anyone besides windows shops even use LDAP these days?
16:19
<&McMartin>
Oh shit RUNNER 2
16:19
<&McMartin>
\o/
16:20
< RichyB>
I thought LDAP was supposed to be what all the all-Linux shops used because it's the best alternative to ActiveDirectory? ;P
16:20
< RichyB>
or does everyone use YP/NIS?
16:21
<&McMartin>
AD is an extention to LDAP and AFAICT nobody uses the extensions
16:30
<~Vornicus>
6 years ago resmark used ldap
16:30
<~Vornicus>
it was liquid pain to work with
16:30 * McMartin grumbles, has the Giana Sisters theme stuck in his head
16:35
< froztbyte>
McMartin: lots of tiny-things use ldap for cache/proxy auth
16:35
< froztbyte>
typically soho offices and such
16:35
< froztbyte>
I've seen some DNS backends made on ldap, too
16:35
< froztbyte>
and here and there a server prov system on ldap
16:35
< froztbyte>
openldap is horrific and painful though
16:58
< ToxicFrog>
McMartin: yeah, sorry, it's "good for a completely different use case, bad for my purposes"
17:06 Kindamoody|out is now known as Kindamoody
17:32
<&Derakon>
Question for people more familiar with distributed version control systems: "How would I rebase the repo without corrupting my own history or deleting the entire repo and starting over?"
17:33
<&Derakon>
From the guy who submitted a Pyrel pull request that has a bunch of old crap in it because his repo is out of date.
17:33
<&Derakon>
Does he just do a pull from my repo and then update/merge?
17:37
<@Tamber>
I think so; pull and merge.
17:39
<@Tamber>
...actually, better off to wait for someone who can answer with greater confidence. :x
17:48
<&McMartin>
I think that works, and then you can rebase your commit with git rebase -i
17:48
<&McMartin>
If it *doesn't* work (and it's probably best to do this in a separate clone) the easiest thing to do would probably be to take a diff and apply the patch to the latest pull
17:49
<&Derakon>
Basically a manual rebase.
17:49
<&McMartin>
Right
17:49
<&McMartin>
That's a last-resort-ish kind of thing to do though
17:50
<&Derakon>
I've been reading http://stackoverflow.com/questions/2672351/hg-how-to-do-a-rebase-like-gits-rebas e
17:50
<&Derakon>
Apparently Mercurial's take on this is that you should merge master's changes in, not rebase to pretend like you had master's changes all along.
17:50
<&McMartin>
That's what git used to think
17:50
<&Derakon>
(Also, dude, did you sleep at all last night)
17:51
<&McMartin>
Yes, I slept from 11 PM to 6 AM.
17:51
<&McMartin>
I'm a little loopy - enough that I decided to walk to work today - but seem basically sound
17:51
<&Derakon>
Hm, I was up at 1AM and saw people addressing you. Didn't see any lines from you though.
17:51
<&Derakon>
I guess I just assumed you were active, and/or that those lines were recent.
17:51
<&McMartin>
TO be fair, I normally crash closer to 2 or 3 so this is a sensible thing to do.
17:52
< gnolam>
git freebase -|
17:52
<&McMartin>
:420:
17:59
<&McMartin>
Derakon: Anyway, yeah, I was under a lot of stress last week, which disrupted my sleep a bit
17:59
<&Derakon>
I sympathize.
17:59
<&McMartin>
And then there was a 3-day weekend, which disrupted it the other way - the drop in stress made me wipeout for 12+ hours each night
17:59
<&Derakon>
Heh.
17:59
<&McMartin>
And now I'm trying to get back onto a normalish schedule.
17:59
<&McMartin>
Which *almost* worked
17:59 mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ
18:00
<&Derakon>
+a?
18:02
< iospace>
Super-Op
18:14
<~Vornicus>
Superop has the same powers as a regular op and can't be kicked by regular ops.
18:14
<~Vornicus>
Also, more importantly, a superop can add ops to the list.
18:20
< froztbyte>
Derakon: your question should rather have been phrased "for people who know the shitpile that is git, how do I do X?"
18:21
< froztbyte>
other DVCS systems don't take the idea "forget all of history, just shit some new code out" as an operating mechanic
18:21
<&Derakon>
Heh.
18:21
< froztbyte>
McMartin's suggestion is nice
18:21
< froztbyte>
pull the diff in, run some tests and linting and whatnot
18:22
< froztbyte>
git has a tendency to not do what you think
18:22 Kindamoody is now known as Kindamoody|out
18:22
< froztbyte>
because there's no internal consistency between the way the operations work :P
18:22
<&McMartin>
git was deliberately designed so that the commands cvs and svn made standard instead do insanely destructive things
18:22
< froztbyte>
so if you don't know it yet, you get to learn it in the painful way
18:23
<&jerith>
IIRC, +a is "protect". All it means is that you can't be kicked by anyone without +a. You need +o as well if you want to actually do anything.
18:24
< froztbyte>
but all of that said, we're stuck with git now
18:25
< froztbyte>
so unfortunately that's the next round of horribleness we'll all need to get to know
18:25
<&McMartin>
That said, Derakon's not using git; he's using Mercurial.
18:25
<&Derakon>
\o/
18:25
<&McMartin>
If Mercurial has better ways of doing this, that may be more on point.
18:25
<&Derakon>
Of course, the rest of the Angband development community is used to Git...
18:25
<&McMartin>
I've only used SVN and Git though.
18:25
<&Derakon>
Mercurial definitely seems to be unwilling to just destroy history.
18:25
< froztbyte>
branch, switch to branch, pull in patches, merge branches?
18:25
<&Derakon>
It even warns you when you create a new branch that such is permanent, and suggests that perhaps you instead wanted a bookmark.
18:26
< froztbyte>
that way you're not even at risk of killing your main branch
18:26
< froztbyte>
upon merge you can close a branch
18:26
< froztbyte>
Derakon: well, there's `hg rollback`
18:26
< froztbyte>
which is a once-off "oh shit, I didn't mean to do that"
18:26
< froztbyte>
(once-off as opposed to full undo tree)
18:29
<&McMartin>
gensym of the day: "ucrangax"
18:29
<&McMartin>
PUNY EARTHLINGS, YOU WILL SUBMIT BEFORE THE MIGHT OF EMPEROR UCRANGAX!
18:33 * ToxicFrog upreads
18:34
<&ToxicFrog>
git history is immutable, actually, it's just git branch references that aren't.
18:34
<&ToxicFrog>
"destructive" operations are destructive in the same sense that (update-in) is.
19:14 Kindamoody|out is now known as Kindamoody
19:22
<&ToxicFrog>
Ok, so.
19:22
<&ToxicFrog>
- Dropbox, UbuntuOne, Wuala, SpiderOak, etc: server software is proprietary.
19:24
<&ToxicFrog>
- iFolder: requires apache2 and an LDAP server; designed for large organizations.
19:24
<&ToxicFrog>
- OwnCloud: requires a full LAMP stack, incredibly slow, client is a bit crashy
19:25
<&ToxicFrog>
- SparkleShare: git-based, more of a version control system than a sync system
19:25
<&ToxicFrog>
- SyncAny: will be exactly what I want if it ever gets released. Not looking likely at this point.
19:26
<&ToxicFrog>
- lipsync: very alpha; installation is messy, requires two daemons, an rc.d entry and a cron entry, and can only sync one directory. Very lightweight, though, and seems reliable.
19:27
<&ToxicFrog>
- unison: no daemon mode; must be run regularly via cron. Similar capabilities to lipsync. No automatic conflict resolution.
19:27
<&ToxicFrog>
- glusterfs: comedy option based on using each client as a glusterfs storage server with replication enabled.
19:30
<&ToxicFrog>
Unison honestly looks like the most polished option out of all of these and it does everything I need, pretty much.
19:34
<&ToxicFrog>
The problem is its cron-based invokation.
19:34
<&ToxicFrog>
I'd be tempted to write a simple inotifywait based wrapper that watches the sync directory and invokes it only when something changes.
19:40
<&Derakon>
Oh man, cron.
19:40
<&Derakon>
I'd completely forgotten about that.
19:40
<&Derakon>
Maybe I should set up a cron job to remind me that cron exists~
19:40
<&ToxicFrog>
Pfft
19:40 * jerith is in the middle of writing a cron-alike.
19:41
<&ToxicFrog>
Well, it doesn't have to be cron, it's just that it doesn't have a daemon; you run it, it syncs and then exits.
19:41
<&ToxicFrog>
So the traditional approach is to just run cron once a minute
19:41
<&ToxicFrog>
Er, run it via cron
19:41
<&McMartin>
That sounds like it would ruin your bandwidth
19:41
<&ToxicFrog>
Why?
19:42
< celticminstrel>
Why once a minute?
19:43
<&ToxicFrog>
celticminstrel: because that'
19:43
<&ToxicFrog>
s the finest resolution cron supports, IIRC.
19:45
<&McMartin>
TF: Because that's hitting the network every minute
19:46
<&ToxicFrog>
Yeah, but it's not actually transferring bulk data unless there are changes to sync
19:46
< celticminstrel>
But why so frequently?
19:46
<&ToxicFrog>
The bandwidth used by exchanging timestamps once a minute is nothing compared to what I already use for IRC alone, let alone mail retrieval, dropbox synchronization, etc
19:46
<&ToxicFrog>
celticminstrel: as noted, my goal here is to replicate Dropbox's functionality, which syncs instantly
19:47 efjc [efjc@Nightstar-eefa5056.cust.tele2.se] has quit [Ping timeout: 121 seconds]
19:50
<&ToxicFrog>
celticminstrel: ideally I would actually have an inotify active on the sync directory, and would invoke unison only when that reports changes
19:50
<&ToxicFrog>
And then have some way of notifying the client when the contents of the server have changed
21:21 * Derakon eyes a line of code he just wrote.
21:21
<&Derakon>
numDiagonals = abs(dx) - abs(abs(dx) - abs(dy))
21:40 * Vornicus checks to see if there might be a better way to do that.
21:42
<~Vornicus>
oh that's kind of cool.
21:44
<~Vornicus>
min(abs(dy), -abs(dy)+2*abs(dx))
21:44
<&Derakon>
O_o
21:44
<~Vornicus>
Structures a little bit more obvious that way.
21:51 Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code
21:51 mode/#code [+o Vash] by ChanServ
23:07 Rhamphoryncus [rhamph@Nightstar-cc6253d6.abhsia.telus.net] has joined #code
--- Log closed Thu Sep 06 00:00:22 2012
code logs -> 2012 -> Wed, 05 Sep 2012< code.20120904.log - code.20120906.log >

[ Latest log file ]