[01:03] <cjohnston> duanedesign: ping
[06:03]  * mmcc going to sleep…
[09:27] <jacobrask> Published links are only available to people who know the URL, correct?
[09:27] <jacobrask> Can I see all my published files somewherE?
[09:36] <JamesTait> Morning all!
[10:16] <rye> jacobrask: you can, via a developer sandbox - http://u1.to
[10:32] <jacobrask> cool
[10:34] <jacobrask> will the u1 urls stay persistent when I update the files unlike the ubuntuone  urls?
[10:36] <rye> jacobrask: it depends on the application you are using. Ubuntu One tracks files based on their inode numbers, i.e. a file1 when deleted and recteated with the same name will no longer be the same file for ubuntu one. The workaround I am using is to create the file elsewhere and then copy it over to the original destination if my editor/application does unlink-create-rename dance
[10:38] <jacobrask> oh. seems like vim does that then..
[10:41] <rye> jacobrask: yes, it is possible to disable this behavior though
[10:43] <rye> jacobrask: adding "set nowritebackup" to your vimrc, but while I have never experienced any data loss with vim, there is a non-zero chance of that
[10:44] <jacobrask> thanks, I'll investigate that!
[11:13] <gatox> good morning
[11:26] <mandel> gatox, morning!
[11:26] <gatox> mandel, hi!
[11:26] <mandel> gatox, how is our FSEvents guy doing?
[11:27] <gatox> mandel, gooddd.. yesterday i started writing tests, and i needed to create a os_helper for mac, so i'm finishing that now... the good part, we are going to identify some other parts of u1-client that need platform specific things for mac
[11:27] <gatox> mandel, you?
[11:28] <mandel> gatox, nearly done with a proof of concept with a single daemon running as root sending info via a domain sockets (I'm taking a little longer because I'm not using python)
[12:21] <ralsina> good morning!
[12:21] <ralsina> mandel: about IPC, what's wrong with jsonrpc over domain sockets?
[12:21] <gatox> ralsina, good morning!
[12:22] <mandel> ralsina, morning! I guess lack of libs, not more
[12:22] <gatox> ralsina, i forgot about our 1-1 yesterday..... let me know if you have some time today please
[12:22] <ralsina> gatox: sure!
[12:22] <gatox> ralsina, ok, whenever you want today..... just let me know
[12:22] <ralsina> mandel: http://www.big-llc.com/software.jsp#
[12:23] <ralsina> gatox: will do
[12:23] <ralsina> mandel: of course that's just the first google result for "jsonrpc c" ;-)
[12:24] <mandel> ralsina, heh I'm not very worry about the ipc atm
[12:24] <ralsina> mandel: considering we have a rather simplistic requirement, I am not convinced about going to anything even slightly complicated
[12:24] <ralsina> mandel: right, so, we have to have the events first before we propagate them of course
[12:24] <mandel> ralsina, exactly :)
[12:24] <ralsina> mandel: I am supposed to have a vision here ;-)
[12:25] <ralsina> mandel: so we don't lack scope and synergy
[12:25] <ralsina> mandel: maybe provide value to internal and external customers
[12:25] <ralsina> mandel: you know, that kind of things
[12:25] <mandel> ralsina, and in an efficient manner, propagation has to be fast and not block because we do not want to block the io device
[12:25] <ralsina> mandel: right
[12:25] <ralsina> mandel: good thing about domain sockets: they are buffered
[12:25] <ralsina> mandel: so we can fill it with crap, and writes will not fail
[12:26] <ralsina> IIRC
[12:26] <mandel> ralsina, right now  I want to get a poc with connections, event filtering etc..
[12:26] <ralsina> mandel: cool
[12:27] <mandel> ralsina, since for each event we need to filter it per user so worst case scenario we have O m*n where m is number of users and n is all the paths they added
[12:27] <ralsina> interesting implementation detail: when writing to a unix domain socket you are writing to the buffer of the other side which is in the other process' address space! 8-|
[12:29] <j-johan-edwards> Excuse me: About how baked is the Shardbridge u1db? Is it on equal to the Python implementation to the extent you would recommend writing with it?
[12:29] <ralsina> j-johan-edwards: I am not familiar with that implementation
[12:29] <ralsina> j-johan-edwards: you may have to wait for __lucio__
[12:29] <j-johan-edwards> thanks :)
[12:29] <ralsina> j-johan-edwards: he should be around in about 30 minutes
[12:31] <mandel> I'm off to have lunch
[12:32] <ralsina> j-johan-edwards: in fact, that was done by dobey, so you may have to wait or him, and he's at UDS so his schedule is both late and incomprehensible
[12:33] <ralsina> mandel: we may want to just filter per user on the root daemon, and then filter per path on the user side
[12:34] <mandel> ralsina, indeed, which means that outside home will no be suported by this
[12:34] <mandel> ralsina, lunch and we can keep thinking about it, maybe running some numbers would be good to
[12:38] <ralsina> yeah
[12:39] <__lucio__> j-johan-edwards, i dont know. i dont think its finished yet. dobey knows.
[12:39] <__lucio__> (re: shardbridge status)
[12:40] <ralsina> thisfred: since you sent me an email, I will assume you are around. If you are not, say nothing ;-)
[12:40] <thisfred> ralsina: shared lisettte's desisn with you
[12:40] <ralsina> thisfred: exactly :-)
[12:40] <thisfred> I am here
[12:40] <ralsina> thisfred: that wireframe has tasks with attachments...
[12:41] <lisettte> ralsina: that was an idea, it doesn't all have to happen at once :)
[12:41] <ralsina> thisfred: also, the left-side-bar seems to show a mix of tags and dates, right? (not that it makes it harder)
[12:41] <thisfred> Yeah we need to figure out if we want all the features in there, I don't think so right away, anyway
[12:41] <ralsina> thisfred: in fact, we don't have due dates yet, do we?
[12:42] <thisfred> we don't but I did want to add those anyway
[12:42] <ralsina> thisfred: if we can get due dates, then most of this is implementable
[12:42] <thisfred> because it'll show off how to do dates in u1db
[12:43] <thisfred> which is not entirely self evident, since there are no date indexes, or date fields in json for that matter, so it's good example code
[12:43] <ralsina> thisfred: cool. The other thing is, this wireframe doesn't show how to add new tags or how to have something with multiple tags
[12:43] <ralsina> other than that, piece of cake
[12:43] <j-johan-edwards> __lucio__: thanks
[12:43] <lisettte> ralsina: that is still to do; i guess a popup
[12:44] <lisettte> ralsina: the wire is far from finished
[12:44] <ralsina> lisettte: we could do the combo writable, so the user can type a tag, and it will either autocomplete or create the new tag
[12:44] <ralsina> lisettte: in any case, it's pretty awesome already :-)
[12:44] <lisettte> ralsina: it would be cool to let them pick a colour though
[12:44] <thisfred> lisettte: what I did in mine was translate anything like #this in the todo item to a category, but I'm not sure if that's a good idea. I like it, but I may be an atypical user
[12:45] <ralsina> thisfred: well, works for twitter
[12:45] <ralsina> thisfred: so, 150 million people know how to do that
[12:45] <lisettte> ralsina: i worked on that sort of writable tag in another project, and we ended up not using it because of typo duplicates
[12:45] <ralsina> lisettte: yes, so, maybe hashtags is a good idea. We could confirm new tag creation
[12:46] <ralsina> "Are you sure you want to create the "tday" tag?"
[12:46] <lisettte> ralsina: today would be a date?
[12:46] <thisfred> fair point, but they're easily fixable, if they remain in the todo item's text, and the typoed category will just disappear. tab-completion would be awesomer even
[12:47] <ralsina> lisettte: bad example ;-)
[12:47] <thisfred> don't know if that's possible in a text edit field
[12:47] <ralsina> thisfred: it sure is
[12:47] <thisfred> neat
[12:47] <ralsina> lisettte: replace "tday" with "hume" :-)
[12:47] <thisfred> david hume? :)
[12:47] <lisettte> ralsina: that is what i meant with the writable tags
[12:47] <thisfred> hehe
[12:48] <ralsina> thisfred: it's tricky only in the sense that Tab is overloaded with purpose already
[12:48] <lisettte> ralsina: the problem with those
[12:48] <thisfred> ralsina: could be a different key, though I don't mind stealing it when in the text box
[12:48] <ralsina> lisettte: yes, so we need to decide if it's more annoying to have misspelt tags or ask about every tag creation
[12:49] <lisettte> ralsina, thisfred: can we have a textfield at the top of the list of tags?
[12:49] <ralsina> lisettte: sure
[12:49] <thisfred> can do, but it makes it more work than adding the tags directly in the item
[12:49] <thisfred> I like the syntax of for instance:
[12:49] <ralsina> lisettte: we can also start autocomplete on # and display the autocompletion in grey then if the user clicks "right" or tab we effect the completion
[12:49] <lisettte> ralsina, thisfred: then we could replace that with the create tag thing and make it discoverable / auto complete
[12:49] <thisfred> [ ] buy beer at #supermarket
[12:50] <ralsina> thisfred: yes, that's neat
[12:51] <ralsina> thisfred, lisettte: so, using hashtags looks like a neat interaction idea for me, but I am not the expert, so I would like some feedback on why it's not (accounting for a few hundred million users and all our possible users) already knowing how it's done :-)
[12:51] <lisettte> thisfred: that is cool, but it would be cooler to have both! ;)
[12:51] <thisfred> can do
[12:51] <lisettte> thisfred: it is hard to discover that you can do this
[12:51] <thisfred> yes
[12:51] <thisfred> I agree
[12:51] <thisfred> I think both would work well
[12:51] <ralsina> thisfred: when you add a hashtag, and then edit and remve it, is it removed?
[12:52] <thisfred> yes
[12:52] <ralsina> We could have ONE "tip of the day" ;-)
[12:52] <lisettte> hahaha
[12:52] <ralsina> "Did you know you can tag your tasks by using #hashtags?" and always show it ;-)
[12:52] <lisettte> tip of the year
[12:53] <thisfred> ralsina: but if the category chooser also adds the #tag to the text, people will learn how it works without us having to explain in text
[12:53] <ralsina> thisfred: hmmmm
[12:53] <lisettte> thisfred: what if they use 2 in the text?
[12:53] <thisfred> lisettte: that just works
[12:53] <ralsina> tag<->task is many to many
[12:54] <lisettte> thisfred: so will we assign a colour for the first one?
[12:54] <thisfred> lisettte: you can see how it works now, if you do bzr branch lp:u1db; cd u1db; PYTHONPATH=. python u1todo/ui.py
[12:54] <thisfred> assuming you're on Ubuntu ;)
[12:54] <lisettte> thisfred: not set up on this machine :(
[12:55] <thisfred> kk
[12:55] <thisfred> lisettte: we can auto assign colours, and allow users to change them
[12:55] <lisettte> thisfred: i'd need to dust off the pc for that
[12:55] <thisfred> sort of like how google calendar does
[12:55] <ralsina> lisettte: we could have a list of colors and/or just randomize them for contrast, I assume there is an algorithm for this somewhere
[12:55] <thisfred> lisettte: it's not important, it's all gonna c
[12:55] <lisettte> thisfred: i think auto-assign is cool for a first draft
[12:55] <thisfred> hange
[12:56] <thisfred> and we described pretty much all of it
[12:56] <ralsina> yep, all in all I think we know what we need to do
[12:56] <thisfred> cool. cool cool cool
[12:56] <ralsina> thisfred: you will have to switch from QListWidget to QTreeWidget, though, sorry ;-)
[12:56] <lisettte> ralsina: i can pick some nice colours!!! :)
[12:56] <ralsina> lisettte: how many? ;-)
[12:56] <thisfred> ralsina: that's fine
[12:57] <lisettte> ralsina: many
[12:57]  * ralsina feels a need to show management ability and tell lisette to come up with 47 contrasting colors
[12:57] <ralsina> ;-)
[12:58] <lisettte> ralsina: haha. ok
[12:58] <lisettte> ralsina, thisfred: another idea on this thing that is not in the wireframe is that you can drag and drop tasks to a different day
[12:58] <lisettte> instead of editing
[12:58] <ralsina> lisettte: so drag a task into next week
[12:58] <lisettte> ralsina, thisfred: hence the drag handles
[12:58] <lisettte> ralsina: yep
[12:58] <thisfred> right
[12:58] <ralsina> it's doable, but the code for it is *not* exemplar
[12:59] <ralsina> as in "it's ugly and distracting"
[12:59] <thisfred> ralsina: we can tuck it away out of sight ;)
[12:59] <lisettte> ralsina, thisfred: let's put it on the wishlist for now :)
[12:59] <thisfred> sure
[12:59] <thisfred> this will keep me busy for a while anyway
[12:59] <thisfred> ralsina: so, how does one style QT? :)
[13:00] <ralsina> thisfred: we can use "internal" drag&drop but then we will get events like "this widget is now here" and we would have to interpret the edit from it
[13:00] <ralsina> thisfred: the same way porcupines reproduce
[13:00] <thisfred> hehe
[13:00] <ralsina> thisfred: it's fun actually, let me get you the doc
[13:00]  * thisfred treads with care
[13:00] <thisfred> cool
[13:01] <ralsina> thisfred: it's almost-css http://qt-project.org/doc/qt-4.8/stylesheet.html
[13:02] <ralsina> thisfred: if you are passing sys.argv to QApplication, you don't even need to touch code to start playing with it, you can use the -stylesheet filename option
[13:03] <thisfred> neat
[13:07] <thisfred> lisettte: ralsina: pedronis just reminded me: we will also need ui for conflicted items (i.e. items that after a sync have 2 conflicting versions.) My idea for that was maybe a 'conflicted' icon that's shown in every item that has such a conflict, and when clicked, opens a dialog with both versions and a way to resolve them
[13:08] <thisfred> note that conflicts will be relatively rare, they will only occur if the item changed on both ends between syncs
[13:12] <pedronis> yup, in most cases it will just naturally pick you most recent change as synced to the cloud
[13:15] <ralsina> thisfred: merging 1-liners should just be "take oe or the other"
[13:15] <thisfred> yep
[13:48]  * mandel back
[13:54] <gatox> ohhhhhhh this is so very broken! :P
[13:54] <mandel> gatox, ein?
[13:55] <gatox> mandel, u1-client for mac...... i'm fixing lot of things in order to be able to run some tests..... there are problems with the imports (this was expected)
[13:55] <lisettte> thisfred: when would a conflict happen?
[13:55] <mandel> gatox, we are getting closer to see things working so I  expected two very depressing weeks :)
[13:56] <gatox> mandel, jeje yes..... the good thing (good from my point of view), is that with this branch and trying to run the tests, i'm detecting lot of stuff that need to be implemented for mac....
[13:56] <thisfred> lisettte: say I have the app on my phone and on my laptop and I edit the same task on both, with different results, and then sync the two databases
[13:57] <lisettte> thisfred: so you would edit it on the laptop, quit before it has synced, then edit it on your phone, let it sync, open the laptop client again?
[13:58] <thisfred> lisettte: basically yes. Sync is an explicit action, so edit task x on machine A, edit task x on machine B, then sync on either
[13:58] <lisettte> thisfred: would you know which item was edited (not synced) last?
[13:59] <lisettte> thisfred: if you do, you could take the last edit to resolve it automatically
[13:59] <thisfred> lisettte: not necessarily no.
[14:00] <lisettte> thisfred: hrm
[14:00] <thisfred> lisettte: that would still mean potential data loss also:
[14:00] <thisfred> say I add a phone number to the task on one machine, and forget about that, and on the other machine, I set the task to done
[14:01] <lisettte> thisfred: well, yes, but it makes sense that you edited the item 'again' if the previous edit you did hasn't synced
[14:01] <thisfred> now I sync, and if it automatically resolve, I lose the done status (not a huge problem) or the phone number (potentially bigger problem(
[14:02] <lisettte> thisfred: i guess this can be a problem with phones having no connection
[14:02] <thisfred> It's not
[14:03] <thisfred> going to happen very often
[14:03] <thisfred> but we do need to deal with the fact that it will happ;en
[14:04] <thisfred> so the UI doesn't need to be super user friendly, as long as there is a way for people to deal with it on those rare occasions
[14:05] <thisfred> so a fairly noticeable icon that shows up only when there is a conflict, and when clicked lets you resolve it and then disappear would work I think
[14:05] <lisettte> thisfred: when a conflict is found, we could pop up a window with both items in it where the user could pick the one to keep?
[14:05] <thisfred> I violently hate automatic popups
[14:06] <mmcc> morning folks, catching up…
[14:06] <gatox> mmcc, hi
[14:06] <gatox> mandel, are you working in platform/ipc for mac os?? or you are working in another things related to ipc?
[14:07] <lisettte> thisfred: same..
[14:07] <thisfred> lisettte: the conflict does not necessarily need to be resolved immediately, everything will happily keep working, and no data is lost.
[14:07] <thisfred> so something that draws attentions saying 'hey, there's something you may want to take a look at when you have a minute'
[14:08] <thisfred> either a global icon/marker or one on the todo item itself, I was thinking
[14:08] <mandel> gatox, no, but that should work, as in we will use the windows ipc and just need to modify it to work on unix domain sockets, why?
[14:08] <mandel> gatox, is the same work as the one done for ss
[14:08] <lisettte> thisfred: on the item itself makes sense
[14:08] <mandel> sso
[14:09] <gatox> mandel, so...... it's easy to do, but it's not done? (because this is becaming a blocking thing for me..... so if you are not working in this, maybe you can point in the right direction and i can implement this and move on)
[14:10] <mandel> gatox, you should be looking at how the ipc on sso uses enpoints to use domain sockets, is really trivial
[14:10] <gatox> mandel, the other solution is to mock things so i can keep working in my branch..... but i prefer to fix things when we found them,, so we don't forget
[14:11] <gatox> mandel, ok, great..... i'll open some bugs for all of this stuff i'm finding..... and i'll start killing them! muejejeje
[14:11] <mandel> ok
[14:11] <lisettte> thisfred: adding it to the to do list :)
[14:11] <thisfred> hehe
[14:37] <ralsina> mandel: we have a ton (ok a small ton) of SSL errors reported on ubuntu from turkish users. Turns out Turkey has a government censoring firewall. Could that be the root of the problem there?
[14:37] <mandel> ralsina, it does sound like a man is in the middle, if we expect an ssl and get another it makes sense
[14:38] <ralsina> mandel: thing is, I am not finding any references to similar things, so I am at a bit of a loss.
[14:38] <ralsina> mandel: I say we send you to turkey to debug
[14:38] <briancurtin> i would suspect a similar issue with users in China, if they can even download U1 (there's a special way to get Python if you're in china, since the great firewall blocks the regular donwload links)
[14:38] <ralsina> briancurtin: the throughputto our servers from china is bad enough that it's basiclly unusable
[14:39] <ralsina> briancurtin: last report I got, at least
[14:40] <ralsina> briancurtin: OTOH, we have offices in China, I don't know if we have employees in turkey. Which makes me think I should check that ;-)
[14:41] <ralsina> not even one. We have employees everywhere but there :-(
[14:41] <mandel> ralsina, we might well consider readding the accept ssl certs dialog
[14:41] <briancurtin> sprint next week in turkey
[14:41] <ralsina> mandel: I think we can just dump the valicert root cert in /etc/ssl and it would just work
[14:41] <gatox> briancurtin, \o/
[14:41] <ralsina> mandel: but we would be hacking their computers, basically
[14:42] <ralsina> gatox: you would like it :-)
[14:42] <gatox> ralsina, :P jeje
[14:42] <mandel> sprint!
[14:49] <gatox> mandel, yeyyyyy
[14:49]  * ralsina considers ruining team illusions
[14:50] <gatox> :(
[14:52] <ralsina> gatox: OTOH, if you go to istanbul, I can set you up with a cousin that has a cute hostel in the middle of old constantinople
[14:52] <ralsina> gatox: and while you are there, please debug this ;-)
[14:54] <ralsina> hey, team, team call in 6'
[14:55] <mandel> ack
[14:55] <mmcc> Just solved my ctypes callback problem with network detection.
[14:55] <gatox_> ack
[14:56] <mandel> mmcc, hurray1
[14:56] <mmcc> just needed to explicitly define some function type signatures
[14:56] <mmcc> also, ack about the call
[15:00] <gatox> mumble!
[15:01] <ralsina> thisfred, mumble
[15:02] <thisfred> there
[15:06] <gatox> mmcc, https://bugs.launchpad.net/ubuntuone-client/+bug/997668  -  https://bugs.launchpad.net/ubuntuone-client/+bug/997663  (i'm working on this right now... because it's blocking me)
[15:31] <mmcc> brb ~> coffee
[15:35] <ralsina> thisfred: is "cosas" the actual app name? Really?
[15:35] <ralsina> thisfred: because it kicks ass
[15:35] <thisfred> ralsina it can be :)
[15:35] <ralsina> thisfred: look for "tio cosa" in google images :-)
[15:35] <thisfred> I suspect mandel had something to do with that
[15:36] <ralsina> thisfred: I want to speak about it at ubucon-la, too
[15:36] <mandel> thisfred, ralsina, yep, my fault :P
[15:36] <thisfred> hehe, I love cousin it
[15:36] <ralsina> thisfred: imagine it called  "thingies" in english
[15:36] <thisfred> yep, I got that
[15:37] <ralsina> when I knew "thing" was actually the hand, my childhood died
[15:37] <thisfred> happy to rename it from generic 'dharma initiative' branding ;)
[15:37] <ralsina> which in spanish was called "fingers" which makes *much* more sense
[15:40] <mandel> ralsina, in your spanish, in ours it was cosa
[15:41] <ralsina> mandel: really? And cousin it? We called him "tio cosa"
[15:42] <mandel> ralsina, that is the hairy one, right? I dont have a clue
[15:42] <ralsina> mandel: right
[15:42] <gatox> ralsina, i'll put on hold the mac port for a while (not much), so i can finish with the u1-cp and u1-sso bugs i have..... they shouldn't take long
[15:43] <ralsina> gatox: cool
[15:43] <ralsina> gatox: BUT, don't switch back until they are 100% in please :-)
[15:44] <gatox> ralsina, do you mean until the branches landed?
[15:44] <ralsina> gatox: until you are done coding them at least
[15:44] <ralsina> gatox: let's not do more switches than necessary, since we are not under time pressure
[15:44] <ralsina> gatox: so, start on the bugs, get them fixed, then switch back. No back-and-forth
[15:45]  * mmcc needs to take ralsina's advice too :)
[15:45] <gatox> ralsina, yes yes..... i want to fix those branches, that should be small..... because with the mac port i'm finding new and new stuff..... so this is going to be long, and i don't want to delay the other things
[15:45] <ralsina> mmcc, gatox: trying to do 100 things at once is a natural reaction to something that is big and broken :-)
[15:45] <gatox> ralsina, if you want i can avoid the switch and fix them later..... i was thinking on fixing them today, because it shouldn't take long
[15:45] <ralsina> gatox: if your estimate is that you finish them today, switch
[15:46] <gatox> ralsina, ack
[15:46] <ralsina> gatox: this includes the "disabled" bug?
[15:46] <gatox> ralsina, yes
[15:46] <ralsina> gatox: just the sanity check, not finding the broken call from sd, right?
[15:46] <gatox> ralsina, but only the part from cp..... as we talk with nessita in internal
[15:46] <gatox> ralsina, righy
[15:46] <gatox> riight
[15:46] <ralsina> gatox: ok
[15:47] <gatox> brb! need to pay the rent! :P
[16:02] <ralsina> mmcc: +1 on check for unit testing in C, seems to be the better of a small field
[16:04] <mmcc> ralsina: agreed. I'm sure we'll need some shell scripts, etc too
[16:04] <ralsina> yeah
[16:05] <ralsina> mmcc: good news are it seems to support junit format output, so it can be integrated with jenkins eventually
[16:05] <mmcc> cool
[16:05] <mmcc> wrt our testing infrastructure, what do we do for e.g. integration tests?
[16:05] <mandel> mmcc, ralsina, what lib are you looking at?
[16:05]  * mmcc not sure I'm using the right word there
[16:06] <ralsina> mandel: check.sf.net
[16:06] <ralsina> mmcc: not sure how to answer that because we don't have any "real" integration testing in place
[16:06] <ralsina> mmcc: we do have some acceptance testing
[16:06] <mmcc> I'm thinking something like dejagnu, except last time I looked at using dejagnu I got twitchy
[16:07]  * ralsina looks up dejagnu
[16:07] <mmcc> ralsina TCL
[16:07] <ralsina> mmcc: QA has some tools for that, yes
[16:07] <mmcc> actually expect...
[16:07] <ralsina> mmcc: just saw dejagnu's page... scary
[16:08] <mmcc> yeah, IMO, dejagnu is a great tool like autotools are great tools
[16:08] <mmcc> they really do work, but they take up a lot of room in your head
[16:08] <mmcc> do you know what QA uses?
[16:09] <mandel> I though people just copied a project that uses autotools and make small changes until it works..
[16:09] <mmcc> mandel yep, that's the recommended practice :)
[16:10] <mmcc> although I know someone who built a domain-specific simulation language using M4... so some people actually like the tools :\
[16:10] <ralsina> mandel: until it "works"
[16:11] <ralsina> mmcc: I know of a guy who wrote a relational database in AWK. So, nothing surprises me anymore.
[16:11] <ralsina> mmcc:  he even named it NoSQL in like 1998 or so
[16:11] <mmcc> ralsina: I would've said nothing surprises me either, but that did surprise me.
[16:12] <ralsina> mmcc: http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/NoSQL/Philosophy%20of%20NoSQL
[16:12] <mandel> mmcc, do you know which header I have to import to use get_proc_name?
[16:12]  * mandel is rusty in c things
[16:13] <mmcc> hrm, not familiar with get_proc_name and it's not in my manpages
[16:13] <mmcc> what are you trying to do?
[16:13] <mandel> mmcc, I have a pid of the process that modified a file and want to show the name too
[16:14] <mandel> mmcc, I think I can do it manually..
[16:16] <mmcc> mandel: yeah off the top of my head I'm not sure. can poke around.
[16:17] <mandel> mmcc, no worries, google helped me :)
[16:17] <mmcc> mandel what did you find (curious)
[16:20] <mandel> mmcc, found this: paste.ubuntu.com/980104
[16:22] <mmcc> mandel sysctl, ok. Hey, great job naming stuff, unix guys
[16:22] <mandel> mmcc, lol
[16:25] <ralsina> "The thing I most regret of unix design is leaving the e out in "creat"" Dennis Ritchie.
[16:30] <ralsina> briancurtin: you know more python3 than I do, but doesn't following this guide to have a common python2/3 codebase https://wiki.ubuntu.com/Python/3 basically make your prgram a whole lot slower and memory hungry on python2 as a side effect?
[16:32] <briancurtin> ralsina: reading now. i know there are certain places in 2/3 codebases that work slower and take up more memory when run on PyPy, but I'm not aware of any 2/3 compatiblity stuff working worse on CPython 2 and 3
[16:32] <ralsina> briancurtin: I am thinking about "switch to range from xrange, items from iteritems, etc"
[16:32] <ralsina> briancurtin: unless one of the __future__ imports changes that?
[16:34] <briancurtin> ralsina: the performance (speed) difference would likely be unnoticeable, but you would see some memory increases, but i dont think it'd be anything crazy
[16:34] <ralsina> briancurtin: ok
[16:45] <mmcc> hey folks, about to head to lunch. Just pushed a junk branch with a script I wrote over the weekend that grabs what's on the clipboard, pushes it to paste.ubuntu.com, then puts the URL onto the clipboard. Handy for IRC... works on ubuntu and macos: lp:~mikemc/+junk/pup
[16:45]  * mmcc lunches
[16:47]  * ralsina lunches as well
[16:47] <gatox> back
[16:48] <ralsina> gatox: we'll do 1-1 a las 3 ok?
[16:48] <gatox> ralsina, ok
[16:54] <mandel> ralsina, and that is what happens when you speak more than one lang.. :)
[17:19] <mandel> ok, EOD for me, laters!
[17:48] <joshuahoover> ralsina: forgot to mention that i had one of the ubuntu users try sudo cp /usr/share/ca-certificates/mozilla/ValiCert_Class_2_VA.crt /etc/ssl/certs and he still had issues authenticating
[17:48] <ralsina> joshuahoover: ack
[17:49] <joshuahoover> ralsina: the user did not get a warning that the file already existing in /etc/ssl/certs
[17:49] <ralsina> joshuahoover: well, that is interesting... looks like he may have something weird there
[17:49] <joshuahoover> ralsina: i'll see if other users in turkey who've reported the same problem get the same result
[17:50] <ralsina> joshuahoover: could you get a md5sum of /etc/ssl/certs/Valicert*
[17:50] <ralsina> joshuahoover: should be
[17:50] <ralsina> a194cb5767b2eb60c4e2d90d4419cdc8  /etc/ssl/certs/ValiCert_Class_1_VA.pem
[17:50] <ralsina> fdf03feab80e9a109adb8f9912b36f5d  /etc/ssl/certs/ValiCert_Class_2_VA.pem
[17:50] <joshuahoover> ralsina: sure
[17:51] <ralsina> joshuahoover: sadly we have not a single canonical employee in Turkey
[17:51] <ralsina> joshuahoover: and the closest thing to a nerd I know there is a DJ who I wouldn't trut to debug an etch-a-sketch
[17:52] <joshuahoover> ralsina: guess you know where your next new hire has to be located, huh? ;)
[17:52] <ralsina> joshuahoover: haha
[17:53] <ralsina> joshuahoover: I admit sprints would be much more colorful ;-)
[18:01] <ralsina> gatox is not around?
[18:02] <ralsina> chicken, running away from 1-1s
[18:24] <thisfred> ralsina: so I'm trying to have a bunch of widgets be hidden and toggle visibility when something happens. I thought I'd just hide the QVBoxLayout they're in, but that doesn't work because that's not a widget, then I thought I'd recursively hide all its children, but that doesn't work because the only things showing up in children() are other box layouts. I'm assuming this is all wrong and I should do it completely differently.
[18:25] <thisfred> please feel free to restate that as a question and then answer it ;)
[18:25] <ralsina> thisfred: haha
[18:26] <ralsina> thisfred: the easiest way to hide a bunch of widgets is to have them all be children of some other widget
[18:26] <ralsina> So, instead of nesting layout->layout->widgets do layout->widget->layout->widgets
[18:26] <ralsina> and hide the middle widget
[18:27] <thisfred> but what kind of widget? I'd prefer something that takes up no space
[18:27] <ralsina> QWidget or QFrame
[18:27] <thisfred> group box?
[18:27] <thisfred> ah
[18:27] <ralsina> groupbox is meant to have a title
[18:27] <ralsina> QFrame is the usual suspect
[18:27] <thisfred> kk
[18:27] <ralsina> thisfred: another idea is, if all the widgets to hide are on one side (left, right, top or bottom), use a splitter
[18:31] <thisfred> I'll need that too, but not in this case
[18:32] <ralsina> thisfred: ok then, widget-nesting it is
[18:33] <thisfred> thx!
[18:33] <thisfred> ralsina: while I have you distracted:
[18:33] <ralsina> thisfred: look, behind you! A 3-headed monkey!
[18:33] <ralsina> thisfred: sure, ask away :-)
[18:33] <thisfred> QAbstractItemModel, I have trouble understanding:
[18:34] <thisfred> does that represent all of the data
[18:34] <thisfred> or a single item/row?
[18:34] <thisfred> I think it's everything right?
[18:34] <thisfred> Even though it's named item
[18:35] <ralsina> Everything
[18:35] <ralsina> The noun is "model"
[18:35] <ralsina> it's a model of abstract items
[18:35] <ralsina> or an abstract model of items
[18:35] <thisfred> right
[18:35] <ralsina> it contains QModelIndexes that point to QModelItems IIRC
[18:36] <thisfred> cool
[18:36] <ralsina> thisfred: there is a #pyqt full of people who know this better than I do, too :-)
[18:36] <thisfred> thx, that should set me on the path out of the enchanted forest
[18:36] <thisfred> ralsina: I hate people though
[18:36] <ralsina> thisfred: I couldn't say, I died in that forest and became magic squirrel food
[18:37] <thisfred> at least it wasn't ewoks
[18:37] <thisfred> yipyip
[18:37] <ralsina> thisfred: there is a guy called Styxman in #pyar who's a friend and knows this stuff
[18:37]  * ralsina liked the ewoks when they were thinking about spit-roasting leia
[18:37] <mmcc> those ewoks always seemed like they'd be real trouble if you fed them after midnight, amirite?
[18:38] <mmcc> OT: have you seen darth vader and son: (video trailer for a book:) http://jeffreybrowncomics.blogspot.com/2012/04/darth-vader-and-son-trailer.html
[18:39] <ralsina> mmcc: have not yet. Queuing :-)
[18:39] <ralsina> mmcc: have you seed farth diego?
[18:39] <ralsina> make that Darth Diego
[18:39] <mmcc> and back on topic, I'm wondering if a small change I've made should be a separate merge request or just a commit that's part of a bigger merge request...
[18:39] <ralsina> mmcc: link to the commit?
[18:39] <mmcc> nope..
[18:40] <mmcc> haven't made the commit yet :)
[18:40] <ralsina> mmcc: this is our fellow developer gatox: http://www.diegosarmentero.com/2011/05/cordoba-anime-fest.html
[18:41] <mmcc> ralsina - this one here?: http://1.bp.blogspot.com/-uqZtjQFMPOc/Tc_VjlzcPtI/AAAAAAAAHXE/o3bLUXvGLfk/s1600/15052011318.jpg
[18:41] <ralsina> mmcc: exactly
[18:41] <mmcc> I am impressed
[18:44] <ralsina> mmcc: so, back on track, usually we only sneak in changes in unrelated branches if they are really small and uncontroversial
[18:45] <mmcc> ralsina, ok. well it seems like it'd be uncontroversial, but it might also be super easy to make a clean merge proposal too.
[18:45] <mmcc> the branch is here: https://code.launchpad.net/~mikemc/ubuntu-sso-client/fix-networkstate-darwin
[18:46] <mmcc> still updating
[18:46] <ralsina> I have to go to yesterday's doctor's appointment, will be back in not too long, hopefully
[18:46] <ralsina> gatox is having internet issues, so getting reviews is going to be tricky
[18:47] <mmcc> and the diff is here: http://bazaar.launchpad.net/~mikemc/ubuntu-sso-client/fix-networkstate-darwin/revision/967
[18:47] <mmcc> ok I'll wait on it.
[19:20] <joshuahoover> ralsina_at_docto: fyi, users in turkey report the correct checksums on the valicert certs i had them move to /etc/ssl/certs
[19:29] <dobey> joshuahoover: putting a cert in that directory basically does nothing
[19:30] <joshuahoover> dobey: good to know :) i'm just following instructions at this point, have no idea where to go with it troubleshooting wise
[19:30] <dobey> we need to find where the cert comes from
[19:34] <dobey> joshuahoover: actually, a wireshark dump of network traffic, with all other network using apps disabled, would be very useful
[19:35] <joshuahoover> dobey: hmmm...ok, i'll see if we can get that
[19:36] <dobey> or maybe it will just be very technical and not help
[19:53] <gatox> finally at least 3g working!!! f#$%ing internet service!
[19:57] <gatox> @ping
[19:58] <gatox> or noone is getting my messages or there isn't a bot here :P
[19:58]  * beuno is tempted to make gatox he's crazy
[19:58] <gatox> beuno, jejeje
[20:17] <ralsina_at_docto> dobey: let me describe that wireshark dump here: you are going to get a connection to the correct IP followed by  a lot of SSL
[20:17] <ralsina_at_docto> dobey: at least if this is caused by the national transparent censoring proxy
[20:18] <ralsina> I wonder if anyone sells turkish VPSs
[20:18] <ralsina> and yes they do!
[20:18] <ralsina> joshuahoover:  a chance for debugging, it costs 60 US Dollars: http://www.thewebhostingdir.com/vps-hosting-plan-139/linux-vps-3.html
[20:19] <ralsina> we get Debian 4.0 whatever that is, though
[20:19] <joshuahoover> ralsina: nice
[20:19] <joshuahoover> heh
[20:20] <ralsina> From http://www.thewebhostingdir.com/vps-hosting/turkey.html -- "The climate of Turkey is transcontinental which is more benefits for the Agriculture." it's like Borat  for hosting.
[20:20] <briancurtin> haahaha
[20:25]  * ralsina hires a turkish VPS. Words he never expected to type.
[20:27] <ralsina> damn, centos
[20:29] <ralsina> Oh it's so much fun to see people do the same things we had to do, and not use our free, open source code, to do it: http://dragotin.wordpress.com/2012/05/10/cross-platform-again/
[20:29] <ralsina> Plus, they are doing it in C
[20:37] <ralsina> Ok, I give up, there is no ubuntu VPS hosting on turkey :-/
[20:37]  * ralsina considers mailing the libretto ct50 to his turkish cousins, deems it impractical
[20:44] <gatox> brb..... going to test if i have real internet now :P
[20:45] <gatox> yes! real internet back! :D
[20:49] <mmcc> Speaking of real internet, the values returned by OSX's reachability API are... interesting.
[20:50] <dobey> ralsina: there is a national turkish censor proxy?
[20:50] <ralsina> dobey: yes there is. I know, I saw it :-)
[20:51] <mmcc> it's a set of bit flags, with nice names like "kSCNetworkReachabilityFlagsReachable" and "kSCNetworkReachabilityFlagsConnectionRequired"...
[20:51] <dobey> ralsina: so the turksih government is using an invalid cert, awesome.
[20:52] <ralsina> dobey: well, it may be, or something else
[20:52] <mmcc> the fun part is that "Reachable" is set even if my wifi is turned off
[20:52] <ralsina> mmcc: looks like they hired one or two MSFT engineers there
[20:52] <dobey> ralsina: i have a fix. we just ban turkey. :)
[20:52] <mmcc> turns out that if "reachable" AND "connection required" set at the same time means that it's not actually, you know, "reachable" :)
[20:52] <ralsina> mmcc: maybe reachable means *that* network is reachable
[20:52] <mmcc> ralsina what network?
[20:53] <ralsina> mmcc: oh, interesting. "It would be reachable, if you turned it on"
[20:53] <mmcc> ralsina: yep!
[20:53] <mmcc> "This flag indicates that the specified nodename or address can
[20:53] <mmcc> 		be reached using the current network configuration, but a
[20:53] <mmcc> 		connection must first be established.
[20:53] <mmcc>  
[20:53] <ralsina> dobey: saying "we don't support these 80 million people" is kinda anti-ubuntu
[20:53] <mmcc> 		As an example, this status would be returned for a dialup
[20:53] <mmcc> 		connection that was not currently active, but could handle
[20:53] <mmcc> 		network traffic for the target system."
[20:53] <mmcc> er, sorry about the paste spam, but I just thought it was funny.
[20:53] <ralsina> coulda woulda shoulda
[20:54] <ralsina> mmcc: it is, in a facepalmy sort of way
[20:54] <mmcc> I mean how is this meaningful? how could it possibly know that you can reach a host once you turn your internet on?
[20:54] <mmcc> yargh
[20:54] <ralsina> dobey: "Linux for (not-turkish) humans" doesn't have quite the same ring to it.
[20:54] <ralsina> mmcc: it's optimistic routing
[20:54] <mmcc> anyway, a little extra logic and I get what I want. reachable = reachable and NOT connectionRequired...
[20:55] <mmcc> ralsina: sooo optimistic
[20:55] <mmcc> I think the complexity here is because the same code handles iPhone stuff ,with connection on demand, direct vs. WWAN, etc etc
[20:56] <ralsina> right. 3g is often connect-when-traffic
[20:56] <mmcc> yeah, but I still don't know why "reachable" is set when I've manually turned my wifi interface off.
[20:56] <mmcc> ralsina, right
[20:57] <mmcc> anyway, I'll make a note to test some more when I can run a cable (or get a laptop to move to the other room with the DSL modem)
[20:58] <mmcc> but I found some similar logic in an ObjC wrapper of SCnetworkreachability on github
[21:00] <mmcc> btw, that code I referred to is under the BSD license, so I felt OK reading it, even though I didn't actually *use* any of it. That sound OK? I'm reflexively paranoid from earlier jobs' mandatory training modules.
[21:02] <dobey> first it was round ceilings, now ssl
[21:03] <dobey> ralsina: turkish cousin can give shell account access via ssh?
[21:03] <ralsina> dobey: no nerdy turkish cousin, sorry
[21:03] <dobey> boo
[21:03] <ralsina> dobey: I can you a nice cheap carpet though
[21:04] <dobey> heh
[21:04] <gatox> ralsina, mmcc can i have a small review from you guys? https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/sync-status/+merge/105394
[21:04] <ralsina> gatox: sure
[21:04] <mmcc> gatox: sure
[21:04] <gatox> thx
[21:05] <ralsina> mmcc: I am pending one of yours too, right? Have a link handy?
[21:05] <mmcc> ralsina: ummm
[21:06] <mmcc> ralsina: you mean from earlier today? no, I didn't make that a merge request yet. Need to update from trunk first and got distracted writing other parts of the code
[21:06] <ralsina> mmcc: ah ok
[21:07] <dobey> ralsina: http://www.bestvpnservice.com/blog/what-is-22agustos-internet-censorship-ban-in-turkey
[21:08] <ralsina> dobey: yeah, but it's tricky
[21:09] <dobey> can we get turkey to not buy a crappy broken cert from a crappy broken company? :)
[21:09] <ralsina> "here, turkish government, have $50, get a real certificate?"
[21:10] <dobey> basically
[21:10] <ralsina> dobey: I suspect we are being sent to the "your site is evil" page, which has a certificate that is maybe not invalid, but not valid in this context
[21:11] <dobey> i wish i could see it in person
[21:11] <ralsina> dobey: yep, me too
[21:11] <ralsina> dobey: maybe we can do a script that does the query and dumps all the info?
[21:12] <ralsina> dobey: these are ubuntu users so we *can* send them python scripts
[21:15] <dobey> ralsina: http://www.vpnworldservers.com/our-products/vpn-accounts/turkey-vpn-account/1-month-turkey-vpn-account maybe?
[21:16] <ralsina> dobey: it's an idea
[21:17] <ralsina> dobey: I'll try that ... I have not set up PPTP in, like, 10 years
[21:17] <dobey> yeah
[21:24] <rmcbride> wow. PPTP, that's a blast from the past
[21:31] <ralsina> Annnnnnd they promise to set it up in 24/48 hours
[21:31] <ralsina> blah
[21:31] <dobey> boo. have they not heard of robots?
[21:32] <ralsina> Annnnnnd their site gave me a "payment method error" so accidentally I ordered *two* turkish VPN
[21:32] <dobey> nice
[21:32] <ralsina> but they have a 48-hour no-questions refund, so whatever
[21:32] <dobey> nice
[21:32]  * ralsina wonders how to load this in canonicaladmin  "yes 19.95 euros to buy turkish VPN. No that's not a drug."
[21:33] <dobey> heh
[21:33] <ralsina> dobey: how's UDS?
[21:33] <ralsina> dobey: anything I need to know? ;-)
[21:33] <dobey> good
[21:33] <ralsina> other than the python 3 thing
[21:33] <dobey> python3
[21:33] <dobey> heh
[21:35] <ralsina> joshuahoover: turkish update: I have bought a VPN so I get a turkish IP and test it for myself. It's going to take a couple of days, so probably no news until mnday
[21:35] <joshuahoover> ralsina: cool
[21:36] <joshuahoover> ralsina: nice purchase...you won't be sorry with that one ;)
[21:36] <ralsina> joshuahoover: it's called "halal internet", you know.
[21:36] <joshuahoover> heh
[21:37] <dobey> halal opium comes from turkey too
[21:37] <ralsina> dobey: opium is not halal. And no it doesn't :-)
[21:38] <dobey> heh
[22:25] <gatox> ok..... that's all for today..... brain shutting down...... i'll propose the network-detect branch tomorrow morning..... i'm having a little issue with a test.....
[22:25] <gatox> see you tomorrow people!
[22:35] <mmcc> EOD for me too. bye folks