/srv/irclogs.ubuntu.com/2012/05/10/#ubuntuone.txt

=== wgrant_ is now known as wgrant
cjohnstonduanedesign: ping01:03
* mmcc going to sleep…06:03
=== rye-holiday is now known as rye
jacobraskPublished links are only available to people who know the URL, correct?09:27
jacobraskCan I see all my published files somewherE?09:27
=== vds` is now known as vds
JamesTaitMorning all!09:36
ryejacobrask: you can, via a developer sandbox - http://u1.to10:16
jacobraskcool10:32
jacobraskwill the u1 urls stay persistent when I update the files unlike the ubuntuone  urls?10:34
ryejacobrask: 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 dance10:36
jacobraskoh. seems like vim does that then..10:38
ryejacobrask: yes, it is possible to disable this behavior though10:41
ryejacobrask: adding "set nowritebackup" to your vimrc, but while I have never experienced any data loss with vim, there is a non-zero chance of that10:43
jacobraskthanks, I'll investigate that!10:44
gatoxgood morning11:13
mandelgatox, morning!11:26
gatoxmandel, hi!11:26
mandelgatox, how is our FSEvents guy doing?11:26
gatoxmandel, 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 mac11:27
gatoxmandel, you?11:27
mandelgatox, 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)11:28
ralsinagood morning!12:21
ralsinamandel: about IPC, what's wrong with jsonrpc over domain sockets?12:21
gatoxralsina, good morning!12:21
mandelralsina, morning! I guess lack of libs, not more12:22
gatoxralsina, i forgot about our 1-1 yesterday..... let me know if you have some time today please12:22
ralsinagatox: sure!12:22
gatoxralsina, ok, whenever you want today..... just let me know12:22
ralsinamandel: http://www.big-llc.com/software.jsp#12:22
ralsinagatox: will do12:23
ralsinamandel: of course that's just the first google result for "jsonrpc c" ;-)12:23
mandelralsina, heh I'm not very worry about the ipc atm12:24
ralsinamandel: considering we have a rather simplistic requirement, I am not convinced about going to anything even slightly complicated12:24
ralsinamandel: right, so, we have to have the events first before we propagate them of course12:24
mandelralsina, exactly :)12:24
ralsinamandel: I am supposed to have a vision here ;-)12:24
ralsinamandel: so we don't lack scope and synergy12:25
ralsinamandel: maybe provide value to internal and external customers12:25
ralsinamandel: you know, that kind of things12:25
mandelralsina, and in an efficient manner, propagation has to be fast and not block because we do not want to block the io device12:25
ralsinamandel: right12:25
ralsinamandel: good thing about domain sockets: they are buffered12:25
ralsinamandel: so we can fill it with crap, and writes will not fail12:25
ralsinaIIRC12:26
mandelralsina, right now  I want to get a poc with connections, event filtering etc..12:26
ralsinamandel: cool12:26
mandelralsina, 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 added12:27
ralsinainteresting 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:27
j-johan-edwardsExcuse 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
ralsinaj-johan-edwards: I am not familiar with that implementation12:29
ralsinaj-johan-edwards: you may have to wait for __lucio__12:29
j-johan-edwardsthanks :)12:29
ralsinaj-johan-edwards: he should be around in about 30 minutes12:29
mandelI'm off to have lunch12:31
ralsinaj-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 incomprehensible12:32
ralsinamandel: we may want to just filter per user on the root daemon, and then filter per path on the user side12:33
mandelralsina, indeed, which means that outside home will no be suported by this12:34
mandelralsina, lunch and we can keep thinking about it, maybe running some numbers would be good to12:34
ralsinayeah12:38
__lucio__j-johan-edwards, i dont know. i dont think its finished yet. dobey knows.12:39
__lucio__(re: shardbridge status)12:39
ralsinathisfred: since you sent me an email, I will assume you are around. If you are not, say nothing ;-)12:40
thisfredralsina: shared lisettte's desisn with you12:40
ralsinathisfred: exactly :-)12:40
thisfredI am here12:40
ralsinathisfred: that wireframe has tasks with attachments...12:40
lisettteralsina: that was an idea, it doesn't all have to happen at once :)12:41
ralsinathisfred: also, the left-side-bar seems to show a mix of tags and dates, right? (not that it makes it harder)12:41
thisfredYeah we need to figure out if we want all the features in there, I don't think so right away, anyway12:41
ralsinathisfred: in fact, we don't have due dates yet, do we?12:41
thisfredwe don't but I did want to add those anyway12:42
ralsinathisfred: if we can get due dates, then most of this is implementable12:42
thisfredbecause it'll show off how to do dates in u1db12:42
thisfredwhich is not entirely self evident, since there are no date indexes, or date fields in json for that matter, so it's good example code12:43
ralsinathisfred: cool. The other thing is, this wireframe doesn't show how to add new tags or how to have something with multiple tags12:43
ralsinaother than that, piece of cake12:43
j-johan-edwards__lucio__: thanks12:43
lisettteralsina: that is still to do; i guess a popup12:43
lisettteralsina: the wire is far from finished12:44
ralsinalisettte: we could do the combo writable, so the user can type a tag, and it will either autocomplete or create the new tag12:44
ralsinalisettte: in any case, it's pretty awesome already :-)12:44
lisettteralsina: it would be cool to let them pick a colour though12:44
thisfredlisettte: 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 user12:44
ralsinathisfred: well, works for twitter12:45
ralsinathisfred: so, 150 million people know how to do that12:45
lisettteralsina: i worked on that sort of writable tag in another project, and we ended up not using it because of typo duplicates12:45
ralsinalisettte: yes, so, maybe hashtags is a good idea. We could confirm new tag creation12:45
ralsina"Are you sure you want to create the "tday" tag?"12:46
lisettteralsina: today would be a date?12:46
thisfredfair 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 even12:46
ralsinalisettte: bad example ;-)12:47
thisfreddon't know if that's possible in a text edit field12:47
ralsinathisfred: it sure is12:47
thisfredneat12:47
ralsinalisettte: replace "tday" with "hume" :-)12:47
thisfreddavid hume? :)12:47
lisettteralsina: that is what i meant with the writable tags12:47
thisfredhehe12:47
ralsinathisfred: it's tricky only in the sense that Tab is overloaded with purpose already12:48
lisettteralsina: the problem with those12:48
thisfredralsina: could be a different key, though I don't mind stealing it when in the text box12:48
ralsinalisettte: yes, so we need to decide if it's more annoying to have misspelt tags or ask about every tag creation12:48
lisettteralsina, thisfred: can we have a textfield at the top of the list of tags?12:49
ralsinalisettte: sure12:49
thisfredcan do, but it makes it more work than adding the tags directly in the item12:49
thisfredI like the syntax of for instance:12:49
ralsinalisettte: we can also start autocomplete on # and display the autocompletion in grey then if the user clicks "right" or tab we effect the completion12:49
lisettteralsina, thisfred: then we could replace that with the create tag thing and make it discoverable / auto complete12:49
thisfred[ ] buy beer at #supermarket12:49
ralsinathisfred: yes, that's neat12:50
ralsinathisfred, 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
lisetttethisfred: that is cool, but it would be cooler to have both! ;)12:51
thisfredcan do12:51
lisetttethisfred: it is hard to discover that you can do this12:51
thisfredyes12:51
thisfredI agree12:51
thisfredI think both would work well12:51
ralsinathisfred: when you add a hashtag, and then edit and remve it, is it removed?12:51
thisfredyes12:52
ralsinaWe could have ONE "tip of the day" ;-)12:52
lisetttehahaha12:52
ralsina"Did you know you can tag your tasks by using #hashtags?" and always show it ;-)12:52
lisetttetip of the year12:52
thisfredralsina: but if the category chooser also adds the #tag to the text, people will learn how it works without us having to explain in text12:53
ralsinathisfred: hmmmm12:53
lisetttethisfred: what if they use 2 in the text?12:53
thisfredlisettte: that just works12:53
ralsinatag<->task is many to many12:53
lisetttethisfred: so will we assign a colour for the first one?12:54
thisfredlisettte: you can see how it works now, if you do bzr branch lp:u1db; cd u1db; PYTHONPATH=. python u1todo/ui.py12:54
thisfredassuming you're on Ubuntu ;)12:54
lisetttethisfred: not set up on this machine :(12:54
thisfredkk12:55
thisfredlisettte: we can auto assign colours, and allow users to change them12:55
lisetttethisfred: i'd need to dust off the pc for that12:55
thisfredsort of like how google calendar does12:55
ralsinalisettte: we could have a list of colors and/or just randomize them for contrast, I assume there is an algorithm for this somewhere12:55
thisfredlisettte: it's not important, it's all gonna c12:55
lisetttethisfred: i think auto-assign is cool for a first draft12:55
thisfredhange12:55
thisfredand we described pretty much all of it12:56
ralsinayep, all in all I think we know what we need to do12:56
thisfredcool. cool cool cool12:56
ralsinathisfred: you will have to switch from QListWidget to QTreeWidget, though, sorry ;-)12:56
lisettteralsina: i can pick some nice colours!!! :)12:56
ralsinalisettte: how many? ;-)12:56
thisfredralsina: that's fine12:56
lisettteralsina: many12:57
* ralsina feels a need to show management ability and tell lisette to come up with 47 contrasting colors12:57
ralsina;-)12:57
lisettteralsina: haha. ok12:58
lisettteralsina, thisfred: another idea on this thing that is not in the wireframe is that you can drag and drop tasks to a different day12:58
lisettteinstead of editing12:58
ralsinalisettte: so drag a task into next week12:58
lisettteralsina, thisfred: hence the drag handles12:58
lisettteralsina: yep12:58
thisfredright12:58
ralsinait's doable, but the code for it is *not* exemplar12:58
ralsinaas in "it's ugly and distracting"12:59
thisfredralsina: we can tuck it away out of sight ;)12:59
lisettteralsina, thisfred: let's put it on the wishlist for now :)12:59
thisfredsure12:59
thisfredthis will keep me busy for a while anyway12:59
thisfredralsina: so, how does one style QT? :)12:59
ralsinathisfred: 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 it13:00
ralsinathisfred: the same way porcupines reproduce13:00
thisfredhehe13:00
ralsinathisfred: it's fun actually, let me get you the doc13:00
* thisfred treads with care13:00
thisfredcool13:00
ralsinathisfred: it's almost-css http://qt-project.org/doc/qt-4.8/stylesheet.html13:01
ralsinathisfred: 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 option13:02
thisfredneat13:03
thisfredlisettte: 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 them13:07
thisfrednote that conflicts will be relatively rare, they will only occur if the item changed on both ends between syncs13:08
pedronisyup, in most cases it will just naturally pick you most recent change as synced to the cloud13:12
ralsinathisfred: merging 1-liners should just be "take oe or the other"13:15
thisfredyep13:15
* mandel back13:48
gatoxohhhhhhh this is so very broken! :P13:54
mandelgatox, ein?13:54
gatoxmandel, 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
lisetttethisfred: when would a conflict happen?13:55
mandelgatox, we are getting closer to see things working so I  expected two very depressing weeks :)13:55
gatoxmandel, 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
thisfredlisettte: 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 databases13:56
lisetttethisfred: 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:57
thisfredlisettte: basically yes. Sync is an explicit action, so edit task x on machine A, edit task x on machine B, then sync on either13:58
lisetttethisfred: would you know which item was edited (not synced) last?13:58
lisetttethisfred: if you do, you could take the last edit to resolve it automatically13:59
thisfredlisettte: not necessarily no.13:59
lisetttethisfred: hrm14:00
thisfredlisettte: that would still mean potential data loss also:14:00
thisfredsay 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 done14:00
lisetttethisfred: well, yes, but it makes sense that you edited the item 'again' if the previous edit you did hasn't synced14:01
thisfrednow I sync, and if it automatically resolve, I lose the done status (not a huge problem) or the phone number (potentially bigger problem(14:01
lisetttethisfred: i guess this can be a problem with phones having no connection14:02
thisfredIt's not14:02
thisfredgoing to happen very often14:03
thisfredbut we do need to deal with the fact that it will happ;en14:03
thisfredso 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 occasions14:04
thisfredso 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 think14:05
lisetttethisfred: 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
thisfredI violently hate automatic popups14:05
mmccmorning folks, catching up…14:06
gatoxmmcc, hi14:06
gatoxmandel, are you working in platform/ipc for mac os?? or you are working in another things related to ipc?14:06
lisetttethisfred: same..14:07
thisfredlisettte: the conflict does not necessarily need to be resolved immediately, everything will happily keep working, and no data is lost.14:07
thisfredso something that draws attentions saying 'hey, there's something you may want to take a look at when you have a minute'14:07
thisfredeither a global icon/marker or one on the todo item itself, I was thinking14:08
mandelgatox, 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
mandelgatox, is the same work as the one done for ss14:08
lisetttethisfred: on the item itself makes sense14:08
mandelsso14:08
gatoxmandel, 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:09
mandelgatox, you should be looking at how the ipc on sso uses enpoints to use domain sockets, is really trivial14:10
gatoxmandel, 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 forget14:10
gatoxmandel, ok, great..... i'll open some bugs for all of this stuff i'm finding..... and i'll start killing them! muejejeje14:11
mandelok14:11
lisetttethisfred: adding it to the to do list :)14:11
thisfredhehe14:11
=== salgado is now known as salgado-afk
ralsinamandel: 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
mandelralsina, it does sound like a man is in the middle, if we expect an ssl and get another it makes sense14:37
ralsinamandel: thing is, I am not finding any references to similar things, so I am at a bit of a loss.14:38
ralsinamandel: I say we send you to turkey to debug14:38
briancurtini 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
ralsinabriancurtin: the throughputto our servers from china is bad enough that it's basiclly unusable14:38
ralsinabriancurtin: last report I got, at least14:39
ralsinabriancurtin: 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:40
ralsinanot even one. We have employees everywhere but there :-(14:41
mandelralsina, we might well consider readding the accept ssl certs dialog14:41
briancurtinsprint next week in turkey14:41
ralsinamandel: I think we can just dump the valicert root cert in /etc/ssl and it would just work14:41
gatoxbriancurtin, \o/14:41
ralsinamandel: but we would be hacking their computers, basically14:41
ralsinagatox: you would like it :-)14:42
gatoxralsina, :P jeje14:42
mandelsprint!14:42
gatoxmandel, yeyyyyy14:49
* ralsina considers ruining team illusions14:49
gatox:(14:50
ralsinagatox: OTOH, if you go to istanbul, I can set you up with a cousin that has a cute hostel in the middle of old constantinople14:52
ralsinagatox: and while you are there, please debug this ;-)14:52
ralsinahey, team, team call in 6'14:54
mandelack14:55
mmccJust solved my ctypes callback problem with network detection.14:55
gatox_ack14:55
mandelmmcc, hurray114:56
mmccjust needed to explicitly define some function type signatures14:56
mmccalso, ack about the call14:56
=== gatox_ is now known as gatox
gatoxmumble!15:00
ralsinathisfred, mumble15:01
thisfredthere15:02
gatoxmmcc, 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:06
ubot5Ubuntu bug 997668 in Ubuntu One Client "Platform imports fail on MAC OS" [High,In progress]15:06
ubot5Ubuntu bug 997663 in Ubuntu One Client "platform/ipc imports are failing in MAC OS" [High,Triaged]15:06
mmccbrb ~> coffee15:31
ralsinathisfred: is "cosas" the actual app name? Really?15:35
ralsinathisfred: because it kicks ass15:35
thisfredralsina it can be :)15:35
ralsinathisfred: look for "tio cosa" in google images :-)15:35
thisfredI suspect mandel had something to do with that15:35
ralsinathisfred: I want to speak about it at ubucon-la, too15:36
mandelthisfred, ralsina, yep, my fault :P15:36
thisfredhehe, I love cousin it15:36
ralsinathisfred: imagine it called  "thingies" in english15:36
thisfredyep, I got that15:36
ralsinawhen I knew "thing" was actually the hand, my childhood died15:37
thisfredhappy to rename it from generic 'dharma initiative' branding ;)15:37
ralsinawhich in spanish was called "fingers" which makes *much* more sense15:37
mandelralsina, in your spanish, in ours it was cosa15:40
ralsinamandel: really? And cousin it? We called him "tio cosa"15:41
mandelralsina, that is the hairy one, right? I dont have a clue15:42
ralsinamandel: right15:42
gatoxralsina, 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 long15:42
ralsinagatox: cool15:43
ralsinagatox: BUT, don't switch back until they are 100% in please :-)15:43
gatoxralsina, do you mean until the branches landed?15:44
ralsinagatox: until you are done coding them at least15:44
ralsinagatox: let's not do more switches than necessary, since we are not under time pressure15:44
ralsinagatox: so, start on the bugs, get them fixed, then switch back. No back-and-forth15:44
* mmcc needs to take ralsina's advice too :)15:45
gatoxralsina, 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 things15:45
ralsinammcc, gatox: trying to do 100 things at once is a natural reaction to something that is big and broken :-)15:45
gatoxralsina, if you want i can avoid the switch and fix them later..... i was thinking on fixing them today, because it shouldn't take long15:45
ralsinagatox: if your estimate is that you finish them today, switch15:45
gatoxralsina, ack15:46
ralsinagatox: this includes the "disabled" bug?15:46
gatoxralsina, yes15:46
ralsinagatox: just the sanity check, not finding the broken call from sd, right?15:46
gatoxralsina, but only the part from cp..... as we talk with nessita in internal15:46
gatoxralsina, righy15:46
gatoxriight15:46
ralsinagatox: ok15:46
gatoxbrb! need to pay the rent! :P15:47
ralsinammcc: +1 on check for unit testing in C, seems to be the better of a small field16:02
mmccralsina: agreed. I'm sure we'll need some shell scripts, etc too16:04
ralsinayeah16:04
ralsinammcc: good news are it seems to support junit format output, so it can be integrated with jenkins eventually16:05
mmcccool16:05
mmccwrt our testing infrastructure, what do we do for e.g. integration tests?16:05
mandelmmcc, ralsina, what lib are you looking at?16:05
* mmcc not sure I'm using the right word there16:05
ralsinamandel: check.sf.net16:06
ralsinammcc: not sure how to answer that because we don't have any "real" integration testing in place16:06
ralsinammcc: we do have some acceptance testing16:06
mmccI'm thinking something like dejagnu, except last time I looked at using dejagnu I got twitchy16:06
* ralsina looks up dejagnu16:07
mmccralsina TCL16:07
ralsinammcc: QA has some tools for that, yes16:07
mmccactually expect...16:07
ralsinammcc: just saw dejagnu's page... scary16:07
mmccyeah, IMO, dejagnu is a great tool like autotools are great tools16:08
mmccthey really do work, but they take up a lot of room in your head16:08
mmccdo you know what QA uses?16:08
mandelI though people just copied a project that uses autotools and make small changes until it works..16:09
mmccmandel yep, that's the recommended practice :)16:09
mmccalthough I know someone who built a domain-specific simulation language using M4... so some people actually like the tools :\16:10
ralsinamandel: until it "works"16:10
ralsinammcc: I know of a guy who wrote a relational database in AWK. So, nothing surprises me anymore.16:11
ralsinammcc:  he even named it NoSQL in like 1998 or so16:11
mmccralsina: I would've said nothing surprises me either, but that did surprise me.16:11
ralsinammcc: http://www.strozzi.it/cgi-bin/CSA/tw7/I/en_US/NoSQL/Philosophy%20of%20NoSQL16:12
mandelmmcc, do you know which header I have to import to use get_proc_name?16:12
* mandel is rusty in c things16:12
mmcchrm, not familiar with get_proc_name and it's not in my manpages16:13
mmccwhat are you trying to do?16:13
mandelmmcc, I have a pid of the process that modified a file and want to show the name too16:13
mandelmmcc, I think I can do it manually..16:14
mmccmandel: yeah off the top of my head I'm not sure. can poke around.16:16
mandelmmcc, no worries, google helped me :)16:17
mmccmandel what did you find (curious)16:17
=== salgado-afk is now known as salgado
=== teknico_ is now known as teknico
mandelmmcc, found this: paste.ubuntu.com/98010416:20
mmccmandel sysctl, ok. Hey, great job naming stuff, unix guys16:22
mandelmmcc, lol16:22
ralsina"The thing I most regret of unix design is leaving the e out in "creat"" Dennis Ritchie.16:25
ralsinabriancurtin: 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:30
briancurtinralsina: 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 316:32
ralsinabriancurtin: I am thinking about "switch to range from xrange, items from iteritems, etc"16:32
ralsinabriancurtin: unless one of the __future__ imports changes that?16:32
briancurtinralsina: the performance (speed) difference would likely be unnoticeable, but you would see some memory increases, but i dont think it'd be anything crazy16:34
ralsinabriancurtin: ok16:34
mmcchey 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/pup16:45
* mmcc lunches16:45
=== m_conley_away is now known as m_conley
* ralsina lunches as well16:47
gatoxback16:47
ralsinagatox: we'll do 1-1 a las 3 ok?16:48
gatoxralsina, ok16:48
mandelralsina, and that is what happens when you speak more than one lang.. :)16:54
mandelok, EOD for me, laters!17:19
joshuahooverralsina: 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 authenticating17:48
ralsinajoshuahoover: ack17:48
joshuahooverralsina: the user did not get a warning that the file already existing in /etc/ssl/certs17:49
ralsinajoshuahoover: well, that is interesting... looks like he may have something weird there17:49
joshuahooverralsina: i'll see if other users in turkey who've reported the same problem get the same result17:49
ralsinajoshuahoover: could you get a md5sum of /etc/ssl/certs/Valicert*17:50
ralsinajoshuahoover: should be17:50
ralsinaa194cb5767b2eb60c4e2d90d4419cdc8  /etc/ssl/certs/ValiCert_Class_1_VA.pem17:50
ralsinafdf03feab80e9a109adb8f9912b36f5d  /etc/ssl/certs/ValiCert_Class_2_VA.pem17:50
joshuahooverralsina: sure17:50
ralsinajoshuahoover: sadly we have not a single canonical employee in Turkey17:51
ralsinajoshuahoover: and the closest thing to a nerd I know there is a DJ who I wouldn't trut to debug an etch-a-sketch17:51
joshuahooverralsina: guess you know where your next new hire has to be located, huh? ;)17:52
ralsinajoshuahoover: haha17:52
ralsinajoshuahoover: I admit sprints would be much more colorful ;-)17:53
ralsinagatox is not around?18:01
ralsinachicken, running away from 1-1s18:02
=== salgado is now known as salgado-brb
thisfredralsina: 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:24
thisfredplease feel free to restate that as a question and then answer it ;)18:25
ralsinathisfred: haha18:25
ralsinathisfred: the easiest way to hide a bunch of widgets is to have them all be children of some other widget18:26
ralsinaSo, instead of nesting layout->layout->widgets do layout->widget->layout->widgets18:26
ralsinaand hide the middle widget18:26
thisfredbut what kind of widget? I'd prefer something that takes up no space18:27
ralsinaQWidget or QFrame18:27
thisfredgroup box?18:27
thisfredah18:27
ralsinagroupbox is meant to have a title18:27
ralsinaQFrame is the usual suspect18:27
thisfredkk18:27
ralsinathisfred: another idea is, if all the widgets to hide are on one side (left, right, top or bottom), use a splitter18:27
thisfredI'll need that too, but not in this case18:31
ralsinathisfred: ok then, widget-nesting it is18:32
thisfredthx!18:33
thisfredralsina: while I have you distracted:18:33
ralsinathisfred: look, behind you! A 3-headed monkey!18:33
ralsinathisfred: sure, ask away :-)18:33
thisfredQAbstractItemModel, I have trouble understanding:18:33
thisfreddoes that represent all of the data18:34
thisfredor a single item/row?18:34
thisfredI think it's everything right?18:34
thisfredEven though it's named item18:34
ralsinaEverything18:35
ralsinaThe noun is "model"18:35
ralsinait's a model of abstract items18:35
ralsinaor an abstract model of items18:35
thisfredright18:35
ralsinait contains QModelIndexes that point to QModelItems IIRC18:35
thisfredcool18:36
ralsinathisfred: there is a #pyqt full of people who know this better than I do, too :-)18:36
thisfredthx, that should set me on the path out of the enchanted forest18:36
thisfredralsina: I hate people though18:36
ralsinathisfred: I couldn't say, I died in that forest and became magic squirrel food18:36
thisfredat least it wasn't ewoks18:37
thisfredyipyip18:37
ralsinathisfred: there is a guy called Styxman in #pyar who's a friend and knows this stuff18:37
* ralsina liked the ewoks when they were thinking about spit-roasting leia18:37
mmccthose ewoks always seemed like they'd be real trouble if you fed them after midnight, amirite?18:37
mmccOT: have you seen darth vader and son: (video trailer for a book:) http://jeffreybrowncomics.blogspot.com/2012/04/darth-vader-and-son-trailer.html18:38
ralsinammcc: have not yet. Queuing :-)18:39
ralsinammcc: have you seed farth diego?18:39
ralsinamake that Darth Diego18:39
mmccand 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
ralsinammcc: link to the commit?18:39
mmccnope..18:39
mmcchaven't made the commit yet :)18:40
ralsinammcc: this is our fellow developer gatox: http://www.diegosarmentero.com/2011/05/cordoba-anime-fest.html18:40
mmccralsina - this one here?: http://1.bp.blogspot.com/-uqZtjQFMPOc/Tc_VjlzcPtI/AAAAAAAAHXE/o3bLUXvGLfk/s1600/15052011318.jpg18:41
ralsinammcc: exactly18:41
mmccI am impressed18:41
ralsinammcc: so, back on track, usually we only sneak in changes in unrelated branches if they are really small and uncontroversial18:44
mmccralsina, 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
mmccthe branch is here: https://code.launchpad.net/~mikemc/ubuntu-sso-client/fix-networkstate-darwin18:45
mmccstill updating18:46
ralsinaI have to go to yesterday's doctor's appointment, will be back in not too long, hopefully18:46
ralsinagatox is having internet issues, so getting reviews is going to be tricky18:46
mmccand the diff is here: http://bazaar.launchpad.net/~mikemc/ubuntu-sso-client/fix-networkstate-darwin/revision/96718:47
mmccok I'll wait on it.18:47
=== ralsina is now known as ralsina_at_docto
=== salgado-brb is now known as salgado
joshuahooverralsina_at_docto: fyi, users in turkey report the correct checksums on the valicert certs i had them move to /etc/ssl/certs19:20
dobeyjoshuahoover: putting a cert in that directory basically does nothing19:29
=== zyga_ is now known as zyga
joshuahooverdobey: good to know :) i'm just following instructions at this point, have no idea where to go with it troubleshooting wise19:30
dobeywe need to find where the cert comes from19:30
dobeyjoshuahoover: actually, a wireshark dump of network traffic, with all other network using apps disabled, would be very useful19:34
joshuahooverdobey: hmmm...ok, i'll see if we can get that19:35
dobeyor maybe it will just be very technical and not help19:36
gatoxfinally at least 3g working!!! f#$%ing internet service!19:53
gatox@ping19:57
gatoxor noone is getting my messages or there isn't a bot here :P19:58
* beuno is tempted to make gatox he's crazy19:58
gatoxbeuno, jejeje19:58
ralsina_at_doctodobey: let me describe that wireshark dump here: you are going to get a connection to the correct IP followed by  a lot of SSL20:17
ralsina_at_doctodobey: at least if this is caused by the national transparent censoring proxy20:17
=== ralsina_at_docto is now known as ralsina
ralsinaI wonder if anyone sells turkish VPSs20:18
ralsinaand yes they do!20:18
ralsinajoshuahoover:  a chance for debugging, it costs 60 US Dollars: http://www.thewebhostingdir.com/vps-hosting-plan-139/linux-vps-3.html20:18
ralsinawe get Debian 4.0 whatever that is, though20:19
joshuahooverralsina: nice20:19
joshuahooverheh20:19
ralsinaFrom 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
briancurtinhaahaha20:20
* ralsina hires a turkish VPS. Words he never expected to type.20:25
ralsinadamn, centos20:27
ralsinaOh 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
ralsinaPlus, they are doing it in C20:29
ralsinaOk, 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 impractical20:37
gatoxbrb..... going to test if i have real internet now :P20:44
gatoxyes! real internet back! :D20:45
mmccSpeaking of real internet, the values returned by OSX's reachability API are... interesting.20:49
dobeyralsina: there is a national turkish censor proxy?20:50
ralsinadobey: yes there is. I know, I saw it :-)20:50
mmccit's a set of bit flags, with nice names like "kSCNetworkReachabilityFlagsReachable" and "kSCNetworkReachabilityFlagsConnectionRequired"...20:51
dobeyralsina: so the turksih government is using an invalid cert, awesome.20:51
ralsinadobey: well, it may be, or something else20:52
mmccthe fun part is that "Reachable" is set even if my wifi is turned off20:52
ralsinammcc: looks like they hired one or two MSFT engineers there20:52
dobeyralsina: i have a fix. we just ban turkey. :)20:52
mmccturns out that if "reachable" AND "connection required" set at the same time means that it's not actually, you know, "reachable" :)20:52
ralsinammcc: maybe reachable means *that* network is reachable20:52
mmccralsina what network?20:52
ralsinammcc: oh, interesting. "It would be reachable, if you turned it on"20:53
mmccralsina: yep!20:53
mmcc"This flag indicates that the specified nodename or address can20:53
mmccbe reached using the current network configuration, but a20:53
mmccconnection must first be established.20:53
mmcc 20:53
ralsinadobey: saying "we don't support these 80 million people" is kinda anti-ubuntu20:53
mmccAs an example, this status would be returned for a dialup20:53
mmccconnection that was not currently active, but could handle20:53
mmccnetwork traffic for the target system."20:53
mmccer, sorry about the paste spam, but I just thought it was funny.20:53
ralsinacoulda woulda shoulda20:53
ralsinammcc: it is, in a facepalmy sort of way20:54
mmccI mean how is this meaningful? how could it possibly know that you can reach a host once you turn your internet on?20:54
mmccyargh20:54
ralsinadobey: "Linux for (not-turkish) humans" doesn't have quite the same ring to it.20:54
ralsinammcc: it's optimistic routing20:54
mmccanyway, a little extra logic and I get what I want. reachable = reachable and NOT connectionRequired...20:54
mmccralsina: sooo optimistic20:55
mmccI think the complexity here is because the same code handles iPhone stuff ,with connection on demand, direct vs. WWAN, etc etc20:55
ralsinaright. 3g is often connect-when-traffic20:56
mmccyeah, but I still don't know why "reachable" is set when I've manually turned my wifi interface off.20:56
mmccralsina, right20:56
mmccanyway, 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:57
mmccbut I found some similar logic in an ObjC wrapper of SCnetworkreachability on github20:58
mmccbtw, 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:00
dobeyfirst it was round ceilings, now ssl21:02
dobeyralsina: turkish cousin can give shell account access via ssh?21:03
ralsinadobey: no nerdy turkish cousin, sorry21:03
dobeyboo21:03
ralsinadobey: I can you a nice cheap carpet though21:03
dobeyheh21:04
gatoxralsina, mmcc can i have a small review from you guys? https://code.launchpad.net/~diegosarmentero/ubuntuone-control-panel/sync-status/+merge/10539421:04
ralsinagatox: sure21:04
mmccgatox: sure21:04
gatoxthx21:04
ralsinammcc: I am pending one of yours too, right? Have a link handy?21:05
mmccralsina: ummm21:05
mmccralsina: 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 code21:06
ralsinammcc: ah ok21:06
dobeyralsina: http://www.bestvpnservice.com/blog/what-is-22agustos-internet-censorship-ban-in-turkey21:07
ralsinadobey: yeah, but it's tricky21:08
dobeycan 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:09
dobeybasically21:10
ralsinadobey: 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 context21:10
dobeyi wish i could see it in person21:11
ralsinadobey: yep, me too21:11
ralsinadobey: maybe we can do a script that does the query and dumps all the info?21:11
ralsinadobey: these are ubuntu users so we *can* send them python scripts21:12
dobeyralsina: http://www.vpnworldservers.com/our-products/vpn-accounts/turkey-vpn-account/1-month-turkey-vpn-account maybe?21:15
ralsinadobey: it's an idea21:16
ralsinadobey: I'll try that ... I have not set up PPTP in, like, 10 years21:17
dobeyyeah21:17
rmcbridewow. PPTP, that's a blast from the past21:24
ralsinaAnnnnnnd they promise to set it up in 24/48 hours21:31
ralsinablah21:31
dobeyboo. have they not heard of robots?21:31
ralsinaAnnnnnnd their site gave me a "payment method error" so accidentally I ordered *two* turkish VPN21:32
dobeynice21:32
ralsinabut they have a 48-hour no-questions refund, so whatever21:32
dobeynice21:32
* ralsina wonders how to load this in canonicaladmin "yes 19.95 euros to buy turkish VPN. No that's not a drug."21:32
dobeyheh21:33
ralsinadobey: how's UDS?21:33
ralsinadobey: anything I need to know? ;-)21:33
dobeygood21:33
ralsinaother than the python 3 thing21:33
dobeypython321:33
dobeyheh21:33
ralsinajoshuahoover: 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 mnday21:35
joshuahooverralsina: cool21:35
joshuahooverralsina: nice purchase...you won't be sorry with that one ;)21:36
ralsinajoshuahoover: it's called "halal internet", you know.21:36
joshuahooverheh21:36
dobeyhalal opium comes from turkey too21:37
ralsinadobey: opium is not halal. And no it doesn't :-)21:37
dobeyheh21:38
=== diplo- is now known as diplo
=== zyga_ is now known as zyga
=== m_conley is now known as m_conley_away
gatoxok..... 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
gatoxsee you tomorrow people!22:25
mmccEOD for me too. bye folks22:35
=== mmcc is now known as mmcc_out

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!